{"version":3,"sources":["node_modules/browser-pack/_prelude.js","AppSrc/App.jsx","AppSrc/actions/areas/Dashboard/getTeamAvailability.js","AppSrc/actions/areas/Dashboard/index.js","AppSrc/actions/areas/admin/autoAllocateWeightings.js","AppSrc/actions/areas/admin/commandActions/index.js","AppSrc/actions/areas/admin/fetchHooks/fetchActivity.js","AppSrc/actions/areas/admin/fetchHooks/fetchActivityType.js","AppSrc/actions/areas/admin/fetchHooks/fetchAudit.js","AppSrc/actions/areas/admin/fetchHooks/fetchCancellingParty.js","AppSrc/actions/areas/admin/fetchHooks/fetchConfigureAssistedPlanner.js","AppSrc/actions/areas/admin/fetchHooks/fetchConfigureClinician.js","AppSrc/actions/areas/admin/fetchHooks/fetchExternalProvider.js","AppSrc/actions/areas/admin/fetchHooks/fetchMileageCap.js","AppSrc/actions/areas/admin/fetchHooks/fetchNonPatientActivity.js","AppSrc/actions/areas/admin/fetchHooks/index.js","AppSrc/actions/areas/admin/fetchHooks/reasons.js","AppSrc/actions/areas/admin/index.js","AppSrc/actions/areas/admin/systemInfo.js","AppSrc/actions/areas/clinicianGroups/commandActions.js","AppSrc/actions/areas/clinicianGroups/fetchClinicianGroups.js","AppSrc/actions/areas/dailyPlanning/autoAllocate.js","AppSrc/actions/areas/dailyPlanning/downloadPlan.js","AppSrc/actions/areas/dailyPlanning/downloadS1Link.js","AppSrc/actions/areas/dailyPlanning/filters.js","AppSrc/actions/areas/dailyPlanning/getAssignmentInfo.js","AppSrc/actions/areas/dailyPlanning/getDailyPlanningDetails.js","AppSrc/actions/areas/dailyPlanning/getHometoVisitDistance.js","AppSrc/actions/areas/dailyPlanning/getPostcodeDistance.js","AppSrc/actions/areas/dailyPlanning/getTeamAvailability.js","AppSrc/actions/areas/dailyPlanning/getTreatmentInstanceDetails.js","AppSrc/actions/areas/dailyPlanning/homeToVisitUserMessages.js","AppSrc/actions/areas/dailyPlanning/index.js","AppSrc/actions/areas/dailyPlanning/moreOptions.js","AppSrc/actions/areas/dailyPlanning/popover.js","AppSrc/actions/areas/dailyPlanning/scheduler.js","AppSrc/actions/areas/dailyPlanning/selectClinicianOnMap.js","AppSrc/actions/areas/dailyPlanning/selectedDate.js","AppSrc/actions/areas/dailyPlanning/serviceDetails.js","AppSrc/actions/areas/dailyPlanning/setDefaultOrgUnitForDay.js","AppSrc/actions/areas/dailyPlanning/travelTime.js","AppSrc/actions/areas/dailyPlanning/treatmentInstanceSorting.js","AppSrc/actions/areas/dailyPlanning/userMessages.js","AppSrc/actions/areas/nonPatientActivities/fetchNonPatientActivities.js","AppSrc/actions/areas/planner/commandActions.js","AppSrc/actions/areas/planner/fetchHooks.js","AppSrc/actions/areas/planner/index.js","AppSrc/actions/areas/planner/mappingDtos.js","AppSrc/actions/areas/planner/queryActions.js","AppSrc/actions/areas/reports/index.js","AppSrc/actions/areas/reports/selectReportTypeName.js","AppSrc/actions/areas/shared/fetchOptions.js","AppSrc/actions/areas/shared/index.js","AppSrc/actions/areas/shared/mappingDtos.js","AppSrc/actions/areas/shared/mappingHelper.js","AppSrc/actions/areas/shared/queryActions.js","AppSrc/actions/areas/treatments/getPatternDates.js","AppSrc/actions/areas/treatments/index.js","AppSrc/actions/areas/visitActuals/editVisit.js","AppSrc/actions/areas/visitActuals/fetchHooks/fetchVisitActuals.js","AppSrc/actions/areas/visitActuals/index.js","AppSrc/actions/constants/methods/index.js","AppSrc/actions/constants/methods/methods.js","AppSrc/actions/constants/types/index.js","AppSrc/actions/constants/types/types.js","AppSrc/actions/entities/activities/create.js","AppSrc/actions/entities/activities/get.js","AppSrc/actions/entities/activities/index.js","AppSrc/actions/entities/activities/queryActions.js","AppSrc/actions/entities/activities/toggle.js","AppSrc/actions/entities/activities/update.js","AppSrc/actions/entities/activityTypes/create.js","AppSrc/actions/entities/activityTypes/get.js","AppSrc/actions/entities/activityTypes/index.js","AppSrc/actions/entities/activityTypes/update.js","AppSrc/actions/entities/assignments/create.js","AppSrc/actions/entities/assignments/delete.js","AppSrc/actions/entities/assignments/index.js","AppSrc/actions/entities/assignments/reschedule.js","AppSrc/actions/entities/externalProviders/get.js","AppSrc/actions/entities/externalProviders/index.js","AppSrc/actions/entities/index.js","AppSrc/actions/entities/lunchBreaks/index.js","AppSrc/actions/entities/lunchBreaks/update.js","AppSrc/actions/entities/mileageCap/create.js","AppSrc/actions/entities/mileageCap/index.js","AppSrc/actions/entities/nonPatientActivities/cancel.js","AppSrc/actions/entities/nonPatientActivities/create.js","AppSrc/actions/entities/nonPatientActivities/get.js","AppSrc/actions/entities/nonPatientActivities/index.js","AppSrc/actions/entities/nonPatientActivities/update.js","AppSrc/actions/entities/nonPatientActivities/userMessages.js","AppSrc/actions/entities/nonPatientActivityTypes/create.js","AppSrc/actions/entities/nonPatientActivityTypes/get.js","AppSrc/actions/entities/nonPatientActivityTypes/update.js","AppSrc/actions/entities/orgUnits/get.js","AppSrc/actions/entities/patients/add.js","AppSrc/actions/entities/patients/commandActions/index.js","AppSrc/actions/entities/patients/excludeClinician.js","AppSrc/actions/entities/patients/fetchHooks/fetchPatientAudit.js","AppSrc/actions/entities/patients/fetchHooks/fetchPatientSearch.js","AppSrc/actions/entities/patients/fetchHooks/index.js","AppSrc/actions/entities/patients/get.js","AppSrc/actions/entities/patients/index.js","AppSrc/actions/entities/patients/queryActions/index.js","AppSrc/actions/entities/patients/removeExcludedClinician.js","AppSrc/actions/entities/patients/update.js","AppSrc/actions/entities/postings/get.js","AppSrc/actions/entities/postings/getLocationsForPostings.js","AppSrc/actions/entities/postings/index.js","AppSrc/actions/entities/postings/postingHelper.js","AppSrc/actions/entities/referralPriorities/create.js","AppSrc/actions/entities/referralPriorities/index.js","AppSrc/actions/entities/referralPriorities/update.js","AppSrc/actions/entities/referralServices/create.js","AppSrc/actions/entities/referralServices/get.js","AppSrc/actions/entities/referralServices/index.js","AppSrc/actions/entities/referralServices/update.js","AppSrc/actions/entities/referralServices/userMessages.js","AppSrc/actions/entities/referralSources/create.js","AppSrc/actions/entities/referralSources/update.js","AppSrc/actions/entities/referrals/close.js","AppSrc/actions/entities/referrals/create.js","AppSrc/actions/entities/referrals/get.js","AppSrc/actions/entities/referrals/index.js","AppSrc/actions/entities/referrals/update.js","AppSrc/actions/entities/referrals/updateReferrals.js","AppSrc/actions/entities/referrals/userMessages.js","AppSrc/actions/entities/settings/get.js","AppSrc/actions/entities/settings/index.js","AppSrc/actions/entities/timeSlots/getDefault.js","AppSrc/actions/entities/timeSlots/index.js","AppSrc/actions/entities/timeSlots/save.js","AppSrc/actions/entities/treatmentInstances/addOverride.js","AppSrc/actions/entities/treatmentInstances/cancel.js","AppSrc/actions/entities/treatmentInstances/get.js","AppSrc/actions/entities/treatmentInstances/getRescheduledInformation.js","AppSrc/actions/entities/treatmentInstances/index.js","AppSrc/actions/entities/treatmentInstances/removeOverride.js","AppSrc/actions/entities/treatmentInstances/removeTreatmentInstance.js","AppSrc/actions/entities/treatmentInstances/update.js","AppSrc/actions/entities/treatmentInstances/updateCopies.js","AppSrc/actions/entities/treatments/create.js","AppSrc/actions/entities/treatments/createRetro.js","AppSrc/actions/entities/treatments/get.js","AppSrc/actions/entities/treatments/index.js","AppSrc/actions/entities/treatments/sync.js","AppSrc/actions/entities/treatments/update.js","AppSrc/actions/entities/visitActuals/get.js","AppSrc/actions/entities/visitActuals/index.js","AppSrc/actions/entities/visitActuals/update.js","AppSrc/actions/entities/visitActuals/userMessages.js","AppSrc/actions/global/auth.js","AppSrc/actions/global/errors.js","AppSrc/actions/global/gridFilters.js","AppSrc/actions/global/index.js","AppSrc/actions/uiElements/dialogs/index.js","AppSrc/actions/uiElements/dialogs/toggle.js","AppSrc/actions/uiElements/index.js","AppSrc/actions/uiElements/selectors/getOptions.js","AppSrc/actions/uiElements/selectors/index.js","AppSrc/actions/uiElements/tables/index.js","AppSrc/actions/uiElements/tables/tableSearch.js","AppSrc/actions/uiElements/tables/userMessages.js","AppSrc/actions/uiElements/timeSlotConfiguration/configureTimeSlots.js","AppSrc/actions/uiElements/timeSlotConfiguration/index.js","AppSrc/actions/useApiHook.js","AppSrc/components/Admin/Activities/ActivityContent.jsx","AppSrc/components/Admin/Activities/ActivityForm.jsx","AppSrc/components/Admin/Activities/ActivityPage.jsx","AppSrc/components/Admin/Activities/activityHandler.js","AppSrc/components/Admin/Activities/activityTableSettings.jsx","AppSrc/components/Admin/ActivityTypes/ActivityTypeContent.jsx","AppSrc/components/Admin/ActivityTypes/ActivityTypeForm.jsx","AppSrc/components/Admin/ActivityTypes/ActivityTypePage.jsx","AppSrc/components/Admin/ActivityTypes/activityTypeHandler.js","AppSrc/components/Admin/ActivityTypes/activityTypeTableSettings.jsx","AppSrc/components/Admin/Audit/AuditDetailsSidePanel.jsx","AppSrc/components/Admin/Audit/AuditPage.jsx","AppSrc/components/Admin/Audit/AuditSearchFilters.jsx","AppSrc/components/Admin/Audit/EventDetails/ActivityDetails.jsx","AppSrc/components/Admin/Audit/EventDetails/AssignmentDetails.jsx","AppSrc/components/Admin/Audit/EventDetails/AuditProperties.jsx","AppSrc/components/Admin/Audit/EventDetails/ClinicianMileageCapDetails.jsx","AppSrc/components/Admin/Audit/EventDetails/NonPatientActivityDetails.jsx","AppSrc/components/Admin/Audit/EventDetails/PatternConfigurationDetails.jsx","AppSrc/components/Admin/Audit/EventDetails/PostingDetails.jsx","AppSrc/components/Admin/Audit/EventDetails/ReasonDetails.jsx","AppSrc/components/Admin/Audit/EventDetails/ReferralDetails.jsx","AppSrc/components/Admin/Audit/EventDetails/ReferralRelatedEntityDetails.jsx","AppSrc/components/Admin/Audit/EventDetails/TreatmentInstanceDetails.jsx","AppSrc/components/Admin/Audit/auditHandler.js","AppSrc/components/Admin/Audit/auditTableSettings.jsx","AppSrc/components/Admin/AutoAllocateWeightings/AutoAllocateWeightings.jsx","AppSrc/components/Admin/CancellingParties/CancellingPartiesPage.jsx","AppSrc/components/Admin/CancellingParties/CreateCancellingParty.jsx","AppSrc/components/Admin/CancellingParties/cancellingPartyHandler.js","AppSrc/components/Admin/CancellingParties/cancellingPartyTableSettings.jsx","AppSrc/components/Admin/ConfigureClinician/ConfigureClinicianFilters.jsx","AppSrc/components/Admin/ConfigureClinician/ConfigureClinicianPage.jsx","AppSrc/components/Admin/ConfigureClinician/ConfigureClinicianTableSettings.jsx","AppSrc/components/Admin/ConfigureClinician/configureClinicianHandler.js","AppSrc/components/Admin/ConfigureTimeSlots/ConfigureTimeSlots.jsx","AppSrc/components/Admin/ConfigureTimeSlots/TimeSlotConfiguration.jsx","AppSrc/components/Admin/ExternalProvider/ClinicianUsernameMapping/ClinicianMappingContent.jsx","AppSrc/components/Admin/ExternalProvider/ClinicianUsernameMapping/ClinicianMappingFilters.jsx","AppSrc/components/Admin/ExternalProvider/ClinicianUsernameMapping/ClinicianMappingForm.jsx","AppSrc/components/Admin/ExternalProvider/ClinicianUsernameMapping/clinicianMappingTableSettings.jsx","AppSrc/components/Admin/ExternalProvider/CustomToolbar.jsx","AppSrc/components/Admin/ExternalProvider/ExternalProviderContext.jsx","AppSrc/components/Admin/ExternalProvider/ExternalProviderPage.jsx","AppSrc/components/Admin/ExternalProvider/OutcomeCodes/CreateOutcomeCode.jsx","AppSrc/components/Admin/ExternalProvider/OutcomeCodes/OutcomeCodesPage.jsx","AppSrc/components/Admin/ExternalProvider/OutcomeCodes/outcomeCodesHandler.js","AppSrc/components/Admin/ExternalProvider/OutcomeCodes/outcomeCodesTableSettings.jsx","AppSrc/components/Admin/ExternalProvider/ProviderRequest/AssignmentDetailsSidePanel.jsx","AppSrc/components/Admin/ExternalProvider/ProviderRequest/RequestLogsContent.jsx","AppSrc/components/Admin/ExternalProvider/ProviderRequest/RequestLogsPage.jsx","AppSrc/components/Admin/ExternalProvider/ProviderRequest/RequestLogsSearchFilters.jsx","AppSrc/components/Admin/ExternalProvider/ProviderRequest/requestLogsTableSettings.jsx","AppSrc/components/Admin/ExternalProvider/TeamMapping/TeamMappingContent.jsx","AppSrc/components/Admin/ExternalProvider/TeamMapping/TeamMappingForm.jsx","AppSrc/components/Admin/ExternalProvider/TeamMapping/teamMappingTableSettings.jsx","AppSrc/components/Admin/ExternalProvider/externalProviderHandler.js","AppSrc/components/Admin/ExternalProvider/useTeamProvider.jsx","AppSrc/components/Admin/MileageCap/MileageCapFilters.jsx","AppSrc/components/Admin/MileageCap/MileageCapPage.jsx","AppSrc/components/Admin/MileageCap/mileageCapHandler.js","AppSrc/components/Admin/MileageCap/mileageCapTableSettings.jsx","AppSrc/components/Admin/NonPatientActivityTypes/NPActivityTypesPage.jsx","AppSrc/components/Admin/NonPatientActivityTypes/NonPatientActivityTypeCreate.jsx","AppSrc/components/Admin/NonPatientActivityTypes/NonPatientActivityTypeEdit.jsx","AppSrc/components/Admin/NonPatientActivityTypes/npatHandler.js","AppSrc/components/Admin/NonPatientActivityTypes/npatTableSettings.jsx","AppSrc/components/Admin/Reasons/CreateReason.jsx","AppSrc/components/Admin/Reasons/ReasonContent.jsx","AppSrc/components/Admin/Reasons/ReasonsPage.jsx","AppSrc/components/Admin/Reasons/reasonHandler.js","AppSrc/components/Admin/Reasons/reasonTableSettings.jsx","AppSrc/components/Admin/ReferralConfig/ReferralConfigPage.jsx","AppSrc/components/Admin/ReferralPriorities/ReferralPrioritesForm.jsx","AppSrc/components/Admin/ReferralServices/AddEditServiceForm.jsx","AppSrc/components/Admin/ReferralServices/ReferralServicesForm.jsx","AppSrc/components/Admin/ReferralSources/ReferralSourcesForm.jsx","AppSrc/components/Admin/SystemInfo/SettingsNSync.jsx","AppSrc/components/Admin/SystemInfo/SyncLog.jsx","AppSrc/components/DailyPlanning/AutoAllocate/AutoAllocateIndicator.jsx","AppSrc/components/DailyPlanning/ClinicianHeader/ClinicianHeader.jsx","AppSrc/components/DailyPlanning/ClinicianLocator/AssignmentMarker.jsx","AppSrc/components/DailyPlanning/ClinicianLocator/ClinicianLocator.jsx","AppSrc/components/DailyPlanning/ClinicianLocator/ClinicianMarker.jsx","AppSrc/components/DailyPlanning/CliniciansList/CliniciansList.jsx","AppSrc/components/DailyPlanning/DailyPlanning.jsx","AppSrc/components/DailyPlanning/DailySidePanel/DailySidePanel.jsx","AppSrc/components/DailyPlanning/DragNDropContent/DragNDropContent.jsx","AppSrc/components/DailyPlanning/LunchBreak/LunchBreak.jsx","AppSrc/components/DailyPlanning/OverrideClinician/OverrideClinician.jsx","AppSrc/components/DailyPlanning/Scheduler/Scheduler.jsx","AppSrc/components/DailyPlanning/Stats/Stats.jsx","AppSrc/components/DailyPlanning/TimelineAssignment/TimelineAssignment.jsx","AppSrc/components/DailyPlanning/TimelineAssignment/TimelineAssignmentPopover.jsx","AppSrc/components/DailyPlanning/TimelineAvailability/TimelineAvailability.jsx","AppSrc/components/DailyPlanning/TimelineDropCell/TimelineDropCell.jsx","AppSrc/components/DailyPlanning/TimelineRow/TimelineRow.jsx","AppSrc/components/DailyPlanning/Timeline/Timeline.jsx","AppSrc/components/DailyPlanning/TreatmentFilterBox/TreatmentFilterBox.jsx","AppSrc/components/DailyPlanning/TreatmentInstanceDialogOpener/TreatmentInstanceDialogOpener.jsx","AppSrc/components/DailyPlanning/TreatmentInstanceDialog/Cancellation/TreatmentInstanceDialogCancellation.jsx","AppSrc/components/DailyPlanning/TreatmentInstanceDialog/Edition/TreatmentInstanceDialogEdition.jsx","AppSrc/components/DailyPlanning/TreatmentInstanceDialog/Moving/TreatmentInstanceDialogMoving.jsx","AppSrc/components/DailyPlanning/TreatmentInstanceDialog/TreatmentInstanceDialog.jsx","AppSrc/components/DailyPlanning/TreatmentInstanceDialog/TreatmentInstanceDialogContent/TreatmentInstanceDialogContent.jsx","AppSrc/components/DailyPlanning/TreatmentInstanceDialog/TreatmentInstanceDialogHeader/TreatmentInstanceDialogHeader.jsx","AppSrc/components/DailyPlanning/TreatmentInstanceList/TreatmentInstanceList.jsx","AppSrc/components/DailyPlanning/TreatmentInstancePopover/TreatmentInstancePopover.jsx","AppSrc/components/DailyPlanning/TreatmentInstance/TreatmentInstance.jsx","AppSrc/components/DailyPlanning/TreatmentPanel/TreatmentPanel.jsx","AppSrc/components/Dashboard/Dashboard.jsx","AppSrc/components/Dashboard/TeamAvailability/DefaultTable.jsx","AppSrc/components/Dashboard/TeamAvailability/TeamAvailabilityForm.jsx","AppSrc/components/Dashboard/TeamAvailability/TeamsAvailabilityTable.jsx","AppSrc/components/PageStructure/ConfirmationDialog.jsx","AppSrc/components/PageStructure/DefaultPageWrapper/DefaultPageWrapper.jsx","AppSrc/components/PageStructure/ErrorHandler/ErrorHandler.jsx","AppSrc/components/PageStructure/ErrorHandler/SnackBarWrapper.jsx","AppSrc/components/PageStructure/Header/Header.jsx","AppSrc/components/PageStructure/Header/HeaderNew.jsx","AppSrc/components/PageStructure/InnerContent/InnerContent.jsx","AppSrc/components/PageStructure/LandingPage/LandingPage.jsx","AppSrc/components/PageStructure/NavBar/NavBar.jsx","AppSrc/components/PageStructure/NavBar/NavBarNew.jsx","AppSrc/components/PageStructure/NavBar/featureAccesses.js","AppSrc/components/PageStructure/NavBar/menuItems.js","AppSrc/components/PageStructure/PageContent/PageContent.jsx","AppSrc/components/PageStructure/PageHeader/PageHeader.jsx","AppSrc/components/PageStructure/SidePanel/SidePanel.jsx","AppSrc/components/Patients/Add/PatientAdd.jsx","AppSrc/components/Patients/Edit/PatientEdit.jsx","AppSrc/components/Patients/Form/PatientForm.jsx","AppSrc/components/Patients/Patient/ExcludedClinicians.jsx","AppSrc/components/Patients/Patient/PatientDetails.jsx","AppSrc/components/Patients/Patient/PatientDetailsTabs.jsx","AppSrc/components/Patients/Patient/PatientHistoricVisits.jsx","AppSrc/components/Patients/Patient/PatientNotes.jsx","AppSrc/components/Patients/Patient/PatientRescheduledInformationDialog.jsx","AppSrc/components/Patients/Patient/PatientRescheduledInformationDialogHeader.jsx","AppSrc/components/Patients/Patient/PatientRescheduledInformationDialogOpener.jsx","AppSrc/components/Patients/Patient/ToolTip.jsx","AppSrc/components/Planner/BundleVisit/BundleVisitActivities.jsx","AppSrc/components/Planner/BundleVisit/BundleVisitSlots.jsx","AppSrc/components/Planner/BundleVisit/BundleVisitsDetails.jsx","AppSrc/components/Planner/BundleVisit/EditActivitiesDuration.jsx","AppSrc/components/Planner/BundleVisit/UnbundleTreatment.jsx","AppSrc/components/Planner/BundleVisit/mappingHelper.js","AppSrc/components/Planner/ClinicianGroups/ClinicianGroupContent.jsx","AppSrc/components/Planner/ClinicianGroups/ClinicianGroupFilters.jsx","AppSrc/components/Planner/ClinicianGroups/ClinicianGroupForm.jsx","AppSrc/components/Planner/ClinicianGroups/ClinicianGroupPage.jsx","AppSrc/components/Planner/ClinicianGroups/clinicianGroupsHandler.js","AppSrc/components/Planner/ClinicianGroups/groupsTableSettings.jsx","AppSrc/components/Planner/ClinicianView/Activities/LunchActivity.jsx","AppSrc/components/Planner/ClinicianView/Activities/NonPatientActivity.jsx","AppSrc/components/Planner/ClinicianView/Activities/PatientActivity.jsx","AppSrc/components/Planner/ClinicianView/AddNpaPlanningForm.jsx","AppSrc/components/Planner/ClinicianView/AssignmentDetails/ActivityDetails.jsx","AppSrc/components/Planner/ClinicianView/AssignmentDetails/AssignmentDetails.jsx","AppSrc/components/Planner/ClinicianView/AssignmentDetails/NonPatientActivityDetails.jsx","AppSrc/components/Planner/ClinicianView/AssignmentDetails/PatientDetails.jsx","AppSrc/components/Planner/ClinicianView/AssignmentDetails/RescheduleNonPatientActivity.jsx","AppSrc/components/Planner/ClinicianView/AutoAllocateForm.jsx","AppSrc/components/Planner/ClinicianView/AutoAllocation/AutoAllocateContent.jsx","AppSrc/components/Planner/ClinicianView/AutoAllocation/AutoAllocatePage.jsx","AppSrc/components/Planner/ClinicianView/AutoAllocation/AutoAllocationFilters.jsx","AppSrc/components/Planner/ClinicianView/AutoAllocation/AutoAllocationLogs.jsx","AppSrc/components/Planner/ClinicianView/AutoAllocation/autoAllocateHandler.js","AppSrc/components/Planner/ClinicianView/AutoAllocation/tableSettings.jsx","AppSrc/components/Planner/ClinicianView/CancelTreatment/BulkCancel.jsx","AppSrc/components/Planner/ClinicianView/CancelTreatment/CancelTreatment.jsx","AppSrc/components/Planner/ClinicianView/ChangeTreatmentNotes/ChangeTreatmentNotes.jsx","AppSrc/components/Planner/ClinicianView/ClinicianActivities.jsx","AppSrc/components/Planner/ClinicianView/ClinicianCards.jsx","AppSrc/components/Planner/ClinicianView/ClinicianDetails/ClinicianAssignedVisits.jsx","AppSrc/components/Planner/ClinicianView/ClinicianDetails/ClinicianDetails.jsx","AppSrc/components/Planner/ClinicianView/ClinicianGroups/ClinicianGroupsOnDay.jsx","AppSrc/components/Planner/ClinicianView/ClinicianTreatments.jsx","AppSrc/components/Planner/ClinicianView/ClinicianViewPage.jsx","AppSrc/components/Planner/ClinicianView/ConvertTreatmentInstanceType/ConvertTreatmentInstanceType.jsx","AppSrc/components/Planner/ClinicianView/CopyTreatment/CopyTreatment.jsx","AppSrc/components/Planner/ClinicianView/MoreOptionsDialog.jsx","AppSrc/components/Planner/ClinicianView/SummaryHourStats.jsx","AppSrc/components/Planner/ClinicianView/TimelineScheduler.jsx","AppSrc/components/Planner/ClinicianView/UnassignedTreatments/ChangeTreatmentUnit.jsx","AppSrc/components/Planner/ClinicianView/UnassignedTreatments/ClinicianTreatmentDetails.jsx","AppSrc/components/Planner/ClinicianView/UnassignedTreatments/RescheduleTreatment.jsx","AppSrc/components/Planner/ClinicianView/UnassignedTreatments/TreatmentDetails.jsx","AppSrc/components/Planner/ClinicianView/UnassignedTreatments/TreatmentRecurrenceSlots.jsx","AppSrc/components/Planner/ErrorNotification/ErrorNotification.jsx","AppSrc/components/Planner/Filters/AdvanceFilters/AdvanceFilters.js","AppSrc/components/Planner/Filters/AdvanceFilters/AdvanceFiltersContainer.jsx","AppSrc/components/Planner/Filters/AdvanceFilters/AdvanceFiltersForm.jsx","AppSrc/components/Planner/Filters/AdvanceFilters/AdvanceFiltersHandler.js","AppSrc/components/Planner/Filters/AdvanceFilters/RenderAdvanceFilters.jsx","AppSrc/components/Planner/Filters/DayNightSwitch.jsx","AppSrc/components/Planner/Filters/DropdownFilter.jsx","AppSrc/components/Planner/Filters/Filters.jsx","AppSrc/components/Planner/Filters/SearchFilter.jsx","AppSrc/components/Planner/Filters/SortOptionsDialog.jsx","AppSrc/components/Planner/MapView/AssignmentLocationMarker.jsx","AppSrc/components/Planner/MapView/ClinicianList.jsx","AppSrc/components/Planner/MapView/ClinicianLocationMarker.jsx","AppSrc/components/Planner/MapView/MapViewPage.jsx","AppSrc/components/Planner/MapView/cssHelper.js","AppSrc/components/Planner/TreatmentView/TreatmentInstances.jsx","AppSrc/components/Planner/TreatmentView/TreatmentViewPage.jsx","AppSrc/components/Planner/index.js","AppSrc/components/Planner/timeline/TimelineContext.jsx","AppSrc/components/Planner/timeline/TimelineDialog.jsx","AppSrc/components/Planner/timeline/TimelineDockerPanel.jsx","AppSrc/components/Planner/timeline/TimelineLegend.jsx","AppSrc/components/Planner/timeline/TimelineView.jsx","AppSrc/components/Planner/timeline/timelineConstants.jsx","AppSrc/components/Planner/timeline/timelineDockerHelper.js","AppSrc/components/Planner/timeline/timelineHelper.js","AppSrc/components/Planner/timeline/useTimeline.jsx","AppSrc/components/Referrals/ReferralCloseDialog/ReferralCloseDialog.jsx","AppSrc/components/Referrals/ReferralDetails/ReferralDetails.jsx","AppSrc/components/Referrals/ReferralDetails/ReferralTreatmentsFilter.jsx","AppSrc/components/Reports/FilterPanel.jsx","AppSrc/components/Reports/ReportForm.jsx","AppSrc/components/Reports/ReportSelection.jsx","AppSrc/components/Routes/CommunityRoute.jsx","AppSrc/components/Routes/PrivateRoute.jsx","AppSrc/components/Treatments/AddressDetails/AddressDetails.jsx","AppSrc/components/Treatments/AddressDetails/AddressForm.jsx","AppSrc/components/Treatments/AddressDetails/ContactDetails.jsx","AppSrc/components/Treatments/PersonaliseTreatment/PersonaliseTreatment.jsx","AppSrc/components/Treatments/Preview/TreatmentPreview.jsx","AppSrc/components/Treatments/ReviewDatePicker/ReviewDatePicker.jsx","AppSrc/components/Treatments/TreatmentDetails/TreatmentDetails.jsx","AppSrc/components/Treatments/TreatmentSchedule/SpecificTime/SpecificTime.jsx","AppSrc/components/Treatments/TreatmentSchedule/SpecificTime/SpecificTimeDetails.jsx","AppSrc/components/Treatments/TreatmentSchedule/SpecificTime/SpecificTimeDetailsWeekly.jsx","AppSrc/components/Treatments/TreatmentSchedule/TimeSlots/TimeSlots.jsx","AppSrc/components/Treatments/TreatmentSchedule/TimeSlots/TimeSlotsMatrix.jsx","AppSrc/components/Treatments/TreatmentSchedule/TreatmentSchedule.jsx","AppSrc/components/Treatments/TreatmentSchedule/shared/DayOfMonthCalendar.jsx","AppSrc/components/Treatments/TreatmentSchedule/shared/DetailsMonthly.jsx","AppSrc/components/Treatments/TreatmentSchedule/shared/FormClass.jsx","AppSrc/components/Treatments/TreatmentSchedule/shared/MatrixButton.jsx","AppSrc/components/Treatments/TreatmentSchedule/shared/WeekOfMonthOption.jsx","AppSrc/components/Treatments/TreatmentSchedule/shared/functions.js","AppSrc/components/VisitActuals/ActualsSearchFilters.jsx","AppSrc/components/VisitActuals/Edit/VisitActualEdit.jsx","AppSrc/components/VisitActuals/Form/VisitActualActivitiesDialog.jsx","AppSrc/components/VisitActuals/Form/VisitActualActivitiesTable.jsx","AppSrc/components/VisitActuals/Form/VisitActualActivityForm.jsx","AppSrc/components/VisitActuals/Form/VisitActualForm.jsx","AppSrc/components/VisitActuals/VisitActualsPage.jsx","AppSrc/components/VisitActuals/visitActualsHandler.js","AppSrc/components/VisitActuals/visitActualsTableSettings.jsx","AppSrc/components/common/ActivitiesSummary/ActivitiesSummary.jsx","AppSrc/components/common/AlertBox/AlertBox.jsx","AppSrc/components/common/AppBar/AppBar.jsx","AppSrc/components/common/AuditTrail/AuditTrail.jsx","AppSrc/components/common/AuditTrail/SubRowTreatmentTimeSlotsDataTable.jsx","AppSrc/components/common/AuditTrail/auditTrailTableSettings.jsx","AppSrc/components/common/AuditTrail/auditTrailTreatmentTableSettings.jsx","AppSrc/components/common/Autocomplete/AutocompleteWrapper.jsx","AppSrc/components/common/Calendar/Calendar.jsx","AppSrc/components/common/ConfirmationDialog/ConfirmationDialog.jsx","AppSrc/components/common/CustomToolbar/CustomToolbar.jsx","AppSrc/components/common/DateSelector/DateSelector.jsx","AppSrc/components/common/DockerPanel/DockerPanel.jsx","AppSrc/components/common/DropdownWrapper/DropdownWrapper.jsx","AppSrc/components/common/Formsy/DatePickerWrapper.jsx","AppSrc/components/common/Formsy/FormsyDate.jsx","AppSrc/components/common/Formsy/FormsyNHS.jsx","AppSrc/components/common/Formsy/FormsyTime.jsx","AppSrc/components/common/Formsy/TimePickerWrapper.jsx","AppSrc/components/common/Formsy/index.js","AppSrc/components/common/Integration/Integration.jsx","AppSrc/components/common/KeyboardDateTimeSelectors/KeyboardDateSelector.jsx","AppSrc/components/common/KeyboardDateTimeSelectors/KeyboardTimeSelector.jsx","AppSrc/components/common/Loading/BlockingLoader.jsx","AppSrc/components/common/Loading/LoadingPageText.jsx","AppSrc/components/common/Loading/NonBlockingLoader.jsx","AppSrc/components/common/NewDatePicker/CommunityDatePicker.jsx","AppSrc/components/common/NewDatePicker/YearMonthForm.jsx","AppSrc/components/common/PostcodeSearch/PostcodeSearch.jsx","AppSrc/components/common/PrivateNavLink/PrivateNavLink.jsx","AppSrc/components/common/PrivateNavLink/PrivateNavLinkNew.jsx","AppSrc/components/common/RagStatusPicker/RagStatusPicker.jsx","AppSrc/components/common/SelectableList/ListItem.jsx","AppSrc/components/common/SelectableList/SelectableList.jsx","AppSrc/components/common/Selector/NestedSelector.jsx","AppSrc/components/common/Selector/NestedSelectorChips.jsx","AppSrc/components/common/Selector/SelectFilter.jsx","AppSrc/components/common/Selector/Selector.jsx","AppSrc/components/common/Selector/SelectorChips.jsx","AppSrc/components/common/Spinner/Spinner.jsx","AppSrc/components/common/StatCounter/StatCounter.jsx","AppSrc/components/common/Table/Table.jsx","AppSrc/components/common/Tabs/Tabs.jsx","AppSrc/components/common/Tooltip/Tooltip.jsx","AppSrc/components/common/WarningSidePanel/WarningSidePanel.jsx","AppSrc/containers/Admin/AutoAllocateWeightings/AutoAllocateWeightingsContainer.js","AppSrc/containers/Admin/ConfigureTimeSlots/ConfigureTimeSlotsContainer.jsx","AppSrc/containers/Admin/ReferralPriorities/ReferralPrioritiesContainer.jsx","AppSrc/containers/Admin/ReferralServices/ReferralServicesContainer.js","AppSrc/containers/Admin/ReferralSourcesContainer/ReferralSourcesContainer.jsx","AppSrc/containers/Admin/SystemInfo/SystemInfoContainer.jsx","AppSrc/containers/Callback/CallbackContainer.jsx","AppSrc/containers/DailyPlanning/AutoAllocate/AutoAllocateIndicatorContainer.jsx","AppSrc/containers/DailyPlanning/ClinicianHeader/ClinicianHeaderContainer.jsx","AppSrc/containers/DailyPlanning/DailyPlanningContainer.jsx","AppSrc/containers/DailyPlanning/DailySidePanel/DailySidePanelContainer.jsx","AppSrc/containers/DailyPlanning/DateSelector/DateSelectorContainer.jsx","AppSrc/containers/DailyPlanning/LunchBreak/LunchBreaks.jsx","AppSrc/containers/DailyPlanning/Scheduler/SchedulerContainer.jsx","AppSrc/containers/DailyPlanning/Stats/StatsContainer.jsx","AppSrc/containers/DailyPlanning/TimelineAssignment/TimelineAssignmentContainer.jsx","AppSrc/containers/DailyPlanning/TimelineAssignment/TimelineAssignmentPopoverContainer.jsx","AppSrc/containers/DailyPlanning/TimelineAvailability/TimelineAvailabilityContainer.jsx","AppSrc/containers/DailyPlanning/TreatmentFilterBox/TreatmentFilterBoxContainer.jsx","AppSrc/containers/DailyPlanning/TreatmentInstanceDialogOpener/TreatmentInstanceDialogOpenerContainer.js","AppSrc/containers/DailyPlanning/TreatmentInstanceDialog/Cancellation/TreatmentInstanceDialogCancellationContainer.jsx","AppSrc/containers/DailyPlanning/TreatmentInstanceDialog/Edition/TreatmentInstanceDialogEditionContainer.jsx","AppSrc/containers/DailyPlanning/TreatmentInstanceDialog/Moving/TreatmentInstanceDialogMovingContainer.jsx","AppSrc/containers/DailyPlanning/TreatmentInstanceDialog/TreatmentInstanceDialogContainer.jsx","AppSrc/containers/DailyPlanning/TreatmentInstance/TreatmentInstanceContainer.jsx","AppSrc/containers/DailyPlanning/TreatmentPanel/TreatmentPanelContainer.jsx","AppSrc/containers/Dashboard/DashboardContainer.jsx","AppSrc/containers/Dashboard/TeamAvailability/TeamAvailabilityFormContainer.jsx","AppSrc/containers/NonPatientActivities/NonPatientActivityCreateContainer.jsx","AppSrc/containers/NonPatientActivities/NonPatientActivityEditContainer.jsx","AppSrc/containers/NonPatientActivities/NonPatientActivityFormContainer.jsx","AppSrc/containers/PageStructure/DefaultPageWrapper/DefaultPageWrapperContainer.jsx","AppSrc/containers/PageStructure/ErrorHandler/ErrorHandlerContainer.jsx","AppSrc/containers/PageStructure/Header/HeaderContainer.jsx","AppSrc/containers/PageStructure/Header/HeaderContainerNew.jsx","AppSrc/containers/PageStructure/NavBar/NavBarContainer.jsx","AppSrc/containers/PageStructure/NavBar/NavBarContainerNew.jsx","AppSrc/containers/Patients/Add/PatientAddContainer.js","AppSrc/containers/Patients/Edit/PatientEditContainer.js","AppSrc/containers/Patients/ExcludedClinicians/ExcludedCliniciansContainer.jsx","AppSrc/containers/Patients/PatientReferrals/PatientReferralsContainer.jsx","AppSrc/containers/Patients/Patient/PatientDetailsContainer.jsx","AppSrc/containers/Patients/Patient/PatientRescheduledInformationDialogContainer.jsx","AppSrc/containers/Patients/Patient/PatientRescheduledInformationDialogOpenerContainer.jsx","AppSrc/containers/Referrals/ReferralCloseDialog/ReferralCloseDialogContainer.jsx","AppSrc/containers/Referrals/ReferralCreate/ReferralCreateContainer.jsx","AppSrc/containers/Referrals/ReferralView/ReferralViewContainer.jsx","AppSrc/containers/Reports/ReportSelectionContainer.js","AppSrc/containers/Routes/PrivateRouteContainer.jsx","AppSrc/containers/SignIn/SignInContainer.jsx","AppSrc/containers/Treatments/ReviewDatePicker/ReviewDatePickerContainer.jsx","AppSrc/containers/Treatments/TreatmentCreate/TreatmentCreateContainer.jsx","AppSrc/containers/Treatments/TreatmentCreate/TreatmentCreateRetroVisitContainer.jsx","AppSrc/containers/Treatments/TreatmentEdit/TreatmentEditContainer.jsx","AppSrc/containers/VisitActuals/Edit/VisitActualsEditContainer.js","AppSrc/containers/common/ActivitiesSummary/ActivitiesSummaryContainer.js","AppSrc/containers/common/NewDatePicker/CommunityDatePickerContainer.jsx","AppSrc/containers/common/PostcodeSearch/PostcodeSearchContainer.js","AppSrc/containers/common/PrivateNavLink/PrivateNavLinkContainer.jsx","AppSrc/containers/common/PrivateNavLink/PrivateNavLinkContainerNew.jsx","AppSrc/containers/common/selectors/nestedSelectorConatainer.js","AppSrc/containers/common/selectors/selectorContainer.js","AppSrc/containers/common/tables/tableContainer.js","AppSrc/enums/assignmentSequence.js","AppSrc/enums/assignmentType.js","AppSrc/enums/assignmentVisitSchedule.js","AppSrc/enums/assignmentVisitState.js","AppSrc/enums/auditTrail.js","AppSrc/enums/autoAllocationMode.js","AppSrc/enums/band.js","AppSrc/enums/clinicianGroupType.js","AppSrc/enums/dayPeriod.js","AppSrc/enums/daysOfWeek.js","AppSrc/enums/externalProviderOptions.js","AppSrc/enums/externalProviderType.js","AppSrc/enums/gridFilterPages.js","AppSrc/enums/index.js","AppSrc/enums/monthOption.js","AppSrc/enums/postCodeAddressType.js","AppSrc/enums/ragStatus.js","AppSrc/enums/timeOfDay.js","AppSrc/enums/treatmentInstanceOccurrenceType.js","AppSrc/enums/treatmentInstanceStatus.js","AppSrc/enums/treatmentResponseGroup.js","AppSrc/enums/treatmentScheduleWithName.js","AppSrc/enums/treatmentSelectionType.js","AppSrc/enums/treatmentStatusOptions.js","AppSrc/enums/treatmentTimeTypes.js","AppSrc/enums/unassignmentSource.js","AppSrc/enums/visitStatusWithName.js","AppSrc/enums/visitTypeWithName.js","AppSrc/enums/weeksOfMonth.js","AppSrc/features/Admin/SystemInfo/SystemInfo.jsx","AppSrc/features/Callback/Callback.jsx","AppSrc/features/Community.jsx","AppSrc/features/NonPatientActivities/Create/NonPatientActivityCreate.jsx","AppSrc/features/NonPatientActivities/Edit/NonPatientActivityEdit.jsx","AppSrc/features/NonPatientActivities/Form/NonPatientActivityDetails/NonPatientActivityDetails.jsx","AppSrc/features/NonPatientActivities/Form/NonPatientActivityForm.jsx","AppSrc/features/NonPatientActivities/Form/NonPatientActivitySchedule/NonPatientActivitySchedule.jsx","AppSrc/features/NonPatientActivities/Form/NonPatientAddressDetails/NonPatientAddressDetails.jsx","AppSrc/features/NonPatientActivities/NPAHandler.js","AppSrc/features/NonPatientActivities/NPAPage.jsx","AppSrc/features/NonPatientActivities/NPASearchFilters.jsx","AppSrc/features/NonPatientActivities/NPATableSettings.jsx","AppSrc/features/Patients/PatientAudit/AuditDetails.jsx","AppSrc/features/Patients/PatientAudit/AuditHistory.jsx","AppSrc/features/Patients/PatientAudit/PatientAuditSearchFilters.jsx","AppSrc/features/Patients/PatientAudit/PatientAuditSearchPage.jsx","AppSrc/features/Patients/PatientAudit/patientAuditSearchHandler.js","AppSrc/features/Patients/PatientAudit/patientAuditSearchTableSettings.jsx","AppSrc/features/Patients/PatientReferrals.jsx","AppSrc/features/Patients/Search/ImportPatientForm.jsx","AppSrc/features/Patients/Search/PatientSearchFilters.jsx","AppSrc/features/Patients/Search/PatientSearchPage.jsx","AppSrc/features/Patients/Search/patientSearchHandler.js","AppSrc/features/Patients/Search/patientSearchTableSettings.jsx","AppSrc/features/Referrals/ReferralCreate.jsx","AppSrc/features/Referrals/ReferralView.jsx","AppSrc/features/SignIn/SignIn.jsx","AppSrc/features/Treatments/TreatmentCreate.jsx","AppSrc/features/Treatments/TreatmentCreateRetroVisit.jsx","AppSrc/features/Treatments/TreatmentEdit.jsx","AppSrc/globals/communityGlobals.js","AppSrc/propTypes/entities/activity.js","AppSrc/propTypes/entities/address.js","AppSrc/propTypes/entities/appSettings.js","AppSrc/propTypes/entities/assignment.js","AppSrc/propTypes/entities/assignmentLocation.js","AppSrc/propTypes/entities/availability.js","AppSrc/propTypes/entities/availabilityLocations.js","AppSrc/propTypes/entities/clinician.js","AppSrc/propTypes/entities/contact.js","AppSrc/propTypes/entities/grade.js","AppSrc/propTypes/entities/locationsForPosting.js","AppSrc/propTypes/entities/newTimeSlot.js","AppSrc/propTypes/entities/newTimeSlotsPackage.js","AppSrc/propTypes/entities/nonPatientActivityType.js","AppSrc/propTypes/entities/option.js","AppSrc/propTypes/entities/orgUnit.js","AppSrc/propTypes/entities/patient.js","AppSrc/propTypes/entities/postcodeMileages.js","AppSrc/propTypes/entities/posting.js","AppSrc/propTypes/entities/ragStatus.js","AppSrc/propTypes/entities/recurrencePattern.js","AppSrc/propTypes/entities/teamAvailability.js","AppSrc/propTypes/entities/teamsAvailabilityStructure.js","AppSrc/propTypes/entities/time.js","AppSrc/propTypes/entities/timeSlot.js","AppSrc/propTypes/entities/timeSlotsPackage.js","AppSrc/propTypes/entities/treatment.js","AppSrc/propTypes/entities/treatmentInstance.js","AppSrc/propTypes/entities/visitActual.js","AppSrc/propTypes/external/postCodeAnywhereLocation.js","AppSrc/reducers/areas/admin/auditReducer.js","AppSrc/reducers/areas/admin/combine.js","AppSrc/reducers/areas/admin/index.js","AppSrc/reducers/areas/admin/systemInfoReducer.jsx","AppSrc/reducers/areas/combine.js","AppSrc/reducers/areas/dailyPlanning/assignmentDistanceInfoReducer.jsx","AppSrc/reducers/areas/dailyPlanning/assignmentDistanceMessagesReducer.jsx","AppSrc/reducers/areas/dailyPlanning/assignmentInfoReducer.jsx","AppSrc/reducers/areas/dailyPlanning/autoAllocateReducer.jsx","AppSrc/reducers/areas/dailyPlanning/availableDatePeriod.js","AppSrc/reducers/areas/dailyPlanning/clinicianPlan.js","AppSrc/reducers/areas/dailyPlanning/combine.js","AppSrc/reducers/areas/dailyPlanning/filtersReducer.jsx","AppSrc/reducers/areas/dailyPlanning/index.js","AppSrc/reducers/areas/dailyPlanning/moreOptionsReducer.jsx","AppSrc/reducers/areas/dailyPlanning/scheduler.js","AppSrc/reducers/areas/dailyPlanning/schedulerMapView.jsx","AppSrc/reducers/areas/dailyPlanning/selectedDateReducer.jsx","AppSrc/reducers/areas/dailyPlanning/selectors.js","AppSrc/reducers/areas/dailyPlanning/treatmentInstanceSortingReducer.jsx","AppSrc/reducers/areas/dailyPlanning/userMessagesReducer.jsx","AppSrc/reducers/areas/dashboard/combine.js","AppSrc/reducers/areas/dashboard/index.js","AppSrc/reducers/areas/dashboard/teamAvailabilityReducer.jsx","AppSrc/reducers/areas/index.js","AppSrc/reducers/areas/reports/combine.js","AppSrc/reducers/areas/reports/reportSelectionReducer.js","AppSrc/reducers/areas/treatments/combine.js","AppSrc/reducers/areas/treatments/patternDatesReducer.jsx","AppSrc/reducers/areas/visitActuals/combine.js","AppSrc/reducers/areas/visitActuals/editVisitReducer.js","AppSrc/reducers/areas/visitActuals/index.js","AppSrc/reducers/entities/activities/combine.js","AppSrc/reducers/entities/activities/previewedActivityReducer.jsx","AppSrc/reducers/entities/activityTypes/combine.js","AppSrc/reducers/entities/activityTypes/previewedActivityTypeReducer.jsx","AppSrc/reducers/entities/bands/combine.js","AppSrc/reducers/entities/bands/generalBandsReducer.jsx","AppSrc/reducers/entities/bands/selectors.js","AppSrc/reducers/entities/combine.js","AppSrc/reducers/entities/externalProviders/combine.js","AppSrc/reducers/entities/externalProviders/previewedExternalProvider.js","AppSrc/reducers/entities/nonPatientActivities/assignNonPatientActivityReducer.jsx","AppSrc/reducers/entities/nonPatientActivities/combine.js","AppSrc/reducers/entities/nonPatientActivities/npaMessagesReducer.jsx","AppSrc/reducers/entities/nonPatientActivities/previewedNonPatientActivityReducer.jsx","AppSrc/reducers/entities/nonPatientActivityTypes/combine.js","AppSrc/reducers/entities/nonPatientActivityTypes/previewedNonPatientActivityTypeReducer.jsx","AppSrc/reducers/entities/orgUnits/combine.js","AppSrc/reducers/entities/orgUnits/generalOrgUnitsReducer.jsx","AppSrc/reducers/entities/patients/combine.js","AppSrc/reducers/entities/patients/previewedPatientReducer.jsx","AppSrc/reducers/entities/postings/combine.js","AppSrc/reducers/entities/postings/generalPostingsReducer.jsx","AppSrc/reducers/entities/postings/locationsForPostingsReducer.jsx","AppSrc/reducers/entities/postings/selectors.js","AppSrc/reducers/entities/referralServices/combine.js","AppSrc/reducers/entities/referralServices/referralServicesReducer.js","AppSrc/reducers/entities/referrals/combine.js","AppSrc/reducers/entities/referrals/previewedReferralReducer.jsx","AppSrc/reducers/entities/settings/combine.js","AppSrc/reducers/entities/settings/generalSettingsReducer.jsx","AppSrc/reducers/entities/settings/index.js","AppSrc/reducers/entities/timeSlots/combine.js","AppSrc/reducers/entities/timeSlots/defaultPackageReducer.jsx","AppSrc/reducers/entities/treatmentInstances/combine.js","AppSrc/reducers/entities/treatmentInstances/generalTreatmentInstancesReducer.jsx","AppSrc/reducers/entities/treatmentInstances/mileageCapReducer.jsx","AppSrc/reducers/entities/treatmentInstances/previewedRescheduledInformationReducer.jsx","AppSrc/reducers/entities/treatmentInstances/selectors.js","AppSrc/reducers/entities/treatments/combine.js","AppSrc/reducers/entities/treatments/previewedCompletedTreatmentReducer.jsx","AppSrc/reducers/entities/treatments/previewedImportedTreatmentsReducer.jsx","AppSrc/reducers/entities/treatments/previewedTreatmentReducer.jsx","AppSrc/reducers/entities/visitActuals/combine.js","AppSrc/reducers/entities/visitActuals/previewedVisitActualReducer.jsx","AppSrc/reducers/factories/userMessagesReducerFactory.jsx","AppSrc/reducers/global/authReducer.jsx","AppSrc/reducers/global/combine.js","AppSrc/reducers/global/errorsReducer.jsx","AppSrc/reducers/global/gridFiltersReducer.js","AppSrc/reducers/uiElements/combine.js","AppSrc/reducers/uiElements/dialogsReducer.js","AppSrc/reducers/uiElements/selectors.js","AppSrc/reducers/uiElements/selectorsReducer.js","AppSrc/reducers/uiElements/tablesReducer.js","AppSrc/services/callAPIMiddleware.js","AppSrc/services/errorHandling.js","AppSrc/services/profileMiddleware.js","AppSrc/settings/constants/actionTypes.js","AppSrc/settings/constants/activityMaxDuration.js","AppSrc/settings/constants/appSettings.js","AppSrc/settings/constants/autoAllocationStatuses.js","AppSrc/settings/constants/cardTypes.js","AppSrc/settings/constants/dates.js","AppSrc/settings/constants/endpoints/index.js","AppSrc/settings/constants/endpoints/selectorEndpoints.js","AppSrc/settings/constants/endpoints/tableEndpoints.js","AppSrc/settings/constants/index.js","AppSrc/settings/constants/recurrenceTypes.js","AppSrc/settings/constants/regex.js","AppSrc/settings/constants/sorting.js","AppSrc/settings/constants/treatmentStatuses.js","AppSrc/settings/errorSettings.js","AppSrc/settings/other.js","AppSrc/settings/routeSettings.jsx","AppSrc/settings/scheduler.js","AppSrc/store/communityStore.js","AppSrc/store/transforms/persistTransform.js","AppSrc/theme/AllocateBaseTheme.js","AppSrc/theme/AllocateColors.js","AppSrc/theme/CommunityTheme.js","AppSrc/utils/axios.js","AppSrc/utils/dates.js","AppSrc/utils/datetimeconverter.js","AppSrc/utils/formsy.js","AppSrc/utils/helpers.js","AppSrc/utils/icons.jsx","AppSrc/utils/keyboardSelectorFunctions.js","AppSrc/utils/lodash.js","AppSrc/utils/normalizr/bandsSchema.js","AppSrc/utils/normalizr/postingSchema.js","AppSrc/utils/timeslots.js","AppSrc/utils/userManager.js","node_modules/@babel/runtime-corejs3/core-js-stable/array/is-array.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/bind.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/every.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/find-index.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/reduce.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/some.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/sort.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/splice.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/starts-with.js","node_modules/@babel/runtime-corejs3/core-js-stable/instance/trim.js","node_modules/@babel/runtime-corejs3/core-js-stable/object/assign.js","node_modules/@babel/runtime-corejs3/core-js-stable/object/define-properties.js","node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js","node_modules/@babel/runtime-corejs3/core-js-stable/object/entries.js","node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor.js","node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors.js","node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols.js","node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js","node_modules/@babel/runtime-corejs3/core-js-stable/object/values.js","node_modules/@babel/runtime-corejs3/core-js-stable/parse-int.js","node_modules/@babel/runtime-corejs3/core-js-stable/reflect/construct.js","node_modules/@babel/runtime-corejs3/core-js-stable/set-timeout.js","node_modules/@babel/runtime-corejs3/helpers/arrayLikeToArray.js","node_modules/@babel/runtime-corejs3/helpers/arrayWithHoles.js","node_modules/@babel/runtime-corejs3/helpers/arrayWithoutHoles.js","node_modules/@babel/runtime-corejs3/helpers/assertThisInitialized.js","node_modules/@babel/runtime-corejs3/helpers/classCallCheck.js","node_modules/@babel/runtime-corejs3/helpers/createClass.js","node_modules/@babel/runtime-corejs3/helpers/defineProperty.js","node_modules/@babel/runtime-corejs3/helpers/extends.js","node_modules/@babel/runtime-corejs3/helpers/getPrototypeOf.js","node_modules/@babel/runtime-corejs3/helpers/inherits.js","node_modules/@babel/runtime-corejs3/helpers/iterableToArray.js","node_modules/@babel/runtime-corejs3/helpers/iterableToArrayLimit.js","node_modules/@babel/runtime-corejs3/helpers/nonIterableRest.js","node_modules/@babel/runtime-corejs3/helpers/nonIterableSpread.js","node_modules/@babel/runtime-corejs3/helpers/objectWithoutProperties.js","node_modules/@babel/runtime-corejs3/helpers/objectWithoutPropertiesLoose.js","node_modules/@babel/runtime-corejs3/helpers/possibleConstructorReturn.js","node_modules/@babel/runtime-corejs3/helpers/setPrototypeOf.js","node_modules/@babel/runtime-corejs3/helpers/slicedToArray.js","node_modules/@babel/runtime-corejs3/helpers/toConsumableArray.js","node_modules/@babel/runtime-corejs3/helpers/toPrimitive.js","node_modules/@babel/runtime-corejs3/helpers/toPropertyKey.js","node_modules/@babel/runtime-corejs3/helpers/typeof.js","node_modules/@babel/runtime-corejs3/helpers/unsupportedIterableToArray.js","node_modules/@babel/runtime/helpers/arrayWithHoles.js","node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","node_modules/@babel/runtime/helpers/createClass.js","node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","node_modules/@babel/runtime/helpers/createSuper.js","node_modules/@babel/runtime/helpers/defineProperty.js","node_modules/@babel/runtime/helpers/extends.js","node_modules/@babel/runtime/helpers/getPrototypeOf.js","node_modules/@babel/runtime/helpers/inherits.js","node_modules/@babel/runtime/helpers/inheritsLoose.js","node_modules/@babel/runtime/helpers/interopRequireDefault.js","node_modules/@babel/runtime/helpers/interopRequireWildcard.js","node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","node_modules/@babel/runtime/helpers/iterableToArray.js","node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","node_modules/@babel/runtime/helpers/objectSpread2.js","node_modules/@babel/runtime/helpers/objectWithoutProperties.js","node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","node_modules/@babel/runtime/helpers/setPrototypeOf.js","node_modules/@babel/runtime/helpers/toArray.js","node_modules/@babel/runtime/helpers/toPrimitive.js","node_modules/@babel/runtime/helpers/typeof.js","node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","node_modules/@datadog/browser-core/cjs/boot/init.js","node_modules/@datadog/browser-core/cjs/browser/cookie.js","node_modules/@datadog/browser-core/cjs/browser/fetchObservable.js","node_modules/@datadog/browser-core/cjs/browser/pageExitObservable.js","node_modules/@datadog/browser-core/cjs/browser/xhrObservable.js","node_modules/@datadog/browser-core/cjs/domain/configuration/configuration.js","node_modules/@datadog/browser-core/cjs/domain/configuration/endpointBuilder.js","node_modules/@datadog/browser-core/cjs/domain/configuration/experimentalFeatures.js","node_modules/@datadog/browser-core/cjs/domain/configuration/index.js","node_modules/@datadog/browser-core/cjs/domain/configuration/intakeSites.js","node_modules/@datadog/browser-core/cjs/domain/configuration/tags.js","node_modules/@datadog/browser-core/cjs/domain/configuration/transportConfiguration.js","node_modules/@datadog/browser-core/cjs/domain/console/consoleObservable.js","node_modules/@datadog/browser-core/cjs/domain/error/trackRuntimeError.js","node_modules/@datadog/browser-core/cjs/domain/report/reportObservable.js","node_modules/@datadog/browser-core/cjs/domain/session/oldCookiesMigration.js","node_modules/@datadog/browser-core/cjs/domain/session/sessionConstants.js","node_modules/@datadog/browser-core/cjs/domain/session/sessionCookieStore.js","node_modules/@datadog/browser-core/cjs/domain/session/sessionManager.js","node_modules/@datadog/browser-core/cjs/domain/session/sessionStore.js","node_modules/@datadog/browser-core/cjs/domain/synthetics/syntheticsWorkerValues.js","node_modules/@datadog/browser-core/cjs/domain/telemetry/index.js","node_modules/@datadog/browser-core/cjs/domain/telemetry/rawTelemetryEvent.types.js","node_modules/@datadog/browser-core/cjs/domain/telemetry/telemetry.js","node_modules/@datadog/browser-core/cjs/domain/telemetry/telemetryEvent.types.js","node_modules/@datadog/browser-core/cjs/domain/tracekit/computeStackTrace.js","node_modules/@datadog/browser-core/cjs/domain/tracekit/index.js","node_modules/@datadog/browser-core/cjs/domain/tracekit/tracekit.js","node_modules/@datadog/browser-core/cjs/domain/user/index.js","node_modules/@datadog/browser-core/cjs/domain/user/user.js","node_modules/@datadog/browser-core/cjs/domain/user/user.types.js","node_modules/@datadog/browser-core/cjs/index.js","node_modules/@datadog/browser-core/cjs/tools/boundedBuffer.js","node_modules/@datadog/browser-core/cjs/tools/browserDetection.js","node_modules/@datadog/browser-core/cjs/tools/catchUserErrors.js","node_modules/@datadog/browser-core/cjs/tools/contextHistory.js","node_modules/@datadog/browser-core/cjs/tools/contextManager.js","node_modules/@datadog/browser-core/cjs/tools/createEventRateLimiter.js","node_modules/@datadog/browser-core/cjs/tools/display.js","node_modules/@datadog/browser-core/cjs/tools/error.js","node_modules/@datadog/browser-core/cjs/tools/instrumentMethod.js","node_modules/@datadog/browser-core/cjs/tools/limitModification.js","node_modules/@datadog/browser-core/cjs/tools/monitor.js","node_modules/@datadog/browser-core/cjs/tools/observable.js","node_modules/@datadog/browser-core/cjs/tools/timeUtils.js","node_modules/@datadog/browser-core/cjs/tools/urlPolyfill.js","node_modules/@datadog/browser-core/cjs/tools/utils.js","node_modules/@datadog/browser-core/cjs/transport/batch.js","node_modules/@datadog/browser-core/cjs/transport/eventBridge.js","node_modules/@datadog/browser-core/cjs/transport/httpRequest.js","node_modules/@datadog/browser-core/cjs/transport/index.js","node_modules/@datadog/browser-core/cjs/transport/sendWithRetryStrategy.js","node_modules/@datadog/browser-core/cjs/transport/startBatchWithReplica.js","node_modules/@datadog/browser-rum-core/cjs/boot/rumPublicApi.js","node_modules/@datadog/browser-rum-core/cjs/boot/startRum.js","node_modules/@datadog/browser-rum-core/cjs/browser/domMutationObservable.js","node_modules/@datadog/browser-rum-core/cjs/browser/locationChangeObservable.js","node_modules/@datadog/browser-rum-core/cjs/browser/performanceCollection.js","node_modules/@datadog/browser-rum-core/cjs/browser/viewportObservable.js","node_modules/@datadog/browser-rum-core/cjs/domain/assembly.js","node_modules/@datadog/browser-rum-core/cjs/domain/configuration.js","node_modules/@datadog/browser-rum-core/cjs/domain/contexts/ciTestContext.js","node_modules/@datadog/browser-rum-core/cjs/domain/contexts/displayContext.js","node_modules/@datadog/browser-rum-core/cjs/domain/contexts/foregroundContexts.js","node_modules/@datadog/browser-rum-core/cjs/domain/contexts/internalContext.js","node_modules/@datadog/browser-rum-core/cjs/domain/contexts/syntheticsContext.js","node_modules/@datadog/browser-rum-core/cjs/domain/contexts/urlContexts.js","node_modules/@datadog/browser-rum-core/cjs/domain/contexts/viewContexts.js","node_modules/@datadog/browser-rum-core/cjs/domain/lifeCycle.js","node_modules/@datadog/browser-rum-core/cjs/domain/requestCollection.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/action/actionCollection.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/action/clickChain.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/action/computeFrustration.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/action/getActionNameFromElement.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/action/getSelectorFromElement.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/action/listenActionEvents.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/action/trackClickActions.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/error/errorCollection.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/error/trackConsoleError.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/error/trackReportError.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/longTask/longTaskCollection.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/resource/matchRequestTiming.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/resource/resourceCollection.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/resource/resourceUtils.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/view/trackFirstHidden.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/view/trackInitialViewTimings.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/view/trackViewMetrics.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/view/trackViews.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumEventsCollection/view/viewCollection.js","node_modules/@datadog/browser-rum-core/cjs/domain/rumSessionManager.js","node_modules/@datadog/browser-rum-core/cjs/domain/tracing/getDocumentTraceId.js","node_modules/@datadog/browser-rum-core/cjs/domain/tracing/tracer.js","node_modules/@datadog/browser-rum-core/cjs/domain/trackEventCounts.js","node_modules/@datadog/browser-rum-core/cjs/domain/waitPageActivityEnd.js","node_modules/@datadog/browser-rum-core/cjs/index.js","node_modules/@datadog/browser-rum-core/cjs/transport/startRumBatch.js","node_modules/@datadog/browser-rum-core/cjs/transport/startRumEventBridge.js","node_modules/@datadog/browser-rum/cjs/boot/recorderApi.js","node_modules/@datadog/browser-rum/cjs/boot/startRecording.js","node_modules/@datadog/browser-rum/cjs/constants.js","node_modules/@datadog/browser-rum/cjs/domain/record/elementsScrollPositions.js","node_modules/@datadog/browser-rum/cjs/domain/record/index.js","node_modules/@datadog/browser-rum/cjs/domain/record/mutationBatch.js","node_modules/@datadog/browser-rum/cjs/domain/record/mutationObserver.js","node_modules/@datadog/browser-rum/cjs/domain/record/observers.js","node_modules/@datadog/browser-rum/cjs/domain/record/privacy.js","node_modules/@datadog/browser-rum/cjs/domain/record/record.js","node_modules/@datadog/browser-rum/cjs/domain/record/serializationUtils.js","node_modules/@datadog/browser-rum/cjs/domain/record/serialize.js","node_modules/@datadog/browser-rum/cjs/domain/record/utils.js","node_modules/@datadog/browser-rum/cjs/domain/record/viewports.js","node_modules/@datadog/browser-rum/cjs/domain/replayStats.js","node_modules/@datadog/browser-rum/cjs/domain/segmentCollection/buildReplayPayload.js","node_modules/@datadog/browser-rum/cjs/domain/segmentCollection/deflateWorker.js","node_modules/@datadog/browser-rum/cjs/domain/segmentCollection/index.js","node_modules/@datadog/browser-rum/cjs/domain/segmentCollection/segment.js","node_modules/@datadog/browser-rum/cjs/domain/segmentCollection/segmentCollection.js","node_modules/@datadog/browser-rum/cjs/domain/segmentCollection/startDeflateWorker.js","node_modules/@datadog/browser-rum/cjs/entries/main.js","node_modules/@datadog/browser-rum/cjs/types/index.js","node_modules/@datadog/browser-rum/cjs/types/sessionReplay.js","node_modules/@datadog/browser-rum/cjs/types/sessionReplayConstants.js","node_modules/@date-io/date-fns/build/index.js","node_modules/@material-ui/core/AccordionActions/AccordionActions.js","node_modules/@material-ui/core/AccordionActions/index.js","node_modules/@material-ui/core/AccordionDetails/AccordionDetails.js","node_modules/@material-ui/core/AccordionDetails/index.js","node_modules/@material-ui/core/AccordionSummary/AccordionSummary.js","node_modules/@material-ui/core/AccordionSummary/index.js","node_modules/@material-ui/core/Accordion/Accordion.js","node_modules/@material-ui/core/Accordion/AccordionContext.js","node_modules/@material-ui/core/Accordion/index.js","node_modules/@material-ui/core/AppBar/AppBar.js","node_modules/@material-ui/core/AppBar/index.js","node_modules/@material-ui/core/Avatar/Avatar.js","node_modules/@material-ui/core/Avatar/index.js","node_modules/@material-ui/core/Backdrop/Backdrop.js","node_modules/@material-ui/core/Backdrop/index.js","node_modules/@material-ui/core/Badge/Badge.js","node_modules/@material-ui/core/Badge/index.js","node_modules/@material-ui/core/BottomNavigationAction/BottomNavigationAction.js","node_modules/@material-ui/core/BottomNavigationAction/index.js","node_modules/@material-ui/core/BottomNavigation/BottomNavigation.js","node_modules/@material-ui/core/BottomNavigation/index.js","node_modules/@material-ui/core/Box/Box.js","node_modules/@material-ui/core/Box/index.js","node_modules/@material-ui/core/Breadcrumbs/BreadcrumbCollapsed.js","node_modules/@material-ui/core/Breadcrumbs/Breadcrumbs.js","node_modules/@material-ui/core/Breadcrumbs/index.js","node_modules/@material-ui/core/ButtonBase/ButtonBase.js","node_modules/@material-ui/core/ButtonBase/Ripple.js","node_modules/@material-ui/core/ButtonBase/TouchRipple.js","node_modules/@material-ui/core/ButtonBase/index.js","node_modules/@material-ui/core/ButtonGroup/ButtonGroup.js","node_modules/@material-ui/core/ButtonGroup/index.js","node_modules/@material-ui/core/Button/Button.js","node_modules/@material-ui/core/Button/index.js","node_modules/@material-ui/core/CardActionArea/CardActionArea.js","node_modules/@material-ui/core/CardActionArea/index.js","node_modules/@material-ui/core/CardActions/CardActions.js","node_modules/@material-ui/core/CardActions/index.js","node_modules/@material-ui/core/CardContent/CardContent.js","node_modules/@material-ui/core/CardContent/index.js","node_modules/@material-ui/core/CardHeader/CardHeader.js","node_modules/@material-ui/core/CardHeader/index.js","node_modules/@material-ui/core/CardMedia/CardMedia.js","node_modules/@material-ui/core/CardMedia/index.js","node_modules/@material-ui/core/Card/Card.js","node_modules/@material-ui/core/Card/index.js","node_modules/@material-ui/core/Checkbox/Checkbox.js","node_modules/@material-ui/core/Checkbox/index.js","node_modules/@material-ui/core/Chip/Chip.js","node_modules/@material-ui/core/Chip/index.js","node_modules/@material-ui/core/CircularProgress/CircularProgress.js","node_modules/@material-ui/core/CircularProgress/index.js","node_modules/@material-ui/core/ClickAwayListener/ClickAwayListener.js","node_modules/@material-ui/core/ClickAwayListener/index.js","node_modules/@material-ui/core/Collapse/Collapse.js","node_modules/@material-ui/core/Collapse/index.js","node_modules/@material-ui/core/Container/Container.js","node_modules/@material-ui/core/Container/index.js","node_modules/@material-ui/core/CssBaseline/CssBaseline.js","node_modules/@material-ui/core/CssBaseline/index.js","node_modules/@material-ui/core/DialogActions/DialogActions.js","node_modules/@material-ui/core/DialogActions/index.js","node_modules/@material-ui/core/DialogContentText/DialogContentText.js","node_modules/@material-ui/core/DialogContentText/index.js","node_modules/@material-ui/core/DialogContent/DialogContent.js","node_modules/@material-ui/core/DialogContent/index.js","node_modules/@material-ui/core/DialogTitle/DialogTitle.js","node_modules/@material-ui/core/DialogTitle/index.js","node_modules/@material-ui/core/Dialog/Dialog.js","node_modules/@material-ui/core/Dialog/index.js","node_modules/@material-ui/core/Divider/Divider.js","node_modules/@material-ui/core/Divider/index.js","node_modules/@material-ui/core/Drawer/Drawer.js","node_modules/@material-ui/core/Drawer/index.js","node_modules/@material-ui/core/ExpansionPanelActions/ExpansionPanelActions.js","node_modules/@material-ui/core/ExpansionPanelActions/index.js","node_modules/@material-ui/core/ExpansionPanelDetails/ExpansionPanelDetails.js","node_modules/@material-ui/core/ExpansionPanelDetails/index.js","node_modules/@material-ui/core/ExpansionPanelSummary/ExpansionPanelSummary.js","node_modules/@material-ui/core/ExpansionPanelSummary/index.js","node_modules/@material-ui/core/ExpansionPanel/ExpansionPanel.js","node_modules/@material-ui/core/ExpansionPanel/ExpansionPanelContext.js","node_modules/@material-ui/core/ExpansionPanel/index.js","node_modules/@material-ui/core/Fab/Fab.js","node_modules/@material-ui/core/Fab/index.js","node_modules/@material-ui/core/Fade/Fade.js","node_modules/@material-ui/core/Fade/index.js","node_modules/@material-ui/core/FilledInput/FilledInput.js","node_modules/@material-ui/core/FilledInput/index.js","node_modules/@material-ui/core/FormControlLabel/FormControlLabel.js","node_modules/@material-ui/core/FormControlLabel/index.js","node_modules/@material-ui/core/FormControl/FormControl.js","node_modules/@material-ui/core/FormControl/FormControlContext.js","node_modules/@material-ui/core/FormControl/formControlState.js","node_modules/@material-ui/core/FormControl/index.js","node_modules/@material-ui/core/FormControl/useFormControl.js","node_modules/@material-ui/core/FormGroup/FormGroup.js","node_modules/@material-ui/core/FormGroup/index.js","node_modules/@material-ui/core/FormHelperText/FormHelperText.js","node_modules/@material-ui/core/FormHelperText/index.js","node_modules/@material-ui/core/FormLabel/FormLabel.js","node_modules/@material-ui/core/FormLabel/index.js","node_modules/@material-ui/core/GridListTileBar/GridListTileBar.js","node_modules/@material-ui/core/GridListTileBar/index.js","node_modules/@material-ui/core/GridListTile/GridListTile.js","node_modules/@material-ui/core/GridListTile/index.js","node_modules/@material-ui/core/GridList/GridList.js","node_modules/@material-ui/core/GridList/index.js","node_modules/@material-ui/core/Grid/Grid.js","node_modules/@material-ui/core/Grid/index.js","node_modules/@material-ui/core/Grow/Grow.js","node_modules/@material-ui/core/Grow/index.js","node_modules/@material-ui/core/Hidden/Hidden.js","node_modules/@material-ui/core/Hidden/HiddenCss.js","node_modules/@material-ui/core/Hidden/HiddenJs.js","node_modules/@material-ui/core/Hidden/index.js","node_modules/@material-ui/core/IconButton/IconButton.js","node_modules/@material-ui/core/IconButton/index.js","node_modules/@material-ui/core/Icon/Icon.js","node_modules/@material-ui/core/Icon/index.js","node_modules/@material-ui/core/InputAdornment/InputAdornment.js","node_modules/@material-ui/core/InputAdornment/index.js","node_modules/@material-ui/core/InputBase/InputBase.js","node_modules/@material-ui/core/InputBase/index.js","node_modules/@material-ui/core/InputBase/utils.js","node_modules/@material-ui/core/InputLabel/InputLabel.js","node_modules/@material-ui/core/InputLabel/index.js","node_modules/@material-ui/core/Input/Input.js","node_modules/@material-ui/core/Input/index.js","node_modules/@material-ui/core/LinearProgress/LinearProgress.js","node_modules/@material-ui/core/LinearProgress/index.js","node_modules/@material-ui/core/Link/Link.js","node_modules/@material-ui/core/Link/index.js","node_modules/@material-ui/core/ListItemAvatar/ListItemAvatar.js","node_modules/@material-ui/core/ListItemAvatar/index.js","node_modules/@material-ui/core/ListItemIcon/ListItemIcon.js","node_modules/@material-ui/core/ListItemIcon/index.js","node_modules/@material-ui/core/ListItemSecondaryAction/ListItemSecondaryAction.js","node_modules/@material-ui/core/ListItemSecondaryAction/index.js","node_modules/@material-ui/core/ListItemText/ListItemText.js","node_modules/@material-ui/core/ListItemText/index.js","node_modules/@material-ui/core/ListItem/ListItem.js","node_modules/@material-ui/core/ListItem/index.js","node_modules/@material-ui/core/ListSubheader/ListSubheader.js","node_modules/@material-ui/core/ListSubheader/index.js","node_modules/@material-ui/core/List/List.js","node_modules/@material-ui/core/List/ListContext.js","node_modules/@material-ui/core/List/index.js","node_modules/@material-ui/core/MenuItem/MenuItem.js","node_modules/@material-ui/core/MenuItem/index.js","node_modules/@material-ui/core/MenuList/MenuList.js","node_modules/@material-ui/core/MenuList/index.js","node_modules/@material-ui/core/Menu/Menu.js","node_modules/@material-ui/core/Menu/index.js","node_modules/@material-ui/core/MobileStepper/MobileStepper.js","node_modules/@material-ui/core/MobileStepper/index.js","node_modules/@material-ui/core/Modal/Modal.js","node_modules/@material-ui/core/Modal/ModalManager.js","node_modules/@material-ui/core/Modal/SimpleBackdrop.js","node_modules/@material-ui/core/Modal/index.js","node_modules/@material-ui/core/NativeSelect/NativeSelect.js","node_modules/@material-ui/core/NativeSelect/NativeSelectInput.js","node_modules/@material-ui/core/NativeSelect/index.js","node_modules/@material-ui/core/NoSsr/NoSsr.js","node_modules/@material-ui/core/NoSsr/index.js","node_modules/@material-ui/core/OutlinedInput/NotchedOutline.js","node_modules/@material-ui/core/OutlinedInput/OutlinedInput.js","node_modules/@material-ui/core/OutlinedInput/index.js","node_modules/@material-ui/core/Paper/Paper.js","node_modules/@material-ui/core/Paper/index.js","node_modules/@material-ui/core/Popover/Popover.js","node_modules/@material-ui/core/Popover/index.js","node_modules/@material-ui/core/Popper/Popper.js","node_modules/@material-ui/core/Popper/index.js","node_modules/@material-ui/core/Portal/Portal.js","node_modules/@material-ui/core/Portal/index.js","node_modules/@material-ui/core/RadioGroup/RadioGroup.js","node_modules/@material-ui/core/RadioGroup/RadioGroupContext.js","node_modules/@material-ui/core/RadioGroup/index.js","node_modules/@material-ui/core/RadioGroup/useRadioGroup.js","node_modules/@material-ui/core/Radio/Radio.js","node_modules/@material-ui/core/Radio/RadioButtonIcon.js","node_modules/@material-ui/core/Radio/index.js","node_modules/@material-ui/core/RootRef/RootRef.js","node_modules/@material-ui/core/RootRef/index.js","node_modules/@material-ui/core/Select/Select.js","node_modules/@material-ui/core/Select/SelectInput.js","node_modules/@material-ui/core/Select/index.js","node_modules/@material-ui/core/Slide/Slide.js","node_modules/@material-ui/core/Slide/index.js","node_modules/@material-ui/core/Slider/Slider.js","node_modules/@material-ui/core/Slider/ValueLabel.js","node_modules/@material-ui/core/Slider/index.js","node_modules/@material-ui/core/SnackbarContent/SnackbarContent.js","node_modules/@material-ui/core/SnackbarContent/index.js","node_modules/@material-ui/core/Snackbar/Snackbar.js","node_modules/@material-ui/core/Snackbar/index.js","node_modules/@material-ui/core/StepButton/StepButton.js","node_modules/@material-ui/core/StepButton/index.js","node_modules/@material-ui/core/StepConnector/StepConnector.js","node_modules/@material-ui/core/StepConnector/index.js","node_modules/@material-ui/core/StepContent/StepContent.js","node_modules/@material-ui/core/StepContent/index.js","node_modules/@material-ui/core/StepIcon/StepIcon.js","node_modules/@material-ui/core/StepIcon/index.js","node_modules/@material-ui/core/StepLabel/StepLabel.js","node_modules/@material-ui/core/StepLabel/index.js","node_modules/@material-ui/core/Step/Step.js","node_modules/@material-ui/core/Step/index.js","node_modules/@material-ui/core/Stepper/Stepper.js","node_modules/@material-ui/core/Stepper/index.js","node_modules/@material-ui/core/SvgIcon/SvgIcon.js","node_modules/@material-ui/core/SvgIcon/index.js","node_modules/@material-ui/core/SwipeableDrawer/SwipeArea.js","node_modules/@material-ui/core/SwipeableDrawer/SwipeableDrawer.js","node_modules/@material-ui/core/SwipeableDrawer/index.js","node_modules/@material-ui/core/Switch/Switch.js","node_modules/@material-ui/core/Switch/index.js","node_modules/@material-ui/core/TabScrollButton/TabScrollButton.js","node_modules/@material-ui/core/TabScrollButton/index.js","node_modules/@material-ui/core/Tab/Tab.js","node_modules/@material-ui/core/Tab/index.js","node_modules/@material-ui/core/TableBody/TableBody.js","node_modules/@material-ui/core/TableBody/index.js","node_modules/@material-ui/core/TableCell/TableCell.js","node_modules/@material-ui/core/TableCell/index.js","node_modules/@material-ui/core/TableContainer/TableContainer.js","node_modules/@material-ui/core/TableContainer/index.js","node_modules/@material-ui/core/TableFooter/TableFooter.js","node_modules/@material-ui/core/TableFooter/index.js","node_modules/@material-ui/core/TableHead/TableHead.js","node_modules/@material-ui/core/TableHead/index.js","node_modules/@material-ui/core/TablePagination/TablePagination.js","node_modules/@material-ui/core/TablePagination/TablePaginationActions.js","node_modules/@material-ui/core/TablePagination/index.js","node_modules/@material-ui/core/TableRow/TableRow.js","node_modules/@material-ui/core/TableRow/index.js","node_modules/@material-ui/core/TableSortLabel/TableSortLabel.js","node_modules/@material-ui/core/TableSortLabel/index.js","node_modules/@material-ui/core/Table/Table.js","node_modules/@material-ui/core/Table/TableContext.js","node_modules/@material-ui/core/Table/Tablelvl2Context.js","node_modules/@material-ui/core/Table/index.js","node_modules/@material-ui/core/Tabs/ScrollbarSize.js","node_modules/@material-ui/core/Tabs/TabIndicator.js","node_modules/@material-ui/core/Tabs/Tabs.js","node_modules/@material-ui/core/Tabs/index.js","node_modules/@material-ui/core/TextField/TextField.js","node_modules/@material-ui/core/TextField/index.js","node_modules/@material-ui/core/TextareaAutosize/TextareaAutosize.js","node_modules/@material-ui/core/TextareaAutosize/index.js","node_modules/@material-ui/core/Toolbar/Toolbar.js","node_modules/@material-ui/core/Toolbar/index.js","node_modules/@material-ui/core/Tooltip/Tooltip.js","node_modules/@material-ui/core/Tooltip/index.js","node_modules/@material-ui/core/Typography/Typography.js","node_modules/@material-ui/core/Typography/index.js","node_modules/@material-ui/core/Unstable_TrapFocus/Unstable_TrapFocus.js","node_modules/@material-ui/core/Unstable_TrapFocus/index.js","node_modules/@material-ui/core/Zoom/Zoom.js","node_modules/@material-ui/core/Zoom/index.js","node_modules/@material-ui/core/colors/amber.js","node_modules/@material-ui/core/colors/blue.js","node_modules/@material-ui/core/colors/blueGrey.js","node_modules/@material-ui/core/colors/brown.js","node_modules/@material-ui/core/colors/common.js","node_modules/@material-ui/core/colors/cyan.js","node_modules/@material-ui/core/colors/deepOrange.js","node_modules/@material-ui/core/colors/deepPurple.js","node_modules/@material-ui/core/colors/green.js","node_modules/@material-ui/core/colors/grey.js","node_modules/@material-ui/core/colors/index.js","node_modules/@material-ui/core/colors/indigo.js","node_modules/@material-ui/core/colors/lightBlue.js","node_modules/@material-ui/core/colors/lightGreen.js","node_modules/@material-ui/core/colors/lime.js","node_modules/@material-ui/core/colors/orange.js","node_modules/@material-ui/core/colors/pink.js","node_modules/@material-ui/core/colors/purple.js","node_modules/@material-ui/core/colors/red.js","node_modules/@material-ui/core/colors/teal.js","node_modules/@material-ui/core/colors/yellow.js","node_modules/@material-ui/core/index.js","node_modules/@material-ui/core/internal/SwitchBase.js","node_modules/@material-ui/core/internal/animate.js","node_modules/@material-ui/core/internal/svg-icons/ArrowDownward.js","node_modules/@material-ui/core/internal/svg-icons/ArrowDropDown.js","node_modules/@material-ui/core/internal/svg-icons/Cancel.js","node_modules/@material-ui/core/internal/svg-icons/CheckBox.js","node_modules/@material-ui/core/internal/svg-icons/CheckBoxOutlineBlank.js","node_modules/@material-ui/core/internal/svg-icons/CheckCircle.js","node_modules/@material-ui/core/internal/svg-icons/IndeterminateCheckBox.js","node_modules/@material-ui/core/internal/svg-icons/KeyboardArrowLeft.js","node_modules/@material-ui/core/internal/svg-icons/KeyboardArrowRight.js","node_modules/@material-ui/core/internal/svg-icons/MoreHoriz.js","node_modules/@material-ui/core/internal/svg-icons/Person.js","node_modules/@material-ui/core/internal/svg-icons/RadioButtonChecked.js","node_modules/@material-ui/core/internal/svg-icons/RadioButtonUnchecked.js","node_modules/@material-ui/core/internal/svg-icons/Warning.js","node_modules/@material-ui/core/styles/colorManipulator.js","node_modules/@material-ui/core/styles/createBreakpoints.js","node_modules/@material-ui/core/styles/createMixins.js","node_modules/@material-ui/core/styles/createMuiStrictModeTheme.js","node_modules/@material-ui/core/styles/createMuiTheme.js","node_modules/@material-ui/core/styles/createPalette.js","node_modules/@material-ui/core/styles/createSpacing.js","node_modules/@material-ui/core/styles/createStyles.js","node_modules/@material-ui/core/styles/createTypography.js","node_modules/@material-ui/core/styles/cssUtils.js","node_modules/@material-ui/core/styles/defaultTheme.js","node_modules/@material-ui/core/styles/index.js","node_modules/@material-ui/core/styles/makeStyles.js","node_modules/@material-ui/core/styles/responsiveFontSizes.js","node_modules/@material-ui/core/styles/shadows.js","node_modules/@material-ui/core/styles/shape.js","node_modules/@material-ui/core/styles/styled.js","node_modules/@material-ui/core/styles/transitions.js","node_modules/@material-ui/core/styles/useTheme.js","node_modules/@material-ui/core/styles/withStyles.js","node_modules/@material-ui/core/styles/withTheme.js","node_modules/@material-ui/core/styles/zIndex.js","node_modules/@material-ui/core/transitions/utils.js","node_modules/@material-ui/core/useMediaQuery/index.js","node_modules/@material-ui/core/useMediaQuery/useMediaQuery.js","node_modules/@material-ui/core/useScrollTrigger/index.js","node_modules/@material-ui/core/useScrollTrigger/useScrollTrigger.js","node_modules/@material-ui/core/utils/capitalize.js","node_modules/@material-ui/core/utils/createChainedFunction.js","node_modules/@material-ui/core/utils/createSvgIcon.js","node_modules/@material-ui/core/utils/debounce.js","node_modules/@material-ui/core/utils/deprecatedPropType.js","node_modules/@material-ui/core/utils/getScrollbarSize.js","node_modules/@material-ui/core/utils/index.js","node_modules/@material-ui/core/utils/isMuiElement.js","node_modules/@material-ui/core/utils/ownerDocument.js","node_modules/@material-ui/core/utils/ownerWindow.js","node_modules/@material-ui/core/utils/requirePropFactory.js","node_modules/@material-ui/core/utils/scrollLeft.js","node_modules/@material-ui/core/utils/setRef.js","node_modules/@material-ui/core/utils/unstable_useId.js","node_modules/@material-ui/core/utils/unsupportedProp.js","node_modules/@material-ui/core/utils/useControlled.js","node_modules/@material-ui/core/utils/useEventCallback.js","node_modules/@material-ui/core/utils/useForkRef.js","node_modules/@material-ui/core/utils/useIsFocusVisible.js","node_modules/@material-ui/core/withMobileDialog/index.js","node_modules/@material-ui/core/withMobileDialog/withMobileDialog.js","node_modules/@material-ui/core/withWidth/index.js","node_modules/@material-ui/core/withWidth/withWidth.js","node_modules/@material-ui/icons/AccessTime.js","node_modules/@material-ui/icons/AccountCircle.js","node_modules/@material-ui/icons/AddCircle.js","node_modules/@material-ui/icons/AddCircleOutline.js","node_modules/@material-ui/icons/AddLocation.js","node_modules/@material-ui/icons/ArrowBack.js","node_modules/@material-ui/icons/ArrowDropDown.js","node_modules/@material-ui/icons/ArrowForward.js","node_modules/@material-ui/icons/Cancel.js","node_modules/@material-ui/icons/Check.js","node_modules/@material-ui/icons/CheckBox.js","node_modules/@material-ui/icons/CheckBoxOutlineBlank.js","node_modules/@material-ui/icons/ChevronLeft.js","node_modules/@material-ui/icons/ChevronRight.js","node_modules/@material-ui/icons/Clear.js","node_modules/@material-ui/icons/ClearAll.js","node_modules/@material-ui/icons/Close.js","node_modules/@material-ui/icons/Cloud.js","node_modules/@material-ui/icons/CloudDownload.js","node_modules/@material-ui/icons/CloudOff.js","node_modules/@material-ui/icons/Commute.js","node_modules/@material-ui/icons/Delete.js","node_modules/@material-ui/icons/DirectionsCar.js","node_modules/@material-ui/icons/DoneAll.js","node_modules/@material-ui/icons/Edit.js","node_modules/@material-ui/icons/EmojiTransportation.js","node_modules/@material-ui/icons/Event.js","node_modules/@material-ui/icons/EventBusy.js","node_modules/@material-ui/icons/ExpandLess.js","node_modules/@material-ui/icons/ExpandMore.js","node_modules/@material-ui/icons/FilterList.js","node_modules/@material-ui/icons/GetApp.js","node_modules/@material-ui/icons/Group.js","node_modules/@material-ui/icons/Help.js","node_modules/@material-ui/icons/Hotel.js","node_modules/@material-ui/icons/KeyboardArrowRight.js","node_modules/@material-ui/icons/LocationOn.js","node_modules/@material-ui/icons/Menu.js","node_modules/@material-ui/icons/MoreVert.js","node_modules/@material-ui/icons/NoteAdd.js","node_modules/@material-ui/icons/Palette.js","node_modules/@material-ui/icons/Person.js","node_modules/@material-ui/icons/Phone.js","node_modules/@material-ui/icons/Print.js","node_modules/@material-ui/icons/Refresh.js","node_modules/@material-ui/icons/Remove.js","node_modules/@material-ui/icons/RemoveCircle.js","node_modules/@material-ui/icons/ReportProblem.js","node_modules/@material-ui/icons/Restaurant.js","node_modules/@material-ui/icons/Restore.js","node_modules/@material-ui/icons/Room.js","node_modules/@material-ui/icons/Save.js","node_modules/@material-ui/icons/Schedule.js","node_modules/@material-ui/icons/Search.js","node_modules/@material-ui/icons/SelectAll.js","node_modules/@material-ui/icons/Subject.js","node_modules/@material-ui/icons/Traffic.js","node_modules/@material-ui/icons/UnfoldMore.js","node_modules/@material-ui/icons/ViewColumn.js","node_modules/@material-ui/icons/utils/createSvgIcon.js","node_modules/@material-ui/lab/Alert/Alert.js","node_modules/@material-ui/lab/Alert/index.js","node_modules/@material-ui/lab/Autocomplete/Autocomplete.js","node_modules/@material-ui/lab/Autocomplete/index.js","node_modules/@material-ui/lab/internal/svg-icons/ArrowDropDown.js","node_modules/@material-ui/lab/internal/svg-icons/Close.js","node_modules/@material-ui/lab/internal/svg-icons/ErrorOutline.js","node_modules/@material-ui/lab/internal/svg-icons/InfoOutlined.js","node_modules/@material-ui/lab/internal/svg-icons/ReportProblemOutlined.js","node_modules/@material-ui/lab/internal/svg-icons/SuccessOutlined.js","node_modules/@material-ui/lab/useAutocomplete/index.js","node_modules/@material-ui/lab/useAutocomplete/useAutocomplete.js","node_modules/@material-ui/pickers/dist/material-ui-pickers.js","node_modules/@material-ui/styles/ServerStyleSheets/ServerStyleSheets.js","node_modules/@material-ui/styles/ServerStyleSheets/index.js","node_modules/@material-ui/styles/StylesProvider/StylesProvider.js","node_modules/@material-ui/styles/StylesProvider/index.js","node_modules/@material-ui/styles/ThemeProvider/ThemeProvider.js","node_modules/@material-ui/styles/ThemeProvider/index.js","node_modules/@material-ui/styles/ThemeProvider/nested.js","node_modules/@material-ui/styles/createGenerateClassName/createGenerateClassName.js","node_modules/@material-ui/styles/createGenerateClassName/index.js","node_modules/@material-ui/styles/createStyles/createStyles.js","node_modules/@material-ui/styles/createStyles/index.js","node_modules/@material-ui/styles/getStylesCreator/getStylesCreator.js","node_modules/@material-ui/styles/getStylesCreator/index.js","node_modules/@material-ui/styles/getStylesCreator/noopTheme.js","node_modules/@material-ui/styles/getThemeProps/getThemeProps.js","node_modules/@material-ui/styles/getThemeProps/index.js","node_modules/@material-ui/styles/index.js","node_modules/@material-ui/styles/jssPreset/index.js","node_modules/@material-ui/styles/jssPreset/jssPreset.js","node_modules/@material-ui/styles/makeStyles/index.js","node_modules/@material-ui/styles/makeStyles/indexCounter.js","node_modules/@material-ui/styles/makeStyles/makeStyles.js","node_modules/@material-ui/styles/makeStyles/multiKeyStore.js","node_modules/@material-ui/styles/mergeClasses/index.js","node_modules/@material-ui/styles/mergeClasses/mergeClasses.js","node_modules/@material-ui/styles/styled/index.js","node_modules/@material-ui/styles/styled/styled.js","node_modules/@material-ui/styles/useTheme/ThemeContext.js","node_modules/@material-ui/styles/useTheme/index.js","node_modules/@material-ui/styles/useTheme/useTheme.js","node_modules/@material-ui/styles/withStyles/index.js","node_modules/@material-ui/styles/withStyles/withStyles.js","node_modules/@material-ui/styles/withTheme/index.js","node_modules/@material-ui/styles/withTheme/withTheme.js","node_modules/@material-ui/system/borders.js","node_modules/@material-ui/system/breakpoints.js","node_modules/@material-ui/system/compose.js","node_modules/@material-ui/system/display.js","node_modules/@material-ui/system/flexbox.js","node_modules/@material-ui/system/grid.js","node_modules/@material-ui/system/index.js","node_modules/@material-ui/system/memoize.js","node_modules/@material-ui/system/merge.js","node_modules/@material-ui/system/palette.js","node_modules/@material-ui/system/positions.js","node_modules/@material-ui/system/responsivePropType.js","node_modules/@material-ui/system/shadows.js","node_modules/@material-ui/system/sizing.js","node_modules/@material-ui/system/spacing.js","node_modules/@material-ui/system/style.js","node_modules/@material-ui/system/styleFunctionSx.js","node_modules/@material-ui/system/typography.js","node_modules/@material-ui/utils/HTMLElementType.js","node_modules/@material-ui/utils/chainPropTypes.js","node_modules/@material-ui/utils/deepmerge.js","node_modules/@material-ui/utils/elementAcceptingRef.js","node_modules/@material-ui/utils/elementTypeAcceptingRef.js","node_modules/@material-ui/utils/exactProp.js","node_modules/@material-ui/utils/formatMuiErrorMessage.js","node_modules/@material-ui/utils/getDisplayName.js","node_modules/@material-ui/utils/index.js","node_modules/@material-ui/utils/ponyfillGlobal.js","node_modules/@material-ui/utils/refType.js","node_modules/@react-dnd/asap/dist/cjs/AsapQueue.js","node_modules/@react-dnd/asap/dist/cjs/RawTask.js","node_modules/@react-dnd/asap/dist/cjs/TaskFactory.js","node_modules/@react-dnd/asap/dist/cjs/asap.js","node_modules/@react-dnd/asap/dist/cjs/index.js","node_modules/@react-dnd/asap/dist/cjs/makeRequestCall.js","node_modules/@react-dnd/asap/dist/cjs/types.js","node_modules/@react-dnd/invariant/dist/index.js","node_modules/@react-dnd/invariant/dist/invariant.cjs.development.js","node_modules/@react-dnd/invariant/dist/invariant.cjs.production.min.js","node_modules/@react-dnd/shallowequal/dist/index.js","node_modules/@react-dnd/shallowequal/dist/shallowequal.cjs.development.js","node_modules/@react-dnd/shallowequal/dist/shallowequal.cjs.production.min.js","node_modules/asap/browser-asap.js","node_modules/asap/browser-raw.js","node_modules/autobind-decorator/lib/cjs/index.js","node_modules/axios/index.js","node_modules/axios/lib/adapters/xhr.js","node_modules/axios/lib/axios.js","node_modules/axios/lib/cancel/Cancel.js","node_modules/axios/lib/cancel/CancelToken.js","node_modules/axios/lib/cancel/isCancel.js","node_modules/axios/lib/core/Axios.js","node_modules/axios/lib/core/InterceptorManager.js","node_modules/axios/lib/core/buildFullPath.js","node_modules/axios/lib/core/createError.js","node_modules/axios/lib/core/dispatchRequest.js","node_modules/axios/lib/core/enhanceError.js","node_modules/axios/lib/core/mergeConfig.js","node_modules/axios/lib/core/settle.js","node_modules/axios/lib/core/transformData.js","node_modules/axios/lib/defaults.js","node_modules/axios/lib/helpers/bind.js","node_modules/axios/lib/helpers/buildURL.js","node_modules/axios/lib/helpers/combineURLs.js","node_modules/axios/lib/helpers/cookies.js","node_modules/axios/lib/helpers/isAbsoluteURL.js","node_modules/axios/lib/helpers/isAxiosError.js","node_modules/axios/lib/helpers/isURLSameOrigin.js","node_modules/axios/lib/helpers/normalizeHeaderName.js","node_modules/axios/lib/helpers/parseHeaders.js","node_modules/axios/lib/helpers/spread.js","node_modules/axios/lib/utils.js","node_modules/babel-polyfill/lib/index.js","node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js","node_modules/babel-runtime/core-js/array/from.js","node_modules/babel-runtime/core-js/get-iterator.js","node_modules/babel-runtime/core-js/is-iterable.js","node_modules/babel-runtime/core-js/object/assign.js","node_modules/babel-runtime/core-js/object/create.js","node_modules/babel-runtime/core-js/object/define-property.js","node_modules/babel-runtime/core-js/object/get-prototype-of.js","node_modules/babel-runtime/core-js/object/keys.js","node_modules/babel-runtime/core-js/object/set-prototype-of.js","node_modules/babel-runtime/core-js/symbol.js","node_modules/babel-runtime/core-js/symbol/iterator.js","node_modules/babel-runtime/helpers/classCallCheck.js","node_modules/babel-runtime/helpers/createClass.js","node_modules/babel-runtime/helpers/defineProperty.js","node_modules/babel-runtime/helpers/extends.js","node_modules/babel-runtime/helpers/inherits.js","node_modules/babel-runtime/helpers/objectWithoutProperties.js","node_modules/babel-runtime/helpers/possibleConstructorReturn.js","node_modules/babel-runtime/helpers/slicedToArray.js","node_modules/babel-runtime/helpers/toArray.js","node_modules/babel-runtime/helpers/toConsumableArray.js","node_modules/babel-runtime/helpers/typeof.js","node_modules/bowser/src/bowser.js","node_modules/browserify-css/browser.js","node_modules/chain-function/index.js","node_modules/change-emitter/lib/index.js","node_modules/classnames/index.js","node_modules/clsx/dist/clsx.js","node_modules/connected-react-router/lib/ConnectedRouter.js","node_modules/connected-react-router/lib/actions.js","node_modules/connected-react-router/lib/index.js","node_modules/connected-react-router/lib/middleware.js","node_modules/connected-react-router/lib/reducer.js","node_modules/connected-react-router/lib/selectors.js","node_modules/connected-react-router/lib/structure/plain/getIn.js","node_modules/connected-react-router/lib/structure/plain/index.js","node_modules/core-js-pure/actual/array/from.js","node_modules/core-js-pure/actual/array/is-array.js","node_modules/core-js-pure/actual/get-iterator-method.js","node_modules/core-js-pure/actual/instance/bind.js","node_modules/core-js-pure/actual/instance/index-of.js","node_modules/core-js-pure/actual/instance/push.js","node_modules/core-js-pure/actual/instance/slice.js","node_modules/core-js-pure/actual/object/assign.js","node_modules/core-js-pure/actual/object/create.js","node_modules/core-js-pure/actual/object/define-property.js","node_modules/core-js-pure/actual/object/get-own-property-symbols.js","node_modules/core-js-pure/actual/object/get-prototype-of.js","node_modules/core-js-pure/actual/object/set-prototype-of.js","node_modules/core-js-pure/actual/symbol/index.js","node_modules/core-js-pure/actual/symbol/iterator.js","node_modules/core-js-pure/actual/symbol/to-primitive.js","node_modules/core-js-pure/es/array/from.js","node_modules/core-js-pure/es/array/is-array.js","node_modules/core-js-pure/es/array/virtual/concat.js","node_modules/core-js-pure/es/array/virtual/every.js","node_modules/core-js-pure/es/array/virtual/filter.js","node_modules/core-js-pure/es/array/virtual/find-index.js","node_modules/core-js-pure/es/array/virtual/for-each.js","node_modules/core-js-pure/es/array/virtual/index-of.js","node_modules/core-js-pure/es/array/virtual/map.js","node_modules/core-js-pure/es/array/virtual/push.js","node_modules/core-js-pure/es/array/virtual/reduce.js","node_modules/core-js-pure/es/array/virtual/slice.js","node_modules/core-js-pure/es/array/virtual/some.js","node_modules/core-js-pure/es/array/virtual/sort.js","node_modules/core-js-pure/es/array/virtual/splice.js","node_modules/core-js-pure/es/function/virtual/bind.js","node_modules/core-js-pure/es/get-iterator-method.js","node_modules/core-js-pure/es/instance/bind.js","node_modules/core-js-pure/es/instance/concat.js","node_modules/core-js-pure/es/instance/every.js","node_modules/core-js-pure/es/instance/filter.js","node_modules/core-js-pure/es/instance/find-index.js","node_modules/core-js-pure/es/instance/index-of.js","node_modules/core-js-pure/es/instance/map.js","node_modules/core-js-pure/es/instance/push.js","node_modules/core-js-pure/es/instance/reduce.js","node_modules/core-js-pure/es/instance/slice.js","node_modules/core-js-pure/es/instance/some.js","node_modules/core-js-pure/es/instance/sort.js","node_modules/core-js-pure/es/instance/splice.js","node_modules/core-js-pure/es/instance/starts-with.js","node_modules/core-js-pure/es/instance/trim.js","node_modules/core-js-pure/es/object/assign.js","node_modules/core-js-pure/es/object/create.js","node_modules/core-js-pure/es/object/define-properties.js","node_modules/core-js-pure/es/object/define-property.js","node_modules/core-js-pure/es/object/entries.js","node_modules/core-js-pure/es/object/get-own-property-descriptor.js","node_modules/core-js-pure/es/object/get-own-property-descriptors.js","node_modules/core-js-pure/es/object/get-own-property-symbols.js","node_modules/core-js-pure/es/object/get-prototype-of.js","node_modules/core-js-pure/es/object/keys.js","node_modules/core-js-pure/es/object/set-prototype-of.js","node_modules/core-js-pure/es/object/values.js","node_modules/core-js-pure/es/parse-int.js","node_modules/core-js-pure/es/reflect/construct.js","node_modules/core-js-pure/es/string/virtual/starts-with.js","node_modules/core-js-pure/es/string/virtual/trim.js","node_modules/core-js-pure/es/symbol/index.js","node_modules/core-js-pure/es/symbol/iterator.js","node_modules/core-js-pure/es/symbol/to-primitive.js","node_modules/core-js-pure/features/array/from.js","node_modules/core-js-pure/features/array/is-array.js","node_modules/core-js-pure/features/get-iterator-method.js","node_modules/core-js-pure/features/instance/bind.js","node_modules/core-js-pure/features/instance/index-of.js","node_modules/core-js-pure/features/instance/push.js","node_modules/core-js-pure/features/instance/slice.js","node_modules/core-js-pure/features/object/assign.js","node_modules/core-js-pure/features/object/create.js","node_modules/core-js-pure/features/object/define-property.js","node_modules/core-js-pure/features/object/get-own-property-symbols.js","node_modules/core-js-pure/features/object/get-prototype-of.js","node_modules/core-js-pure/features/object/set-prototype-of.js","node_modules/core-js-pure/features/symbol/index.js","node_modules/core-js-pure/features/symbol/iterator.js","node_modules/core-js-pure/features/symbol/to-primitive.js","node_modules/core-js-pure/full/array/from.js","node_modules/core-js-pure/full/array/is-array.js","node_modules/core-js-pure/full/get-iterator-method.js","node_modules/core-js-pure/full/instance/bind.js","node_modules/core-js-pure/full/instance/index-of.js","node_modules/core-js-pure/full/instance/push.js","node_modules/core-js-pure/full/instance/slice.js","node_modules/core-js-pure/full/object/assign.js","node_modules/core-js-pure/full/object/create.js","node_modules/core-js-pure/full/object/define-property.js","node_modules/core-js-pure/full/object/get-own-property-symbols.js","node_modules/core-js-pure/full/object/get-prototype-of.js","node_modules/core-js-pure/full/object/set-prototype-of.js","node_modules/core-js-pure/full/symbol/index.js","node_modules/core-js-pure/full/symbol/iterator.js","node_modules/core-js-pure/full/symbol/to-primitive.js","node_modules/core-js-pure/internals/a-callable.js","node_modules/core-js-pure/internals/a-constructor.js","node_modules/core-js-pure/internals/a-possible-prototype.js","node_modules/core-js-pure/internals/add-to-unscopables.js","node_modules/core-js-pure/internals/an-object.js","node_modules/core-js-pure/internals/array-for-each.js","node_modules/core-js-pure/internals/array-from.js","node_modules/core-js-pure/internals/array-includes.js","node_modules/core-js-pure/internals/array-iteration.js","node_modules/core-js-pure/internals/array-method-has-species-support.js","node_modules/core-js-pure/internals/array-method-is-strict.js","node_modules/core-js-pure/internals/array-reduce.js","node_modules/core-js-pure/internals/array-set-length.js","node_modules/core-js-pure/internals/array-slice.js","node_modules/core-js-pure/internals/array-sort.js","node_modules/core-js-pure/internals/array-species-constructor.js","node_modules/core-js-pure/internals/array-species-create.js","node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","node_modules/core-js-pure/internals/check-correctness-of-iteration.js","node_modules/core-js-pure/internals/classof-raw.js","node_modules/core-js-pure/internals/classof.js","node_modules/core-js-pure/internals/correct-is-regexp-logic.js","node_modules/core-js-pure/internals/correct-prototype-getter.js","node_modules/core-js-pure/internals/create-iter-result-object.js","node_modules/core-js-pure/internals/create-non-enumerable-property.js","node_modules/core-js-pure/internals/create-property-descriptor.js","node_modules/core-js-pure/internals/create-property.js","node_modules/core-js-pure/internals/define-built-in-accessor.js","node_modules/core-js-pure/internals/define-built-in.js","node_modules/core-js-pure/internals/define-global-property.js","node_modules/core-js-pure/internals/delete-property-or-throw.js","node_modules/core-js-pure/internals/descriptors.js","node_modules/core-js-pure/internals/document-create-element.js","node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","node_modules/core-js-pure/internals/dom-iterables.js","node_modules/core-js-pure/internals/enum-bug-keys.js","node_modules/core-js-pure/internals/environment-ff-version.js","node_modules/core-js-pure/internals/environment-is-ie-or-edge.js","node_modules/core-js-pure/internals/environment-is-node.js","node_modules/core-js-pure/internals/environment-user-agent.js","node_modules/core-js-pure/internals/environment-v8-version.js","node_modules/core-js-pure/internals/environment-webkit-version.js","node_modules/core-js-pure/internals/environment.js","node_modules/core-js-pure/internals/export.js","node_modules/core-js-pure/internals/fails.js","node_modules/core-js-pure/internals/function-apply.js","node_modules/core-js-pure/internals/function-bind-context.js","node_modules/core-js-pure/internals/function-bind-native.js","node_modules/core-js-pure/internals/function-bind.js","node_modules/core-js-pure/internals/function-call.js","node_modules/core-js-pure/internals/function-name.js","node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","node_modules/core-js-pure/internals/function-uncurry-this-clause.js","node_modules/core-js-pure/internals/function-uncurry-this.js","node_modules/core-js-pure/internals/get-built-in-prototype-method.js","node_modules/core-js-pure/internals/get-built-in.js","node_modules/core-js-pure/internals/get-iterator-method.js","node_modules/core-js-pure/internals/get-iterator.js","node_modules/core-js-pure/internals/get-json-replacer-function.js","node_modules/core-js-pure/internals/get-method.js","node_modules/core-js-pure/internals/global-this.js","node_modules/core-js-pure/internals/has-own-property.js","node_modules/core-js-pure/internals/hidden-keys.js","node_modules/core-js-pure/internals/html.js","node_modules/core-js-pure/internals/ie8-dom-define.js","node_modules/core-js-pure/internals/indexed-object.js","node_modules/core-js-pure/internals/inspect-source.js","node_modules/core-js-pure/internals/internal-state.js","node_modules/core-js-pure/internals/is-array-iterator-method.js","node_modules/core-js-pure/internals/is-array.js","node_modules/core-js-pure/internals/is-callable.js","node_modules/core-js-pure/internals/is-constructor.js","node_modules/core-js-pure/internals/is-forced.js","node_modules/core-js-pure/internals/is-null-or-undefined.js","node_modules/core-js-pure/internals/is-object.js","node_modules/core-js-pure/internals/is-possible-prototype.js","node_modules/core-js-pure/internals/is-pure.js","node_modules/core-js-pure/internals/is-regexp.js","node_modules/core-js-pure/internals/is-symbol.js","node_modules/core-js-pure/internals/iterator-close.js","node_modules/core-js-pure/internals/iterator-create-constructor.js","node_modules/core-js-pure/internals/iterator-define.js","node_modules/core-js-pure/internals/iterators-core.js","node_modules/core-js-pure/internals/length-of-array-like.js","node_modules/core-js-pure/internals/math-trunc.js","node_modules/core-js-pure/internals/not-a-regexp.js","node_modules/core-js-pure/internals/number-parse-int.js","node_modules/core-js-pure/internals/object-assign.js","node_modules/core-js-pure/internals/object-create.js","node_modules/core-js-pure/internals/object-define-properties.js","node_modules/core-js-pure/internals/object-define-property.js","node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","node_modules/core-js-pure/internals/object-get-own-property-names-external.js","node_modules/core-js-pure/internals/object-get-own-property-names.js","node_modules/core-js-pure/internals/object-get-own-property-symbols.js","node_modules/core-js-pure/internals/object-get-prototype-of.js","node_modules/core-js-pure/internals/object-is-prototype-of.js","node_modules/core-js-pure/internals/object-keys-internal.js","node_modules/core-js-pure/internals/object-keys.js","node_modules/core-js-pure/internals/object-property-is-enumerable.js","node_modules/core-js-pure/internals/object-set-prototype-of.js","node_modules/core-js-pure/internals/object-to-array.js","node_modules/core-js-pure/internals/object-to-string.js","node_modules/core-js-pure/internals/ordinary-to-primitive.js","node_modules/core-js-pure/internals/own-keys.js","node_modules/core-js-pure/internals/require-object-coercible.js","node_modules/core-js-pure/internals/schedulers-fix.js","node_modules/core-js-pure/internals/set-to-string-tag.js","node_modules/core-js-pure/internals/shared-key.js","node_modules/core-js-pure/internals/shared-store.js","node_modules/core-js-pure/internals/shared.js","node_modules/core-js-pure/internals/string-multibyte.js","node_modules/core-js-pure/internals/string-trim-forced.js","node_modules/core-js-pure/internals/string-trim.js","node_modules/core-js-pure/internals/symbol-constructor-detection.js","node_modules/core-js-pure/internals/symbol-define-to-primitive.js","node_modules/core-js-pure/internals/symbol-is-registered.js","node_modules/core-js-pure/internals/symbol-is-well-known.js","node_modules/core-js-pure/internals/symbol-registry-detection.js","node_modules/core-js-pure/internals/to-absolute-index.js","node_modules/core-js-pure/internals/to-indexed-object.js","node_modules/core-js-pure/internals/to-integer-or-infinity.js","node_modules/core-js-pure/internals/to-length.js","node_modules/core-js-pure/internals/to-object.js","node_modules/core-js-pure/internals/to-primitive.js","node_modules/core-js-pure/internals/to-property-key.js","node_modules/core-js-pure/internals/to-string-tag-support.js","node_modules/core-js-pure/internals/to-string.js","node_modules/core-js-pure/internals/try-to-string.js","node_modules/core-js-pure/internals/uid.js","node_modules/core-js-pure/internals/use-symbol-as-uid.js","node_modules/core-js-pure/internals/v8-prototype-define-bug.js","node_modules/core-js-pure/internals/validate-arguments-length.js","node_modules/core-js-pure/internals/weak-map-basic-detection.js","node_modules/core-js-pure/internals/well-known-symbol-define.js","node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","node_modules/core-js-pure/internals/well-known-symbol.js","node_modules/core-js-pure/internals/whitespaces.js","node_modules/core-js-pure/modules/es.array.concat.js","node_modules/core-js-pure/modules/es.array.every.js","node_modules/core-js-pure/modules/es.array.filter.js","node_modules/core-js-pure/modules/es.array.find-index.js","node_modules/core-js-pure/modules/es.array.for-each.js","node_modules/core-js-pure/modules/es.array.from.js","node_modules/core-js-pure/modules/es.array.index-of.js","node_modules/core-js-pure/modules/es.array.is-array.js","node_modules/core-js-pure/modules/es.array.iterator.js","node_modules/core-js-pure/modules/es.array.map.js","node_modules/core-js-pure/modules/es.array.push.js","node_modules/core-js-pure/modules/es.array.reduce.js","node_modules/core-js-pure/modules/es.array.slice.js","node_modules/core-js-pure/modules/es.array.some.js","node_modules/core-js-pure/modules/es.array.sort.js","node_modules/core-js-pure/modules/es.array.splice.js","node_modules/core-js-pure/modules/es.date.to-primitive.js","node_modules/core-js-pure/modules/es.function.bind.js","node_modules/core-js-pure/modules/es.json.stringify.js","node_modules/core-js-pure/modules/es.json.to-string-tag.js","node_modules/core-js-pure/modules/es.object.assign.js","node_modules/core-js-pure/modules/es.object.create.js","node_modules/core-js-pure/modules/es.object.define-properties.js","node_modules/core-js-pure/modules/es.object.define-property.js","node_modules/core-js-pure/modules/es.object.entries.js","node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js","node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js","node_modules/core-js-pure/modules/es.object.get-own-property-symbols.js","node_modules/core-js-pure/modules/es.object.get-prototype-of.js","node_modules/core-js-pure/modules/es.object.keys.js","node_modules/core-js-pure/modules/es.object.set-prototype-of.js","node_modules/core-js-pure/modules/es.object.values.js","node_modules/core-js-pure/modules/es.parse-int.js","node_modules/core-js-pure/modules/es.reflect.construct.js","node_modules/core-js-pure/modules/es.string.iterator.js","node_modules/core-js-pure/modules/es.string.starts-with.js","node_modules/core-js-pure/modules/es.string.trim.js","node_modules/core-js-pure/modules/es.symbol.async-iterator.js","node_modules/core-js-pure/modules/es.symbol.constructor.js","node_modules/core-js-pure/modules/es.symbol.for.js","node_modules/core-js-pure/modules/es.symbol.has-instance.js","node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","node_modules/core-js-pure/modules/es.symbol.iterator.js","node_modules/core-js-pure/modules/es.symbol.js","node_modules/core-js-pure/modules/es.symbol.key-for.js","node_modules/core-js-pure/modules/es.symbol.match-all.js","node_modules/core-js-pure/modules/es.symbol.match.js","node_modules/core-js-pure/modules/es.symbol.replace.js","node_modules/core-js-pure/modules/es.symbol.search.js","node_modules/core-js-pure/modules/es.symbol.species.js","node_modules/core-js-pure/modules/es.symbol.split.js","node_modules/core-js-pure/modules/es.symbol.to-primitive.js","node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","node_modules/core-js-pure/modules/es.symbol.unscopables.js","node_modules/core-js-pure/modules/esnext.function.metadata.js","node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","node_modules/core-js-pure/modules/esnext.symbol.custom-matcher.js","node_modules/core-js-pure/modules/esnext.symbol.dispose.js","node_modules/core-js-pure/modules/esnext.symbol.is-registered-symbol.js","node_modules/core-js-pure/modules/esnext.symbol.is-registered.js","node_modules/core-js-pure/modules/esnext.symbol.is-well-known-symbol.js","node_modules/core-js-pure/modules/esnext.symbol.is-well-known.js","node_modules/core-js-pure/modules/esnext.symbol.matcher.js","node_modules/core-js-pure/modules/esnext.symbol.metadata-key.js","node_modules/core-js-pure/modules/esnext.symbol.metadata.js","node_modules/core-js-pure/modules/esnext.symbol.observable.js","node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","node_modules/core-js-pure/modules/web.dom-collections.iterator.js","node_modules/core-js-pure/modules/web.set-interval.js","node_modules/core-js-pure/modules/web.set-timeout.js","node_modules/core-js-pure/modules/web.timers.js","node_modules/core-js-pure/stable/array/from.js","node_modules/core-js-pure/stable/array/is-array.js","node_modules/core-js-pure/stable/array/virtual/for-each.js","node_modules/core-js-pure/stable/get-iterator-method.js","node_modules/core-js-pure/stable/instance/bind.js","node_modules/core-js-pure/stable/instance/concat.js","node_modules/core-js-pure/stable/instance/every.js","node_modules/core-js-pure/stable/instance/filter.js","node_modules/core-js-pure/stable/instance/find-index.js","node_modules/core-js-pure/stable/instance/for-each.js","node_modules/core-js-pure/stable/instance/index-of.js","node_modules/core-js-pure/stable/instance/map.js","node_modules/core-js-pure/stable/instance/push.js","node_modules/core-js-pure/stable/instance/reduce.js","node_modules/core-js-pure/stable/instance/slice.js","node_modules/core-js-pure/stable/instance/some.js","node_modules/core-js-pure/stable/instance/sort.js","node_modules/core-js-pure/stable/instance/splice.js","node_modules/core-js-pure/stable/instance/starts-with.js","node_modules/core-js-pure/stable/instance/trim.js","node_modules/core-js-pure/stable/object/assign.js","node_modules/core-js-pure/stable/object/create.js","node_modules/core-js-pure/stable/object/define-properties.js","node_modules/core-js-pure/stable/object/define-property.js","node_modules/core-js-pure/stable/object/entries.js","node_modules/core-js-pure/stable/object/get-own-property-descriptor.js","node_modules/core-js-pure/stable/object/get-own-property-descriptors.js","node_modules/core-js-pure/stable/object/get-own-property-symbols.js","node_modules/core-js-pure/stable/object/get-prototype-of.js","node_modules/core-js-pure/stable/object/keys.js","node_modules/core-js-pure/stable/object/set-prototype-of.js","node_modules/core-js-pure/stable/object/values.js","node_modules/core-js-pure/stable/parse-int.js","node_modules/core-js-pure/stable/reflect/construct.js","node_modules/core-js-pure/stable/set-timeout.js","node_modules/core-js-pure/stable/symbol/index.js","node_modules/core-js-pure/stable/symbol/iterator.js","node_modules/core-js-pure/stable/symbol/to-primitive.js","node_modules/core-js/fn/regexp/escape.js","node_modules/core-js/library/fn/array/from.js","node_modules/core-js/library/fn/get-iterator.js","node_modules/core-js/library/fn/is-iterable.js","node_modules/core-js/library/fn/object/assign.js","node_modules/core-js/library/fn/object/create.js","node_modules/core-js/library/fn/object/define-property.js","node_modules/core-js/library/fn/object/get-prototype-of.js","node_modules/core-js/library/fn/object/keys.js","node_modules/core-js/library/fn/object/set-prototype-of.js","node_modules/core-js/library/fn/symbol/index.js","node_modules/core-js/library/fn/symbol/iterator.js","node_modules/core-js/library/modules/_a-function.js","node_modules/core-js/library/modules/_add-to-unscopables.js","node_modules/core-js/library/modules/_an-object.js","node_modules/core-js/library/modules/_array-includes.js","node_modules/core-js/library/modules/_classof.js","node_modules/core-js/library/modules/_cof.js","node_modules/core-js/library/modules/_core.js","node_modules/core-js/library/modules/_create-property.js","node_modules/core-js/library/modules/_ctx.js","node_modules/core-js/library/modules/_defined.js","node_modules/core-js/library/modules/_descriptors.js","node_modules/core-js/library/modules/_dom-create.js","node_modules/core-js/library/modules/_enum-bug-keys.js","node_modules/core-js/library/modules/_enum-keys.js","node_modules/core-js/library/modules/_export.js","node_modules/core-js/library/modules/_fails.js","node_modules/core-js/library/modules/_global.js","node_modules/core-js/library/modules/_has.js","node_modules/core-js/library/modules/_hide.js","node_modules/core-js/library/modules/_html.js","node_modules/core-js/library/modules/_ie8-dom-define.js","node_modules/core-js/library/modules/_iobject.js","node_modules/core-js/library/modules/_is-array-iter.js","node_modules/core-js/library/modules/_is-array.js","node_modules/core-js/library/modules/_is-object.js","node_modules/core-js/library/modules/_iter-call.js","node_modules/core-js/library/modules/_iter-create.js","node_modules/core-js/library/modules/_iter-define.js","node_modules/core-js/library/modules/_iter-detect.js","node_modules/core-js/library/modules/_iter-step.js","node_modules/core-js/library/modules/_iterators.js","node_modules/core-js/library/modules/_library.js","node_modules/core-js/library/modules/_meta.js","node_modules/core-js/library/modules/_object-assign.js","node_modules/core-js/library/modules/_object-create.js","node_modules/core-js/library/modules/_object-dp.js","node_modules/core-js/library/modules/_object-dps.js","node_modules/core-js/library/modules/_object-gopd.js","node_modules/core-js/library/modules/_object-gopn-ext.js","node_modules/core-js/library/modules/_object-gopn.js","node_modules/core-js/library/modules/_object-gops.js","node_modules/core-js/library/modules/_object-gpo.js","node_modules/core-js/library/modules/_object-keys-internal.js","node_modules/core-js/library/modules/_object-keys.js","node_modules/core-js/library/modules/_object-pie.js","node_modules/core-js/library/modules/_object-sap.js","node_modules/core-js/library/modules/_property-desc.js","node_modules/core-js/library/modules/_redefine.js","node_modules/core-js/library/modules/_set-proto.js","node_modules/core-js/library/modules/_set-to-string-tag.js","node_modules/core-js/library/modules/_shared-key.js","node_modules/core-js/library/modules/_shared.js","node_modules/core-js/library/modules/_string-at.js","node_modules/core-js/library/modules/_to-absolute-index.js","node_modules/core-js/library/modules/_to-integer.js","node_modules/core-js/library/modules/_to-iobject.js","node_modules/core-js/library/modules/_to-length.js","node_modules/core-js/library/modules/_to-object.js","node_modules/core-js/library/modules/_to-primitive.js","node_modules/core-js/library/modules/_uid.js","node_modules/core-js/library/modules/_wks-define.js","node_modules/core-js/library/modules/_wks-ext.js","node_modules/core-js/library/modules/_wks.js","node_modules/core-js/library/modules/core.get-iterator-method.js","node_modules/core-js/library/modules/core.get-iterator.js","node_modules/core-js/library/modules/core.is-iterable.js","node_modules/core-js/library/modules/es6.array.from.js","node_modules/core-js/library/modules/es6.array.iterator.js","node_modules/core-js/library/modules/es6.object.assign.js","node_modules/core-js/library/modules/es6.object.create.js","node_modules/core-js/library/modules/es6.object.define-property.js","node_modules/core-js/library/modules/es6.object.get-prototype-of.js","node_modules/core-js/library/modules/es6.object.keys.js","node_modules/core-js/library/modules/es6.object.set-prototype-of.js","node_modules/core-js/library/modules/es6.object.to-string.js","node_modules/core-js/library/modules/es6.string.iterator.js","node_modules/core-js/library/modules/es6.symbol.js","node_modules/core-js/library/modules/es7.symbol.async-iterator.js","node_modules/core-js/library/modules/es7.symbol.observable.js","node_modules/core-js/library/modules/web.dom.iterable.js","node_modules/core-js/modules/_a-number-value.js","node_modules/core-js/modules/_add-to-unscopables.js","node_modules/core-js/modules/_advance-string-index.js","node_modules/core-js/modules/_an-instance.js","node_modules/core-js/modules/_array-copy-within.js","node_modules/core-js/modules/_array-fill.js","node_modules/core-js/modules/_array-from-iterable.js","node_modules/core-js/modules/_array-methods.js","node_modules/core-js/modules/_array-reduce.js","node_modules/core-js/modules/_array-species-constructor.js","node_modules/core-js/modules/_array-species-create.js","node_modules/core-js/modules/_bind.js","node_modules/core-js/modules/_collection-strong.js","node_modules/core-js/modules/_collection-to-json.js","node_modules/core-js/modules/_collection-weak.js","node_modules/core-js/modules/_collection.js","node_modules/core-js/modules/_date-to-iso-string.js","node_modules/core-js/modules/_date-to-primitive.js","node_modules/core-js/modules/_export.js","node_modules/core-js/modules/_fails-is-regexp.js","node_modules/core-js/modules/_fix-re-wks.js","node_modules/core-js/modules/_flags.js","node_modules/core-js/modules/_flatten-into-array.js","node_modules/core-js/modules/_for-of.js","node_modules/core-js/modules/_function-to-string.js","node_modules/core-js/modules/_inherit-if-required.js","node_modules/core-js/modules/_invoke.js","node_modules/core-js/modules/_is-integer.js","node_modules/core-js/modules/_is-regexp.js","node_modules/core-js/modules/_library.js","node_modules/core-js/modules/_math-expm1.js","node_modules/core-js/modules/_math-fround.js","node_modules/core-js/modules/_math-log1p.js","node_modules/core-js/modules/_math-scale.js","node_modules/core-js/modules/_math-sign.js","node_modules/core-js/modules/_metadata.js","node_modules/core-js/modules/_microtask.js","node_modules/core-js/modules/_new-promise-capability.js","node_modules/core-js/modules/_object-forced-pam.js","node_modules/core-js/modules/_object-to-array.js","node_modules/core-js/modules/_own-keys.js","node_modules/core-js/modules/_parse-float.js","node_modules/core-js/modules/_parse-int.js","node_modules/core-js/modules/_perform.js","node_modules/core-js/modules/_promise-resolve.js","node_modules/core-js/modules/_redefine-all.js","node_modules/core-js/modules/_redefine.js","node_modules/core-js/modules/_regexp-exec-abstract.js","node_modules/core-js/modules/_regexp-exec.js","node_modules/core-js/modules/_replacer.js","node_modules/core-js/modules/_same-value.js","node_modules/core-js/modules/_set-collection-from.js","node_modules/core-js/modules/_set-collection-of.js","node_modules/core-js/modules/_set-species.js","node_modules/core-js/modules/_species-constructor.js","node_modules/core-js/modules/_strict-method.js","node_modules/core-js/modules/_string-context.js","node_modules/core-js/modules/_string-html.js","node_modules/core-js/modules/_string-pad.js","node_modules/core-js/modules/_string-repeat.js","node_modules/core-js/modules/_string-trim.js","node_modules/core-js/modules/_string-ws.js","node_modules/core-js/modules/_task.js","node_modules/core-js/modules/_to-index.js","node_modules/core-js/modules/_typed-array.js","node_modules/core-js/modules/_typed-buffer.js","node_modules/core-js/modules/_typed.js","node_modules/core-js/modules/_user-agent.js","node_modules/core-js/modules/_validate-collection.js","node_modules/core-js/modules/core.regexp.escape.js","node_modules/core-js/modules/es6.array.copy-within.js","node_modules/core-js/modules/es6.array.every.js","node_modules/core-js/modules/es6.array.fill.js","node_modules/core-js/modules/es6.array.filter.js","node_modules/core-js/modules/es6.array.find-index.js","node_modules/core-js/modules/es6.array.find.js","node_modules/core-js/modules/es6.array.for-each.js","node_modules/core-js/modules/es6.array.index-of.js","node_modules/core-js/modules/es6.array.is-array.js","node_modules/core-js/modules/es6.array.join.js","node_modules/core-js/modules/es6.array.last-index-of.js","node_modules/core-js/modules/es6.array.map.js","node_modules/core-js/modules/es6.array.of.js","node_modules/core-js/modules/es6.array.reduce-right.js","node_modules/core-js/modules/es6.array.reduce.js","node_modules/core-js/modules/es6.array.slice.js","node_modules/core-js/modules/es6.array.some.js","node_modules/core-js/modules/es6.array.sort.js","node_modules/core-js/modules/es6.array.species.js","node_modules/core-js/modules/es6.date.now.js","node_modules/core-js/modules/es6.date.to-iso-string.js","node_modules/core-js/modules/es6.date.to-json.js","node_modules/core-js/modules/es6.date.to-primitive.js","node_modules/core-js/modules/es6.date.to-string.js","node_modules/core-js/modules/es6.function.bind.js","node_modules/core-js/modules/es6.function.has-instance.js","node_modules/core-js/modules/es6.function.name.js","node_modules/core-js/modules/es6.map.js","node_modules/core-js/modules/es6.math.acosh.js","node_modules/core-js/modules/es6.math.asinh.js","node_modules/core-js/modules/es6.math.atanh.js","node_modules/core-js/modules/es6.math.cbrt.js","node_modules/core-js/modules/es6.math.clz32.js","node_modules/core-js/modules/es6.math.cosh.js","node_modules/core-js/modules/es6.math.expm1.js","node_modules/core-js/modules/es6.math.fround.js","node_modules/core-js/modules/es6.math.hypot.js","node_modules/core-js/modules/es6.math.imul.js","node_modules/core-js/modules/es6.math.log10.js","node_modules/core-js/modules/es6.math.log1p.js","node_modules/core-js/modules/es6.math.log2.js","node_modules/core-js/modules/es6.math.sign.js","node_modules/core-js/modules/es6.math.sinh.js","node_modules/core-js/modules/es6.math.tanh.js","node_modules/core-js/modules/es6.math.trunc.js","node_modules/core-js/modules/es6.number.constructor.js","node_modules/core-js/modules/es6.number.epsilon.js","node_modules/core-js/modules/es6.number.is-finite.js","node_modules/core-js/modules/es6.number.is-integer.js","node_modules/core-js/modules/es6.number.is-nan.js","node_modules/core-js/modules/es6.number.is-safe-integer.js","node_modules/core-js/modules/es6.number.max-safe-integer.js","node_modules/core-js/modules/es6.number.min-safe-integer.js","node_modules/core-js/modules/es6.number.parse-float.js","node_modules/core-js/modules/es6.number.parse-int.js","node_modules/core-js/modules/es6.number.to-fixed.js","node_modules/core-js/modules/es6.number.to-precision.js","node_modules/core-js/modules/es6.object.define-properties.js","node_modules/core-js/modules/es6.object.freeze.js","node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","node_modules/core-js/modules/es6.object.get-own-property-names.js","node_modules/core-js/modules/es6.object.is-extensible.js","node_modules/core-js/modules/es6.object.is-frozen.js","node_modules/core-js/modules/es6.object.is-sealed.js","node_modules/core-js/modules/es6.object.is.js","node_modules/core-js/modules/es6.object.prevent-extensions.js","node_modules/core-js/modules/es6.object.seal.js","node_modules/core-js/modules/es6.object.to-string.js","node_modules/core-js/modules/es6.parse-float.js","node_modules/core-js/modules/es6.parse-int.js","node_modules/core-js/modules/es6.promise.js","node_modules/core-js/modules/es6.reflect.apply.js","node_modules/core-js/modules/es6.reflect.construct.js","node_modules/core-js/modules/es6.reflect.define-property.js","node_modules/core-js/modules/es6.reflect.delete-property.js","node_modules/core-js/modules/es6.reflect.enumerate.js","node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","node_modules/core-js/modules/es6.reflect.get-prototype-of.js","node_modules/core-js/modules/es6.reflect.get.js","node_modules/core-js/modules/es6.reflect.has.js","node_modules/core-js/modules/es6.reflect.is-extensible.js","node_modules/core-js/modules/es6.reflect.own-keys.js","node_modules/core-js/modules/es6.reflect.prevent-extensions.js","node_modules/core-js/modules/es6.reflect.set-prototype-of.js","node_modules/core-js/modules/es6.reflect.set.js","node_modules/core-js/modules/es6.regexp.constructor.js","node_modules/core-js/modules/es6.regexp.exec.js","node_modules/core-js/modules/es6.regexp.flags.js","node_modules/core-js/modules/es6.regexp.match.js","node_modules/core-js/modules/es6.regexp.replace.js","node_modules/core-js/modules/es6.regexp.search.js","node_modules/core-js/modules/es6.regexp.split.js","node_modules/core-js/modules/es6.regexp.to-string.js","node_modules/core-js/modules/es6.set.js","node_modules/core-js/modules/es6.string.anchor.js","node_modules/core-js/modules/es6.string.big.js","node_modules/core-js/modules/es6.string.blink.js","node_modules/core-js/modules/es6.string.bold.js","node_modules/core-js/modules/es6.string.code-point-at.js","node_modules/core-js/modules/es6.string.ends-with.js","node_modules/core-js/modules/es6.string.fixed.js","node_modules/core-js/modules/es6.string.fontcolor.js","node_modules/core-js/modules/es6.string.fontsize.js","node_modules/core-js/modules/es6.string.from-code-point.js","node_modules/core-js/modules/es6.string.includes.js","node_modules/core-js/modules/es6.string.italics.js","node_modules/core-js/modules/es6.string.link.js","node_modules/core-js/modules/es6.string.raw.js","node_modules/core-js/modules/es6.string.repeat.js","node_modules/core-js/modules/es6.string.small.js","node_modules/core-js/modules/es6.string.starts-with.js","node_modules/core-js/modules/es6.string.strike.js","node_modules/core-js/modules/es6.string.sub.js","node_modules/core-js/modules/es6.string.sup.js","node_modules/core-js/modules/es6.string.trim.js","node_modules/core-js/modules/es6.typed.array-buffer.js","node_modules/core-js/modules/es6.typed.data-view.js","node_modules/core-js/modules/es6.typed.float32-array.js","node_modules/core-js/modules/es6.typed.float64-array.js","node_modules/core-js/modules/es6.typed.int16-array.js","node_modules/core-js/modules/es6.typed.int32-array.js","node_modules/core-js/modules/es6.typed.int8-array.js","node_modules/core-js/modules/es6.typed.uint16-array.js","node_modules/core-js/modules/es6.typed.uint32-array.js","node_modules/core-js/modules/es6.typed.uint8-array.js","node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","node_modules/core-js/modules/es6.weak-map.js","node_modules/core-js/modules/es6.weak-set.js","node_modules/core-js/modules/es7.array.flat-map.js","node_modules/core-js/modules/es7.array.flatten.js","node_modules/core-js/modules/es7.array.includes.js","node_modules/core-js/modules/es7.asap.js","node_modules/core-js/modules/es7.error.is-error.js","node_modules/core-js/modules/es7.global.js","node_modules/core-js/modules/es7.map.from.js","node_modules/core-js/modules/es7.map.of.js","node_modules/core-js/modules/es7.map.to-json.js","node_modules/core-js/modules/es7.math.clamp.js","node_modules/core-js/modules/es7.math.deg-per-rad.js","node_modules/core-js/modules/es7.math.degrees.js","node_modules/core-js/modules/es7.math.fscale.js","node_modules/core-js/modules/es7.math.iaddh.js","node_modules/core-js/modules/es7.math.imulh.js","node_modules/core-js/modules/es7.math.isubh.js","node_modules/core-js/modules/es7.math.rad-per-deg.js","node_modules/core-js/modules/es7.math.radians.js","node_modules/core-js/modules/es7.math.scale.js","node_modules/core-js/modules/es7.math.signbit.js","node_modules/core-js/modules/es7.math.umulh.js","node_modules/core-js/modules/es7.object.define-getter.js","node_modules/core-js/modules/es7.object.define-setter.js","node_modules/core-js/modules/es7.object.entries.js","node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","node_modules/core-js/modules/es7.object.lookup-getter.js","node_modules/core-js/modules/es7.object.lookup-setter.js","node_modules/core-js/modules/es7.object.values.js","node_modules/core-js/modules/es7.observable.js","node_modules/core-js/modules/es7.promise.finally.js","node_modules/core-js/modules/es7.promise.try.js","node_modules/core-js/modules/es7.reflect.define-metadata.js","node_modules/core-js/modules/es7.reflect.delete-metadata.js","node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","node_modules/core-js/modules/es7.reflect.get-metadata.js","node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","node_modules/core-js/modules/es7.reflect.get-own-metadata.js","node_modules/core-js/modules/es7.reflect.has-metadata.js","node_modules/core-js/modules/es7.reflect.has-own-metadata.js","node_modules/core-js/modules/es7.reflect.metadata.js","node_modules/core-js/modules/es7.set.from.js","node_modules/core-js/modules/es7.set.of.js","node_modules/core-js/modules/es7.set.to-json.js","node_modules/core-js/modules/es7.string.at.js","node_modules/core-js/modules/es7.string.match-all.js","node_modules/core-js/modules/es7.string.pad-end.js","node_modules/core-js/modules/es7.string.pad-start.js","node_modules/core-js/modules/es7.string.trim-left.js","node_modules/core-js/modules/es7.string.trim-right.js","node_modules/core-js/modules/es7.system.global.js","node_modules/core-js/modules/es7.weak-map.from.js","node_modules/core-js/modules/es7.weak-map.of.js","node_modules/core-js/modules/es7.weak-set.from.js","node_modules/core-js/modules/es7.weak-set.of.js","node_modules/core-js/modules/web.dom.iterable.js","node_modules/core-js/modules/web.immediate.js","node_modules/core-js/modules/web.timers.js","node_modules/core-js/shim.js","node_modules/create-react-class/factory.js","node_modules/create-react-class/index.js","node_modules/css-in-js-utils/lib/hyphenateProperty.js","node_modules/css-in-js-utils/lib/isPrefixedValue.js","node_modules/css-vendor/dist/css-vendor.cjs.js","node_modules/date-fns/_lib/addLeadingZeros/index.js","node_modules/date-fns/_lib/assign/index.js","node_modules/date-fns/_lib/defaultLocale/index.js","node_modules/date-fns/_lib/defaultOptions/index.js","node_modules/date-fns/_lib/format/formatters/index.js","node_modules/date-fns/_lib/format/lightFormatters/index.js","node_modules/date-fns/_lib/format/longFormatters/index.js","node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js","node_modules/date-fns/_lib/getUTCDayOfYear/index.js","node_modules/date-fns/_lib/getUTCISOWeekYear/index.js","node_modules/date-fns/_lib/getUTCISOWeek/index.js","node_modules/date-fns/_lib/getUTCWeekYear/index.js","node_modules/date-fns/_lib/getUTCWeek/index.js","node_modules/date-fns/_lib/protectedTokens/index.js","node_modules/date-fns/_lib/requiredArgs/index.js","node_modules/date-fns/_lib/setUTCDay/index.js","node_modules/date-fns/_lib/setUTCISODay/index.js","node_modules/date-fns/_lib/setUTCISOWeek/index.js","node_modules/date-fns/_lib/setUTCWeek/index.js","node_modules/date-fns/_lib/startOfUTCISOWeekYear/index.js","node_modules/date-fns/_lib/startOfUTCISOWeek/index.js","node_modules/date-fns/_lib/startOfUTCWeekYear/index.js","node_modules/date-fns/_lib/startOfUTCWeek/index.js","node_modules/date-fns/_lib/toInteger/index.js","node_modules/date-fns/addDays/index.js","node_modules/date-fns/addMilliseconds/index.js","node_modules/date-fns/addMonths/index.js","node_modules/date-fns/addYears/index.js","node_modules/date-fns/constants/index.js","node_modules/date-fns/differenceInMilliseconds/index.js","node_modules/date-fns/eachDayOfInterval/index.js","node_modules/date-fns/endOfDay/index.js","node_modules/date-fns/endOfMonth/index.js","node_modules/date-fns/endOfWeek/index.js","node_modules/date-fns/endOfYear/index.js","node_modules/date-fns/format/index.js","node_modules/date-fns/getDaysInMonth/index.js","node_modules/date-fns/getHours/index.js","node_modules/date-fns/getSeconds/index.js","node_modules/date-fns/getYear/index.js","node_modules/date-fns/isAfter/index.js","node_modules/date-fns/isBefore/index.js","node_modules/date-fns/isDate/index.js","node_modules/date-fns/isEqual/index.js","node_modules/date-fns/isSameDay/index.js","node_modules/date-fns/isSameHour/index.js","node_modules/date-fns/isSameMonth/index.js","node_modules/date-fns/isSameYear/index.js","node_modules/date-fns/isValid/index.js","node_modules/date-fns/locale/_lib/buildFormatLongFn/index.js","node_modules/date-fns/locale/_lib/buildLocalizeFn/index.js","node_modules/date-fns/locale/_lib/buildMatchFn/index.js","node_modules/date-fns/locale/_lib/buildMatchPatternFn/index.js","node_modules/date-fns/locale/en-US/_lib/formatDistance/index.js","node_modules/date-fns/locale/en-US/_lib/formatLong/index.js","node_modules/date-fns/locale/en-US/_lib/formatRelative/index.js","node_modules/date-fns/locale/en-US/_lib/localize/index.js","node_modules/date-fns/locale/en-US/_lib/match/index.js","node_modules/date-fns/locale/en-US/index.js","node_modules/date-fns/parse/_lib/Parser.js","node_modules/date-fns/parse/_lib/Setter.js","node_modules/date-fns/parse/_lib/constants.js","node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js","node_modules/date-fns/parse/_lib/parsers/AMPMParser.js","node_modules/date-fns/parse/_lib/parsers/DateParser.js","node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js","node_modules/date-fns/parse/_lib/parsers/DayParser.js","node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js","node_modules/date-fns/parse/_lib/parsers/EraParser.js","node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js","node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js","node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js","node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js","node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js","node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js","node_modules/date-fns/parse/_lib/parsers/ISODayParser.js","node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js","node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js","node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js","node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js","node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js","node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js","node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js","node_modules/date-fns/parse/_lib/parsers/MinuteParser.js","node_modules/date-fns/parse/_lib/parsers/MonthParser.js","node_modules/date-fns/parse/_lib/parsers/QuarterParser.js","node_modules/date-fns/parse/_lib/parsers/SecondParser.js","node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js","node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js","node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js","node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js","node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js","node_modules/date-fns/parse/_lib/parsers/YearParser.js","node_modules/date-fns/parse/_lib/parsers/index.js","node_modules/date-fns/parse/_lib/utils.js","node_modules/date-fns/parse/index.js","node_modules/date-fns/setHours/index.js","node_modules/date-fns/setMinutes/index.js","node_modules/date-fns/setMonth/index.js","node_modules/date-fns/setSeconds/index.js","node_modules/date-fns/setYear/index.js","node_modules/date-fns/startOfDay/index.js","node_modules/date-fns/startOfHour/index.js","node_modules/date-fns/startOfMonth/index.js","node_modules/date-fns/startOfWeek/index.js","node_modules/date-fns/startOfYear/index.js","node_modules/date-fns/subMilliseconds/index.js","node_modules/date-fns/toDate/index.js","node_modules/disposables/modules/CompositeDisposable.js","node_modules/disposables/modules/Disposable.js","node_modules/disposables/modules/SerialDisposable.js","node_modules/disposables/modules/index.js","node_modules/disposables/modules/isDisposable.js","node_modules/dnd-core/dist/cjs/DragDropManagerImpl.js","node_modules/dnd-core/dist/cjs/DragDropMonitorImpl.js","node_modules/dnd-core/dist/cjs/HandlerRegistryImpl.js","node_modules/dnd-core/dist/cjs/actions/dragDrop/beginDrag.js","node_modules/dnd-core/dist/cjs/actions/dragDrop/drop.js","node_modules/dnd-core/dist/cjs/actions/dragDrop/endDrag.js","node_modules/dnd-core/dist/cjs/actions/dragDrop/hover.js","node_modules/dnd-core/dist/cjs/actions/dragDrop/index.js","node_modules/dnd-core/dist/cjs/actions/dragDrop/local/setClientOffset.js","node_modules/dnd-core/dist/cjs/actions/dragDrop/publishDragSource.js","node_modules/dnd-core/dist/cjs/actions/dragDrop/types.js","node_modules/dnd-core/dist/cjs/actions/registry.js","node_modules/dnd-core/dist/cjs/contracts.js","node_modules/dnd-core/dist/cjs/factories.js","node_modules/dnd-core/dist/cjs/index.js","node_modules/dnd-core/dist/cjs/interfaces.js","node_modules/dnd-core/dist/cjs/reducers/dirtyHandlerIds.js","node_modules/dnd-core/dist/cjs/reducers/dragOffset.js","node_modules/dnd-core/dist/cjs/reducers/dragOperation.js","node_modules/dnd-core/dist/cjs/reducers/index.js","node_modules/dnd-core/dist/cjs/reducers/refCount.js","node_modules/dnd-core/dist/cjs/reducers/stateId.js","node_modules/dnd-core/dist/cjs/utils/coords.js","node_modules/dnd-core/dist/cjs/utils/dirtiness.js","node_modules/dnd-core/dist/cjs/utils/equality.js","node_modules/dnd-core/dist/cjs/utils/getNextUniqueId.js","node_modules/dnd-core/dist/cjs/utils/js_utils.js","node_modules/dnd-core/dist/cjs/utils/matchesType.js","node_modules/dom-helpers/cjs/addClass.js","node_modules/dom-helpers/cjs/hasClass.js","node_modules/dom-helpers/cjs/removeClass.js","node_modules/dom-scroll-into-view/index.js","node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js","node_modules/dom-scroll-into-view/lib/util.js","node_modules/fbjs/lib/shallowEqual.js","node_modules/file-saver/dist/FileSaver.min.js","node_modules/form-data-to-object/index.js","node_modules/formsy-material-ui/lib/FormsyAutoComplete.js","node_modules/formsy-material-ui/lib/FormsyCheckbox.js","node_modules/formsy-material-ui/lib/FormsyDate.js","node_modules/formsy-material-ui/lib/FormsyRadio.js","node_modules/formsy-material-ui/lib/FormsyRadioGroup.js","node_modules/formsy-material-ui/lib/FormsySelect.js","node_modules/formsy-material-ui/lib/FormsyText.js","node_modules/formsy-material-ui/lib/FormsyTime.js","node_modules/formsy-material-ui/lib/FormsyToggle.js","node_modules/formsy-material-ui/lib/index.js","node_modules/formsy-material-ui/lib/utils.js","node_modules/formsy-react/lib/Decorator.js","node_modules/formsy-react/lib/HOC.js","node_modules/formsy-react/lib/Mixin.js","node_modules/formsy-react/lib/main.js","node_modules/formsy-react/lib/utils.js","node_modules/formsy-react/lib/validationRules.js","node_modules/formsy-react/src/utils.js","node_modules/history/DOMUtils.js","node_modules/history/LocationUtils.js","node_modules/history/PathUtils.js","node_modules/history/createBrowserHistory.js","node_modules/history/createHashHistory.js","node_modules/history/createMemoryHistory.js","node_modules/history/createTransitionManager.js","node_modules/history/index.js","node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js","node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","node_modules/hoist-non-react-statics/node_modules/react-is/index.js","node_modules/http-status-codes/build/cjs/index.js","node_modules/http-status-codes/build/cjs/legacy.js","node_modules/http-status-codes/build/cjs/reason-phrases.js","node_modules/http-status-codes/build/cjs/status-codes.js","node_modules/http-status-codes/build/cjs/utils-functions.js","node_modules/http-status-codes/build/cjs/utils.js","node_modules/hyphenate-style-name/index.cjs.js","node_modules/immutable/dist/immutable.js","node_modules/inline-style-prefixer/dynamic/createPrefixer.js","node_modules/inline-style-prefixer/dynamic/plugins/calc.js","node_modules/inline-style-prefixer/dynamic/plugins/flex.js","node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js","node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js","node_modules/inline-style-prefixer/dynamic/plugins/gradient.js","node_modules/inline-style-prefixer/dynamic/plugins/sizing.js","node_modules/inline-style-prefixer/dynamic/plugins/transition.js","node_modules/inline-style-prefixer/static/createPrefixer.js","node_modules/inline-style-prefixer/static/plugins/calc.js","node_modules/inline-style-prefixer/static/plugins/flex.js","node_modules/inline-style-prefixer/static/plugins/flexboxIE.js","node_modules/inline-style-prefixer/static/plugins/flexboxOld.js","node_modules/inline-style-prefixer/static/plugins/gradient.js","node_modules/inline-style-prefixer/static/plugins/sizing.js","node_modules/inline-style-prefixer/static/plugins/transition.js","node_modules/inline-style-prefixer/utils/addNewValuesOnly.js","node_modules/inline-style-prefixer/utils/capitalizeString.js","node_modules/inline-style-prefixer/utils/getBrowserInformation.js","node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js","node_modules/inline-style-prefixer/utils/getPrefixedValue.js","node_modules/inline-style-prefixer/utils/isObject.js","node_modules/inline-style-prefixer/utils/prefixProperty.js","node_modules/inline-style-prefixer/utils/prefixValue.js","node_modules/invariant/browser.js","node_modules/is-in-browser/dist/index.js","node_modules/isarray/index.js","node_modules/json-stringify-safe/stringify.js","node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.cjs.js","node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.cjs.js","node_modules/jss-plugin-global/dist/jss-plugin-global.cjs.js","node_modules/jss-plugin-nested/dist/jss-plugin-nested.cjs.js","node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.cjs.js","node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.cjs.js","node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.cjs.js","node_modules/jss/dist/jss.cjs.js","node_modules/keycode/index.js","node_modules/leaflet-routing-machine/dist/leaflet-routing-machine.js","node_modules/leaflet.markercluster/dist/leaflet.markercluster-src.js","node_modules/leaflet/dist/leaflet-src.js","node_modules/lodash.assignwith/index.js","node_modules/lodash.clonedeep/index.js","node_modules/lodash.debounce/index.js","node_modules/lodash.find/index.js","node_modules/lodash.isequal/index.js","node_modules/lodash.isequalwith/index.js","node_modules/lodash.isundefined/index.js","node_modules/lodash.merge/index.js","node_modules/lodash.throttle/index.js","node_modules/lodash/_DataView.js","node_modules/lodash/_Hash.js","node_modules/lodash/_ListCache.js","node_modules/lodash/_Map.js","node_modules/lodash/_MapCache.js","node_modules/lodash/_Promise.js","node_modules/lodash/_Set.js","node_modules/lodash/_SetCache.js","node_modules/lodash/_Stack.js","node_modules/lodash/_Symbol.js","node_modules/lodash/_Uint8Array.js","node_modules/lodash/_WeakMap.js","node_modules/lodash/_apply.js","node_modules/lodash/_arrayAggregator.js","node_modules/lodash/_arrayEach.js","node_modules/lodash/_arrayFilter.js","node_modules/lodash/_arrayIncludes.js","node_modules/lodash/_arrayIncludesWith.js","node_modules/lodash/_arrayLikeKeys.js","node_modules/lodash/_arrayMap.js","node_modules/lodash/_arrayPush.js","node_modules/lodash/_arrayReduce.js","node_modules/lodash/_arraySome.js","node_modules/lodash/_assignMergeValue.js","node_modules/lodash/_assignValue.js","node_modules/lodash/_assocIndexOf.js","node_modules/lodash/_baseAggregator.js","node_modules/lodash/_baseAssign.js","node_modules/lodash/_baseAssignIn.js","node_modules/lodash/_baseAssignValue.js","node_modules/lodash/_baseClone.js","node_modules/lodash/_baseCreate.js","node_modules/lodash/_baseDifference.js","node_modules/lodash/_baseEach.js","node_modules/lodash/_baseExtremum.js","node_modules/lodash/_baseFilter.js","node_modules/lodash/_baseFindIndex.js","node_modules/lodash/_baseFlatten.js","node_modules/lodash/_baseFor.js","node_modules/lodash/_baseForOwn.js","node_modules/lodash/_baseGet.js","node_modules/lodash/_baseGetAllKeys.js","node_modules/lodash/_baseGetTag.js","node_modules/lodash/_baseHasIn.js","node_modules/lodash/_baseIndexOf.js","node_modules/lodash/_baseIntersection.js","node_modules/lodash/_baseIsArguments.js","node_modules/lodash/_baseIsEqual.js","node_modules/lodash/_baseIsEqualDeep.js","node_modules/lodash/_baseIsMap.js","node_modules/lodash/_baseIsMatch.js","node_modules/lodash/_baseIsNaN.js","node_modules/lodash/_baseIsNative.js","node_modules/lodash/_baseIsSet.js","node_modules/lodash/_baseIsTypedArray.js","node_modules/lodash/_baseIteratee.js","node_modules/lodash/_baseKeys.js","node_modules/lodash/_baseKeysIn.js","node_modules/lodash/_baseLt.js","node_modules/lodash/_baseMap.js","node_modules/lodash/_baseMatches.js","node_modules/lodash/_baseMatchesProperty.js","node_modules/lodash/_baseMerge.js","node_modules/lodash/_baseMergeDeep.js","node_modules/lodash/_baseOrderBy.js","node_modules/lodash/_basePick.js","node_modules/lodash/_basePickBy.js","node_modules/lodash/_baseProperty.js","node_modules/lodash/_basePropertyDeep.js","node_modules/lodash/_basePullAt.js","node_modules/lodash/_baseReduce.js","node_modules/lodash/_baseRest.js","node_modules/lodash/_baseSet.js","node_modules/lodash/_baseSetToString.js","node_modules/lodash/_baseSlice.js","node_modules/lodash/_baseSome.js","node_modules/lodash/_baseSortBy.js","node_modules/lodash/_baseSum.js","node_modules/lodash/_baseTimes.js","node_modules/lodash/_baseToPairs.js","node_modules/lodash/_baseToString.js","node_modules/lodash/_baseTrim.js","node_modules/lodash/_baseUnary.js","node_modules/lodash/_baseUniq.js","node_modules/lodash/_baseUnset.js","node_modules/lodash/_baseValues.js","node_modules/lodash/_baseXor.js","node_modules/lodash/_cacheHas.js","node_modules/lodash/_castArrayLikeObject.js","node_modules/lodash/_castFunction.js","node_modules/lodash/_castPath.js","node_modules/lodash/_cloneArrayBuffer.js","node_modules/lodash/_cloneBuffer.js","node_modules/lodash/_cloneDataView.js","node_modules/lodash/_cloneRegExp.js","node_modules/lodash/_cloneSymbol.js","node_modules/lodash/_cloneTypedArray.js","node_modules/lodash/_compareAscending.js","node_modules/lodash/_compareMultiple.js","node_modules/lodash/_copyArray.js","node_modules/lodash/_copyObject.js","node_modules/lodash/_copySymbols.js","node_modules/lodash/_copySymbolsIn.js","node_modules/lodash/_coreJsData.js","node_modules/lodash/_createAggregator.js","node_modules/lodash/_createAssigner.js","node_modules/lodash/_createBaseEach.js","node_modules/lodash/_createBaseFor.js","node_modules/lodash/_createFind.js","node_modules/lodash/_createSet.js","node_modules/lodash/_createToPairs.js","node_modules/lodash/_customOmitClone.js","node_modules/lodash/_defineProperty.js","node_modules/lodash/_equalArrays.js","node_modules/lodash/_equalByTag.js","node_modules/lodash/_equalObjects.js","node_modules/lodash/_flatRest.js","node_modules/lodash/_freeGlobal.js","node_modules/lodash/_getAllKeys.js","node_modules/lodash/_getAllKeysIn.js","node_modules/lodash/_getMapData.js","node_modules/lodash/_getMatchData.js","node_modules/lodash/_getNative.js","node_modules/lodash/_getPrototype.js","node_modules/lodash/_getRawTag.js","node_modules/lodash/_getSymbols.js","node_modules/lodash/_getSymbolsIn.js","node_modules/lodash/_getTag.js","node_modules/lodash/_getValue.js","node_modules/lodash/_hasPath.js","node_modules/lodash/_hashClear.js","node_modules/lodash/_hashDelete.js","node_modules/lodash/_hashGet.js","node_modules/lodash/_hashHas.js","node_modules/lodash/_hashSet.js","node_modules/lodash/_initCloneArray.js","node_modules/lodash/_initCloneByTag.js","node_modules/lodash/_initCloneObject.js","node_modules/lodash/_isFlattenable.js","node_modules/lodash/_isIndex.js","node_modules/lodash/_isIterateeCall.js","node_modules/lodash/_isKey.js","node_modules/lodash/_isKeyable.js","node_modules/lodash/_isMasked.js","node_modules/lodash/_isPrototype.js","node_modules/lodash/_isStrictComparable.js","node_modules/lodash/_listCacheClear.js","node_modules/lodash/_listCacheDelete.js","node_modules/lodash/_listCacheGet.js","node_modules/lodash/_listCacheHas.js","node_modules/lodash/_listCacheSet.js","node_modules/lodash/_mapCacheClear.js","node_modules/lodash/_mapCacheDelete.js","node_modules/lodash/_mapCacheGet.js","node_modules/lodash/_mapCacheHas.js","node_modules/lodash/_mapCacheSet.js","node_modules/lodash/_mapToArray.js","node_modules/lodash/_matchesStrictComparable.js","node_modules/lodash/_memoizeCapped.js","node_modules/lodash/_nativeCreate.js","node_modules/lodash/_nativeKeys.js","node_modules/lodash/_nativeKeysIn.js","node_modules/lodash/_nodeUtil.js","node_modules/lodash/_objectToString.js","node_modules/lodash/_overArg.js","node_modules/lodash/_overRest.js","node_modules/lodash/_parent.js","node_modules/lodash/_root.js","node_modules/lodash/_safeGet.js","node_modules/lodash/_setCacheAdd.js","node_modules/lodash/_setCacheHas.js","node_modules/lodash/_setToArray.js","node_modules/lodash/_setToPairs.js","node_modules/lodash/_setToString.js","node_modules/lodash/_shortOut.js","node_modules/lodash/_stackClear.js","node_modules/lodash/_stackDelete.js","node_modules/lodash/_stackGet.js","node_modules/lodash/_stackHas.js","node_modules/lodash/_stackSet.js","node_modules/lodash/_strictIndexOf.js","node_modules/lodash/_stringToPath.js","node_modules/lodash/_toKey.js","node_modules/lodash/_toSource.js","node_modules/lodash/_trimmedEndIndex.js","node_modules/lodash/assignIn.js","node_modules/lodash/clone.js","node_modules/lodash/cloneDeep.js","node_modules/lodash/concat.js","node_modules/lodash/constant.js","node_modules/lodash/debounce.js","node_modules/lodash/defaults.js","node_modules/lodash/each.js","node_modules/lodash/eq.js","node_modules/lodash/filter.js","node_modules/lodash/find.js","node_modules/lodash/findIndex.js","node_modules/lodash/flatten.js","node_modules/lodash/forEach.js","node_modules/lodash/get.js","node_modules/lodash/groupBy.js","node_modules/lodash/hasIn.js","node_modules/lodash/head.js","node_modules/lodash/identity.js","node_modules/lodash/includes.js","node_modules/lodash/indexOf.js","node_modules/lodash/intersection.js","node_modules/lodash/isArguments.js","node_modules/lodash/isArray.js","node_modules/lodash/isArrayLike.js","node_modules/lodash/isArrayLikeObject.js","node_modules/lodash/isBuffer.js","node_modules/lodash/isEqual.js","node_modules/lodash/isFunction.js","node_modules/lodash/isLength.js","node_modules/lodash/isMap.js","node_modules/lodash/isObject.js","node_modules/lodash/isObjectLike.js","node_modules/lodash/isPlainObject.js","node_modules/lodash/isSet.js","node_modules/lodash/isString.js","node_modules/lodash/isSymbol.js","node_modules/lodash/isTypedArray.js","node_modules/lodash/isUndefined.js","node_modules/lodash/keys.js","node_modules/lodash/keysIn.js","node_modules/lodash/last.js","node_modules/lodash/map.js","node_modules/lodash/memoize.js","node_modules/lodash/merge.js","node_modules/lodash/min.js","node_modules/lodash/noop.js","node_modules/lodash/now.js","node_modules/lodash/omit.js","node_modules/lodash/orderBy.js","node_modules/lodash/pick.js","node_modules/lodash/property.js","node_modules/lodash/reduce.js","node_modules/lodash/remove.js","node_modules/lodash/some.js","node_modules/lodash/sortBy.js","node_modules/lodash/stubArray.js","node_modules/lodash/stubFalse.js","node_modules/lodash/sum.js","node_modules/lodash/throttle.js","node_modules/lodash/toFinite.js","node_modules/lodash/toInteger.js","node_modules/lodash/toNumber.js","node_modules/lodash/toPairs.js","node_modules/lodash/toPlainObject.js","node_modules/lodash/toString.js","node_modules/lodash/union.js","node_modules/lodash/uniqBy.js","node_modules/lodash/uniqueId.js","node_modules/lodash/values.js","node_modules/lodash/without.js","node_modules/lodash/xor.js","node_modules/material-ui/AppBar/AppBar.js","node_modules/material-ui/AppBar/index.js","node_modules/material-ui/AutoComplete/AutoComplete.js","node_modules/material-ui/AutoComplete/index.js","node_modules/material-ui/Avatar/Avatar.js","node_modules/material-ui/Avatar/index.js","node_modules/material-ui/Badge/Badge.js","node_modules/material-ui/Badge/index.js","node_modules/material-ui/BottomNavigation/BottomNavigation.js","node_modules/material-ui/BottomNavigation/BottomNavigationItem.js","node_modules/material-ui/BottomNavigation/index.js","node_modules/material-ui/Card/Card.js","node_modules/material-ui/Card/CardActions.js","node_modules/material-ui/Card/CardExpandable.js","node_modules/material-ui/Card/CardHeader.js","node_modules/material-ui/Card/CardMedia.js","node_modules/material-ui/Card/CardText.js","node_modules/material-ui/Card/CardTitle.js","node_modules/material-ui/Card/index.js","node_modules/material-ui/Checkbox/Checkbox.js","node_modules/material-ui/Checkbox/index.js","node_modules/material-ui/Chip/Chip.js","node_modules/material-ui/Chip/index.js","node_modules/material-ui/CircularProgress/CircularProgress.js","node_modules/material-ui/CircularProgress/index.js","node_modules/material-ui/DatePicker/Calendar.js","node_modules/material-ui/DatePicker/CalendarActionButtons.js","node_modules/material-ui/DatePicker/CalendarMonth.js","node_modules/material-ui/DatePicker/CalendarToolbar.js","node_modules/material-ui/DatePicker/CalendarYear.js","node_modules/material-ui/DatePicker/DateDisplay.js","node_modules/material-ui/DatePicker/DatePicker.js","node_modules/material-ui/DatePicker/DatePickerDialog.js","node_modules/material-ui/DatePicker/DayButton.js","node_modules/material-ui/DatePicker/YearButton.js","node_modules/material-ui/DatePicker/dateUtils.js","node_modules/material-ui/DatePicker/index.js","node_modules/material-ui/Dialog/Dialog.js","node_modules/material-ui/Dialog/index.js","node_modules/material-ui/Divider/Divider.js","node_modules/material-ui/Divider/index.js","node_modules/material-ui/Drawer/Drawer.js","node_modules/material-ui/Drawer/index.js","node_modules/material-ui/DropDownMenu/DropDownMenu.js","node_modules/material-ui/DropDownMenu/index.js","node_modules/material-ui/FlatButton/FlatButton.js","node_modules/material-ui/FlatButton/FlatButtonLabel.js","node_modules/material-ui/FlatButton/index.js","node_modules/material-ui/FloatingActionButton/FloatingActionButton.js","node_modules/material-ui/FloatingActionButton/index.js","node_modules/material-ui/FontIcon/FontIcon.js","node_modules/material-ui/FontIcon/index.js","node_modules/material-ui/GridList/GridList.js","node_modules/material-ui/GridList/GridTile.js","node_modules/material-ui/GridList/index.js","node_modules/material-ui/IconButton/IconButton.js","node_modules/material-ui/IconButton/index.js","node_modules/material-ui/IconMenu/IconMenu.js","node_modules/material-ui/IconMenu/index.js","node_modules/material-ui/LinearProgress/LinearProgress.js","node_modules/material-ui/LinearProgress/index.js","node_modules/material-ui/List/List.js","node_modules/material-ui/List/ListItem.js","node_modules/material-ui/List/NestedList.js","node_modules/material-ui/List/index.js","node_modules/material-ui/List/makeSelectable.js","node_modules/material-ui/MenuItem/MenuItem.js","node_modules/material-ui/MenuItem/index.js","node_modules/material-ui/Menu/Menu.js","node_modules/material-ui/Menu/index.js","node_modules/material-ui/Menu/menuUtils.js","node_modules/material-ui/Paper/Paper.js","node_modules/material-ui/Paper/index.js","node_modules/material-ui/Popover/Popover.js","node_modules/material-ui/Popover/PopoverAnimationDefault.js","node_modules/material-ui/Popover/PopoverAnimationVertical.js","node_modules/material-ui/Popover/index.js","node_modules/material-ui/RadioButton/RadioButton.js","node_modules/material-ui/RadioButton/RadioButtonGroup.js","node_modules/material-ui/RadioButton/index.js","node_modules/material-ui/RaisedButton/RaisedButton.js","node_modules/material-ui/RaisedButton/index.js","node_modules/material-ui/RefreshIndicator/RefreshIndicator.js","node_modules/material-ui/RefreshIndicator/index.js","node_modules/material-ui/SelectField/SelectField.js","node_modules/material-ui/SelectField/index.js","node_modules/material-ui/Slider/Slider.js","node_modules/material-ui/Slider/index.js","node_modules/material-ui/Snackbar/Snackbar.js","node_modules/material-ui/Snackbar/SnackbarBody.js","node_modules/material-ui/Snackbar/index.js","node_modules/material-ui/Stepper/Step.js","node_modules/material-ui/Stepper/StepButton.js","node_modules/material-ui/Stepper/StepConnector.js","node_modules/material-ui/Stepper/StepContent.js","node_modules/material-ui/Stepper/StepLabel.js","node_modules/material-ui/Stepper/Stepper.js","node_modules/material-ui/Subheader/Subheader.js","node_modules/material-ui/Subheader/index.js","node_modules/material-ui/SvgIcon/SvgIcon.js","node_modules/material-ui/SvgIcon/index.js","node_modules/material-ui/Table/Table.js","node_modules/material-ui/Table/TableBody.js","node_modules/material-ui/Table/TableFooter.js","node_modules/material-ui/Table/TableHeader.js","node_modules/material-ui/Table/TableHeaderColumn.js","node_modules/material-ui/Table/TableRow.js","node_modules/material-ui/Table/TableRowColumn.js","node_modules/material-ui/Table/index.js","node_modules/material-ui/Tabs/InkBar.js","node_modules/material-ui/Tabs/Tab.js","node_modules/material-ui/Tabs/TabTemplate.js","node_modules/material-ui/Tabs/Tabs.js","node_modules/material-ui/Tabs/index.js","node_modules/material-ui/TextField/EnhancedTextarea.js","node_modules/material-ui/TextField/TextField.js","node_modules/material-ui/TextField/TextFieldHint.js","node_modules/material-ui/TextField/TextFieldLabel.js","node_modules/material-ui/TextField/TextFieldUnderline.js","node_modules/material-ui/TextField/index.js","node_modules/material-ui/TimePicker/Clock.js","node_modules/material-ui/TimePicker/ClockHours.js","node_modules/material-ui/TimePicker/ClockMinutes.js","node_modules/material-ui/TimePicker/ClockNumber.js","node_modules/material-ui/TimePicker/ClockPointer.js","node_modules/material-ui/TimePicker/TimeDisplay.js","node_modules/material-ui/TimePicker/TimePicker.js","node_modules/material-ui/TimePicker/TimePickerDialog.js","node_modules/material-ui/TimePicker/index.js","node_modules/material-ui/TimePicker/timeUtils.js","node_modules/material-ui/Toggle/Toggle.js","node_modules/material-ui/Toggle/index.js","node_modules/material-ui/Toolbar/Toolbar.js","node_modules/material-ui/Toolbar/ToolbarGroup.js","node_modules/material-ui/Toolbar/ToolbarSeparator.js","node_modules/material-ui/Toolbar/ToolbarTitle.js","node_modules/material-ui/Toolbar/index.js","node_modules/material-ui/index.js","node_modules/material-ui/internal/AutoLockScrolling.js","node_modules/material-ui/internal/BeforeAfterWrapper.js","node_modules/material-ui/internal/CircleRipple.js","node_modules/material-ui/internal/ClearFix.js","node_modules/material-ui/internal/ClickAwayListener.js","node_modules/material-ui/internal/EnhancedButton.js","node_modules/material-ui/internal/EnhancedSwitch.js","node_modules/material-ui/internal/ExpandTransition.js","node_modules/material-ui/internal/ExpandTransitionChild.js","node_modules/material-ui/internal/FocusRipple.js","node_modules/material-ui/internal/Overlay.js","node_modules/material-ui/internal/RenderToLayer.js","node_modules/material-ui/internal/ScaleIn.js","node_modules/material-ui/internal/ScaleInChild.js","node_modules/material-ui/internal/SlideIn.js","node_modules/material-ui/internal/SlideInChild.js","node_modules/material-ui/internal/Tooltip.js","node_modules/material-ui/internal/TouchRipple.js","node_modules/material-ui/node_modules/react-transition-group/TransitionGroup.js","node_modules/material-ui/node_modules/react-transition-group/utils/ChildMapping.js","node_modules/material-ui/node_modules/recompose/compose.js","node_modules/material-ui/node_modules/recompose/getDisplayName.js","node_modules/material-ui/node_modules/recompose/pure.js","node_modules/material-ui/node_modules/recompose/setDisplayName.js","node_modules/material-ui/node_modules/recompose/setStatic.js","node_modules/material-ui/node_modules/recompose/shallowEqual.js","node_modules/material-ui/node_modules/recompose/shouldUpdate.js","node_modules/material-ui/node_modules/recompose/wrapDisplayName.js","node_modules/material-ui/styles/MuiThemeProvider.js","node_modules/material-ui/styles/baseThemes/lightBaseTheme.js","node_modules/material-ui/styles/colors.js","node_modules/material-ui/styles/getMuiTheme.js","node_modules/material-ui/styles/spacing.js","node_modules/material-ui/styles/transitions.js","node_modules/material-ui/styles/typography.js","node_modules/material-ui/styles/zIndex.js","node_modules/material-ui/svg-icons/action/assignment-return.js","node_modules/material-ui/svg-icons/action/assignment.js","node_modules/material-ui/svg-icons/action/check-circle.js","node_modules/material-ui/svg-icons/hardware/keyboard-arrow-down.js","node_modules/material-ui/svg-icons/hardware/keyboard-arrow-up.js","node_modules/material-ui/svg-icons/navigation/arrow-drop-down.js","node_modules/material-ui/svg-icons/navigation/cancel.js","node_modules/material-ui/svg-icons/navigation/check.js","node_modules/material-ui/svg-icons/navigation/chevron-left.js","node_modules/material-ui/svg-icons/navigation/chevron-right.js","node_modules/material-ui/svg-icons/navigation/expand-less.js","node_modules/material-ui/svg-icons/navigation/expand-more.js","node_modules/material-ui/svg-icons/navigation/menu.js","node_modules/material-ui/svg-icons/toggle/check-box-outline-blank.js","node_modules/material-ui/svg-icons/toggle/check-box.js","node_modules/material-ui/svg-icons/toggle/radio-button-checked.js","node_modules/material-ui/svg-icons/toggle/radio-button-unchecked.js","node_modules/material-ui/utils/autoPrefix.js","node_modules/material-ui/utils/autoprefixer.js","node_modules/material-ui/utils/autoprefixerDynamic.js","node_modules/material-ui/utils/autoprefixerStatic.js","node_modules/material-ui/utils/callOnce.js","node_modules/material-ui/utils/childUtils.js","node_modules/material-ui/utils/colorManipulator.js","node_modules/material-ui/utils/dom.js","node_modules/material-ui/utils/events.js","node_modules/material-ui/utils/propTypes.js","node_modules/material-ui/utils/rtl.js","node_modules/material-ui/utils/withWidth.js","node_modules/mini-create-react-context/dist/cjs/index.js","node_modules/moment-duration-format/lib/moment-duration-format.js","node_modules/moment/min/locales.min.js","node_modules/moment/moment.js","node_modules/mui-datatables/dist/index.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/BrowserDetector.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/EnterLeaveCounter.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/HTML5BackendImpl.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/MonotonicInterpolant.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/NativeDragSources/NativeDragSource.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/NativeDragSources/getDataFromDataTransfer.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/NativeDragSources/index.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/NativeDragSources/nativeTypesConfig.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/NativeTypes.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/OffsetUtils.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/OptionsReader.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/getEmptyImage.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/index.js","node_modules/mui-datatables/node_modules/react-dnd-html5-backend/dist/cjs/utils/js_utils.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/common/DndContext.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/common/DndProvider.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/common/DragPreviewImage.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/common/DragSourceMonitorImpl.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/common/DropTargetMonitorImpl.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/common/SourceConnector.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/common/TargetConnector.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/common/index.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/common/registration.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/common/wrapConnectorHooks.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/decorators/DragLayer.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/decorators/DragSource.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/decorators/DropTarget.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/decorators/createSourceFactory.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/decorators/createTargetFactory.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/decorators/decorateHandler.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/decorators/disposables.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/decorators/index.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/decorators/interfaces.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/decorators/utils.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/hooks/index.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/hooks/internal/drag.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/hooks/internal/drop.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/hooks/internal/useCollector.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/hooks/internal/useIsomorphicLayoutEffect.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/hooks/internal/useMonitorOutput.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/hooks/useDrag.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/hooks/useDragDropManager.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/hooks/useDragLayer.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/hooks/useDrop.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/index.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/interfaces/index.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/utils/cloneWithRef.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/utils/isRef.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/utils/isValidType.js","node_modules/mui-datatables/node_modules/react-dnd/dist/cjs/utils/js_utils.js","node_modules/nanoid/format.browser.js","node_modules/natural-compare-lite/index.js","node_modules/normalizr/dist/normalizr.js","node_modules/object-assign/index.js","node_modules/oidc-client/lib/oidc-client.min.js","node_modules/path-to-regexp/index.js","node_modules/popper.js/dist/umd/popper.js","node_modules/process/browser.js","node_modules/prop-types/checkPropTypes.js","node_modules/prop-types/factoryWithThrowingShims.js","node_modules/prop-types/factoryWithTypeCheckers.js","node_modules/prop-types/index.js","node_modules/prop-types/lib/ReactPropTypesSecret.js","node_modules/prop-types/lib/has.js","node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","node_modules/prop-types/node_modules/react-is/index.js","node_modules/react-autocomplete/build/lib/Autocomplete.js","node_modules/react-day-picker/DayPicker.js","node_modules/react-day-picker/lib/src/Caption.js","node_modules/react-day-picker/lib/src/DateUtils.js","node_modules/react-day-picker/lib/src/Day.js","node_modules/react-day-picker/lib/src/DayPicker.js","node_modules/react-day-picker/lib/src/Helpers.js","node_modules/react-day-picker/lib/src/LocaleUtils.js","node_modules/react-day-picker/lib/src/ModifiersUtils.js","node_modules/react-day-picker/lib/src/Month.js","node_modules/react-day-picker/lib/src/Navbar.js","node_modules/react-day-picker/lib/src/PropTypes.js","node_modules/react-day-picker/lib/src/Weekday.js","node_modules/react-day-picker/lib/src/Weekdays.js","node_modules/react-day-picker/lib/src/classNames.js","node_modules/react-day-picker/lib/src/keys.js","node_modules/react-day-picker/lib/style.css","node_modules/react-dnd-html5-backend/lib/BrowserDetector.js","node_modules/react-dnd-html5-backend/lib/EnterLeaveCounter.js","node_modules/react-dnd-html5-backend/lib/HTML5Backend.js","node_modules/react-dnd-html5-backend/lib/MonotonicInterpolant.js","node_modules/react-dnd-html5-backend/lib/NativeDragSources.js","node_modules/react-dnd-html5-backend/lib/NativeTypes.js","node_modules/react-dnd-html5-backend/lib/OffsetUtils.js","node_modules/react-dnd-html5-backend/lib/getEmptyImage.js","node_modules/react-dnd-html5-backend/lib/index.js","node_modules/react-dnd-multi-backend/lib/HTML5toTouch.js","node_modules/react-dnd-multi-backend/lib/MultiBackend.js","node_modules/react-dnd-multi-backend/lib/Preview.js","node_modules/react-dnd-multi-backend/lib/Transitions.js","node_modules/react-dnd-multi-backend/lib/createTransition.js","node_modules/react-dnd-multi-backend/lib/index.js","node_modules/react-dnd-multi-backend/lib/objectAssign.js","node_modules/react-dnd-touch-backend/dist/Touch.js","node_modules/react-dnd/lib/DragDropContext.js","node_modules/react-dnd/lib/DragDropContextProvider.js","node_modules/react-dnd/lib/DragLayer.js","node_modules/react-dnd/lib/DragSource.js","node_modules/react-dnd/lib/DropTarget.js","node_modules/react-dnd/lib/createSourceConnector.js","node_modules/react-dnd/lib/createSourceFactory.js","node_modules/react-dnd/lib/createSourceMonitor.js","node_modules/react-dnd/lib/createTargetConnector.js","node_modules/react-dnd/lib/createTargetFactory.js","node_modules/react-dnd/lib/createTargetMonitor.js","node_modules/react-dnd/lib/decorateHandler.js","node_modules/react-dnd/lib/index.js","node_modules/react-dnd/lib/registerSource.js","node_modules/react-dnd/lib/registerTarget.js","node_modules/react-dnd/lib/utils/checkDecoratorArguments.js","node_modules/react-dnd/lib/utils/cloneWithRef.js","node_modules/react-dnd/lib/utils/isValidType.js","node_modules/react-dnd/lib/wrapConnectorHooks.js","node_modules/react-dnd/node_modules/dnd-core/lib/DragDropManagerImpl.js","node_modules/react-dnd/node_modules/dnd-core/lib/DragDropMonitorImpl.js","node_modules/react-dnd/node_modules/dnd-core/lib/HandlerRegistryImpl.js","node_modules/react-dnd/node_modules/dnd-core/lib/actions/dragDrop.js","node_modules/react-dnd/node_modules/dnd-core/lib/actions/registry.js","node_modules/react-dnd/node_modules/dnd-core/lib/contracts.js","node_modules/react-dnd/node_modules/dnd-core/lib/factories.js","node_modules/react-dnd/node_modules/dnd-core/lib/index.js","node_modules/react-dnd/node_modules/dnd-core/lib/interfaces.js","node_modules/react-dnd/node_modules/dnd-core/lib/reducers/dirtyHandlerIds.js","node_modules/react-dnd/node_modules/dnd-core/lib/reducers/dragOffset.js","node_modules/react-dnd/node_modules/dnd-core/lib/reducers/dragOperation.js","node_modules/react-dnd/node_modules/dnd-core/lib/reducers/index.js","node_modules/react-dnd/node_modules/dnd-core/lib/reducers/refCount.js","node_modules/react-dnd/node_modules/dnd-core/lib/reducers/stateId.js","node_modules/react-dnd/node_modules/dnd-core/lib/utils/coords.js","node_modules/react-dnd/node_modules/dnd-core/lib/utils/dirtiness.js","node_modules/react-dnd/node_modules/dnd-core/lib/utils/equality.js","node_modules/react-dnd/node_modules/dnd-core/lib/utils/getNextUniqueId.js","node_modules/react-dnd/node_modules/dnd-core/lib/utils/matchesType.js","node_modules/react-dnd/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","node_modules/react-dom/cjs/react-dom.development.js","node_modules/react-dom/cjs/react-dom.production.min.js","node_modules/react-dom/index.js","node_modules/react-dom/node_modules/scheduler/cjs/scheduler-tracing.development.js","node_modules/react-dom/node_modules/scheduler/cjs/scheduler-tracing.production.min.js","node_modules/react-dom/node_modules/scheduler/cjs/scheduler.development.js","node_modules/react-dom/node_modules/scheduler/cjs/scheduler.production.min.js","node_modules/react-dom/node_modules/scheduler/index.js","node_modules/react-dom/node_modules/scheduler/tracing.js","node_modules/react-event-listener/dist/react-event-listener.cjs.js","node_modules/react-event-listener/node_modules/warning/warning.js","node_modules/react-is/cjs/react-is.development.js","node_modules/react-is/cjs/react-is.production.min.js","node_modules/react-is/index.js","node_modules/react-leaflet-markercluster/dist/deprecated-styles.min.css","node_modules/react-leaflet-markercluster/dist/react-leaflet-markercluster.min.js","node_modules/react-leaflet/lib/AttributionControl.js","node_modules/react-leaflet/lib/Circle.js","node_modules/react-leaflet/lib/CircleMarker.js","node_modules/react-leaflet/lib/FeatureGroup.js","node_modules/react-leaflet/lib/GeoJSON.js","node_modules/react-leaflet/lib/GridLayer.js","node_modules/react-leaflet/lib/ImageOverlay.js","node_modules/react-leaflet/lib/LayerGroup.js","node_modules/react-leaflet/lib/LayersControl.js","node_modules/react-leaflet/lib/Map.js","node_modules/react-leaflet/lib/MapComponent.js","node_modules/react-leaflet/lib/MapControl.js","node_modules/react-leaflet/lib/MapLayer.js","node_modules/react-leaflet/lib/Marker.js","node_modules/react-leaflet/lib/Pane.js","node_modules/react-leaflet/lib/Path.js","node_modules/react-leaflet/lib/Polygon.js","node_modules/react-leaflet/lib/Polyline.js","node_modules/react-leaflet/lib/Popup.js","node_modules/react-leaflet/lib/Rectangle.js","node_modules/react-leaflet/lib/ScaleControl.js","node_modules/react-leaflet/lib/TileLayer.js","node_modules/react-leaflet/lib/Tooltip.js","node_modules/react-leaflet/lib/VideoOverlay.js","node_modules/react-leaflet/lib/WMSTileLayer.js","node_modules/react-leaflet/lib/ZoomControl.js","node_modules/react-leaflet/lib/index.js","node_modules/react-leaflet/lib/propTypes/bounds.js","node_modules/react-leaflet/lib/propTypes/children.js","node_modules/react-leaflet/lib/propTypes/controlPosition.js","node_modules/react-leaflet/lib/propTypes/index.js","node_modules/react-leaflet/lib/propTypes/latlng.js","node_modules/react-leaflet/lib/propTypes/latlngList.js","node_modules/react-leaflet/lib/propTypes/layer.js","node_modules/react-leaflet/lib/propTypes/layerContainer.js","node_modules/react-leaflet/lib/propTypes/map.js","node_modules/react-leaflet/lib/propTypes/viewport.js","node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","node_modules/react-redux/lib/components/Context.js","node_modules/react-redux/lib/components/Provider.js","node_modules/react-redux/lib/components/connectAdvanced.js","node_modules/react-redux/lib/connect/connect.js","node_modules/react-redux/lib/connect/mapDispatchToProps.js","node_modules/react-redux/lib/connect/mapStateToProps.js","node_modules/react-redux/lib/connect/mergeProps.js","node_modules/react-redux/lib/connect/selectorFactory.js","node_modules/react-redux/lib/connect/verifySubselectors.js","node_modules/react-redux/lib/connect/wrapMapToProps.js","node_modules/react-redux/lib/exports.js","node_modules/react-redux/lib/hooks/useDispatch.js","node_modules/react-redux/lib/hooks/useReduxContext.js","node_modules/react-redux/lib/hooks/useSelector.js","node_modules/react-redux/lib/hooks/useStore.js","node_modules/react-redux/lib/index.js","node_modules/react-redux/lib/utils/Subscription.js","node_modules/react-redux/lib/utils/batch.js","node_modules/react-redux/lib/utils/bindActionCreators.js","node_modules/react-redux/lib/utils/isPlainObject.js","node_modules/react-redux/lib/utils/reactBatchedUpdates.js","node_modules/react-redux/lib/utils/shallowEqual.js","node_modules/react-redux/lib/utils/useIsomorphicLayoutEffect.js","node_modules/react-redux/lib/utils/verifyPlainObject.js","node_modules/react-redux/lib/utils/warning.js","node_modules/react-router-dom/cjs/react-router-dom.js","node_modules/react-router-dom/cjs/react-router-dom.min.js","node_modules/react-router-dom/index.js","node_modules/react-router-dom/node_modules/history/cjs/history.js","node_modules/react-router-dom/node_modules/history/cjs/history.min.js","node_modules/react-router-dom/node_modules/history/index.js","node_modules/react-router-dom/node_modules/resolve-pathname/cjs/resolve-pathname.js","node_modules/react-router-dom/node_modules/resolve-pathname/cjs/resolve-pathname.min.js","node_modules/react-router-dom/node_modules/resolve-pathname/index.js","node_modules/react-router-dom/node_modules/value-equal/cjs/value-equal.js","node_modules/react-router-dom/node_modules/value-equal/cjs/value-equal.min.js","node_modules/react-router-dom/node_modules/value-equal/index.js","node_modules/react-router/cjs/react-router.js","node_modules/react-router/cjs/react-router.min.js","node_modules/react-router/index.js","node_modules/react-router/node_modules/history/index.js","node_modules/react-router/node_modules/react-is/cjs/react-is.development.js","node_modules/react-router/node_modules/react-is/index.js","node_modules/react-router/node_modules/resolve-pathname/index.js","node_modules/react-router/node_modules/value-equal/index.js","node_modules/react-table/src/defaultProps.js","node_modules/react-table/src/index.js","node_modules/react-table/src/lifecycle.js","node_modules/react-table/src/methods.js","node_modules/react-table/src/pagination.js","node_modules/react-table/src/propTypes.js","node_modules/react-table/src/utils.js","node_modules/react-table/node_modules/react-is/cjs/react-is.development.js","node_modules/react-table/node_modules/react-is/index.js","node_modules/react-to-print/lib/index.js","node_modules/react-transition-group/cjs/CSSTransition.js","node_modules/react-transition-group/cjs/ReplaceTransition.js","node_modules/react-transition-group/cjs/SwitchTransition.js","node_modules/react-transition-group/cjs/Transition.js","node_modules/react-transition-group/cjs/TransitionGroup.js","node_modules/react-transition-group/cjs/TransitionGroupContext.js","node_modules/react-transition-group/cjs/config.js","node_modules/react-transition-group/cjs/index.js","node_modules/react-transition-group/cjs/utils/ChildMapping.js","node_modules/react-transition-group/cjs/utils/PropTypes.js","node_modules/react-transition-group/cjs/utils/reflow.js","node_modules/react/cjs/react.development.js","node_modules/react/cjs/react.production.min.js","node_modules/react/index.js","node_modules/recompose/dist/Recompose.cjs.js","node_modules/redux-oidc/dist/redux-oidc.js","node_modules/redux-persist/lib/autoRehydrate.js","node_modules/redux-persist/lib/constants.js","node_modules/redux-persist/lib/createPersistor.js","node_modules/redux-persist/lib/createTransform.js","node_modules/redux-persist/lib/defaults/asyncLocalStorage.js","node_modules/redux-persist/lib/getStoredState.js","node_modules/redux-persist/lib/index.js","node_modules/redux-persist/lib/persistStore.js","node_modules/redux-persist/lib/purgeStoredState.js","node_modules/redux-persist/lib/utils/isStatePlainEnough.js","node_modules/redux-persist/lib/utils/setImmediate.js","node_modules/redux-thunk/lib/index.js","node_modules/redux/lib/redux.js","node_modules/reselect/lib/defaultMemoize.js","node_modules/reselect/lib/index.js","node_modules/resolve-pathname/cjs/index.js","node_modules/rifm/dist/rifm.cjs.js","node_modules/shallowequal/index.js","node_modules/shortid/index.js","node_modules/shortid/lib/alphabet.js","node_modules/shortid/lib/build.js","node_modules/shortid/lib/generate.js","node_modules/shortid/lib/index.js","node_modules/shortid/lib/is-valid.js","node_modules/shortid/lib/random/random-byte-browser.js","node_modules/shortid/lib/random/random-from-seed.js","node_modules/shortid/lib/util/cluster-worker-id-browser.js","node_modules/simple-assign/index.js","node_modules/symbol-observable/lib/index.js","node_modules/symbol-observable/lib/ponyfill.js","node_modules/tiny-invariant/dist/tiny-invariant.cjs.js","node_modules/tiny-warning/dist/tiny-warning.cjs.js","node_modules/value-equal/cjs/index.js","node_modules/warning/browser.js"],"names":[],"mappings":"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AA,EAaL,YAAM,CAbR,CAAO,CAAP;AAeD;;QAEQ,W,GAAA,W;QAAa,W,GAAA,W;;;ACtFtB;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACXA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACTA;AACA;AACA;AACA;AACA;AACA;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1IA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChiHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC9PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACxgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5cA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9bA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7WA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1ZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC/QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACtKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC/NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpqBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC/MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC/OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC1HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACpOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrlCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC5HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACj6EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACz8BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClkCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvsGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC/NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC/VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AChuBA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnEA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;;ACFA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;;ACJA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;;ACFA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;;ACHA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtPA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;;;;;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACZA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACheA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5BA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;;ACDA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrEA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AClBA;AACA;AACA;AACA;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACPA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACtMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1+BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5wBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1ZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChEA;AACA;AACA;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC5cA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC55LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxwEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC/KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACltkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9pFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzkcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9mBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACptDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACr5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACvnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACz7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACvbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChBA;AACA;AACA;AACA;AACA;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChEA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC/XA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClsBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC1NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACrOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACtNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC/VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC1KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC/LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AChPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AChaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACnQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACtMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9lBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC/kBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AChJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC/XA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9ZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACnvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC3KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpsBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7gBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACl3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC5TA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACxNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC5hBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC1RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AChQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC9kBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACpHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACnPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACxNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACtPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC/SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACnNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AChIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACpYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC/cA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AChJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACtMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC/IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACnOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACtTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7XA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACtKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzsDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrjLA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9qBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvlBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AChkFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC1oBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpqBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3jBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtpzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACtLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;;ACAA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACpGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3bA;AACA;AACA;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACp7BA;AACA;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7EA;AACA;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzzBA;AACA;AACA;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC5QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC/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AAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;ACAr4b;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxFA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC/sBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"app.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i {\r\n const { basename, apiUrl } = globals.urls;\r\n axios.defaults.baseURL = apiUrl;\r\n moment.locale(globals.momentLocale);\r\n const history = createBrowserHistory({ basename });\r\n const store = injectHistoryIntoStore(history);\r\n\r\n persistStore(store, { transforms: [persistTransform] }, () => {\r\n processUser(store, history);\r\n\r\n const dataDog = globals.dataDogSettings;\r\n if (dataDog.hasDataDogConfig) {\r\n datadogRum.init({\r\n applicationId: dataDog.applicationId,\r\n clientToken: dataDog.clientToken,\r\n site: dataDog.site,\r\n service: dataDog.service,\r\n env: dataDog.env,\r\n version: dataDog.version,\r\n sampleRate: 100,\r\n trackInteractions: true,\r\n });\r\n }\r\n\r\n ReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n } />\r\n \r\n {routes}\r\n \r\n \r\n \r\n ,\r\n document.querySelector('app'),\r\n );\r\n });\r\n};\r\n","import { TEAM_AVAILABILITY_REQUEST, TEAM_AVAILABILITY_SUCCESS, TEAM_AVAILABILITY_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\n\r\nexport function getTeamAvailability(data) {\r\n return {\r\n types: [TEAM_AVAILABILITY_REQUEST, TEAM_AVAILABILITY_SUCCESS, TEAM_AVAILABILITY_FAILURE],\r\n shouldCallAPI: () => true,\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetStaffAvailability${queryStringBuilder(data)}`,\r\n }),\r\n };\r\n}\r\n","export * from './getTeamAvailability';\r\n","import {\r\n AUTOALLOCATE_WEIGHTINGS_GET_REQUEST,\r\n AUTOALLOCATE_WEIGHTINGS_GET_SUCCESS,\r\n AUTOALLOCATE_WEIGHTINGS_GET_FAILURE,\r\n AUTOALLOCATE_WEIGHTINGS_UPDATE_REQUEST,\r\n AUTOALLOCATE_WEIGHTINGS_UPDATE_SUCCESS,\r\n AUTOALLOCATE_WEIGHTINGS_UPDATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst overrideApiUrl = globals.urls.autoAllocateApiUrl;\r\n\r\nfunction getAutoAllocateWeightings() {\r\n return {\r\n types: [\r\n AUTOALLOCATE_WEIGHTINGS_GET_REQUEST,\r\n AUTOALLOCATE_WEIGHTINGS_GET_SUCCESS,\r\n AUTOALLOCATE_WEIGHTINGS_GET_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: 'v1/query/GetAutoAllocateWeightings',\r\n overrideApiUrl,\r\n }),\r\n };\r\n}\r\n\r\nfunction updateAutoAllocateWeightings(data) {\r\n return {\r\n types: [\r\n AUTOALLOCATE_WEIGHTINGS_UPDATE_REQUEST,\r\n AUTOALLOCATE_WEIGHTINGS_UPDATE_SUCCESS,\r\n AUTOALLOCATE_WEIGHTINGS_UPDATE_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: {\r\n AutoAllocateWeightings: data,\r\n },\r\n path: 'v1/command/UpdateAutoAllocateWeightings',\r\n overrideApiUrl,\r\n }),\r\n };\r\n}\r\n\r\nexport { getAutoAllocateWeightings, updateAutoAllocateWeightings };\r\n","import { apiPostModel, postApi } from '../../../useApiHook';\r\n\r\nexport const createClinicianMileageCap = (auth, entityModel, callback) => {\r\n const postModel = apiPostModel('CreateClinicianMileageCap', entityModel, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const createOrUpdateClinicianStartingPostcode = (auth, entityModel, callback) => {\r\n const postModel = apiPostModel('CreateOrUpdateClinicianStartingPostcode', entityModel, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const createOrEditNonPatientActivityType = (auth, entityModel, callback) => {\r\n const enpointName = entityModel.Id > 0 ? 'EditNonPatientActivityType' : 'CreateNonPatientActivityType';\r\n const postModel = apiPostModel(enpointName, entityModel, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const createOrEditActivityType = (auth, entityModel, callback) => {\r\n const enpointName = entityModel.id > 0 ? 'EditActivityType' : 'CreateActivityType';\r\n const postModel = apiPostModel(enpointName, entityModel, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const updateReasonStatus = (auth, model, callback) => {\r\n const postModel = apiPostModel('UpdateReasonStatus', model, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const createReason = (auth, model, callback) => {\r\n const postModel = apiPostModel('CreateReason', model, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const createOrEditActivity = (auth, model, callback, errorCallback) => {\r\n const enpointName = model.ActivityId > 0 ? 'UpdateActivity' : 'CreateActivity';\r\n const postModel = apiPostModel(enpointName, model, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const updateActivityActiveStatus = (auth, model, callback, errorCallback) => {\r\n const enpointName = model.IsActive ? 'DeactivateActivity' : 'ActivateActivity';\r\n const postModel = apiPostModel(enpointName, { ActivityId: model.ActivityId }, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const createCancellingParty = (auth, model, callback) => {\r\n const postModel = apiPostModel('CreateCancellingParty', model, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const updateCancellingPartyStatus = (auth, model, callback) => {\r\n const postModel = apiPostModel('UpdateCancellingPartyStatus', model, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const editProviderTeamMapping = (auth, model, callback) => {\r\n const postModel = apiPostModel('UpdateProviderTeamMapping', model, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const sendRequestToExternalProvider = (auth, model, callback) => {\r\n const postModel = apiPostModel('SendAppointment', model, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const discardRequestToExternalProvider = (auth, model, callback) => {\r\n const postModel = apiPostModel('DiscardExternalProviderRequest', model, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const editClinicianUsernameMapping = (auth, model, callback, errorCallback) => {\r\n const postModel = apiPostModel('UpdateClinicianUsernameMapping', model, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const updateConfigureAssistedPlanner = (auth, model, callback, errorCallback) => {\r\n const postModel = apiPostModel('UpdateConfigureAssistedPlanner', model, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const createOutcomeCode = (auth, model, callback, errorCallback) => {\r\n const postModel = apiPostModel('CreateOutcomeCode', model, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const updateOutcomeCodeStatus = (auth, model, callback) => {\r\n const postModel = apiPostModel('UpdateOutcomeCodeStatus', model, callback);\r\n postApi(auth, postModel);\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n\r\nexport const useFetchActivities = (params, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [isDataLoading, setIsDataLoading] = useState(true);\r\n const [state, setState] = useState({ response: null, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n const [isTableDataLoading, setIsTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetActivities', params, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n setIsTableDataLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setIsTableDataLoading(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => {\r\n setRequestResponse(result.data);\r\n setIsDataLoading(false);\r\n })\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setIsTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n\r\n if (state.response === null) {\r\n state.response = [];\r\n } else {\r\n state.response.mappedActivities = state.response.activities.map(a => {\r\n return {\r\n id: a.activityId,\r\n description: a.name,\r\n activityTypeId: a.activityType.id,\r\n activityTypeName: a.activityType.name,\r\n ragId: a.ragStatus.id,\r\n ragName: a.ragStatus.name,\r\n requiredClinicians: a.requiredClinicians,\r\n duration: a.duration,\r\n timeAverage: a.timeAverage,\r\n bandId: a.band.id,\r\n bandName: a.band.name,\r\n skillIds: a.skills.map(s => s.id),\r\n varianceFactors: a.activityVariancesFactors,\r\n status: a.isActive,\r\n isAssigned: a.isAssigned,\r\n externalCode: a.externalCode,\r\n orgUnitIds: a.orgUnits.map(o => o.id),\r\n orgUnitsNames: a.orgUnits.map(o => o.name).join(', '),\r\n };\r\n });\r\n }\r\n\r\n return {\r\n data: state.response,\r\n isDataLoading,\r\n auth,\r\n error,\r\n isTableDataLoading,\r\n };\r\n};\r\n\r\nexport const useFetchBandOptions = forceReload => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetBandsOptions', forceReload);\r\n const setRequestResponse = response => setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response ? state.response.options : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n };\r\n};\r\n\r\nexport const useFetchSkillsOptions = forceReload => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetSkillsOptions', forceReload);\r\n const setRequestResponse = response => setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response ? state.response.options : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n };\r\n};\r\n\r\nexport const useFetchActivityVarianceOptions = (activityId, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetActivityVarianceIntervals', { activityId }, forceReload);\r\n const setRequestResponse = response => setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response ? state.response.options : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n };\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n\r\nexport const useFetchActivityTypes = (visitType, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n const [isTableDataLoading, setisTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetActivityTypesByVisitType', { visitType }, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n setisTableDataLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setisTableDataLoading(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n setisTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response ? state.response.options : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n isTableDataLoading,\r\n };\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n\r\nexport const useFetchEventTypes = forceReload => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetAuditTypeOptions', forceReload);\r\n const setRequestResponse = response => setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n return {\r\n data: state.response ? state.response.options : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n };\r\n};\r\n\r\nexport const useFetchAuditEvents = (model, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n const [isTableDataLoading, setisTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetAuditEvents', model, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n setisTableDataLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setisTableDataLoading(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n setisTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response != null ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n isTableDataLoading,\r\n };\r\n};\r\n\r\nexport const useFetchAuditEventDetails = (eventEntryId, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetAuditEventDetails', { id: eventEntryId }, forceReload);\r\n const setRequestResponse = response => setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response != null ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n };\r\n};\r\n\r\nexport const useFetchAuditTrails = (auditTrailType, entityId, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetAuditTrails', { entityId, auditTrailType }, forceReload);\r\n const setRequestResponse = response => setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => {\r\n setRequestResponse(result.data);\r\n })\r\n .catch(() => {\r\n setError('Error while loading audit trails.');\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response != null ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n };\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n\r\nexport const useFetchCancellingParties = (model, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({\r\n response: null,\r\n isDataLoading: true,\r\n refresh: forceReload,\r\n error: null,\r\n isTableDataLoading: true,\r\n });\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetCancellingParties', model, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload, isTableDataLoading: false });\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setState({ ...state, isTableDataLoading: true });\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setState({\r\n ...state,\r\n isDataLoading: false,\r\n isTableDataLoading: false,\r\n error: ex.message,\r\n });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n return {\r\n data: state.response || [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error: state.error,\r\n isTableDataLoading: state.isTableDataLoading,\r\n };\r\n};\r\n","import { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n\r\nexport const useFetchConfigureAssistedPlanner = forceReload => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n const getModel = apiGetModel('GetConfigureAssistedPlanner', {}, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, refresh: forceReload });\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n return {\r\n data: state.response != null ? state.response : {},\r\n auth,\r\n error,\r\n };\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n\r\nexport const useFetchConfigureClinician = model => {\r\n const forceRefresh = model.forceRefresh;\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceRefresh });\r\n const [error, setError] = useState(null);\r\n const [isTableDataLoading, setIsTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetCliniciansStartingPostcode', model, forceRefresh);\r\n\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: false });\r\n setIsTableDataLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setIsTableDataLoading(true);\r\n setState({ ...state, isDataLoading: true });\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n setIsTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n isTableDataLoading,\r\n };\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n\r\nexport const useTeamMappings = (model, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n const [isTableDataLoading, setisTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetExternalProviderTeamMapping', model, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n setisTableDataLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setisTableDataLoading(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n setisTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response != null ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n isTableDataLoading,\r\n };\r\n};\r\n\r\nexport const useRequestLogs = (model, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n const [isTableDataLoading, setisTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetExternalProviderRequests', model, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n setisTableDataLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setisTableDataLoading(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n setisTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response != null ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n isTableDataLoading,\r\n };\r\n};\r\n\r\nexport const useAppointmentDetails = (model, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetAssignmentFromExternalProvider', model, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response != null ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useClinicianUsernameMappings = (model, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n const [isTableDataLoading, setisTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetExternalProviderClinicianUsernameMapping', model, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n setisTableDataLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setisTableDataLoading(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n setisTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response != null ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n isTableDataLoading,\r\n };\r\n};\r\n\r\nexport const useExternalProviderTypeForTenant = forceReload => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetExternalProviderTypeForCurrentUser', forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response != null ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n };\r\n};\r\n\r\nexport const useFetchOutcomeCodes = forceReload => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n const [isTableDataLoading, setisTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetOutcomeCodes', {}, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n setisTableDataLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setisTableDataLoading(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n setisTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n return {\r\n data: state.response ? state.response.options : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n isTableDataLoading,\r\n };\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n\r\nexport const useFetchMileageCap = model => {\r\n const forceRefresh = model.forceRefresh;\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceRefresh });\r\n const [error, setError] = useState(null);\r\n const [isTableDataLoading, setIsTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetCliniciansMileageCap', model, forceRefresh);\r\n\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: false });\r\n setIsTableDataLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setIsTableDataLoading(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n setIsTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n isTableDataLoading,\r\n };\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n\r\nexport const useFetchNonPatientActivityTypes = forceRefresh => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceRefresh });\r\n const [error, setError] = useState(null);\r\n const [isTableDataLoading, setIsTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetNonPatientActivityTypesOptions', {}, forceRefresh);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: false });\r\n setIsTableDataLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setIsTableDataLoading(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n setIsTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response ? state.response.options : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n isTableDataLoading,\r\n };\r\n};\r\n","export * from './fetchMileageCap';\r\nexport * from './fetchNonPatientActivity';\r\nexport * from './fetchConfigureAssistedPlanner';\r\nexport * from './reasons';\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n\r\nexport const useFetchReasons = (model, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({\r\n response: null,\r\n isDataLoading: true,\r\n refresh: forceReload,\r\n error: null,\r\n isTableDataLoading: true,\r\n });\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetReasonsByType', model, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload, isTableDataLoading: false });\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setState({ ...state, isTableDataLoading: true });\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setState({\r\n ...state,\r\n isDataLoading: false,\r\n isTableDataLoading: false,\r\n error: ex.message,\r\n });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response || [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error: state.error,\r\n isTableDataLoading: state.isTableDataLoading,\r\n };\r\n};\r\n","export * from './systemInfo';\r\nexport * from './autoAllocateWeightings';\r\n","import {\r\n SYNCHRONIZE_REQUEST,\r\n SYNCHRONIZE_SUCCESS,\r\n SYNCHRONIZE_FAILURE,\r\n SYSTEM_INFO_GET_REQUEST,\r\n SYSTEM_INFO_GET_SUCCESS,\r\n SYSTEM_INFO_GET_FAILURE,\r\n SYNCHRONIZATION_DETAILS_GET_REQUEST,\r\n SYNCHRONIZATION_DETAILS_GET_SUCCESS,\r\n SYNCHRONIZATION_DETAILS_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction synchronize(dateFrom, dateTo) {\r\n return {\r\n types: [SYNCHRONIZE_REQUEST, SYNCHRONIZE_SUCCESS, SYNCHRONIZE_FAILURE],\r\n shouldCallAPI: () => true,\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: {\r\n synchronizeFrom: dateFrom,\r\n synchronizeTo: dateTo,\r\n },\r\n path: 'v1/command/ApiRequestFullSynchronization',\r\n }),\r\n };\r\n}\r\n\r\nfunction getSystemInfo() {\r\n return {\r\n types: [SYSTEM_INFO_GET_REQUEST, SYSTEM_INFO_GET_SUCCESS, SYSTEM_INFO_GET_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: 'v1/query/GetSystemInfo',\r\n }),\r\n };\r\n}\r\n\r\nfunction getSynchronizationDetails() {\r\n return {\r\n types: [\r\n SYNCHRONIZATION_DETAILS_GET_REQUEST,\r\n SYNCHRONIZATION_DETAILS_GET_SUCCESS,\r\n SYNCHRONIZATION_DETAILS_GET_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: 'v1/query/GetSynchronizationDetails',\r\n }),\r\n };\r\n}\r\n\r\nexport { synchronize, getSystemInfo, getSynchronizationDetails };\r\n","import { apiPostModel, postApi } from '../../useApiHook';\r\n\r\nexport const postCreateOrEditClinicianGroup = (auth, entityModel, callback, errorCallback) => {\r\n const postModel = apiPostModel('CreateClinicianGroup', entityModel, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const disableClinicianGroup = (auth, entityModel, callback, errorCallback) => {\r\n const postModel = apiPostModel('DisableClinicianGroup', entityModel, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n","import { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel, baseRequestParams } from '../../useApiHook';\r\nimport { callAxios } from '../../../services/callAPIMiddleware';\r\n\r\nexport const useFetchClinicianGroups = (params, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n const [isUpdateTriggered, setIsUpdateTriggered] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetClinicianGroups', params, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n setIsUpdateTriggered(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setIsUpdateTriggered(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n setIsUpdateTriggered(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n\r\n if (state.response === null) {\r\n state.response = [];\r\n } else {\r\n state.response.mappedClinicianGroups = state.response.clinicianGroups.map(g => {\r\n return {\r\n id: g.id,\r\n name: g.name,\r\n clinicianNames: g.clinicians.map(c => c.name).join(', '),\r\n clinicianOptions: g.clinicians,\r\n orgUnitOption: g.orgUnit,\r\n orgUnitName: g.orgUnit.name,\r\n validFrom: g.validFrom,\r\n validTo: g.initialValidTo,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n data: state.response,\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n isUpdateTriggered,\r\n };\r\n};\r\n\r\nexport const useFetchClinicianGroupsOnDay = forceReload => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n const [isUpdateTriggered, setIsUpdateTriggered] = useState(true);\r\n\r\n const baseRequestModel = baseRequestParams();\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetClinicianGroupsOnDay', baseRequestModel, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n setIsUpdateTriggered(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setIsUpdateTriggered(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n setIsUpdateTriggered(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n\r\n if (state.response === null) {\r\n state.response = [];\r\n } else {\r\n state.response.mappedClinicianGroups = state.response.clinicianGroups.map(g => {\r\n return {\r\n id: g.id,\r\n name: g.name,\r\n clinicianNames: g.clinicians.map(c => c.name).join(', '),\r\n clinicianIds: g.clinicians.map(c => c.id),\r\n orgUnitName: g.orgUnit.name,\r\n isValidOnDay: g.isValidOnDay,\r\n reasonMsg: g.isInvalidMessage,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n data: state.response,\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n isUpdateTriggered,\r\n };\r\n};\r\n","import {\r\n AUTO_ALLOCATE_REQUEST,\r\n AUTO_ALLOCATE_SUCCESS,\r\n AUTO_ALLOCATE_FAILURE,\r\n AUTO_UNALLOCATE_REQUEST,\r\n AUTO_UNALLOCATE_SUCCESS,\r\n AUTO_UNALLOCATE_FAILURE,\r\n GET_AUTO_ALLOCATION_DETAILS_SUCCESS,\r\n GET_AUTO_ALLOCATION_DETAILS_FAILURE,\r\n GET_AUTO_ALLOCATION_DETAILS_REQUEST,\r\n AUTO_ALLOCATE_UPDATE_DATES,\r\n AUTO_ALLOCATE_LOG,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport { autoAllocateDate, autoAllocateOrgUnitId } from '../../../reducers/areas/dailyPlanning/selectors';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst overrideApiUrl = globals.urls.autoAllocateApiUrl;\r\n\r\nexport function setAutoAllocateDateAndTeam(data) {\r\n return {\r\n type: AUTO_ALLOCATE_UPDATE_DATES,\r\n data,\r\n };\r\n}\r\n\r\nexport function autoAllocate(queryData) {\r\n return {\r\n types: [AUTO_ALLOCATE_REQUEST, AUTO_ALLOCATE_SUCCESS, AUTO_ALLOCATE_FAILURE],\r\n orgUnitId: queryData.orgUnitId || 0,\r\n date: queryData.date || null,\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n path: 'v1/command/AutoAllocate',\r\n data: queryData,\r\n overrideApiUrl,\r\n }),\r\n };\r\n}\r\n\r\nexport function resetRunningAutoAllocate(queryData) {\r\n return {\r\n type: AUTO_ALLOCATE_SUCCESS,\r\n orgUnitId: queryData.orgUnitId || 0,\r\n date: queryData.date || null,\r\n };\r\n}\r\n\r\nexport function getAutoAllocationDetails() {\r\n return {\r\n types: [\r\n GET_AUTO_ALLOCATION_DETAILS_REQUEST,\r\n GET_AUTO_ALLOCATION_DETAILS_SUCCESS,\r\n GET_AUTO_ALLOCATION_DETAILS_FAILURE,\r\n ],\r\n buildCallParameters: state => ({\r\n method: HTTP_METHOD.GET,\r\n path: 'v1/query/GetAutoAllocationDetails',\r\n selectedDate: autoAllocateDate(state),\r\n orgUnitId: autoAllocateOrgUnitId(state),\r\n overrideApiUrl,\r\n }),\r\n };\r\n}\r\n\r\nexport function autoUnallocate(queryData) {\r\n return {\r\n types: [AUTO_UNALLOCATE_REQUEST, AUTO_UNALLOCATE_SUCCESS, AUTO_UNALLOCATE_FAILURE],\r\n orgUnitId: queryData.orgUnitId || 0,\r\n date: queryData.date || null,\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n path: 'v1/command/AutoUnallocate',\r\n data: queryData,\r\n overrideApiUrl,\r\n }),\r\n };\r\n}\r\n\r\nexport function setAutoAllocationLogSetting(createLog) {\r\n return {\r\n type: AUTO_ALLOCATE_LOG,\r\n createLog,\r\n };\r\n}\r\n","import moment from 'moment';\r\nimport fileSaver from 'file-saver';\r\n\r\nimport axios from '../../../utils/axios';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport {\r\n DOWNLOAD_CLINICIAN_PLAN,\r\n DOWNLOAD_CLINICIAN_PLAN_FAILURE,\r\n DOWNLOAD_CLINICIAN_PLAN_SUCCESS,\r\n} from '../../constants/types';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\n\r\nconst startDownload = () => ({\r\n type: DOWNLOAD_CLINICIAN_PLAN,\r\n});\r\n\r\nconst errorDownload = error => ({\r\n type: DOWNLOAD_CLINICIAN_PLAN_FAILURE,\r\n error,\r\n});\r\n\r\nconst successDownload = () => ({\r\n type: DOWNLOAD_CLINICIAN_PLAN_SUCCESS,\r\n});\r\n\r\nexport const downloadPlan = (clinicianId, reportDate, auth, name) => async dispatch => {\r\n const date = moment(reportDate).format(globals.dateFormats.date);\r\n const isAuthObject = typeof auth === 'object' && auth !== null;\r\n const parameters = {\r\n clinicianId,\r\n date,\r\n };\r\n const token = `Bearer ${isAuthObject ? auth.jwtToken : auth}`;\r\n\r\n dispatch(startDownload());\r\n\r\n try {\r\n const response = await axios({\r\n url: `v1/query/GenerateClinicianPlan${queryStringBuilder(parameters)}&tid=${auth.tid}`,\r\n responseType: 'blob',\r\n headers: {\r\n Authorization: token,\r\n },\r\n });\r\n\r\n fileSaver.saveAs(\r\n response.data,\r\n `${locale.getMsg('planForClinician', [name.replace(/([^a-z0-9 ]+)/gi, ''), date])}.pdf`,\r\n );\r\n dispatch(successDownload());\r\n } catch (error) {\r\n dispatch(errorDownload(error));\r\n }\r\n};\r\n","import fileSaver from 'file-saver';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport axios from '../../../utils/axios';\r\nimport { HTTP_METHOD } from '../../../actions/constants/methods';\r\n\r\nconst tppApiUrl = globals.urls.tppApiUrl;\r\n\r\nexport const downloadS1Link = async tenantCode => {\r\n const result = await axios({\r\n baseURL: tppApiUrl,\r\n method: HTTP_METHOD.Get,\r\n url: `/DownloadS1LinkInstaller?tenantCode=${tenantCode}`,\r\n responseType: 'blob',\r\n });\r\n\r\n fileSaver.saveAs(new Blob([result.data], { type: 'application/zip' }), 'S1LinkInstaller.zip');\r\n};\r\n","import { refreshScheduler } from './scheduler';\r\nimport { FILTERS_UPDATE } from '../../constants/types';\r\n\r\nfunction updateFilters(filter) {\r\n return {\r\n type: FILTERS_UPDATE,\r\n filter,\r\n };\r\n}\r\n\r\nfunction updateFiltersAndRefresh(filters) {\r\n return dispatch => {\r\n dispatch(updateFilters(filters));\r\n dispatch(refreshScheduler());\r\n };\r\n}\r\n\r\nexport { updateFilters, updateFiltersAndRefresh };\r\n","import {\r\n ASSIGNMENT_TREATMENT_INSTANCE_GET_REQUEST,\r\n ASSIGNMENT_TREATMENT_INSTANCE_GET_SUCCESS,\r\n ASSIGNMENT_TREATMENT_INSTANCE_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function getAssignmentInfo(id) {\r\n return {\r\n types: [\r\n ASSIGNMENT_TREATMENT_INSTANCE_GET_REQUEST,\r\n ASSIGNMENT_TREATMENT_INSTANCE_GET_SUCCESS,\r\n ASSIGNMENT_TREATMENT_INSTANCE_GET_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetAssignmentTreatmentInfo?TreatmentInstanceId=${id}`,\r\n }),\r\n };\r\n}\r\n","import {\r\n DAILYPLANNING_DETAILS_REQUEST,\r\n DAILYPLANNING_DETAILS_SUCCESS,\r\n DAILYPLANNING_DETAILS_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport { selectSelectedDate, selectSelectedTeam } from '../../../reducers/areas/dailyPlanning';\r\nimport {\r\n setTreatmentInstances,\r\n setPostings,\r\n setTreatmentInstancesLoading,\r\n setPostingsLoading,\r\n getLocationsForPostings,\r\n} from '../../entities';\r\nimport { callAPIMiddlewarePromise } from '../../../services/callAPIMiddleware';\r\nimport { getSelectorOptions } from '../../uiElements/selectors';\r\nimport { bandsEndpoint } from '../../../settings/constants';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\n\r\nexport function getDailyPlanningDetails() {\r\n return (dispatch, getState) => {\r\n const currentState = getState();\r\n const isMapView = currentState.areas.dailyPlanning.schedulerMapView.mapViewState;\r\n const {\r\n selectedDate,\r\n scheduler: { isNightMode },\r\n } = currentState.areas.dailyPlanning;\r\n\r\n const action = {\r\n types: [DAILYPLANNING_DETAILS_REQUEST, DAILYPLANNING_DETAILS_SUCCESS, DAILYPLANNING_DETAILS_FAILURE],\r\n shouldCallAPI: () => true,\r\n buildCallParameters: state => {\r\n const parameters = {\r\n selectedDate: selectSelectedDate(state),\r\n teamIds: selectSelectedTeam(state),\r\n isNightMode,\r\n IsSchedulerDayNightMode: true,\r\n };\r\n return {\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetDailyPlanningDetails${queryStringBuilder(parameters)}`,\r\n };\r\n },\r\n };\r\n\r\n dispatch(setTreatmentInstancesLoading(false));\r\n dispatch(setPostingsLoading(false));\r\n dispatch(getSelectorOptions(bandsEndpoint, 'bands'));\r\n\r\n callAPIMiddlewarePromise(action, dispatch, getState).then(response => {\r\n const { SchedulerDayModeStartTime, SchedulerNightModeStartTime } = getState().entities.settings.appSettings;\r\n\r\n dispatch(setTreatmentInstances(response));\r\n dispatch(\r\n setPostings(response, isNightMode, selectedDate, SchedulerDayModeStartTime, SchedulerNightModeStartTime),\r\n );\r\n if (isMapView) {\r\n dispatch(getLocationsForPostings(true));\r\n }\r\n });\r\n };\r\n}\r\n","import {\r\n HOME_TO_VISIT_POSTCODE_DISTANCE_GET_REQUEST,\r\n HOME_TO_VISIT_POSTCODE_DISTANCE_GET_SUCCESS,\r\n HOME_TO_VISIT_POSTCODE_DISTANCE_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function getHomeToVisitPostcodeDistance(treatmentId, assignmentId) {\r\n return {\r\n types: [\r\n HOME_TO_VISIT_POSTCODE_DISTANCE_GET_REQUEST,\r\n HOME_TO_VISIT_POSTCODE_DISTANCE_GET_SUCCESS,\r\n HOME_TO_VISIT_POSTCODE_DISTANCE_GET_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetHomeToVisitLocationDistance?TreatmentInstanceId=${treatmentId}&AssignmentId=${assignmentId}`,\r\n }),\r\n };\r\n}\r\n","import {\r\n POSTCODE_DISTANCE_GET_REQUEST,\r\n POSTCODE_DISTANCE_GET_SUCCESS,\r\n POSTCODE_DISTANCE_GET_FAILURE,\r\n} from '../../constants/types';\r\n\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport { selectCliniciansPostcodes } from '../../../reducers/areas/dailyPlanning/selectors';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\n\r\nexport function getPostcodeDistance(treatmentPostcode) {\r\n return {\r\n types: [POSTCODE_DISTANCE_GET_REQUEST, POSTCODE_DISTANCE_GET_SUCCESS, POSTCODE_DISTANCE_GET_FAILURE],\r\n buildCallParameters: state => {\r\n const parameters = {\r\n treatmentPostcode,\r\n clinicianBasePostcodes: selectCliniciansPostcodes(state),\r\n };\r\n return {\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetMileageByPostcode${queryStringBuilder(parameters)}`,\r\n };\r\n },\r\n };\r\n}\r\n","import {\r\n TEAM_AVAILABILITY_GET_REQUEST,\r\n TEAM_AVAILABILITY_GET_SUCCESS,\r\n TEAM_AVAILABILITY_GET_FAILURE,\r\n UPDATE_TIME_LEFT_TO_ALLOCATE,\r\n} from '../../constants/types';\r\nimport axios from '../../../utils/axios';\r\n\r\nconst startRequest = () => ({\r\n type: TEAM_AVAILABILITY_GET_REQUEST,\r\n});\r\n\r\nconst errorRequest = error => ({\r\n type: TEAM_AVAILABILITY_GET_FAILURE,\r\n error,\r\n});\r\n\r\nconst successRequest = response => ({\r\n type: TEAM_AVAILABILITY_GET_SUCCESS,\r\n response,\r\n});\r\n\r\nconst successTimeLeftToAlocateRequest = timeleft => ({\r\n type: UPDATE_TIME_LEFT_TO_ALLOCATE,\r\n duration: timeleft,\r\n});\r\n\r\nexport const getTeamAvailability = (teamId, date, jwtToken, timeleft) => async dispatch => {\r\n const token = `Bearer ${jwtToken}`;\r\n dispatch(startRequest());\r\n\r\n try {\r\n const response = await axios({\r\n url: `v1/query/GetTeamAvailability?teamId=${teamId}&date=${date}`,\r\n headers: {\r\n Authorization: token,\r\n },\r\n });\r\n dispatch(successRequest(response));\r\n dispatch(successTimeLeftToAlocateRequest(timeleft));\r\n } catch (error) {\r\n dispatch(errorRequest(error));\r\n }\r\n};\r\n","import {\r\n TREATMENT_DETAILS_GET_REQUEST,\r\n TREATMENT_DETAILS_GET_SUCCESS,\r\n TREATMENT_DETAILS_GET_FAILURE,\r\n} from '../../constants/types';\r\n\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function getTreatmentInstanceDetails(treatmentId, treatmentInstanceId, occurrence) {\r\n return {\r\n types: [TREATMENT_DETAILS_GET_REQUEST, TREATMENT_DETAILS_GET_SUCCESS, TREATMENT_DETAILS_GET_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetTreatmentInstanceDetails?treatmentId=${treatmentId}&treatmentInstanceId=${treatmentInstanceId}&occurrence=${occurrence}`,\r\n }),\r\n };\r\n}\r\n","import { HOME_TO_VISIT_POSTCODE_DISTANCE_ERROR_DISMISS } from '../../constants/types';\r\n\r\nfunction dismissError() {\r\n return {\r\n type: HOME_TO_VISIT_POSTCODE_DISTANCE_ERROR_DISMISS,\r\n };\r\n}\r\n\r\nexport { dismissError };\r\n","export * from './filters';\r\nexport * from './scheduler';\r\nexport * from './selectedDate';\r\nexport * from './userMessages';\r\nexport * from './treatmentInstanceSorting';\r\nexport * from './getTreatmentInstanceDetails';\r\nexport * from './selectClinicianOnMap';\r\nexport * from './travelTime';\r\nexport * from './downloadPlan';\r\nexport * from './autoAllocate';\r\nexport * from './getDailyPlanningDetails';\r\nexport * from './setDefaultOrgUnitForDay';\r\nexport * from './getTeamAvailability';\r\nexport * from './getAssignmentInfo';\r\nexport * from './popover';\r\nexport * from './getPostcodeDistance';\r\nexport * from './getHometoVisitDistance';\r\nexport * from './homeToVisitUserMessages';\r\nexport * from './moreOptions';\r\n","import { LIVE_TRACKING_UPDATE, BULK_CANCEL_ISINPROGRESS } from '../../constants/types';\r\n\r\nfunction setLiveTrackingSetting(value) {\r\n return {\r\n type: LIVE_TRACKING_UPDATE,\r\n value,\r\n };\r\n}\r\n\r\nfunction setBulkCancelProgress(value) {\r\n return {\r\n type: BULK_CANCEL_ISINPROGRESS,\r\n value,\r\n };\r\n}\r\n\r\nexport { setLiveTrackingSetting, setBulkCancelProgress };\r\n","import { RESET_ASSIGNMENT_INFO } from '../../constants/types';\r\n\r\nexport function resetPopover() {\r\n return {\r\n type: RESET_ASSIGNMENT_INFO,\r\n };\r\n}\r\n","import { getDailyPlanningDetails } from './getDailyPlanningDetails';\r\nimport { SCHEDULER_MAP_VIEW_CHANGE, SCHEDULER_MODE_VIEW_TOGGLE, SET_SCHEDULER_MODE } from '../../constants/types';\r\n\r\nexport function refreshScheduler() {\r\n return dispatch => {\r\n dispatch(getDailyPlanningDetails());\r\n };\r\n}\r\n\r\nexport function changeSchedulerMapView(isMapView) {\r\n return {\r\n type: SCHEDULER_MAP_VIEW_CHANGE,\r\n isMapView,\r\n };\r\n}\r\n\r\nexport function setSchedulerModeView(isNightMode) {\r\n return {\r\n type: SET_SCHEDULER_MODE,\r\n payload: isNightMode,\r\n };\r\n}\r\n\r\nexport function toggleSchedulerModeView() {\r\n return {\r\n type: SCHEDULER_MODE_VIEW_TOGGLE,\r\n };\r\n}\r\n","import { SCHEDULER_MAP_CLINICIAN_SELECT } from '../../constants/types';\r\n\r\nexport function selectClinicianOnMap(clinicianId) {\r\n return {\r\n type: SCHEDULER_MAP_CLINICIAN_SELECT,\r\n clinicianId,\r\n };\r\n}\r\n","import { refreshScheduler } from './scheduler';\r\nimport { getCurrentUserOrgUnits } from '../../entities';\r\nimport { SELECTED_DATE_UPDATE } from '../../constants/types';\r\n\r\nfunction selectDate(date) {\r\n return {\r\n type: SELECTED_DATE_UPDATE,\r\n date,\r\n };\r\n}\r\n\r\nfunction selectDateAndUpdate(date) {\r\n return dispatch => {\r\n dispatch(selectDate(date));\r\n };\r\n}\r\n\r\nfunction selectDateAndUpdateReload(date, currentPath) {\r\n return dispatch => {\r\n dispatch(selectDate(date));\r\n if (currentPath.includes('DailyPlanning')) dispatch(refreshScheduler());\r\n dispatch(getCurrentUserOrgUnits(date));\r\n };\r\n}\r\n\r\nexport { selectDateAndUpdate, selectDateAndUpdateReload };\r\n","import {\r\n GET_SERVICES_DETAILS_REQUEST,\r\n GET_SERVICES_DETAILS_SUCCESS,\r\n GET_SERVICES_DETAILS_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport { autoAllocateDate, autoAllocateOrgUnitId } from '../../../reducers/areas/dailyPlanning/selectors';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\n\r\nexport function getServicesDetails() {\r\n return {\r\n types: [GET_SERVICES_DETAILS_REQUEST, GET_SERVICES_DETAILS_SUCCESS, GET_SERVICES_DETAILS_FAILURE],\r\n\r\n buildCallParameters: state => {\r\n const parameters = {\r\n selectedDate: autoAllocateDate(state),\r\n orgUnitId: autoAllocateOrgUnitId(state),\r\n };\r\n return {\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetServicesDetails${queryStringBuilder(parameters)}`,\r\n };\r\n },\r\n };\r\n}\r\n","import { ORG_UNITS_DEFAULT_FOR_DAY_SET } from '../../constants/types';\r\nimport { getDailyPlanningDetails } from './';\r\n\r\nfunction setDefaultOrgUnit(orgUnitId) {\r\n return {\r\n type: ORG_UNITS_DEFAULT_FOR_DAY_SET,\r\n orgUnitId,\r\n };\r\n}\r\n\r\nfunction setDefaultOrgUnitForDay(orgUnitId) {\r\n return async dispatch => {\r\n await dispatch(setDefaultOrgUnit(orgUnitId));\r\n await dispatch(getDailyPlanningDetails());\r\n };\r\n}\r\n\r\nexport { setDefaultOrgUnitForDay };\r\n","import { HTTP_METHOD } from '../../constants/methods';\r\nimport {\r\n TRAVEL_TIME_FOR_TREATMENT_GET_REQUEST,\r\n TRAVEL_TIME_FOR_TREATMENT_GET_SUCCESS,\r\n TRAVEL_TIME_FOR_TREATMENT_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { selectSelectedDate, selectSelectedTeam } from '../../../reducers/areas/dailyPlanning/selectors';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\n\r\nexport function getTravelTimesByPostcode(postcode) {\r\n return {\r\n types: [\r\n TRAVEL_TIME_FOR_TREATMENT_GET_REQUEST,\r\n TRAVEL_TIME_FOR_TREATMENT_GET_SUCCESS,\r\n TRAVEL_TIME_FOR_TREATMENT_GET_FAILURE,\r\n ],\r\n buildCallParameters: state => {\r\n const parameters = {\r\n postcode,\r\n selectedDate: selectSelectedDate(state),\r\n orgUnitId: selectSelectedTeam(state),\r\n };\r\n return {\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetTravelTimesByPostcode${queryStringBuilder(parameters)}`,\r\n };\r\n },\r\n };\r\n}\r\n","import { TREATMENT_INSTANCE_SORTING_SET } from '../../constants/types';\r\n\r\nexport function setTreatmentInstanceSorting(sorting) {\r\n return {\r\n type: TREATMENT_INSTANCE_SORTING_SET,\r\n sorting,\r\n };\r\n}\r\n","import { DAILYPLANNING_ERROR_DISMISS } from '../../constants/types';\r\n\r\nfunction dismissErrors() {\r\n return {\r\n type: DAILYPLANNING_ERROR_DISMISS,\r\n };\r\n}\r\n\r\nexport { dismissErrors };\r\n","import { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from './../../useApiHook';\r\nimport { callAxios } from './../../../services/callAPIMiddleware';\r\n\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst errorMessages = globals.getArea('error');\r\n\r\nconst handleErrorMessage = exception => {\r\n if (exception.message.localeCompare(errorMessages.getMsg('cancelDuplicateRequest')) !== 0) {\r\n return exception.response.data !== null && exception.response.data.translationKey !== ''\r\n ? exception.response.data.translationKey\r\n : exception.message;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport const useFetchNonPatientActivitiesList = (params, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({\r\n response: null,\r\n isDataLoading: true,\r\n refresh: forceReload,\r\n error: null,\r\n isTableDataLoading: true,\r\n });\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetNonPatientActivitiesList', params, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload, isTableDataLoading: false });\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setState({ ...state, isTableDataLoading: true });\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => {\r\n setRequestResponse(result.data);\r\n })\r\n .catch(ex => {\r\n setState({\r\n ...state,\r\n isDataLoading: false,\r\n isTableDataLoading: false,\r\n error: handleErrorMessage(ex),\r\n });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n return {\r\n data: state.response ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error: state.error,\r\n isTableDataLoading: state.isTableDataLoading,\r\n };\r\n};\r\n","import { apiPostModel, postApi } from '../../useApiHook';\r\n\r\nexport const postAssignClinicianToTreatment = (auth, entityModel, callback, errorCallback) => {\r\n const postModel = apiPostModel('AssignClinicianToTreatmentInstance', entityModel, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const postRescheduleClinicianAssignment = (auth, entityModel, callback, errorCallback) => {\r\n const postModel = apiPostModel('RescheduleClinicianAssignment', entityModel, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const postUpdateLunchBreak = (auth, entityModel, callback, errorCallback) => {\r\n const postModel = apiPostModel('UpdateLunchBreak', entityModel, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const postUnassignClinicianFromTreatmentInstance = (auth, entityModel, callback, errorCallback) => {\r\n const postModel = apiPostModel('UnassignClinicianFromTreatmentInstance', entityModel, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const postUnassignClinicianFromNonPatientActivity = (auth, entityModel, callback, errorCallback) => {\r\n const postModel = apiPostModel('UnassignClinicianFromNonPatientActivity', entityModel, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const createBundleTreatment = (auth, entityModel, callback, errorCallback) => {\r\n const postModel = apiPostModel('BundleTreatmentInstances', entityModel, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const overrideBundleDuration = (auth, entityModel) => {\r\n const postModel = apiPostModel('OverrideBundleDuration', entityModel);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const postUnbundleTreatmentInstance = (auth, entityModel, errorCallback) => {\r\n const postModel = apiPostModel('UnbundleTreatmentInstances', entityModel, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const postAssignClinicianToMultipleTreatments = (auth, entityModel, callback, errorCallback) => {\r\n const postModel = apiPostModel('AssignClinicianToMultipleTreatmentInstances', entityModel, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const editTreatmentInstanceNotes = (auth, entityModel, callback, errorCallback) => {\r\n const postModel = apiPostModel('EditTreatmentInstanceNotes', entityModel, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const convertVisitToPhoneCall = (auth, entityModel, callback, errorCallback) => {\r\n const postModel = apiPostModel('ConvertTreatmentInstance', entityModel, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel, baseRequestParams } from '../../useApiHook';\r\nimport { callAxios } from '../../../services/callAPIMiddleware';\r\nimport _ from '../../../utils/lodash';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nimport {\r\n mapPlanningDetails,\r\n mapClinicianTreatments,\r\n mapMapViewDetails,\r\n mapClinicianDetails,\r\n mapNonPatientActivityDetails,\r\n mapOptions,\r\n} from './mappingDtos';\r\n\r\nconst errorMessages = globals.getArea('error');\r\n\r\nconst overrideApiUrl = globals.urls.autoAllocateApiUrl;\r\n\r\nconst handleErrorMessage = exception => {\r\n if (exception.message.localeCompare(errorMessages.getMsg('cancelDuplicateRequest')) !== 0) {\r\n return exception.response.data !== null && exception.response.data.translationKey !== ''\r\n ? exception.response.data.translationKey\r\n : exception.message;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport const useFetchPlanningDetails = (includeTreatments = false) => {\r\n // Prepare api model and request call\r\n const baseRequestModel = baseRequestParams(false, includeTreatments);\r\n const model = apiGetModel('GetClinicianPlanningDetails', baseRequestModel);\r\n\r\n const auth = useSelector(state => state.global.auth);\r\n const externalProsValue = `${baseRequestModel.SelectedDate}_${baseRequestModel.OrgUnitId}_${baseRequestModel.IsNightMode}`;\r\n const [state, setState] = useState({\r\n response: null,\r\n isDataLoading: true,\r\n isUpdateTriggered: false,\r\n isAllocation: false,\r\n url: '', // kept the previous url for preventing doble requests\r\n error: null,\r\n externalPros: externalProsValue,\r\n });\r\n\r\n useEffect(() => {\r\n const triggerRequest = state.isUpdateTriggered || model.url !== state.url;\r\n if (triggerRequest) {\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(result =>\r\n setState({\r\n ...state,\r\n response: result.data,\r\n isDataLoading: false,\r\n isUpdateTriggered: false,\r\n isAllocation: false,\r\n url: model.url,\r\n externalPros: externalProsValue,\r\n }),\r\n )\r\n .catch(ex => {\r\n setState({\r\n ...state,\r\n isDataLoading: false,\r\n isUpdateTriggered: false,\r\n isAllocation: false,\r\n error: handleErrorMessage(ex),\r\n externalPros: externalProsValue,\r\n });\r\n });\r\n }\r\n }, [model.url, state.isUpdateTriggered]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: mapPlanningDetails(state.response),\r\n isDataLoading: state.isDataLoading,\r\n isUpdateTriggered: state.isUpdateTriggered || state.externalPros !== externalProsValue,\r\n error: state.error,\r\n baseRequestModel,\r\n refresh: () => setState(ns => ({ ...ns, isUpdateTriggered: true })),\r\n };\r\n};\r\n\r\nexport const useFetchClinicianTreatments = (clinicianId, postingId, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [response, setResponse] = useState(null);\r\n const [isDataLoading, setIsDataLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const baseRequestModel = baseRequestParams();\r\n const model = apiGetModel(\r\n 'GetAvailableVisitsPerClinician',\r\n _.merge({ ClinicianId: clinicianId, PostingId: postingId }, baseRequestModel),\r\n forceReload,\r\n );\r\n useEffect(() => {\r\n if (jwtToken) {\r\n if (!isDataLoading) setIsDataLoading(true);\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(result => {\r\n setResponse(result.data);\r\n setIsDataLoading(false);\r\n })\r\n .catch(ex => {\r\n const errorMsg = handleErrorMessage(ex);\r\n if (errorMsg !== null) {\r\n setError(errorMsg);\r\n }\r\n setIsDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, model.url, model.reloadData]);\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: mapClinicianTreatments(response),\r\n isDataLoading,\r\n error,\r\n baseRequestModel,\r\n };\r\n};\r\n\r\nexport const useFetchVisitDetails = (treatmentInstanceId, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [response, setResponse] = useState(null);\r\n const [isDataLoading, setIsDataLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const baseRequestModel = baseRequestParams();\r\n const model = apiGetModel(\r\n 'GetVisitDetails',\r\n _.merge({ TreatmentInstanceId: treatmentInstanceId }, baseRequestModel),\r\n forceReload,\r\n );\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(result => {\r\n setResponse(result.data);\r\n setIsDataLoading(false);\r\n })\r\n .catch(ex => {\r\n const errorMsg = handleErrorMessage(ex);\r\n if (errorMsg !== null) {\r\n setError(errorMsg);\r\n }\r\n setIsDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, model.url, model.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: response,\r\n isDataLoading,\r\n error,\r\n baseRequestModel,\r\n auth,\r\n };\r\n};\r\n\r\nexport const useFetchUnassignedVisitDetails = (\r\n treatmentInstanceId,\r\n treatmentId,\r\n timeSlotId,\r\n selectedDate,\r\n forceReload,\r\n) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [response, setResponse] = useState(null);\r\n const [isDataLoading, setIsDataLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const baseRequestModel = baseRequestParams();\r\n const model = apiGetModel(\r\n 'GetTreatmentDetails',\r\n _.merge(\r\n {\r\n TreatmentInstanceId: treatmentInstanceId,\r\n TreatmentId: treatmentId,\r\n SelectedDate: selectedDate,\r\n TimeSlotId: timeSlotId,\r\n },\r\n baseRequestModel,\r\n ),\r\n forceReload,\r\n );\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(result => {\r\n setResponse(result.data);\r\n setIsDataLoading(false);\r\n })\r\n .catch(ex => {\r\n const errorMsg = handleErrorMessage(ex);\r\n if (errorMsg !== null) {\r\n setError(errorMsg);\r\n }\r\n setIsDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, model.url, model.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: response,\r\n isDataLoading,\r\n error,\r\n baseRequestModel,\r\n };\r\n};\r\n\r\nexport const useFetchMapViewDetails = forceRefresh => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceRefresh });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const baseRequestModel = baseRequestParams(true);\r\n const model = apiGetModel('GetClinicianPlanningDetails', baseRequestModel, forceRefresh);\r\n\r\n const setRequestResponse = response => setState({ ...state, response, isDataLoading: false, refresh: false });\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n const errorMsg = handleErrorMessage(ex);\r\n if (errorMsg !== null) {\r\n setError(errorMsg);\r\n }\r\n setState({ isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, model.url, model.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return { data: mapMapViewDetails(state.response), isDataLoading: state.isDataLoading, error, baseRequestModel };\r\n};\r\n\r\nexport const useFetchClinicianDetails = (clinicianId, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [response, setResponse] = useState(null);\r\n const [isDataLoading, setIsDataLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const baseRequestModel = baseRequestParams();\r\n const model = apiGetModel(\r\n 'GetClinicianDetails',\r\n _.merge({ ClinicianId: clinicianId }, baseRequestModel),\r\n forceReload,\r\n );\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(result => {\r\n setResponse(result.data);\r\n setIsDataLoading(false);\r\n })\r\n .catch(ex => {\r\n const errorMsg = handleErrorMessage(ex);\r\n if (errorMsg !== null) {\r\n setError(errorMsg);\r\n }\r\n setIsDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, model.url, model.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: mapClinicianDetails(response),\r\n isDataLoading,\r\n error,\r\n baseRequestModel,\r\n };\r\n};\r\n\r\nexport const useFetchCancellationReasonsOptions = forceRefresh => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceRefresh });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const baseRequestModel = baseRequestParams(true);\r\n const model = apiGetModel('GetCancellationReasonsOptions', baseRequestModel, forceRefresh);\r\n\r\n const setRequestResponse = response => setState({ ...state, response, isDataLoading: false, refresh: false });\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n const errorMsg = handleErrorMessage(ex);\r\n if (errorMsg !== null) {\r\n setError(errorMsg);\r\n }\r\n setState({ isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, model.url, model.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: mapOptions(state.response),\r\n isDataLoading: state.isDataLoading,\r\n error,\r\n baseRequestModel,\r\n };\r\n};\r\n\r\nexport const useFetchCancellingPartiesOptions = forceRefresh => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceRefresh });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const baseRequestModel = baseRequestParams(true);\r\n const model = apiGetModel('GetCancellingPartiesOptions', baseRequestModel, forceRefresh);\r\n\r\n const setRequestResponse = response => setState({ ...state, response, isDataLoading: false, refresh: false });\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n const errorMsg = handleErrorMessage(ex);\r\n if (errorMsg !== null) {\r\n setError(errorMsg);\r\n }\r\n setState({ isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, model.url, model.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: mapOptions(state.response),\r\n isDataLoading: state.isDataLoading,\r\n error,\r\n baseRequestModel,\r\n };\r\n};\r\n\r\nexport const useFetchNonPatientAssignmentDetails = (npaId, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [response, setResponse] = useState(null);\r\n const [isDataLoading, setIsDataLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const baseRequestModel = baseRequestParams();\r\n const model = apiGetModel('GetNonPatientActivityById', _.merge({ Id: npaId }, baseRequestModel), forceReload);\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(result => {\r\n setResponse(result.data);\r\n setIsDataLoading(false);\r\n })\r\n .catch(ex => {\r\n const errorMsg = handleErrorMessage(ex);\r\n if (errorMsg !== null) {\r\n setError(errorMsg);\r\n }\r\n setIsDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, model.url, model.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: mapNonPatientActivityDetails(response),\r\n isDataLoading,\r\n error,\r\n baseRequestModel,\r\n auth,\r\n };\r\n};\r\n\r\nexport const useAutoAllocationGroups = (model, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetAutoAllocationGroups', model, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data, overrideApiUrl)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n return {\r\n data: state.response ? state.response.groups : [],\r\n isDataLoading: state.isDataLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useAutoAllocationLogs = (model, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetAutoAllocationLogs', model, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data, overrideApiUrl)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n return {\r\n data: state.response ? state.response.logs : [],\r\n isDataLoading: state.isDataLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useFetchActivitiesOptions = (model, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n const getModel = apiGetModel('GetActivitiesOptions', model, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n return {\r\n data: state.response ? state.response.options : [],\r\n isDataLoading: state.isDataLoading,\r\n error,\r\n };\r\n};\r\n","export * from './fetchHooks';\r\nexport * from './queryActions';\r\nexport * from './commandActions';\r\n","/* eslint-disable no-nested-ternary */\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport shortid from 'shortid';\r\nimport moment from 'moment';\r\n\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport _ from '../../../utils/lodash';\r\nimport { ragStatusColors } from '../../../settings/other';\r\nimport { TreatmentResponseGroup } from '../../../enums';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\n\r\nexport const mapTreatmentInstances = treatmentInstances => {\r\n treatmentInstances.forEach(treatmentInstance => {\r\n treatmentInstance.activities = treatmentInstance.treatmentInstanceActivities\r\n .map(activity => activity.name)\r\n .join(', ');\r\n });\r\n\r\n return treatmentInstances;\r\n};\r\n\r\nexport const mapPlanningDetails = response => {\r\n const clinicianFilterPhrase = useSelector(state => state.areas.dailyPlanning.filters.clinician) || '';\r\n const bandFilter = useSelector(state => state.areas.dailyPlanning.filters.grades) || '';\r\n\r\n const mappedResult = {\r\n dataItems: [],\r\n period: null,\r\n summaryHoursStats: null,\r\n clinicians: [],\r\n clinicianBands: [],\r\n isMileageCapEnabled: false,\r\n treatmentInstances: [],\r\n };\r\n\r\n if (response) {\r\n const data = _.filter(\r\n response.clinicianPlanningDetails,\r\n x =>\r\n clinicianFilterPhrase === '' ||\r\n x.clinician.name.toLowerCase().indexOf(clinicianFilterPhrase) !== -1 ||\r\n x.clinician.staffNumber.startsWith(clinicianFilterPhrase),\r\n );\r\n\r\n let filteredData = [...data];\r\n\r\n if (bandFilter.length > 0 && bandFilter[0] !== '')\r\n filteredData = _.filter(data, x => bandFilter.includes(x.clinician.bandId));\r\n\r\n const clinicianBands = _.sortBy(_.map(data, f => ({ id: f.clinician.bandId, name: f.clinician.band })), ['name']);\r\n const extraInfoStatus = clinician => {\r\n if (clinician.differentOrder) return locale.getMsg('differentOrder');\r\n if (clinician.isLate) return `${clinician.lateDuration} mins`;\r\n if (clinician.isAhead) return `${clinician.aheadDuration} mins`;\r\n return 'On Time';\r\n };\r\n\r\n // Mapping into view model\r\n mappedResult.isAutoallocateInProgress = response.isAutoallocateInProgress;\r\n mappedResult.period = response.period;\r\n mappedResult.isMileageCapEnabled = response.isMileageCapEnabled;\r\n mappedResult.summaryHoursStats = response.summaryHoursStats;\r\n mappedResult.treatmentInstances = mapTreatmentInstances(response.treatmentInstances);\r\n mappedResult.clinicians = _.map(filteredData, f => ({ id: f.clinician.id, name: f.clinician.name }));\r\n mappedResult.clinicianBands = _.uniqBy(clinicianBands, 'id');\r\n mappedResult.unfilteredClinicians = _.map(response.clinicianPlanningDetails, f => ({\r\n id: f.clinician.id,\r\n name: f.clinician.name,\r\n availabilities: f.clinician.availabilities.map(a => ({ ...a, index: shortid.generate() })),\r\n }));\r\n\r\n _.each(filteredData, item => {\r\n mappedResult.dataItems.push({\r\n cardDetails: {\r\n index: shortid.generate(),\r\n id: item.clinician.id,\r\n postingId: item.clinician.postingId,\r\n cardRagStatus: item.clinician.ragStatus.name.toLowerCase(),\r\n cardRagStatusId: item.clinician.ragStatus.value,\r\n personName: item.clinician.name,\r\n bandName: item.clinician.band,\r\n showExtraInfo: item.clinician.showExtraInfo,\r\n desc: item.clinician.showExtraInfo ? extraInfoStatus(item.clinician) : '',\r\n descColor: item.clinician.differentOrder\r\n ? ragStatusColors.amber\r\n : item.clinician.isLate\r\n ? ragStatusColors.red\r\n : ragStatusColors.green,\r\n hasMileageCap: item.clinician.hasMileageCap,\r\n isOnline: item.clinician.isOnline,\r\n gradeEquivalence: item.clinician.gradeEquivalence,\r\n },\r\n activities: {\r\n clinicianId: item.clinician.id,\r\n postingId: item.clinician.postingId,\r\n availabilities: item.clinician.availabilities.map(a => ({ ...a, index: shortid.generate() })),\r\n assignments: item.assignments.map(a => ({ ...a, index: shortid.generate() })),\r\n },\r\n source: item.clinician, // add here source item like ... item.clinician,\r\n });\r\n });\r\n }\r\n\r\n return mappedResult;\r\n};\r\n\r\nexport const mapClinicianTreatments = response => {\r\n if (response === null) return null;\r\n\r\n let mappedTreatmentGroups = [\r\n {\r\n name: 'BestMatch',\r\n text: 'Best Match',\r\n isAssignable: true,\r\n items: [],\r\n children: [TreatmentResponseGroup.BestMatch],\r\n },\r\n {\r\n name: 'OutsideOfMileageCap',\r\n text: 'Outside Of Mileage Cap',\r\n isAssignable: true,\r\n items: [],\r\n children: [TreatmentResponseGroup.OutsideOfMilleageCap],\r\n },\r\n {\r\n name: 'PartialMatch',\r\n text: 'Partial Match',\r\n isAssignable: false,\r\n items: [],\r\n children: [TreatmentResponseGroup.MissingAvailability, TreatmentResponseGroup.TimeSlotsAlreadyOccupied],\r\n },\r\n {\r\n name: 'NoMatch',\r\n text: 'No Match',\r\n isAssignable: false,\r\n items: [],\r\n children: [\r\n TreatmentResponseGroup.MissingGrade,\r\n TreatmentResponseGroup.MissingSkill,\r\n TreatmentResponseGroup.ExcludedClinician,\r\n ],\r\n },\r\n ];\r\n\r\n if (!response.isMileageCapEnabled)\r\n mappedTreatmentGroups = mappedTreatmentGroups.filter(tg => tg.name !== 'OutsideOfMilleageCap');\r\n\r\n const mappedResult = mappedTreatmentGroups.map(group => {\r\n response.treatmentGroups.forEach(x => {\r\n if (group.children.includes(x.name)) {\r\n group.items = [...group.items, ...x.items];\r\n }\r\n });\r\n\r\n mapTreatmentInstances(group.items);\r\n return group;\r\n });\r\n\r\n return mappedResult;\r\n};\r\n\r\nexport const mapAvailableTimeSpans = response => {\r\n return response ? response.clinicianTimeSpans : null;\r\n};\r\n\r\nexport const mapOptions = response => {\r\n return response ? response.options : null;\r\n};\r\n\r\nexport const mapMapViewDetails = response => {\r\n const bandFilter = useSelector(state => state.areas.dailyPlanning.filters.grades) || '';\r\n\r\n const mappedResult = {\r\n data: [],\r\n clinicianBands: [],\r\n isMileageCapEnabled: false,\r\n };\r\n\r\n if (response) {\r\n let filteredData = response.clinicianPlanningDetails;\r\n\r\n mappedResult.isMileageCapEnabled = response.isMileageCapEnabled;\r\n\r\n if (bandFilter.length > 0 && bandFilter[0] !== '')\r\n filteredData = _.filter(response.clinicianPlanningDetails, x => bandFilter.includes(x.clinician.bandId));\r\n\r\n const clinicianBands = _.sortBy(\r\n _.map(response.clinicianPlanningDetails, f => ({ id: f.clinician.bandId, name: f.clinician.band })),\r\n ['name'],\r\n );\r\n mappedResult.clinicianBands = _.uniqBy(clinicianBands, 'id');\r\n\r\n _.each(filteredData, item => {\r\n mappedResult.data.push({\r\n clinician: {\r\n index: shortid.generate(),\r\n id: item.clinician.id,\r\n postingId: item.clinician.postingId,\r\n ragStatus: item.clinician.ragStatus,\r\n cardRagStatusId: item.clinician.ragStatus.value,\r\n personName: item.clinician.name,\r\n band: item.clinician.band,\r\n showExtraInfo: item.clinician.showExtraInfo,\r\n hasValidBasePostCode: item.clinician.hasValidBasePostCode,\r\n homePostCode: item.clinician.homePostCode,\r\n mileageCap: item.clinician.mileageCap,\r\n desc: item.clinician.showExtraInfo\r\n ? item.clinician.isLate\r\n ? `${item.clinician.lateDuration} mins`\r\n : 'On Time'\r\n : '',\r\n descColor: item.clinician.isLate ? ragStatusColors.red : ragStatusColors.green,\r\n hasMileageCap: item.clinician.hasMileageCap,\r\n isOnline: item.clinician.isOnline,\r\n assignedVisitsCount: item.clinician.assignedVisitsCount,\r\n completedVisitsCount: item.clinician.completedVisitsCount,\r\n clinicianLocation: item.clinician.clinicianLocation,\r\n clinicianColor: item.clinician.clinicianColor,\r\n staffNumber: item.clinician.staffNumber,\r\n availabilities: item.clinician.availabilities,\r\n },\r\n assignments: item.assignments,\r\n });\r\n });\r\n }\r\n\r\n return response ? mappedResult : null;\r\n};\r\n\r\nexport const mapClinicianDetails = response => {\r\n if (response === null) return null;\r\n const mappedResult = { ...response };\r\n mappedResult.weeklyAvailabilities = [];\r\n _.each(response.datesOfWeek, item => {\r\n mappedResult.weeklyAvailabilities.push({\r\n key: item,\r\n value: response.weeklyAvailabilities.filter(i => moment(i.startDate).isSame(item, 'day')),\r\n });\r\n });\r\n\r\n return mappedResult;\r\n};\r\n\r\nexport const mapNonPatientActivityDetails = response => {\r\n return response ? response.nonPatientActivity : null;\r\n};\r\n","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable no-alert */\r\n/* eslint-disable consistent-return */\r\nimport { apiGetModel, getApi } from '../../useApiHook';\r\nimport { mapAvailableTimeSpans, mapOptions } from './mappingDtos';\r\n\r\nexport const getAvailableTimeSpansForTreatment = (auth, entityModel, forceReload, callback) => {\r\n // Prepare api model and request call\r\n const model = apiGetModel(\r\n 'GetAvailableTimeSpansForTreatment',\r\n entityModel,\r\n forceReload,\r\n mapAvailableTimeSpans,\r\n callback,\r\n );\r\n getApi(auth, model);\r\n};\r\n\r\nexport const getAvailableTimeSpansForTreatments = (auth, entityModel, callback) => {\r\n const model = apiGetModel('GetAvailableTimeSpansForTreatments', entityModel, mapAvailableTimeSpans, callback);\r\n getApi(auth, model);\r\n};\r\n\r\nexport const GetAvailableTimeSpansForLunchBreak = (auth, entityModel, forceReload, callback) => {\r\n // Prepare api model and request call\r\n const model = apiGetModel(\r\n 'GetAvailableTimeSpansForLunchBreak',\r\n entityModel,\r\n forceReload,\r\n mapAvailableTimeSpans,\r\n callback,\r\n );\r\n getApi(auth, model);\r\n};\r\n\r\nexport const getMovedReasons = (auth, entityModel, forceReload, callback) => {\r\n // Prepare api model and request call\r\n const model = apiGetModel('GetMovedReasonsOptions', entityModel, forceReload, mapOptions, callback);\r\n getApi(auth, model);\r\n};\r\n\r\nexport const getVisibleOrgUnits = (auth, entityModel, forceReload, callback) => {\r\n // Prepare api model and request call\r\n const model = apiGetModel('GetCurrentUserTeamsOptions', entityModel, forceReload, mapOptions, callback);\r\n getApi(auth, model);\r\n};\r\n\r\nexport const getUnsuccessfulSyncPatientById = (auth, id, forceReload, callback) => {\r\n // Prepare api model and request call\r\n const model = apiGetModel('GetUnsuccessfulSyncPatientById', { id }, forceReload, null, callback);\r\n getApi(auth, model);\r\n};\r\n\r\nexport const getPatientAuditById = (auth, id, forceReload, callback) => {\r\n // Prepare api model and request call\r\n const model = apiGetModel('GetPatientAuditById', { id }, forceReload, null, callback);\r\n getApi(auth, model);\r\n};\r\n\r\nexport const getCancelledTreatmentInstances = (auth, entityModel, forceReload, callback) => {\r\n const model = apiGetModel('GetCancelledTreatmentInstances', entityModel, forceReload, null, callback);\r\n getApi(auth, model);\r\n};\r\n\r\nexport const getOrgUnitTeams = (auth, id, forceReload, callback) => {\r\n // Prepare api model and request call\r\n const model = apiGetModel('GetOrgUnitTeamsOptions', { id }, forceReload, mapOptions, callback);\r\n getApi(auth, model);\r\n};\r\n\r\nexport const getFilterOptionsByReferralId = (auth, entityModel, forceReload, callback) => {\r\n const model = apiGetModel('GetFilterOptionsByReferralId', entityModel, forceReload, null, callback);\r\n getApi(auth, model);\r\n};\r\n","export * from './selectReportTypeName';\r\n","import { REPORT_TYPE_SELECT } from '../../constants/types';\r\n\r\nexport function selectReportTypeName(typeName) {\r\n return {\r\n type: REPORT_TYPE_SELECT,\r\n typeName,\r\n };\r\n}\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../useApiHook';\r\nimport { callAxios } from '../../../services/callAPIMiddleware';\r\nimport { mapOrgUnitOptions } from './../shared/mappingDtos';\r\n\r\nexport const useFetchOrgUnitOptions = (forceReload, onlyNotMapped = false, hasAny = false) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const dataModel = onlyNotMapped ? { RelevantDay: null, Type: 4 } : { RelevantDay: null };\r\n const model = apiGetModel('GetCurrentUserTeamsOptions', dataModel, forceReload);\r\n const setRequestResponse = response => setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, model.url, model.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: mapOrgUnitOptions(state.response, hasAny),\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n };\r\n};\r\n\r\nexport const useFetchClinicianOptionsForUser = (model, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetCliniciansOptionsForUser', model, forceReload);\r\n const setRequestResponse = response => setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response ? state.response.options : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n };\r\n};\r\n","export * from './fetchOptions';\r\nexport * from './queryActions';\r\n","import _ from '../../../utils/lodash';\r\n\r\nexport const mapOrgUnitOptions = (response, hasAny) => {\r\n const mappedResult = [{ id: 0, name: 'Any' }];\r\n if (response === null || response.options === null) return hasAny ? mappedResult : [];\r\n\r\n return hasAny ? _.concat(mappedResult, response.options) : response.options;\r\n};\r\n","export const mapTimeSlotsMatrix = timeSlots => {\r\n let selectionMatrix;\r\n\r\n timeSlots.forEach(x => {\r\n selectionMatrix = { [x.id]: true, ...selectionMatrix };\r\n });\r\n\r\n const mappedMatrix = Object.assign({}, ...selectionMatrix);\r\n mappedMatrix[0] = selectionMatrix;\r\n return mappedMatrix;\r\n};\r\n\r\nexport const mapActivities = treatmentInstances => {\r\n let activityModel = {};\r\n const activitiyList = [];\r\n\r\n treatmentInstances.map(x =>\r\n x.treatmentInstanceActivities.forEach(y => {\r\n activityModel = {\r\n treatmentId: x.treatmentId,\r\n id: y.id,\r\n name: y.name,\r\n duration: y.duration,\r\n };\r\n activitiyList.push(activityModel);\r\n }),\r\n );\r\n\r\n return activitiyList.flat();\r\n};\r\n","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable no-alert */\r\n/* eslint-disable consistent-return */\r\nimport { apiGetModel, getApi } from '../../useApiHook';\r\n\r\nexport const getClinicianOptionsForOrgUnits = (auth, entityModel, forceReload, callback) => {\r\n // Prepare api model and request call\r\n const model = apiGetModel('GetCliniciansOptions', entityModel, forceReload, callback);\r\n getApi(auth, model);\r\n};\r\n","import {\r\n TREATMENTS_PATTERN_DATES_GET_REQUEST,\r\n TREATMENTS_PATTERN_DATES_GET_SUCCESS,\r\n TREATMENTS_PATTERN_DATES_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\n\r\nexport function getPatternDates(treatmentId, pattern, selectionMatrix, timeSlotsPackageId) {\r\n return {\r\n types: [\r\n TREATMENTS_PATTERN_DATES_GET_REQUEST,\r\n TREATMENTS_PATTERN_DATES_GET_SUCCESS,\r\n TREATMENTS_PATTERN_DATES_GET_FAILURE,\r\n ],\r\n buildCallParameters: () => {\r\n const base64TreatmentPatternDto = btoa(JSON.stringify(pattern));\r\n const base64SelectionMatrix = btoa(JSON.stringify(selectionMatrix));\r\n return {\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetPatternDates${queryStringBuilder({\r\n treatmentId,\r\n base64TreatmentPatternDto,\r\n timeSlotsPackageId,\r\n specificSelectedDays: pattern.isSpecific ? base64SelectionMatrix : undefined,\r\n timeSlotsMatrix: pattern.isSpecific ? undefined : base64SelectionMatrix,\r\n })}`,\r\n };\r\n },\r\n };\r\n}\r\n","export * from './getPatternDates';\r\n","import { VISIT_ACTUAL_UPDATE_VISIT_TIME, VISIT_ACTUAL_ADD_ACTIVITY_TIME } from '../../constants/types';\r\n\r\nfunction updateVisitTime(time) {\r\n return {\r\n type: VISIT_ACTUAL_UPDATE_VISIT_TIME,\r\n time,\r\n };\r\n}\r\n\r\nfunction addActivityTime(time) {\r\n return {\r\n type: VISIT_ACTUAL_ADD_ACTIVITY_TIME,\r\n time,\r\n };\r\n}\r\n\r\nexport { updateVisitTime, addActivityTime };\r\n","import { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n\r\nexport const useFetchTreatmentVisits = (model, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n const [isTableDataLoading, setTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetTreatmentVisits', model, forceReload);\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n setTableDataLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setTableDataLoading(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n setTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n return {\r\n data: state.response ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n isTableDataLoading,\r\n };\r\n};\r\n\r\nexport const useFetchCliniciansOptionsForUser = (entityModel, isAllocator, forceReload) => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({ response: null, isDataLoading: true, refresh: forceReload });\r\n const [error, setError] = useState(null);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel(\r\n isAllocator || entityModel.teamIds.length > 0 ? 'GetCliniciansOptionsForUser' : 'GetCurrentUserClinicians',\r\n entityModel,\r\n forceReload,\r\n );\r\n const setRequestResponse = response => {\r\n setState({ ...state, response, isDataLoading: false, refresh: forceReload });\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n setError(ex.mesage);\r\n setState({ ...state, isDataLoading: false });\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n return {\r\n data: state.response ? state.response.options : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error,\r\n };\r\n};\r\n","export * from './editVisit';\r\n","export * from './methods';\r\n","export const HTTP_METHOD = {\r\n GET: 'GET',\r\n POST: 'POST',\r\n};\r\n","export * from './types';\r\n","// Authorization\r\nexport const AUTHORIZED = 'AUTHORIZED';\r\nexport const LOGIN = 'LOGIN';\r\nexport const LOGIN_FAILURE = 'LOGIN_FAILURE';\r\nexport const LOGIN_REFRESH = 'REFRESH';\r\nexport const LOGIN_START = 'LOGIN_START';\r\nexport const LOGIN_SUCCESS = 'LOGIN_SUCCESS';\r\nexport const LOGIN_SILENT = 'LOGIN_SILENT';\r\nexport const LOGIN_PROFILE = 'LOGIN_PROFILE';\r\nexport const NO_USER = 'NO_USER';\r\nexport const LOGOUT = 'LOGOUT';\r\n\r\n// UI state etc.\r\nexport const GLOBAL_ERROR_DISMISS = 'GLOBAL_ERROR_DISMISS';\r\n\r\nexport const DAILYPLANNING_ERROR_DISMISS = 'DAILYPLANNING_ERROR_DISMISS';\r\nexport const DAILYPLANNING_SUCCESS_DISMISS = 'DAILYPLANNING_SUCCESS_DISMISS';\r\nexport const DAILYPLANNING_DETAILS_REQUEST = 'DAILYPLANNING_DETAILS_REQUEST';\r\nexport const DAILYPLANNING_DETAILS_SUCCESS = 'DAILYPLANNING_DETAILS_SUCCESS';\r\nexport const DAILYPLANNING_DETAILS_FAILURE = 'DAILYPLANNING_DETAILS_FAILURE';\r\n\r\nexport const DIALOG_HIDE = 'DIALOG_HIDE';\r\nexport const DIALOG_SHOW = 'DIALOG_SHOW';\r\nexport const DISMISS_PATIENT_SEARCH_ERROR = 'DISMISS_PATIENT_SEARCH_ERROR';\r\nexport const DISMISS_PATIENT_SEARCH_SUCCESS = 'DISMISS_PATIENT_SEARCH_SUCCESS';\r\nexport const FILTERS_UPDATE = 'FILTERS_UPDATE';\r\nexport const LOCATION_CHANGE = '@@router/LOCATION_CHANGE';\r\nexport const SELECTED_DATE_UPDATE = 'SELECTED_DATE_UPDATE';\r\nexport const SELECTOR_OPTIONS_GET_FAILURE = 'SELECTOR_OPTIONS_GET_FAILURE';\r\nexport const SELECTOR_OPTIONS_GET_REQUEST = 'SELECTOR_OPTIONS_GET_REQUEST';\r\nexport const SELECTOR_OPTIONS_GET_SUCCESS = 'SELECTOR_OPTIONS_GET_SUCCESS';\r\nexport const SYNCHRONIZE_FAILURE = 'SYNCHRONIZE_FAILURE';\r\nexport const SYNCHRONIZE_REQUEST = 'SYNCHRONIZE_REQUEST';\r\nexport const SYNCHRONIZE_SUCCESS = 'SYNCHRONIZE_SUCCESS';\r\nexport const TABLE_DATA_GET_FAILURE = 'TABLE_DATA_GET_FAILURE';\r\nexport const TABLE_DATA_GET_REQUEST = 'TABLE_DATA_GET_REQUEST';\r\nexport const TABLE_DATA_GET_SUCCESS = 'TABLE_DATA_GET_SUCCESS';\r\nexport const TABLE_DATA_SUCCESS_DISMISS = 'TABLE_DATA_SUCCESS_DISMISS';\r\nexport const TABLE_DATA_FAILURE_DISMISS = 'TABLE_DATA_FAILURE_DISMISS';\r\nexport const TABLE_SEARCH_PARAMS_CLEAR = 'TABLE_SEARCH_PARAMS_CLEAR';\r\nexport const TABLE_SEARCH_PARAMS_UPDATE = 'TABLE_SEARCH_PARAMS_UPDATE';\r\nexport const TREATMENT_INSTANCE_SORTING_SET = 'TREATMENT_INSTANCE_SORTING_SET';\r\nexport const TRAVEL_TIME_FOR_TREATMENT_GET_REQUEST = 'TRAVEL_TIME_FOR_TREATMENT_GET_REQUEST';\r\nexport const TRAVEL_TIME_FOR_TREATMENT_GET_SUCCESS = 'TRAVEL_TIME_FOR_TREATMENT_GET_SUCCESS';\r\nexport const TRAVEL_TIME_FOR_TREATMENT_GET_FAILURE = 'TRAVEL_TIME_FOR_TREATMENT_GET_FAILURE';\r\nexport const SCHEDULER_MAP_CLINICIAN_SELECT = 'SCHEDULER_MAP_CLINICIAN_SELECT';\r\nexport const SCHEDULER_MAP_VIEW_CHANGE = 'SCHEDULER_MAP_VIEW_CHANGE';\r\nexport const DOWNLOAD_CLINICIAN_PLAN = 'DOWNLOAD_CLINICIAN_PLAN';\r\nexport const DOWNLOAD_CLINICIAN_PLAN_SUCCESS = 'DOWNLOAD_CLINICIAN_PLAN_SUCCESS';\r\nexport const DOWNLOAD_CLINICIAN_PLAN_FAILURE = 'DOWNLOAD_CLINICIAN_PLAN_FAILURE';\r\nexport const LIVE_TRACKING_UPDATE = 'LIVE_TRACKING_UPDATE';\r\n\r\nexport const SELECTED_AUDIT_OPTIONS_SAVE = 'SELECTED_AUDIT_OPTIONS_SAVE';\r\nexport const SELECTED_AUDIT_OPTIONS_CLEAR = 'SELECTED_AUDIT_OPTIONS_CLEAR';\r\n\r\nexport const VISIT_ACTUAL_UPDATE_VISIT_TIME = 'VISIT_ACTUAL_UPDATE_VISIT_TIME';\r\nexport const VISIT_ACTUAL_ADD_ACTIVITY_TIME = 'VISIT_ACTUAL_ADD_ACTIVITY_TIME';\r\n\r\nexport const POSTCODE_DISTANCE_GET_FAILURE = 'POSTCODE_DISTANCE_GET_FAILURE';\r\nexport const POSTCODE_DISTANCE_GET_REQUEST = 'POSTCODE_DISTANCE_GET_REQUEST';\r\nexport const POSTCODE_DISTANCE_GET_SUCCESS = 'POSTCODE_DISTANCE_GET_SUCCESS';\r\n\r\nexport const HOME_TO_VISIT_POSTCODE_DISTANCE_GET_REQUEST = 'HOME_TO_VISIT_POSTCODE_DISTANCE_GET_REQUEST';\r\nexport const HOME_TO_VISIT_POSTCODE_DISTANCE_GET_SUCCESS = 'HOME_TO_VISIT_POSTCODE_DISTANCE_GET_SUCCESS';\r\nexport const HOME_TO_VISIT_POSTCODE_DISTANCE_GET_FAILURE = 'HOME_TO_VISIT_POSTCODE_DISTANCE_GET_FAILURE';\r\nexport const HOME_TO_VISIT_POSTCODE_DISTANCE_ERROR_DISMISS = 'HOME_TO_VISIT_POSTCODE_DISTANCE_ERROR_DISMISS';\r\n\r\nexport const BULK_CANCEL_ISINPROGRESS = 'BULK_CANCEL_ISINPROGRESS';\r\n\r\nexport const GRID_FILTERS_ADD = 'GRID_FILTERS_ADD';\r\nexport const GRID_FILTERS_UPDATE = 'GRID_FILTERS_UPDATE';\r\nexport const GRID_FILTERS_CLEAR = 'GRID_FILTERS_CLEAR';\r\n\r\n// Entities\r\nexport const ACTIVITY_ACTIVATE_FAILURE = 'ACTIVITY_ACTIVATE_FAILURE';\r\nexport const ACTIVITY_ACTIVATE_REQUEST = 'ACTIVITY_ACTIVATE_REQUEST';\r\nexport const ACTIVITY_ACTIVATE_SUCCESS = 'ACTIVITY_ACTIVATE_SUCCESS';\r\nexport const ACTIVITY_CREATE_FAILURE = 'ACTIVITY_CREATE_FAILURE';\r\nexport const ACTIVITY_CREATE_REQUEST = 'ACTIVITY_CREATE_REQUEST';\r\nexport const ACTIVITY_CREATE_SUCCESS = 'ACTIVITY_CREATE_SUCCESS';\r\nexport const ACTIVITY_DEACTIVATE_FAILURE = 'ACTIVITY_DEACTIVATE_FAILURE';\r\nexport const ACTIVITY_DEACTIVATE_REQUEST = 'ACTIVITY_DEACTIVATE_REQUEST';\r\nexport const ACTIVITY_DEACTIVATE_SUCCESS = 'ACTIVITY_DEACTIVATE_SUCCESS';\r\nexport const ACTIVITY_GET_FAILURE = 'ACTIVITY_GET_FAILURE';\r\nexport const ACTIVITY_GET_REQUEST = 'ACTIVITY_GET_REQUEST';\r\nexport const ACTIVITY_GET_SUCCESS = 'ACTIVITY_GET_SUCCESS';\r\nexport const ACTIVITY_UPDATE_FAILURE = 'ACTIVITY_UPDATE_FAILURE';\r\nexport const ACTIVITY_UPDATE_REQUEST = 'ACTIVITY_UPDATE_REQUEST';\r\nexport const ACTIVITY_UPDATE_SUCCESS = 'ACTIVITY_UPDATE_SUCCESS';\r\n\r\nexport const ASSIGNMENT_CREATE_FAILURE = 'ASSIGNMENT_CREATE_FAILURE';\r\nexport const ASSIGNMENT_CREATE_REQUEST = 'ASSIGNMENT_CREATE_REQUEST';\r\nexport const ASSIGNMENT_CREATE_SUCCESS = 'ASSIGNMENT_CREATE_SUCCESS';\r\nexport const ASSIGNMENT_DELETE_FAILURE = 'ASSIGNMENT_DELETE_FAILURE';\r\nexport const ASSIGNMENT_DELETE_REQUEST = 'ASSIGNMENT_DELETE_REQUEST';\r\nexport const ASSIGNMENT_DELETE_SUCCESS = 'ASSIGNMENT_DELETE_SUCCESS';\r\nexport const ASSIGNMENT_RESCHEDULE_FAILURE = 'ASSIGNMENT_RESCHEDULE_FAILURE';\r\nexport const ASSIGNMENT_RESCHEDULE_REQUEST = 'ASSIGNMENT_RESCHEDULE_REQUEST';\r\nexport const ASSIGNMENT_RESCHEDULE_SUCCESS = 'ASSIGNMENT_RESCHEDULE_SUCCESS';\r\n\r\nexport const ORG_UNITS_CURRENT_USER_GET_REQUEST = 'ORG_UNITS_CURRENT_USER_GET_REQUEST';\r\nexport const ORG_UNITS_CURRENT_USER_GET_SUCCESS = 'ORG_UNITS_CURRENT_USER_GET_SUCCESS';\r\nexport const ORG_UNITS_CURRENT_USER_GET_FAILURE = 'ORG_UNITS_CURRENT_USER_GET_FAILURE';\r\nexport const ORG_UNITS_DEFAULT_FOR_DAY_SET = 'ORG_UNITS_DEFAULT_FOR_DAY_SET';\r\n\r\nexport const PATIENT_GET_FAILURE = 'PATIENT_GET_FAILURE';\r\nexport const PATIENT_GET_REQUEST = 'PATIENT_GET_REQUEST';\r\nexport const PATIENT_GET_SUCCESS = 'PATIENT_GET_SUCCESS';\r\nexport const PATIENT_UPDATE_FAILURE = 'PATIENT_UPDATE_FAILURE';\r\nexport const PATIENT_UPDATE_REQUEST = 'PATIENT_UPDATE_REQUEST';\r\nexport const PATIENT_UPDATE_SUCCESS = 'PATIENT_UPDATE_SUCCESS';\r\nexport const PATIENT_ADD_FAILURE = 'PATIENT_ADD_FAILURE';\r\nexport const PATIENT_ADD_REQUEST = 'PATIENT_ADD_REQUEST';\r\nexport const PATIENT_ADD_SUCCESS = 'PATIENT_ADD_SUCCESS';\r\nexport const PATIENT_SYNC_REQUEST = 'PATIENT_SYNC_REQUEST';\r\nexport const PATIENT_SYNC_SUCCESS = 'PATIENT_SYNC_SUCCESS';\r\nexport const PATIENT_SYNC_FAILURE = 'PATIENT_SYNC_FAILURE';\r\nexport const PATIENT_SYNC_RESET = 'PATIENT_SYNC_RESET';\r\n\r\nexport const PATIENT_CLINICIAN_EXCLUDE_FAILURE = 'PATIENT_CLINICIAN_EXCLUDE_FAILURE';\r\nexport const PATIENT_CLINICIAN_EXCLUDE_REQUEST = 'PATIENT_CLINICIAN_EXCLUDE_REQUEST';\r\nexport const PATIENT_CLINICIAN_EXCLUDE_SUCCESS = 'PATIENT_CLINICIAN_EXCLUDE_SUCCESS';\r\n\r\nexport const PATIENT_EXCLUDED_CLINICIAN_REMOVE_FAILURE = 'PATIENT_CLINICIAN_EXCLUDE_FAILURE';\r\nexport const PATIENT_EXCLUDED_CLINICIAN_REMOVE_REQUEST = 'PATIENT_EXCLUDED_CLINICIAN_REMOVE_REQUEST';\r\nexport const PATIENT_EXCLUDED_CLINICIAN_REMOVE_SUCCESS = 'PATIENT_EXCLUDED_CLINICIAN_REMOVE_SUCCESS';\r\n\r\nexport const POSTINGS_GET_FAILURE = 'POSTINGS_GET_FAILURE';\r\nexport const POSTINGS_GET_REQUEST = 'POSTINGS_GET_REQUEST';\r\nexport const POSTINGS_GET_SUCCESS = 'POSTINGS_GET_SUCCESS';\r\nexport const POSTINGS_RESET_DATA = 'POSTINGS_RESET_DATA';\r\n\r\nexport const LOCATIONSFORPOSTINGS_GET_FAILURE = 'LOCATIONSFORPOSTINGS_GET_FAILURE';\r\nexport const LOCATIONSFORPOSTINGS_GET_REQUEST = 'LOCATIONSFORPOSTINGS_GET_REQUEST';\r\nexport const LOCATIONSFORPOSTINGS_GET_SUCCESS = 'LOCATIONSFORPOSTINGS_GET_SUCCESS';\r\n\r\nexport const REFERRAL_CREATE_FAILURE = 'REFERRAL_CREATE_FAILURE';\r\nexport const REFERRAL_CREATE_REQUEST = 'REFERRAL_CREATE_REQUEST';\r\nexport const REFERRAL_CREATE_SUCCESS = 'REFERRAL_CREATE_SUCCESS';\r\nexport const REFERRAL_CREATE_ERRORS_DISMISS = 'REFERRAL_CREATE_ERRORS_DISMISS';\r\nexport const REFERRAL_GET_FAILURE = 'REFERRAL_GET_FAILURE';\r\nexport const REFERRAL_GET_REQUEST = 'REFERRAL_GET_REQUEST';\r\nexport const REFERRAL_GET_SUCCESS = 'REFERRAL_GET_SUCCESS';\r\nexport const REFERRAL_UPDATE_FAILURE = 'REFERRAL_UPDATE_FAILURE';\r\nexport const REFERRAL_UPDATE_REQUEST = 'REFERRAL_UPDATE_REQUEST';\r\nexport const REFERRAL_UPDATE_SUCCESS = 'REFERRAL_UPDATE_SUCCESS';\r\nexport const REFERRAL_UPDATE_ERRORS_DISMISS = 'REFERRAL_UPDATE_ERRORS_DISMISS';\r\nexport const REFERRAL_CLOSE_FAILURE = 'REFERRAL_CLOSE_FAILURE';\r\nexport const REFERRAL_CLOSE_REQUEST = 'REFERRAL_CLOSE_REQUEST';\r\nexport const REFERRAL_CLOSE_SUCCESS = 'REFERRAL_CLOSE_SUCCESS';\r\nexport const REFERRAL_GET_CLOSE_DATE_RANGE_REQUEST = 'REFERRAL_GET_CLOSE_DATE_RANGE_REQUEST';\r\nexport const REFERRAL_GET_CLOSE_DATE_RANGE_SUCCESS = 'REFERRAL_GET_CLOSE_DATE_RANGE_SUCCESS';\r\nexport const REFERRAL_GET_CLOSE_DATE_RANGE_FAILURE = 'REFERRAL_GET_CLOSE_DATE_RANGE_FAILURE';\r\nexport const REFERRALS_SYNC_REQUEST = 'REFERRALS_SYNC_REQUEST';\r\nexport const REFERRALS_SYNC_SUCCESS = 'REFERRALS_SYNC_SUCCESS';\r\nexport const REFERRALS_SYNC_FAILURE = 'REFERRALS_SYNC_FAILURE';\r\nexport const REFERRALS_SYNC_RESET = 'REFERRALS_SYNC_RESET';\r\n\r\nexport const SETTINGS_GET_REQUEST = 'SETTINGS_GET_REQUEST';\r\nexport const SETTINGS_GET_SUCCESS = 'SETTINGS_GET_SUCCESS';\r\nexport const SETTINGS_GET_FAILURE = 'SETTINGS_GET_FAILURE';\r\n\r\nexport const SYNCHRONIZATION_DETAILS_GET_FAILURE = 'SYNCHRONIZATION_DETAILS_GET_FAILURE';\r\nexport const SYNCHRONIZATION_DETAILS_GET_REQUEST = 'SYNCHRONIZATION_DETAILS_GET_REQUEST';\r\nexport const SYNCHRONIZATION_DETAILS_GET_SUCCESS = 'SYNCHRONIZATION_DETAILS_GET_SUCCESS';\r\n\r\nexport const SYSTEM_INFO_GET_FAILURE = 'SYSTEM_INFO_GET_FAILURE';\r\nexport const SYSTEM_INFO_GET_REQUEST = 'SYSTEM_INFO_GET_REQUEST';\r\nexport const SYSTEM_INFO_GET_SUCCESS = 'SYSTEM_INFO_GET_SUCCESS';\r\n\r\nexport const TIMESLOTS_DEFAULT_PACKAGE_GET_FAILURE = 'TIMESLOTS_DEFAULT_PACKAGE_GET_FAILURE';\r\nexport const TIMESLOTS_DEFAULT_PACKAGE_GET_REQUEST = 'TIMESLOTS_DEFAULT_PACKAGE_GET_REQUEST';\r\nexport const TIMESLOTS_DEFAULT_PACKAGE_GET_SUCCESS = 'TIMESLOTS_DEFAULT_PACKAGE_GET_SUCCESS';\r\n\r\nexport const TIMESLOT_ADD = 'TIMESLOT_ADD';\r\nexport const TIMESLOT_EDIT = 'TIMESLOT_EDIT';\r\nexport const TIMESLOT_DELETE = 'TIMESLOT_DELETE';\r\nexport const TIMESLOT_SAVE_REQUEST = 'TIMESLOT_SAVE_REQUEST';\r\nexport const TIMESLOT_SAVE_SUCCESS = 'TIMESLOT_SAVE_SUCCESS';\r\nexport const TIMESLOT_SAVE_FAILURE = 'TIMESLOT_SAVE_FAILURE';\r\n\r\nexport const TREATMENT_CREATE_FAILURE = 'TREATMENT_CREATE_FAILURE';\r\nexport const TREATMENT_CREATE_REQUEST = 'TREATMENT_CREATE_REQUEST';\r\nexport const TREATMENT_CREATE_SUCCESS = 'TREATMENT_CREATE_SUCCESS';\r\nexport const TREATMENT_GET_FAILURE = 'TREATMENT_GET_FAILURE';\r\nexport const TREATMENT_GET_REQUEST = 'TREATMENT_GET_REQUEST';\r\nexport const TREATMENT_GET_SUCCESS = 'TREATMENT_GET_SUCCESS';\r\nexport const TREATMENT_DETAILS_GET_FAILURE = 'TREATMENT_DETAILS_GET_FAILURE';\r\nexport const TREATMENT_DETAILS_GET_REQUEST = 'TREATMENT_DETAILS_GET_REQUEST';\r\nexport const TREATMENT_DETAILS_GET_SUCCESS = 'TREATMENT_DETAILS_GET_SUCCESS';\r\nexport const TREATMENT_UPDATE_FAILURE = 'TREATMENT_UPDATE_FAILURE';\r\nexport const TREATMENT_UPDATE_REQUEST = 'TREATMENT_UPDATE_REQUEST';\r\nexport const TREATMENT_UPDATE_SUCCESS = 'TREATMENT_UPDATE_SUCCESS';\r\nexport const TREATMENT_DISCARD_FAILURE = 'TREATMENT_DISCARD_FAILURE';\r\nexport const TREATMENT_DISCARD_REQUEST = 'TREATMENT_DISCARD_REQUEST';\r\nexport const TREATMENT_DISCARD_SUCCESS = 'TREATMENT_DISCARD_SUCCESS';\r\nexport const TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_REQUEST = 'TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_REQUEST';\r\nexport const TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_SUCCESS = 'TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_SUCCESS';\r\nexport const TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_FAILURE = 'TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_FAILURE';\r\nexport const TREATMENT_CREATE_RETROSPECTIVE_VISIT_FAILURE = 'TREATMENT_CREATE_RETROSPECTIVE_VISIT_FAILURE';\r\nexport const TREATMENT_CREATE_RETROSPECTIVE_VISIT_REQUEST = 'TREATMENT_CREATE_RETROSPECTIVE_VISIT_REQUEST';\r\nexport const TREATMENT_CREATE_RETROSPECTIVE_VISIT_SUCCESS = 'TREATMENT_CREATE_RETROSPECTIVE_VISIT_SUCCESS';\r\nexport const TREATMENTS_SYNC_REQUEST = 'TREATMENTS_SYNC_REQUEST';\r\nexport const TREATMENTS_SYNC_SUCCESS = 'TREATMENTS_SYNC_SUCCESS';\r\nexport const TREATMENTS_SYNC_FAILURE = 'TREATMENTS_SYNC_FAILURE';\r\nexport const TREATMENTS_SYNC_RESET = 'TREATMENTS_SYNC_RESET';\r\n\r\nexport const TREATMENT_INSTANCE_CANCEL_FAILURE = 'TREATMENT_INSTANCE_CANCEL_FAILURE';\r\nexport const TREATMENT_INSTANCE_CANCEL_REQUEST = 'TREATMENT_INSTANCE_CANCEL_REQUEST';\r\nexport const TREATMENT_INSTANCE_CANCEL_SUCCESS = 'TREATMENT_INSTANCE_CANCEL_SUCCESS';\r\nexport const TREATMENT_INSTANCES_GET_FAILURE = 'TREATMENT_INSTANCES_GET_FAILURE';\r\nexport const TREATMENT_INSTANCES_GET_REQUEST = 'TREATMENT_INSTANCES_GET_REQUEST';\r\nexport const TREATMENT_INSTANCES_GET_SUCCESS = 'TREATMENT_INSTANCES_GET_SUCCESS';\r\nexport const TREATMENT_INSTANCE_UPDATE_FAILURE = 'TREATMENT_INSTANCE_UPDATE_FAILURE';\r\nexport const TREATMENT_INSTANCE_UPDATE_REQUEST = 'TREATMENT_INSTANCE_UPDATE_REQUEST';\r\nexport const TREATMENT_INSTANCE_UPDATE_SUCCESS = 'TREATMENT_INSTANCE_UPDATE_SUCCESS';\r\nexport const TREATMENT_INSTANCE_ADD_OVERRIDE_REQUEST = 'TREATMENT_INSTANCE_ADD_OVERRIDE_REQUEST';\r\nexport const TREATMENT_INSTANCE_ADD_OVERRIDE_SUCCESS = 'TREATMENT_INSTANCE_ADD_OVERRIDE_SUCCESS';\r\nexport const TREATMENT_INSTANCE_ADD_OVERRIDE_FAILURE = 'TREATMENT_INSTANCE_ADD_OVERRIDE_FAILURE';\r\nexport const TREATMENT_INSTANCE_REMOVE_OVERRIDE_REQUEST = 'TREATMENT_INSTANCE_ADD_OVERRIDE_REQUEST';\r\nexport const TREATMENT_INSTANCE_REMOVE_OVERRIDE_SUCCESS = 'TREATMENT_INSTANCE_ADD_OVERRIDE_SUCCESS';\r\nexport const TREATMENT_INSTANCE_REMOVE_OVERRIDE_FAILURE = 'TREATMENT_INSTANCE_ADD_OVERRIDE_FAILURE';\r\nexport const TREATMENT_INSTANCES_GET_UNALLOCATED_TIME_FAILURE = 'TREATMENT_INSTANCES_GET_UNALLOCATED_TIME_FAILURE';\r\nexport const TREATMENT_INSTANCES_GET_UNALLOCATED_TIME_REQUEST = 'TREATMENT_INSTANCES_GET_UNALLOCATED_TIME_REQUEST';\r\nexport const TREATMENT_INSTANCES_GET_UNALLOCATED_TIME_SUCCESS = 'TREATMENT_INSTANCES_GET_UNALLOCATED_TIME_SUCCESS';\r\n\r\nexport const TREATMENTS_PATTERN_DATES_GET_REQUEST = 'TREATMENTS_PATTERN_DATES_GET_REQUEST';\r\nexport const TREATMENTS_PATTERN_DATES_GET_SUCCESS = 'TREATMENTS_PATTERN_DATES_GET_SUCCESS';\r\nexport const TREATMENTS_PATTERN_DATES_GET_FAILURE = 'TREATMENTS_PATTERN_DATES_GET_FAILURE';\r\n\r\nexport const VISIT_ACTUAL_GET_FAILURE = 'VISIT_ACTUAL_GET_FAILURE';\r\nexport const VISIT_ACTUAL_GET_REQUEST = 'VISIT_ACTUAL_GET_REQUEST';\r\nexport const VISIT_ACTUAL_GET_SUCCESS = 'VISIT_ACTUAL_GET_SUCCESS';\r\nexport const VISIT_ACTUAL_UPDATE_FAILURE = 'VISIT_ACTUAL_UPDATE_FAILURE';\r\nexport const VISIT_ACTUAL_UPDATE_REQUEST = 'VISIT_ACTUAL_UPDATE_REQUEST';\r\nexport const VISIT_ACTUAL_UPDATE_SUCCESS = 'VISIT_ACTUAL_UPDATE_SUCCESS';\r\nexport const VISIT_ACTUAL_ERROR_DISMISS = 'VISIT_ACTUAL_ERROR_DISMISS';\r\n\r\nexport const HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_REQUEST =\r\n 'HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_REQUEST';\r\nexport const HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_SUCCESS =\r\n 'HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_SUCCESS';\r\nexport const HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_FAILURE =\r\n 'HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_FAILURE';\r\n\r\nexport const CANCELLATION_REASON_CREATE_REQUEST = 'CANCELLATION_REASON_CREATE_REQUEST';\r\nexport const CANCELLATION_REASON_CREATE_SUCCESS = 'CANCELLATION_REASON_CREATE_SUCCESS';\r\nexport const CANCELLATION_REASON_CREATE_FAILURE = 'CANCELLATION_REASON_CREATE_FAILURE';\r\n\r\nexport const CANCELLATION_REASON_UPDATE_REQUEST = 'CANCELLATION_REASON_UPDATE_REQUEST';\r\nexport const CANCELLATION_REASON_UPDATE_SUCCESS = 'CANCELLATION_REASON_UPDATE_SUCCESS';\r\nexport const CANCELLATION_REASON_UPDATE_FAILURE = 'CANCELLATION_REASON_UPDATE_FAILURE';\r\n\r\nexport const ACTIVITY_TYPE_CREATE_REQUEST = 'ACTIVITY_TYPE_CREATE_REQUEST';\r\nexport const ACTIVITY_TYPE_CREATE_SUCCESS = 'ACTIVITY_TYPE_CREATE_SUCCESS';\r\nexport const ACTIVITY_TYPE_CREATE_FAILURE = 'ACTIVITY_TYPE_CREATE_FAILURE';\r\n\r\nexport const ACTIVITY_TYPE_UPDATE_REQUEST = 'ACTIVITY_TYPE_UPDATE_REQUEST';\r\nexport const ACTIVITY_TYPE_UPDATE_SUCCESS = 'ACTIVITY_TYPE_UPDATE_SUCCESS';\r\nexport const ACTIVITY_TYPE_UPDATE_FAILURE = 'ACTIVITY_TYPE_UPDATE_FAILURE';\r\n\r\nexport const ACTIVITY_TYPE_GET_REQUEST = 'ACTIVITY_TYPE_GET_REQUEST';\r\nexport const ACTIVITY_TYPE_GET_SUCCESS = 'ACTIVITY_TYPE_GET_SUCCESS';\r\nexport const ACTIVITY_TYPE_GET_FAILURE = 'ACTIVITY_TYPE_GET_FAILURE';\r\n\r\nexport const AUTOALLOCATE_WEIGHTINGS_GET_REQUEST = 'AUTOALLOCATE_WEIGHTINGS_GET_REQUEST';\r\nexport const AUTOALLOCATE_WEIGHTINGS_GET_SUCCESS = 'AUTOALLOCATE_WEIGHTINGS_GET_SUCCESS';\r\nexport const AUTOALLOCATE_WEIGHTINGS_GET_FAILURE = 'AUTOALLOCATE_WEIGHTINGS_GET_FAILURE';\r\n\r\nexport const AUTOALLOCATE_WEIGHTINGS_UPDATE_REQUEST = 'AUTOALLOCATE_WEIGHTINGS_UPDATE_REQUEST';\r\nexport const AUTOALLOCATE_WEIGHTINGS_UPDATE_SUCCESS = 'AUTOALLOCATE_WEIGHTINGS_UPDATE_SUCCESS';\r\nexport const AUTOALLOCATE_WEIGHTINGS_UPDATE_FAILURE = 'AUTOALLOCATE_WEIGHTINGS_UPDATE_FAILURE';\r\n\r\n// Reports\r\nexport const REPORT_TYPE_SELECT = 'REPORT_TYPE_SELECT';\r\nexport const GENERATE_REPORT_REQUEST = 'GENERATE_REPORT_REQUEST';\r\nexport const GENERATE_REPORT_SUCCESS = 'GENERATE_REPORT_SUCCESS';\r\nexport const GENERATE_REPORT_FAILURE = 'GENERATE_REPORT_FAILURE';\r\n\r\nexport const AUTO_ALLOCATE_REQUEST = 'AUTO_ALLOCATE_REQUEST';\r\nexport const AUTO_ALLOCATE_SUCCESS = 'AUTO_ALLOCATE_SUCCESS';\r\nexport const AUTO_ALLOCATE_FAILURE = 'AUTO_ALLOCATE_FAILURE';\r\n\r\nexport const AUTO_UNALLOCATE_REQUEST = 'AUTO_UNALLOCATE_REQUEST';\r\nexport const AUTO_UNALLOCATE_SUCCESS = 'AUTO_UNALLOCATE_SUCCESS';\r\nexport const AUTO_UNALLOCATE_FAILURE = 'AUTO_UNALLOCATE_FAILURE';\r\n\r\nexport const GET_AUTO_ALLOCATION_DETAILS_REQUEST = 'GET_AUTO_ALLOCATION_DETAILS_REQUEST';\r\nexport const GET_AUTO_ALLOCATION_DETAILS_SUCCESS = 'GET_AUTO_ALLOCATION_DETAILS_SUCCESS';\r\nexport const GET_AUTO_ALLOCATION_DETAILS_FAILURE = 'GET_AUTO_ALLOCATION_DETAILS_FAILURE';\r\nexport const AUTO_ALLOCATE_LOG = 'AUTO_ALLOCATE_LOG';\r\nexport const AUTO_ALLOCATE_UPDATE_DATES = 'AUTO_ALLOCATE_UPDATE_DATES';\r\n\r\n// Dashboard\r\nexport const TEAM_AVAILABILITY_REQUEST = 'TEAM_AVAILABILITY_REQUEST';\r\nexport const TEAM_AVAILABILITY_SUCCESS = 'TEAM_AVAILABILITY_SUCCESS';\r\nexport const TEAM_AVAILABILITY_FAILURE = 'TEAM_AVAILABILITY_FAILURE';\r\n\r\nexport const UPDATE_LUNCHBREAK_REQUEST = 'UPDATE_LUNCHBREAK_REQUEST';\r\nexport const UPDATE_LUNCHBREAK_SUCCESS = 'UPDATE_LUNCHBREAK_SUCCESS';\r\nexport const UPDATE_LUNCHBREAK_FAILURE = 'UPDATE_LUNCHBREAK_FAILURE';\r\n\r\nexport const NON_PATIENT_ACTIVITY_TYPE_CREATE_REQUEST = 'NON_PATIENT_ACTIVITY_TYPE_CREATE_REQUEST';\r\nexport const NON_PATIENT_ACTIVITY_TYPE_CREATE_SUCCESS = 'NON_PATIENT_ACTIVITY_TYPE_CREATE_SUCCESS';\r\nexport const NON_PATIENT_ACTIVITY_TYPE_CREATE_FAILURE = 'NON_PATIENT_ACTIVITY_TYPE_CREATE_FAILURE';\r\n\r\nexport const NON_PATIENT_ACTIVITY_TYPE_GET_REQUEST = 'NON_PATIENT_ACTIVITY_TYPE_GET_REQUEST';\r\nexport const NON_PATIENT_ACTIVITY_TYPE_GET_SUCCESS = 'NON_PATIENT_ACTIVITY_TYPE_GET_SUCCESS';\r\nexport const NON_PATIENT_ACTIVITY_TYPE_GET_FAILURE = 'NON_PATIENT_ACTIVITY_TYPE_GET_FAILURE';\r\n\r\nexport const NON_PATIENT_ACTIVITY_TYPE_UPDATE_REQUEST = 'NON_PATIENT_ACTIVITY_TYPE_UPDATE_REQUEST';\r\nexport const NON_PATIENT_ACTIVITY_TYPE_UPDATE_SUCCESS = 'NON_PATIENT_ACTIVITY_TYPE_UPDATE_SUCCESS';\r\nexport const NON_PATIENT_ACTIVITY_TYPE_UPDATE_FAILURE = 'NON_PATIENT_ACTIVITY_TYPE_UPDATE_FAILURE';\r\n\r\nexport const NON_PATIENT_ACTIVITY_CREATE_REQUEST = 'NON_PATIENT_ACTIVITY_CREATE_REQUEST';\r\nexport const NON_PATIENT_ACTIVITY_CREATE_SUCCESS = 'NON_PATIENT_ACTIVITY_CREATE_SUCCESS';\r\nexport const NON_PATIENT_ACTIVITY_CREATE_FAILURE = 'NON_PATIENT_ACTIVITY_CREATE_FAILURE';\r\n\r\nexport const NON_PATIENT_ACTIVITY_GET_REQUEST = 'NON_PATIENT_ACTIVITY_GET_REQUEST';\r\nexport const NON_PATIENT_ACTIVITY_GET_SUCCESS = 'NON_PATIENT_ACTIVITY_GET_SUCCESS';\r\nexport const NON_PATIENT_ACTIVITY_GET_FAILURE = 'NON_PATIENT_ACTIVITY_GET_FAILURE';\r\n\r\nexport const NON_PATIENT_ACTIVITY_UPDATE_REQUEST = 'NON_PATIENT_ACTIVITY_UPDATE_REQUEST';\r\nexport const NON_PATIENT_ACTIVITY_UPDATE_SUCCESS = 'NON_PATIENT_ACTIVITY_UPDATE_SUCCESS';\r\nexport const NON_PATIENT_ACTIVITY_UPDATE_FAILURE = 'NON_PATIENT_ACTIVITY_UPDATE_FAILURE';\r\n\r\nexport const NON_PATIENT_ACTIVITY_CANCEL_REQUEST = 'NON_PATIENT_ACTIVITY_CANCEL_REQUEST';\r\nexport const NON_PATIENT_ACTIVITY_CANCEL_SUCCESS = 'NON_PATIENT_ACTIVITY_CANCEL_SUCCESS';\r\nexport const NON_PATIENT_ACTIVITY_CANCEL_FAILURE = 'NON_PATIENT_ACTIVITY_CANCEL_FAILURE';\r\n\r\nexport const NON_PATIENT_ACTIVITY_ERROR_DISMISS = 'NON_PATIENT_ACTIVITY_ERROR_DISMISS';\r\n\r\nexport const REFERRAL_PRIORITY_CREATE_REQUEST = 'REFERRAL_PRIORITY_CREATE_REQUEST';\r\nexport const REFERRAL_PRIORITY_CREATE_SUCCESS = 'REFERRAL_PRIORITY_CREATE_SUCCESS';\r\nexport const REFERRAL_PRIORITY_CREATE_FAILURE = 'REFERRAL_PRIORITY_CREATE_FAILURE';\r\n\r\nexport const REFERRAL_PRIORITY_UPDATE_REQUEST = 'REFERRAL_PRIORITY_UPDATE_REQUEST';\r\nexport const REFERRAL_PRIORITY_UPDATE_SUCCESS = 'REFERRAL_PRIORITY_UPDATE_SUCCESS';\r\nexport const REFERRAL_PRIORITY_UPDATE_FAILURE = 'REFERRAL_PRIORITY_UPDATE_FAILURE';\r\n\r\nexport const REFERRAL_SOURCE_CREATE_REQUEST = 'REFERRAL_SOURCE_CREATE_REQUEST';\r\nexport const REFERRAL_SOURCE_CREATE_SUCCESS = 'REFERRAL_SOURCE_CREATE_SUCCESS';\r\nexport const REFERRAL_SOURCE_CREATE_FAILURE = 'REFERRAL_SOURCE_CREATE_FAILURE';\r\n\r\nexport const REFERRAL_SOURCE_UPDATE_REQUEST = 'REFERRAL_SOURCE_UPDATE_REQUEST';\r\nexport const REFERRAL_SOURCE_UPDATE_SUCCESS = 'REFERRAL_SOURCE_UPDATE_SUCCESS';\r\nexport const REFERRAL_SOURCE_UPDATE_FAILURE = 'REFERRAL_SOURCE_UPDATE_FAILURE';\r\n\r\nexport const REFERRAL_SERVICE_ERROR_DISMISS = 'REFERRAL_SERVICE_ERROR_DISMISS';\r\n\r\nexport const REFERRAL_SERVICE_CREATE_REQUEST = 'REFERRAL_SERVICE_CREATE_REQUEST';\r\nexport const REFERRAL_SERVICE_CREATE_SUCCESS = 'REFERRAL_SERVICE_CREATE_SUCCESS';\r\nexport const REFERRAL_SERVICE_CREATE_FAILURE = 'REFERRAL_SERVICE_CREATE_FAILURE';\r\n\r\nexport const REFERRAL_SERVICE_UPDATE_REQUEST = 'REFERRAL_SERVICE_UPDATE_REQUEST';\r\nexport const REFERRAL_SERVICE_UPDATE_SUCCESS = 'REFERRAL_SERVICE_UPDATE_SUCCESS';\r\nexport const REFERRAL_SERVICE_UPDATE_FAILURE = 'REFERRAL_SERVICE_UPDATE_FAILURE';\r\n\r\nexport const REFERRAL_SERVICE_VALIDATE_REQUEST = 'REFERRAL_SERVICE_VALIDATE_REQUEST';\r\nexport const REFERRAL_SERVICE_VALIDATE_SUCCESS = 'REFERRAL_SERVICE_VALIDATE_SUCCESS';\r\nexport const REFERRAL_SERVICE_VALIDATE_FAILURE = 'REFERRAL_SERVICE_VALIDATE_FAILURE';\r\n\r\nexport const MILEAGE_CAP_CREATE_FAILURE = 'MILEAGE_CAP_CREATE_FAILURE';\r\nexport const MILEAGE_CAP_CREATE_REQUEST = 'MILEAGE_CAP_CREATE_REQUEST';\r\nexport const MILEAGE_CAP_CREATE_SUCCESS = 'MILEAGE_CAP_CREATE_SUCCESS';\r\n\r\nexport const STARTING_POSTCODE_CREATE_FAILURE = 'STARTING_POSTCODE_CREATE_FAILURE';\r\nexport const STARTING_POSTCODE_CREATE_REQUEST = 'STARTING_POSTCODE_CREATE_REQUEST';\r\nexport const STARTING_POSTCODE_CREATE_SUCCESS = 'STARTING_POSTCODE_CREATE_SUCCESS';\r\n\r\nexport const NEXT_ID_REQUEST = 'NEXT_ID_REQUEST';\r\nexport const NEXT_ID_SUCCESS = 'NEXT_ID_SUCCESS';\r\nexport const NEXT_ID_FAILURE = 'NEXT_ID_FAILURE';\r\n\r\nexport const REMOVE_TREATMENT_INSTANCE = 'REMOVE_TREATMENT_INSTANCE';\r\n\r\nexport const TREATMENT_INSTANCES_BY_ASSIGNMENT_GET_REQUEST = 'TREATMENT_INSTANCES_BY_ASSIGNMENT_GET_REQUEST';\r\nexport const TREATMENT_INSTANCES_BY_ASSIGNMEN_GET_SUCCESS = 'TREATMENT_INSTANCES_BY_ASSIGNMEN_GET_SUCCESS';\r\nexport const TREATMENT_INSTANCES_BY_ASSIGNMEN_GET_FAILURE = 'TREATMENT_INSTANCES_BY_ASSIGNMEN_GET_FAILURE';\r\n\r\nexport const COPIES_POSTINGS_GET_REQUEST = 'COPIES_POSTINGS_GET_REQUEST';\r\nexport const COPIES_POSTINGS_GET_SUCCESS = 'COPIES_POSTINGS_GET_SUCCESS';\r\nexport const COPIES_POSTINGS_GET_FAILURE = 'COPIES_POSTINGS_GET_FAILURE';\r\n\r\nexport const UPDATE_POSTINGS_AFTER_ASSIGN_REQUEST = 'UPDATE_POSTINGS_AFTER_ASSIGN_REQUEST';\r\nexport const UPDATE_POSTINGS_AFTER_ASSIGN_SUCCESS = 'UPDATE_POSTINGS_AFTER_ASSIGN_SUCCESS';\r\nexport const UPDATE_POSTINGS_AFTER_ASSIGN_FAILURE = 'UPDATE_POSTINGS_AFTER_ASSIGN_FAILURE';\r\n\r\nexport const UPDATE_POSTINGS_AFTER_RESCHEDULE_REQUEST = 'UPDATE_POSTINGS_AFTER_RESCHEDULE_REQUEST';\r\nexport const UPDATE_POSTINGS_AFTER_RESCHEDULE_SUCCESS = 'UPDATE_POSTINGS_AFTER_RESCHEDULE_SUCCESS';\r\nexport const UPDATE_POSTINGS_AFTER_RESCHEDULE_FAILURE = 'UPDATE_POSTINGS_AFTER_RESCHEDULE_FAILURE';\r\n\r\nexport const UPDATE_POSTINGS_AFTER_UNASSIGN_REQUEST = 'UPDATE_POSTINGS_AFTER_UNASSIGN_REQUEST';\r\nexport const UPDATE_POSTINGS_AFTER_UNASSIGN_SUCCESS = 'UPDATE_POSTINGS_AFTER_UNASSIGN_SUCCESS';\r\nexport const UPDATE_POSTINGS_AFTER_UNASSIGN_FAILURE = 'UPDATE_POSTINGS_AFTER_UNASSIGN_FAILURE';\r\n\r\nexport const TREATMENT_INSTANCE_COPY_GET_REQUEST = 'TREATMENT_INSTANCE_COPY_GET_REQUEST';\r\nexport const TREATMENT_INSTANCE_COPY_GET_SUCCESS = 'TREATMENT_INSTANCE_COPY_GET_SUCCESS';\r\nexport const TREATMENT_INSTANCE_COPY_GET_FAILURE = 'TREATMENT_INSTANCE_COPY_GET_FAILURE';\r\n\r\nexport const REMOVE_TREATMENT_INSTANCE_COPIES = 'REMOVE_TREATMENT_INSTANCE_COPIES';\r\nexport const UPDATE_TIME_LEFT_TO_ALLOCATE = 'UPDATE_TIME_LEFT_TO_ALLOCATE';\r\n\r\nexport const TEAM_AVAILABILITY_GET_REQUEST = 'TEAM_AVAILABILITY_GET_REQUEST';\r\nexport const TEAM_AVAILABILITY_GET_SUCCESS = 'TEAM_AVAILABILITY_GET_SUCCESS';\r\nexport const TEAM_AVAILABILITY_GET_FAILURE = 'TEAM_AVAILABILITY_GET_FAILURE';\r\n\r\nexport const ASSIGNMENT_TREATMENT_INSTANCE_GET_REQUEST = 'ASSIGNMENT_TREATMENT_INSTANCE_GET_REQUEST';\r\nexport const ASSIGNMENT_TREATMENT_INSTANCE_GET_SUCCESS = 'ASSIGNMENT_TREATMENT_INSTANCE_GET_SUCCESS';\r\nexport const ASSIGNMENT_TREATMENT_INSTANCE_GET_FAILURE = 'ASSIGNMENT_TREATMENT_INSTANCE_GET_FAILURE';\r\n\r\nexport const RESET_ASSIGNMENT_INFO = 'RESET_ASSIGNMENT_INFO';\r\n\r\nexport const REMOVE_COPY_TREATMENT_INSTANCE = 'REMOVE_COPY_TREATMENT_INSTANCE';\r\n\r\nexport const GET_SERVICES_DETAILS_REQUEST = 'GET_SERVICES_DETAILS_REQUEST';\r\nexport const GET_SERVICES_DETAILS_SUCCESS = 'GET_SERVICES_DETAILS_SUCCESS';\r\nexport const GET_SERVICES_DETAILS_FAILURE = 'GET_SERVICES_DETAILS_FAILURE';\r\n\r\nexport const SCHEDULER_MODE_VIEW_TOGGLE = 'SCHEDULER_MODE_VIEW_TOGGLE';\r\nexport const SET_SCHEDULER_MODE = 'SET_SCHEDULER_MODE';\r\nexport const OIDC_SESSION_TERMINATED = 'redux-oidc/SESSION_TERMINATED';\r\n\r\nexport const EXTERNAL_PROVIDER_TYPE_GET_REQUEST = 'EXTERNAL_PROVIDER_TYPE_GET_REQUEST';\r\nexport const EXTERNAL_PROVIDER_TYPE_GET_SUCCESS = 'EXTERNAL_PROVIDER_TYPE_GET_SUCCESS';\r\nexport const EXTERNAL_PROVIDER_TYPE_GET_FAILURE = 'EXTERNAL_PROVIDER_TYPE_GET_FAILURE';\r\n","import { ACTIVITY_CREATE_REQUEST, ACTIVITY_CREATE_SUCCESS, ACTIVITY_CREATE_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants//methods';\r\n\r\nexport function createActivity(activityData) {\r\n return {\r\n types: [ACTIVITY_CREATE_REQUEST, ACTIVITY_CREATE_SUCCESS, ACTIVITY_CREATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: activityData,\r\n path: 'v1/command/CreateActivity',\r\n }),\r\n };\r\n}\r\n","import { ACTIVITY_GET_REQUEST, ACTIVITY_GET_SUCCESS, ACTIVITY_GET_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function getActivity(activityId) {\r\n return {\r\n types: [ACTIVITY_GET_REQUEST, ACTIVITY_GET_SUCCESS, ACTIVITY_GET_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetActivityById?Id=${activityId}`,\r\n }),\r\n };\r\n}\r\n","export * from './create';\r\nexport * from './get';\r\nexport * from './toggle';\r\nexport * from './update';\r\nexport * from './queryActions';\r\n","import { apiGetModel, getApi } from '../../useApiHook';\r\n\r\nexport const getMaxCliniciansByActivities = (auth, entityModel, callback) => {\r\n const model = apiGetModel('GetMaxCliniciansByActivities', entityModel, false, null, callback);\r\n getApi(auth, model);\r\n};\r\n","import {\r\n ACTIVITY_DEACTIVATE_REQUEST,\r\n ACTIVITY_DEACTIVATE_SUCCESS,\r\n ACTIVITY_DEACTIVATE_FAILURE,\r\n ACTIVITY_ACTIVATE_REQUEST,\r\n ACTIVITY_ACTIVATE_SUCCESS,\r\n ACTIVITY_ACTIVATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction deactivateActivity(id) {\r\n return {\r\n types: [ACTIVITY_DEACTIVATE_REQUEST, ACTIVITY_DEACTIVATE_SUCCESS, ACTIVITY_DEACTIVATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: { activityId: id },\r\n path: 'v1/command/DeactivateActivity',\r\n }),\r\n };\r\n}\r\n\r\nfunction activateActivity(id) {\r\n return {\r\n types: [ACTIVITY_ACTIVATE_REQUEST, ACTIVITY_ACTIVATE_SUCCESS, ACTIVITY_ACTIVATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: { activityId: id },\r\n path: 'v1/command/ActivateActivity',\r\n }),\r\n };\r\n}\r\n\r\nexport { deactivateActivity, activateActivity };\r\n","import { ACTIVITY_UPDATE_REQUEST, ACTIVITY_UPDATE_SUCCESS, ACTIVITY_UPDATE_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction updateActivity(activityData) {\r\n return {\r\n types: [ACTIVITY_UPDATE_REQUEST, ACTIVITY_UPDATE_SUCCESS, ACTIVITY_UPDATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: activityData,\r\n path: 'v1/command/UpdateActivity',\r\n }),\r\n };\r\n}\r\n\r\nexport { updateActivity };\r\n","import {\r\n ACTIVITY_TYPE_CREATE_REQUEST,\r\n ACTIVITY_TYPE_CREATE_SUCCESS,\r\n ACTIVITY_TYPE_CREATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function createActivityType(name) {\r\n return {\r\n types: [ACTIVITY_TYPE_CREATE_REQUEST, ACTIVITY_TYPE_CREATE_SUCCESS, ACTIVITY_TYPE_CREATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: name,\r\n path: 'v1/command/CreateActivityType',\r\n }),\r\n };\r\n}\r\n","import { ACTIVITY_TYPE_GET_REQUEST, ACTIVITY_TYPE_GET_SUCCESS, ACTIVITY_TYPE_GET_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function getActivityType(activityTypeId) {\r\n return {\r\n types: [ACTIVITY_TYPE_GET_REQUEST, ACTIVITY_TYPE_GET_SUCCESS, ACTIVITY_TYPE_GET_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetActivityTypeById?Id=${activityTypeId}`,\r\n }),\r\n };\r\n}\r\n","export * from './create';\r\nexport * from './update';\r\nexport * from './get';\r\n","import {\r\n ACTIVITY_TYPE_UPDATE_REQUEST,\r\n ACTIVITY_TYPE_UPDATE_SUCCESS,\r\n ACTIVITY_TYPE_UPDATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function updateActivityType(activityTypeId) {\r\n return {\r\n types: [ACTIVITY_TYPE_UPDATE_REQUEST, ACTIVITY_TYPE_UPDATE_SUCCESS, ACTIVITY_TYPE_UPDATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: activityTypeId,\r\n path: 'v1/command/EditActivityType',\r\n }),\r\n };\r\n}\r\n","import { ASSIGNMENT_CREATE_REQUEST, ASSIGNMENT_CREATE_SUCCESS, ASSIGNMENT_CREATE_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function createAssignment(assignment) {\r\n return {\r\n types: [ASSIGNMENT_CREATE_REQUEST, ASSIGNMENT_CREATE_SUCCESS, ASSIGNMENT_CREATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n path: 'v1/command/AssignClinicianToTreatmentInstance',\r\n data: {\r\n ...assignment,\r\n },\r\n }),\r\n };\r\n}\r\n","import { ASSIGNMENT_DELETE_REQUEST, ASSIGNMENT_DELETE_SUCCESS, ASSIGNMENT_DELETE_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function deleteAssignment(id, assignGuid, postingId) {\r\n return {\r\n types: [ASSIGNMENT_DELETE_REQUEST, ASSIGNMENT_DELETE_SUCCESS, ASSIGNMENT_DELETE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n path: 'v1/command/UnassignClinicianFromTreatmentInstance',\r\n data: {\r\n id,\r\n AssignGuid: assignGuid,\r\n PostingId: postingId,\r\n },\r\n }),\r\n };\r\n}\r\n","export * from './create';\r\nexport * from './delete';\r\nexport * from './reschedule';\r\n","import {\r\n ASSIGNMENT_RESCHEDULE_REQUEST,\r\n ASSIGNMENT_RESCHEDULE_SUCCESS,\r\n ASSIGNMENT_RESCHEDULE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function rescheduleAssignment(assignGuid, oldPostingId, postingId, newAssignmentTime) {\r\n return {\r\n types: [ASSIGNMENT_RESCHEDULE_REQUEST, ASSIGNMENT_RESCHEDULE_SUCCESS, ASSIGNMENT_RESCHEDULE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n path: 'v1/command/RescheduleClinicianAssignment',\r\n data: {\r\n AssignGuid: assignGuid,\r\n OldPostingId: oldPostingId,\r\n PostingId: postingId,\r\n NewAssignmentTime: newAssignmentTime,\r\n },\r\n }),\r\n };\r\n}\r\n","import {\r\n EXTERNAL_PROVIDER_TYPE_GET_REQUEST,\r\n EXTERNAL_PROVIDER_TYPE_GET_SUCCESS,\r\n EXTERNAL_PROVIDER_TYPE_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function getExternalProviderType() {\r\n return {\r\n types: [EXTERNAL_PROVIDER_TYPE_GET_REQUEST, EXTERNAL_PROVIDER_TYPE_GET_SUCCESS, EXTERNAL_PROVIDER_TYPE_GET_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetExternalProviderTypeForCurrentUser`,\r\n }),\r\n };\r\n}\r\n","export * from './get';\r\n","export * from './activities';\r\nexport * from './activityTypes';\r\nexport * from './assignments';\r\nexport * from './orgUnits';\r\nexport * from './patients';\r\nexport * from './postings';\r\nexport * from './referrals';\r\nexport * from './timeSlots';\r\nexport * from './treatmentInstances';\r\nexport * from './treatments';\r\nexport * from './visitActuals';\r\nexport * from './settings';\r\nexport * from './nonPatientActivityTypes';\r\nexport * from './nonPatientActivities';\r\nexport * from './mileageCap';\r\nexport * from './externalProviders';\r\n","export * from './update';\r\n","import { UPDATE_LUNCHBREAK_REQUEST, UPDATE_LUNCHBREAK_SUCCESS, UPDATE_LUNCHBREAK_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function updateLunchBreak(data) {\r\n return {\r\n types: [UPDATE_LUNCHBREAK_REQUEST, UPDATE_LUNCHBREAK_SUCCESS, UPDATE_LUNCHBREAK_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n path: 'v1/command/UpdateLunchBreak',\r\n data,\r\n }),\r\n };\r\n}\r\n","import {\r\n MILEAGE_CAP_CREATE_REQUEST,\r\n MILEAGE_CAP_CREATE_SUCCESS,\r\n MILEAGE_CAP_CREATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants//methods';\r\n\r\nexport function createClinicianMileageCap(clinicanMileageCapData) {\r\n return {\r\n types: [MILEAGE_CAP_CREATE_REQUEST, MILEAGE_CAP_CREATE_SUCCESS, MILEAGE_CAP_CREATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: { ClinicianMileageCaps: clinicanMileageCapData },\r\n path: 'v1/command/CreateClinicianMileageCap',\r\n }),\r\n };\r\n}\r\n","export * from './create';\r\n","import {\r\n NON_PATIENT_ACTIVITY_CANCEL_REQUEST,\r\n NON_PATIENT_ACTIVITY_CANCEL_SUCCESS,\r\n NON_PATIENT_ACTIVITY_CANCEL_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants//methods';\r\n\r\nexport function cancelNonPatientActivity(data) {\r\n return {\r\n types: [\r\n NON_PATIENT_ACTIVITY_CANCEL_REQUEST,\r\n NON_PATIENT_ACTIVITY_CANCEL_SUCCESS,\r\n NON_PATIENT_ACTIVITY_CANCEL_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data,\r\n path: 'v1/command/CancelNonPatientActivity',\r\n }),\r\n };\r\n}\r\n","/* eslint-disable prettier/prettier */\r\nimport {\r\n NON_PATIENT_ACTIVITY_CREATE_REQUEST,\r\n NON_PATIENT_ACTIVITY_CREATE_SUCCESS,\r\n NON_PATIENT_ACTIVITY_CREATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants//methods';\r\n\r\nexport function createNonPatientActivity({ NonPatientActivity }, shouldAssignToday) {\r\n return {\r\n types: [\r\n NON_PATIENT_ACTIVITY_CREATE_REQUEST,\r\n NON_PATIENT_ACTIVITY_CREATE_SUCCESS,\r\n NON_PATIENT_ACTIVITY_CREATE_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: {\r\n NonPatientActivity,\r\n shouldAssignToday,\r\n },\r\n path: 'v1/command/CreateNonPatientActivity',\r\n }),\r\n };\r\n}\r\n","import {\r\n NON_PATIENT_ACTIVITY_GET_REQUEST,\r\n NON_PATIENT_ACTIVITY_GET_SUCCESS,\r\n NON_PATIENT_ACTIVITY_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function getNonPatientActivity(id) {\r\n return {\r\n types: [NON_PATIENT_ACTIVITY_GET_REQUEST, NON_PATIENT_ACTIVITY_GET_SUCCESS, NON_PATIENT_ACTIVITY_GET_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetNonPatientActivityById?Id=${id}`,\r\n }),\r\n };\r\n}\r\n","export * from './create';\r\nexport * from './get';\r\nexport * from './update';\r\nexport * from './cancel';\r\nexport * from './userMessages';\r\n","import {\r\n NON_PATIENT_ACTIVITY_UPDATE_REQUEST,\r\n NON_PATIENT_ACTIVITY_UPDATE_SUCCESS,\r\n NON_PATIENT_ACTIVITY_UPDATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction updateNonPatientActivity(activityData) {\r\n return {\r\n types: [\r\n NON_PATIENT_ACTIVITY_UPDATE_REQUEST,\r\n NON_PATIENT_ACTIVITY_UPDATE_SUCCESS,\r\n NON_PATIENT_ACTIVITY_UPDATE_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: activityData,\r\n path: 'v1/command/UpdateNonPatientActivity',\r\n }),\r\n };\r\n}\r\n\r\nexport { updateNonPatientActivity };\r\n","import { NON_PATIENT_ACTIVITY_ERROR_DISMISS } from '../../constants/types';\r\n\r\nfunction dismissError() {\r\n return {\r\n type: NON_PATIENT_ACTIVITY_ERROR_DISMISS,\r\n };\r\n}\r\n\r\nexport { dismissError };\r\n","import {\r\n NON_PATIENT_ACTIVITY_TYPE_CREATE_REQUEST,\r\n NON_PATIENT_ACTIVITY_TYPE_CREATE_SUCCESS,\r\n NON_PATIENT_ACTIVITY_TYPE_CREATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function createNonPatientActivityType(name) {\r\n return {\r\n types: [\r\n NON_PATIENT_ACTIVITY_TYPE_CREATE_REQUEST,\r\n NON_PATIENT_ACTIVITY_TYPE_CREATE_SUCCESS,\r\n NON_PATIENT_ACTIVITY_TYPE_CREATE_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: name,\r\n path: 'v1/command/CreateNonPatientActivityType',\r\n }),\r\n };\r\n}\r\n","import {\r\n NON_PATIENT_ACTIVITY_TYPE_GET_REQUEST,\r\n NON_PATIENT_ACTIVITY_TYPE_GET_SUCCESS,\r\n NON_PATIENT_ACTIVITY_TYPE_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function getNonPatientActivityType(activityTypeId) {\r\n return {\r\n types: [\r\n NON_PATIENT_ACTIVITY_TYPE_GET_REQUEST,\r\n NON_PATIENT_ACTIVITY_TYPE_GET_SUCCESS,\r\n NON_PATIENT_ACTIVITY_TYPE_GET_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetNonPatientActivityTypeById?Id=${activityTypeId}`,\r\n }),\r\n };\r\n}\r\n","import {\r\n NON_PATIENT_ACTIVITY_TYPE_UPDATE_REQUEST,\r\n NON_PATIENT_ACTIVITY_TYPE_UPDATE_SUCCESS,\r\n NON_PATIENT_ACTIVITY_TYPE_UPDATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function updateNonPatientActivityType(activityTypeId) {\r\n return {\r\n types: [\r\n NON_PATIENT_ACTIVITY_TYPE_UPDATE_REQUEST,\r\n NON_PATIENT_ACTIVITY_TYPE_UPDATE_SUCCESS,\r\n NON_PATIENT_ACTIVITY_TYPE_UPDATE_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: activityTypeId,\r\n path: 'v1/command/EditNonPatientActivityType',\r\n }),\r\n };\r\n}\r\n","import moment from 'moment';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport {\r\n ORG_UNITS_CURRENT_USER_GET_REQUEST,\r\n ORG_UNITS_CURRENT_USER_GET_SUCCESS,\r\n ORG_UNITS_CURRENT_USER_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction getCurrentUserOrgUnits(date) {\r\n return {\r\n types: [ORG_UNITS_CURRENT_USER_GET_REQUEST, ORG_UNITS_CURRENT_USER_GET_SUCCESS, ORG_UNITS_CURRENT_USER_GET_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetCurrentUserTeamsOptions?relevantDay=${moment(date).format(globals.dateFormats.date)}`,\r\n }),\r\n };\r\n}\r\n\r\nexport { getCurrentUserOrgUnits };\r\n","import { PATIENT_ADD_REQUEST, PATIENT_ADD_SUCCESS, PATIENT_ADD_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction addPatient(patient) {\r\n return {\r\n types: [PATIENT_ADD_REQUEST, PATIENT_ADD_SUCCESS, PATIENT_ADD_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: patient,\r\n path: 'v1/command/AddPatient',\r\n }),\r\n };\r\n}\r\n\r\nexport { addPatient };\r\n","import { apiPostModel, postApi } from '../../../useApiHook';\r\n\r\nexport const createClinicianMileageCap = (auth, entityModel, callback) => {\r\n const postModel = apiPostModel('CreateClinicianMileageCap', entityModel, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const createOrEditNonPatientActivityType = (auth, entityModel, callback) => {\r\n const enpointName = entityModel.Id > 0 ? 'EditNonPatientActivityType' : 'CreateNonPatientActivityType';\r\n const postModel = apiPostModel(enpointName, entityModel, callback);\r\n postApi(auth, postModel);\r\n};\r\n\r\nexport const importPatient = (auth, model, callback, errorCallback) => {\r\n const postModel = apiPostModel('ImportPatient', model, callback, errorCallback);\r\n postApi(auth, postModel);\r\n};\r\n","import {\r\n PATIENT_CLINICIAN_EXCLUDE_REQUEST,\r\n PATIENT_CLINICIAN_EXCLUDE_SUCCESS,\r\n PATIENT_CLINICIAN_EXCLUDE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction excludeClinician(patientId, clinicianIds, reason) {\r\n return {\r\n types: [PATIENT_CLINICIAN_EXCLUDE_REQUEST, PATIENT_CLINICIAN_EXCLUDE_SUCCESS, PATIENT_CLINICIAN_EXCLUDE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: { patientId: patientId.toUpperCase(), clinicianIds, reason },\r\n path: 'v1/command/ExcludeClinician',\r\n }),\r\n };\r\n}\r\n\r\nexport { excludeClinician };\r\n","/* eslint-disable no-restricted-syntax */\r\n/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n// import { mapOrgUnitOptions } from '../mappingDtos';\r\n\r\nconst defaultErrorMsg = null;\r\n\r\nexport const useFetchPatientAuditSearch = model => {\r\n const forceRefresh = model.forceRefresh;\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({\r\n response: null,\r\n isDataLoading: true,\r\n refresh: forceRefresh,\r\n error: defaultErrorMsg,\r\n });\r\n const [isTableDataLoading, setIsTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel =\r\n model.auditType === 1\r\n ? apiGetModel('GetUnsuccessfulSyncPatient', model, forceRefresh)\r\n : apiGetModel('GetPatientAudits', model, forceRefresh);\r\n\r\n const setRequestResponse = response => {\r\n setState(newState => ({\r\n ...newState,\r\n response,\r\n isDataLoading: false,\r\n refresh: false,\r\n error: null,\r\n }));\r\n setIsTableDataLoading(false);\r\n };\r\n\r\n const errorResponse = request => {\r\n if (!request.response) return;\r\n\r\n let errorMsg = '';\r\n const errorObj = JSON.parse(request.response);\r\n\r\n for (const value of Object.values(errorObj)) {\r\n errorMsg += `${value}. `; // `Field '${key}: ${value}. `;\r\n }\r\n\r\n setState(newState => ({\r\n ...newState,\r\n isDataLoading: false,\r\n refresh: false,\r\n error: { message: errorMsg, props: Object.keys(errorObj) },\r\n }));\r\n setTimeout(() => setState(newState => ({ ...newState, error: { ...newState.error, message: '' } })), 50);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setIsTableDataLoading(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n errorResponse(ex.request);\r\n setIsTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error: state.error,\r\n isTableDataLoading,\r\n };\r\n};\r\n","/* eslint-disable no-restricted-syntax */\r\n/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { apiGetModel } from '../../../useApiHook';\r\nimport { callAxios } from '../../../../services/callAPIMiddleware';\r\n// import { mapOrgUnitOptions } from '../mappingDtos';\r\n\r\nconst defaultErrorMsg = null;\r\n\r\nexport const useFetchPatientSearch = model => {\r\n const forceRefresh = model.forceRefresh;\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [state, setState] = useState({\r\n response: null,\r\n isDataLoading: true,\r\n refresh: forceRefresh,\r\n error: defaultErrorMsg,\r\n });\r\n const [isTableDataLoading, setIsTableDataLoading] = useState(true);\r\n\r\n // Prepare api model and request call\r\n const getModel = apiGetModel('GetPatients', model, forceRefresh);\r\n\r\n const setRequestResponse = response => {\r\n setState(newState => ({\r\n ...newState,\r\n response,\r\n isDataLoading: false,\r\n refresh: false,\r\n error: null,\r\n }));\r\n setIsTableDataLoading(false);\r\n };\r\n\r\n const errorResponse = request => {\r\n if (!request.response) return;\r\n\r\n let errorMsg = '';\r\n const errorObj = JSON.parse(request.response);\r\n\r\n for (const value of Object.values(errorObj)) {\r\n errorMsg += `${value}. `; // `Field '${key}: ${value}. `;\r\n }\r\n\r\n setState(newState => ({\r\n ...newState,\r\n isDataLoading: false,\r\n refresh: false,\r\n error: { message: errorMsg, props: Object.keys(errorObj) },\r\n }));\r\n setTimeout(() => setState(newState => ({ ...newState, error: { ...newState.error, message: '' } })), 50);\r\n };\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n setIsTableDataLoading(true);\r\n callAxios(auth, getModel.url, getModel.method, getModel.data)\r\n .then(result => setRequestResponse(result.data))\r\n .catch(ex => {\r\n errorResponse(ex.request);\r\n setIsTableDataLoading(false);\r\n });\r\n }\r\n }, [jwtToken, getModel.url, getModel.reloadData]);\r\n\r\n // Returning strongly-type mappedDto object\r\n return {\r\n data: state.response ? state.response : [],\r\n isDataLoading: state.isDataLoading,\r\n auth,\r\n error: state.error,\r\n isTableDataLoading,\r\n };\r\n};\r\n","export * from './fetchPatientAudit';\r\nexport * from './fetchPatientSearch';\r\n","import { PATIENT_GET_REQUEST, PATIENT_GET_SUCCESS, PATIENT_GET_FAILURE } from '../../constants/types';\r\n\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction getPatient(id) {\r\n return {\r\n types: [PATIENT_GET_REQUEST, PATIENT_GET_SUCCESS, PATIENT_GET_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetPatientById?id=${id}`,\r\n }),\r\n };\r\n}\r\nexport { getPatient };\r\n","export * from './get';\r\nexport * from './update';\r\nexport * from './add';\r\nexport * from './excludeClinician';\r\nexport * from './removeExcludedClinician';\r\nexport * from './queryActions';\r\n","import { apiGetModel, getApi } from '../../../useApiHook';\r\n\r\nexport const getPatientByNhs = (auth, nhsNumber, callback) => {\r\n const model = apiGetModel('GetPatientByNhs', { NhsNumber: nhsNumber }, false, null, callback);\r\n getApi(auth, model);\r\n};\r\n","import {\r\n PATIENT_EXCLUDED_CLINICIAN_REMOVE_REQUEST,\r\n PATIENT_EXCLUDED_CLINICIAN_REMOVE_SUCCESS,\r\n PATIENT_EXCLUDED_CLINICIAN_REMOVE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction removeExcludedClinician(patientId, clinicianId) {\r\n return {\r\n types: [\r\n PATIENT_EXCLUDED_CLINICIAN_REMOVE_REQUEST,\r\n PATIENT_EXCLUDED_CLINICIAN_REMOVE_SUCCESS,\r\n PATIENT_EXCLUDED_CLINICIAN_REMOVE_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: { patientId, clinicianId },\r\n path: 'v1/command/RemoveExcludedClinician',\r\n }),\r\n };\r\n}\r\n\r\nexport { removeExcludedClinician };\r\n","import {\r\n PATIENT_UPDATE_REQUEST,\r\n PATIENT_UPDATE_SUCCESS,\r\n PATIENT_UPDATE_FAILURE,\r\n PATIENT_SYNC_REQUEST,\r\n PATIENT_SYNC_SUCCESS,\r\n PATIENT_SYNC_FAILURE,\r\n PATIENT_SYNC_RESET,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction updatePatient(patient) {\r\n return {\r\n types: [PATIENT_UPDATE_REQUEST, PATIENT_UPDATE_SUCCESS, PATIENT_UPDATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: patient,\r\n path: 'v1/command/EditPatient',\r\n }),\r\n };\r\n}\r\n\r\nfunction syncPatient(patientId, patientNhs) {\r\n return {\r\n types: [PATIENT_SYNC_REQUEST, PATIENT_SYNC_SUCCESS, PATIENT_SYNC_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: { pasKey: patientId, nhsNumber: patientNhs },\r\n path: 'v1/command/SyncPatient',\r\n }),\r\n };\r\n}\r\n\r\nfunction resetPatientSync() {\r\n return {\r\n type: PATIENT_SYNC_RESET,\r\n };\r\n}\r\n\r\nexport { updatePatient, syncPatient, resetPatientSync };\r\n","import {\r\n POSTINGS_GET_REQUEST,\r\n POSTINGS_GET_SUCCESS,\r\n POSTINGS_GET_FAILURE,\r\n COPIES_POSTINGS_GET_REQUEST,\r\n COPIES_POSTINGS_GET_SUCCESS,\r\n COPIES_POSTINGS_GET_FAILURE,\r\n UPDATE_POSTINGS_AFTER_ASSIGN_REQUEST,\r\n UPDATE_POSTINGS_AFTER_ASSIGN_SUCCESS,\r\n UPDATE_POSTINGS_AFTER_ASSIGN_FAILURE,\r\n UPDATE_POSTINGS_AFTER_RESCHEDULE_REQUEST,\r\n UPDATE_POSTINGS_AFTER_RESCHEDULE_SUCCESS,\r\n UPDATE_POSTINGS_AFTER_RESCHEDULE_FAILURE,\r\n UPDATE_POSTINGS_AFTER_UNASSIGN_REQUEST,\r\n UPDATE_POSTINGS_AFTER_UNASSIGN_SUCCESS,\r\n UPDATE_POSTINGS_AFTER_UNASSIGN_FAILURE,\r\n POSTINGS_RESET_DATA,\r\n} from '../../constants/types';\r\nimport {\r\n selectSelectedDate,\r\n selectSelectedTeam,\r\n selectSchedulerIsNightMode,\r\n} from '../../../reducers/areas/dailyPlanning/selectors';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\nimport axios from '../../../utils/axios';\r\n\r\nfunction setPostings(response, isNightMode, selectedDate, schedulerModeStartTime, schedulerModeEndTime) {\r\n return {\r\n type: POSTINGS_GET_SUCCESS,\r\n response,\r\n isNightMode,\r\n selectedDate,\r\n schedulerModeStartTime,\r\n schedulerModeEndTime,\r\n };\r\n}\r\n\r\nfunction resetPostings() {\r\n return {\r\n type: POSTINGS_RESET_DATA,\r\n };\r\n}\r\n\r\nfunction getPostingsUpdateDataAfterReschedule(oldAssignGuid, assignmentId, oldPostingId, newPostingId, date) {\r\n return {\r\n types: [\r\n UPDATE_POSTINGS_AFTER_RESCHEDULE_REQUEST,\r\n UPDATE_POSTINGS_AFTER_RESCHEDULE_SUCCESS,\r\n UPDATE_POSTINGS_AFTER_RESCHEDULE_FAILURE,\r\n ],\r\n shouldCallAPI: () => true,\r\n buildCallParameters: state => {\r\n const parameters = {\r\n assignmentId,\r\n oldAssignGuid,\r\n oldPostingId,\r\n newPostingId,\r\n date,\r\n selectedDate: selectSelectedDate(state),\r\n isNightMode: selectSchedulerIsNightMode(state),\r\n IsSchedulerDayNightMode: true,\r\n };\r\n return {\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetPostingsUpdateDataAfterReschedule${queryStringBuilder(parameters)}`,\r\n };\r\n },\r\n };\r\n}\r\nfunction setPostingsLoading(silent) {\r\n return {\r\n type: POSTINGS_GET_REQUEST,\r\n silent,\r\n };\r\n}\r\n\r\nfunction getPostings(forceUpdate, silent, isNightMode, selectedDate, schedulerModeStartTime, schedulerModeEndTime) {\r\n return {\r\n types: [POSTINGS_GET_REQUEST, POSTINGS_GET_SUCCESS, POSTINGS_GET_FAILURE],\r\n shouldCallAPI: forceUpdate ? () => true : () => true,\r\n buildCallParameters: state => {\r\n const parameters = {\r\n date: selectSelectedDate(state),\r\n teamIds: selectSelectedTeam(state),\r\n isNightMode,\r\n IsSchedulerDayNightMode: true,\r\n };\r\n return {\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetPostings${queryStringBuilder(parameters)}`,\r\n };\r\n },\r\n silent,\r\n isNightMode,\r\n selectedDate,\r\n schedulerModeStartTime,\r\n schedulerModeEndTime,\r\n };\r\n}\r\n\r\nfunction getCopiesPostings(assignmentId) {\r\n return {\r\n types: [COPIES_POSTINGS_GET_REQUEST, COPIES_POSTINGS_GET_SUCCESS, COPIES_POSTINGS_GET_FAILURE],\r\n shouldCallAPI: () => true,\r\n buildCallParameters: () => {\r\n const parameters = {\r\n assignmentId,\r\n };\r\n return {\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetCopiesPostingsForUpdate${queryStringBuilder(parameters)}`,\r\n };\r\n },\r\n };\r\n}\r\n\r\nconst startAssignRequest = () => ({\r\n type: UPDATE_POSTINGS_AFTER_ASSIGN_REQUEST,\r\n});\r\n\r\nconst errorAssingRequest = error => ({\r\n type: UPDATE_POSTINGS_AFTER_ASSIGN_FAILURE,\r\n error,\r\n});\r\n\r\nconst successAssignRequest = response => ({\r\n type: UPDATE_POSTINGS_AFTER_ASSIGN_SUCCESS,\r\n response,\r\n});\r\n\r\nexport const getPostingsUpdateDataAfterAssign = (\r\n assignmentId,\r\n oldAssignGuid,\r\n postingId,\r\n date,\r\n jwtToken,\r\n masterId,\r\n) => async (dispatch, getState) => {\r\n const token = `Bearer ${jwtToken}`;\r\n const state = getState();\r\n dispatch(startAssignRequest());\r\n const parameters = {\r\n assignmentId,\r\n oldAssignGuid,\r\n postingId,\r\n date,\r\n masterTreatmentInstanceId: masterId,\r\n selectedDate: selectSelectedDate(state),\r\n isNightMode: selectSchedulerIsNightMode(state),\r\n };\r\n try {\r\n const response = await axios({\r\n url: `v1/query/GetPostingsUpdateDataAfterAssign${queryStringBuilder(parameters)}`,\r\n headers: {\r\n Authorization: token,\r\n },\r\n });\r\n dispatch(successAssignRequest(response));\r\n } catch (error) {\r\n dispatch(errorAssingRequest(error));\r\n }\r\n};\r\n\r\nfunction getPostingsUpdateDataAfterUnAssign(oldAssignGuid, assignmentId, postingId, date, teamId) {\r\n return {\r\n types: [\r\n UPDATE_POSTINGS_AFTER_UNASSIGN_REQUEST,\r\n UPDATE_POSTINGS_AFTER_UNASSIGN_SUCCESS,\r\n UPDATE_POSTINGS_AFTER_UNASSIGN_FAILURE,\r\n ],\r\n shouldCallAPI: () => true,\r\n buildCallParameters: state => {\r\n const parameters = {\r\n assignmentId,\r\n oldAssignGuid,\r\n postingId,\r\n date,\r\n teamId,\r\n selectedDate: selectSelectedDate(state),\r\n isNightMode: selectSchedulerIsNightMode(state),\r\n };\r\n return {\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetPostingsUpdateDataAfterUnAssign${queryStringBuilder(parameters)}`,\r\n };\r\n },\r\n };\r\n}\r\n\r\nexport {\r\n getPostings,\r\n setPostings,\r\n setPostingsLoading,\r\n getCopiesPostings,\r\n getPostingsUpdateDataAfterReschedule,\r\n getPostingsUpdateDataAfterUnAssign,\r\n resetPostings,\r\n};\r\n","import {\r\n LOCATIONSFORPOSTINGS_GET_REQUEST,\r\n LOCATIONSFORPOSTINGS_GET_SUCCESS,\r\n LOCATIONSFORPOSTINGS_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport { selectSelectedDate, selectSelectedTeam } from '../../../reducers/areas/dailyPlanning/selectors';\r\n\r\nfunction getLocationsForPostings(forceUpdate) {\r\n return {\r\n types: [LOCATIONSFORPOSTINGS_GET_REQUEST, LOCATIONSFORPOSTINGS_GET_SUCCESS, LOCATIONSFORPOSTINGS_GET_FAILURE],\r\n shouldCallAPI: forceUpdate ? () => true : () => true,\r\n buildCallParameters: state => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetLocationsForPostings?date=${selectSelectedDate(state)}&teamIds=${selectSelectedTeam(state)}`,\r\n }),\r\n };\r\n}\r\n\r\nexport { getLocationsForPostings };\r\n","export * from './get';\r\nexport * from './getLocationsForPostings';\r\nexport * from './postingHelper';\r\n","import _ from '../../../utils/lodash';\r\nimport { parseDateUtc, getSchedulerModeTimes } from '../../../utils/dates';\r\nimport { AssignmentVisitState } from '../../../enums';\r\n\r\nconst isValidRangePeriod = (start, end, startRangeDate, endRangeDate) =>\r\n parseDateUtc(start).isBetween(startRangeDate, endRangeDate, null, '[)') ||\r\n parseDateUtc(end).isBetween(startRangeDate, endRangeDate, null, '(]') ||\r\n (parseDateUtc(start).isBefore(startRangeDate) && parseDateUtc(end).isAfter(endRangeDate));\r\n\r\nconst filteredPostingsBySchedulerModeView = (\r\n postings,\r\n isNightMode,\r\n selectedDate,\r\n schedulerModeStartTime,\r\n schedulerModeEndTime,\r\n) => {\r\n const { schedulerStartTime, schedulerEndTime } = getSchedulerModeTimes(\r\n selectedDate,\r\n isNightMode,\r\n schedulerModeStartTime,\r\n schedulerModeEndTime,\r\n );\r\n const schedulerModeStartTimeObject = parseDateUtc(schedulerStartTime);\r\n const schedulerModeEndTimeObject = parseDateUtc(schedulerEndTime);\r\n\r\n return _.filter(postings, p => {\r\n p.availabilities = _.filter(p.availabilities, a => {\r\n a.assignments = _.filter(a.assignments, assignment => {\r\n const { startDate, endDate, visitStatus, visualStartDate, visualEndDate } = assignment;\r\n const isEarlyCompleted =\r\n visitStatus === AssignmentVisitState.Complete || visitStatus === AssignmentVisitState.Complete;\r\n const startTime = isEarlyCompleted ? visualStartDate : startDate;\r\n const endTime = isEarlyCompleted ? visualEndDate : endDate;\r\n\r\n const isValid = isValidRangePeriod(\r\n startTime,\r\n endTime,\r\n schedulerModeStartTimeObject,\r\n schedulerModeEndTimeObject,\r\n );\r\n return isValid;\r\n });\r\n\r\n const isValidAvailability = isValidRangePeriod(\r\n a.startDate,\r\n a.endDate,\r\n schedulerModeStartTimeObject,\r\n schedulerModeEndTimeObject,\r\n );\r\n a.startDate =\r\n parseDateUtc(a.startDate).diff(schedulerModeStartTimeObject, 'minutes') <= 0 ? schedulerStartTime : a.startDate;\r\n\r\n return isValidAvailability || a.assignments.length > 0;\r\n });\r\n\r\n return p.workingTime.hours > 0 || p.workingTime.minutes > 0;\r\n });\r\n};\r\n\r\nexport const filterResponseBySchedulerModeView = (\r\n response,\r\n isNightMode,\r\n selectedDate,\r\n schedulerModeStartTime,\r\n schedulerModeEndTime,\r\n) => {\r\n const {\r\n data: { postings },\r\n } = response;\r\n const filteredPostings = filteredPostingsBySchedulerModeView(\r\n postings,\r\n isNightMode,\r\n selectedDate,\r\n schedulerModeStartTime,\r\n schedulerModeEndTime,\r\n );\r\n\r\n return { ...response, data: { ...response.data, postings: filteredPostings } };\r\n};\r\n","import {\r\n REFERRAL_PRIORITY_CREATE_REQUEST,\r\n REFERRAL_PRIORITY_CREATE_SUCCESS,\r\n REFERRAL_PRIORITY_CREATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function createReferralPriority(name) {\r\n return {\r\n types: [REFERRAL_PRIORITY_CREATE_REQUEST, REFERRAL_PRIORITY_CREATE_SUCCESS, REFERRAL_PRIORITY_CREATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: name,\r\n path: 'v1/command/CreateReferralPriority',\r\n }),\r\n };\r\n}\r\n","export * from './create';\r\nexport * from './update';\r\n","import {\r\n REFERRAL_PRIORITY_UPDATE_REQUEST,\r\n REFERRAL_PRIORITY_UPDATE_SUCCESS,\r\n REFERRAL_PRIORITY_UPDATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function updateReferralPriority(ReferralPriorityId) {\r\n return {\r\n types: [REFERRAL_PRIORITY_UPDATE_REQUEST, REFERRAL_PRIORITY_UPDATE_SUCCESS, REFERRAL_PRIORITY_UPDATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: ReferralPriorityId,\r\n path: 'v1/command/UpdateReferralPriority',\r\n }),\r\n };\r\n}\r\n","import moment from 'moment';\r\nimport {\r\n REFERRAL_SERVICE_CREATE_REQUEST,\r\n REFERRAL_SERVICE_CREATE_SUCCESS,\r\n REFERRAL_SERVICE_CREATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function createReferralService(refferalServiceData) {\r\n return {\r\n types: [REFERRAL_SERVICE_CREATE_REQUEST, REFERRAL_SERVICE_CREATE_SUCCESS, REFERRAL_SERVICE_CREATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: {\r\n Name: refferalServiceData.name,\r\n ServiceId: refferalServiceData.serviceId,\r\n EndDate: refferalServiceData.endDate\r\n ? moment(refferalServiceData.endDate).utcOffset(0, true)\r\n : moment(new Date(9999, 11, 31, 0, 0, 0, 0)).utcOffset(0, true),\r\n },\r\n path: 'v1/command/CreateReferralService',\r\n }),\r\n };\r\n}\r\n","import {\r\n REFERRAL_SERVICE_VALIDATE_REQUEST,\r\n REFERRAL_SERVICE_VALIDATE_SUCCESS,\r\n REFERRAL_SERVICE_VALIDATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction getFutureAssignedInstancesForReferralService(referralServiceId, endDate) {\r\n return {\r\n types: [REFERRAL_SERVICE_VALIDATE_REQUEST, REFERRAL_SERVICE_VALIDATE_SUCCESS, REFERRAL_SERVICE_VALIDATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetFutureAssignedInstancesByReferralServiceId?ReferralServiceId=${referralServiceId}&EndDate=${endDate}`,\r\n }),\r\n };\r\n}\r\n\r\nexport { getFutureAssignedInstancesForReferralService };\r\n","export * from './create';\r\nexport * from './update';\r\nexport * from './userMessages';\r\nexport * from './get';\r\n","import moment from 'moment';\r\nimport {\r\n REFERRAL_SERVICE_UPDATE_REQUEST,\r\n REFERRAL_SERVICE_UPDATE_SUCCESS,\r\n REFERRAL_SERVICE_UPDATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function updateReferralService(referralServiceData) {\r\n return {\r\n types: [REFERRAL_SERVICE_UPDATE_REQUEST, REFERRAL_SERVICE_UPDATE_SUCCESS, REFERRAL_SERVICE_UPDATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: {\r\n Id: referralServiceData.id,\r\n Name: referralServiceData.name,\r\n ServiceId: referralServiceData.serviceId,\r\n isActive: referralServiceData.isActive,\r\n GradeUpgradeAllowed: referralServiceData.gradeUpgradeAllowed,\r\n EndDate: referralServiceData.endDate\r\n ? moment(referralServiceData.endDate).utcOffset(0, true)\r\n : moment(new Date(9999, 11, 31, 0, 0, 0, 0)).utcOffset(0, true),\r\n },\r\n path: 'v1/command/UpdateReferralService',\r\n }),\r\n };\r\n}\r\n","import { REFERRAL_SERVICE_ERROR_DISMISS } from '../../constants/types';\r\n\r\nfunction dismissError() {\r\n return {\r\n type: REFERRAL_SERVICE_ERROR_DISMISS,\r\n };\r\n}\r\n\r\nexport { dismissError };\r\n","import {\r\n REFERRAL_SOURCE_CREATE_REQUEST,\r\n REFERRAL_SOURCE_CREATE_SUCCESS,\r\n REFERRAL_SOURCE_CREATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function createReferralSource(name) {\r\n return {\r\n types: [REFERRAL_SOURCE_CREATE_REQUEST, REFERRAL_SOURCE_CREATE_SUCCESS, REFERRAL_SOURCE_CREATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: name,\r\n path: 'v1/command/CreateReferralSource',\r\n }),\r\n };\r\n}\r\n","import {\r\n REFERRAL_SOURCE_UPDATE_REQUEST,\r\n REFERRAL_SOURCE_UPDATE_SUCCESS,\r\n REFERRAL_SOURCE_UPDATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function updateReferralSource(ReferralSourceId) {\r\n return {\r\n types: [REFERRAL_SOURCE_UPDATE_REQUEST, REFERRAL_SOURCE_UPDATE_SUCCESS, REFERRAL_SOURCE_UPDATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: ReferralSourceId,\r\n path: 'v1/command/UpdateReferralSource',\r\n }),\r\n };\r\n}\r\n","import moment from 'moment';\r\nimport { REFERRAL_CLOSE_REQUEST, REFERRAL_CLOSE_SUCCESS, REFERRAL_CLOSE_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nexport function closeReferral(referralData) {\r\n return {\r\n types: [REFERRAL_CLOSE_REQUEST, REFERRAL_CLOSE_SUCCESS, REFERRAL_CLOSE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: Object.assign({}, referralData, {\r\n dateClosed: moment(referralData.dateClosed)\r\n .utcOffset(0, true)\r\n .format(globals.dateFormats.localApiFormat),\r\n }),\r\n path: 'v1/command/CloseReferral',\r\n }),\r\n };\r\n}\r\n","import { REFERRAL_CREATE_REQUEST, REFERRAL_CREATE_SUCCESS, REFERRAL_CREATE_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function createReferral(referralData) {\r\n return {\r\n types: [REFERRAL_CREATE_REQUEST, REFERRAL_CREATE_SUCCESS, REFERRAL_CREATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: referralData,\r\n path: 'v1/command/CreateReferral',\r\n }),\r\n };\r\n}\r\n","import {\r\n REFERRAL_GET_REQUEST,\r\n REFERRAL_GET_SUCCESS,\r\n REFERRAL_GET_FAILURE,\r\n REFERRAL_GET_CLOSE_DATE_RANGE_REQUEST,\r\n REFERRAL_GET_CLOSE_DATE_RANGE_SUCCESS,\r\n REFERRAL_GET_CLOSE_DATE_RANGE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function getReferral(referralId) {\r\n return {\r\n types: [REFERRAL_GET_REQUEST, REFERRAL_GET_SUCCESS, REFERRAL_GET_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetReferralById?Id=${referralId}`,\r\n }),\r\n };\r\n}\r\n\r\nexport function getCloseDateRange(referralId) {\r\n return {\r\n types: [\r\n REFERRAL_GET_CLOSE_DATE_RANGE_REQUEST,\r\n REFERRAL_GET_CLOSE_DATE_RANGE_SUCCESS,\r\n REFERRAL_GET_CLOSE_DATE_RANGE_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetReferralCloseDateRange?referralId=${referralId}`,\r\n }),\r\n };\r\n}\r\n","export * from './create';\r\nexport * from './get';\r\nexport * from './update';\r\nexport * from './userMessages';\r\nexport * from './close';\r\nexport * from './updateReferrals';\r\n","import { REFERRAL_UPDATE_REQUEST, REFERRAL_UPDATE_SUCCESS, REFERRAL_UPDATE_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function updateReferral(referralData) {\r\n return {\r\n types: [REFERRAL_UPDATE_REQUEST, REFERRAL_UPDATE_SUCCESS, REFERRAL_UPDATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: referralData,\r\n path: 'v1/command/UpdateReferral',\r\n }),\r\n };\r\n}\r\n","import {\r\n REFERRALS_SYNC_REQUEST,\r\n REFERRALS_SYNC_SUCCESS,\r\n REFERRALS_SYNC_FAILURE,\r\n REFERRALS_SYNC_RESET,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction updateReferrals(referralData) {\r\n return {\r\n types: [REFERRALS_SYNC_REQUEST, REFERRALS_SYNC_SUCCESS, REFERRALS_SYNC_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: referralData,\r\n path: 'v1/command/UpdateReferrals',\r\n }),\r\n };\r\n}\r\n\r\nfunction resetSync() {\r\n return {\r\n type: REFERRALS_SYNC_RESET,\r\n };\r\n}\r\n\r\nexport { updateReferrals, resetSync };\r\n","import { REFERRAL_CREATE_ERRORS_DISMISS, REFERRAL_UPDATE_ERRORS_DISMISS } from '../../constants/types';\r\n\r\nfunction dismissUpdateErrors() {\r\n return {\r\n type: REFERRAL_UPDATE_ERRORS_DISMISS,\r\n };\r\n}\r\n\r\nfunction dismissCreateErrors() {\r\n return {\r\n type: REFERRAL_CREATE_ERRORS_DISMISS,\r\n };\r\n}\r\n\r\nexport { dismissUpdateErrors, dismissCreateErrors };\r\n","import { SETTINGS_GET_REQUEST, SETTINGS_GET_SUCCESS, SETTINGS_GET_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction getSettings(settingName) {\r\n return {\r\n types: [SETTINGS_GET_REQUEST, SETTINGS_GET_SUCCESS, SETTINGS_GET_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetSettings?SettingsName=${settingName}`,\r\n }),\r\n };\r\n}\r\n\r\nexport { getSettings };\r\n","export * from './get';\r\n","import {\r\n TIMESLOTS_DEFAULT_PACKAGE_GET_REQUEST,\r\n TIMESLOTS_DEFAULT_PACKAGE_GET_SUCCESS,\r\n TIMESLOTS_DEFAULT_PACKAGE_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function getDefaultTimeSlotsPackage() {\r\n return {\r\n types: [\r\n TIMESLOTS_DEFAULT_PACKAGE_GET_REQUEST,\r\n TIMESLOTS_DEFAULT_PACKAGE_GET_SUCCESS,\r\n TIMESLOTS_DEFAULT_PACKAGE_GET_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: 'v1/query/GetTimeSlotsDefaultPackage',\r\n }),\r\n };\r\n}\r\n","export * from './getDefault';\r\nexport * from './save';\r\n","import moment from 'moment';\r\nimport { TIMESLOT_SAVE_REQUEST, TIMESLOT_SAVE_SUCCESS, TIMESLOT_SAVE_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nexport function saveTimeSlotsPackage(timeSlots) {\r\n return {\r\n types: [TIMESLOT_SAVE_REQUEST, TIMESLOT_SAVE_SUCCESS, TIMESLOT_SAVE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n path: 'v1/command/ConfigureTimeSlots',\r\n data: {\r\n timeSlots: timeSlots.map(t => ({\r\n ...t,\r\n to: moment(t.to).format(globals.timeFormats.long),\r\n from: moment(t.from).format(globals.timeFormats.long),\r\n })),\r\n },\r\n }),\r\n };\r\n}\r\n","import moment from 'moment';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport {\r\n TREATMENT_INSTANCE_ADD_OVERRIDE_REQUEST,\r\n TREATMENT_INSTANCE_ADD_OVERRIDE_SUCCESS,\r\n TREATMENT_INSTANCE_ADD_OVERRIDE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function overrideTreatmentInstance(treatmentId, treatmentInstanceId, on, timeSlots, assignmentId = -1) {\r\n return {\r\n types: [\r\n TREATMENT_INSTANCE_ADD_OVERRIDE_REQUEST,\r\n TREATMENT_INSTANCE_ADD_OVERRIDE_SUCCESS,\r\n TREATMENT_INSTANCE_ADD_OVERRIDE_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n path: 'v1/command/OverrideClinician',\r\n data: {\r\n treatmentId,\r\n treatmentInstanceId,\r\n on: moment(on).format(globals.dateFormats.localApiFormat),\r\n timeSlots,\r\n assignmentId,\r\n },\r\n }),\r\n };\r\n}\r\n","import moment from 'moment';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport {\r\n TREATMENT_INSTANCE_CANCEL_REQUEST,\r\n TREATMENT_INSTANCE_CANCEL_SUCCESS,\r\n TREATMENT_INSTANCE_CANCEL_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function cancelTreatmentInstance(\r\n treatmentId,\r\n treatmentInstanceId,\r\n reasonId,\r\n cancelledBy,\r\n cancellingPartyId,\r\n cancellingName,\r\n cancellingNoticeDate,\r\n riskAssesment,\r\n dateAt,\r\n timeSlots,\r\n) {\r\n return {\r\n types: [TREATMENT_INSTANCE_CANCEL_REQUEST, TREATMENT_INSTANCE_CANCEL_SUCCESS, TREATMENT_INSTANCE_CANCEL_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n path: 'v1/command/CancelTreatmentInstance',\r\n data: {\r\n treatmentId,\r\n treatmentInstanceId,\r\n reasonId,\r\n cancelledBy,\r\n cancellingPartyId,\r\n cancellingName,\r\n cancellingNoticeDate,\r\n riskAssesment,\r\n dateAt: moment(dateAt).format(globals.dateFormats.localApiFormat),\r\n timeSlots,\r\n },\r\n }),\r\n };\r\n}\r\n\r\nexport function bulkCancelTreatmentInstances(treatmentInstances) {\r\n return {\r\n types: [TREATMENT_INSTANCE_CANCEL_REQUEST, TREATMENT_INSTANCE_CANCEL_SUCCESS, TREATMENT_INSTANCE_CANCEL_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n path: 'v1/command/BulkCancelTreatmentInstances',\r\n data: { treatmentInstances },\r\n }),\r\n };\r\n}\r\n","import {\r\n TREATMENT_INSTANCES_GET_REQUEST,\r\n TREATMENT_INSTANCES_GET_SUCCESS,\r\n TREATMENT_INSTANCES_GET_FAILURE,\r\n TREATMENT_INSTANCES_BY_ASSIGNMENT_GET_REQUEST,\r\n TREATMENT_INSTANCES_BY_ASSIGNMEN_GET_SUCCESS,\r\n TREATMENT_INSTANCES_BY_ASSIGNMEN_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport {\r\n selectSelectedDate,\r\n selectSelectedTeam,\r\n selectSchedulerIsNightMode,\r\n} from '../../../reducers/areas/dailyPlanning';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\n\r\nfunction setTreatmentInstances(response) {\r\n return {\r\n type: TREATMENT_INSTANCES_GET_SUCCESS,\r\n response,\r\n };\r\n}\r\n\r\nfunction setTreatmentInstancesLoading(silent) {\r\n return {\r\n type: TREATMENT_INSTANCES_GET_REQUEST,\r\n silent,\r\n };\r\n}\r\n\r\nfunction getTreatmentInstances(forceUpdate, silent = false) {\r\n return {\r\n types: [TREATMENT_INSTANCES_GET_REQUEST, TREATMENT_INSTANCES_GET_SUCCESS, TREATMENT_INSTANCES_GET_FAILURE],\r\n shouldCallAPI: forceUpdate ? () => true : state => state.dailyPlanning.treatments.items <= 0,\r\n buildCallParameters: state => {\r\n const parameters = {\r\n date: selectSelectedDate(state),\r\n teamIds: selectSelectedTeam(state),\r\n isNightMode: selectSchedulerIsNightMode(state),\r\n IsSchedulerDayNightMode: true,\r\n };\r\n return {\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetTreatmentInstances${queryStringBuilder(parameters)}`,\r\n };\r\n },\r\n silent,\r\n };\r\n}\r\n\r\nfunction getTreatmentInstanceByAssignmentId(assignmentId, teamId) {\r\n return {\r\n types: [\r\n TREATMENT_INSTANCES_BY_ASSIGNMENT_GET_REQUEST,\r\n TREATMENT_INSTANCES_BY_ASSIGNMEN_GET_SUCCESS,\r\n TREATMENT_INSTANCES_BY_ASSIGNMEN_GET_FAILURE,\r\n ],\r\n shouldCallAPI: () => true,\r\n buildCallParameters: () => {\r\n const parameters = {\r\n assignmentId,\r\n teamId,\r\n };\r\n return {\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetTreatmentInstanceByAssignmentId${queryStringBuilder(parameters)}`,\r\n };\r\n },\r\n };\r\n}\r\n\r\nexport {\r\n getTreatmentInstances,\r\n setTreatmentInstances,\r\n setTreatmentInstancesLoading,\r\n getTreatmentInstanceByAssignmentId,\r\n};\r\n","import {\r\n HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_REQUEST,\r\n HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_SUCCESS,\r\n HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function getRescheduledInformation(treatmentInstanceId) {\r\n return {\r\n types: [\r\n HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_REQUEST,\r\n HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_SUCCESS,\r\n HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetRescheduledInformation?TreatmentInstanceId=${treatmentInstanceId}`,\r\n }),\r\n };\r\n}\r\n","export * from './get';\r\nexport * from './cancel';\r\nexport * from './update';\r\nexport * from './updateCopies';\r\nexport * from './addOverride';\r\nexport * from './removeOverride';\r\nexport * from './removeTreatmentInstance.js';\r\n","import {\r\n TREATMENT_INSTANCE_REMOVE_OVERRIDE_REQUEST,\r\n TREATMENT_INSTANCE_REMOVE_OVERRIDE_SUCCESS,\r\n TREATMENT_INSTANCE_REMOVE_OVERRIDE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function removeOverrideTreatmentInstance(treatmentInstanceId) {\r\n return {\r\n types: [\r\n TREATMENT_INSTANCE_REMOVE_OVERRIDE_REQUEST,\r\n TREATMENT_INSTANCE_REMOVE_OVERRIDE_SUCCESS,\r\n TREATMENT_INSTANCE_REMOVE_OVERRIDE_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n path: 'v1/command/CancelOverrideClinician',\r\n data: {\r\n treatmentInstanceId,\r\n },\r\n }),\r\n };\r\n}\r\n","import {\r\n REMOVE_TREATMENT_INSTANCE,\r\n REMOVE_COPY_TREATMENT_INSTANCE,\r\n REMOVE_TREATMENT_INSTANCE_COPIES,\r\n UPDATE_TIME_LEFT_TO_ALLOCATE,\r\n} from '../../constants/types';\r\n\r\nconst removeTreatmentInstanceRequest = (treatmentId, assignGuid, occurrence, effectiveTimeSlots) => ({\r\n type: REMOVE_TREATMENT_INSTANCE,\r\n treatmentId,\r\n assignGuid,\r\n occurrence,\r\n effectiveTimeSlots,\r\n});\r\n\r\nexport const removeTreatmentInstance = (treatmentId, assignGuid, occurrence, effectiveTimeSlots) => async dispatch => {\r\n await dispatch(removeTreatmentInstanceRequest(treatmentId, assignGuid, occurrence, effectiveTimeSlots));\r\n};\r\n\r\nexport function removeCopyTreatmentInstance(assignGuid) {\r\n return {\r\n type: REMOVE_COPY_TREATMENT_INSTANCE,\r\n assignGuid,\r\n };\r\n}\r\n\r\nexport function removeTreatmentInstanceCopies(masterId) {\r\n return {\r\n type: REMOVE_TREATMENT_INSTANCE_COPIES,\r\n masterId,\r\n };\r\n}\r\n\r\nexport function updateTotalTimeLeftToAllocate(duration) {\r\n return {\r\n type: UPDATE_TIME_LEFT_TO_ALLOCATE,\r\n duration,\r\n };\r\n}\r\n","import {\r\n TREATMENT_INSTANCE_UPDATE_REQUEST,\r\n TREATMENT_INSTANCE_UPDATE_SUCCESS,\r\n TREATMENT_INSTANCE_UPDATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function updateTreatmentInstance(updateData) {\r\n return {\r\n types: [TREATMENT_INSTANCE_UPDATE_REQUEST, TREATMENT_INSTANCE_UPDATE_SUCCESS, TREATMENT_INSTANCE_UPDATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: updateData,\r\n path: 'v1/command/EditTreatmentInstance',\r\n }),\r\n };\r\n}\r\n","import { TREATMENT_INSTANCE_COPY_GET_SUCCESS } from '../../constants/types';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\nimport axios from '../../../utils/axios';\r\n\r\nconst successRequest = response => ({\r\n type: TREATMENT_INSTANCE_COPY_GET_SUCCESS,\r\n response,\r\n});\r\n\r\nexport const getTreatmentInstancesCopies = (assignmentId, teamId, jwtToken) => async dispatch => {\r\n const token = `Bearer ${jwtToken}`;\r\n const parameters = {\r\n assignmentId,\r\n teamId,\r\n };\r\n const response = await axios({\r\n url: `v1/query/GetTreatmentInstanceCopies${queryStringBuilder(parameters)}`,\r\n headers: {\r\n Authorization: token,\r\n },\r\n });\r\n dispatch(successRequest(response));\r\n};\r\n","import { TREATMENT_CREATE_REQUEST, TREATMENT_CREATE_SUCCESS, TREATMENT_CREATE_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function createTreatment(treatmentData) {\r\n return {\r\n types: [TREATMENT_CREATE_REQUEST, TREATMENT_CREATE_SUCCESS, TREATMENT_CREATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: treatmentData,\r\n path: 'v1/command/CreateTreatment',\r\n }),\r\n };\r\n}\r\n","import {\r\n TREATMENT_CREATE_RETROSPECTIVE_VISIT_REQUEST,\r\n TREATMENT_CREATE_RETROSPECTIVE_VISIT_SUCCESS,\r\n TREATMENT_CREATE_RETROSPECTIVE_VISIT_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function createRetrospectiveVisit(retrospectiveVisitData) {\r\n return {\r\n types: [\r\n TREATMENT_CREATE_RETROSPECTIVE_VISIT_REQUEST,\r\n TREATMENT_CREATE_RETROSPECTIVE_VISIT_SUCCESS,\r\n TREATMENT_CREATE_RETROSPECTIVE_VISIT_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: retrospectiveVisitData,\r\n path: 'v1/command/CreateCompletedTreatment',\r\n }),\r\n };\r\n}\r\n","import {\r\n TREATMENT_GET_REQUEST,\r\n TREATMENT_GET_SUCCESS,\r\n TREATMENT_GET_FAILURE,\r\n TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_REQUEST,\r\n TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_SUCCESS,\r\n TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction getTreatment(id) {\r\n return {\r\n types: [TREATMENT_GET_REQUEST, TREATMENT_GET_SUCCESS, TREATMENT_GET_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetTreatmentById?id=${id}`,\r\n }),\r\n };\r\n}\r\n\r\nfunction getFutureAssignedInstancesForTreatment(treatmentId) {\r\n return {\r\n types: [\r\n TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_REQUEST,\r\n TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_SUCCESS,\r\n TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_FAILURE,\r\n ],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetFutureAssignedInstancesByTreatmentId?treatmentId=${treatmentId}`,\r\n }),\r\n };\r\n}\r\n\r\nexport { getFutureAssignedInstancesForTreatment, getTreatment };\r\n","export * from './create';\r\nexport * from './createRetro';\r\nexport * from './get';\r\nexport * from './update';\r\nexport * from './sync';\r\n","import {\r\n TREATMENTS_SYNC_REQUEST,\r\n TREATMENTS_SYNC_SUCCESS,\r\n TREATMENTS_SYNC_FAILURE,\r\n TREATMENTS_SYNC_RESET,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction syncTreatments(model) {\r\n return {\r\n types: [TREATMENTS_SYNC_REQUEST, TREATMENTS_SYNC_SUCCESS, TREATMENTS_SYNC_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: model,\r\n path: 'v1/command/UpdateTreatments',\r\n }),\r\n };\r\n}\r\n\r\nfunction resetSyncStatusMsg() {\r\n return {\r\n type: TREATMENTS_SYNC_RESET,\r\n };\r\n}\r\n\r\nexport { syncTreatments, resetSyncStatusMsg };\r\n","import {\r\n TREATMENT_UPDATE_REQUEST,\r\n TREATMENT_UPDATE_SUCCESS,\r\n TREATMENT_UPDATE_FAILURE,\r\n TREATMENT_DISCARD_REQUEST,\r\n TREATMENT_DISCARD_SUCCESS,\r\n TREATMENT_DISCARD_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function updateTreatment(treatmentData) {\r\n return {\r\n types: [TREATMENT_UPDATE_REQUEST, TREATMENT_UPDATE_SUCCESS, TREATMENT_UPDATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: treatmentData,\r\n path: 'v1/command/EditTreatment',\r\n }),\r\n };\r\n}\r\n\r\nexport function discardTreatment(treatmentData) {\r\n return {\r\n types: [TREATMENT_DISCARD_REQUEST, TREATMENT_DISCARD_SUCCESS, TREATMENT_DISCARD_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: treatmentData,\r\n path: 'v1/command/DiscardTreatment',\r\n }),\r\n };\r\n}\r\n","import { VISIT_ACTUAL_GET_REQUEST, VISIT_ACTUAL_GET_SUCCESS, VISIT_ACTUAL_GET_FAILURE } from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nexport function getVisitActual(visitActualId) {\r\n return {\r\n types: [VISIT_ACTUAL_GET_REQUEST, VISIT_ACTUAL_GET_SUCCESS, VISIT_ACTUAL_GET_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/GetTreatmentVisitById?TreatmentInstanceId=${visitActualId}`,\r\n }),\r\n };\r\n}\r\n","export * from './get';\r\nexport * from './update';\r\nexport * from './userMessages';\r\n","import {\r\n VISIT_ACTUAL_UPDATE_REQUEST,\r\n VISIT_ACTUAL_UPDATE_SUCCESS,\r\n VISIT_ACTUAL_UPDATE_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\n\r\nfunction updateVisitActual(visitActualData) {\r\n return {\r\n types: [VISIT_ACTUAL_UPDATE_REQUEST, VISIT_ACTUAL_UPDATE_SUCCESS, VISIT_ACTUAL_UPDATE_FAILURE],\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.POST,\r\n data: visitActualData,\r\n path: 'v1/command/EditTreatmentVisit',\r\n }),\r\n };\r\n}\r\n\r\nexport { updateVisitActual };\r\n","import { VISIT_ACTUAL_ERROR_DISMISS } from '../../constants/types';\r\n\r\nfunction dismissErrors() {\r\n return {\r\n type: VISIT_ACTUAL_ERROR_DISMISS,\r\n };\r\n}\r\n\r\nexport { dismissErrors };\r\n","import { push } from 'connected-react-router';\r\nimport { userManager } from '../../utils/userManager';\r\nimport { LOGOUT, LOGIN_FAILURE, LOGIN_START, LOGIN_SILENT } from '../constants/types';\r\n\r\nimport axios from '../../utils/axios';\r\n\r\nconst userLoggedIn = async jwtToken => {\r\n try {\r\n await axios.post(\r\n 'v1/command/UserLoggedIn',\r\n {},\r\n {\r\n headers: {\r\n Authorization: `Bearer ${jwtToken}`,\r\n },\r\n },\r\n );\r\n } catch (err) {\r\n // ignore errors\r\n }\r\n};\r\n\r\nconst userLoggedOut = async jwtToken => {\r\n try {\r\n await axios.post(\r\n 'v1/command/UserLoggedOut',\r\n {},\r\n {\r\n headers: {\r\n Authorization: `Bearer ${jwtToken}`,\r\n },\r\n },\r\n );\r\n } catch (err) {\r\n // ignore errors\r\n }\r\n};\r\n\r\nconst callback = jwtToken => dispatch => {\r\n dispatch({\r\n type: LOGIN_START,\r\n });\r\n\r\n userLoggedIn(jwtToken);\r\n dispatch(push('/'));\r\n};\r\n\r\nconst error = message => dispatch => {\r\n dispatch({\r\n type: LOGIN_FAILURE,\r\n ...message,\r\n });\r\n dispatch(push('/'));\r\n};\r\n\r\nconst silent = () => dispatch => {\r\n dispatch({\r\n type: LOGIN_SILENT,\r\n });\r\n};\r\n\r\nconst logoutFromOidc = message => (dispatch, getState) => {\r\n const currentState = getState();\r\n\r\n userLoggedOut(currentState.global.auth.jwtToken);\r\n\r\n dispatch({\r\n type: LOGOUT,\r\n ...message,\r\n });\r\n\r\n userManager.getUser().then(user => {\r\n if (user) {\r\n userManager.signoutRedirect();\r\n } else {\r\n dispatch(push('/'));\r\n }\r\n });\r\n};\r\n\r\nconst logoutAndRedirect = message => dispatch => dispatch(logoutFromOidc(message));\r\n\r\nexport { error, silent, callback, logoutAndRedirect };\r\n","import { GLOBAL_ERROR_DISMISS } from '../constants/types';\r\n\r\nexport function dismissGlobalError() {\r\n return {\r\n type: GLOBAL_ERROR_DISMISS,\r\n };\r\n}\r\n","import { GRID_FILTERS_ADD, GRID_FILTERS_UPDATE, GRID_FILTERS_CLEAR } from '../constants/types';\r\n\r\nfunction addGridFilters(state) {\r\n return {\r\n type: GRID_FILTERS_ADD,\r\n state,\r\n };\r\n}\r\n\r\nfunction updateGridFilters(state) {\r\n return {\r\n type: GRID_FILTERS_UPDATE,\r\n state,\r\n };\r\n}\r\n\r\nfunction clearGridFilters(state) {\r\n return {\r\n type: GRID_FILTERS_CLEAR,\r\n state,\r\n };\r\n}\r\n\r\nexport { addGridFilters, updateGridFilters, clearGridFilters };\r\n","export * from './auth';\r\nexport * from './errors';\r\n","export * from './toggle';\r\n","import { DIALOG_HIDE, DIALOG_SHOW } from '../../constants/types';\r\n\r\nfunction showDialog(identifier) {\r\n return {\r\n type: DIALOG_SHOW,\r\n identifier,\r\n };\r\n}\r\n\r\nfunction hideDialog(identifier) {\r\n return {\r\n type: DIALOG_HIDE,\r\n identifier,\r\n };\r\n}\r\n\r\nexport { showDialog, hideDialog };\r\n","export * from './dialogs';\r\nexport * from './selectors';\r\nexport * from './tables';\r\n","import {\r\n SELECTOR_OPTIONS_GET_REQUEST,\r\n SELECTOR_OPTIONS_GET_SUCCESS,\r\n SELECTOR_OPTIONS_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\n\r\nexport function getSelectorOptions(endpoint, reduxIdentifier, callArgs) {\r\n return {\r\n types: [SELECTOR_OPTIONS_GET_REQUEST, SELECTOR_OPTIONS_GET_SUCCESS, SELECTOR_OPTIONS_GET_FAILURE],\r\n reduxIdentifier,\r\n buildCallParameters: () => ({\r\n method: HTTP_METHOD.GET,\r\n path: `v1/query/${endpoint}${callArgs ? queryStringBuilder(callArgs) : ''}`,\r\n }),\r\n };\r\n}\r\n","export * from './getOptions';\r\n","export * from './tableSearch';\r\nexport * from './userMessages';\r\n","import {\r\n TABLE_SEARCH_PARAMS_UPDATE,\r\n TABLE_SEARCH_PARAMS_CLEAR,\r\n TABLE_DATA_GET_REQUEST,\r\n TABLE_DATA_GET_SUCCESS,\r\n TABLE_DATA_GET_FAILURE,\r\n} from '../../constants/types';\r\nimport { HTTP_METHOD } from '../../constants/methods';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\nimport { getTableSearchParams } from '../../../reducers/uiElements';\r\n\r\nfunction updateTableSearchParams(reduxIdentifier, params, initialSearchParams) {\r\n return {\r\n type: TABLE_SEARCH_PARAMS_UPDATE,\r\n reduxIdentifier,\r\n initialSearchParams,\r\n params,\r\n };\r\n}\r\n\r\nfunction clearTableSearchParams(reduxIdentifier, initialSearchParams) {\r\n return {\r\n type: TABLE_SEARCH_PARAMS_CLEAR,\r\n initialSearchParams,\r\n reduxIdentifier,\r\n };\r\n}\r\n\r\nfunction getTableSearchResults(endpoint, reduxIdentifier, responseObjectName, method = HTTP_METHOD.GET) {\r\n return {\r\n types: [TABLE_DATA_GET_REQUEST, TABLE_DATA_GET_SUCCESS, TABLE_DATA_GET_FAILURE],\r\n buildCallParameters: state => ({\r\n method,\r\n path: `v1/query/${endpoint +\r\n (method === HTTP_METHOD.GET ? queryStringBuilder(getTableSearchParams(reduxIdentifier)(state)) : '')}`,\r\n data: method === HTTP_METHOD.POST ? getTableSearchParams(reduxIdentifier)(state) : null,\r\n }),\r\n reduxIdentifier,\r\n responseObjectName,\r\n };\r\n}\r\n\r\nexport { updateTableSearchParams, clearTableSearchParams, getTableSearchResults };\r\n","import { TABLE_DATA_FAILURE_DISMISS, TABLE_DATA_SUCCESS_DISMISS } from '../../constants/types';\r\n\r\nfunction dismissErrors(reduxIdentifier) {\r\n return {\r\n type: TABLE_DATA_FAILURE_DISMISS,\r\n reduxIdentifier,\r\n };\r\n}\r\n\r\nfunction dismissSuccess(reduxIdentifier) {\r\n return {\r\n type: TABLE_DATA_SUCCESS_DISMISS,\r\n reduxIdentifier,\r\n };\r\n}\r\n\r\nexport { dismissErrors, dismissSuccess };\r\n","import { TIMESLOT_ADD, TIMESLOT_EDIT, TIMESLOT_DELETE } from '../../constants/types';\r\n\r\nexport function addTimeSlot(newTimeSlot) {\r\n return {\r\n type: TIMESLOT_ADD,\r\n newTimeSlot,\r\n };\r\n}\r\n\r\nexport function editTimeSlot(updatedTimeSlot) {\r\n return {\r\n type: TIMESLOT_EDIT,\r\n updatedTimeSlot,\r\n };\r\n}\r\n\r\nexport function deleteTimeSlot(timeSlotName) {\r\n return {\r\n type: TIMESLOT_DELETE,\r\n timeSlotName,\r\n };\r\n}\r\n","export * from './configureTimeSlots';\r\n","/* eslint-disable consistent-return */\r\n/* eslint-disable no-nested-ternary */\r\n/* eslint-disable react/forbid-prop-types */\r\nimport { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { callAxios } from '../services/callAPIMiddleware';\r\nimport { queryStringBuilder } from '../utils/helpers';\r\nimport globals from '../globals/communityGlobals';\r\n\r\nconst errorMessages = globals.getArea('error');\r\n\r\nconst apiModel = (url, method, data, reloadData, mapFunc, callback, errorCallback) => ({\r\n url,\r\n method,\r\n data,\r\n reloadData,\r\n mapFunc,\r\n callback,\r\n errorCallback,\r\n});\r\n\r\nexport const apiGetModel = (actionName, params, reloadData, mapFunc, callback) =>\r\n apiModel(`v1/query/${actionName}${queryStringBuilder(params)}`, 'GET', null, reloadData, mapFunc, callback);\r\n\r\nexport const apiPostModel = (actionName, data, callback, errorCallback) =>\r\n apiModel(`v1/command/${actionName}`, 'POST', data, false, null, callback, errorCallback);\r\n\r\nexport const baseRequestParams = (includeLocation, includeTreatments = false) => ({\r\n SelectedDate: useSelector(state => state.areas.dailyPlanning.selectedDate),\r\n IsNightMode: useSelector(state => state.areas.dailyPlanning.scheduler.isNightMode),\r\n OrgUnitId: useSelector(state => state.areas.dailyPlanning.filters.selectedTeam),\r\n OrgUnitTeamId: useSelector(state => state.areas.dailyPlanning.filters.orgUnitTeam),\r\n IncludeLocation: includeLocation,\r\n IncludeTreatments: includeTreatments,\r\n});\r\n\r\nexport const useApi = model => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n const [response, setResponse] = useState(null);\r\n const [isDataLoading, setIsDataLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n\r\n useEffect(() => {\r\n if (jwtToken) {\r\n const usingCallback = model.callback && typeof model.callback === 'function';\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(result => {\r\n if (usingCallback) {\r\n model.callback(result, false, null);\r\n } else {\r\n setResponse({ result });\r\n setIsDataLoading(false);\r\n }\r\n })\r\n .catch(ex => {\r\n model.callback(null, false, ex.message);\r\n setError(ex.mesage);\r\n });\r\n }\r\n }, [jwtToken, model.reloadData]);\r\n\r\n return { response, isDataLoading, error };\r\n};\r\n\r\nexport const postApi = (auth, model) => {\r\n const usingCallback = model.callback && typeof model.callback === 'function';\r\n const usingErrorCallback = model.errorCallback && typeof model.errorCallback === 'function';\r\n\r\n const errorMessage = (msg, params = []) => {\r\n return errorMessages.getMsg(msg).includes('Missing text') ? msg : errorMessages.getMsg(msg, params);\r\n };\r\n\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(result => {\r\n if (usingCallback) {\r\n model.callback(result, null);\r\n }\r\n })\r\n .catch(ex => {\r\n if (usingErrorCallback) {\r\n const keys = Object.keys(ex.response.data);\r\n const message = errorMessage(ex.response.data.translationKey, ex.response.data.parameters);\r\n\r\n model.errorCallback({\r\n props: keys,\r\n message,\r\n });\r\n } else {\r\n // eslint-disable-next-line no-alert\r\n alert(`${errorMessage(ex.response.data.translationKey, ex.response.data.parameters)} `);\r\n }\r\n });\r\n};\r\n\r\nexport const getApi = (auth, model) => {\r\n const usingCallback = model.callback && typeof model.callback === 'function';\r\n const usingMapFunc = model.mapFunc && typeof model.mapFunc === 'function';\r\n\r\n callAxios(auth, model.url, model.method, model.data)\r\n .then(response => {\r\n const result = response ? (usingMapFunc ? model.mapFunc(response.data) : response.data) : {};\r\n if (usingCallback) {\r\n model.callback(result);\r\n } else {\r\n return result;\r\n }\r\n })\r\n .catch(ex => {\r\n model.callback(null, ex.message);\r\n });\r\n};\r\n","import React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport MUIDataTable from 'mui-datatables';\r\n\r\nimport ActivityForm from './ActivityForm';\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\n\r\nimport { useFetchActivities } from '../../../actions/areas/admin/fetchHooks/fetchActivity';\r\nimport { tableSettings } from './activityTableSettings';\r\nimport { eventHandlers } from './activityHandler';\r\nimport _ from './../../../utils/lodash';\r\n\r\nexport default function ActivityContent({ visitType, status }) {\r\n const [state, setState] = useState({\r\n forceReload: false,\r\n currentPage: 1,\r\n pageSize: 15,\r\n openSideActivityTypePanel: false,\r\n sortColumn: 'Name',\r\n sortDirection: 'asc',\r\n activityWithDefaultValues: {},\r\n errorMsg: null,\r\n isDataLoading: false,\r\n });\r\n\r\n const model = {\r\n careType: visitType,\r\n isActive: status,\r\n pageSize: state.pageSize,\r\n currentPage: state.currentPage,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n };\r\n const { data, isDataLoading, auth, isTableDataLoading } = useFetchActivities(model, state.forceReload);\r\n\r\n const settingList = useSelector(store => store.global.auth.settings);\r\n const enableMappingOfActivitiesSetting = _.find(settingList, 'EnableMappingOfActivities');\r\n const enableMappingOfActivities = _.values(enableMappingOfActivitiesSetting)[0];\r\n\r\n const events = eventHandlers(state, setState, auth);\r\n const settings = tableSettings({\r\n visitType,\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n eventHandlers: events,\r\n isTableDataLoading,\r\n enableMappingOfActivities,\r\n });\r\n\r\n if (isDataLoading)\r\n return Wait a moment while we gather Activity list info...;\r\n\r\n const props = {\r\n visitType,\r\n events,\r\n activity: state.activityWithDefaultValues,\r\n errorMsg: state.errorMsg,\r\n isDataLoading: state.isDataLoading,\r\n enableMappingOfActivities,\r\n };\r\n\r\n return (\r\n
\r\n \r\n {state.openSideActivityTypePanel && }\r\n
\r\n );\r\n}\r\n","/* eslint-disable radix */\r\n/* eslint-disable react/no-array-index-key */\r\nimport React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Select from '@material-ui/core/Select';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Box from '@material-ui/core/Box';\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\nimport { useFetchActivityTypes } from '../../../actions/areas/admin/fetchHooks/fetchActivityType';\r\nimport {\r\n useFetchBandOptions,\r\n useFetchSkillsOptions,\r\n useFetchActivityVarianceOptions,\r\n} from '../../../actions/areas/admin/fetchHooks/fetchActivity';\r\nimport { useFetchOrgUnitOptions } from './../../../actions/areas/shared/fetchOptions';\r\nimport { VisitType } from '../../../enums';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst errorsLocale = globals.getArea('error');\r\n\r\nexport default function ActivityForm({ props }) {\r\n const activity = props.activity;\r\n const [state, setState] = useState({\r\n id: activity.id ? activity.id : null,\r\n description: activity.description,\r\n selectedType: activity.activityTypeId,\r\n selectedBand: activity.bandId,\r\n selectedSkills: activity.skillIds,\r\n selectedTotalTime: activity.duration,\r\n selectedRagStatus: activity.ragId,\r\n selectedClinicianCount: activity.requiredClinicians,\r\n selectedVarianceFactorIds: activity.varianceFactors.map(v => v.id),\r\n selectedVarianceFactors: null,\r\n isActive: activity.id ? activity.status : true,\r\n isAssigned: activity.isAssigned,\r\n externalCode: activity.externalCode ? activity.externalCode : '',\r\n selectedOrgUnits: activity.orgUnitIds,\r\n });\r\n\r\n const faList = useSelector(store => store.global.auth.featureAccessList);\r\n const enableIntegrationMode = checkFeatureAccess(faList, globals.applicationFeatureAccesses.enableIntegrationMode);\r\n\r\n const { data: activityTypeOptions } = useFetchActivityTypes(props.visitType, false);\r\n const { data: bandOptions } = useFetchBandOptions(false);\r\n const { data: skillsOptions } = useFetchSkillsOptions(false);\r\n const { data: varianceFactorOptions } = useFetchActivityVarianceOptions(activity.id, false);\r\n const { data: orgUnitsOptions } = useFetchOrgUnitOptions(false);\r\n\r\n const mapVarianceFactors = () => {\r\n const values = varianceFactorOptions\r\n .filter(o => state.selectedVarianceFactorIds.find(v => v === o.id) !== undefined)\r\n .map(o => ({ id: o.id, value: o.name }));\r\n return values;\r\n };\r\n\r\n const locale = props.events.locale;\r\n const model = {\r\n ActivityId: state.id,\r\n ActivityTypeId: state.selectedType,\r\n BandId: state.selectedBand,\r\n RagStatusId: state.selectedRagStatus,\r\n Duration: parseInt(state.selectedTotalTime, 10),\r\n Name: state.description,\r\n Skills: state.selectedSkills,\r\n ActivityVarianceFactors: mapVarianceFactors(),\r\n RequiredClinicians: state.selectedClinicianCount,\r\n OrgUnits: state.selectedOrgUnits,\r\n TimeAverage: activity.timeAverage,\r\n ExternalCode: state.externalCode.length > 0 ? state.externalCode : null,\r\n };\r\n\r\n const updateStatusModel = {\r\n ActivityId: state.id,\r\n IsActive: state.isActive,\r\n };\r\n\r\n const canSave = () => {\r\n return (\r\n state.selectedType &&\r\n state.selectedBand &&\r\n state.description &&\r\n state.description.length <= 150 &&\r\n state.externalCode.length <= 150 &&\r\n state.selectedTotalTime &&\r\n state.selectedRagStatus &&\r\n state.selectedClinicianCount &&\r\n (parseInt(state.selectedTotalTime, 10) > 0 && parseInt(state.selectedTotalTime, 10) <= 1440)\r\n );\r\n };\r\n\r\n const headerTitle = state.id\r\n ? `Edit ${activity.description}`\r\n : `Create${props.visitType === 0 ? ' On Site ' : ' Phone Call Consultations '}Activity`;\r\n\r\n const validateFormData = () => {\r\n const errors = [];\r\n\r\n if (model.Duration <= 0 || model.Duration > 1440) {\r\n errors.push({ name: 'duration', message: 'The Total Activity Time must be between 1 and 1440.' });\r\n }\r\n\r\n model.ActivityVarianceFactors.forEach(aVariance => {\r\n if (parseInt(model.Duration) + parseInt(aVariance.value) <= 0) {\r\n errors.push({\r\n name: 'duration',\r\n message: `Activity variance with value ${aVariance.value} is equal or bigger than activity duration.`,\r\n });\r\n }\r\n });\r\n\r\n return {\r\n errors,\r\n isFormValid: errors.length === 0,\r\n isRequestValid: !(props.errorMsg && props.errorMsg.message.length > 0),\r\n };\r\n };\r\n\r\n const onSaveClick = () => {\r\n const formValidationError = validateFormData();\r\n if (formValidationError.isFormValid) {\r\n props.events.createOrEditActivity(model);\r\n }\r\n };\r\n\r\n const changeActiveStatus = () => {\r\n props.events.updateActiveStatus(updateStatusModel);\r\n };\r\n\r\n const errorPlaceholder = () => {\r\n const modelValidation = validateFormData();\r\n if (modelValidation.isFormValid && model.isRequestValid) return null;\r\n\r\n return (\r\n \r\n {props.errorMsg ?

{props.errorMsg.message}

: null}\r\n {!modelValidation.isFormValid\r\n ? modelValidation.errors.map((item, i) =>

{item.message}

)\r\n : null}\r\n
\r\n );\r\n };\r\n\r\n const headerRender = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n {headerTitle}\r\n \r\n \r\n props.events.onClose()}>\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n\r\n const activityFormRender = () => {\r\n return (\r\n
\r\n {props.isDataLoading ? : null}\r\n
\r\n \r\n Activity Details\r\n \r\n {errorPlaceholder()}\r\n
\r\n {locale.getMsg('activityTypeName')} *\r\n setState({ ...state, selectedType: e.target.value })}\r\n labelId=\"activity-type\"\r\n value={state.selectedType}\r\n >\r\n {activityTypeOptions &&\r\n activityTypeOptions.map(type => (\r\n \r\n {type.name}\r\n \r\n ))}\r\n \r\n {locale.getMsg('equivalence')} *\r\n setState({ ...state, selectedBand: e.target.value })}\r\n labelId=\"equivalence\"\r\n value={state.selectedBand}\r\n autoWidth\r\n >\r\n {bandOptions &&\r\n bandOptions.map(band => (\r\n \r\n {band.name}\r\n \r\n ))}\r\n \r\n {locale.getMsg('description')} *\r\n setState({ ...state, description: e.target.value })}\r\n value={state.description}\r\n error={state.description.length > 150}\r\n helperText={state.description.length > 150 ? errorsLocale.getMsg('validationMaxLength', ['150']) : ''}\r\n />\r\n {locale.getMsg('skills')}\r\n setState({ ...state, selectedSkills: e.target.value })}\r\n labelId=\"skills\"\r\n value={state.selectedSkills}\r\n >\r\n {skillsOptions &&\r\n skillsOptions.map(skill => (\r\n \r\n {skill.name}\r\n \r\n ))}\r\n \r\n {locale.getMsg('totalTime')} *\r\n setState({ ...state, selectedTotalTime: e.target.value })}\r\n value={state.selectedTotalTime}\r\n />\r\n {locale.getMsg('activityRiskRag')} *\r\n setState({ ...state, selectedRagStatus: e.target.value })}\r\n labelId=\"rag\"\r\n value={state.selectedRagStatus}\r\n autoWidth\r\n >\r\n {locale.getMsg('ragRed')}\r\n {locale.getMsg('ragAmber')}\r\n {locale.getMsg('ragYellow')}\r\n {locale.getMsg('ragGreen')}\r\n \r\n {locale.getMsg('requiredClinicians')} *\r\n setState({ ...state, selectedClinicianCount: e.target.value })}\r\n labelId=\"clinician-count\"\r\n value={state.selectedClinicianCount}\r\n disabled={props.visitType === VisitType.PhoneCall}\r\n autoWidth\r\n >\r\n 3\r\n 2\r\n 1\r\n \r\n {locale.getMsg('activityVarianceFactor')}\r\n setState({ ...state, selectedVarianceFactorIds: e.target.value })}\r\n labelId=\"activity-variance\"\r\n value={state.selectedVarianceFactorIds}\r\n autoWidth\r\n >\r\n {varianceFactorOptions &&\r\n varianceFactorOptions.map(varianceFactor => (\r\n \r\n {varianceFactor.name}\r\n \r\n ))}\r\n \r\n {props.enableMappingOfActivities === 'true' && (\r\n \r\n {locale.getMsg('mapToTeams')}\r\n setState({ ...state, selectedOrgUnits: e.target.value })}\r\n labelId=\"map-to-teams\"\r\n value={state.selectedOrgUnits}\r\n autoWidth\r\n >\r\n {orgUnitsOptions &&\r\n orgUnitsOptions.map(orgUnit => (\r\n \r\n {orgUnit.name}\r\n \r\n ))}\r\n \r\n \r\n )}\r\n\r\n \r\n {locale.getMsg('isAssigned')}\r\n \r\n \r\n {enableIntegrationMode && (\r\n \r\n {locale.getMsg('externalCode')}\r\n setState({ ...state, externalCode: e.target.value })}\r\n value={state.externalCode}\r\n error={state.externalCode.length > 150}\r\n helperText={\r\n state.externalCode.length > 150 ? errorsLocale.getMsg('validationMaxLength', ['150']) : ''\r\n }\r\n />\r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n const footerRender = () => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {state.isActive ? 'Deactivate' : 'Activate'}\r\n \r\n
\r\n
\r\n \r\n {state.id ? 'Edit' : 'Create'}\r\n \r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n return (\r\n
\r\n {}} onClose={() => {}}>\r\n
\r\n {headerRender()}\r\n {activityFormRender()}\r\n {footerRender()}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Box } from '@material-ui/core';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport { DropdownFilter } from '../../Planner/Filters/DropdownFilter';\r\nimport ActivityContent from './ActivityContent';\r\n\r\nexport default function ActivityPage() {\r\n document.title = 'Activities';\r\n\r\n const [state, setState] = useState({\r\n visitTypeOptions: [{ id: 0, name: 'On Site' }, { id: 1, name: 'Phone Call Consultations' }],\r\n statusOptions: [{ id: 'false', name: 'Inactive' }, { id: 'true', name: 'Active' }, { id: 'all', name: 'All' }],\r\n selectedVisitType: 0,\r\n selectedStatus: 'true',\r\n });\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Care Type\r\n \r\n \r\n setState({ ...state, selectedVisitType: value })}\r\n />\r\n \r\n \r\n Status\r\n \r\n \r\n setState({ ...state, selectedStatus: value })}\r\n />\r\n \r\n \r\n
\r\n \r\n
\r\n );\r\n}\r\n","import { createOrEditActivity, updateActivityActiveStatus } from '../../../actions/areas/admin/commandActions';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst activityWithDefaultValues = {\r\n activityTypeId: '',\r\n ragId: 1,\r\n duration: '0',\r\n description: '',\r\n bandId: 1,\r\n requiredClinicians: 1,\r\n timeAverage: 30,\r\n isActive: true,\r\n skillIds: [],\r\n varianceFactors: [{}],\r\n externalCode: '',\r\n orgUnitIds: [],\r\n};\r\nconst locale = globals.getAreas(['activities', 'error', 'selectableListsValues']);\r\n\r\nexport const eventHandlers = (state, setState, auth) => {\r\n const handleSidePanel = (isOpen, data) => {\r\n // eslint-disable-next-line no-unused-expressions\r\n data != null\r\n ? setState(newState => ({\r\n ...newState,\r\n openSideActivityTypePanel: isOpen,\r\n activityWithDefaultValues: data,\r\n }))\r\n : setState(newState => ({ ...newState, openSideActivityTypePanel: isOpen, activityWithDefaultValues }));\r\n };\r\n const refreshTable = () =>\r\n setState(newState => ({\r\n ...newState,\r\n forceReload: !state.forceReload,\r\n isDataLoading: false,\r\n openSideActivityTypePanel: false,\r\n errorMsg: null,\r\n }));\r\n const updateTableProps = (currentPage, pageSize) => setState({ ...state, currentPage, pageSize });\r\n const updateTableSort = (sortColumn, sortDirection) => setState({ ...state, sortColumn, sortDirection });\r\n const errorCallback = response => {\r\n setState(newState => ({ ...newState, errorMsg: response, isDataLoading: false }));\r\n handleSidePanel(true);\r\n };\r\n\r\n const onClose = () => {\r\n setState(newState => ({ ...newState, openSideActivityTypePanel: false, errorMsg: null }));\r\n };\r\n\r\n return {\r\n locale,\r\n addButtonText: locale.getMsg('addButtonText'),\r\n refreshTable,\r\n handleSidePanel,\r\n updateTableProps,\r\n updateTableSort,\r\n onClose,\r\n createOrEditActivity: model => {\r\n setState(newState => ({ ...newState, isDataLoading: true }));\r\n createOrEditActivity(auth, model, refreshTable, errorCallback);\r\n },\r\n updateActiveStatus: model => {\r\n updateActivityActiveStatus(auth, model, refreshTable, errorCallback);\r\n },\r\n };\r\n};\r\n","/* eslint-disable no-case-declarations */\r\n/* eslint-disable default-case */\r\nimport React from 'react';\r\nimport { Typography } from '@material-ui/core';\r\nimport CustomToolbar from '../../common/CustomToolbar/CustomToolbar';\r\n\r\nimport _ from '../../../utils/lodash';\r\n\r\nconst mapPropName = (columnName, isEntityToDto = false) => {\r\n const entityNames = [\r\n 'Name',\r\n 'NumberOfClinicians',\r\n 'Duration',\r\n 'TimeAverage',\r\n 'ActivityType',\r\n 'RagStatusName',\r\n 'BandId',\r\n ];\r\n const dtoNames = [\r\n 'description',\r\n 'requiredClinicians',\r\n 'duration',\r\n 'timeAverage',\r\n 'activityTypeName',\r\n 'ragName',\r\n 'bandName',\r\n ];\r\n if (isEntityToDto) {\r\n const index = _.indexOf(entityNames, columnName);\r\n return dtoNames[index];\r\n }\r\n const index = _.indexOf(dtoNames, columnName);\r\n return entityNames[index];\r\n};\r\n\r\nconst setSortDirection = (columnDtoName, options) => {\r\n const entityName = mapPropName(columnDtoName, false);\r\n\r\n return entityName === options.sortColumn ? options.sortDirection : 'none';\r\n};\r\n\r\nconst mapRowData = (rowData, eventHandlers) => {\r\n const mappedRowData = [\r\n 'id',\r\n 'description',\r\n 'activityTypeId',\r\n 'activityTypeName',\r\n 'ragId',\r\n 'ragName',\r\n 'requiredClinicians',\r\n 'duration',\r\n 'timeAverage',\r\n 'bandId',\r\n 'bandName',\r\n 'skillIds',\r\n 'varianceFactors',\r\n 'status',\r\n 'isAssigned',\r\n 'externalCode',\r\n 'orgUnitIds',\r\n ];\r\n const result = {};\r\n // eslint-disable-next-line no-return-assign\r\n mappedRowData.forEach((data, i) => {\r\n if (data === 'status') {\r\n result[data] = rowData[i] === 'Active'; // map 'status' value from string to boolean for the sidepanel toogle and save\r\n } else {\r\n result[data] = rowData[i];\r\n }\r\n });\r\n eventHandlers.handleSidePanel(true, result);\r\n};\r\n\r\nexport const tableSettings = options => {\r\n const locale = options.eventHandlers.locale;\r\n const eventHandlers = options.eventHandlers;\r\n\r\n return {\r\n name: Activities,\r\n columns: [\r\n {\r\n name: 'id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'description',\r\n label: locale.getMsg('description'),\r\n options: {\r\n sortOrder: {\r\n name: 'description',\r\n direction: setSortDirection('description', options),\r\n },\r\n setCellProps: () => ({ style: { maxWidth: '300px' } }),\r\n },\r\n },\r\n {\r\n name: 'activityTypeId',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'activityTypeName',\r\n label: locale.getMsg('activityTypeName'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'activityTypeName',\r\n direction: setSortDirection('activityTypeName', options),\r\n },\r\n setCellProps: () => ({ style: { maxWidth: '200px' } }),\r\n },\r\n },\r\n {\r\n name: 'ragId',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'ragName',\r\n label: locale.getMsg('ragName'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'ragName',\r\n direction: setSortDirection('ragName', options),\r\n },\r\n setCellProps: () => ({ style: { maxWidth: '150px' } }),\r\n },\r\n },\r\n {\r\n name: 'requiredClinicians',\r\n label: locale.getMsg('requiredClinicians'),\r\n options: {\r\n sortOrder: {\r\n name: 'requiredClinicians',\r\n direction: setSortDirection('requiredClinicians', options),\r\n },\r\n setCellProps: () => ({ style: { maxWidth: '50px' } }),\r\n },\r\n },\r\n {\r\n name: 'duration',\r\n label: locale.getMsg('duration'),\r\n options: {\r\n sortOrder: {\r\n name: 'duration',\r\n direction: setSortDirection('duration', options),\r\n },\r\n setCellProps: () => ({ style: { maxWidth: '90px' } }),\r\n },\r\n },\r\n {\r\n name: 'timeAverage',\r\n label: locale.getMsg('timeAverage'),\r\n options: {\r\n sortOrder: {\r\n name: 'timeAverage',\r\n direction: setSortDirection('timeAverage', options),\r\n },\r\n setCellProps: () => ({ style: { maxWidth: '90px' } }),\r\n },\r\n },\r\n {\r\n name: 'bandId',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'bandName',\r\n label: locale.getMsg('equivalence'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'bandName',\r\n direction: setSortDirection('bandName', options),\r\n },\r\n setCellProps: () => ({ style: { maxWidth: '100px' } }),\r\n },\r\n },\r\n {\r\n name: 'skillIds',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'varianceFactors',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'status',\r\n label: locale.getMsg('status'),\r\n options: {\r\n sort: false,\r\n customBodyRender: value => {\r\n return value === true ? 'Active' : 'Inactive';\r\n },\r\n setCellProps: () => ({ style: { maxWidth: '50px' } }),\r\n },\r\n },\r\n {\r\n name: 'isAssigned',\r\n label: locale.getMsg('isAssigned'),\r\n options: {\r\n sort: false,\r\n customBodyRender: value => {\r\n return value === true ? 'Yes' : 'No';\r\n },\r\n setCellProps: () => ({ style: { maxWidth: '50px' } }),\r\n },\r\n },\r\n {\r\n name: 'externalCode',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'orgUnitIds',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'orgUnitsNames',\r\n label: locale.getMsg('mappedToTeams'),\r\n options: {\r\n sort: false,\r\n display: options.enableMappingOfActivities,\r\n setCellProps: () => ({ style: { maxWidth: '400px' } }),\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n print: true,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n customToolbar: () => (\r\n \r\n ),\r\n onRowClick: rowData => mapRowData(rowData, eventHandlers),\r\n onTableChange: (action, tableState) => {\r\n switch (action) {\r\n case 'changePage':\r\n case 'changeRowsPerPage':\r\n options.eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n break;\r\n case 'sort':\r\n let sortColumn = '';\r\n let sortDirection = '';\r\n\r\n if (tableState.activeColumn > -1) {\r\n sortColumn = mapPropName(tableState.sortOrder.name);\r\n sortDirection = tableState.sortOrder.direction;\r\n options.eventHandlers.updateTableSort(sortColumn, sortDirection);\r\n }\r\n break;\r\n }\r\n },\r\n },\r\n };\r\n};\r\n","import React, { useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\n\r\nimport ActivityTypeForm from './ActivityTypeForm';\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\n\r\nimport { useFetchActivityTypes } from '../../../actions/areas/admin/fetchHooks/fetchActivityType';\r\nimport { tableSettings } from './activityTypeTableSettings';\r\nimport { eventHandlers } from './activityTypeHandler';\r\n\r\nexport default function ActivityTypeContent({ visitType }) {\r\n const [state, setState] = useState({\r\n forceReload: false,\r\n openSideActivityTypePanel: false,\r\n activityTypeName: '',\r\n });\r\n const { data, isDataLoading, auth, isTableDataLoading } = useFetchActivityTypes(visitType, state.forceReload);\r\n\r\n if (isDataLoading)\r\n return (\r\n Wait a moment while we gather activity type list info...\r\n );\r\n\r\n const events = eventHandlers(state, setState, auth);\r\n const settings = tableSettings({ visitType, eventHandlers: events, isTableDataLoading });\r\n\r\n const options = {\r\n visitType,\r\n events,\r\n activityTypeName: state.activityTypeName,\r\n typeId: state.typeId,\r\n };\r\n\r\n return (\r\n
\r\n \r\n {state.openSideActivityTypePanel && }\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Box from '@material-ui/core/Box';\r\n\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('error');\r\n\r\nexport default function ActivityTypeForm({ options }) {\r\n const [state, setState] = useState({ activityTypeName: options.activityTypeName, typeId: options.typeId });\r\n\r\n const model = {\r\n name: state.activityTypeName,\r\n visitType: options.visitType,\r\n id: options.typeId ? options.typeId : null,\r\n };\r\n\r\n const headerTitle = options.typeId\r\n ? `Edit ${options.activityTypeName}`\r\n : `Create${options.visitType === 0 ? ' On Site ' : ' Phone Call Consultations '}Activity Type`;\r\n\r\n const canSave = state.activityTypeName && state.activityTypeName.length > 0 && state.activityTypeName.length <= 50;\r\n const errorMsg = locale.getMsg('validationMaxLength', ['50']);\r\n return (\r\n
\r\n {}} onClose={() => {}}>\r\n
\r\n
\r\n
\r\n \r\n \r\n {headerTitle}\r\n \r\n \r\n options.events.handleSidePanel(false)}>\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n Activity Type Name\r\n \r\n setState({ ...state, activityTypeName: e.target.value })}\r\n defaultValue={state.activityTypeName}\r\n error={state.activityTypeName.length > 50}\r\n helperText={state.activityTypeName.length > 50 ? errorMsg : ''}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n options.events.handleSidePanel(false)}\r\n style={{ marginRight: '10px' }}\r\n >\r\n Back\r\n \r\n
\r\n
\r\n options.events.createOrEditActivityType(model)}\r\n >\r\n {options.typeId ? 'Edit' : 'Create'}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Box } from '@material-ui/core';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport { DropdownFilter } from '../../Planner/Filters/DropdownFilter';\r\nimport ActivityTypeContent from './ActivityTypeContent';\r\n\r\nexport default function ActivityTypePage() {\r\n document.title = 'Activity Types';\r\n\r\n const [state, setState] = useState({\r\n options: [{ id: 0, name: 'On Site' }, { id: 1, name: 'Phone Call Consultations' }],\r\n selectedVisitType: 0,\r\n });\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Activity Type\r\n \r\n \r\n setState({ ...state, selectedVisitType: value })}\r\n />\r\n \r\n \r\n
\r\n \r\n
\r\n );\r\n}\r\n","import { createOrEditActivityType } from '../../../actions/areas/admin/commandActions';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getAreas(['activityTypes', 'error']);\r\n\r\nexport const eventHandlers = (state, setState, auth) => {\r\n const refreshTable = () => setState(newState => ({ ...newState, forceReload: !state.forceReload }));\r\n const handleSidePanel = (isOpen, type) => {\r\n const typeId = type ? type[0] : null;\r\n const activityTypeName = type ? type[1] : '';\r\n setState(newState => ({ ...newState, openSideActivityTypePanel: isOpen, typeId, activityTypeName }));\r\n };\r\n\r\n return {\r\n locale,\r\n addButtonText: locale.getMsg('addButtonText'),\r\n refreshTable,\r\n handleSidePanel,\r\n createOrEditActivityType: model => {\r\n handleSidePanel(false);\r\n createOrEditActivityType(auth, model, refreshTable);\r\n },\r\n };\r\n};\r\n","import React from 'react';\r\nimport { Typography } from '@material-ui/core';\r\nimport CustomToolbar from '../../common/CustomToolbar/CustomToolbar';\r\n\r\nexport const tableSettings = options => {\r\n const locale = options.eventHandlers.locale;\r\n const eventHandlers = options.eventHandlers;\r\n\r\n return {\r\n name: {locale.getMsg(`tableNameHeader${options.visitType}`)},\r\n columns: [\r\n {\r\n name: 'id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'name',\r\n label: locale.getMsg('name'),\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: 15,\r\n print: true,\r\n search: true,\r\n filter: false,\r\n serverSide: false,\r\n customToolbar: () => (\r\n \r\n ),\r\n onRowClick: rowData => {\r\n eventHandlers.handleSidePanel(true, rowData);\r\n },\r\n },\r\n };\r\n};\r\n","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable no-plusplus */\r\n/* eslint-disable no-restricted-syntax */\r\nimport React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\r\nimport Badge from '@material-ui/core/Badge';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\nimport { useFetchAuditEventDetails } from '../../../actions/areas/admin/fetchHooks/fetchAudit';\r\nimport PatientDetails from '../../Planner/ClinicianView/AssignmentDetails/PatientDetails';\r\nimport ActivityDetails from './EventDetails/ActivityDetails';\r\nimport PostingDetails from './EventDetails/PostingDetails';\r\nimport AssignmentDetails from './EventDetails/AssignmentDetails';\r\nimport ReferralDetails from './EventDetails/ReferralDetails';\r\nimport ReasonDetails from './EventDetails/ReasonDetails';\r\nimport PatternConfigurationDetails from './EventDetails/PatternConfigurationDetails';\r\nimport ReferralRelatedEntityDetails from './EventDetails/ReferralRelatedEntityDetails';\r\nimport ClinicianMileageCapDetails from './EventDetails/ClinicianMileageCapDetails';\r\nimport TreatmentInstanceDetails from './EventDetails/TreatmentInstanceDetails';\r\nimport TreatmentDetails from '../../Planner/ClinicianView/UnassignedTreatments/TreatmentDetails';\r\nimport AuditProperties from './EventDetails/AuditProperties';\r\nimport NonPatientActivityDetails from './EventDetails/NonPatientActivityDetails';\r\nimport _ from '../../../utils/lodash';\r\n\r\nexport default function AuditDetailsSidePanel({ eventEntry, events }) {\r\n const [state, setState] = useState({ tab: 0 });\r\n const { data, isDataLoading } = useFetchAuditEventDetails(eventEntry.entryId, false);\r\n\r\n const items = data.eventEntry;\r\n const locale = events.locale;\r\n const asArray = data.eventEntry && Object.entries(data.eventEntry);\r\n\r\n const createTabs = () => {\r\n const tabs = [];\r\n let i = 0;\r\n for (const [key, value] of asArray) {\r\n if (!_.isEmpty(value) && key !== 'treatmentPatternTimeSlot') {\r\n tabs.push({ key: i, name: key.replace(/([A-Z])/g, ' $1').trim() });\r\n i++;\r\n }\r\n }\r\n return tabs;\r\n };\r\n\r\n const tabs = items && createTabs();\r\n\r\n let nonPatientActivityAudit;\r\n if (items !== undefined && items.nonPatientActivity != null) {\r\n nonPatientActivityAudit =\r\n items.nonPatientActivity.length > 1 ? items.nonPatientActivity[1] : items.nonPatientActivity[0];\r\n }\r\n\r\n const handleChange = (event, value) => {\r\n setState({ ...state, tab: value, tabName: event.target.textContent });\r\n };\r\n\r\n const headerRender = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n {locale.getMsg('auditDetails')}\r\n \r\n \r\n events.onClose()}>\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {eventEntry.type}\r\n \r\n \r\n {events.generateDescription(eventEntry.description, eventEntry.properties)}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {eventEntry.user}\r\n \r\n \r\n \r\n \r\n {eventEntry.dateCreated}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n const renderEntityContent = tabName => {\r\n return tabs.find(x => x.key === state.tab && x.name === tabName);\r\n };\r\n\r\n const renderAuditProps = props => {\r\n return ;\r\n };\r\n\r\n const auditEntryDetailsRender = () => {\r\n return (\r\n \r\n
\r\n \r\n \r\n {tabs !== undefined && tabs.length > 1 && (\r\n 3 ? 'scrollable' : 'standard'}\r\n >\r\n {items && tabs.length > 1 && tabs.map(x => )}\r\n \r\n )}\r\n {tabs === undefined ||\r\n (tabs.length < 1 && (\r\n

\r\n There are no details for this event entry or database auditing is not enabled\r\n

\r\n ))}\r\n
\r\n {items !== undefined && (\r\n \r\n {items.patient !== null && renderEntityContent('patient') && (\r\n
\r\n \r\n \r\n Patient details\r\n \r\n \r\n \r\n
\r\n )}\r\n {items.treatment !== null && renderEntityContent('treatment') && (\r\n \r\n \r\n {data.isAuditEnabled &&\r\n items.treatment[0].auditEntryProperties &&\r\n renderAuditProps(items.treatment[0].auditEntryProperties)}\r\n \r\n )}\r\n {items.activity != null && renderEntityContent('activity') && (\r\n \r\n \r\n \r\n )}\r\n {items.assignment != null && renderEntityContent('assignment') && (\r\n \r\n \r\n {data.isAuditEnabled &&\r\n items.assignment[0].auditEntryProperties &&\r\n renderAuditProps(items.assignment[0].auditEntryProperties)}\r\n \r\n )}\r\n {items.posting != null && renderEntityContent('posting') && (\r\n \r\n \r\n {data.isAuditEnabled &&\r\n items.posting[0].auditEntryProperties &&\r\n renderAuditProps(items.posting[0].auditEntryProperties)}\r\n \r\n )}\r\n {items.obsoletionReason != null && renderEntityContent('obsoletion Reason') && (\r\n \r\n \r\n {data.isAuditEnabled &&\r\n items.obsoletionReason[0].auditEntryProperties &&\r\n renderAuditProps(items.obsoletionReason[0].auditEntryProperties)}\r\n \r\n )}\r\n {items.referral != null && renderEntityContent('referral') && (\r\n \r\n \r\n {data.isAuditEnabled &&\r\n items.referral[0].auditEntryProperties &&\r\n renderAuditProps(items.referral[0].auditEntryProperties)}\r\n \r\n )}\r\n {items.treatmentInstance != null && renderEntityContent('treatment Instance') && (\r\n \r\n \r\n \r\n )}\r\n {items.clinicianMileageCap != null && renderEntityContent('clinician Mileage Cap') && (\r\n \r\n \r\n \r\n )}\r\n {items.referralService != null && renderEntityContent('referral Service') && (\r\n \r\n \r\n {data.isAuditEnabled &&\r\n items.referralService[0].auditEntryProperties &&\r\n renderAuditProps(items.referralService[0].auditEntryProperties)}\r\n \r\n )}\r\n {items.referralSource != null && renderEntityContent('referral Source') && (\r\n \r\n \r\n {data.isAuditEnabled &&\r\n items.referralSource[0].auditEntryProperties &&\r\n renderAuditProps(items.referralSource[0].auditEntryProperties)}\r\n \r\n )}\r\n {items.referralPriority != null && renderEntityContent('referral Priority') && (\r\n \r\n \r\n {data.isAuditEnabled &&\r\n items.referralPriority[0].auditEntryProperties &&\r\n renderAuditProps(items.referralPriority[0].auditEntryProperties)}\r\n \r\n )}\r\n {items.treatmentPatternConfiguration != null && renderEntityContent('treatment Pattern Configuration') && (\r\n \r\n \r\n \r\n )}\r\n {items.nonPatientActivity != null && renderEntityContent('non Patient Activity') && (\r\n \r\n \r\n {data.isAuditEnabled &&\r\n nonPatientActivityAudit.auditEntryProperties &&\r\n renderAuditProps(nonPatientActivityAudit.auditEntryProperties)}\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n {data.length > 0 && !data.isAuditEnabled && (\r\n
\r\n

Database Auditing is not enabled

\r\n
\r\n )}\r\n
\r\n );\r\n };\r\n\r\n return (\r\n \r\n
\r\n {}} onClose={() => {}}>\r\n
\r\n {headerRender()}\r\n {!isDataLoading && data != null ? (\r\n auditEntryDetailsRender()\r\n ) : (\r\n Wait a moment while we gather audit entry details...\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\nimport AuditSearchFilters from './AuditSearchFilters';\r\nimport AuditDetailsSidePanel from './AuditDetailsSidePanel';\r\nimport { useFetchAuditEvents } from '../../../actions/areas/admin/fetchHooks/fetchAudit';\r\nimport { eventHandlers } from './auditHandler';\r\nimport { tableSettings } from './auditTableSettings';\r\nimport { getDateForApi } from '../../../utils/dates';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nexport default function AuditPage() {\r\n document.title = 'Audit';\r\n\r\n const [state, setState] = useState({\r\n selectedEventTypes: [],\r\n filterDateFrom: globals.now.subtract(1, 'd'),\r\n filterDateTo: globals.now,\r\n pasKey: null,\r\n currentPage: 1,\r\n pageSize: 15,\r\n sortColumn: 'CreatedDate',\r\n sortDirection: 'desc',\r\n openSidePanel: false,\r\n selectedEntry: null,\r\n });\r\n\r\n const model = {\r\n eventTypes: state.selectedEventTypes,\r\n dateFrom: getDateForApi(state.filterDateFrom),\r\n dateTo: getDateForApi(state.filterDateTo),\r\n pasKey: state.pasKey,\r\n pageSize: state.pageSize,\r\n currentPage: state.currentPage,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n };\r\n\r\n const { data, isDataLoading, isTableDataLoading } = useFetchAuditEvents(model, false);\r\n\r\n const events = eventHandlers(state, setState);\r\n const settings = tableSettings({\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n eventHandlers: events,\r\n });\r\n\r\n if (isDataLoading)\r\n return Wait a moment while we gather Audit list info...;\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n\r\n {state.openSidePanel && }\r\n
\r\n
\r\n );\r\n}\r\n","/* eslint-disable jsx-a11y/interactive-supports-focus */\r\nimport React, { useState } from 'react';\r\nimport { Box, CircularProgress, TextField, Select, MenuItem, IconButton, Link } from '@material-ui/core';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\n\r\nimport { useFetchEventTypes } from '../../../actions/areas/admin/fetchHooks/fetchAudit';\r\nimport { lowerFirstLetter } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst numberOfChars = 24;\r\nconst defaultState = {\r\n selectedEventTypes: [],\r\n filterDateFrom: globals.now.subtract(1, 'd'),\r\n filterDateTo: globals.now,\r\n pasKey: '',\r\n pasKeyErrorMessage: null,\r\n};\r\n\r\nexport default function AuditSearchFilters({ onSubmit, events, isTableDataLoading }) {\r\n const [state, setState] = useState({\r\n selectedEventTypes: [],\r\n filterDateFrom: globals.now.subtract(1, 'd'),\r\n filterDateTo: globals.now,\r\n pasKey: '',\r\n pasKeyErrorMessage: null,\r\n });\r\n\r\n const { data: eventTypeOptions } = useFetchEventTypes(false);\r\n\r\n const locale = events.locale;\r\n const eventTypeLocale = events.eventTypeLocale;\r\n\r\n const handleClear = () => {\r\n setState(defaultState);\r\n onSubmit(defaultState);\r\n };\r\n\r\n const handlePasKeyChange = () => {\r\n let errorMessage = null;\r\n if (state.pasKey.length !== 0 && (state.pasKey.length > numberOfChars || state.pasKey.length < numberOfChars)) {\r\n errorMessage = locale.getMsg('validationPasKey');\r\n } else {\r\n errorMessage = null;\r\n onSubmit(state);\r\n }\r\n\r\n setState({ ...state, pasKeyErrorMessage: errorMessage });\r\n };\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n let formattedDescription;\r\n const generateDescription = descriptionKey => {\r\n // eslint-disable-next-line no-return-assign\r\n return (formattedDescription = eventTypeLocale.getMsg(lowerFirstLetter(descriptionKey)));\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('dateFrom')}\r\n \r\n \r\n setState({ ...state, filterDateFrom: value })}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className=\"calendar-picker-input\"\r\n />\r\n \r\n \r\n Date To\r\n \r\n \r\n setState({ ...state, filterDateTo: value })}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className=\"calendar-picker-input\"\r\n />\r\n \r\n \r\n {locale.getMsg('pasKey')}\r\n \r\n \r\n setState({ ...state, pasKey: e.target.value })}\r\n error={state.pasKeyErrorMessage !== null}\r\n helperText={state.pasKeyErrorMessage}\r\n inputProps={{\r\n maxLength: numberOfChars,\r\n }}\r\n />\r\n \r\n \r\n Event type\r\n \r\n \r\n setState({ ...state, selectedEventTypes: e.target.value })}\r\n value={state.selectedEventTypes}\r\n >\r\n {eventTypeOptions &&\r\n eventTypeOptions.map(type => (\r\n \r\n {generateDescription(type.name)}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n Clear\r\n \r\n \r\n \r\n {isTableDataLoading ? (\r\n \r\n \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 React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Box from '@material-ui/core/Box';\r\nimport AuditProperties from './AuditProperties';\r\nimport { formatHours } from '../../../../utils/dates';\r\n\r\nexport default function ActivityDetails({ activities }) {\r\n const mapActivityData = activity => {\r\n return (\r\n \r\n \r\n {activity.name}\r\n \r\n \r\n {formatHours(activity.duration)}\r\n \r\n \r\n {activity.ragStatus.name}\r\n \r\n \r\n {activity.band.name}\r\n \r\n

\r\n {activity.auditEntryProperties && }\r\n
\r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n

Activity name

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

Duration

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

RAG status

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

Required grade

\r\n
\r\n
\r\n
\r\n
\r\n {activities !== null && (\r\n \r\n \r\n {activities.map(mapActivityData)}\r\n \r\n \r\n )}\r\n
\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { parseShortDateWithTime, formatHours, durationBetweenDates } from '../../../../utils/dates';\r\n\r\nexport default function AssignmentDetails({ assignment }) {\r\n return (\r\n \r\n
\r\n \r\n Assignment details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\n\r\nexport default function AuditProperties({ props }) {\r\n const mapData = prop => {\r\n return (\r\n \r\n \r\n {prop.propertyName}\r\n \r\n \r\n {prop.oldValue || '-'}\r\n \r\n \r\n {prop.newValue || '-'}\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n Audited Properties\r\n \r\n
\r\n
\r\n \r\n \r\n

Property Name

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

Old value

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

New value

\r\n
\r\n
\r\n
\r\n
\r\n {props !== null && (\r\n \r\n \r\n {props.map(mapData)}\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport AuditProperties from './AuditProperties';\r\nimport { parseShortDateWithTime } from '../../../../utils/dates';\r\n\r\nexport default function ClinicianMileageCapDetails({ mileageCaps }) {\r\n return (\r\n \r\n {mileageCaps !== null &&\r\n mileageCaps.map(mileageCap => (\r\n
\r\n \r\n Mileage Cap Details\r\n \r\n
\r\n
\r\n \r\n \r\n

Value

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

Valid From

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

Valid To

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {mileageCap.mileageCap}\r\n \r\n \r\n {parseShortDateWithTime(mileageCap.validFrom)}\r\n \r\n \r\n {parseShortDateWithTime(mileageCap.validTo)}\r\n \r\n

\r\n {mileageCap.auditEntryProperties && }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n}\r\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\r\nimport React from 'react';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport shortid from 'shortid';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { parseShortDateTime, twelveHourTimeFormat } from '../../../../utils/dates';\r\n\r\n// eslint-disable-next-line react/prop-types\r\nexport default function NonPatientActivityDetails({ nonPatientActivity }) {\r\n const isNPAWithTravel = nonPatientActivity.address !== null && nonPatientActivity.address.postcode !== '';\r\n\r\n const activityDetails = () => {\r\n return (\r\n
\r\n
Activity Details
\r\n \r\n \r\n \r\n \r\n \r\n {nonPatientActivity.clinicians.map(clinician => (\r\n \r\n {clinician.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {nonPatientActivity.orgUnits.map(orgUnit => (\r\n \r\n {orgUnit.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const notes = () => {\r\n return (\r\n nonPatientActivity.notes && (\r\n
\r\n
Notes
\r\n
{nonPatientActivity.notes || '-'}
\r\n
\r\n )\r\n );\r\n };\r\n\r\n const activitySchedule = () => {\r\n return (\r\n
\r\n
Activity Schedule
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const activityAddress = () => {\r\n return (\r\n
\r\n
Activity Address
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const nonPatientDetailsRender = () => {\r\n return (\r\n \r\n
\r\n \r\n \r\n {activityDetails()}\r\n {notes()}\r\n {activitySchedule()}\r\n {isNPAWithTravel ? activityAddress() : ''}\r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n Non Patient Activity Details\r\n \r\n {nonPatientDetailsRender()}\r\n
\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport AuditProperties from './AuditProperties';\r\nimport { parseShortDateWithTime } from '../../../../utils/dates';\r\n\r\nexport default function PatternConfigurationDetails({ patterns }) {\r\n return (\r\n \r\n {patterns !== null &&\r\n patterns.map(pattern => (\r\n
\r\n \r\n Pattern Details\r\n \r\n
\r\n
\r\n \r\n \r\n

Recurrence Type

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

Recur Every

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

Time Type

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

Valid From

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

Valid To

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {pattern.recurrenceType}\r\n \r\n \r\n {pattern.every}\r\n \r\n \r\n {pattern.treatmentTimeType}\r\n \r\n \r\n {parseShortDateWithTime(pattern.validFrom)}\r\n \r\n \r\n {parseShortDateWithTime(pattern.validTo)}\r\n \r\n
\r\n {pattern.auditEntryProperties && }\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 React from 'react';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\n\r\nexport default function PostingDetails({ posting }) {\r\n return (\r\n \r\n
\r\n \r\n Posting details\r\n \r\n \r\n \r\n \r\n \r\n \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 React from 'react';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\n\r\nexport default function ReasonDetails({ reason }) {\r\n return (\r\n \r\n
\r\n \r\n Cancellation Reason details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 React from 'react';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { parseShortDateTime } from '../../../../utils/dates';\r\n\r\nexport default function ReferralDetails({ referral }) {\r\n return (\r\n \r\n
\r\n \r\n Referral details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 React from 'react';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { parseShortDateWithTime } from '../../../../utils/dates';\r\n\r\nexport default function ReferralServiceDetails({ entity, entityName, isService }) {\r\n return (\r\n
\r\n
\r\n \r\n {`${entityName} Details`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isService && (\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 React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Box from '@material-ui/core/Box';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport AuditProperties from './AuditProperties';\r\nimport { formatHours, parseShortDateWithTime, parseShortDateTime } from '../../../../utils/dates';\r\n\r\nexport default function TreatmentInstanceDetails({ instances }) {\r\n const mapActivities = instance => {\r\n return (\r\n
\r\n
\r\n \r\n Related Activities\r\n \r\n \r\n \r\n

Activity name

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

Duration

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

RAG status

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

Required grade

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {instance.activities.map(activity => (\r\n \r\n \r\n {activity.name}\r\n \r\n \r\n {formatHours(activity.duration)}\r\n \r\n \r\n {activity.ragStatus.name}\r\n \r\n \r\n {activity.band.name}\r\n \r\n \r\n ))}\r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n\r\n const mapInstanceData = instance => {\r\n return (\r\n \r\n \r\n Instance Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Time Slots\r\n \r\n {instance.timeSlots.map(timeSlot => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!instance.isSpecificTime && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n {instance.auditEntryProperties && }\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n {instances && (\r\n
\r\n
{instances.map(mapInstanceData)}
\r\n
{instances[0].activities && mapActivities(instances[0])}
\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import moment from 'moment';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { lowerFirstLetter } from '../../../utils/helpers';\r\n\r\nexport const eventHandlers = (state, setState) => {\r\n const updateTableProps = (currentPage, pageSize) => setState({ ...state, currentPage, pageSize });\r\n const updateTableSort = (sortColumn, sortDirection) => setState({ ...state, sortColumn, sortDirection });\r\n\r\n const eventDescriptionLocale = globals.getArea('eventDescriptionTranslationKey');\r\n\r\n const handleSidePanel = (isOpen, selectedEntry) => {\r\n setState(newState => ({ ...newState, openSidePanel: isOpen, selectedEntry }));\r\n };\r\n\r\n const onClose = () => {\r\n setState(newState => ({ ...newState, openSidePanel: false }));\r\n };\r\n\r\n const onFiltersChange = model =>\r\n setState({\r\n ...state,\r\n selectedEventTypes: model.selectedEventTypes,\r\n filterDateFrom: model.filterDateFrom || null,\r\n filterDateTo: model.filterDateTo || null,\r\n pasKey: model.pasKey,\r\n currentPage: 1,\r\n });\r\n\r\n const generateDescription = (descriptionKey, parameters) => {\r\n return eventDescriptionLocale.getMsg(lowerFirstLetter(descriptionKey), parameters);\r\n };\r\n\r\n // const eventTypesBtn = [\r\n // 'ActivityAddedToTreatmentInstanceEvent',\r\n // 'AssignedTreatmentInstanceStartedEvent',\r\n // 'AssignedTreatmentInstanceFinishedEvent',\r\n // 'ReferralCreatedEvent',\r\n // 'ReferralUpdatedEvent',\r\n // 'ReferralClosedEvent',\r\n // 'TreatmentCreatedEvent',\r\n // 'TreatmentClosedEvent',\r\n // 'TreatmentInstanceAssignedToClinicianEvent',\r\n // 'TreatmentInstanceUnassignedFromClinicianEvent',\r\n // 'TreatmentInstanceCancelledEvent',\r\n // 'TreatmentInstanceDeletedEvent',\r\n // 'TreatmentInstanceRescheduledToClinicianEvent',\r\n // 'TreatmentInstanceRescheduledToDifferentDateEvent',\r\n // 'TreatmentPatternCreatedEvent',\r\n // 'TreatmentPatternModifiedEvent',\r\n // 'TreatmentVisitEditedEvent',\r\n // 'PatientAddedEvent',\r\n // 'PatientEditedEvent',\r\n // 'TreatmentDiscardEvent',\r\n // ];\r\n\r\n return {\r\n locale: globals.getAreas(['audit', 'error', 'selectableListsValues', 'userActions']),\r\n eventTypeLocale: globals.getArea('eventType'),\r\n dateFormats: globals.dateFormats.shortWithLongTime,\r\n moment,\r\n updateTableProps,\r\n updateTableSort,\r\n handleSidePanel,\r\n onClose,\r\n onFiltersChange,\r\n generateDescription,\r\n };\r\n};\r\n","/* eslint-disable default-case */\r\n/* eslint-disable no-case-declarations */\r\nimport React from 'react';\r\nimport { Typography } from '@material-ui/core';\r\nimport { lowerFirstLetter } from '../../../utils/helpers';\r\nimport _ from '../../../utils/lodash';\r\n\r\nconst mapPropName = (columnName, isEntityToDto = false) => {\r\n const entityNames = ['EventType', 'EventType', 'CreatedDate', 'UserLogin'];\r\n const dtoNames = ['eventType', 'eventDescription', 'createdDate', 'userLogin'];\r\n if (isEntityToDto) {\r\n const index = _.indexOf(entityNames, columnName);\r\n return dtoNames[index];\r\n }\r\n\r\n const index = _.indexOf(dtoNames, columnName);\r\n return entityNames[index];\r\n};\r\n\r\nconst setSortDirection = (columnDtoName, options) => {\r\n const entityName = mapPropName(columnDtoName, false);\r\n\r\n return entityName === options.sortColumn ? options.sortDirection : 'none';\r\n};\r\n\r\nconst mapRowData = (rowData, eventHandlers) => {\r\n const result = {\r\n entryId: rowData[0],\r\n type: rowData[1],\r\n dateCreated: rowData[3],\r\n user: rowData[4],\r\n description: rowData[5],\r\n properties: rowData[6],\r\n };\r\n eventHandlers.handleSidePanel(true, result);\r\n};\r\n\r\nexport const tableSettings = options => {\r\n const eventHandlers = options.eventHandlers;\r\n const locale = eventHandlers.locale;\r\n const moment = eventHandlers.moment;\r\n\r\n const generateDescription = (descriptionKey, parameters) => {\r\n return eventHandlers.generateDescription(descriptionKey, parameters);\r\n };\r\n\r\n return {\r\n name: Audit,\r\n columns: [\r\n {\r\n name: 'id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'eventType',\r\n label: locale.getMsg('eventType'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'eventType',\r\n direction: setSortDirection('eventType', options),\r\n },\r\n setCellProps: () => ({\r\n style: { minWidth: 200 },\r\n }),\r\n customBodyRender: value => {\r\n return eventHandlers.eventTypeLocale.getMsg(lowerFirstLetter(value));\r\n },\r\n },\r\n },\r\n {\r\n name: 'eventDescription',\r\n label: locale.getMsg('eventDescription'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'eventDescription',\r\n direction: setSortDirection('eventDescription', options),\r\n },\r\n setCellProps: () => ({\r\n style: { minWidth: 400 },\r\n }),\r\n customBodyRender: (value, tableMeta) => {\r\n return (\r\n {tableMeta.rowData[5] ? generateDescription(tableMeta.rowData[5], tableMeta.rowData[6]) : ''}\r\n );\r\n },\r\n },\r\n },\r\n {\r\n name: 'createdDate',\r\n label: locale.getMsg('createdDate'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'createdDate',\r\n direction: setSortDirection('createdDate', options),\r\n },\r\n setCellProps: () => ({\r\n style: { width: 200 },\r\n }),\r\n customBodyRender: value => (value ? moment(value).format(eventHandlers.dateFormats) : ''),\r\n },\r\n },\r\n {\r\n name: 'userLogin',\r\n label: locale.getMsg('user'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'userLogin',\r\n direction: setSortDirection('userLogin', options),\r\n },\r\n setCellProps: () => ({\r\n style: { width: 100 },\r\n }),\r\n },\r\n },\r\n {\r\n name: 'descriptionTranslationKey',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'parameters',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n print: true,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n onRowClick: rowData => mapRowData(rowData, eventHandlers),\r\n onTableChange: (action, tableState) => {\r\n switch (action) {\r\n case 'changePage':\r\n case 'changeRowsPerPage':\r\n options.eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n break;\r\n case 'sort':\r\n let sortColumn = '';\r\n let sortDirection = '';\r\n\r\n if (tableState.activeColumn > -1) {\r\n sortColumn = mapPropName(tableState.sortOrder.name);\r\n sortDirection = tableState.sortOrder.direction;\r\n options.eventHandlers.updateTableSort(sortColumn, sortDirection);\r\n }\r\n break;\r\n }\r\n },\r\n },\r\n };\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Box } from '@material-ui/core';\r\n\r\nimport DefaultPageWraper from '../../../containers/PageStructure/DefaultPageWrapper/DefaultPageWrapperContainer';\r\nimport { numberInRangeFrom0To100 } from '../../../settings/constants/regex';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { getAutoAllocateWeightings, updateAutoAllocateWeightings } from '../../../actions/areas/admin';\r\n\r\nconst locale = globals.getAreas(['autoAllocateWeightings', 'error']);\r\n\r\nexport default function AutoAllocateWeightings() {\r\n const dispatch = useDispatch();\r\n const [weightings, setWeightings] = useState([]);\r\n const [sumErrorMessage, setSumErrorMessage] = useState('');\r\n\r\n useEffect(() => {\r\n dispatch(getAutoAllocateWeightings()).then(({ response }) => {\r\n setWeightings(response.data.autoAllocateWeightings);\r\n });\r\n }, []);\r\n\r\n function updateWeightingValue(id, event) {\r\n const updatedList = [...weightings];\r\n updatedList.forEach(item => {\r\n if (item.id === id) item.weightingValue = event.target.value;\r\n });\r\n setWeightings(updatedList);\r\n }\r\n\r\n const handleSave = () => {\r\n const sum = weightings.reduce((acc, current) => acc + parseInt(current.weightingValue, 10), 0);\r\n if (sum !== 100) {\r\n setSumErrorMessage(locale.getMsg('weightingsSumError'));\r\n } else {\r\n dispatch(updateAutoAllocateWeightings(weightings));\r\n setSumErrorMessage('');\r\n }\r\n };\r\n\r\n const isValid = value => {\r\n return !value.match(numberInRangeFrom0To100);\r\n };\r\n\r\n const renderWeightings = () => {\r\n return weightings.map(w => {\r\n return (\r\n \r\n
\r\n
{w.weightingName}
\r\n
\r\n updateWeightingValue(w.id, e)}\r\n error={isValid(w.weightingValue)}\r\n helperText={isValid(w.weightingValue) ? locale.getMsg('validationNumberRange', ['0-100']) : ' '}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n {/* */}\r\n\r\n {sumErrorMessage}\r\n
\r\n
{locale.getMsg('weightingName')}
\r\n
{locale.getMsg('weightingValue')}
\r\n
\r\n {renderWeightings()}\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\n\r\nimport CreateCancellingParty from './CreateCancellingParty';\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\n\r\nimport { useFetchCancellingParties } from '../../../actions/areas/admin/fetchHooks/fetchCancellingParty';\r\nimport { tableSettings } from './cancellingPartyTableSettings';\r\nimport { eventHandlers } from './cancellingPartyHandler';\r\n\r\nexport default function CancellingPartyPage() {\r\n document.title = 'Cancelling Parties';\r\n const [state, setState] = useState({\r\n forceReload: false,\r\n openAddPartyPanel: false,\r\n currentPage: 1,\r\n pageSize: 15,\r\n });\r\n\r\n const model = {\r\n currentPage: state.currentPage,\r\n pageSize: state.pageSize,\r\n };\r\n\r\n const { data, isDataLoading, auth, isTableDataLoading } = useFetchCancellingParties(model, state.forceReload);\r\n\r\n const events = eventHandlers(state, setState, auth);\r\n const settings = tableSettings({\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n eventHandlers: events,\r\n isTableDataLoading,\r\n });\r\n\r\n if (isDataLoading)\r\n return Wait a moment while we gather reason list info...;\r\n\r\n return (\r\n
\r\n \r\n {state.openAddPartyPanel && }\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Box from '@material-ui/core/Box';\r\n\r\nexport default function CreateCancellingParty({ events }) {\r\n const [state, setState] = useState({ partyName: '' });\r\n\r\n const locale = events.locale;\r\n const maxNameLength = 50;\r\n\r\n const isInvalid = value => {\r\n return value.length > maxNameLength;\r\n };\r\n\r\n return (\r\n
\r\n {}} onClose={() => {}}>\r\n
\r\n
\r\n
\r\n \r\n \r\n {locale.getMsg('createPartyHeader')}\r\n \r\n \r\n events.handleSidePanel(false)}>\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n Cancelling Party Name\r\n \r\n setState({ ...state, partyName: e.target.value })}\r\n />\r\n
\r\n\r\n
\r\n
\r\n
\r\n events.handleSidePanel(false)}\r\n style={{ marginRight: '10px' }}\r\n >\r\n Back\r\n \r\n
\r\n
\r\n events.createCancellingParty(state.partyName)}\r\n >\r\n Create\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import globals from '../../../globals/communityGlobals';\r\nimport { updateCancellingPartyStatus, createCancellingParty } from '../../../actions/areas/admin/commandActions';\r\n\r\nconst locale = globals.getAreas(['cancellingParties', 'error']);\r\n\r\nexport const eventHandlers = (state, setState, auth) => {\r\n const refreshTable = () => setState(newState => ({ ...newState, forceReload: !state.forceReload }));\r\n const handleSidePanel = isOpen => setState(newState => ({ ...newState, openAddPartyPanel: isOpen }));\r\n const updateTableProps = (currentPage, pageSize) => setState({ ...state, currentPage, pageSize });\r\n\r\n return {\r\n locale,\r\n addButtonText: locale.getMsg('addButtonText'),\r\n refreshTable,\r\n handleSidePanel,\r\n updateCancellingPartyStatus: (id, isActive) => updateCancellingPartyStatus(auth, { id, isActive }, refreshTable),\r\n createCancellingParty: name => {\r\n handleSidePanel(false);\r\n createCancellingParty(auth, { name }, refreshTable);\r\n },\r\n updateTableProps,\r\n };\r\n};\r\n","import React from 'react';\r\nimport { Typography } from '@material-ui/core';\r\nimport Switch from '@material-ui/core/Switch';\r\nimport CustomToolbar from '../../common/CustomToolbar/CustomToolbar';\r\n\r\nexport const tableSettings = options => {\r\n const eventHandlers = options.eventHandlers;\r\n const locale = eventHandlers.locale;\r\n\r\n return {\r\n name: {locale.getMsg(`tableNameHeader`)},\r\n columns: [\r\n {\r\n name: 'id',\r\n label: 'Id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'name',\r\n label: locale.getMsg('nameTableHeader'),\r\n },\r\n {\r\n name: 'isActive',\r\n label: locale.getMsg('activeTableHeader'),\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({\r\n className: 'no-padding-cell',\r\n style: { width: '400px' },\r\n }),\r\n customBodyRender: (value, tableMeta) => {\r\n return (\r\n {\r\n eventHandlers.updateCancellingPartyStatus(tableMeta.rowData[0], e.target.checked);\r\n }}\r\n color=\"primary\"\r\n name=\"checkedB\"\r\n inputProps={{ 'aria-label': 'primary checkbox' }}\r\n />\r\n );\r\n },\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n print: true,\r\n search: true,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n customToolbar: () => (\r\n \r\n ),\r\n onTableChange: (action, tableState) => {\r\n if (action === 'changePage' || action === 'changeRowsPerPage') {\r\n eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n }\r\n },\r\n },\r\n };\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Box, IconButton, Link } from '@material-ui/core';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { DropdownFilter } from '../../Planner/Filters/DropdownFilter';\r\nimport { useFetchOrgUnitOptions } from './../../../actions/areas/shared/fetchOptions';\r\n\r\nexport default function ConfigureClinicianFilters({ onSubmit }) {\r\n const defaultState = { orgUnitId: 0, surname: '' };\r\n const [state, setState] = useState(defaultState);\r\n const { data: options } = useFetchOrgUnitOptions(false);\r\n const defaultValue = options.lenght > 0 ? options[0].id : 0;\r\n\r\n const handleClear = () => {\r\n setState(defaultState);\r\n onSubmit(defaultState);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Org Unit\r\n \r\n \r\n setState({ ...state, orgUnitId: value })}\r\n />\r\n \r\n \r\n Surname\r\n \r\n \r\n setState({ ...state, surname: e.target.value })} />\r\n \r\n \r\n \r\n \r\n Clear\r\n \r\n \r\n \r\n onSubmit(state)} className=\"search-icon\">\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport ConfigureClinicianFilters from './ConfigureClinicianFilters';\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\n\r\nimport { useFetchConfigureClinician } from '../../../actions/areas/admin/fetchHooks/fetchConfigureClinician';\r\nimport { tableSettings } from './ConfigureClinicianTableSettings';\r\nimport { eventHandlers } from './configureClinicianHandler';\r\n\r\nexport default function ConfigureClinicianPage() {\r\n document.title = 'Configure Clinician';\r\n\r\n const [state, setState] = useState({\r\n startingPostingList: {},\r\n forceReload: false,\r\n cliniciansBySurname: '',\r\n orgUnitId: 0,\r\n currentPage: 1,\r\n pageSize: 15,\r\n sortColumn: 'Surname',\r\n sortDirection: 'asc',\r\n });\r\n const getModel = {\r\n forceReload: state.forceReload,\r\n cliniciansBySurname: state.cliniciansBySurname,\r\n orgUnitId: state.orgUnitId,\r\n currentPage: state.currentPage,\r\n pageSize: state.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n };\r\n const { data, isDataLoading, auth, isTableDataLoading } = useFetchConfigureClinician(getModel);\r\n const configureClinicianEvents = eventHandlers(state, setState, auth);\r\n\r\n const settings = tableSettings({\r\n startingPostingList: state.startingPostingList,\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n eventHandlers: configureClinicianEvents,\r\n isTableDataLoading,\r\n });\r\n\r\n const renderDataOrLoadingMessage = () => {\r\n return isDataLoading ? (\r\n Wait a moment while we gather Clinicians info...\r\n ) : (\r\n
\r\n \r\n
\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n {renderDataOrLoadingMessage()}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-case-declarations */\r\n/* eslint-disable default-case */\r\n/* eslint-disable react/react-in-jsx-scope */\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport { Typography } from '@material-ui/core';\r\nimport CustomToolbar from '../../common/CustomToolbar/CustomToolbar';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport _ from '../../../utils/lodash';\r\nimport PostcodeSearch from '../../../containers/common/PostcodeSearch/PostcodeSearchContainer';\r\n\r\nconst mapPropName = (columnName, isEntityToDto = false) => {\r\n const entityNames = ['Forename', 'Surname', 'StaffNumber', 'StartingPostcode', 'LastUpdatedStartingPostcode'];\r\n const dtoNames = ['firstName', 'lastName', 'staffNumber', 'startingPostcode', 'lastUpdated'];\r\n\r\n if (isEntityToDto) {\r\n const index = _.indexOf(entityNames, columnName);\r\n return dtoNames[index];\r\n }\r\n\r\n const index = _.indexOf(dtoNames, columnName);\r\n return entityNames[index];\r\n};\r\n\r\nconst setSortDirection = (columnDtoName, options) => {\r\n const entityName = mapPropName(columnDtoName, false);\r\n return entityName === options.sortColumn ? options.sortDirection : 'none';\r\n};\r\n\r\nexport const tableSettings = options => ({\r\n name: Starting Postcode,\r\n columns: [\r\n {\r\n name: 'clinicianId',\r\n label: 'ClinicianId',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'firstName',\r\n label: 'Forename',\r\n options: {\r\n sortOrder: {\r\n name: 'firstName',\r\n direction: setSortDirection('firstName', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'lastName',\r\n label: 'Surname',\r\n options: {\r\n sortOrder: {\r\n name: 'lastName',\r\n direction: setSortDirection('lastName', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'staffNumber',\r\n label: 'StaffNumber',\r\n options: {\r\n sortOrder: {\r\n name: 'staffNumber',\r\n direction: setSortDirection('staffNumber', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'startingPostcode',\r\n label: 'Starting Postcode',\r\n options: {\r\n sort: false,\r\n customBodyRender: (value, tableMeta) => {\r\n return (\r\n \r\n options.eventHandlers.updateStartingPostcodeValue({\r\n clinicianId: tableMeta.rowData[0],\r\n oldStartingPostcode: value,\r\n startingPostcode: e.target.value.trim(),\r\n })\r\n }\r\n >\r\n {\r\n options.eventHandlers.updateStartingPostcodeValue({\r\n clinicianId: tableMeta.rowData[0],\r\n oldStartingPostcode: value,\r\n startingPostcode: selectedPostCode.trim(),\r\n });\r\n }}\r\n onInvalidPostcode={isInvalid =>\r\n options.eventHandlers.onInvalidPostcode({\r\n clinicianId: tableMeta.rowData[0],\r\n isInvalidStartingPostcode: isInvalid,\r\n })\r\n }\r\n />\r\n \r\n );\r\n },\r\n },\r\n },\r\n {\r\n name: 'lastUpdated',\r\n label: 'Last Updated',\r\n options: {\r\n sort: false,\r\n empty: true,\r\n customBodyRender: value => (value ? moment(value).format(globals.dateFormats.short) : '-'),\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n print: true,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n customToolbar: () => (\r\n \r\n ),\r\n onTableChange: (action, tableState) => {\r\n switch (action) {\r\n case 'changePage':\r\n case 'changeRowsPerPage':\r\n options.eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n break;\r\n case 'sort':\r\n let sortColumn = '';\r\n let sortDirection = '';\r\n\r\n if (tableState.activeColumn > -1) {\r\n sortColumn = mapPropName(tableState.sortOrder.name);\r\n sortDirection = tableState.sortOrder.direction;\r\n options.eventHandlers.updateTableSort(sortColumn, sortDirection);\r\n }\r\n break;\r\n }\r\n },\r\n },\r\n});\r\n","import { createOrUpdateClinicianStartingPostcode } from '../../../actions/areas/admin/commandActions';\r\n\r\nexport const eventHandlers = (state, setState, auth) => ({\r\n refreshTable: () => setState({ ...state, forceReload: !state.forceReload, startingPostingList: {} }),\r\n updateTableProps: (currentPage, pageSize) => setState({ ...state, currentPage, pageSize }),\r\n updateTableSort: (sortColumn, sortDirection) => setState({ ...state, sortColumn, sortDirection }),\r\n onFiltersChange: model =>\r\n setState({\r\n ...state,\r\n cliniciansBySurname: model.surname,\r\n orgUnitId: model.orgUnitId,\r\n currentPage: 1,\r\n startingPostingList: {},\r\n }),\r\n onInvalidPostcode: updateModel => {\r\n // eslint-disable-next-line no-use-before-define\r\n update(updateModel, state, setState);\r\n },\r\n updateStartingPostcodeValue: updateModel => {\r\n // eslint-disable-next-line no-use-before-define\r\n update(updateModel, state, setState);\r\n },\r\n updateButtonText: 'Update Starting Postcode',\r\n handleUpdateEvent: () => {\r\n const updatedStartingPostcodes = Object.values(state.startingPostingList);\r\n const containsInvalidPostCodes = updatedStartingPostcodes.some(x => x.isInvalidStartingPostcode === true);\r\n\r\n if (state.startingPostingList !== 0 && containsInvalidPostCodes === false) {\r\n createOrUpdateClinicianStartingPostcode(auth, { ClinicianStartingPostcodes: updatedStartingPostcodes }, () =>\r\n setState({ ...state, startingPostingList: {}, forceReload: !state.forceReload }),\r\n );\r\n }\r\n },\r\n});\r\n\r\nconst update = (updateModel, state, setState) => {\r\n setState({\r\n ...state,\r\n startingPostingList: { ...state.startingPostingList, [updateModel.clinicianId]: updateModel },\r\n });\r\n};\r\n","import React from 'react';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport FlatButton from 'material-ui/FlatButton';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport newTimeSlotsPackage from '../../../propTypes/entities/newTimeSlotsPackage';\r\nimport Spinner from '../../common/Spinner/Spinner';\r\nimport TimeSlotConfiguration from './TimeSlotConfiguration';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { getNextName } from '../../../utils/timeslots';\r\nimport DefaultPageWrapper from '../../../containers/PageStructure/DefaultPageWrapper/DefaultPageWrapperContainer';\r\nimport ConfirmationDialog from '../../common/ConfirmationDialog/ConfirmationDialog';\r\n\r\nconst locale = globals.getAreas(['configureTimeSlots', 'error']);\r\nconst defaultDifferenceBetweenStartAndEndOfTimeslotInMinutes = 60;\r\n\r\nclass ConfigureTimeSlots extends React.Component {\r\n state = { showSaveTimeSlotsConformation: false };\r\n\r\n componentDidMount() {\r\n this.props.getDefaultTimeSlotsPackage();\r\n }\r\n\r\n getTimeSlotByName = timeSlotName => {\r\n const { defaultTimeSlotPackage } = this.props;\r\n const timeSlots = defaultTimeSlotPackage.timeSlots;\r\n return Object.assign({}, timeSlots.find(timeSlot => timeSlot.name === timeSlotName));\r\n };\r\n\r\n setTimeSlotTwilight = timeSlotName => isTwilight => {\r\n const timeSlotToUpdate = this.getTimeSlotByName(timeSlotName);\r\n timeSlotToUpdate.isTwilight = isTwilight;\r\n this.props.editTimeSlot(timeSlotToUpdate);\r\n };\r\n\r\n deleteTimeSlot = timeSlotName => () => {\r\n this.props.deleteTimeSlot(timeSlotName);\r\n };\r\n\r\n timeChange = (timeSlotName, toOrFrom) => (e, time) => {\r\n const timeSlotToUpdate = this.getTimeSlotByName(timeSlotName);\r\n timeSlotToUpdate[toOrFrom] = moment(time).format(globals.dateFormats.localApiFormat);\r\n this.props.editTimeSlot(timeSlotToUpdate);\r\n };\r\n\r\n addTimeSlot = () => {\r\n const {\r\n defaultTimeSlotPackage: { timeSlots },\r\n addTimeSlot,\r\n } = this.props;\r\n const lastTimeslot = timeSlots[timeSlots.length - 1];\r\n let name = 'A';\r\n let from = moment(0).format(globals.dateFormats.localApiFormat);\r\n let diffMins = defaultDifferenceBetweenStartAndEndOfTimeslotInMinutes;\r\n\r\n if (lastTimeslot) {\r\n name = getNextName(lastTimeslot.name);\r\n from = lastTimeslot.to;\r\n diffMins = moment(lastTimeslot.to).diff(moment(lastTimeslot.from), 'minutes');\r\n }\r\n\r\n const minsInDays = 24 * 60;\r\n diffMins = diffMins < 0 ? minsInDays + diffMins : diffMins;\r\n\r\n addTimeSlot({\r\n name,\r\n from,\r\n to: moment(from)\r\n .add(diffMins, 'minutes')\r\n .format(globals.dateFormats.localApiFormat),\r\n isTwilight: false,\r\n });\r\n };\r\n\r\n handleSaveTimeSlotsCancel = () => {\r\n this.setState({\r\n showSaveTimeSlotsConformation: false,\r\n });\r\n };\r\n\r\n handleSaveTimeSlotsConfirm = () => {\r\n this.setState({\r\n showSaveTimeSlotsConformation: false,\r\n });\r\n this.props.save(this.props.defaultTimeSlotPackage.timeSlots);\r\n };\r\n\r\n render() {\r\n const { isFetching, defaultTimeSlotPackage, validationMessage, pageTitle } = this.props;\r\n let timeSlotsList = null;\r\n\r\n if (isFetching || !defaultTimeSlotPackage.timeSlots) {\r\n timeSlotsList = ;\r\n } else if (defaultTimeSlotPackage.timeSlots.length < 1) {\r\n timeSlotsList =
{locale.getMsg('noTimeslots')}
;\r\n } else {\r\n const canDelete = defaultTimeSlotPackage.timeSlots.length > 1;\r\n timeSlotsList = defaultTimeSlotPackage.timeSlots.map(({ name, isTwilight, from, to }) => (\r\n \r\n ));\r\n }\r\n return (\r\n \r\n \r\n
\r\n \r\n {locale.getMsg('newTimeSlotsEffectiveForNewTreatments')}\r\n \r\n
\r\n {timeSlotsList}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({\r\n showSaveTimeSlotsConformation: true,\r\n })\r\n }\r\n />\r\n \r\n \r\n
{!validationMessage ? '' : locale.getMsg(validationMessage)}
\r\n\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nConfigureTimeSlots.defaultProps = {\r\n defaultTimeSlotPackage: null,\r\n validationMessage: '',\r\n};\r\n\r\nConfigureTimeSlots.propTypes = {\r\n getDefaultTimeSlotsPackage: PropTypes.func.isRequired,\r\n addTimeSlot: PropTypes.func.isRequired,\r\n editTimeSlot: PropTypes.func.isRequired,\r\n deleteTimeSlot: PropTypes.func.isRequired,\r\n save: PropTypes.func.isRequired,\r\n defaultTimeSlotPackage: newTimeSlotsPackage,\r\n isFetching: PropTypes.bool.isRequired,\r\n validationMessage: PropTypes.string.isRequired,\r\n pageTitle: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default ConfigureTimeSlots;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Box } from '@material-ui/core';\r\nimport TimePicker from 'material-ui/TimePicker';\r\nimport Checkbox from 'material-ui/Checkbox';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst localeConfigureTimeSlots = globals.getArea('configureTimeSlots');\r\n\r\nfunction TimeSlotConfiguration(props) {\r\n return (\r\n
\r\n \r\n \r\n
\r\n {props.enableDelete && (\r\n \r\n delete\r\n \r\n )}\r\n
\r\n
\r\n \r\n
\r\n {props.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 props.setTimeSlotTwilight(isChecked)}\r\n label={localeConfigureTimeSlots.getMsg('makeTwilightHours')}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nTimeSlotConfiguration.propTypes = {\r\n setTimeSlotTwilight: PropTypes.func.isRequired,\r\n deleteTimeSlot: PropTypes.func.isRequired,\r\n fromTimeChange: PropTypes.func.isRequired,\r\n toTimeChange: PropTypes.func.isRequired,\r\n name: PropTypes.string.isRequired,\r\n isTwilight: PropTypes.bool.isRequired,\r\n from: PropTypes.instanceOf(Date).isRequired,\r\n to: PropTypes.instanceOf(Date).isRequired,\r\n};\r\n\r\nexport default TimeSlotConfiguration;\r\n","import React, { useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\n\r\nimport ClinicianMappingForm from './ClinicianMappingForm';\r\nimport LoadingPageText from '../../../common/Loading/LoadingPageText';\r\n\r\nimport { useClinicianUsernameMappings } from '../../../../actions/areas/admin/fetchHooks/fetchExternalProvider';\r\nimport { tableSettings } from './clinicianMappingTableSettings';\r\nimport { eventHandlers } from './../externalProviderHandler';\r\n\r\nexport default function ClinicianMappingContent({ cliniciansBySurname }) {\r\n const [state, setState] = useState({\r\n forceReload: false,\r\n currentPage: 1,\r\n pageSize: 15,\r\n openSidePanel: false,\r\n sortColumn: 'Surname',\r\n sortDirection: 'asc',\r\n selectedRow: {},\r\n errorMsg: null,\r\n isDataLoading: false,\r\n });\r\n\r\n const model = {\r\n pageSize: state.pageSize,\r\n currentPage: state.currentPage,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n cliniciansBySurname,\r\n };\r\n const { data, isDataLoading, auth, isTableDataLoading } = useClinicianUsernameMappings(model, state.forceReload);\r\n\r\n const events = eventHandlers(state, setState, auth);\r\n document.title = events.locale.getMsg('clinicianUsernameMapping');\r\n\r\n const settings = tableSettings({\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n eventHandlers: events,\r\n isTableDataLoading,\r\n });\r\n\r\n if (isDataLoading)\r\n return {events.locale.getMsg('loadingMsg', [document.title])};\r\n\r\n const props = {\r\n events,\r\n selectedRow: state.selectedRow,\r\n errorMsg: state.errorMsg,\r\n isDataLoading: state.isDataLoading,\r\n };\r\n\r\n return (\r\n
\r\n \r\n {state.openSidePanel && }\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Box, Link, TextField, IconButton } from '@material-ui/core';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport globals from '../../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getAreas(['externalProvider', 'userActions']);\r\n\r\nexport default function ClinicianMappingFilters({ setCliniciansBySurname }) {\r\n const [state, setState] = useState({\r\n surname: '',\r\n });\r\n\r\n const handleClear = () => {\r\n setState({ surname: '' });\r\n setCliniciansBySurname('');\r\n };\r\n\r\n return (\r\n \r\n \r\n {locale.getMsg('surname')}\r\n \r\n \r\n setState({ surname: e.target.value })}\r\n />\r\n \r\n \r\n \r\n {\r\n handleClear();\r\n }}\r\n >\r\n {locale.getMsg('clear')}\r\n \r\n \r\n \r\n {\r\n setCliniciansBySurname(state.surname);\r\n }}\r\n className=\"search-icon\"\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable react/no-array-index-key */\r\nimport React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Box from '@material-ui/core/Box';\r\n\r\nexport default function ClinicianMappingForm({ props }) {\r\n const [state, setState] = useState({ username: props.selectedRow[4] || '' });\r\n const [propsState] = useState({\r\n clinicianId: props.selectedRow[0],\r\n fullName: `${props.selectedRow[1]} ${props.selectedRow[2]}`,\r\n username: props.selectedRow[4] || '',\r\n });\r\n\r\n const canSave = state.username && state.username !== '';\r\n const clinicianId = propsState.clinicianId;\r\n const fullName = propsState.fullName;\r\n const username = propsState.username;\r\n const locale = props.events.locale;\r\n\r\n return (\r\n
\r\n {}} onClose={() => {}}>\r\n
\r\n
\r\n
\r\n \r\n \r\n {locale.getMsg('clinicianUsernameMapping')}\r\n \r\n \r\n props.events.onClose()}>\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {locale.getMsg('clinicianForenameSurname')}\r\n \r\n \r\n \r\n {locale.getMsg('mapToUsername')}\r\n \r\n setState({ ...state, username: e.target.value })}\r\n />\r\n
\r\n \r\n {props.errorMsg ? props.errorMsg.message.split('\\n').map((it, i) =>

{it}

) : null}\r\n
\r\n
\r\n
\r\n
\r\n props.events.onClose()}\r\n style={{ marginRight: '10px' }}\r\n >\r\n {locale.getMsg('back')}\r\n \r\n
\r\n
\r\n {\r\n if (username !== state.username) {\r\n props.events.editClinicianMappingModel({ clinicianId, username: state.username });\r\n } else {\r\n props.events.handleSidePanel(false);\r\n }\r\n }}\r\n >\r\n {locale.getMsg('edit')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","/* eslint-disable no-case-declarations */\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport CustomToolbar from '../../../common/CustomToolbar/CustomToolbar';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport _ from '../../../../utils/lodash';\r\n\r\nconst mapPropName = (columnName, isEntityToDto = false) => {\r\n const entityNames = ['Forename', 'Surname', 'StaffNumber', 'Username'];\r\n const dtoNames = ['forenames', 'surname', 'staffNumber', 'username'];\r\n if (isEntityToDto) {\r\n const index = _.indexOf(entityNames, columnName);\r\n return dtoNames[index];\r\n }\r\n const index = _.indexOf(dtoNames, columnName);\r\n return entityNames[index];\r\n};\r\n\r\nconst setSortDirection = (columnDtoName, options) => {\r\n const entityName = mapPropName(columnDtoName, false);\r\n\r\n return entityName === options.sortColumn ? options.sortDirection : 'none';\r\n};\r\n\r\nexport const tableSettings = options => {\r\n // const locale = options.eventHandlers.locale;\r\n const eventHandlers = options.eventHandlers;\r\n\r\n return {\r\n name: {eventHandlers.locale.getMsg('clinicianUsernameMapping')},\r\n columns: [\r\n {\r\n name: 'id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'forenames',\r\n label: 'Forename',\r\n options: {\r\n sortOrder: {\r\n name: 'forenames',\r\n direction: setSortDirection('forenames', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'surname',\r\n label: 'Surname',\r\n options: {\r\n sortOrder: {\r\n name: 'surname',\r\n direction: setSortDirection('surname', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'staffNumber',\r\n label: 'Staff Number',\r\n options: {\r\n sortOrder: {\r\n name: 'staffNumber',\r\n direction: setSortDirection('staffNumber', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'username',\r\n label: 'Username',\r\n options: {\r\n sortOrder: {\r\n name: 'username',\r\n direction: setSortDirection('username', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'isMapped',\r\n label: 'Is Mapped',\r\n options: {\r\n sort: false,\r\n customBodyRender: (value, tableMeta) => {\r\n return tableMeta.rowData[4] ? '✔' : '-';\r\n },\r\n },\r\n },\r\n {\r\n name: 'usernameMappingTime',\r\n label: 'Mapping Date',\r\n options: {\r\n sort: false,\r\n customBodyRender: (value, tableMeta) => {\r\n return tableMeta.rowData[6] ? moment(value).format(globals.dateFormats.shortWithLongTime) : '-';\r\n },\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n print: false,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n customToolbar: () => (\r\n \r\n ),\r\n onRowClick: rowData => eventHandlers.handleSidePanel(true, rowData),\r\n onTableChange: (action, tableState) => {\r\n switch (action) {\r\n case 'changePage':\r\n case 'changeRowsPerPage':\r\n options.eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n break;\r\n case 'sort':\r\n let sortColumn = '';\r\n let sortDirection = '';\r\n\r\n if (tableState.activeColumn > -1) {\r\n sortColumn = mapPropName(tableState.sortOrder.name);\r\n sortDirection = tableState.sortOrder.direction;\r\n options.eventHandlers.updateTableSort(sortColumn, sortDirection);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n },\r\n },\r\n };\r\n};\r\n","import React from 'react';\r\nimport { Tooltip, CircularProgress, IconButton } from '@material-ui/core';\r\nimport RefreshIcon from '@material-ui/icons/Refresh';\r\nimport useTeamProvider from './useTeamProvider';\r\n\r\nexport default function CustomToolbar({ isTableDataLoading }) {\r\n const { hideActionButtons, isDataLoading, handleServerAction, refreshTable } = useTeamProvider();\r\n\r\n return (\r\n \r\n {!hideActionButtons && (\r\n
\r\n {isDataLoading ? (\r\n \r\n \r\n \r\n ) : (\r\n handleServerAction()}>\r\n \r\n {'Send All'}\r\n \r\n \r\n )}\r\n
\r\n )}\r\n {isTableDataLoading && (\r\n \r\n \r\n \r\n )}\r\n {!isTableDataLoading && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n}\r\n","/* eslint-disable react/prop-types */\r\nimport React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nexport const contextDefaultProps = {\r\n forceReload: false,\r\n mappingType: 0,\r\n requestStatus: 0,\r\n fromDate: globals.now.subtract(1, 'd'),\r\n toDate: globals.now.add(1, 'd'),\r\n orgUnitId: null,\r\n visitId: '',\r\n isDataLoading: false,\r\n isTableDataLoading: false,\r\n hideActionButtons: false,\r\n\r\n currentPage: 1,\r\n pageSize: 15,\r\n openSidePanel: false,\r\n sortColumn: 'CreatedDate',\r\n sortDirection: 'desc',\r\n selectedAppointment: null,\r\n assignmentId: null,\r\n patientInfo: null,\r\n showActionConfirmation: false,\r\n requestIds: [],\r\n actionName: '',\r\n message: null,\r\n showSnackbar: false,\r\n selectedAllForSending: false,\r\n};\r\n\r\nconst ExternalProviderContext = React.createContext([{}, () => {}]);\r\n\r\nconst ExternalProvider = props => {\r\n contextDefaultProps.auth = useSelector(state => state.global.auth);\r\n contextDefaultProps.orgUnitId = useSelector(store => store.areas.dailyPlanning.filters.selectedTeam);\r\n const [state, setState] = useState({ ...contextDefaultProps });\r\n return (\r\n {props.children}\r\n );\r\n};\r\n\r\nexport { ExternalProviderContext, ExternalProvider };\r\n","import React, { useState } from 'react';\r\nimport { Box } from '@material-ui/core';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\n\r\nimport { DropdownFilter } from '../../Planner/Filters/DropdownFilter';\r\nimport { ExternalProvider } from './ExternalProviderContext';\r\nimport TeamMappingContent from './TeamMapping/TeamMappingContent';\r\nimport RequestLogsContent from './ProviderRequest/RequestLogsContent';\r\nimport ClinicianMappingContent from './ClinicianUsernameMapping/ClinicianMappingContent';\r\nimport RequestLogsSearchFilters from './ProviderRequest/RequestLogsSearchFilters';\r\nimport ClinicianMappingFilters from './ClinicianUsernameMapping/ClinicianMappingFilters';\r\nimport OutcomeCodesPage from './OutcomeCodes/OutcomeCodesPage';\r\nimport { useExternalProviderTypeForTenant } from '../../../actions/areas/admin/fetchHooks/fetchExternalProvider';\r\nimport { ExternalProviderType, ExternalProviderOptions } from './../../../enums';\r\nimport globals from './../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('externalProvider');\r\n\r\nconst epTypeOptions = [ExternalProviderOptions[0]];\r\nconst teamOptions = [\r\n { id: 0, name: 'All Teams' },\r\n { id: 1, name: 'Mapped Teams' },\r\n { id: 2, name: 'Not Mapped Teams' },\r\n];\r\n\r\nexport default function ExternalProviderPage() {\r\n const [state, setState] = useState({\r\n epType: epTypeOptions[0],\r\n mappingType: 0,\r\n requestStatus: 0,\r\n });\r\n const [cliniciansBySurname, setCliniciansBySurname] = useState('');\r\n\r\n const { data, isDataLoading } = useExternalProviderTypeForTenant(false);\r\n\r\n if (!isDataLoading) {\r\n if (data.externalProviderType !== ExternalProviderType.Rio && !epTypeOptions.find(x => x.key === 'requestLogs')) {\r\n epTypeOptions.push(ExternalProviderOptions.find(epo => epo.key === 'requestLogs'));\r\n }\r\n if (\r\n data.externalProviderType === ExternalProviderType.SystmOne &&\r\n !epTypeOptions.find(x => x.key === 'clinicianUsernameMapping')\r\n ) {\r\n epTypeOptions.push(ExternalProviderOptions[epTypeOptions.length]);\r\n }\r\n if (data.externalProviderType === ExternalProviderType.Rio && !epTypeOptions.find(x => x.key === 'outcomeCodes')) {\r\n epTypeOptions.push(ExternalProviderOptions.find(epo => epo.key === 'outcomeCodes'));\r\n }\r\n }\r\n\r\n const teamMappingFilter = () => {\r\n return (\r\n \r\n \r\n {locale.getMsg('providerTeams')}\r\n \r\n \r\n setState({ ...state, mappingType: value })}\r\n />\r\n \r\n \r\n );\r\n };\r\n\r\n const content = {\r\n teamMapping: ,\r\n requestLogs: ,\r\n clinicianUsernameMapping: ,\r\n outcomeCodes: ,\r\n };\r\n\r\n const setEpTypeFilter = epType => {\r\n switch (epType.key) {\r\n case 'requestLogs':\r\n return ;\r\n case 'clinicianUsernameMapping':\r\n return ;\r\n case 'outcomeCodes':\r\n return ;\r\n default:\r\n return teamMappingFilter();\r\n }\r\n };\r\n\r\n const setEpTypeContent = epType => {\r\n return content[epType.key];\r\n };\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Configure\r\n \r\n \r\n setState({ ...state, epType: ExternalProviderOptions[value] })}\r\n />\r\n \r\n {setEpTypeFilter(state.epType)}\r\n \r\n
\r\n {setEpTypeContent(state.epType)}\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Box from '@material-ui/core/Box';\r\n\r\nexport default function CreateOutcomeCode({ events, serverErrorMsg }) {\r\n const [state, setState] = useState({ codeName: '' });\r\n\r\n const locale = events.locale;\r\n const maxNameLength = 50;\r\n\r\n const isInvalid = value => {\r\n return value.length > maxNameLength;\r\n };\r\n\r\n const isServerError = () => {\r\n return serverErrorMsg !== '';\r\n };\r\n\r\n const showErrorMsg = () => {\r\n return isInvalid(state.codeName)\r\n ? locale.getMsg('validationMaxLength', [maxNameLength.toString()])\r\n : serverErrorMsg;\r\n };\r\n\r\n return (\r\n
\r\n {}} onClose={() => {}}>\r\n
\r\n
\r\n
\r\n \r\n \r\n {locale.getMsg('createOutcomeCodeHeader')}\r\n \r\n \r\n events.onClose()}>\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {locale.getMsg('outComeCodeName')}\r\n \r\n setState({ ...state, codeName: e.target.value })}\r\n />\r\n
\r\n\r\n
\r\n
\r\n
\r\n events.onClose()}\r\n style={{ marginRight: '10px' }}\r\n >\r\n {locale.getMsg('back')}\r\n \r\n
\r\n
\r\n events.createOutcomeCode(state.codeName)}\r\n >\r\n {locale.getMsg('create')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport CreateOutcomeCode from './CreateOutcomeCode';\r\nimport LoadingPageText from '../../../common/Loading/LoadingPageText';\r\nimport { useFetchOutcomeCodes } from '../../../../actions/areas/admin/fetchHooks/fetchExternalProvider';\r\nimport { tableSettings } from './outcomeCodesTableSettings';\r\nimport { eventHandlers } from './outcomeCodesHandler';\r\nimport globals from '../../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getAreas(['userActions', 'externalProvider']);\r\n\r\nexport default function OutcomeCodesPage() {\r\n const [state, setState] = useState({ forceReload: false, openAddCodePanel: false });\r\n const [serverErrorMsg, setServerErrorMsg] = useState('');\r\n const { data, isDataLoading, auth, isTableDataLoading } = useFetchOutcomeCodes(state.forceReload);\r\n\r\n if (isDataLoading)\r\n return (\r\n \r\n {locale.getMsg('loadingMsg', [locale.getMsg('outcomeCodes')])}\r\n \r\n );\r\n\r\n const events = eventHandlers(state, setState, setServerErrorMsg, auth);\r\n const settings = tableSettings({ eventHandlers: events, isTableDataLoading });\r\n\r\n return (\r\n
\r\n \r\n {state.openAddCodePanel && }\r\n
\r\n );\r\n}\r\n","import globals from '../../../../globals/communityGlobals';\r\nimport { updateOutcomeCodeStatus, createOutcomeCode } from '../../../../actions/areas/admin/commandActions';\r\n\r\nconst locale = globals.getAreas(['externalProvider', 'error', 'userActions']);\r\n\r\nexport const eventHandlers = (state, setState, setServerErrorMsg, auth) => {\r\n const handleSidePanel = isOpen => {\r\n setState(newState => ({ ...newState, openAddCodePanel: isOpen }));\r\n };\r\n const onClose = () => {\r\n handleSidePanel(false);\r\n setServerErrorMsg('');\r\n };\r\n\r\n const refreshTable = () => {\r\n setState(newState => ({ ...newState, forceReload: !state.forceReload }));\r\n onClose();\r\n };\r\n\r\n const displayErrorMsgInSidePanel = response => {\r\n setServerErrorMsg(response.message);\r\n handleSidePanel(true);\r\n };\r\n\r\n return {\r\n locale,\r\n addButtonText: locale.getMsg('addButtonText'),\r\n refreshTable,\r\n handleSidePanel,\r\n onClose,\r\n updateOutcomeCodeStatus: (id, isActive) => updateOutcomeCodeStatus(auth, { id, isActive }, refreshTable),\r\n createOutcomeCode: name => {\r\n createOutcomeCode(auth, { name }, refreshTable, displayErrorMsgInSidePanel);\r\n },\r\n };\r\n};\r\n","import React from 'react';\r\nimport Switch from '@material-ui/core/Switch';\r\nimport { Typography } from '@material-ui/core';\r\nimport CustomToolbar from '../../../common/CustomToolbar/CustomToolbar';\r\n\r\nexport const tableSettings = options => {\r\n const locale = options.eventHandlers.locale;\r\n\r\n return {\r\n name: {locale.getMsg('outcomeCodes')},\r\n columns: [\r\n {\r\n name: 'id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'name',\r\n label: 'Outcome code name',\r\n },\r\n {\r\n name: 'isActive',\r\n label: locale.getMsg('activeTableHeader'),\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({\r\n className: 'no-padding-cell',\r\n }),\r\n customBodyRender: (value, tableMeta) => {\r\n return (\r\n {\r\n options.eventHandlers.updateOutcomeCodeStatus(tableMeta.rowData[0], e.target.checked);\r\n }}\r\n color=\"primary\"\r\n name=\"checkedB\"\r\n inputProps={{ 'aria-label': 'primary checkbox' }}\r\n />\r\n );\r\n },\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: 15,\r\n print: true,\r\n search: true,\r\n filter: false,\r\n serverSide: false,\r\n customToolbar: () => (\r\n \r\n ),\r\n },\r\n };\r\n};\r\n","import React from 'react';\r\nimport { SwipeableDrawer, Typography, Box, List, ListItem, ListItemText } from '@material-ui/core';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport LoadingPageText from '../../../../components/common/Loading/LoadingPageText';\r\n\r\nimport { useAppointmentDetails } from '../../../../actions/areas/admin/fetchHooks/fetchExternalProvider';\r\nimport { parseShortDateWithTime } from '../../../../utils/dates';\r\nimport useTeamProvider from '../useTeamProvider';\r\nimport { ExternalProviderType } from '../../../../enums';\r\nimport globals from '../../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getAreas(['externalProvider', 'userActions']);\r\n\r\nexport default function AssignmentDetailsSidePanel() {\r\n const { selectedAppointment, assignmentId, patientInfo, handleDetailsSidePanel } = useTeamProvider();\r\n\r\n const { data, isDataLoading } = useAppointmentDetails(\r\n { AppointmentId: selectedAppointment, AssignmentId: assignmentId },\r\n false,\r\n );\r\n\r\n const isRioExternalProvider = data.externalProviderType === ExternalProviderType.Rio;\r\n const isSystmOneExternalProvider = data.externalProviderType === ExternalProviderType.SystmOne;\r\n\r\n return (\r\n
\r\n {}} onClose={() => {}}>\r\n
\r\n
\r\n
\r\n \r\n \r\n {locale.getMsg('appointmentDetails')}\r\n \r\n \r\n handleDetailsSidePanel(false)}>\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {isDataLoading && (\r\n \r\n {locale.getMsg('loadingMsg', [locale.getMsg('appointmentDetails')])}\r\n \r\n )}\r\n {data.appointment && (\r\n
\r\n
\r\n \r\n {locale.getMsg('appointmentDetails')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isRioExternalProvider ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n {isRioExternalProvider ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n
\r\n
\r\n \r\n {locale.getMsg('healthCareProfDetails')}\r\n \r\n \r\n {isRioExternalProvider ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {isSystmOneExternalProvider ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n
\r\n
\r\n \r\n {locale.getMsg('associatedVisit')}\r\n \r\n \r\n \r\n \r\n \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 React from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport useTeamProvider from '../useTeamProvider';\r\n\r\nimport LoadingPageText from '../../../common/Loading/LoadingPageText';\r\nimport ConfirmationDialog from '../../../common/ConfirmationDialog/ConfirmationDialog';\r\nimport AssignmentDetailsSidePanel from './AssignmentDetailsSidePanel';\r\nimport NonBlockingLoader from '../../../common/Loading/NonBlockingLoader';\r\n\r\nimport { useRequestLogs } from '../../../../actions/areas/admin/fetchHooks/fetchExternalProvider';\r\nimport { tableSettings } from './requestLogsTableSettings';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { getDateForApi } from '../../../../utils/dates';\r\n\r\nconst locale = globals.getAreas(['externalProvider', 'error']);\r\n\r\nexport default function RequestLogsContent() {\r\n document.title = 'Provider Request Logs';\r\n\r\n const {\r\n forceReload,\r\n orgUnitId,\r\n getStateVisitId,\r\n pageSize,\r\n currentPage,\r\n sortColumn,\r\n sortDirection,\r\n selectedAllForSending,\r\n requestIds,\r\n fromDate,\r\n toDate,\r\n requestStatus,\r\n openSidePanel,\r\n message,\r\n showSnackbar,\r\n handleCancel,\r\n handleConfirm,\r\n handleCloseSnackBar,\r\n actionName,\r\n showActionConfirmation,\r\n } = useTeamProvider();\r\n\r\n const model = {\r\n orgUnitId,\r\n fromDate: getDateForApi(fromDate),\r\n toDate: getDateForApi(toDate),\r\n status: requestStatus,\r\n visitId: getStateVisitId,\r\n pageSize,\r\n currentPage,\r\n sortColumn,\r\n sortDirection,\r\n };\r\n const { data, isDataLoading, isTableDataLoading } = useRequestLogs(model, forceReload);\r\n\r\n const settings = tableSettings({\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n sortColumn,\r\n isTableDataLoading,\r\n });\r\n\r\n if (isDataLoading)\r\n return (\r\n Wait a moment while we gather Request Logs list info...\r\n );\r\n\r\n return (\r\n
\r\n \r\n handleConfirm(actionName, requestIds, selectedAllForSending)}\r\n title={locale.getMsg('requestActionTitle', [actionName])}\r\n text={locale.getMsg('requestActionText', [actionName])}\r\n />\r\n {message && (\r\n \r\n )}\r\n {openSidePanel && }\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport { Box } from '@material-ui/core';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport { ExternalProvider } from '../ExternalProviderContext';\r\nimport RequestLogsSearchFilters from './RequestLogsSearchFilters';\r\nimport RequestLogsContent from './RequestLogsContent';\r\n\r\nexport default function RequestLogsPage() {\r\n return (\r\n \r\n \r\n
\r\n \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 React, { useState } from 'react';\r\nimport moment from 'moment';\r\nimport { Box, Link, TextField, IconButton } from '@material-ui/core';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport { DropdownFilter } from '../../../Planner/Filters/DropdownFilter';\r\nimport useTeamProvider from '../useTeamProvider';\r\nimport { useFetchOrgUnitOptions } from '../../../../actions/areas/shared/fetchOptions';\r\nimport globals from '../../../../globals/communityGlobals';\r\n\r\nexport default function RequestLogsSearchFilters() {\r\n const { epRequestEnums, toDate, fromDate, getOrgUnitId, setStateVisitId, submit } = useTeamProvider();\r\n\r\n const [state, setState] = useState({\r\n orgId: getOrgUnitId,\r\n reqStatus: [epRequestEnums[0].id],\r\n visitId: '',\r\n fromDate,\r\n toDate,\r\n });\r\n\r\n const [dateErrorMsg, setDateErrorMsg] = useState('');\r\n\r\n const defaultState = {\r\n reqStatus: [epRequestEnums[0].id],\r\n fromDate: globals.now.subtract(1, 'd'),\r\n toDate: globals.now.add(1, 'd'),\r\n orgId: getOrgUnitId,\r\n visitId: '',\r\n selectedAllForSending: false,\r\n requestIds: [],\r\n };\r\n\r\n const locale = globals.getAreas(['error', 'externalProvider', 'userActions']);\r\n\r\n const defaultOrgUnitId = getOrgUnitId;\r\n const { data: orgUnitOptions } = useFetchOrgUnitOptions(false);\r\n\r\n const handleClear = () => {\r\n setState(defaultState);\r\n setDateErrorMsg('');\r\n submit(defaultState);\r\n };\r\n\r\n const onSubmit = () => {\r\n const aa = moment(state.toDate).diff(moment(state.fromDate), 'days');\r\n if (aa > 30) {\r\n setDateErrorMsg(locale.getMsg('filterPeriodLimit', ['30', 'days']));\r\n } else {\r\n setDateErrorMsg('');\r\n submit(state);\r\n }\r\n };\r\n\r\n const setToDate = value => {\r\n const isMoreThanMonthDiff = moment(value).diff(moment(state.fromDate), 'days');\r\n if (isMoreThanMonthDiff > 30) {\r\n setDateErrorMsg(locale.getMsg('filterPeriodLimit', ['30', 'days']));\r\n } else if (value < state.fromDate) {\r\n setDateErrorMsg(locale.getMsg('dateToBeforeDateFrom'));\r\n } else {\r\n setDateErrorMsg('');\r\n }\r\n setState({ ...state, toDate: value });\r\n };\r\n\r\n const setFromDate = value => {\r\n if (value > state.toDate) {\r\n setDateErrorMsg(locale.getMsg('dateToBeforeDateFrom'));\r\n } else {\r\n setState({ ...state, fromDate: value });\r\n setDateErrorMsg('');\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {locale.getMsg('orgUnit')}\r\n \r\n \r\n setState({ ...state, orgId: value })}\r\n />\r\n \r\n \r\n {locale.getMsg('status')}\r\n \r\n \r\n setState({ ...state, reqStatus: value })}\r\n />\r\n \r\n \r\n {locale.getMsg('visitId')}\r\n \r\n \r\n setState({ ...state, visitId: e.target.value })}\r\n />\r\n \r\n \r\n {locale.getMsg('fromDate')}\r\n \r\n \r\n setFromDate(e)}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className=\"calendar-picker-input\"\r\n />\r\n \r\n \r\n {locale.getMsg('toDate')}\r\n \r\n \r\n setToDate(e)}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className=\"calendar-picker-input\"\r\n error={dateErrorMsg !== ''}\r\n helperText={dateErrorMsg}\r\n />\r\n \r\n \r\n \r\n \r\n {locale.getMsg('clear')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-case-declarations */\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { CircularProgress, Checkbox, Typography, Tooltip } from '@material-ui/core';\r\nimport Button from '@material-ui/core/Button';\r\nimport CustomToolbar from '../CustomToolbar';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport useTeamProvider from '../useTeamProvider';\r\nimport _ from '../../../../utils/lodash';\r\n\r\nconst LightTooltip = withStyles(theme => ({\r\n tooltip: {\r\n backgroundColor: theme.palette.common.white,\r\n color: 'rgba(0, 0, 0, 0.87)',\r\n boxShadow: theme.shadows[1],\r\n fontSize: 12,\r\n },\r\n}))(Tooltip);\r\n\r\nconst mapPropName = (columnName, isEntityToDto = false) => {\r\n const entityNames = ['PatientInfo', 'EventType', 'Status', 'SentDate'];\r\n const dtoNames = ['patientInfo', 'eventType', 'statusName', 'sentDate'];\r\n if (isEntityToDto) {\r\n const index = _.indexOf(entityNames, columnName);\r\n return dtoNames[index];\r\n }\r\n const index = _.indexOf(dtoNames, columnName);\r\n return entityNames[index];\r\n};\r\n\r\nconst setSortDirection = (columnDtoName, options) => {\r\n const entityName = mapPropName(columnDtoName, false);\r\n\r\n return entityName === options.sortColumn ? options.sortDirection : 'none';\r\n};\r\n\r\nexport const tableSettings = options => {\r\n const {\r\n epRequestEnums,\r\n selectedAllForSending,\r\n requestIds,\r\n actionName,\r\n handleCheckAllForSending,\r\n handleSingleCheck,\r\n handleDetailsSidePanel,\r\n onOpenConfirmationDialog,\r\n updateTableSort,\r\n updateTableProps,\r\n } = useTeamProvider();\r\n\r\n const getStatusName = statusName => {\r\n return epRequestEnums.find(s => s.value === statusName).name;\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'Select',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n empty: true,\r\n customHeadRender: () => {\r\n return (\r\n handleCheckAllForSending(event.target.checked)}\r\n checked={selectedAllForSending === true}\r\n />\r\n );\r\n },\r\n customBodyRender: (value, tableMeta) => {\r\n const btnName = getStatusName(tableMeta.rowData[6]);\r\n return (\r\n btnName === epRequestEnums[1].name && (\r\n handleSingleCheck(event.target.checked, tableMeta.rowData[1])}\r\n />\r\n )\r\n );\r\n },\r\n },\r\n },\r\n {\r\n name: 'id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'assignmentId',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'serviceAssignmentId',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'patientInfo',\r\n label: 'Patient',\r\n options: {\r\n sortOrder: {\r\n name: 'patientInfo',\r\n direction: setSortDirection('patientInfo', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'eventType',\r\n label: 'Event Type',\r\n options: {\r\n sortOrder: {\r\n name: 'eventType',\r\n direction: setSortDirection('eventType', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'statusName',\r\n label: 'Status',\r\n options: {\r\n sortOrder: {\r\n name: 'statusName',\r\n direction: setSortDirection('statusName', options),\r\n },\r\n customBodyRender: value => {\r\n return {getStatusName(value)};\r\n },\r\n },\r\n },\r\n {\r\n name: 'failedMessage',\r\n label: 'Error Message',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n customBodyRender: (value, tableMeta) => {\r\n return (\r\n
\r\n \r\n {tableMeta.rowData[7] ? tableMeta.rowData[7] : '-'}\r\n \r\n
\r\n );\r\n },\r\n },\r\n },\r\n {\r\n name: 'createdDate',\r\n label: 'Created Date',\r\n options: {\r\n sortOrder: {\r\n name: 'createdDate',\r\n direction: setSortDirection('createdDate', options),\r\n },\r\n customBodyRender: (value, tableMeta) => {\r\n return tableMeta.rowData[8] ? moment(value).format(globals.dateFormats.shortWithLongTime) : '-';\r\n },\r\n },\r\n },\r\n {\r\n name: 'sentDate',\r\n label: 'Sent Date',\r\n options: {\r\n sortOrder: {\r\n name: 'sentDate',\r\n direction: setSortDirection('sentDate', options),\r\n },\r\n customBodyRender: (value, tableMeta) => {\r\n return tableMeta.rowData[9] ? moment(value).format(globals.dateFormats.shortWithLongTime) : '-';\r\n },\r\n },\r\n },\r\n {\r\n name: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n empty: true,\r\n setCellProps: () => ({ style: { width: '200px' } }),\r\n customBodyRender: (value, tableMeta) => {\r\n const btnName = getStatusName(tableMeta.rowData[6]);\r\n return (\r\n
\r\n {tableMeta.rowData[3] !== null &&\r\n btnName === epRequestEnums[2].name &&\r\n tableMeta.rowData[5] === 'Create Visit' && (\r\n {\r\n handleDetailsSidePanel(true, tableMeta.rowData[3], tableMeta.rowData[2], tableMeta.rowData[4]);\r\n }}\r\n >\r\n {'Details'}\r\n \r\n )}\r\n {btnName === epRequestEnums[1].name && (\r\n \r\n {requestIds.includes(tableMeta.rowData[1]) && actionName === 'Send' ? (\r\n \r\n ) : (\r\n onOpenConfirmationDialog('Send', tableMeta.rowData[1])}\r\n >\r\n {'Send'}\r\n \r\n )}\r\n \r\n )}\r\n {btnName === epRequestEnums[3].name && btnName === epRequestEnums[3].name && (\r\n \r\n {requestIds.includes(tableMeta.rowData[1]) && actionName === 'Resend' ? (\r\n \r\n ) : (\r\n onOpenConfirmationDialog('Resend', tableMeta.rowData[1])}\r\n >\r\n {'Resend'}\r\n \r\n )}\r\n  | \r\n {requestIds.includes(tableMeta.rowData[1]) && actionName === 'Discard' ? (\r\n \r\n ) : (\r\n onOpenConfirmationDialog('Discard', tableMeta.rowData[1])}\r\n >\r\n {'Discard'}\r\n \r\n )}\r\n \r\n )}\r\n
\r\n );\r\n },\r\n },\r\n },\r\n ];\r\n\r\n return {\r\n name: Provider Request Logs,\r\n columns,\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n print: false,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n customToolbar: () => ,\r\n onTableChange: (action, tableState) => {\r\n switch (action) {\r\n case 'changePage':\r\n case 'changeRowsPerPage':\r\n updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n break;\r\n case 'sort':\r\n let sortColumn = '';\r\n let sortDirection = '';\r\n\r\n if (tableState.activeColumn > -1) {\r\n sortColumn = mapPropName(tableState.sortOrder.name);\r\n sortDirection = tableState.sortOrder.direction;\r\n updateTableSort(sortColumn, sortDirection);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n },\r\n },\r\n };\r\n};\r\n","import React, { useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\n\r\nimport TeamMappingForm from './TeamMappingForm';\r\nimport LoadingPageText from '../../../common/Loading/LoadingPageText';\r\n\r\nimport { useTeamMappings } from '../../../../actions/areas/admin/fetchHooks/fetchExternalProvider';\r\nimport { tableSettings } from './teamMappingTableSettings';\r\nimport { eventHandlers } from './../externalProviderHandler';\r\n\r\nexport default function TeamMappingContent({ mappingType }) {\r\n const [state, setState] = useState({\r\n forceReload: false,\r\n currentPage: 1,\r\n pageSize: 15,\r\n openSidePanel: false,\r\n sortColumn: 'DateCreated',\r\n sortDirection: 'desc',\r\n selectedRow: {},\r\n errorMsg: null,\r\n isDataLoading: false,\r\n });\r\n\r\n const model = {\r\n mappingType,\r\n pageSize: state.pageSize,\r\n currentPage: state.currentPage,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n };\r\n const { data, isDataLoading, auth, isTableDataLoading } = useTeamMappings(model, state.forceReload);\r\n\r\n const events = eventHandlers(state, setState, auth);\r\n document.title = events.locale.getMsg('providerTeamMapping');\r\n\r\n const settings = tableSettings({\r\n mappingType,\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n eventHandlers: events,\r\n isTableDataLoading,\r\n });\r\n\r\n if (isDataLoading)\r\n return {events.locale.getMsg('loadingMsg', [document.title])};\r\n\r\n const props = {\r\n mappingType,\r\n events,\r\n selectedRow: state.selectedRow,\r\n errorMsg: state.errorMsg,\r\n isDataLoading: state.isDataLoading,\r\n };\r\n\r\n return (\r\n
\r\n \r\n {state.openSidePanel && }\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Box from '@material-ui/core/Box';\r\n\r\nimport { DropdownFilter } from '../../../Planner/Filters/DropdownFilter';\r\nimport { useFetchOrgUnitOptions } from '../../../../actions/areas/shared/fetchOptions';\r\n\r\nexport default function TeamMappingForm({ props }) {\r\n const teamName = props.selectedRow[1];\r\n const orgUnitId = props.selectedRow[3];\r\n\r\n const [state, setState] = useState({ selectedOrgUnitId: orgUnitId });\r\n const { data: orgUnitOptions } = useFetchOrgUnitOptions(false, true, false);\r\n\r\n const canSave = state.selectedOrgUnitId && state.selectedOrgUnitId !== '';\r\n if (orgUnitId) {\r\n orgUnitOptions.push({ id: orgUnitId, name: props.selectedRow[4], isActive: false });\r\n }\r\n\r\n const locale = props.events.locale;\r\n\r\n return (\r\n
\r\n {}} onClose={() => {}}>\r\n
\r\n
\r\n
\r\n \r\n \r\n {locale.getMsg('providerTeamMapping')}\r\n \r\n \r\n props.events.handleSidePanel(false)}>\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {locale.getMsg('providerTeamName')}\r\n \r\n \r\n \r\n {locale.getMsg('mapTeamTo')}\r\n \r\n \r\n {locale.getMsg('orgUnitName')}\r\n \r\n setState({ ...state, selectedOrgUnitId: value })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n props.events.handleSidePanel(false)}\r\n style={{ marginRight: '10px' }}\r\n >\r\n {locale.getMsg('back')}\r\n \r\n
\r\n
\r\n {\r\n if (orgUnitId !== state.selectedOrgUnitId) {\r\n props.events.editProviderTeamMappingModel({ teamName, orgUnitId: state.selectedOrgUnitId });\r\n } else {\r\n props.events.handleSidePanel(false);\r\n }\r\n }}\r\n >\r\n {locale.getMsg('edit')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","/* eslint-disable no-case-declarations */\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport CustomToolbar from '../../../common/CustomToolbar/CustomToolbar';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport _ from '../../../../utils/lodash';\r\n\r\nconst mapPropName = (columnName, isEntityToDto = false) => {\r\n const entityNames = ['Name', 'TeamCode', 'OrgUnitName'];\r\n const dtoNames = ['name', 'teamCode', 'orgUnitName'];\r\n if (isEntityToDto) {\r\n const index = _.indexOf(entityNames, columnName);\r\n return dtoNames[index];\r\n }\r\n const index = _.indexOf(dtoNames, columnName);\r\n return entityNames[index];\r\n};\r\n\r\nconst setSortDirection = (columnDtoName, options) => {\r\n const entityName = mapPropName(columnDtoName, false);\r\n\r\n return entityName === options.sortColumn ? options.sortDirection : 'none';\r\n};\r\n\r\nexport const tableSettings = options => {\r\n // const locale = options.eventHandlers.locale;\r\n const eventHandlers = options.eventHandlers;\r\n\r\n return {\r\n name: Provider Team Mapping,\r\n columns: [\r\n {\r\n name: 'id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'name',\r\n label: 'Provider Team Name',\r\n options: {\r\n sortOrder: {\r\n name: 'name',\r\n direction: setSortDirection('name', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'teamCode',\r\n label: 'Provider Team Code',\r\n options: {\r\n sortOrder: {\r\n name: 'teamCode',\r\n direction: setSortDirection('teamCode', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'orgUnitId',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'orgUnitName',\r\n label: 'OrgUnit Name',\r\n options: {\r\n sortOrder: {\r\n name: 'orgUnitName',\r\n direction: setSortDirection('orgUnitName', options),\r\n },\r\n customBodyRender: value => {\r\n return value !== null ? value : '-';\r\n },\r\n },\r\n },\r\n {\r\n name: 'affectedReferrals',\r\n label: 'Count of Referrals',\r\n },\r\n {\r\n name: 'isMapped',\r\n label: 'Is Mapped',\r\n options: {\r\n sort: false,\r\n customBodyRender: value => {\r\n return value === true ? '✔' : '-';\r\n },\r\n },\r\n },\r\n {\r\n name: 'dateModified',\r\n label: 'Mapping Date',\r\n options: {\r\n sort: false,\r\n customBodyRender: (value, tableMeta) => {\r\n return tableMeta.rowData[6] ? moment(value).format(globals.dateFormats.shortWithLongTime) : '-';\r\n },\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n print: false,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n customToolbar: () => (\r\n \r\n ),\r\n onRowClick: rowData => eventHandlers.handleSidePanel(true, rowData),\r\n onTableChange: (action, tableState) => {\r\n switch (action) {\r\n case 'changePage':\r\n case 'changeRowsPerPage':\r\n options.eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n break;\r\n case 'sort':\r\n let sortColumn = '';\r\n let sortDirection = '';\r\n\r\n if (tableState.activeColumn > -1) {\r\n sortColumn = mapPropName(tableState.sortOrder.name);\r\n sortDirection = tableState.sortOrder.direction;\r\n options.eventHandlers.updateTableSort(sortColumn, sortDirection);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n },\r\n },\r\n };\r\n};\r\n","import { editClinicianUsernameMapping, editProviderTeamMapping } from '../../../actions/areas/admin/commandActions';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getAreas(['activityTypes', 'error', 'userActions', 'externalProvider']);\r\nconst defaultValues = { id: null, orgUnitId: null };\r\n\r\nexport const eventHandlers = (state, setState, auth) => {\r\n const handleSidePanel = (isOpen, data) => {\r\n // eslint-disable-next-line no-unused-expressions\r\n data != null\r\n ? setState(newState => ({\r\n ...newState,\r\n openSidePanel: isOpen,\r\n selectedRow: data,\r\n }))\r\n : setState(newState => ({ ...newState, openSidePanel: isOpen, selectedRow: defaultValues }));\r\n };\r\n const refreshTable = () =>\r\n setState(newState => ({\r\n ...newState,\r\n forceReload: !state.forceReload,\r\n isDataLoading: false,\r\n openSidePanel: false,\r\n errorMsg: null,\r\n }));\r\n const updateTableProps = (currentPage, pageSize) => setState({ ...state, currentPage, pageSize });\r\n const updateTableSort = (sortColumn, sortDirection) => setState({ ...state, sortColumn, sortDirection });\r\n const errorCallback = response => {\r\n setState(newState => ({ ...newState, errorMsg: response }));\r\n handleSidePanel(true);\r\n };\r\n\r\n const onClose = () => {\r\n setState(newState => ({ ...newState, openSidePanel: false, errorMsg: null }));\r\n };\r\n\r\n return {\r\n locale,\r\n refreshTable,\r\n handleSidePanel,\r\n updateTableProps,\r\n updateTableSort,\r\n onClose,\r\n editClinicianMappingModel: model => {\r\n editClinicianUsernameMapping(auth, model, refreshTable, errorCallback);\r\n },\r\n editProviderTeamMappingModel: model => {\r\n editProviderTeamMapping(auth, model, refreshTable, errorCallback);\r\n },\r\n };\r\n};\r\n","/* eslint-disable no-unused-expressions */\r\nimport { useContext } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { ExternalProviderContext } from './ExternalProviderContext';\r\nimport {\r\n sendRequestToExternalProvider,\r\n discardRequestToExternalProvider,\r\n} from '../../../actions/areas/admin/commandActions';\r\n\r\nimport { epRequestEnums } from './../../../settings/other';\r\nimport _ from '../../../utils/lodash';\r\n\r\nconst useTeamProvider = () => {\r\n const [state, setState] = useContext(ExternalProviderContext);\r\n\r\n if (state === null || state.auth === undefined) return {};\r\n\r\n const getOrgUnitId = useSelector(store => store.areas.dailyPlanning.filters.selectedTeam);\r\n\r\n const handleDetailsSidePanel = (isOpen, appointmentId, assignmentId, patientInfo) => {\r\n appointmentId != null && appointmentId != null\r\n ? setState(newState => ({\r\n ...newState,\r\n openSidePanel: isOpen,\r\n selectedAppointment: appointmentId,\r\n assignmentId,\r\n patientInfo,\r\n }))\r\n : setState(newState => ({ ...newState, openSidePanel: isOpen, selectedAppointment: null }));\r\n };\r\n const refreshTable = () =>\r\n setState(newState => ({\r\n ...newState,\r\n forceReload: !state.forceReload,\r\n isDataLoading: false,\r\n openSidePanel: false,\r\n errorMsg: null,\r\n }));\r\n const updateTableProps = (currentPage, pageSize) => setState({ ...state, currentPage, pageSize });\r\n const updateTableSort = (sortColumn, sortDirection) => setState({ ...state, sortColumn, sortDirection });\r\n\r\n const onClose = () => {\r\n setState(newState => ({ ...newState, openSidePanel: false, errorMsg: null }));\r\n };\r\n\r\n const onOpenConfirmationDialog = (actionName, requestId) => {\r\n setState(newState => ({\r\n ...newState,\r\n requestIds: _.concat(newState.requestIds, requestId),\r\n actionName,\r\n showActionConfirmation: true,\r\n }));\r\n };\r\n\r\n const handleCancel = () => {\r\n setState(newState => ({ ...newState, actionName: '', showActionConfirmation: false, requestIds: [] }));\r\n };\r\n\r\n const submit = values => {\r\n setState(newState => ({\r\n ...newState,\r\n requestStatus: values.reqStatus,\r\n fromDate: values.fromDate,\r\n toDate: values.toDate,\r\n orgUnitId: values.orgId,\r\n visitId: values.visitId,\r\n selectedAllForSending: false,\r\n requestIds: [],\r\n }));\r\n };\r\n\r\n const actionCallback = response => {\r\n setState(newState => ({\r\n ...newState,\r\n forceReload: !state.forceReload,\r\n message: response.data.messages ? response.data.messages[0] : null,\r\n showSnackbar: true,\r\n requestIds: [],\r\n selectedAllForSending: false,\r\n actionName: '',\r\n isDataLoading: false,\r\n }));\r\n };\r\n\r\n const handleConfirm = (actionName, entityIds, selectedAllForSending) => {\r\n actionName === 'Resend' || actionName === 'Send'\r\n ? sendRequestToExternalProvider(\r\n state.auth,\r\n { RequestIds: entityIds, AllAreCheckedFOrSending: selectedAllForSending },\r\n actionCallback,\r\n )\r\n : discardRequestToExternalProvider(state.auth, { RequestId: _.first(entityIds) }, actionCallback);\r\n setState(newState => ({ ...newState, showActionConfirmation: false }));\r\n };\r\n\r\n const handleServerAction = () => {\r\n setState(newState => ({\r\n ...newState,\r\n isDataLoading: true,\r\n }));\r\n sendRequestToExternalProvider(\r\n state.auth,\r\n { AllAreCheckedFOrSending: state.selectedAllForSending, RequestIds: state.requestIds },\r\n actionCallback,\r\n );\r\n };\r\n\r\n const handleCloseSnackBar = () => {\r\n setState(newState => ({ ...newState, showSnackbar: false }));\r\n };\r\n\r\n const handleCheckAllForSending = isChecked => {\r\n setState(newState => ({\r\n ...newState,\r\n selectedAllForSending: isChecked,\r\n requestIds: [],\r\n }));\r\n };\r\n\r\n const handleSingleCheck = (isChecked, id) => {\r\n if (isChecked) {\r\n setState(newState => ({\r\n ...newState,\r\n requestIds: _.concat(newState.requestIds, id),\r\n }));\r\n } else {\r\n setState(newState => ({\r\n ...newState,\r\n requestIds: _.filter(newState.requestIds, value => {\r\n return value !== id;\r\n }),\r\n }));\r\n }\r\n };\r\n\r\n return {\r\n forceReload: state.forceReload,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n currentPage: state.currentPage,\r\n pageSize: state.pageSize,\r\n selectedAppointment: state.selectedAppointment,\r\n assignmentId: state.assignmentId,\r\n patientInfo: state.patientInfo,\r\n actionName: state.actionName,\r\n showActionConfirmation: state.showActionConfirmation,\r\n hideActionButtons: state.hideActionButtons,\r\n epRequestEnums,\r\n orgUnitId: state.orgUnitId,\r\n fromDate: state.fromDate,\r\n toDate: state.toDate,\r\n selectedAllForSending: state.selectedAllForSending,\r\n requestIds: state.requestIds,\r\n requestStatus: state.requestStatus,\r\n message: state.message,\r\n openSidePanel: state.openSidePanel,\r\n showSnackbar: state.showSnackbar,\r\n getOrgUnitId,\r\n getStateVisitId: state.visitId,\r\n isDataLoading: state.isDataLoading,\r\n refreshTable,\r\n handleDetailsSidePanel,\r\n updateTableProps,\r\n updateTableSort,\r\n onClose,\r\n onOpenConfirmationDialog,\r\n handleCancel,\r\n handleConfirm,\r\n handleCloseSnackBar,\r\n handleCheckAllForSending,\r\n handleSingleCheck,\r\n handleServerAction,\r\n submit,\r\n };\r\n};\r\n\r\nexport default useTeamProvider;\r\n","import React, { useState } from 'react';\r\nimport { Box, IconButton, Link } from '@material-ui/core';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport TextField from '@material-ui/core/TextField';\r\n\r\nimport { DropdownFilter } from '../../Planner/Filters/DropdownFilter';\r\nimport { useFetchOrgUnitOptions } from './../../../actions/areas/shared/fetchOptions';\r\n\r\nconst defaultState = { orgUnitId: 0, surname: '' };\r\n\r\nexport default function MileageCapFilters({ onSubmit }) {\r\n const [state, setState] = useState(defaultState);\r\n const { data: options } = useFetchOrgUnitOptions(false);\r\n const defaultValue = options.lenght > 0 ? options[0].id : 0;\r\n\r\n const handleClear = () => {\r\n setState(defaultState);\r\n onSubmit(defaultState);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Org Unit\r\n \r\n \r\n setState({ ...state, orgUnitId: value })}\r\n />\r\n \r\n \r\n Surname\r\n \r\n \r\n setState({ ...state, surname: e.target.value })} />\r\n \r\n \r\n \r\n \r\n Clear\r\n \r\n \r\n \r\n onSubmit(state)} className=\"search-icon\">\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport MileageCapFilters from './MileageCapFilters';\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\n\r\nimport { useFetchMileageCap } from '../../../actions/areas/admin/fetchHooks';\r\nimport { tableSettings } from './mileageCapTableSettings';\r\nimport { eventHandlers } from './mileageCapHandler';\r\n\r\nexport default function MileageCapPage() {\r\n document.title = 'Mileage Cap';\r\n\r\n const [state, setState] = useState({\r\n mileageCapList: {},\r\n forceReload: false,\r\n cliniciansBySurname: '',\r\n orgUnitId: 0,\r\n currentPage: 1,\r\n pageSize: 15,\r\n sortColumn: 'Surname',\r\n sortDirection: 'asc',\r\n });\r\n const getModel = {\r\n forceReload: state.forceReload,\r\n cliniciansBySurname: state.cliniciansBySurname,\r\n orgUnitId: state.orgUnitId,\r\n currentPage: state.currentPage,\r\n pageSize: state.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n };\r\n const { data, isDataLoading, auth, isTableDataLoading } = useFetchMileageCap(getModel);\r\n const mileageCapEvents = eventHandlers(state, setState, auth);\r\n\r\n if (isDataLoading)\r\n return Wait a moment while we gather MileageCap info...;\r\n\r\n const settings = tableSettings({\r\n mileageCapList: state.mileageCapList,\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n eventHandlers: mileageCapEvents,\r\n isTableDataLoading,\r\n });\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { createClinicianMileageCap } from '../../../actions/areas/admin/commandActions';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport _ from '../../../utils/lodash';\r\nimport { numberInRangeFrom0To99 } from '../../../settings/constants';\r\n\r\nconst locale = globals.getAreas(['mileageCap', 'error']);\r\n\r\nexport const eventHandlers = (state, setState, auth) => ({\r\n refreshTable: () => setState({ ...state, forceReload: !state.forceReload, mileageCapList: {} }),\r\n updateTableProps: (currentPage, pageSize) => setState({ ...state, currentPage, pageSize }),\r\n updateTableSort: (sortColumn, sortDirection) => setState({ ...state, sortColumn, sortDirection }),\r\n onFiltersChange: model =>\r\n setState({\r\n ...state,\r\n cliniciansBySurname: model.surname,\r\n orgUnitId: model.orgUnitId,\r\n currentPage: 1,\r\n mileageCapList: {},\r\n }),\r\n updateMileageCapValue: updateModel => {\r\n if (updateModel.mileageCap !== updateModel.oldMileageCap) {\r\n setState({ ...state, mileageCapList: { ...state.mileageCapList, [updateModel.clinicianId]: updateModel } });\r\n }\r\n },\r\n updateButtonText: 'Update MileageCap',\r\n handleUpdateEvent: () => {\r\n if (Object.keys(state.mileageCapList).length !== 0) {\r\n const updatedMileageCaps = Object.values(state.mileageCapList);\r\n const invalid = _.some(\r\n updatedMileageCaps,\r\n e => e.mileageCap === '' || !RegExp(numberInRangeFrom0To99).test(e.mileageCap),\r\n );\r\n\r\n if (invalid) {\r\n // eslint-disable-next-line no-alert\r\n alert(locale.getMsg('validationNumberRange', ['0-99']));\r\n } else {\r\n createClinicianMileageCap(auth, { ClinicianMileageCaps: updatedMileageCaps }, () =>\r\n setState({ ...state, mileageCapList: {}, forceReload: !state.forceReload }),\r\n );\r\n }\r\n }\r\n },\r\n});\r\n","/* eslint-disable no-case-declarations */\r\n/* eslint-disable default-case */\r\n/* eslint-disable react/react-in-jsx-scope */\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Typography } from '@material-ui/core';\r\nimport CustomToolbar from '../../common/CustomToolbar/CustomToolbar';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport _ from '../../../utils/lodash';\r\n\r\nconst locale = globals.getAreas(['mileageCap', 'error']);\r\nconst mapPropName = (columnName, isEntityToDto = false) => {\r\n const entityNames = ['Forename', 'Surname', 'StaffNumber'];\r\n const dtoNames = ['firstName', 'lastName', 'staffNumber'];\r\n\r\n if (isEntityToDto) {\r\n const index = _.indexOf(entityNames, columnName);\r\n return dtoNames[index];\r\n }\r\n\r\n const index = _.indexOf(dtoNames, columnName);\r\n return entityNames[index];\r\n};\r\n\r\nconst setSortDirection = (columnDtoName, options) => {\r\n const entityName = mapPropName(columnDtoName, false);\r\n\r\n return entityName === options.sortColumn ? options.sortDirection : 'none';\r\n};\r\n\r\nexport const tableSettings = options => ({\r\n name: Mileage Cap,\r\n columns: [\r\n {\r\n name: 'id',\r\n label: 'Id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'clinicianId',\r\n label: 'ClinicianId',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'firstName',\r\n label: locale.getMsg('forename'),\r\n options: {\r\n sortOrder: {\r\n name: 'firstName',\r\n direction: setSortDirection('firstName', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'lastName',\r\n label: locale.getMsg('surname'),\r\n options: {\r\n sortOrder: {\r\n name: 'lastName',\r\n direction: setSortDirection('lastName', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'staffNumber',\r\n label: locale.getMsg('staffNumber'),\r\n options: {\r\n sortOrder: {\r\n name: 'staffNumber',\r\n direction: setSortDirection('staffNumber', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'postCode',\r\n label: locale.getMsg('baseLocation'),\r\n options: {\r\n sort: false,\r\n },\r\n },\r\n {\r\n name: 'mileageCap',\r\n label: locale.getMsg('defaultMileageCap'),\r\n options: {\r\n sort: false,\r\n customBodyRender: (value, tableMeta) => {\r\n let mileageCapValue = value;\r\n const clinicianId = tableMeta.rowData[1];\r\n if (clinicianId in options.mileageCapList) {\r\n mileageCapValue = options.mileageCapList[clinicianId].mileageCap;\r\n }\r\n\r\n return (\r\n \r\n options.eventHandlers.updateMileageCapValue({\r\n id: tableMeta.rowData[0],\r\n clinicianId,\r\n oldMileageCap: value,\r\n mileageCap: e.target.value,\r\n })\r\n }\r\n />\r\n );\r\n },\r\n },\r\n },\r\n {\r\n name: 'createdOn',\r\n label: locale.getMsg('lastUpdated'),\r\n options: {\r\n sort: false,\r\n empty: true,\r\n customBodyRender: value => (value ? moment(value).format(globals.dateFormats.short) : '-'),\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n print: true,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n customToolbar: () => (\r\n \r\n ),\r\n onTableChange: (action, tableState) => {\r\n switch (action) {\r\n case 'changePage':\r\n case 'changeRowsPerPage':\r\n options.eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n break;\r\n case 'sort':\r\n let sortColumn = '';\r\n let sortDirection = '';\r\n\r\n if (tableState.activeColumn > -1) {\r\n sortColumn = mapPropName(tableState.sortOrder.name);\r\n sortDirection = tableState.sortOrder.direction;\r\n options.eventHandlers.updateTableSort(sortColumn, sortDirection);\r\n }\r\n break;\r\n }\r\n },\r\n },\r\n});\r\n","import React, { useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\n\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\nimport { tableSettings } from './npatTableSettings';\r\nimport { eventHandlers } from './npatHandler';\r\nimport { useFetchNonPatientActivityTypes } from '../../../actions/areas/admin/fetchHooks';\r\nimport NonPatientActivityTypeCreate from './NonPatientActivityTypeCreate';\r\nimport NonPatientActivityTypeEdit from './NonPatientActivityTypeEdit';\r\n\r\nexport default function NPActivityTypesPage() {\r\n document.title = 'Non-Patient Activity Types';\r\n\r\n const [state, setState] = useState({\r\n forceReload: false,\r\n showCreatePanel: false,\r\n showEditPanel: false,\r\n selectedActivity: null,\r\n });\r\n const { data, isDataLoading, auth, isTableDataLoading } = useFetchNonPatientActivityTypes(state.forceReload);\r\n const npatEvents = eventHandlers(state, setState, auth);\r\n\r\n if (isDataLoading)\r\n return (\r\n \r\n Wait a moment while we gather NonPatient Activity Types info...\r\n \r\n );\r\n\r\n const settings = tableSettings({ eventHandlers: npatEvents, isTableDataLoading });\r\n\r\n return (\r\n
\r\n \r\n {state.showCreatePanel && }\r\n {state.showEditPanel && }\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport Box from '@material-ui/core/Box';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\n\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst activitiesLocale = globals.getAreas(['nonPatientActivityTypes', 'error']);\r\n\r\nexport default function NonPatientActivityTypeCreate({ eventHandlers }) {\r\n const [state, setState] = useState({ canSubmit: false, name: '', errorMsg: '' });\r\n\r\n const headerRender = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n
{activitiesLocale.getMsg(`createTitle`)}
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n const isNameValid = name => {\r\n const errorMsg = activitiesLocale.getMsg('validationMaxLength', ['50']);\r\n\r\n if (name.length > 50) {\r\n setState({ ...state, name, errorMsg, canSubmit: false });\r\n } else {\r\n setState({\r\n ...state,\r\n name,\r\n canSubmit: name.length > 0,\r\n errorMsg: '',\r\n });\r\n }\r\n };\r\n\r\n const save = () => {\r\n if (state.canSubmit) {\r\n eventHandlers.submitAction({ name: state.name });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {}} onClose={() => {}}>\r\n
\r\n {headerRender()}\r\n\r\n
\r\n
\r\n 0}\r\n helperText={state.errorMsg}\r\n placeholder={'Enter name'}\r\n onChange={e => isNameValid(e.target.value)}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Back\r\n \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 React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Box from '@material-ui/core/Box';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\n\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst activitiesLocale = globals.getAreas(['nonPatientActivityTypes', 'error']);\r\n\r\nexport default function NonPatientActivityTypeEdit({ model, eventHandlers }) {\r\n const [state, setState] = useState({ canSubmit: false, name: model.name, errorMsg: '' });\r\n\r\n const headerRender = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n
{activitiesLocale.getMsg(`editTitle`)}
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n const isNameValid = name => {\r\n const errorMsg = activitiesLocale.getMsg('validationMaxLength', ['50']);\r\n\r\n if (name.length > 50) {\r\n setState({ ...state, name, errorMsg, canSubmit: false });\r\n } else {\r\n setState({\r\n ...state,\r\n name,\r\n canSubmit: name.length > 0,\r\n errorMsg: '',\r\n });\r\n }\r\n };\r\n\r\n const save = () => {\r\n if (state.canSubmit) {\r\n eventHandlers.submitAction({ Id: model.id, Name: state.name });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {}} onClose={() => {}}>\r\n
\r\n {headerRender()}\r\n\r\n
\r\n
\r\n 0}\r\n helperText={state.errorMsg}\r\n placeholder={'Enter name'}\r\n onChange={e => isNameValid(e.target.value)}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Back\r\n \r\n
\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 React from 'react';\r\n// import PropTypes from 'prop-types';\r\n\r\n// import DefaultPageWraper from '../../../containers/PageStructure/DefaultPageWrapper/DefaultPageWrapperContainer';\r\n// import Spinner from '../../../components/common/Spinner/Spinner';\r\n\r\n// import NonPatientActivityTypeForm, { actionTypes } from './../NonPatientActivityTypes/NonPatientActivityTypeForm';\r\n// import { ActivityTypePropType } from '../../../propTypes/entities/activityType';\r\n\r\n// class NonPatientActivityTypeEdit extends React.Component {\r\n// componentDidMount() {\r\n// this.props.getActivityType(this.props.match.params.id);\r\n// }\r\n// render() {\r\n// const { submitAction, activityType, pageTitle, navigate } = this.props;\r\n\r\n// return (\r\n// \r\n// {this.props.isFetching || !this.props.activityType ? (\r\n// \r\n// ) : (\r\n// \r\n// )}\r\n// \r\n// );\r\n// }\r\n// }\r\n\r\n// NonPatientActivityTypeEdit.defaultProps = {\r\n// activityType: null,\r\n// };\r\n\r\n// NonPatientActivityTypeEdit.propTypes = {\r\n// pageTitle: PropTypes.string.isRequired,\r\n// activityType: ActivityTypePropType,\r\n// isFetching: PropTypes.bool.isRequired,\r\n// match: PropTypes.shape({\r\n// params: PropTypes.shape({\r\n// id: PropTypes.number.isRequired,\r\n// }),\r\n// }).isRequired,\r\n// getActivityType: PropTypes.func.isRequired,\r\n// submitAction: PropTypes.func.isRequired,\r\n// navigate: PropTypes.func.isRequired,\r\n// };\r\n\r\n// export default NonPatientActivityTypeEdit;\r\n","import { createOrEditNonPatientActivityType } from '../../../actions/areas/admin/commandActions';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getAreas(['nonPatientActivityTypes', 'error']);\r\n\r\nexport const eventHandlers = (state, setState, auth) => ({\r\n refreshTable: () => setState({ ...state, forceReload: !state.forceReload }),\r\n handleSidePanel: show => setState({ ...state, showCreatePanel: show }),\r\n setSelectedModel: selectedActivity => setState({ ...state, selectedActivity, showEditPanel: true }),\r\n submitAction: model => {\r\n const callback = () =>\r\n setState({ ...state, forceReload: !state.forceReload, showCreatePanel: false, showEditPanel: false });\r\n createOrEditNonPatientActivityType(auth, model, callback);\r\n },\r\n closePanels: () => setState({ ...state, showCreatePanel: false, showEditPanel: false }),\r\n locale,\r\n addButtonText: locale.getMsg('addButtonText'),\r\n});\r\n","import React from 'react';\r\nimport { Typography } from '@material-ui/core';\r\nimport CustomToolbar from '../../common/CustomToolbar/CustomToolbar';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getAreas(['nonPatientActivityTypes', 'error']);\r\n\r\nexport const tableSettings = options => ({\r\n name: NonPatient Activity Type,\r\n columns: [\r\n {\r\n name: 'id',\r\n label: 'Id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'name',\r\n label: locale.getMsg('name'),\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: 15,\r\n print: false,\r\n search: true,\r\n download: false,\r\n filter: false,\r\n viewColumns: false,\r\n customToolbar: () => (\r\n \r\n ),\r\n onRowClick: rowData => options.eventHandlers.setSelectedModel({ id: rowData[0], name: rowData[1] }),\r\n },\r\n});\r\n","import React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Box from '@material-ui/core/Box';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst errorMessages = globals.getAreas(['error']);\r\n\r\nconst obsoletionReasons = {\r\n 0: 'Cancellation',\r\n 1: 'Rescheduled',\r\n 2: 'Not Done',\r\n};\r\n\r\nexport default function CreateReason({ reasonType, events }) {\r\n const [state, setState] = useState({ reasonName: '', canSave: false, errorMsg: '' });\r\n\r\n const isNameValid = reasonName => {\r\n const name = reasonName.trim();\r\n\r\n const isInvalid = name.length > 100;\r\n const errorMsg = isInvalid ? errorMessages.getMsg('validationMaxLength', ['100']) : '';\r\n\r\n setState({\r\n ...state,\r\n reasonName: name,\r\n canSave: name.length > 0 && name.length <= 100,\r\n errorMsg,\r\n });\r\n };\r\n\r\n return (\r\n
\r\n {}} onClose={() => {}}>\r\n
\r\n
\r\n
\r\n \r\n \r\n Create {obsoletionReasons[reasonType]} Reason\r\n \r\n \r\n events.handleSidePanel(false)}>\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n Reason Name\r\n \r\n 0}\r\n helperText={state.errorMsg}\r\n onChange={e => isNameValid(e.target.value)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n events.handleSidePanel(false)}\r\n style={{ marginRight: '10px' }}\r\n >\r\n Back\r\n \r\n
\r\n
\r\n events.createReason(state.reasonName, reasonType)}\r\n >\r\n Create\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\n\r\nimport CreateReason from './CreateReason';\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\n\r\nimport { useFetchReasons } from '../../../actions/areas/admin/fetchHooks';\r\nimport { tableSettings } from './reasonTableSettings';\r\nimport { eventHandlers } from './reasonHandler';\r\n\r\nexport default function ReasonContent({ reasonType }) {\r\n const initialState = {\r\n forceReload: false,\r\n openAddReasonPanel: false,\r\n currentPage: 1,\r\n pageSize: 10,\r\n };\r\n const [state, setState] = useState(initialState);\r\n\r\n useEffect(() => {\r\n setState(initialState);\r\n }, [reasonType]);\r\n\r\n const model = {\r\n currentPage: state.currentPage,\r\n pageSize: state.pageSize,\r\n reasonType,\r\n };\r\n const { data, isDataLoading, auth, isTableDataLoading } = useFetchReasons(model, state.forceReload);\r\n\r\n const events = eventHandlers(state, setState, auth);\r\n const settings = tableSettings({\r\n reasonType,\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n eventHandlers: events,\r\n isTableDataLoading,\r\n });\r\n\r\n if (isDataLoading)\r\n return Wait a moment while we gather reason list info...;\r\n\r\n return (\r\n
\r\n \r\n {state.openAddReasonPanel && }\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Box } from '@material-ui/core';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\n\r\nimport { DropdownFilter } from '../../Planner/Filters/DropdownFilter';\r\nimport ReasonContent from './ReasonContent';\r\n\r\nexport default function ReasonsPage() {\r\n document.title = 'Reasons';\r\n\r\n const [state, setState] = useState({\r\n options: [\r\n { id: 0, name: 'Cancellation Reasons' },\r\n { id: 1, name: 'Rescheduled Reasons' },\r\n { id: 2, name: 'Not Done Reasons' },\r\n { id: 3, name: 'Edit Treatment Reasons' },\r\n ],\r\n selectedReasonType: 0,\r\n });\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Reason Type\r\n \r\n \r\n setState({ ...state, selectedReasonType: value })}\r\n />\r\n \r\n \r\n
\r\n \r\n
\r\n );\r\n}\r\n","import globals from '../../../globals/communityGlobals';\r\nimport { updateReasonStatus, createReason } from '../../../actions/areas/admin/commandActions';\r\n\r\nconst locale = globals.getAreas(['cancellationReasons', 'reasons', 'error']);\r\n\r\nexport const eventHandlers = (state, setState, auth) => {\r\n const refreshTable = () => setState(newState => ({ ...newState, forceReload: !state.forceReload }));\r\n const handleSidePanel = isOpen => setState(newState => ({ ...newState, openAddReasonPanel: isOpen }));\r\n const updateTableProps = (currentPage, pageSize) => setState({ ...state, currentPage, pageSize });\r\n\r\n return {\r\n locale,\r\n addButtonText: locale.getMsg('addButtonText'),\r\n refreshTable,\r\n handleSidePanel,\r\n updateReasonStatus: (reasonId, isActive) => updateReasonStatus(auth, { reasonId, isActive }, refreshTable),\r\n createReason: (name, reasonType) => {\r\n handleSidePanel(false);\r\n createReason(auth, { name, reasonType }, refreshTable);\r\n },\r\n updateTableProps,\r\n };\r\n};\r\n","import React from 'react';\r\nimport { Typography } from '@material-ui/core';\r\nimport Switch from '@material-ui/core/Switch';\r\n\r\nimport CustomToolbar from '../../common/CustomToolbar/CustomToolbar';\r\n\r\nexport const tableSettings = options => {\r\n const eventHandlers = options.eventHandlers;\r\n const locale = eventHandlers.locale;\r\n\r\n return {\r\n name: {locale.getMsg(`tableNameHeader${options.reasonType}`)},\r\n columns: [\r\n {\r\n name: 'id',\r\n label: 'Id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'name',\r\n label: locale.getMsg('reasonNameTableHeader'),\r\n },\r\n {\r\n name: 'isActive',\r\n label: locale.getMsg('reasonActiveTableHeader'),\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({\r\n className: 'no-padding-cell',\r\n style: { width: '400px' },\r\n }),\r\n customBodyRender: (value, tableMeta) => {\r\n const id = tableMeta.rowData[0];\r\n return (\r\n {\r\n eventHandlers.updateReasonStatus(id, e.target.checked);\r\n }}\r\n color=\"primary\"\r\n name=\"checkedB\"\r\n inputProps={{ 'aria-label': 'primary checkbox' }}\r\n />\r\n );\r\n },\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 10, 20, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n print: true,\r\n search: true,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n customToolbar: () => (\r\n \r\n ),\r\n onTableChange: (action, tableState) => {\r\n if (action === 'changePage' || action === 'changeRowsPerPage') {\r\n eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n }\r\n },\r\n },\r\n };\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Box } from '@material-ui/core';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport { DropdownFilter } from '../../Planner/Filters/DropdownFilter';\r\n\r\nimport ReferralPriorities from '../../../containers/Admin/ReferralPriorities/ReferralPrioritiesContainer';\r\nimport ReferralSources from '../../../containers/Admin/ReferralSourcesContainer/ReferralSourcesContainer';\r\nimport ReferralServices from '../../../containers/Admin/ReferralServices/ReferralServicesContainer';\r\n\r\nexport default function ReferralConfigPage() {\r\n const [state, setState] = useState({\r\n options: [{ id: 0, name: 'Services' }, { id: 1, name: 'Sources' }, { id: 2, name: 'Priorities' }],\r\n selectedType: 0,\r\n });\r\n\r\n const renderContentByType = () => {\r\n switch (state.selectedType) {\r\n case 0:\r\n return ;\r\n case 1:\r\n return ;\r\n case 2:\r\n return ;\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Configure Referral\r\n \r\n \r\n setState({ ...state, selectedType: value })}\r\n />\r\n \r\n \r\n
\r\n {renderContentByType()}\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextField from 'material-ui/TextField';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport Toggle from 'material-ui/Toggle';\r\nimport { doubleActionPrevent } from '../../../utils/helpers';\r\nimport Table from '../../../containers/common/tables/tableContainer';\r\nimport { referralPrioritesEndPoint } from '../../../settings/constants';\r\nimport { common, toggleGrey } from '../../../theme/AllocateBaseTheme';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport DefaultPageWrapper from '../../../containers/PageStructure/DefaultPageWrapper/DefaultPageWrapperContainer';\r\n\r\nconst locale = globals.getAreas(['referralPriorities', 'error', 'pageTitles']);\r\nconst maxNameLength = 50;\r\n\r\nclass ReferralPrioritesForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n reloadData: false,\r\n referralPriorityName: '',\r\n errorMessage: '',\r\n };\r\n }\r\n\r\n handleAddClick = doubleActionPrevent.bind(this)(\r\n 'Add',\r\n async () => {\r\n await this.props.createReferralPriority({ name: this.state.referralPriorityName });\r\n },\r\n () => {\r\n this.setState({\r\n referralPriorityName: '',\r\n reloadData: !this.state.reloadData,\r\n });\r\n },\r\n );\r\n\r\n handleUpdateStatus = referralPriorityId => (event, isInputChecked) => {\r\n this.props.updateReferralPriority({\r\n referralPriorityId,\r\n isActive: isInputChecked,\r\n });\r\n };\r\n\r\n updateReferralPriorityNameNameValue = (event, value) => {\r\n const stateUpdate = { errorMessage: '' };\r\n if (value.length > maxNameLength) {\r\n stateUpdate.errorMessage = locale.getMsg('validationMaxLength', [maxNameLength.toString()]);\r\n } else {\r\n stateUpdate.referralPriorityName = value;\r\n }\r\n this.setState(stateUpdate);\r\n };\r\n\r\n render() {\r\n const columns = [\r\n {\r\n Header: locale.getMsg('tableNameHeader'),\r\n accessor: 'name',\r\n },\r\n {\r\n Header: '',\r\n id: 'isActive',\r\n accessor: row => (\r\n
\r\n \r\n \r\n \r\n
\r\n ),\r\n },\r\n ];\r\n\r\n const { errorMessage, referralPriorityName } = this.state;\r\n return (\r\n \r\n \r\n \r\n {locale.getMsg('referralPrioritiesInputLabelText')}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nReferralPrioritesForm.propTypes = {\r\n createReferralPriority: PropTypes.func.isRequired,\r\n updateReferralPriority: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default ReferralPrioritesForm;\r\n","import React from 'react';\r\nimport moment from 'moment';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport PropTypes from 'prop-types';\r\nimport Formsy from 'formsy-react';\r\nimport { FormsyDate, FormsyText } from 'formsy-material-ui/lib';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { refSetter } from '../../../utils/helpers';\r\n\r\nimport { textFieldStyle, multiLineText } from '../../../theme/AllocateBaseTheme';\r\n\r\nconst servicesLocale = globals.getArea('referralServices');\r\nconst errorsLocale = globals.getArea('error');\r\n\r\nexport const actionTypes = {\r\n create: 'CREATE',\r\n edit: 'EDIT',\r\n};\r\n\r\nclass AddEditServiceForm extends React.Component {\r\n state = {\r\n canSubmit: false,\r\n };\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n setEndDate = (endDate, maxDate) => {\r\n if (endDate) {\r\n return !moment(endDate).isSame(moment(maxDate), 'day') ? new Date(moment(endDate)) : undefined;\r\n }\r\n return undefined;\r\n };\r\n\r\n enableButton = () => {\r\n this.setState({\r\n canSubmit: true,\r\n });\r\n };\r\n\r\n disableButton = () => {\r\n this.setState({\r\n canSubmit: false,\r\n });\r\n };\r\n\r\n save = model => {\r\n const { submitAction, actionType } = this.props;\r\n if (actionType === actionTypes.create) {\r\n submitAction(model).then(() => this.form.reset());\r\n } else {\r\n submitAction(model);\r\n }\r\n };\r\n\r\n render() {\r\n const { actionType, name, serviceId, endDate } = this.props;\r\n\r\n const errorMessages = {\r\n maxLength: errorsLocale.getMsg('validationMaxLength', ['60']),\r\n };\r\n\r\n const isCreate = actionType === actionTypes.create;\r\n\r\n return (\r\n
\r\n \r\n \r\n {servicesLocale.getMsg(`${isCreate ? 'create' : 'edit'}Title`)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nAddEditServiceForm.defaultProps = {\r\n name: '',\r\n serviceId: '',\r\n endDate: '',\r\n actionType: '',\r\n};\r\n\r\nAddEditServiceForm.propTypes = {\r\n name: PropTypes.string,\r\n serviceId: PropTypes.string,\r\n endDate: PropTypes.Date,\r\n actionType: PropTypes.string,\r\n submitAction: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default AddEditServiceForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport Toggle from 'material-ui/Toggle';\r\nimport { Box, DialogContent, DialogContentText, DialogActions, Button } from '@material-ui/core';\r\nimport Dialog from 'material-ui/Dialog';\r\nimport TextField from 'material-ui/TextField';\r\nimport debounce from 'lodash.debounce';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport Table from '../../../containers/common/tables/tableContainer';\r\nimport { referralServicesEndPoint } from '../../../settings/constants';\r\nimport { toggleGrey, textFieldStyle } from '../../../theme/AllocateBaseTheme';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport DefaultPageWrapper from '../../../containers/PageStructure/DefaultPageWrapper/DefaultPageWrapperContainer';\r\nimport AddEditServiceForm from './AddEditServiceForm';\r\nimport AlertBox from '../../../components/common/AlertBox/AlertBox';\r\n\r\nexport const actionTypes = {\r\n create: 'CREATE',\r\n edit: 'EDIT',\r\n};\r\nconst locale = globals.getAreas(['referralServices', 'error', 'pageTitles']);\r\nconst maxNameLength = 50;\r\n\r\nclass ReferralServicesForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n reloadData: false,\r\n referralDetails: null,\r\n searchRefService: '',\r\n callbackModel: {\r\n funcName: '',\r\n funcParams: null,\r\n },\r\n openDialog: false,\r\n };\r\n\r\n this.setRef = refSetter.bind(this);\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.dismissError();\r\n }\r\n\r\n onChangeDebounced = debounce(value => {\r\n this.setState({\r\n callbackModel: {\r\n funcName: 'updateParamsAndGetData',\r\n funcParams: {\r\n referralServiceNameOrID: value,\r\n },\r\n },\r\n });\r\n }, 500);\r\n\r\n updateReferral = (referralModel, callback) => this.props.updateReferralService(referralModel).then(callback);\r\n\r\n handleUpdateStatus = row => (event, isInputChecked) => {\r\n const referralModel = {\r\n id: row.id,\r\n name: row.name,\r\n isActive: isInputChecked,\r\n serviceId: row.serviceId,\r\n gradeUpgradeAllowed: row.gradeUpgradeAllowed,\r\n endDate: globals.now.subtract(1, 'd').toDate(),\r\n };\r\n const callback = () => {\r\n this.setState({ reloadData: !this.state.reloadData });\r\n if (this.state.referralDetails && this.state.referralDetails.id === row.id) {\r\n this.setState({\r\n referralDetails: {\r\n ...this.state.referralDetails,\r\n isActive: isInputChecked,\r\n },\r\n });\r\n }\r\n };\r\n\r\n this.updateReferral(referralModel, callback);\r\n };\r\n\r\n handleUpdateGradeUpgradeAllowed = row => (event, isInputChecked) => {\r\n const referralModel = {\r\n id: row.id,\r\n name: row.name,\r\n isActive: row.isActive,\r\n serviceId: row.serviceId,\r\n gradeUpgradeAllowed: isInputChecked,\r\n endDate: moment(row.endDate).format(globals.dateFormats.date),\r\n };\r\n const callback = () => {\r\n this.setState({ reloadData: !this.state.reloadData });\r\n\r\n if (this.state.referralDetails && this.state.referralDetails.id === row.id) {\r\n this.setState({\r\n referralDetails: {\r\n ...this.state.referralDetails,\r\n gradeUpgradeAllowed: isInputChecked,\r\n },\r\n });\r\n }\r\n };\r\n\r\n this.updateReferral(referralModel, callback);\r\n };\r\n\r\n updateReferralServiceNameValue = (event, value) => {\r\n const stateUpdate = { errorMessage: '' };\r\n if (value.length > maxNameLength) {\r\n stateUpdate.errorMessage = locale.getMsg('validationMaxLength', [maxNameLength.toString()]);\r\n } else {\r\n stateUpdate.referralServiceName = value;\r\n }\r\n this.setState(stateUpdate);\r\n };\r\n\r\n handleClick = rowInfo => {\r\n this.setState({\r\n referralDetails: {\r\n ...this.state.referralDetails,\r\n ...rowInfo.original,\r\n },\r\n });\r\n };\r\n\r\n handleAdd = data => {\r\n return this.props\r\n .createReferralService({\r\n ...data,\r\n })\r\n .then(() => this.setState({ reloadData: !this.state.reloadData }));\r\n };\r\n\r\n handleEdit = (data, id, isActive, gradeUpgradeAllowed) => {\r\n this.props\r\n .validateReferralService({\r\n ...data,\r\n })\r\n .then(response => {\r\n if (response.response.data.hasFutureAssignedTreatmentInstances) {\r\n this.setState({ openDialog: true });\r\n } else {\r\n this.props\r\n .updateReferralService({\r\n ...data,\r\n id,\r\n isActive,\r\n gradeUpgradeAllowed,\r\n })\r\n .then(() => this.setState({ referralDetails: null, reloadData: !this.state.reloadData }));\r\n }\r\n });\r\n };\r\n\r\n handleSearchInput = (event, value) => {\r\n this.setState({\r\n searchRefService: value,\r\n });\r\n\r\n this.onChangeDebounced(value);\r\n };\r\n\r\n handleSearchInput = (event, value) => {\r\n this.setState({\r\n searchRefService: value,\r\n });\r\n\r\n this.onChangeDebounced(value);\r\n };\r\n\r\n handleDialogClose = () => {\r\n this.setState({ openDialog: false });\r\n };\r\n\r\n render() {\r\n const columns = [\r\n {\r\n Header: locale.getMsg('name'),\r\n accessor: 'name',\r\n },\r\n {\r\n Header: locale.getMsg('serviceId'),\r\n accessor: 'serviceId',\r\n },\r\n {\r\n Header: locale.getMsg('status'),\r\n id: 'isActive',\r\n accessor: row => (\r\n
\r\n \r\n \r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: locale.getMsg('gradeUpgradeAllowed'),\r\n id: 'gradeUpgradeAllowed',\r\n accessor: row => (\r\n
\r\n \r\n \r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: 'End Date',\r\n id: 'endDate',\r\n accessor: row => (\r\n
\r\n {moment(row.endDate).format(globals.dateFormats.date)}\r\n
\r\n ),\r\n },\r\n ];\r\n\r\n const { failureMessage, dismissError } = this.props;\r\n const { referralDetails, searchRefService, openDialog } = this.state;\r\n return (\r\n \r\n \r\n \r\n \r\n All scheduled visits need to be cancelled before you can set the service end date. Please proceed to\r\n assign another Referral Service.\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.setState({ callbackModel: { funcName: '', funcParams: null } })}\r\n columns={columns}\r\n endpoint={referralServicesEndPoint}\r\n responseObjectName=\"options\"\r\n reduxIdentifier=\"referralServices\"\r\n rowOnClick={this.handleClick}\r\n initialSearchParams={{\r\n pageNumber: 1,\r\n pageSize: 5,\r\n referralServiceNameOrID: null,\r\n sortColumn: 'Name',\r\n sortDirection: 'asc',\r\n }}\r\n />\r\n
\r\n
\r\n \r\n this.handleAdd(data)}\r\n />\r\n \r\n
\r\n\r\n \r\n {referralDetails && referralDetails.isActive ? (\r\n \r\n this.handleEdit(\r\n data,\r\n referralDetails.id,\r\n referralDetails.isActive,\r\n referralDetails.gradeUpgradeAllowed,\r\n )\r\n }\r\n />\r\n ) : null}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nReferralServicesForm.propTypes = {\r\n createReferralService: PropTypes.func.isRequired,\r\n updateReferralService: PropTypes.func.isRequired,\r\n dismissError: PropTypes.func.isRequired,\r\n failureMessage: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default ReferralServicesForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextField from 'material-ui/TextField';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport Toggle from 'material-ui/Toggle';\r\nimport { doubleActionPrevent } from '../../../utils/helpers';\r\nimport Table from '../../../containers/common/tables/tableContainer';\r\nimport { referralSourcesEndPoint } from '../../../settings/constants';\r\nimport { common, toggleGrey } from '../../../theme/AllocateBaseTheme';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport DefaultPageWrapper from '../../../containers/PageStructure/DefaultPageWrapper/DefaultPageWrapperContainer';\r\n\r\nconst locale = globals.getAreas(['referralSources', 'error', 'pageTitles']);\r\nconst maxNameLength = 50;\r\n\r\nclass ReferralSourcesForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n reloadData: false,\r\n referraSourceName: '',\r\n errorMessage: '',\r\n };\r\n }\r\n\r\n handleAddClick = doubleActionPrevent.bind(this)(\r\n 'Add',\r\n async () => {\r\n await this.props.createReferralSource({ name: this.state.referralSourceName });\r\n },\r\n () => {\r\n this.setState({\r\n referralSourceName: '',\r\n reloadData: !this.state.reloadData,\r\n });\r\n },\r\n );\r\n\r\n handleUpdateStatus = referralSourceId => (event, isInputChecked) => {\r\n this.props.updateReferralSource({\r\n referralSourceId,\r\n isActive: isInputChecked,\r\n });\r\n };\r\n\r\n updateReferralSourceNameValue = (event, value) => {\r\n const stateUpdate = { errorMessage: '' };\r\n if (value.length > maxNameLength) {\r\n stateUpdate.errorMessage = locale.getMsg('validationMaxLength', [maxNameLength.toString()]);\r\n } else {\r\n stateUpdate.referralSourceName = value;\r\n }\r\n this.setState(stateUpdate);\r\n };\r\n\r\n render() {\r\n const columns = [\r\n {\r\n Header: locale.getMsg('tableNameHeader'),\r\n accessor: 'name',\r\n },\r\n {\r\n Header: '',\r\n id: 'isActive',\r\n accessor: row => (\r\n
\r\n \r\n \r\n \r\n
\r\n ),\r\n },\r\n ];\r\n\r\n const { errorMessage, referralSourceName } = this.state;\r\n return (\r\n \r\n \r\n \r\n {locale.getMsg('referralSourcesInputLabelText')}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nReferralSourcesForm.propTypes = {\r\n createReferralSource: PropTypes.func.isRequired,\r\n updateReferralSource: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default ReferralSourcesForm;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport Formsy from 'formsy-react';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport { Box, Typography } from '@material-ui/core';\r\nimport LinearProgress from 'material-ui/LinearProgress';\r\nimport Snackbar from 'material-ui/Snackbar';\r\nimport Spinner from '../../common/Spinner/Spinner';\r\nimport { raisedButtonStyle } from '../../../theme/AllocateBaseTheme';\r\nimport _ from '../../../utils/lodash';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { doubleActionPrevent } from '../../../utils/helpers';\r\nimport KeyboardDateSelector from '../../common/KeyboardDateTimeSelectors/KeyboardDateSelector';\r\nimport { isDateFromBeforeDateTo, isValidDate } from '../../../utils/dates';\r\n\r\nconst locale = globals.getArea('admin');\r\nconst errors = globals.getArea('error');\r\n\r\nconst idleStatus = 'Idle';\r\nconst pendingExecutionStatus = 'PendingExecution';\r\nconst newSynchronisation = 'New';\r\n\r\nconst datesToFormat = [\r\n 'LastFullSynchronizationStart',\r\n 'LastFullSynchronizationCompleted',\r\n 'HeartBeat',\r\n 'LastProcessedChangesetDate',\r\n];\r\n\r\nclass SettingsNSync extends PureComponent {\r\n state = {\r\n open: false,\r\n dateFrom: null,\r\n dateTo: null,\r\n };\r\n componentDidMount() {\r\n this.props.getSysInfo();\r\n this.props.getSyncDetails();\r\n this.startUpdates(5000);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const { SynchronizationStatus: currentStatus } = this.props.syncDetails || {};\r\n const { SynchronizationStatus: nextStatus } = nextProps.syncDetails || {};\r\n if (currentStatus && nextStatus && currentStatus !== nextStatus && nextStatus === idleStatus) {\r\n this.startUpdates(5000);\r\n this.setState({ open: true });\r\n // this.props.table.getData();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.intervalId);\r\n }\r\n\r\n startUpdates = interval => {\r\n if (this.intervalId) {\r\n clearInterval(this.intervalId);\r\n }\r\n this.intervalId = setInterval(this.periodicUpdate, interval);\r\n };\r\n\r\n periodicUpdate = () => {\r\n const { getSyncDetails, isSyncDetailsFetching } = this.props;\r\n if (!isSyncDetailsFetching) {\r\n getSyncDetails();\r\n }\r\n };\r\n\r\n handleSynchronize = doubleActionPrevent.bind(this)('Synchronize', async model => {\r\n const formattedDateFrom = model.from ? moment(model.from).format(globals.dateFormats.localApiFormat) : null;\r\n const formattedDateTo = model.to ? moment(model.to).format(globals.dateFormats.localApiFormat) : null;\r\n this.startUpdates(750);\r\n this.props.handleSynchronize(formattedDateFrom, formattedDateTo);\r\n });\r\n\r\n handleRequestClose = () => this.setState({ open: false });\r\n\r\n canSynchronize = () => {\r\n const { canTriggerSync, syncDetails } = this.props;\r\n const { open, dateFrom, dateTo } = this.state;\r\n\r\n return (\r\n canTriggerSync &&\r\n !open &&\r\n syncDetails &&\r\n syncDetails.SynchronizationStatus === idleStatus &&\r\n isValidDate(dateFrom, true) &&\r\n isValidDate(dateTo, true) &&\r\n isDateFromBeforeDateTo(dateFrom, dateTo, true)\r\n );\r\n };\r\n\r\n printDate = date => (date ? moment(date).format(globals.dateFormats.shortWithLongTime) : date);\r\n\r\n generateKeyValueRows = (object, identifier) => {\r\n const objectEntries = _.entries(object).sort((a, b) => {\r\n if (a[0] < b[0]) return -1;\r\n if (a[0] > b[0]) return 1;\r\n return 0;\r\n });\r\n return objectEntries.map(keyPair => (\r\n \r\n {keyPair[0]}\r\n {datesToFormat.includes(keyPair[0]) ? this.printDate(keyPair[1]) : keyPair[1]}\r\n \r\n ));\r\n };\r\n\r\n generateKeyValueTable = (object, identifier) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.generateKeyValueRows(object, identifier)}\r\n
{locale.getMsg('field')}{locale.getMsg('value')}
\r\n
\r\n
\r\n );\r\n\r\n render() {\r\n const { sysInfo, syncDetails, isSysInfoFetching } = this.props;\r\n const {\r\n SynchronizationProgress: synchronizationProgress,\r\n SynchronizationStatus: synchronizationStatus,\r\n ...restOfSyncDetails\r\n } = syncDetails || {};\r\n const isNewSynch = !!sysInfo && sysInfo.SyncMode === newSynchronisation;\r\n const syncProgressText = () =>\r\n restOfSyncDetails.SynchronizationStepInProgress\r\n ? locale.getMsg(restOfSyncDetails.SynchronizationStepInProgress.replace(/^\\w/, c => c.toLowerCase()))\r\n : '';\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {locale.getMsg('systemSettings')}\r\n \r\n \r\n {isSysInfoFetching ? : this.generateKeyValueTable(sysInfo, 'systemSettingRow')}\r\n
\r\n

{locale.getMsg('synchronization')}

\r\n {!syncDetails ? (\r\n \r\n ) : (\r\n
\r\n {this.generateKeyValueTable(restOfSyncDetails, 'synchronizationDetailsRow')}\r\n
\r\n {synchronizationStatus !== idleStatus && (\r\n
\r\n
{locale.getMsg('synchronizationProgress')}
\r\n {!isNewSynch && (\r\n
\r\n
\r\n
\r\n \r\n
{`${\r\n synchronizationStatus !== pendingExecutionStatus ? synchronizationProgress : 0\r\n }%`}
\r\n
\r\n
\r\n
\r\n )}\r\n {isNewSynch &&

{syncProgressText}

}\r\n
\r\n )}\r\n
\r\n
\r\n )}\r\n \r\n
\r\n
\r\n
\r\n this.setState({ dateFrom: date })}\r\n />\r\n
\r\n
\r\n this.setState({ dateTo: date })}\r\n minDate={this.state.dateFrom}\r\n minDateMessage={errors.getMsg('cannotBeEarlier', [locale.getMsg('synchronizeFrom')])}\r\n />\r\n
\r\n
\r\n
\r\n {locale.getMsg('status')} {synchronizationStatus}\r\n
\r\n \r\n
\r\n
\r\n {this.state.errorMessage}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nSettingsNSync.defaultProps = {\r\n sysInfo: null,\r\n syncDetails: null,\r\n isSysInfoFetching: true,\r\n isSyncDetailsFetching: true,\r\n table: null,\r\n};\r\n\r\nSettingsNSync.propTypes = {\r\n getSysInfo: PropTypes.func.isRequired,\r\n getSyncDetails: PropTypes.func.isRequired,\r\n syncDetails: PropTypes.objectOf(PropTypes.string),\r\n sysInfo: PropTypes.objectOf(PropTypes.string),\r\n handleSynchronize: PropTypes.func.isRequired,\r\n isSysInfoFetching: PropTypes.bool,\r\n canTriggerSync: PropTypes.bool.isRequired,\r\n isSyncDetailsFetching: PropTypes.bool,\r\n};\r\n\r\nexport default SettingsNSync;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport { Box } from '@material-ui/core';\r\nimport Table from '../../../containers/common/tables/tableContainer';\r\nimport { synchronizationLogTable } from '../../../settings/constants/endpoints/tableEndpoints';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport KeyboardDateSelector from '../../common/KeyboardDateTimeSelectors/KeyboardDateSelector';\r\nimport { isValidDate } from '../../../utils/dates';\r\n\r\nconst locale = globals.getArea('admin');\r\n\r\nconst columns = [\r\n {\r\n Header: locale.getMsg('eventType'),\r\n accessor: 'eventType',\r\n },\r\n {\r\n Header: locale.getMsg('eventData'),\r\n accessor: 'eventData',\r\n },\r\n {\r\n Header: locale.getMsg('createdDate'),\r\n id: 'createdDate',\r\n accessor: row => moment(row.createdDate).format(globals.dateFormats.shortWithLongTime),\r\n },\r\n];\r\n\r\nclass SyncLog extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedDate: this.truncateDate(),\r\n callbackModel: {\r\n funcName: '',\r\n funcParams: null,\r\n },\r\n };\r\n }\r\n\r\n handleDateChange = date => {\r\n const selectedDate = date ? this.truncateDate(date) : '';\r\n\r\n this.setState({\r\n selectedDate,\r\n callbackModel: isValidDate(selectedDate)\r\n ? {\r\n funcName: 'updateParamsAndGetData',\r\n funcParams: {\r\n from: selectedDate ? selectedDate.format(globals.dateFormats.localApiFormat) : '',\r\n },\r\n }\r\n : {\r\n funcName: '',\r\n funcParams: {},\r\n },\r\n });\r\n };\r\n truncateDate = date => {\r\n const momentDate = date ? moment(date) : globals.now;\r\n return momentDate.startOf('day').utcOffset(0, true);\r\n };\r\n render() {\r\n const { selectedDate, callbackModel } = this.state;\r\n\r\n const shouldFetchData = selectedDate && isValidDate(selectedDate);\r\n\r\n return (\r\n
\r\n \r\n this.handleDateChange(date)}\r\n />\r\n \r\n\r\n this.setState({ callbackModel: { funcName: '', funcParams: null } })}\r\n reduxIdentifier=\"synchronizationLogs\"\r\n endpoint={synchronizationLogTable}\r\n columns={columns}\r\n style={{ padding: '8px' }}\r\n initialSearchParams={{\r\n from: shouldFetchData ? selectedDate.format(globals.dateFormats.localApiFormat) : '',\r\n pageNumber: 1,\r\n pageSize: 30,\r\n }}\r\n noDataText={locale.getMsg('synchronizationLogNoData')}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nSyncLog.propTypes = {\r\n setTableRef: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default SyncLog;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport LinearProgress from 'material-ui/LinearProgress';\r\n\r\nconst linearProgressStyle = { height: '6px', backgroundColor: '#bdbdbd' };\r\n\r\nclass AutoAllocateIndicator extends React.Component {\r\n componentWillUnmount() {\r\n this.props.refreshScheduler();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nAutoAllocateIndicator.defaultProps = {\r\n indeterminate: false,\r\n progress: 0,\r\n};\r\n\r\nAutoAllocateIndicator.propTypes = {\r\n refreshScheduler: PropTypes.func.isRequired,\r\n progress: PropTypes.number,\r\n indeterminate: PropTypes.bool,\r\n};\r\n\r\nexport default AutoAllocateIndicator;\r\n","import React from 'react';\r\nimport Popover from 'material-ui/Popover';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport IconButton from 'material-ui/IconButton';\r\n\r\nimport { DropTarget } from 'react-dnd';\r\nimport { TREATMENTINSTANCE } from '../TreatmentInstance/TreatmentInstance';\r\nimport { ASSIGNMENT } from '../TimelineAssignment/TimelineAssignment';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { cardTypes } from '../../../settings/constants/cardTypes';\r\nimport clinicianPropTypes from '../../../propTypes/entities/clinician';\r\nimport gradePropTypes from '../../../propTypes/entities/grade';\r\nimport timePropTypes from '../../../propTypes/entities/time';\r\nimport postcodeMileagesTypes from '../../../propTypes/entities/postcodeMileages';\r\nimport { parseDateUtc } from '../../../utils/dates';\r\nimport { appSettingsPropTypes } from '../../../propTypes/entities/appSettings';\r\nimport { RAGSTATUS_AMBER_FROMINTERVAL, RAGSTATUS_RED_FROMINTERVAL } from '../../../settings/constants/appSettings';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\nlet item = null;\r\n\r\nfunction createCSSSelector(selector, style) {\r\n let styleSheet;\r\n let mediaType;\r\n if (!document.styleSheets) return;\r\n if (document.getElementsByTagName('head').length === 0) return;\r\n\r\n if (document.styleSheets.length > 0) {\r\n for (let i = 0, l = document.styleSheets.length; i < l; i += 1) {\r\n if (document.styleSheets[i].disabled !== true) {\r\n const media = document.styleSheets[i].media;\r\n mediaType = typeof media;\r\n\r\n if (mediaType === 'string') {\r\n if (media === '' || media.indexOf('screen') !== -1) {\r\n styleSheet = document.styleSheets[i];\r\n }\r\n } else if (mediaType === 'object') {\r\n if (media.mediaText === '' || media.mediaText.indexOf('screen') !== -1) {\r\n styleSheet = document.styleSheets[i];\r\n }\r\n }\r\n\r\n if (typeof styleSheet !== 'undefined') {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (typeof styleSheet === 'undefined') {\r\n const styleSheetElement = document.createElement('style');\r\n styleSheetElement.type = 'text/css';\r\n document.getElementsByTagName('head')[0].appendChild(styleSheetElement);\r\n\r\n for (let i = 0; i < document.styleSheets.length; i += 1) {\r\n if (document.styleSheets[i].disabled !== true) {\r\n styleSheet = document.styleSheets[i];\r\n }\r\n }\r\n\r\n mediaType = typeof styleSheet.media;\r\n }\r\n\r\n if (mediaType === 'string') {\r\n for (let i = 0, l = styleSheet.rules.length; i < l; i += 1) {\r\n if (\r\n styleSheet.rules[i].selectorText &&\r\n styleSheet.rules[i].selectorText.toLowerCase() === selector.toLowerCase()\r\n ) {\r\n styleSheet.rules[i].style.cssText = style;\r\n return;\r\n }\r\n }\r\n styleSheet.addRule(selector, style);\r\n } else if (mediaType === 'object') {\r\n const styleSheetLength = styleSheet.cssRules ? styleSheet.cssRules.length : 0;\r\n for (let i = 0; i < styleSheetLength; i += 1) {\r\n if (\r\n styleSheet.cssRules[i].selectorText &&\r\n styleSheet.cssRules[i].selectorText.toLowerCase() === selector.toLowerCase()\r\n ) {\r\n styleSheet.cssRules[i].style.cssText = style;\r\n return;\r\n }\r\n }\r\n styleSheet.insertRule(`${selector}{${style}}`, styleSheetLength);\r\n }\r\n}\r\n\r\nconst dropTarget = {\r\n canDrop(props, monitor) {\r\n item = monitor.getItem();\r\n const itemType = monitor.getItemType();\r\n\r\n if (itemType !== ASSIGNMENT && item.cardType !== cardTypes.MASTER && item.cardType !== cardTypes.REVIEW) {\r\n return false;\r\n }\r\n\r\n if (!props.clinician.canDoTreatments.includes(item.treatmentId)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n};\r\n\r\nfunction collect(connect, monitor) {\r\n return {\r\n canDrop: monitor.canDrop(),\r\n };\r\n}\r\n\r\nconst printMsg = locale.getMsg('printPlan');\r\nconst hasSkills = locale.getMsg('hasSkills');\r\nconst styles = {\r\n statsPopoverContent: { padding: '10px' },\r\n workingTime: { marginBottom: '15px' },\r\n leftInfoBox: { display: 'flex', justifyContent: 'space-between' },\r\n anchorOrigin: { horizontal: 'middle', vertical: 'center' },\r\n targetOrigin: { horizontal: 'left', vertical: 'top' },\r\n};\r\n\r\nclass ClinicianHeader extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isOpen: false,\r\n };\r\n }\r\n\r\n shouldComponentUpdate = (nextProps, nextState) =>\r\n this.props.canDrop !== nextProps.canDrop ||\r\n this.props.offset !== nextProps.offset ||\r\n this.props.clinician !== nextProps.clinician ||\r\n this.props.assignedTime !== nextProps.assignedTime ||\r\n this.props.mapViewState !== nextProps.mapViewState ||\r\n this.props.selectedClinicianId !== nextProps.selectedClinicianId ||\r\n this.props.selectedDate !== nextProps.selectedDate ||\r\n this.props.postcodeDistance.postcode !== nextProps.postcodeDistance.postcode ||\r\n this.props.clinician.canDoTreatments.join(',') !== nextProps.clinician.canDoTreatments.join(',') ||\r\n this.state.isOpen !== nextState.isOpen;\r\n\r\n getViewStyles = () => ({\r\n display: this.props.mapViewState ? null : 'none',\r\n backgroundColor: `#${this.props.clinician.clinicianColor}`,\r\n width: '10px',\r\n height: '10px',\r\n orderRadius: '6px',\r\n });\r\n\r\n handleTouchTap = event => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n const { mapViewState, clinician } = this.props;\r\n if (mapViewState) {\r\n this.props.selectClinician(clinician.id);\r\n } else {\r\n this.setState({\r\n isOpen: true,\r\n anchorEl: event.currentTarget,\r\n });\r\n }\r\n };\r\n\r\n handleRequestClose = () => {\r\n this.setState({\r\n isOpen: false,\r\n });\r\n };\r\n\r\n status = () => {\r\n const { status, offset, differentOrder, selectedDate } = this.props;\r\n if (!moment(selectedDate).isSame(globals.now.utcOffset(0, true), 'day')) {\r\n return '';\r\n }\r\n let label = '';\r\n let className = 'clinician-time';\r\n if (differentOrder) {\r\n label = locale.getMsg('differentOrder');\r\n className += ' different-order';\r\n } else {\r\n className += status ? ` ${status.toLowerCase()}` : ' empty';\r\n switch (status) {\r\n case 'Ahead':\r\n label = locale.getMsg('ahead', [`${offset}`]);\r\n break;\r\n case 'OnTime':\r\n label = locale.getMsg('onTime');\r\n break;\r\n case 'Planned':\r\n label = locale.getMsg('onTime');\r\n break;\r\n case 'Behind':\r\n label = locale.getMsg('late', [`${offset}`]);\r\n break;\r\n case 'Complete':\r\n if (offset > 0) {\r\n className += '-ahead';\r\n label = locale.getMsg('ahead', [`${offset}`]);\r\n }\r\n if (offset === 0) {\r\n className += '-ontime';\r\n label = locale.getMsg('onTime');\r\n }\r\n if (offset < 0) {\r\n className += '-behind';\r\n label = locale.getMsg('late', [`${-1 * offset}`]);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n return
{label}
;\r\n };\r\n\r\n offline = () => {\r\n const { selectedDate, clinician } = this.props;\r\n const { heartbeatTime } = clinician;\r\n const heartbeatDate = moment(heartbeatTime);\r\n const nowAt = globals.now;\r\n\r\n if (!nowAt.isSame(parseDateUtc(selectedDate), 'day')) {\r\n return ;\r\n }\r\n\r\n const { clinicianHeartbeatDuration } = globals.consts;\r\n const ago = moment.duration(heartbeatDate.diff(nowAt));\r\n let className = 'state';\r\n let title = locale.getMsg('noInformation');\r\n\r\n // check if clinican was active twice heartbeat duration\r\n if (-ago.asMilliseconds() > clinicianHeartbeatDuration * 2 || heartbeatTime === null) {\r\n className += ' offline';\r\n if (heartbeatTime) {\r\n title = locale.getMsg('lastOnline', [ago.humanize(true)]);\r\n }\r\n } else {\r\n title = locale.getMsg('online');\r\n }\r\n\r\n return ;\r\n };\r\n\r\n handleDownloadPlan = event => {\r\n const { downloadPlan, clinician, selectedDate, jwtToken } = this.props;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n downloadPlan(clinician.id, selectedDate, jwtToken, clinician.clinicianFullName);\r\n };\r\n\r\n render() {\r\n const {\r\n clinician,\r\n grade,\r\n canDrop,\r\n ragCapacity,\r\n mapViewState,\r\n workingTime,\r\n availableTime,\r\n assignedTime,\r\n appSettings,\r\n } = this.props;\r\n const { isOpen, anchorEl } = this.state;\r\n const time = data => (\r\n \r\n {data.hours}\r\n {locale.getMsg('hour')} \r\n {data.minutes}\r\n {locale.getMsg('minute')}\r\n \r\n );\r\n let className = 'list-item clinician';\r\n\r\n const isSelectedInMapView = mapViewState && this.props.selectedClinicianId === clinician.id;\r\n if (canDrop) {\r\n className += ' has-skills';\r\n }\r\n\r\n let isWithinMileageCap = true;\r\n const clinicianMilegeCap = clinician.mileageCap !== null ? clinician.mileageCap : globals.consts.defaultMileageCap;\r\n\r\n if (item !== null && clinician.hasValidBasePostCode && this.props.postcodeDistance.postcode !== null) {\r\n isWithinMileageCap = this.props.postcodeDistance.mileages[clinician.basePostCode] <= clinicianMilegeCap;\r\n }\r\n\r\n if (canDrop && !isWithinMileageCap) {\r\n className += ' has-warning';\r\n }\r\n if (isOpen || isSelectedInMapView) {\r\n className += ' active';\r\n }\r\n\r\n const clinicianStatsPopoverContent = (\r\n
\r\n {clinician.clinicianFullName}\r\n {clinician.hasValidBasePostCode && (\r\n
\r\n
\r\n {locale.getMsg('mileageCap')}\r\n \r\n {clinician.mileageCap || globals.consts.defaultMileageCap}\r\n {locale.getMsg('miles')} \r\n {`(${clinician.basePostCode})`}\r\n \r\n
\r\n
\r\n )}\r\n {locale.getMsg('hoursSummary')}\r\n
\r\n {time(workingTime)}\r\n
{locale.getMsg('totalWorkTime')}
\r\n
\r\n
\r\n \r\n {time(availableTime)}\r\n
{locale.getMsg('available')}
\r\n
\r\n \r\n {time(assignedTime)}\r\n
{locale.getMsg('assigned')}
\r\n
\r\n
\r\n
\r\n );\r\n createCSSSelector(`.clinician-color-${clinician.clinicianColor}`, `color:#${clinician.clinicianColor}!important;`);\r\n const ragCapacityStyle = `rag ${(ragCapacity > appSettings[RAGSTATUS_RED_FROMINTERVAL] && 'red') ||\r\n (ragCapacity > appSettings[RAGSTATUS_AMBER_FROMINTERVAL] && 'amber') ||\r\n 'green'}`;\r\n return (\r\n
  • \r\n
    \r\n
    \r\n

    \r\n {this.offline()}\r\n {clinician.clinicianFullName}\r\n \r\n print\r\n \r\n {clinician.hasValidBasePostCode && (\r\n \r\n track_changes\r\n \r\n )}\r\n

    \r\n
    \r\n
    {grade ? grade.name : ''}
    \r\n {this.status()}\r\n
    {hasSkills}
    \r\n
    \r\n \r\n {clinicianStatsPopoverContent}\r\n \r\n
  • \r\n );\r\n }\r\n}\r\n\r\nClinicianHeader.defaultProps = {\r\n offset: null,\r\n status: null,\r\n differentOrder: false,\r\n selectedDate: '',\r\n selectedClinicianId: null,\r\n};\r\n\r\nClinicianHeader.propTypes = {\r\n canDrop: PropTypes.bool.isRequired,\r\n grade: gradePropTypes.isRequired,\r\n clinician: clinicianPropTypes.isRequired,\r\n workingTime: timePropTypes.isRequired,\r\n availableTime: timePropTypes.isRequired,\r\n assignedTime: timePropTypes.isRequired,\r\n ragCapacity: PropTypes.number.isRequired,\r\n appSettings: appSettingsPropTypes.isRequired,\r\n status: PropTypes.string,\r\n offset: PropTypes.number,\r\n differentOrder: PropTypes.bool,\r\n mapViewState: PropTypes.bool.isRequired,\r\n selectClinician: PropTypes.func.isRequired,\r\n selectedClinicianId: PropTypes.number,\r\n postcodeDistance: postcodeMileagesTypes.isRequired,\r\n selectedDate: PropTypes.string,\r\n downloadPlan: PropTypes.func.isRequired,\r\n jwtToken: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default DropTarget([TREATMENTINSTANCE, ASSIGNMENT], dropTarget, collect)(ClinicianHeader);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport L from 'leaflet';\r\nimport { Marker, Popup } from 'react-leaflet';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport assignmentLocation from '../../../propTypes/entities/assignmentLocation';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\n\r\nconst AssignmentMarker = ({ assignment, orderMark }) => {\r\n const icon = L.divIcon({\r\n className: 'allocateIcons',\r\n iconSize: [30, 48],\r\n iconAnchor: [23, 48],\r\n popupAnchor: [0, -55],\r\n html: `person_pin_circle
    ${orderMark}
    `,\r\n });\r\n const { location, id, title, description, activitiesSummary, activitiesTotalDuration } = assignment;\r\n const popupContent = (\r\n
    \r\n {[\r\n
    \r\n
    \r\n {title} - {location.name}\r\n
    \r\n {`${activitiesTotalDuration} ${locale.getMsg('minute')}`}\r\n
    ,\r\n
    \r\n
    {activitiesSummary}
    \r\n
    \r\n
    {description}
    \r\n
    ,\r\n ]}\r\n
    \r\n );\r\n\r\n return (\r\n \r\n {popupContent}\r\n \r\n );\r\n};\r\n\r\nAssignmentMarker.propTypes = {\r\n orderMark: PropTypes.string.isRequired,\r\n assignment: assignmentLocation.isRequired,\r\n};\r\n\r\nexport default AssignmentMarker;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { isEqual } from 'lodash';\r\nimport L from 'leaflet';\r\nimport 'leaflet-routing-machine';\r\nimport { Map, TileLayer, MapLayer, LayerGroup } from 'react-leaflet';\r\nimport MarkerClusterGroup from 'react-leaflet-markercluster';\r\nimport ClinicianMarker from './ClinicianMarker';\r\nimport AssignmentMarker from './AssignmentMarker';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport locationsForPosting from '../../../propTypes/entities/locationsForPosting';\r\nimport { appSettingsPropTypes, appSettingsDefault } from '../../../propTypes/entities/appSettings';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nclass RoutingMachine extends MapLayer {\r\n getWaypoints = locations =>\r\n locations.filter(l => !!l).map(location => L.latLng(location.latitude, location.longitude));\r\n\r\n createLeafletElement() {\r\n const { locations } = this.props;\r\n const waypoints = this.getWaypoints(locations);\r\n\r\n return L.Routing.control({\r\n router: L.Routing.osrmv1({\r\n serviceUrl: `${globals.urls.apiUrl}/OSRMProxy/Route`,\r\n }),\r\n waypoints,\r\n createMarker: () => false,\r\n addWaypoints: false,\r\n draggableWaypoints: false,\r\n })\r\n .addTo(this.context.map)\r\n .getPlan();\r\n }\r\n\r\n updateLeafletElement(fromProps, toProps) {\r\n if (\r\n fromProps.locations.length !== toProps.locations.length ||\r\n fromProps.locations\r\n .filter(e => !!e)\r\n .map(r => r.name)\r\n .join() !==\r\n toProps.locations\r\n .filter(e => !!e)\r\n .map(r => r.name)\r\n .join()\r\n ) {\r\n const waypoints = this.getWaypoints(toProps.locations);\r\n\r\n this.leafletElement.setWaypoints(waypoints);\r\n }\r\n }\r\n}\r\n\r\nclass ClinicianLocator extends React.Component {\r\n componentWillReceiveProps = nextProps => {\r\n const { selectedClinicianId, postings } = nextProps;\r\n const newSelectedPosting = postings.find(el => el.clinicianId === selectedClinicianId);\r\n\r\n if (nextProps.selectedClinicianId === this.props.selectedClinicianId) {\r\n return;\r\n }\r\n\r\n if (newSelectedPosting) {\r\n if (newSelectedPosting.clinicianLocation) {\r\n this.mapView.leafletElement.flyTo(\r\n [newSelectedPosting.clinicianLocation.latitude, newSelectedPosting.clinicianLocation.longitude],\r\n this.defaultZoom,\r\n );\r\n }\r\n } else {\r\n if (postings.length === 0) return;\r\n const bounds = L.latLngBounds([]);\r\n postings.forEach(posting => {\r\n if (posting.clinicianLocation) {\r\n bounds.extend([posting.clinicianLocation.latitude, posting.clinicianLocation.longitude]);\r\n }\r\n });\r\n this.mapView.leafletElement.fitBounds(bounds);\r\n }\r\n };\r\n\r\n shouldComponentUpdate = (nextProps, nextState) => !isEqual(this.props, nextProps) || !isEqual(this.state, nextState);\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n getMap = () => this.mapView.leafletElement;\r\n\r\n getDayPlanLayer = () => {\r\n let assignments = null;\r\n let locations = [];\r\n const { selectedClinicianId, postings } = this.props;\r\n const selectedPosting = postings.find(el => el.clinicianId === selectedClinicianId);\r\n\r\n if (!!selectedPosting && selectedPosting.assignments.length > 0) {\r\n assignments = selectedPosting.assignments.map((assignment, index) => (\r\n \r\n ));\r\n locations = [\r\n selectedPosting.clinicianLocation,\r\n ...selectedPosting.assignments.filter(a => !!a).map(assignment => assignment.location),\r\n ];\r\n }\r\n\r\n return (\r\n \r\n \r\n {assignments}\r\n \r\n );\r\n };\r\n\r\n defaultZoom = 10;\r\n defaultCenter = [51.505, -0.09];\r\n\r\n render() {\r\n const { postings, appSettings } = this.props;\r\n const markers = postings\r\n .filter(r => !!r.clinicianLocation)\r\n .map(({ ...props }) => (\r\n \r\n ));\r\n\r\n return (\r\n \r\n \r\n {this.getDayPlanLayer()}\r\n {markers}\r\n \r\n );\r\n }\r\n}\r\n\r\nClinicianLocator.defaultProps = {\r\n appSettings: appSettingsDefault,\r\n selectedClinicianId: null,\r\n selectedPosting: null,\r\n};\r\n\r\nClinicianLocator.propTypes = {\r\n appSettings: appSettingsPropTypes,\r\n postings: PropTypes.arrayOf(locationsForPosting).isRequired,\r\n selectedClinicianId: PropTypes.number,\r\n};\r\n\r\nexport default ClinicianLocator;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport L from 'leaflet';\r\nimport moment from 'moment';\r\nimport { Marker, Popup } from 'react-leaflet';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport postCodeAnywhereLocation from '../../../propTypes/external/postCodeAnywhereLocation';\r\nimport locationsForPosting from '../../../propTypes/entities/locationsForPosting';\r\nimport { appSettingsPropTypes } from '../../../propTypes/entities/appSettings';\r\nimport { RAGSTATUS_AMBER_FROMINTERVAL, RAGSTATUS_RED_FROMINTERVAL } from '../../../settings/constants/appSettings';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\n\r\nconst formatHour = date =>\r\n moment(date)\r\n .utcOffset(0, true)\r\n .format(globals.timeFormats.short);\r\n\r\nconst ClinicianMarker = ({ posting, location, appSettings, clinicianColor }) => {\r\n const icon = L.divIcon({\r\n className: `clinician-color-${clinicianColor} allocateIcons rag ${(posting.ragCapacity >\r\n appSettings[RAGSTATUS_RED_FROMINTERVAL] &&\r\n 'red') ||\r\n (posting.ragCapacity > appSettings[RAGSTATUS_AMBER_FROMINTERVAL] && 'amber') ||\r\n 'green'}`,\r\n iconSize: [30, 48],\r\n iconAnchor: [23, 48],\r\n popupAnchor: [0, -55],\r\n html: 'add_location',\r\n });\r\n const { availabilities: timeSlots = [] } = posting;\r\n const popupContent = (\r\n
    \r\n {[\r\n
    \r\n
    {posting.clinicianName}
    \r\n {posting.grade.name}\r\n \r\n {locale.getMsg('visitsCompleted', [posting.visitsCompleted.toString(), posting.visitsTotal.toString()])}\r\n \r\n
    ,\r\n timeSlots.map(({ id, startDate, endDate }) => (\r\n
    \r\n {`${formatHour(startDate) + (startDate === endDate ? '' : ` - ${formatHour(endDate)}`)}`}\r\n
    \r\n )),\r\n
    \r\n {posting.clinicianPhoneNumber}\r\n
    ,\r\n ]}\r\n
    \r\n );\r\n\r\n return (\r\n {posting.clinicianName}}\r\n zIndexOffset={1}\r\n icon={icon}\r\n position={[location.latitude, location.longitude]}\r\n >\r\n {popupContent}\r\n \r\n );\r\n};\r\n\r\nClinicianMarker.propTypes = {\r\n clinicianColor: PropTypes.string.isRequired,\r\n appSettings: appSettingsPropTypes.isRequired,\r\n posting: locationsForPosting.isRequired,\r\n location: postCodeAnywhereLocation.isRequired,\r\n};\r\n\r\nexport default ClinicianMarker;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport { shouldUpdate } from 'recompose';\r\nimport ClinicianHeader from './../../../containers/DailyPlanning/ClinicianHeader/ClinicianHeaderContainer';\r\nimport posting from '../../../propTypes/entities/posting';\r\nimport { appSettingsPropTypes, appSettingsDefault } from '../../../propTypes/entities/appSettings';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { AssignmentType, TreatmentInstanceStatus } from '../../../enums';\r\n\r\nconst CliniciansList = ({ postings, selectedDate, appSettings }) => {\r\n function parseDate(date) {\r\n return moment(date || new Date(0)).utcOffset(0, true);\r\n }\r\n\r\n function findStartedAssignment(assigments) {\r\n return assigments.filter(x => !!x).find(a => a.treatmentInstanceStatus === TreatmentInstanceStatus.InProgress);\r\n }\r\n\r\n function removeNpaAssignments(assigments) {\r\n return assigments.filter(x => !!x && x.assignmentType === AssignmentType.PatientAssignment);\r\n }\r\n\r\n function getAssignmentsBeforeCurrTime(assigments) {\r\n const nowAt = globals.now.utcOffset(0, true);\r\n return assigments.filter(a => !!a && parseDate(a.visitStarted || a.startDate).isBefore(nowAt));\r\n }\r\n\r\n const currAssignment = assigments => {\r\n const assigmentStarted = findStartedAssignment(assigments);\r\n if (assigmentStarted !== undefined) return assigmentStarted;\r\n\r\n const assigmentBeforeCurrTime = getAssignmentsBeforeCurrTime(assigments);\r\n if (assigmentBeforeCurrTime.length === 0) return assigments[0];\r\n\r\n for (let i = 0; i < assigmentBeforeCurrTime.length; i += 1) {\r\n if (assigmentBeforeCurrTime[i].visitStarted === null) {\r\n return assigmentBeforeCurrTime[i];\r\n }\r\n }\r\n return assigmentBeforeCurrTime[assigmentBeforeCurrTime.length - 1];\r\n };\r\n\r\n function sortAssigments(a, b) {\r\n return parseDate(a.startDate) - parseDate(b.startDate);\r\n }\r\n\r\n const cliniciansList = postings.map(el => {\r\n const assigments = el.availabilities.reduce((prev, curr) => prev.concat(curr.assignments), []);\r\n assigments.sort((a, b) => sortAssigments(a, b));\r\n\r\n const onlyPatientAssignments = removeNpaAssignments(assigments);\r\n\r\n const assigment =\r\n onlyPatientAssignments.length === 0\r\n ? { visitStatus: null, offset: null }\r\n : currAssignment(onlyPatientAssignments);\r\n\r\n return (\r\n \r\n );\r\n });\r\n return (\r\n
      \r\n {cliniciansList}\r\n
    • \r\n
    \r\n );\r\n};\r\n\r\nCliniciansList.defaultProps = {\r\n appSettings: appSettingsDefault,\r\n postings: [],\r\n selectedDate: '',\r\n};\r\n\r\nCliniciansList.propTypes = {\r\n postings: PropTypes.arrayOf(posting),\r\n appSettings: appSettingsPropTypes.isRequired,\r\n selectedDate: PropTypes.string,\r\n};\r\n\r\nconst checkPropsChange = (props, nextProps) =>\r\n props.selectedDate !== nextProps.selectedDate || props.postings !== nextProps.postings;\r\n\r\nexport default shouldUpdate(checkPropsChange)(CliniciansList);\r\n","import { Preview } from 'react-dnd-multi-backend';\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Spinner from '../../components/common/Spinner/Spinner';\r\nimport PageContent from '../../components/PageStructure/PageContent/PageContent';\r\nimport SidePanel from '../../components/PageStructure/SidePanel/SidePanel';\r\nimport PageHeader from '../../components/PageStructure/PageHeader/PageHeader';\r\nimport DragNDropContent from '../../components/DailyPlanning/DragNDropContent/DragNDropContent';\r\nimport TreatmentPanel from '../../containers/DailyPlanning/TreatmentPanel/TreatmentPanelContainer';\r\nimport Scheduler from '../../containers/DailyPlanning/Scheduler/SchedulerContainer';\r\nimport DailySidePanel from '../../containers/DailyPlanning/DailySidePanel/DailySidePanelContainer';\r\nimport DateSelector from '../../containers/DailyPlanning/DateSelector/DateSelectorContainer';\r\nimport Stats from '../../containers/DailyPlanning/Stats/StatsContainer';\r\nimport { appSettingsPropTypes, appSettingsDefault } from '../../propTypes/entities/appSettings';\r\nimport {\r\n RAGSTATUS_RED_FROMINTERVAL,\r\n RAGSTATUS_AMBER_FROMINTERVAL,\r\n SCHEDULER_DAYMODE_STARTTIME,\r\n SCHEDULER_NIGHTMODE_STARTTIME,\r\n} from '../../settings/constants/appSettings';\r\nimport globals from '../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('pageTitles');\r\n\r\nclass DailyPlanning extends React.Component {\r\n componentWillMount = () => {\r\n this.props.getAppSettings(SCHEDULER_DAYMODE_STARTTIME);\r\n this.props.getAppSettings(SCHEDULER_NIGHTMODE_STARTTIME);\r\n this.props.getAppSettings(RAGSTATUS_RED_FROMINTERVAL);\r\n this.props.getAppSettings(RAGSTATUS_AMBER_FROMINTERVAL);\r\n };\r\n\r\n componentDidMount = () => {\r\n this.props.getAllTeams(this.props.selectedDate);\r\n if (this.props.selectedTeam !== null) {\r\n this.props.getDailyPlanningDetails();\r\n }\r\n };\r\n\r\n componentWillReceiveProps = nextProps => {\r\n if (this.props.selectedTeam === null && nextProps.teams && nextProps.teams.length > 0) {\r\n this.props.setDefaultOrgUnitForDay(nextProps.teams[0].id);\r\n }\r\n };\r\n\r\n shouldComponentUpdate(nextProps) {\r\n return (\r\n this.props.selectedDate !== nextProps.selectedDate ||\r\n this.props.selectedTeam !== nextProps.selectedTeam ||\r\n this.props.teams.map(t => t.id).join(',') !== nextProps.teams.map(t => t.id).join(',')\r\n );\r\n }\r\n\r\n getPreviewStyle = (item, style) => (item.previewWidth ? { ...style, width: item.previewWidth } : style);\r\n\r\n generateDragNDropPreview = (type, item, style) => {\r\n /* eslint-disable react/no-danger */\r\n if (typeof item.previewHtml !== 'undefined') {\r\n return
    ;\r\n }\r\n /* enable-enable */\r\n return null;\r\n };\r\n render() {\r\n if (this.props.selectedTeam) {\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {/* */}\r\n {locale.getMsg('dailyPlanning')}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return ;\r\n }\r\n}\r\n\r\nDailyPlanning.defaultProps = {\r\n selectedTeam: null,\r\n appSettings: appSettingsDefault,\r\n};\r\n\r\nDailyPlanning.propTypes = {\r\n selectedDate: PropTypes.string.isRequired,\r\n selectedTeam: PropTypes.number,\r\n setDefaultOrgUnitForDay: PropTypes.func.isRequired,\r\n getAppSettings: PropTypes.func.isRequired,\r\n appSettings: appSettingsPropTypes,\r\n getAllTeams: PropTypes.func.isRequired,\r\n getDailyPlanningDetails: PropTypes.func.isRequired,\r\n teams: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n name: PropTypes.string.isRequired,\r\n isActive: PropTypes.bool.isRequired,\r\n }),\r\n ).isRequired,\r\n};\r\n\r\nexport default DailyPlanning;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Calendar from '../../common/Calendar/Calendar';\r\n\r\nconst DailySidePanel = props => (\r\n
    \r\n \r\n
    \r\n);\r\n\r\nDailySidePanel.propTypes = {\r\n selectedDate: PropTypes.string.isRequired,\r\n changeDate: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default DailySidePanel;\r\n","import MultiBackend from 'react-dnd-multi-backend';\r\nimport HTML5toTouch from 'react-dnd-multi-backend/lib/HTML5toTouch'; // or any other pipeline\r\nimport { DragDropContext } from 'react-dnd';\r\nimport InnerContent from '../../PageStructure/InnerContent/InnerContent';\r\n\r\nexport default DragDropContext(MultiBackend(HTML5toTouch))(InnerContent);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { DragSource } from 'react-dnd';\r\nimport { durationToPixels, refSetter } from '../../../utils/helpers';\r\n\r\nexport const LUNCHBREAK = 'LUNCHBREAK';\r\n\r\nconst lunchBreakSource = {\r\n canDrag() {\r\n // You can disallow drag based on props\r\n return true;\r\n },\r\n\r\n isDragging(props, monitor) {\r\n return monitor.getItem().assignGuid === props.assignGuid;\r\n },\r\n\r\n beginDrag({ postcode, getTravelTimesByPostcode }, monitor, component) {\r\n if (postcode !== null && postcode !== '') {\r\n getTravelTimesByPostcode(postcode);\r\n }\r\n return {\r\n schedulingDisabled: false,\r\n requiredTime: component.props.restDuration,\r\n assignGuid: component.props.assignGuid,\r\n };\r\n },\r\n\r\n endDrag(props, monitor) {\r\n if (!monitor.didDrop()) {\r\n return;\r\n }\r\n const dropResult = monitor.getDropResult();\r\n if (dropResult && dropResult.postingId) {\r\n props\r\n .updateLunchBreak({ availabilityId: props.availabilityId, restNewStartDate: dropResult.startDate })\r\n .then(props.refreshScheduler());\r\n }\r\n },\r\n};\r\n\r\nfunction collect(connect, monitor) {\r\n return {\r\n connectDragSource: connect.dragSource(),\r\n connectDragPreview: connect.dragPreview(),\r\n isDraggable: monitor.canDrag(),\r\n isDragging: monitor.isDragging(),\r\n isAnythingDragged: monitor.getItemType() !== null,\r\n };\r\n}\r\n\r\nclass LunchBreak extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.styles = {\r\n restDuration: { width: durationToPixels(this.props.restDuration) },\r\n };\r\n }\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n render() {\r\n const { connectDragSource, isDragging, assignGuid, isCollapsed } = this.props;\r\n let collpased = '';\r\n if (isCollapsed === true) {\r\n collpased = '-overlap';\r\n }\r\n const lunchCardClassName = `assignment-info-wrapper asw-event-card--lunch${collpased}`;\r\n const lunchBreakCard = (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const lunchBreakContainer = (\r\n
    \r\n {connectDragSource(lunchBreakCard, { dropEffect: 'move' })}\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n {lunchBreakContainer}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nLunchBreak.propTypes = {\r\n restDuration: PropTypes.number.isRequired,\r\n connectDragSource: PropTypes.func.isRequired,\r\n isDragging: PropTypes.bool.isRequired,\r\n assignGuid: PropTypes.number.isRequired,\r\n isCollapsed: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default DragSource(LUNCHBREAK, lunchBreakSource, collect)(LunchBreak);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Tooltip from '../../common/Tooltip/Tooltip';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { cardTypes, OVERRIDE_CLINICIANS_COUNT } from '../../../settings/constants';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\n\r\nfunction RenderBlank() {\r\n return ;\r\n}\r\n\r\nfunction RenderMaster(copiesCount, handleAdd) {\r\n if (copiesCount >= OVERRIDE_CLINICIANS_COUNT) {\r\n return (\r\n \r\n \r\n \r\n add_circle\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n add_circle\r\n \r\n \r\n );\r\n}\r\n\r\nfunction RenderAdditional() {\r\n return RenderBlank();\r\n}\r\n\r\nfunction RenderOverride(handleRemove) {\r\n return (\r\n \r\n \r\n delete\r\n \r\n \r\n );\r\n}\r\n\r\nfunction OverrideClinician({ cardType, copiesCount, occurrence, handleAdd, handleRemove }) {\r\n if (globals.now.isAfter(occurrence, 'day')) {\r\n return RenderBlank();\r\n }\r\n\r\n switch (cardType) {\r\n case cardTypes.MASTER:\r\n case cardTypes.REVIEW:\r\n return RenderMaster(copiesCount, handleAdd);\r\n case cardTypes.ADDITIONAL_CLINICIAN:\r\n return RenderAdditional();\r\n case cardTypes.OVERRIDDEN_CLINICIAN:\r\n return RenderOverride(handleRemove);\r\n default:\r\n throw new Error('Unknown card type');\r\n }\r\n}\r\n\r\nOverrideClinician.propTypes = {\r\n cardType: PropTypes.string.isRequired,\r\n copiesCount: PropTypes.number.isRequired,\r\n occurrence: PropTypes.string.isRequired,\r\n handleAdd: PropTypes.func.isRequired,\r\n handleRemove: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default OverrideClinician;\r\n","/* eslint-disable no-param-reassign */\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport Checkbox from 'material-ui/Checkbox';\r\nimport IconMenu from 'material-ui/IconMenu';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport IconButton from 'material-ui/IconButton';\r\nimport Toggle from 'material-ui/Toggle';\r\nimport ClinicianLocator from '../ClinicianLocator/ClinicianLocator';\r\nimport Spinner from '../../common/Spinner/Spinner';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport CliniciansList from '../CliniciansList/CliniciansList';\r\nimport Timeline from '../Timeline/Timeline';\r\nimport AlertBox from '../../common/AlertBox/AlertBox';\r\nimport posting from '../../../propTypes/entities/posting';\r\nimport locationsForPosting from '../../../propTypes/entities/locationsForPosting';\r\nimport { refreshTimeInSeconds } from '../../../settings/scheduler';\r\nimport { appSettingsPropTypes, appSettingsDefault } from '../../../propTypes/entities/appSettings';\r\nimport { toggleGrey } from '../../../theme/AllocateBaseTheme';\r\nimport { getSchedulerModeTimes } from '../../../utils/dates';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\nconst styles = {\r\n anchorOrigin: { horizontal: 'left', vertical: 'top' },\r\n targetOrigin: { horizontal: 'left', vertical: 'top' },\r\n listStyle: { minHeight: '129px' },\r\n};\r\n\r\nclass Scheduler extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.interval = null;\r\n\r\n this.state = {\r\n isRefreshing: true,\r\n createLog: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.interval = setInterval(() => this.tick(), refreshTimeInSeconds * 1000);\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n const {\r\n mapViewState,\r\n failureMessage,\r\n postings,\r\n locationsForPostings,\r\n isFetching,\r\n isAutoAllocating,\r\n autoAllocateDate,\r\n autoAllocateTeamId,\r\n selectedTeam,\r\n selectedDate,\r\n selectedClinicianId,\r\n downloadingPlan,\r\n dayStart,\r\n dayEnd,\r\n } = this.props;\r\n return (\r\n dayStart !== nextProps.dayStart ||\r\n dayEnd !== nextProps.dayEnd ||\r\n mapViewState !== nextProps.mapViewState ||\r\n this.state.createLog !== nextState.createLog ||\r\n failureMessage !== nextProps.failureMessage ||\r\n isFetching !== nextProps.isFetching ||\r\n isAutoAllocating !== nextProps.isAutoAllocating ||\r\n autoAllocateDate !== nextProps.autoAllocateDate ||\r\n autoAllocateTeamId !== nextProps.autoAllocateTeamId ||\r\n selectedDate !== nextProps.selectedDate ||\r\n selectedTeam !== nextProps.selectedTeam ||\r\n selectedClinicianId !== nextProps.selectedClinicianId ||\r\n downloadingPlan !== nextProps.downloadingPlan ||\r\n postings.map(p => p.id).join(',') !== nextProps.postings.map(p => p.id).join(',') ||\r\n locationsForPostings.map(p => p.id).join(',') !== nextProps.locationsForPostings.map(p => p.id).join(',') ||\r\n this.state.isRefreshing\r\n );\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.interval) {\r\n clearInterval(this.interval);\r\n }\r\n }\r\n\r\n setCreateLog = () => {\r\n const { createLog } = this.state;\r\n this.setState({\r\n createLog: !createLog,\r\n });\r\n this.props.setAutoAllocationLogSetting(!createLog);\r\n };\r\n\r\n getSchedulerModeTime = isDayMode => {\r\n const { appSettings, dayStart } = this.props;\r\n let hours = isDayMode ? appSettings.SchedulerDayModeStartTime : appSettings.SchedulerNightModeStartTime;\r\n hours = hours || '00';\r\n\r\n return moment(dayStart)\r\n .set({ hours })\r\n .utcOffset(0, true)\r\n .format(globals.dateFormats.localApiFormat);\r\n };\r\n\r\n showMap = () => {\r\n this.props.fetchLocationsForPostings();\r\n this.props.changeSchedulerMapView(true);\r\n };\r\n\r\n generateOpacity = requestInProgress => ({ opacity: requestInProgress && '0.4' });\r\n\r\n showScheduler = () => {\r\n this.props.changeSchedulerMapView(false);\r\n };\r\n\r\n tick() {\r\n const { isRefreshing } = this.state;\r\n\r\n if (!this.props.isAutoAllocateInProgress && isRefreshing && this.isTodayWithStartTime()) {\r\n if (this.props.mapViewState) {\r\n this.props.fetchLocationsForPostings();\r\n } else {\r\n const { selectedDate, appSettings, isNightMode } = this.props;\r\n this.props.fetchPostings(\r\n true,\r\n true,\r\n isNightMode,\r\n selectedDate,\r\n appSettings.SchedulerDayModeStartTime,\r\n appSettings.SchedulerNightModeStartTime,\r\n );\r\n }\r\n }\r\n }\r\n\r\n mapIcon = (\r\n \r\n {' '}\r\n map{' '}\r\n \r\n );\r\n sheduleIcon = (\r\n \r\n schedule\r\n \r\n );\r\n moreVertIcon = (\r\n \r\n more_vert\r\n \r\n );\r\n\r\n parseDate = date => moment(date).utcOffset(0, true);\r\n dayStartDate = () => this.parseDate(this.props.dayStart).startOf('day');\r\n isToday = () => this.parseDate(this.props.serverDateTime).isSame(this.dayStartDate(), 'd');\r\n isTodayWithStartTime = () => {\r\n const {\r\n selectedDate,\r\n isNightMode,\r\n appSettings: { SchedulerDayModeStartTime },\r\n appSettings: { SchedulerNightModeStartTime },\r\n } = this.props;\r\n const { schedulerStartTime, schedulerEndTime } = getSchedulerModeTimes(\r\n selectedDate,\r\n isNightMode,\r\n SchedulerDayModeStartTime,\r\n SchedulerNightModeStartTime,\r\n );\r\n return this.parseDate(this.props.serverDateTime).isBetween(schedulerStartTime, schedulerEndTime);\r\n };\r\n\r\n renderCliniciansList() {\r\n const { postings, selectedDate, appSettings, isFetching } = this.props;\r\n const hasNoData = !postings || postings.length < 1;\r\n\r\n if (hasNoData || isFetching) return null;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n

    {locale.getMsg('cliniciansList')}

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n isFetching,\r\n isAutoAllocating,\r\n autoAllocateDate,\r\n autoAllocateTeamId,\r\n postings,\r\n dayStart,\r\n selectedDate,\r\n selectedTeam,\r\n locationsForPostings,\r\n dayEnd,\r\n canAllocateWork,\r\n failureMessage,\r\n mapViewState,\r\n selectedClinicianId,\r\n dismissErrors,\r\n appSettings,\r\n serverDateTime,\r\n downloadingPlan,\r\n isNightMode,\r\n } = this.props;\r\n const { isRefreshing, createLog } = this.state;\r\n const isAutoAllocatingForSelectedTeam =\r\n autoAllocateTeamId !== 0 && autoAllocateDate !== '0001-01-01'\r\n ? isAutoAllocating && selectedTeam === autoAllocateTeamId && selectedDate === autoAllocateDate\r\n : isAutoAllocating;\r\n const requestInProgress = isFetching || downloadingPlan || isAutoAllocatingForSelectedTeam;\r\n const { schedulerStartTime, schedulerEndTime } = getSchedulerModeTimes(\r\n selectedDate,\r\n isNightMode,\r\n appSettings.SchedulerDayModeStartTime,\r\n appSettings.SchedulerNightModeStartTime,\r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n {requestInProgress && }\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {this.isTodayWithStartTime(schedulerStartTime) && (\r\n \r\n )}\r\n {!requestInProgress && !mapViewState && postings.length > 0 && (\r\n \r\n )}\r\n {!mapViewState && (\r\n \r\n )}\r\n \r\n \r\n
    \r\n

    \r\n {isNightMode ? 'Night Mode' : 'Day Mode'}\r\n

    \r\n
    \r\n this.setState({ isRefreshing: !isRefreshing })}\r\n label={locale.getMsg('liveTracking')}\r\n />\r\n \r\n \r\n \r\n Night\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {this.renderCliniciansList()}\r\n {mapViewState ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nScheduler.defaultProps = {\r\n dayStart: '',\r\n dayEnd: '',\r\n selectedDate: '',\r\n autoAllocateDate: '',\r\n failureMessage: '',\r\n locationsForPostings: [],\r\n appSettings: appSettingsDefault,\r\n selectedClinicianId: null,\r\n postings: [],\r\n isNightMode: false,\r\n selectedTeam: null,\r\n autoAllocateTeamId: null,\r\n};\r\n\r\nScheduler.propTypes = {\r\n mapViewState: PropTypes.bool.isRequired,\r\n failureMessage: PropTypes.string,\r\n postings: PropTypes.arrayOf(posting),\r\n locationsForPostings: PropTypes.arrayOf(locationsForPosting),\r\n canAllocateWork: PropTypes.bool.isRequired,\r\n fetchPostings: PropTypes.func.isRequired,\r\n fetchLocationsForPostings: PropTypes.func.isRequired,\r\n setAutoAllocationLogSetting: PropTypes.func.isRequired,\r\n dismissErrors: PropTypes.func.isRequired,\r\n isFetching: PropTypes.bool.isRequired,\r\n isAutoAllocating: PropTypes.bool.isRequired,\r\n dayStart: PropTypes.string,\r\n dayEnd: PropTypes.string,\r\n selectedDate: PropTypes.string,\r\n serverDateTime: PropTypes.string.isRequired,\r\n appSettings: appSettingsPropTypes.isRequired,\r\n changeSchedulerMapView: PropTypes.func.isRequired,\r\n selectedClinicianId: PropTypes.number,\r\n downloadingPlan: PropTypes.bool.isRequired,\r\n isNightMode: PropTypes.bool.isRequired,\r\n toggleSchedulerModeView: PropTypes.func.isRequired,\r\n isAutoAllocateInProgress: PropTypes.bool.isRequired,\r\n selectedTeam: PropTypes.number,\r\n autoAllocateTeamId: PropTypes.number,\r\n autoAllocateDate: PropTypes.string,\r\n};\r\n\r\nexport default Scheduler;\r\n","import React from 'react';\r\nimport { shouldUpdate } from 'recompose';\r\nimport StatCounter from '../../common/StatCounter/StatCounter';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport timePropTypes from '../../../propTypes/entities/time';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\n\r\nconst Stats = ({\r\n availableHours,\r\n allocatedHoursForAssignments,\r\n allocatedHours,\r\n allocatedHoursForNonPatientAssignments,\r\n unallocatedHours,\r\n}) => (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n);\r\n\r\nStats.propTypes = {\r\n availableHours: timePropTypes.isRequired,\r\n allocatedHours: timePropTypes.isRequired,\r\n allocatedHoursForAssignments: timePropTypes.isRequired,\r\n allocatedHoursForNonPatientAssignments: timePropTypes.isRequired,\r\n unallocatedHours: timePropTypes.isRequired,\r\n};\r\n\r\nconst checkPropsChange = (props, nextProps) =>\r\n props.availableHours !== nextProps.availableHours ||\r\n props.allocatedHours !== nextProps.allocatedHours ||\r\n props.allocatedHoursForAssignments !== nextProps.allocatedHoursForAssignments ||\r\n props.allocatedHoursForNonPatientAssignments !== nextProps.allocatedHoursForNonPatientAssignments ||\r\n props.unallocatedHours !== nextProps.unallocatedHours;\r\n\r\nexport default shouldUpdate(checkPropsChange)(Stats);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport IconButton from 'material-ui/IconButton';\r\nimport { DragSource } from 'react-dnd';\r\nimport moment from 'moment';\r\nimport momentDuration from 'moment-duration-format';\r\nimport Popover from '@material-ui/core/Popover';\r\nimport { PopoverStyle } from '../../../theme/AllocateBaseTheme';\r\nimport TimelineAssignmentPopover from '../../../containers/DailyPlanning/TimelineAssignment/TimelineAssignmentPopoverContainer';\r\nimport { durationToPixels, refSetter, cardWidthToPixels } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { cellLengthInMinutes } from '../../../settings/scheduler';\r\nimport { cardTypes } from '../../../settings/constants/cardTypes';\r\nimport { AssignmentType, AssignmentVisitState, AssignmentVisitSchedule, TreatmentInstanceStatus } from '../../../enums';\r\nimport { parseDateUtc } from '../../../utils/dates';\r\n\r\nmomentDuration(moment);\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\n\r\nexport const ASSIGNMENT = 'ASSIGNMENT';\r\n\r\nfunction canDrag(startDate, treatmentInstanceStatus) {\r\n // Prevent dragging of assignments in the past\r\n const utcToday = globals.now.utcOffset(0, true);\r\n const start = moment(startDate);\r\n if (start.isSameOrBefore(utcToday.clone().startOf('day'))) {\r\n return false;\r\n }\r\n if (treatmentInstanceStatus === TreatmentInstanceStatus.Closed) {\r\n return false;\r\n }\r\n return (\r\n treatmentInstanceStatus === null ||\r\n treatmentInstanceStatus === TreatmentInstanceStatus.ToDo ||\r\n start.isAfter(utcToday)\r\n );\r\n}\r\n\r\nconst assignmentSource = {\r\n canDrag({ assignment }) {\r\n const { startDate, treatmentInstanceStatus } = assignment;\r\n return canDrag(startDate, treatmentInstanceStatus);\r\n },\r\n\r\n isDragging(props, monitor) {\r\n const { assignGuid } = monitor.getItem();\r\n return assignGuid === props.assignGuid;\r\n },\r\n\r\n beginDrag({ assignGuid, assignment, getTravelTimesByPostcode, getPostcodeDistance }, monitor, component) {\r\n const {\r\n requiredGrade,\r\n activitiesTotalDuration,\r\n isSpecificTime,\r\n isMasterAssigned,\r\n effectiveTimeSlots,\r\n assignedCopiesCount,\r\n postcode,\r\n masterId,\r\n requiredSkills,\r\n excludedClinicians,\r\n treatmentId,\r\n } = assignment;\r\n getTravelTimesByPostcode(postcode);\r\n getPostcodeDistance(postcode);\r\n return {\r\n assignGuid,\r\n previewHtml: component.preview.outerHTML,\r\n requiredGrade,\r\n requiredTime: activitiesTotalDuration,\r\n effectiveTimeSlots,\r\n schedulingDisabled: assignedCopiesCount !== 0,\r\n isSpecificTime,\r\n masterId,\r\n isMasterAssigned,\r\n requiredSkills,\r\n excludedClinicians,\r\n treatmentId,\r\n };\r\n },\r\n\r\n async endDrag(props, monitor) {\r\n if (!monitor.didDrop()) {\r\n return;\r\n }\r\n const dropResult = monitor.getDropResult();\r\n const { jwtToken } = props;\r\n try {\r\n let result;\r\n let id;\r\n let newPostingId;\r\n let responseFromCopies;\r\n const doesHaveCopies = props.assignment.totalCopiesCount > 0;\r\n if (dropResult && dropResult.postingId) {\r\n newPostingId = dropResult.postingId;\r\n result = await props.rescheduleAssignment(\r\n props.assignGuid,\r\n props.postingId,\r\n dropResult.postingId,\r\n dropResult.startDate,\r\n );\r\n id = result.response.data.newAssignmentId;\r\n } else {\r\n responseFromCopies = await props.getCopiesPostings(props.assignment.id);\r\n result = await props.removeAssignment(props.assignment.id, props.assignGuid, props.postingId);\r\n id = props.assignment.id;\r\n newPostingId = 0;\r\n }\r\n if (result.response.status === 200) {\r\n if (result.type === 'ASSIGNMENT_RESCHEDULE_SUCCESS') {\r\n const isPatientAssignment = props.assignment.assignmentType === AssignmentType.PatientAssignment;\r\n props.refreshSchedulerAfterReschedule(\r\n props.assignGuid,\r\n id,\r\n props.postingId,\r\n newPostingId,\r\n props.assignment.visitStartDate,\r\n props.assignment.treatmentInstanceId,\r\n props.teamId,\r\n isPatientAssignment,\r\n doesHaveCopies,\r\n jwtToken,\r\n );\r\n } else {\r\n const postingsIds = [...responseFromCopies.response.data.postingIds];\r\n props.refreshSchedulerAfterUnassign(\r\n props.assignGuid,\r\n id,\r\n postingsIds.concat(props.postingId),\r\n props.assignment.startDate,\r\n props.assignment.activitiesTotalDuration,\r\n props.teamId,\r\n props.assignment.treatmentInstanceId,\r\n jwtToken,\r\n );\r\n }\r\n }\r\n } catch (error) {\r\n // Log errors\r\n // eslint-disable-next-line no-console\r\n console.error(error.response ? error.response.data : error);\r\n }\r\n },\r\n};\r\n\r\nfunction collect(connect, monitor) {\r\n return {\r\n connectDragSource: connect.dragSource(),\r\n connectDragPreview: connect.dragPreview(),\r\n isDraggable: monitor.canDrag(),\r\n isDragging: monitor.isDragging(),\r\n isAnythingDragged: monitor.getItemType() !== null,\r\n };\r\n}\r\n\r\nconst styles = {\r\n iconTwilight: { display: 'none' },\r\n anchorOrigin: { horizontal: 'left', vertical: 'bottom' },\r\n targetOrigin: { horizontal: 'left', vertical: 'top' },\r\n popover: { width: '400px' },\r\n};\r\nconst defaultTimeSlots = [];\r\nclass TimelineAssignment extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n travelExpanded: false,\r\n infoExpanded: false,\r\n open: false,\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.isAnythingDragged) {\r\n this.setState({\r\n travelExpanded: false,\r\n infoExpanded: false,\r\n });\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.state.travelExpanded) {\r\n document.addEventListener('click', this.hideTravel);\r\n } else if (!this.state.travelExpanded) {\r\n document.removeEventListener('click', this.hideTravel);\r\n }\r\n\r\n if (this.state.infoExpanded) {\r\n document.addEventListener('click', this.hideInfo);\r\n } else if (!this.state.infoExpanded) {\r\n document.removeEventListener('click', this.hideInfo);\r\n }\r\n }\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n getIconInfoStyle = assignmentType => ({\r\n display: assignmentType !== AssignmentType.PatientAssignment ? 'none' : null,\r\n });\r\n\r\n getAssignmentInfoWrapperStyle = (assignment, travelTime) => {\r\n let marginLeftAssignment = 0;\r\n if (assignment.visitStarted !== null) {\r\n const offset = moment(assignment.visitStarted).minutes() % cellLengthInMinutes;\r\n if (offset > 0 && offset < cellLengthInMinutes) {\r\n marginLeftAssignment = durationToPixels(offset - cellLengthInMinutes);\r\n }\r\n } else {\r\n marginLeftAssignment = assignment.visitStartDate !== assignment.startDate ? `${durationToPixels(travelTime)}` : 0;\r\n }\r\n return { marginLeft: marginLeftAssignment };\r\n };\r\n\r\n getInfoStyle = (allowedDuration, startMarginDuration) => {\r\n const infoWidth = durationToPixels(allowedDuration);\r\n return {\r\n marginLeft: startMarginDuration > 0 ? durationToPixels(startMarginDuration) : 0,\r\n minWidth: infoWidth,\r\n width: this.state.infoExpanded ? 'auto' : infoWidth,\r\n zIndex: this.state.infoExpanded && '5',\r\n transition: 'width 2s',\r\n };\r\n };\r\n\r\n getAssignmentNodeStyle = () => ({\r\n zIndex: this.state.infoExpanded && '5',\r\n marginLeft: `-${durationToPixels(this.props.outOfAvailabilityOffset)}`,\r\n });\r\n\r\n getPositiveTravelTimeStyle = (isAnythingDragged, visitStarted, travelTime, travelExpanded, marginLeft) => ({\r\n marginLeft: `${durationToPixels(marginLeft)}`,\r\n visibility: isAnythingDragged || visitStarted !== null ? 'hidden' : undefined,\r\n maxWidth: `${durationToPixels(travelTime)}`,\r\n width: `${durationToPixels(travelTime)}`,\r\n marginTop: 1,\r\n zIndex: travelExpanded && '5',\r\n });\r\n\r\n getAssignmentInfoStyle = () => ({\r\n backgroundColor:\r\n moment.duration(this.props.assignment.travelStaggering, 'hours').asSeconds() !== 0 ? '#de3233' : null,\r\n });\r\n\r\n getDuration = (plannedStart, visitStart, plannedEnd, visitEnded, schedulerModeStartTime, schedulerModeEndTime) => {\r\n const plannedStartDate =\r\n visitStart.diff(schedulerModeStartTime, 'minutes') <= 0 ? schedulerModeStartTime : visitStart;\r\n const plannedEndDate = plannedEnd.diff(schedulerModeEndTime, 'minutes') >= 0 ? schedulerModeEndTime : plannedEnd;\r\n\r\n if (visitEnded) {\r\n const visitEndDate =\r\n parseDateUtc(visitEnded).diff(schedulerModeEndTime, 'minutes') >= 0 ? schedulerModeEndTime : visitEnded;\r\n const realEnd = parseDateUtc(visitEndDate);\r\n if (realEnd.isBefore(plannedStartDate, 'minute')) {\r\n return cellLengthInMinutes;\r\n }\r\n\r\n return { allowedDuration: realEnd.diff(plannedStartDate, 'minutes'), visitStartMargin: 0, travelStartMargin: 0 };\r\n }\r\n\r\n const realDuration = plannedEnd.diff(visitStart, 'minutes');\r\n\r\n const allowedDuration = plannedEndDate.diff(plannedStartDate, 'minutes');\r\n const visitStartMargin =\r\n plannedStart.diff(schedulerModeStartTime, 'minutes') <= 0\r\n ? schedulerModeStartTime.diff(plannedStart, 'minutes')\r\n : 0;\r\n const travelStartMargin =\r\n plannedStart.diff(schedulerModeStartTime, 'minutes') <= 0\r\n ? schedulerModeStartTime.diff(plannedStart, 'minutes')\r\n : 0;\r\n\r\n return { realDuration, allowedDuration, visitStartMargin, travelStartMargin };\r\n };\r\n\r\n getAllowedTravelDuration = (plannedStart, visitStart, schedulerModeStartTime, schedulerModeEndTime) => {\r\n const isBeforeStart = plannedStart.diff(schedulerModeStartTime, 'minutes') < 0;\r\n return isBeforeStart\r\n ? visitStart.diff(schedulerModeStartTime, 'minutes')\r\n : schedulerModeEndTime.diff(plannedStart, 'minutes');\r\n };\r\n\r\n getTravelDuration = (plannedStart, visitStart, schedulerModeStartTime, schedulerModeEndTime) => {\r\n if (!this.isValidPeriod(plannedStart, visitStart, schedulerModeStartTime, schedulerModeEndTime)) return 0;\r\n\r\n const realDuration = visitStart.diff(plannedStart, 'minutes');\r\n const allowedTravelDuration = this.getAllowedTravelDuration(\r\n plannedStart,\r\n visitStart,\r\n schedulerModeStartTime,\r\n schedulerModeEndTime,\r\n );\r\n\r\n return allowedTravelDuration < realDuration ? allowedTravelDuration : realDuration;\r\n };\r\n\r\n hasVisit = (visitStart, visitEnd, schedulerModeStartTime, schedulerModeEndTime) =>\r\n visitStart.isBetween(schedulerModeStartTime, schedulerModeEndTime, null, '[)') ||\r\n visitEnd.isBetween(schedulerModeStartTime, schedulerModeEndTime, null, '(]') ||\r\n (parseDateUtc(visitStart).isBefore(schedulerModeStartTime) && parseDateUtc(visitEnd).isAfter(schedulerModeEndTime));\r\n\r\n calculateDurations = (assignment, schedulerStartTime, schedulerEndTime) => {\r\n const { visualEndDate, visitStarted, visitEnded, visitStartDate, startDate } = assignment;\r\n const schedulerModeStartTime = parseDateUtc(schedulerStartTime);\r\n const schedulerModeEndTime = parseDateUtc(schedulerEndTime);\r\n\r\n const plannedStart = parseDateUtc(startDate);\r\n const visualEnd = parseDateUtc(visualEndDate);\r\n const visitStart = parseDateUtc(visitStarted || visitStartDate);\r\n const travelTime = this.getTravelDuration(plannedStart, visitStart, schedulerModeStartTime, schedulerModeEndTime);\r\n const hasVisit = this.hasVisit(visitStart, visualEnd, schedulerModeStartTime, schedulerModeEndTime);\r\n\r\n const { allowedDuration, visitStartMargin, travelStartMargin } = this.getDuration(\r\n plannedStart,\r\n visitStart,\r\n visualEnd,\r\n visitEnded,\r\n schedulerModeStartTime,\r\n schedulerModeEndTime,\r\n );\r\n\r\n return {\r\n allowedDuration,\r\n visitStartMargin,\r\n travelStartMargin: travelTime > 0 ? travelStartMargin : 0,\r\n travelTime,\r\n hasVisit,\r\n hasTravel: travelTime > 0,\r\n };\r\n };\r\n\r\n handleInfoClick = event => {\r\n // This prevents ghost click.\r\n event.preventDefault();\r\n this.setState({\r\n open: true,\r\n anchorEl: event.currentTarget,\r\n });\r\n };\r\n\r\n handleRequestClose = () => {\r\n this.setState({\r\n open: false,\r\n });\r\n };\r\n\r\n toggleVisibility = element => () => {\r\n const propName = `${element}Expanded`;\r\n this.setState({\r\n [propName]: !this.state[propName],\r\n });\r\n };\r\n\r\n hideFunction = (element, e) => {\r\n e.stopPropagation();\r\n if (this[`${element}Toggle`] && !this[`${element}Toggle`].contains(e.target)) {\r\n this.collapseSpecific(element);\r\n }\r\n };\r\n\r\n hideTravel = e => {\r\n this.hideFunction('travel', e);\r\n };\r\n\r\n hideInfo = e => {\r\n this.hideFunction('info', e);\r\n };\r\n\r\n collapseSpecific = element => {\r\n this.setState({\r\n [`${element}Expanded`]: false,\r\n });\r\n };\r\n\r\n isLocked = () => {\r\n const { hasAssignedCopies, treatmentInstanceStatus } = this.props.assignment;\r\n return hasAssignedCopies || treatmentInstanceStatus === TreatmentInstanceStatus.InProgress;\r\n };\r\n\r\n travelLabel = () => {\r\n const { travelStaggering } = this.props.assignment;\r\n const timeLabel = travelStaggering\r\n ? moment.duration(travelStaggering, 'hours').format(globals.durationFormats.travel)\r\n : '';\r\n\r\n return `${locale.getMsg('travelStaggering')}: ${timeLabel}`;\r\n };\r\n\r\n vistitLabel = () => {\r\n const { visitStartDate, endDate } = this.props.assignment;\r\n const visitStartedLabel = visitStartDate\r\n ? moment(visitStartDate)\r\n .utcOffset(0, true)\r\n .format(globals.timeFormats.short)\r\n : '';\r\n const visitEndedLabel = endDate\r\n ? moment(endDate)\r\n .utcOffset(0, true)\r\n .format(globals.timeFormats.short)\r\n : '';\r\n\r\n let timeLabel = visitStartedLabel;\r\n timeLabel = `${timeLabel} - ${visitEndedLabel}`;\r\n\r\n return `${locale.getMsg('planned')}: ${timeLabel}`;\r\n };\r\n\r\n isValidPeriod = (startTime, endTime, startRangeDate, endRangeDate) =>\r\n startTime.isBetween(startRangeDate, endRangeDate, null, '[)') ||\r\n endTime.isBetween(startRangeDate, endRangeDate, null, '(]') ||\r\n (parseDateUtc(startTime).isBefore(startRangeDate) && parseDateUtc(endTime).isAfter(endRangeDate));\r\n\r\n isWithInValidPeriod = (startTime, endTime, startRangeDate, endRangeDate) =>\r\n startTime.isBetween(startRangeDate, endRangeDate, null, '[)') &&\r\n endTime.isBetween(startRangeDate, endRangeDate, null, '(]');\r\n\r\n visitTime = () => {\r\n const { visitStarted, visitStatus } = this.props.assignment;\r\n\r\n if (visitStarted === null || visitStatus === AssignmentVisitState.OnTime) {\r\n return '';\r\n }\r\n\r\n return (\r\n \r\n access_time\r\n \r\n );\r\n };\r\n\r\n renderLock = tooltipMsg => (\r\n \r\n );\r\n\r\n render() {\r\n const { infoExpanded, travelExpanded } = this.state;\r\n const {\r\n canAllocateWork,\r\n assignment,\r\n connectDragSource,\r\n isDragging,\r\n isAnythingDragged,\r\n assignGuid,\r\n schedulerModeStartTime,\r\n schedulerModeEndTime,\r\n } = this.props;\r\n const {\r\n primaryLabel,\r\n visitStarted,\r\n visitEnded,\r\n visitStartDate,\r\n visitStatus,\r\n assignedCopiesCount,\r\n totalCopiesCount,\r\n isCollapsed,\r\n isOverlapping,\r\n endDate,\r\n secondaryLabel,\r\n isReviewDate,\r\n visitSchedule,\r\n cardType,\r\n assignmentType,\r\n postcode,\r\n ragStatus,\r\n isWithinMileageCap,\r\n } = assignment;\r\n\r\n const visitStart = parseDateUtc(visitStarted || visitStartDate);\r\n const startLabel = visitStart.format(globals.timeFormats.short);\r\n const endLabel = parseDateUtc(visitEnded || endDate).format(globals.timeFormats.short);\r\n\r\n let timeLabel = `${startLabel} - ${endLabel}`;\r\n if (assignment.visitStarted !== null && assignment.visitEnded === null) {\r\n const currEnd = moment(assignment.visitStarted)\r\n .add(assignment.activitiesTotalDuration, 'minutes')\r\n .utcOffset(0, true)\r\n .format(globals.timeFormats.short);\r\n timeLabel = `${startLabel} - ${currEnd}`;\r\n }\r\n\r\n const {\r\n allowedDuration,\r\n visitStartMargin,\r\n travelStartMargin,\r\n travelTime,\r\n hasTravel,\r\n hasVisit,\r\n } = this.calculateDurations(assignment, schedulerModeStartTime, schedulerModeEndTime);\r\n\r\n const cardWidth = cardWidthToPixels(allowedDuration);\r\n const infoExpand = infoExpanded ? ' card-open expand' : ' card-closed';\r\n\r\n let lock;\r\n let isMasterRow;\r\n let iconHide;\r\n let assignmentInfoClass = '';\r\n let schedule = '';\r\n let copy = '';\r\n let overlapping = '';\r\n let retrospective = '';\r\n if (cardType === cardTypes.ADDITIONAL_CLINICIAN || cardType === cardTypes.OVERRIDDEN_CLINICIAN) {\r\n copy = '-copy';\r\n }\r\n if (visitSchedule === AssignmentVisitSchedule.SpecificTime) {\r\n schedule = '-fixed';\r\n } else if (visitSchedule === AssignmentVisitSchedule.SingleTimeSlot) {\r\n schedule = '-timeslot';\r\n } else if (visitSchedule === AssignmentVisitSchedule.MultipleTimeSlots) {\r\n schedule = '-multipletimeslot';\r\n }\r\n if (isOverlapping === true) {\r\n overlapping = '-overlapping';\r\n }\r\n\r\n if (cardType === cardTypes.RETROSPECTIVE_VISIT) {\r\n retrospective = '-retro';\r\n }\r\n const assignmentStatusClass = `asw-event-card--${visitStatus.toLowerCase()}${schedule}${copy}${retrospective}${overlapping}${\r\n isCollapsed ? '-overlap' : ''\r\n }`;\r\n\r\n if (assignmentType === AssignmentType.NonPatientAssignment) {\r\n isMasterRow = ;\r\n assignmentInfoClass = ' assignment-info assignment-npa';\r\n } else if (assignment.isMasterOrReview && totalCopiesCount !== 0) {\r\n if (assignment.hasAssignedCopies) {\r\n isMasterRow = (\r\n \r\n {`+${assignedCopiesCount}`}\r\n \r\n );\r\n } else {\r\n isMasterRow = ;\r\n }\r\n assignmentInfoClass = ' assignment-info assignment-master';\r\n } else if (assignment.isMasterOrReview && totalCopiesCount === 0) {\r\n isMasterRow = ;\r\n assignmentInfoClass = ' assignment-info assignment-master';\r\n } else if (!assignment.isMasterOrReview) {\r\n isMasterRow = ;\r\n assignmentInfoClass = ' assignment-info assignment-copy';\r\n }\r\n\r\n if (cardWidth <= 50) {\r\n iconHide = ' showTwoicons ';\r\n } else if (cardWidth <= 33) {\r\n iconHide = ' hideicons ';\r\n } else {\r\n iconHide = ' showicons ';\r\n }\r\n\r\n if (this.isLocked()) {\r\n if (assignment.hasAssignedCopies) {\r\n lock = this.renderLock('assignmentHasAssignedCopies');\r\n } else {\r\n lock = this.renderLock('assignmentHasStarted');\r\n }\r\n }\r\n\r\n const assigmentInfo = (\r\n \r\n {hasVisit && (\r\n \r\n
    \r\n
    \r\n
    {secondaryLabel}
    \r\n
    {primaryLabel}
    \r\n
    \r\n
    \r\n \r\n {!isWithinMileageCap && (\r\n \r\n track_changes\r\n \r\n )}\r\n {isMasterRow}\r\n {isReviewDate === true ? : ''}\r\n {lock}\r\n \r\n \r\n \r\n \r\n \r\n {this.visitTime()}\r\n {timeLabel}\r\n \r\n {assignmentType !== AssignmentType.PatientAssignment ? postcode : null}\r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n const assignmentNodeClass = `${visitStatus.toLowerCase()} content ${isDragging ? 'dragging' : ''} `;\r\n const positiveTravelTimeClass = `travel asw-event-card--travel${isCollapsed ? '-overlap' : ''}${\r\n isOverlapping ? '-overlapping' : ''\r\n } `;\r\n const assignmentNode = (\r\n
    \r\n {hasTravel && (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n {canAllocateWork ? connectDragSource(assigmentInfo, { dropEffect: 'move' }) : assigmentInfo}\r\n
    \r\n );\r\n const timelineAssignGuid = `timelineAssignGuid${assignGuid}`;\r\n const ref = this.setRef('preview');\r\n return (\r\n
    \r\n {assignmentNode}\r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTimelineAssignment.defaultProps = {\r\n isDraggable: false,\r\n};\r\n\r\nTimelineAssignment.propTypes = {\r\n canAllocateWork: PropTypes.bool.isRequired,\r\n connectDragSource: PropTypes.func.isRequired,\r\n isAnythingDragged: PropTypes.bool.isRequired,\r\n assignment: PropTypes.shape({\r\n postcode: PropTypes.string,\r\n assignmentType: PropTypes.string,\r\n travelStaggering: PropTypes.string,\r\n isReviewDate: PropTypes.bool,\r\n duration: PropTypes.number,\r\n startDate: PropTypes.string,\r\n visitStartDate: PropTypes.string,\r\n visitStatus: PropTypes.string,\r\n visitStarted: PropTypes.string,\r\n visitEnded: PropTypes.string,\r\n endDate: PropTypes.string,\r\n effectiveTimeSlots: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n from: PropTypes.string,\r\n to: PropTypes.string,\r\n }),\r\n ),\r\n activitiesTotalDuration: PropTypes.number,\r\n hasAssignedCopies: PropTypes.bool,\r\n treatmentInstanceStatus: PropTypes.string,\r\n }).isRequired,\r\n isDragging: PropTypes.bool.isRequired,\r\n // Used in drag and drop\r\n /* eslint-disable react/no-unused-prop-types */\r\n assignGuid: PropTypes.number.isRequired,\r\n /* eslint-enable */\r\n outOfAvailabilityOffset: PropTypes.number.isRequired,\r\n // jwtToken: PropTypes.string.isRequired,\r\n schedulerModeStartTime: PropTypes.string.isRequired,\r\n schedulerModeEndTime: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default DragSource(ASSIGNMENT, assignmentSource, collect)(TimelineAssignment);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextField from 'material-ui/TextField';\r\nimport moment from 'moment';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { grey100 } from '../../../theme/AllocateColors';\r\nimport Spinner from '../../../components/common/Spinner/Spinner';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\nconst treatmentLocale = globals.getArea('treatments');\r\nconst styles = {\r\n tooltipContent: { width: '95%', backgroundColor: grey100, margin: '0 0 3% 3%' },\r\n h5: { marginLeft: '3%' },\r\n textField: { width: '95%', backgroundColor: grey100, margin: '0 0 3% 3%' },\r\n textFiledUnderlineDisabledStyle: { borderWidth: 0, borderColor: grey100 },\r\n bold: { fontWeight: 'bold' },\r\n italic: { fontStyle: 'italic' },\r\n};\r\n\r\nconst defaultTimeSlots = [];\r\nclass TimelineAssignmentPopover extends React.Component {\r\n componentDidMount() {\r\n this.props.getAssignmentInfo(this.props.treatmentInstanceId);\r\n this.props.getHomeToVisitPostcodeDistance(this.props.treatmentInstanceId, this.props.assignmentId);\r\n }\r\n\r\n componentWillUnmount = () => {\r\n this.props.resetPopover();\r\n this.props.dismissError();\r\n };\r\n\r\n formatHour = date => moment(date).format(globals.timeFormats.short);\r\n\r\n sortByName = (a, b) => {\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n };\r\n\r\n render() {\r\n const { description, timeSlots = defaultTimeSlots, treatmentInstanceId, distance, failureMessage } = this.props;\r\n\r\n const tooltipContent = (\r\n
    \r\n {[\r\n
    \r\n \r\n {locale.getMsg('treatmentSlots')}\r\n \r\n
    ,\r\n timeSlots.sort(this.sortByName).map(({ id, from, to, name }) => (\r\n
    \r\n {`${name ? `${name}: ` : ''}${this.formatHour(from) + (from === to ? '' : ` - ${this.formatHour(to)}`)}`}\r\n
    \r\n )),\r\n ]}\r\n {this.props.isFetchingDistance ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n {`${locale.getMsg('visitDistance')} `}\r\n {failureMessage ? (\r\n
    {failureMessage}
    \r\n ) : (\r\n {`${distance} ${locale.getMsg('miles')}`}\r\n )}\r\n
    \r\n )}\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n
    {treatmentLocale.getMsg('treatmentDescription')}
    \r\n {description ? (\r\n \r\n ) : (\r\n
    \r\n {`${treatmentLocale.getMsg('descriptionEmpty')} `}\r\n
    \r\n )}\r\n {tooltipContent}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nTimelineAssignmentPopover.defaultProps = {\r\n description: '',\r\n timeSlots: [],\r\n distance: '',\r\n};\r\n\r\nTimelineAssignmentPopover.propTypes = {\r\n treatmentInstanceId: PropTypes.number.isRequired,\r\n assignmentId: PropTypes.number.isRequired,\r\n failureMessage: PropTypes.string.isRequired,\r\n description: PropTypes.string,\r\n distance: PropTypes.string,\r\n getAssignmentInfo: PropTypes.func.isRequired,\r\n dismissError: PropTypes.func.isRequired,\r\n getHomeToVisitPostcodeDistance: PropTypes.func.isRequired,\r\n resetPopover: PropTypes.func.isRequired,\r\n isFetchingDistance: PropTypes.bool.isRequired,\r\n timeSlots: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n from: PropTypes.string,\r\n to: PropTypes.string,\r\n }),\r\n ),\r\n};\r\n\r\nexport default TimelineAssignmentPopover;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport TimelineAssignment from '../../../containers/DailyPlanning/TimelineAssignment/TimelineAssignmentContainer';\r\nimport TimelineDropCell from '../TimelineDropCell/TimelineDropCell';\r\nimport _ from '../../../utils/lodash';\r\nimport { pixelMultiplier, cellLengthInMinutes as cellLength } from '../../../settings/scheduler';\r\nimport { parseDateUtc } from '../../../utils/dates';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport gradePropTypes from '../../../propTypes/entities/grade';\r\nimport assignmentPropTypes from '../../../propTypes/entities/assignment';\r\nimport LunchBreak from '../../../containers/DailyPlanning/LunchBreak/LunchBreaks';\r\nimport { AssignmentVisitState } from '../../../enums';\r\n\r\nfunction parseDate(date) {\r\n return moment(date || new Date(0)).utcOffset(0, true);\r\n}\r\n\r\nfunction sortAssigmentsByVisualStartDate(a, b) {\r\n const startA = parseDate(a.visualStartDate);\r\n const startB = parseDate(b.visualStartDate);\r\n return startA - startB;\r\n}\r\n\r\nfunction sortAssigmentsByStartDate(a, b) {\r\n const startA = parseDate(a.visitStarted || a.visitStartDate);\r\n const startB = parseDate(b.visitStarted || b.visitStartDate);\r\n return startA - startB;\r\n}\r\n\r\nconst isValidRangePeriod = (start, end, startRangeDate, endRangeDate) =>\r\n parseDateUtc(start).isBetween(parseDateUtc(startRangeDate), parseDateUtc(endRangeDate), null, '[)') ||\r\n parseDateUtc(end).isBetween(parseDateUtc(startRangeDate), parseDateUtc(endRangeDate), null, '(]') ||\r\n (parseDateUtc(start).isBefore(startRangeDate) && parseDateUtc(end).isAfter(endRangeDate));\r\n\r\nclass TimelineAvailability extends React.Component {\r\n // shouldComponentUpdate = nextProps => {\r\n // const {\r\n // postingId,\r\n // canAllocateWork,\r\n // availabilityId,\r\n // sortedAssignments,\r\n // first,\r\n // availability,\r\n // previousItemEnd,\r\n // clinicianGrade,\r\n // clinicianId,\r\n // } = this.props;\r\n // let shouldUpdateBasedOnAvailability = false;\r\n // const shouldUpdateBase =\r\n // postingId !== nextProps.postingId ||\r\n // canAllocateWork !== nextProps.canAllocateWork ||\r\n // availabilityId !== nextProps.availabilityId ||\r\n // first !== nextProps.first ||\r\n // previousItemEnd !== nextProps.previousItemEnd ||\r\n // clinicianGrade !== nextProps.clinicianGrade ||\r\n // clinicianId !== nextProps.clinicianId;\r\n\r\n // if (availability) {\r\n // const { dropCellTargets, assignGuid, startDate, endDate } = availability;\r\n\r\n // shouldUpdateBasedOnAvailability =\r\n // assignGuid !== nextProps.availability.assignGuid ||\r\n // sortedAssignments.map(a => a.assignGuid).join(',') !==\r\n // nextProps.sortedAssignments.map(a => a.assignGuid).join(',') ||\r\n // dropCellTargets.join(',') !== nextProps.availability.dropCellTargets.join(',') ||\r\n // startDate !== nextProps.availability.startDate ||\r\n // endDate !== nextProps.availability.endDate;\r\n // }\r\n\r\n // return availability !== null && (shouldUpdateBase || shouldUpdateBasedOnAvailability);\r\n // };\r\n\r\n getAviStyle = () => {\r\n const leftMarginInMinutes = this.calculateMargins(this.props);\r\n const availabilityEndDate = parseDateUtc(this.props.availability.endDate);\r\n const schedulerModeEndTime = parseDateUtc(this.props.schedulerModeEndTime);\r\n const durationEndDate =\r\n availabilityEndDate.diff(schedulerModeEndTime, 'minutes') >= 0 ? schedulerModeEndTime : availabilityEndDate;\r\n\r\n const availabilityDuration = durationEndDate.diff(parseDateUtc(this.props.availability.startDate), 'minutes');\r\n\r\n // +1px/-1px border fix\r\n const width = availabilityDuration * pixelMultiplier + 1;\r\n const marginLeft = leftMarginInMinutes * pixelMultiplier - !this.props.first;\r\n return { width: `${width}px`, marginLeft: `${marginLeft}px` };\r\n };\r\n\r\n // Add 4 mins 59 secs to the start date\r\n getCellEndDate = startDate =>\r\n startDate\r\n .clone()\r\n .add(moment.duration(cellLength, 'minutes'))\r\n .subtract(1, 'second')\r\n .format(globals.dateFormats.localApiFormat);\r\n\r\n getCellCheckDatesAndTravelTimes = (previousAssignmentIndex, fakeIndex, sortedAssignments, availability) => ({\r\n // General idea behind the functions:\r\n // If the assignment we select as previous/next turns out to be the currently dragged one,\r\n // use the previous/next one in the array as a fallback.\r\n // If neither exists, use availability start/end.\r\n endDateToCheckAndNextTravelTime: draggedAssignGuid => {\r\n for (let i = fakeIndex; i < sortedAssignments.length; i += 1) {\r\n const nextAssignment = sortedAssignments[i];\r\n if (nextAssignment.assignGuid !== draggedAssignGuid && nextAssignment.assignGuid !== availability.assignGuid) {\r\n const endDate = nextAssignment.visitStarted || nextAssignment.visitStartDate;\r\n if (draggedAssignGuid === availability.assignGuid) {\r\n return {\r\n endDateToCheck: nextAssignment.visualStartDate,\r\n nextAssignmentTravelTime: 0,\r\n };\r\n }\r\n return {\r\n endDateToCheck: endDate,\r\n nextAssignmentTravelTime: nextAssignment.travelTime,\r\n };\r\n }\r\n }\r\n return {\r\n endDateToCheck: availability.endDate,\r\n nextAssignmentTravelTime: 0,\r\n };\r\n },\r\n startDateToCheckAndPreviousTravelTime: draggedAssignGuid => {\r\n for (let i = previousAssignmentIndex; i >= 0; i -= 1) {\r\n let previousAssignment = sortedAssignments[i];\r\n const previousPreviousAssignment = sortedAssignments[i - 1];\r\n\r\n if (previousPreviousAssignment && previousPreviousAssignment.visualEndDate > previousAssignment.visualEndDate) {\r\n previousAssignment = previousPreviousAssignment;\r\n }\r\n\r\n if (\r\n previousAssignment.assignGuid !== draggedAssignGuid &&\r\n previousAssignment.assignGuid !== availability.assignGuid\r\n ) {\r\n const startDate = parseDate(previousAssignment.visualEndDate).isBefore(parseDate(availability.startDate))\r\n ? availability.startDate\r\n : previousAssignment.visualEndDate;\r\n if (draggedAssignGuid === availability.assignGuid) {\r\n return {\r\n startDateToCheck: startDate,\r\n previousAssignmentTravelTime: 0,\r\n };\r\n }\r\n return {\r\n startDateToCheck: startDate,\r\n previousAssignmentTravelTime: previousAssignment.travelTime,\r\n };\r\n }\r\n }\r\n return {\r\n startDateToCheck: availability.startDate,\r\n previousAssignmentTravelTime: 0,\r\n };\r\n },\r\n });\r\n\r\n calculateMargins = ({ previousItemEnd, availability }) => {\r\n const { startDate } = availability;\r\n return moment(startDate)\r\n .utcOffset(0, true)\r\n .diff(moment(previousItemEnd).utcOffset(0, true), 'minutes');\r\n };\r\n\r\n calculateEndDate = (availabilityEndDate, schedulerModeEndTime) => {\r\n const endDate = parseDateUtc(availabilityEndDate);\r\n const schedulerEndDate = parseDateUtc(schedulerModeEndTime);\r\n\r\n return endDate.diff(schedulerEndDate, 'minutes') <= 0 ? endDate : schedulerEndDate;\r\n };\r\n\r\n generateCells = () => {\r\n const {\r\n availability,\r\n canAllocateWork,\r\n availability: { dropCellTargets },\r\n postingId,\r\n clinicianGrade,\r\n availabilityId,\r\n clinicianId,\r\n schedulerModeStartTime,\r\n schedulerModeEndTime,\r\n } = this.props;\r\n let { sortedAssignments } = this.props;\r\n const cells = [];\r\n const availabilityEndDate = this.calculateEndDate(availability.endDate, schedulerModeEndTime);\r\n\r\n sortedAssignments = _.filter(sortedAssignments, assignment => {\r\n const { startDate, endDate, visitStatus, visualStartDate, visualEndDate } = assignment;\r\n const isEarlyCompleted =\r\n visitStatus === AssignmentVisitState.Complete || visitStatus === AssignmentVisitState.Complete;\r\n const startTime = isEarlyCompleted ? visualStartDate : startDate;\r\n const endTime = isEarlyCompleted ? visualEndDate : endDate;\r\n\r\n const isValid = isValidRangePeriod(startTime, endTime, schedulerModeStartTime, schedulerModeEndTime);\r\n return isValid;\r\n });\r\n\r\n sortedAssignments.sort((a, b) => sortAssigmentsByVisualStartDate(a, b));\r\n const sortedAssignmentsByVisit = sortedAssignments.slice(0);\r\n sortedAssignmentsByVisit.sort((a, b) => sortAssigmentsByStartDate(a, b));\r\n const assignmentsExist = sortedAssignments.length > 0;\r\n // These variables will change with iterations of the loop,\r\n // these are just the initial values\r\n let currentStartDate = parseDateUtc(availability.startDate);\r\n let nextAssignmentIndex = 0;\r\n let dropCellIndex = 0;\r\n const assignMap = [];\r\n\r\n // CellProps are wrapped in a function,\r\n // so that they always return relevant data as the assignment index changes\r\n const getCellProps = () => {\r\n let fakeIndex = nextAssignmentIndex;\r\n let previousAssignmentIndex = fakeIndex - 1;\r\n const previousAssignment = sortedAssignments[previousAssignmentIndex];\r\n if (previousAssignment) {\r\n const isAfterTravelTime = moment.utc(previousAssignment.visualStartDate).isBefore(currentStartDate);\r\n const startTime =\r\n previousAssignment.visitStarted != null ? previousAssignment.visitStarted : previousAssignment.visitStartDate;\r\n const isBeforeStartTime = moment.utc(startTime).isAfter(currentStartDate);\r\n\r\n if (isAfterTravelTime && isBeforeStartTime) {\r\n previousAssignmentIndex -= 1;\r\n fakeIndex -= 1;\r\n }\r\n }\r\n\r\n return {\r\n targets: dropCellTargets[dropCellIndex],\r\n canAllocateWork,\r\n postingId,\r\n clinicianGrade,\r\n clinicianId,\r\n startDate: currentStartDate.format(globals.dateFormats.localApiFormat),\r\n endDate: this.getCellEndDate(currentStartDate),\r\n key: `timelineDropCell${currentStartDate}${availabilityId}`,\r\n // Setting things here saves resources inside 'canDrop' of the drop cells\r\n ...this.getCellCheckDatesAndTravelTimes(\r\n previousAssignmentIndex,\r\n fakeIndex,\r\n sortedAssignmentsByVisit,\r\n availability,\r\n ),\r\n };\r\n };\r\n // We'll call this to move currentStartDate forward by a single cell's length\r\n const updateCurrentStartDate = () => {\r\n dropCellIndex += 1;\r\n currentStartDate = currentStartDate.add(moment.duration(cellLength, 'minutes'));\r\n };\r\n\r\n const updateAssignMap = (index, count, travelCellOffset) => {\r\n for (let i = index + travelCellOffset; i < index + count; i += 1) {\r\n assignMap[i] = true;\r\n }\r\n };\r\n\r\n const addVisit = (nextAssignment, outOfAvailabilityOffset) => {\r\n if (assignmentsExist && nextAssignment) {\r\n if (currentStartDate.isSameOrAfter(parseDateUtc(nextAssignment.visualStartDate))) {\r\n // currentStartDate == nextAssignment.startDate means we\r\n // should add the assignment and drop cells underneath\r\n // (orAfter serves only as a fallback, shouldn't happen under normal circumstances)\r\n const { assignGuid, postcode } = nextAssignment;\r\n if (assignGuid === availability.assignGuid) {\r\n const restStart = parseDateUtc(availability.restStart);\r\n const schedulerModeStart = parseDateUtc(schedulerModeStartTime);\r\n const duration = restStart.isBefore(schedulerModeStart) ? restStart.diff(schedulerModeStart, 'minutes') : 0;\r\n cells.push(\r\n ,\r\n );\r\n } else {\r\n const isOutsideTimeFrame =\r\n parseDateUtc(nextAssignment.visualStartDate).diff(parseDateUtc(schedulerModeStartTime), 'minutes') < 0 &&\r\n nextAssignment.visitStatus === AssignmentVisitState.Complete;\r\n\r\n cells.push(\r\n // We pass only the assignmentId to the component,\r\n // since it's a container and will get the relevant data from the store by itself\r\n ,\r\n );\r\n }\r\n const visualStartDate = parseDateUtc(nextAssignment.visualStartDate);\r\n const visualEndDate = parseDateUtc(nextAssignment.visualEndDate);\r\n const visitStartDate = parseDateUtc(nextAssignment.visitStarted || nextAssignment.visitStartDate);\r\n const travelCellOffset = visitStartDate.diff(visualStartDate, 'minutes') / cellLength;\r\n if (outOfAvailabilityOffset === 0) {\r\n updateAssignMap(\r\n dropCellIndex,\r\n visualEndDate.diff(visualStartDate, 'minutes') / cellLength,\r\n travelCellOffset,\r\n );\r\n }\r\n\r\n nextAssignmentIndex += 1;\r\n // // Airbnb hates loops for some reason\r\n // // eslint-disable-next-line no-continue\r\n }\r\n }\r\n };\r\n\r\n // Main loop, will iterate until currentStartDate == availabilityEndDate\r\n do {\r\n // Push the Assignments\r\n const nextAssignment = sortedAssignments[nextAssignmentIndex];\r\n if (nextAssignment) {\r\n // const isBetweenTimeFrame =\r\n // parseDateUtc(availability.startDate).diff(parseDateUtc(schedulerModeStartTime), 'minutes') > 0 &&\r\n // nextAssignment.visitStatus === AssignmentVisitState.Complete;\r\n\r\n // const minutesBeforeAvailabilityStart = isBetweenTimeFrame\r\n // ? parseDateUtc(availability.startDate).diff(parseDateUtc(nextAssignment.visualStartDate), 'minutes')\r\n // : 0;\r\n const minutesBeforeAvailabilityStart = parseDateUtc(availability.startDate).diff(\r\n parseDateUtc(nextAssignment.visualStartDate),\r\n 'minutes',\r\n );\r\n const outOfAvailabilityOffset = minutesBeforeAvailabilityStart > 0 ? minutesBeforeAvailabilityStart : 0;\r\n addVisit(nextAssignment, outOfAvailabilityOffset);\r\n if (minutesBeforeAvailabilityStart > 0) {\r\n // eslint-disable-next-line no-continue\r\n continue;\r\n }\r\n }\r\n\r\n // No assignment logic to handle,\r\n // generate cells until we hit nextAssignment's start date or availabilityEndDate\r\n cells.push();\r\n\r\n updateCurrentStartDate();\r\n } while (currentStartDate.isBefore(availabilityEndDate));\r\n return cells;\r\n };\r\n\r\n render() {\r\n if (!this.props.availability) return null;\r\n\r\n const { availabilityId } = this.props;\r\n return (\r\n
    \r\n {this.generateCells()}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nTimelineAvailability.defaultProps = {\r\n itemType: null,\r\n sortedAssignments: [],\r\n};\r\n\r\nTimelineAvailability.propTypes = {\r\n postingId: PropTypes.number.isRequired,\r\n canAllocateWork: PropTypes.bool.isRequired,\r\n availabilityId: PropTypes.number.isRequired,\r\n sortedAssignments: PropTypes.arrayOf(assignmentPropTypes),\r\n availability: PropTypes.shape({\r\n restStart: PropTypes.string,\r\n restDuration: PropTypes.number,\r\n dropCellTargets: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)),\r\n duration: PropTypes.number,\r\n start: PropTypes.string,\r\n end: PropTypes.string,\r\n id: PropTypes.number,\r\n startDate: PropTypes.string,\r\n endDate: PropTypes.string,\r\n }).isRequired,\r\n // Used for calculating margins and getting relevant activites\r\n /* eslint-disable react/no-unused-prop-types */\r\n first: PropTypes.bool.isRequired,\r\n previousItemEnd: PropTypes.string.isRequired,\r\n clinicianGrade: gradePropTypes.isRequired,\r\n clinicianId: PropTypes.number.isRequired,\r\n schedulerModeEndTime: PropTypes.string.isRequired,\r\n schedulerModeStartTime: PropTypes.string.isRequired,\r\n /* eslint-enable */\r\n};\r\n\r\nexport default TimelineAvailability;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { DropTarget } from 'react-dnd';\r\nimport moment from 'moment';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { TREATMENTINSTANCE } from '../TreatmentInstance/TreatmentInstance';\r\nimport { ASSIGNMENT } from '../TimelineAssignment/TimelineAssignment';\r\nimport { LUNCHBREAK } from '../LunchBreak/LunchBreak';\r\nimport { cellLengthInMinutes as cellLength } from '../../../settings/scheduler';\r\n\r\nexport const dropCellTarget = {\r\n canDrop(props, monitor) {\r\n // Check if time have passed, we don't deal with passed assignments\r\n // Note: Time across the whole JS application is not synced with the Server Time,\r\n // we need to address this for all places using current time\r\n const item = monitor.getItem();\r\n\r\n const { schedulingDisabled } = item;\r\n if (schedulingDisabled) return false;\r\n\r\n // Check if pre-validation allowes the source\r\n if (props.targets !== undefined && props.targets.indexOf(item.assignGuid) >= 0) {\r\n const momentStartDate = moment(props.startDate).utcOffset(0, true);\r\n const { requiredTime, assignGuid } = item;\r\n // Functions that return the correct data based on the dragged assignGuid\r\n // Check TimelineAvailability.jsx > getCellCheckDatesAndTravelTimes for the logic inside\r\n const { startDateToCheck, previousAssignmentTravelTime } = props.startDateToCheckAndPreviousTravelTime(\r\n assignGuid,\r\n );\r\n const { endDateToCheck, nextAssignmentTravelTime } = props.endDateToCheckAndNextTravelTime(assignGuid);\r\n const requiredEndDate = momentStartDate.clone().add(requiredTime + nextAssignmentTravelTime, 'minutes');\r\n const requiredStartDate = momentStartDate.clone().subtract(previousAssignmentTravelTime, 'minutes');\r\n\r\n return (\r\n moment(requiredEndDate).isSameOrBefore(moment(endDateToCheck).utcOffset(0, true)) &&\r\n moment(requiredStartDate).isSameOrAfter(moment(startDateToCheck).utcOffset(0, true)) &&\r\n moment(requiredStartDate).isSameOrAfter(globals.now.utcOffset(0, true))\r\n );\r\n }\r\n return false;\r\n },\r\n\r\n drop({ postingId, startDate }, monitor) {\r\n if (monitor.didDrop()) {\r\n return false;\r\n }\r\n return {\r\n postingId,\r\n startDate,\r\n };\r\n },\r\n};\r\n\r\nfunction collect(connect, monitor) {\r\n return {\r\n connectDropTarget: connect.dropTarget(),\r\n canDrop: monitor.canDrop(),\r\n isOver: monitor.isOver(),\r\n isDragging: monitor.isDragging,\r\n isAnythingDragged: monitor.getItemType() !== null,\r\n };\r\n}\r\n\r\nclass TimelineDropCell extends React.Component {\r\n shouldComponentUpdate(nextProps) {\r\n return (\r\n this.props.canDrop !== nextProps.canDrop ||\r\n this.props.isAnythingDragged !== nextProps.isAnythingDragged ||\r\n this.props.isOver !== nextProps.isOver ||\r\n this.props.isAssigned !== nextProps.isAssigned ||\r\n this.props.targets.join(',') !== nextProps.targets.join(',')\r\n );\r\n }\r\n render() {\r\n const {\r\n connectDropTarget,\r\n canDrop,\r\n isAssigned,\r\n isAnythingDragged,\r\n canAllocateWork,\r\n startDate,\r\n isOver,\r\n } = this.props;\r\n // Css hovers don't work once drag has started\r\n const hoverStyle =\r\n isOver && canDrop\r\n ? {\r\n backgroundColor: isAssigned ? '#bdd974' : '#00b1eb',\r\n border: isAssigned ? '0.5px solid #a0c938' : '0.5px solid #00709f',\r\n }\r\n : undefined;\r\n const assignmentClass = isAssigned ? 'assigned-cell' : '';\r\n const canDropClass = canDrop ? 'cell-can-drop' : 'cell-cannot-drop';\r\n const isDragInProgressClass = isAnythingDragged ? 'drag-in-progress' : '';\r\n const cellStyle = `cell cell-${cellLength} ${assignmentClass} ${canDropClass} ${isDragInProgressClass}`;\r\n const cell =
    ;\r\n return canAllocateWork ? connectDropTarget(cell) : cell;\r\n }\r\n}\r\n\r\nTimelineDropCell.defaultProps = {\r\n isAnythingDragged: false,\r\n isAssigned: false,\r\n targets: [],\r\n};\r\n\r\nTimelineDropCell.propTypes = {\r\n canAllocateWork: PropTypes.bool.isRequired,\r\n connectDropTarget: PropTypes.func.isRequired,\r\n canDrop: PropTypes.bool.isRequired,\r\n isAnythingDragged: PropTypes.bool,\r\n isOver: PropTypes.bool.isRequired,\r\n // Used in drag and drop\r\n /* eslint-disable react/no-unused-prop-types */\r\n targets: PropTypes.arrayOf(PropTypes.number),\r\n startDate: PropTypes.string.isRequired,\r\n endDate: PropTypes.string.isRequired,\r\n clinicianId: PropTypes.number.isRequired,\r\n /* eslint-enable */\r\n isAssigned: PropTypes.bool,\r\n};\r\n\r\nexport default DropTarget([TREATMENTINSTANCE, ASSIGNMENT, LUNCHBREAK], dropCellTarget, collect)(TimelineDropCell);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { shouldUpdate } from 'recompose';\r\nimport TimelineAvailability from '../../../containers/DailyPlanning/TimelineAvailability/TimelineAvailabilityContainer';\r\nimport gradePropTypes from '../../../propTypes/entities/grade';\r\n\r\nclass TimelineRow extends React.Component {\r\n getClinicianRowStyle = () => ({ width: `${this.props.dayWidth}px` });\r\n\r\n render() {\r\n const { availabilities, clinicianGrade, canAllocateWork, dayStart, postingId, clinicianId, dayEnd } = this.props;\r\n const clinicianAvailabilities = availabilities.map((el, i) => (\r\n \r\n ));\r\n\r\n return (\r\n
  • \r\n {clinicianAvailabilities}\r\n
  • \r\n );\r\n }\r\n}\r\n\r\nTimelineRow.propTypes = {\r\n canAllocateWork: PropTypes.bool.isRequired,\r\n clinicianGrade: gradePropTypes.isRequired,\r\n availabilities: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n start: PropTypes.start,\r\n end: PropTypes.string,\r\n id: PropTypes.number,\r\n }),\r\n ).isRequired,\r\n dayWidth: PropTypes.number.isRequired,\r\n dayStart: PropTypes.string.isRequired,\r\n dayEnd: PropTypes.string.isRequired,\r\n postingId: PropTypes.number.isRequired,\r\n clinicianId: PropTypes.number.isRequired,\r\n};\r\n\r\nTimelineRow.defaultProps = {\r\n clinicianName: 'No full name',\r\n clinicianBand: 'No band set',\r\n availabilities: [],\r\n};\r\n\r\nconst checkPropsChange = (props, nextProps) =>\r\n true ||\r\n props.postingId !== nextProps.postingId ||\r\n props.clinicianId !== nextProps.clinicianId ||\r\n props.dayStart !== nextProps.dayStart ||\r\n props.dayWidth !== nextProps.dayWidth;\r\n\r\nexport default shouldUpdate(checkPropsChange)(TimelineRow);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport _ from '../../../utils/lodash';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport TimelineRow from '../TimelineRow/TimelineRow';\r\nimport { hourWidth } from '../../../settings/scheduler';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport gradePropTypes from '../../../propTypes/entities/grade';\r\nimport { parseDateUtc } from '../../../utils/dates';\r\nimport { cardTypes } from '../../../settings/constants/cardTypes';\r\nimport { AssignmentVisitSchedule, AssignmentVisitState, AssignmentType } from '../../../enums';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\nclass Timeline extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { scrollNumber: 0 };\r\n\r\n this.isComponentMount = true;\r\n }\r\n\r\n componentDidMount() {\r\n window.addEventListener('scroll', this.handleScrollThrottled);\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n return (\r\n this.state.scrollNumber !== nextState.scrollNumber ||\r\n this.props.now !== nextProps.now ||\r\n this.props.dayStart !== nextProps.dayStart ||\r\n this.props.dayEnd !== nextProps.dayEnd ||\r\n this.props.postings.length !== nextProps.postings.length ||\r\n this.getJoinedPostingIds(this.props) !== this.getJoinedPostingIds(nextProps) ||\r\n this.getJoinedAvailabilitiesAssignGuids(this.props) !== this.getJoinedAvailabilitiesAssignGuids(nextProps)\r\n );\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('scroll', this.handleScrollThrottled);\r\n }\r\n\r\n /* eslint-disable class-methods-use-this */\r\n getJoinedAvailabilitiesAssignGuids(target) {\r\n return target.postings.map(p => p.availabilities.map(a => a.assignGuid).join(',')).join(',');\r\n }\r\n\r\n getJoinedPostingIds(target) {\r\n return target.postings.map(p => p.id).join(',');\r\n }\r\n /* eslint-enable class-methods-use-this */\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n getDayWidth = () => this.getDayHours() * hourWidth;\r\n getDayHours = () =>\r\n Math.ceil(moment.duration(this.parsedDayEnd.diff(this.parsedDayStart.startOf('hour'))).asMinutes() / 60);\r\n getHoursFromDayStart = () =>\r\n moment.duration(this.parsedNow.diff(this.parsedDayStart.startOf('hour'))).asMinutes() / 60;\r\n\r\n getHeaderStyle = dayWidth => ({ width: `${dayWidth}px`, transform: `translateY(${this.state.scrollNumber}px)` });\r\n\r\n parseHours = date => parseInt(this.parseDate(date).hours(), 10);\r\n parseDate = date => moment(date).utcOffset(0, true);\r\n\r\n get parsedDayEnd() {\r\n return this.parseDate(this.props.dayEnd).clone();\r\n }\r\n get parsedDayStart() {\r\n return this.parseDate(this.props.dayStart).clone();\r\n }\r\n get parsedNow() {\r\n return this.parseDate(this.props.now).clone();\r\n }\r\n\r\n isToday = () => this.parsedNow.isBefore(this.parsedDayEnd) && this.parsedNow.isAfter(this.parsedDayStart);\r\n\r\n generateTimelineHeader = () => {\r\n const dayHours = this.getDayHours();\r\n const headerCellStyle = { width: `${hourWidth}px` };\r\n const timelineHeader = [];\r\n\r\n for (let i = 0; i < dayHours; i += 1) {\r\n timelineHeader.push(\r\n
    \r\n {this.parsedDayStart.add(i, 'hours').format(globals.timeFormats.timelineHeader)}\r\n
    ,\r\n );\r\n }\r\n\r\n return timelineHeader;\r\n };\r\n\r\n generateTimelineRows = dayWidth =>\r\n this.props.postings.map(el => {\r\n const dayStart = this.parsedDayStart.startOf('hour').format(globals.dateFormats.localApiFormat);\r\n const dayEnd = this.parsedDayEnd.startOf('hour').format(globals.dateFormats.localApiFormat);\r\n return (\r\n \r\n );\r\n });\r\n\r\n generateCurrTimeStyle = (height, transform) => ({ height, transform });\r\n\r\n generateCurrentTime = () => {\r\n const currentTime = this.getHoursFromDayStart() * hourWidth;\r\n const { scrollNumber } = this.state;\r\n const headerHeight = 37;\r\n const height = `calc(100% - ${scrollNumber + headerHeight}px)`;\r\n const transform = `translate(${currentTime + 150}px, ${scrollNumber + headerHeight}px)`;\r\n const currentTimeStyle = this.generateCurrTimeStyle(height, transform);\r\n return (\r\n
    \r\n {locale.getMsg('current')}\r\n
    \r\n );\r\n };\r\n\r\n handleScroll = () => {\r\n const scrollTops = this.timelineWrapper.getBoundingClientRect().top;\r\n let nextScrollTopPosition;\r\n if (scrollTops <= 0) {\r\n nextScrollTopPosition = Math.abs(scrollTops) - 1;\r\n } else {\r\n nextScrollTopPosition = 0;\r\n }\r\n this.setState({ scrollNumber: nextScrollTopPosition });\r\n };\r\n handleScrollThrottled = _.throttle(this.handleScroll, 10, { trailing: true });\r\n\r\n isValidSlicedItemBefore = (start, end, startRangeDate, endRangeDate) =>\r\n parseDateUtc(start).diff(startRangeDate, 'minutes') < 0 &&\r\n parseDateUtc(end).isBetween(startRangeDate, endRangeDate);\r\n\r\n isValidSlicedItemAfter = (start, end, startRangeDate, endRangeDate) =>\r\n parseDateUtc(start).isBetween(startRangeDate, endRangeDate) && parseDateUtc(end).diff(endRangeDate, 'minutes') > 0;\r\n\r\n generateTimelineSlicedAssignments = (postings, dayStart, dayEnd, isValidSlicedItemHandler, isLeft) =>\r\n postings.map(p => {\r\n const schedulerModeStartTimeObject = parseDateUtc(dayStart);\r\n const schedulerModeEndTimeObject = parseDateUtc(dayEnd);\r\n\r\n const slicedItemRender = () => {\r\n let assignments = [];\r\n _.each(p.availabilities, av => {\r\n const postingAssignments = _.filter(av.assignments, assignment => {\r\n const { startDate, endDate, visitStatus, visualStartDate, visualEndDate } = assignment;\r\n const isEarlyCompleted =\r\n visitStatus === AssignmentVisitState.Complete || visitStatus === AssignmentVisitState.Complete;\r\n\r\n const startTime = isEarlyCompleted ? visualStartDate : startDate;\r\n const endTime = isEarlyCompleted ? visualEndDate : endDate;\r\n\r\n return isValidSlicedItemHandler(\r\n startTime,\r\n endTime,\r\n schedulerModeStartTimeObject,\r\n schedulerModeEndTimeObject,\r\n );\r\n });\r\n\r\n if (postingAssignments != null && postingAssignments.length > 0) {\r\n assignments = _.concat(postingAssignments, assignments);\r\n }\r\n });\r\n\r\n if (assignments != null && assignments.length > 0) {\r\n let assignmentTypeClass = 'planned';\r\n const slicedAssignment = assignments[0];\r\n const { visitSchedule, cardType, visitStatus, assignmentType } = slicedAssignment;\r\n\r\n if (assignmentType === AssignmentType.LunchBreak) return null;\r\n\r\n const visitStart = parseDateUtc(slicedAssignment.visitStarted || slicedAssignment.visitStartDate);\r\n const visitEnd = parseDateUtc(slicedAssignment.visualEndDate);\r\n\r\n switch (visitStatus) {\r\n case AssignmentVisitState.Planned:\r\n if (cardType === cardTypes.ADDITIONAL_CLINICIAN || cardType === cardTypes.OVERRIDDEN_CLINICIAN) {\r\n assignmentTypeClass += '-copy';\r\n }\r\n if (visitSchedule === AssignmentVisitSchedule.SpecificTime) {\r\n assignmentTypeClass += '-fixed';\r\n } else if (visitSchedule === AssignmentVisitSchedule.SingleTimeSlot) {\r\n assignmentTypeClass += '-timeslot';\r\n }\r\n break;\r\n case AssignmentVisitState.Behind:\r\n assignmentTypeClass = 'behind';\r\n break;\r\n case AssignmentVisitState.Ahead:\r\n assignmentTypeClass = 'ahead';\r\n break;\r\n case AssignmentVisitState.Complete:\r\n assignmentTypeClass = 'complete';\r\n break;\r\n default:\r\n assignmentTypeClass = 'planned';\r\n }\r\n\r\n const itemLeftStyle = isLeft\r\n ? `assignment-info-wrapper asw-event-card--${assignmentTypeClass}-offset left`\r\n : `assignment-info-wrapper asw-event-card--${assignmentTypeClass}-offset`;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {visitStatus !== AssignmentVisitState.Complete && (\r\n
    \r\n \r\n \r\n {parseDateUtc(slicedAssignment.startDate).format(globals.timeFormats.short)} -{' '}\r\n {visitStart.format(globals.timeFormats.short)}\r\n \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n {visitStart.format(globals.timeFormats.short)} - {visitEnd.format(globals.timeFormats.short)}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n return null;\r\n };\r\n\r\n return (\r\n
  • \r\n {slicedItemRender()}\r\n
  • \r\n );\r\n });\r\n\r\n calculateBeforeAssignments = () => {\r\n const { isNightMode, dayStart, dayEnd, postings } = this.props;\r\n\r\n const beforeAssignments = this.generateTimelineSlicedAssignments(\r\n postings,\r\n dayStart,\r\n dayEnd,\r\n this.isValidSlicedItemBefore,\r\n true,\r\n );\r\n const headerText = isNightMode\r\n ? parseDateUtc(dayStart)\r\n .format('Do MMM')\r\n .concat(' Day')\r\n : parseDateUtc(dayStart)\r\n .hour(-1)\r\n .format('Do MMM')\r\n .concat(' Night');\r\n\r\n return { headerText, beforeAssignments };\r\n };\r\n\r\n calculateAfterAssignments = () => {\r\n const { isNightMode, dayStart, dayEnd, postings } = this.props;\r\n\r\n const afterAssignments = this.generateTimelineSlicedAssignments(\r\n postings,\r\n dayStart,\r\n dayEnd,\r\n this.isValidSlicedItemAfter,\r\n );\r\n const headerAfterText = isNightMode\r\n ? parseDateUtc(dayEnd)\r\n .format('Do MMM')\r\n .concat(' Day')\r\n : parseDateUtc(dayStart)\r\n .format('Do MMM')\r\n .concat(' Night');\r\n\r\n return { headerAfterText, afterAssignments };\r\n };\r\n\r\n render() {\r\n const { postings, isFetching, isAutoAllocating } = this.props;\r\n const header = this.generateTimelineHeader();\r\n const dayWidth = this.getDayWidth();\r\n const timelineRows = this.generateTimelineRows(dayWidth);\r\n const { headerText, beforeAssignments } = this.calculateBeforeAssignments();\r\n const { headerAfterText, afterAssignments } = this.calculateAfterAssignments();\r\n const hasNoData = !postings || postings.length < 1;\r\n\r\n if (hasNoData || isFetching || isAutoAllocating) {\r\n let msg = locale.getMsg('noCliniciansAvailable');\r\n if (this.isComponentMount || isFetching) {\r\n msg = 'Fetching data...';\r\n } else if (isAutoAllocating) {\r\n msg = 'Auto Allocation is in progress...';\r\n }\r\n\r\n if (this.isComponentMount) {\r\n this.isComponentMount = false;\r\n }\r\n return
    {msg}
    ;\r\n }\r\n\r\n return (\r\n
    \r\n {this.isToday() && this.generateCurrentTime()}\r\n \r\n
    \r\n
    \r\n {headerText}\r\n
    \r\n
    \r\n
      {beforeAssignments}
    \r\n
    \r\n \r\n
    \r\n {header}\r\n
    \r\n
      {timelineRows}
    \r\n
    \r\n \r\n
    \r\n
    \r\n {headerAfterText}\r\n
    \r\n
    \r\n
      {afterAssignments}
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nTimeline.propTypes = {\r\n postings: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n name: PropTypes.string,\r\n grade: gradePropTypes.isRequired,\r\n clinician: PropTypes.shape({\r\n clinician: PropTypes.string,\r\n surname: PropTypes.string,\r\n }),\r\n availabilities: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n start: PropTypes.start,\r\n end: PropTypes.string,\r\n id: PropTypes.number,\r\n }),\r\n ),\r\n }),\r\n ).isRequired,\r\n canAllocateWork: PropTypes.bool.isRequired,\r\n dayStart: PropTypes.string.isRequired,\r\n dayEnd: PropTypes.string.isRequired,\r\n now: PropTypes.string.isRequired,\r\n isNightMode: PropTypes.bool.isRequired,\r\n isFetching: PropTypes.bool.isRequired,\r\n isAutoAllocating: PropTypes.bool.isRequired,\r\n};\r\nexport default Timeline;\r\n","import React from 'react';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport UnallocateIcon from 'material-ui/svg-icons/action/assignment-return';\r\nimport AutoAllocateIcon from 'material-ui/svg-icons/action/assignment';\r\nimport AutoAllocateIndicator from '../../../containers/DailyPlanning/AutoAllocate/AutoAllocateIndicatorContainer';\r\nimport DropdownWrapper from '../../common/DropdownWrapper/DropdownWrapper';\r\nimport SelectableList from '../../common/SelectableList/SelectableList';\r\nimport { options as sortingOptions } from '../../../settings/constants/sorting';\r\nimport { raisedButtonStyle } from '../../../theme/AllocateBaseTheme';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport Spinner from '../../common/Spinner/Spinner';\r\nimport { lowerFirstLetter } from '../../../utils/helpers';\r\nimport { autoAllocationStatuses } from '../../../settings/constants';\r\nimport ConfirmationDialog from '../../common/ConfirmationDialog/ConfirmationDialog';\r\nimport { addDaysToDate } from '../../../utils/datetimeconverter';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\nconst iconSize = 21;\r\nconst styles = {\r\n teamName: { textAlign: 'center', width: '100%' },\r\n button: { width: iconSize, height: iconSize },\r\n sorting: ['icon-sort-ascending icon-xsmall', 'icon-sort-descending icon-xsmall'],\r\n};\r\nconst autoAllocateButton = ;\r\nconst autoUnallocateButton = ;\r\n\r\nclass TreatmentFilterBox extends React.Component {\r\n state = { showClearAllocationsConfirmation: false };\r\n\r\n componentDidMount() {\r\n this.startUpdates(30000);\r\n }\r\n\r\n componentWillReceiveProps(prevProps) {\r\n if (this.props.syncProgress !== prevProps.syncProgress && this.props.syncProgress === 100) {\r\n this.props.refreshScheduler();\r\n }\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n return (\r\n this.props.autoAllocate !== nextProps.autoAllocate ||\r\n this.props.autoUnallocate !== nextProps.autoUnallocate ||\r\n this.props.selectedDate !== nextProps.selectedDate ||\r\n this.props.selectedTeam !== nextProps.selectedTeam ||\r\n this.props.autoAllocationProgress !== nextProps.autoAllocationProgress ||\r\n this.props.autoAllocationStatus !== nextProps.autoAllocationStatus ||\r\n this.props.isUnAllocating !== nextProps.isUnAllocating ||\r\n this.props.autoAllocationTeamName !== nextProps.autoAllocationTeamName ||\r\n this.props.autoAllocateTeamId !== nextProps.autoAllocateTeamId ||\r\n this.props.autoAllocateDate !== nextProps.autoAllocateDate ||\r\n this.props.serverDateTime !== nextProps.serverDateTime ||\r\n this.props.createAutoAllocationLog !== nextProps.createAutoAllocationLog ||\r\n this.state.showClearAllocationsConfirmation !== nextState.showClearAllocationsConfirmation\r\n );\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.intervalId);\r\n }\r\n\r\n getSelectedTeamOption = () => [\r\n {\r\n index: this.props.teams.findIndex(el => el.id === this.props.selectedTeam),\r\n },\r\n ];\r\n\r\n getSelectedSortingOption = () => [\r\n {\r\n index: sortingOptions.findIndex(el => el === this.props.sorting.orderBy),\r\n clickedBefore: this.props.sorting.orderDir !== 'asc',\r\n },\r\n ];\r\n\r\n unallocate = () =>\r\n this.setState({\r\n showClearAllocationsConfirmation: true,\r\n });\r\n\r\n selectItem = selectedItems => this.props.updateFilters({ selectedTeam: selectedItems[0].id });\r\n\r\n autoAllocate = () =>\r\n this.props.autoAllocate({\r\n date: this.props.selectedDate,\r\n orgUnitId: this.props.selectedTeam,\r\n isNightMode: this.props.isNightMode,\r\n createLog: this.props.createAutoAllocationLog,\r\n });\r\n\r\n startUpdates = interval => {\r\n this.periodicUpdate();\r\n if (this.intervalId) {\r\n clearInterval(this.intervalId);\r\n }\r\n this.intervalId = setInterval(this.periodicUpdate, interval);\r\n };\r\n\r\n handleClearAllocationsCancel = () => {\r\n this.setState({\r\n showClearAllocationsConfirmation: false,\r\n });\r\n };\r\n\r\n handleClearAllocationsConfirm = () => {\r\n this.setState({\r\n showClearAllocationsConfirmation: false,\r\n });\r\n this.props.autoUnallocate({\r\n date: this.props.selectedDate,\r\n orgUnitId: this.props.selectedTeam,\r\n isNightMode: this.props.isNightMode,\r\n });\r\n };\r\n\r\n periodicUpdate = () => {\r\n const { getServicesDetails } = this.props;\r\n getServicesDetails();\r\n };\r\n\r\n render() {\r\n const {\r\n setSorting,\r\n canAllocateWork,\r\n autoAllocationHeartBeat,\r\n serverDateTime,\r\n selectedDate,\r\n selectedTeam,\r\n teams,\r\n isUnAllocating,\r\n autoAllocationProgress,\r\n autoAllocationStatus,\r\n autoAllocationTeamName,\r\n autoAllocateDate,\r\n autoAllocateTeamId,\r\n } = this.props;\r\n\r\n const enableAutoAllocate = addDaysToDate(this.props.selectedDate, 1) > globals.now;\r\n const disabled = !teams || teams.length === 0;\r\n const autoAllocationHeartBeatTimeout =\r\n moment(serverDateTime).diff(moment(autoAllocationHeartBeat), 'minutes') >\r\n globals.consts.autoallocationHeartbeatDuration;\r\n return (\r\n
    \r\n
    \r\n {!disabled ? (\r\n \r\n {\r\n \r\n }\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n
    \r\n {canAllocateWork === true ? (\r\n
    \r\n
    \r\n {(autoAllocationStatus === autoAllocationStatuses.IDLE && !isUnAllocating) ||\r\n autoAllocationHeartBeatTimeout ? (\r\n
    \r\n {' '}\r\n \r\n \r\n
    \r\n ) : (\r\n
    \r\n
    {autoAllocationTeamName}
    \r\n {locale.getMsg(\r\n isUnAllocating ? lowerFirstLetter('unallocating') : lowerFirstLetter(autoAllocationStatus),\r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n {autoAllocationStatus !== autoAllocationStatuses.IDLE &&\r\n !autoAllocationHeartBeatTimeout &&\r\n autoAllocateTeamId === selectedTeam &&\r\n autoAllocateDate === selectedDate ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n {isUnAllocating ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTreatmentFilterBox.defaultProps = {\r\n autoAllocationHeartBeat: 1000,\r\n autoAllocationTeamName: '',\r\n createAutoAllocationLog: false,\r\n autoAllocateTeamId: null,\r\n autoAllocateDate: '',\r\n};\r\n\r\nTreatmentFilterBox.propTypes = {\r\n setSorting: PropTypes.func.isRequired,\r\n sorting: PropTypes.shape({\r\n orderBy: PropTypes.string,\r\n orderDir: PropTypes.string,\r\n }).isRequired,\r\n teams: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n name: PropTypes.string.isRequired,\r\n isActive: PropTypes.bool.isRequired,\r\n }),\r\n ).isRequired,\r\n updateFilters: PropTypes.func.isRequired,\r\n autoAllocate: PropTypes.func.isRequired,\r\n autoUnallocate: PropTypes.func.isRequired,\r\n selectedDate: PropTypes.string.isRequired,\r\n selectedTeam: PropTypes.number.isRequired,\r\n autoAllocationStatus: PropTypes.string.isRequired,\r\n canAllocateWork: PropTypes.bool.isRequired,\r\n getServicesDetails: PropTypes.func.isRequired,\r\n autoAllocationProgress: PropTypes.number.isRequired,\r\n autoAllocationTeamName: PropTypes.string,\r\n isUnAllocating: PropTypes.bool.isRequired,\r\n serverDateTime: PropTypes.string.isRequired,\r\n autoAllocationHeartBeat: PropTypes.string,\r\n createAutoAllocationLog: PropTypes.bool.isRequired,\r\n syncProgress: PropTypes.number.isRequired,\r\n refreshScheduler: PropTypes.func.isRequired,\r\n autoAllocateTeamId: PropTypes.number,\r\n autoAllocateDate: PropTypes.string,\r\n isNightMode: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default TreatmentFilterBox;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport FlatButton from 'material-ui/FlatButton';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { nursing500 } from '../../../theme/AllocateColors';\r\n\r\nconst locale = globals.getArea('treatments');\r\nconst labelStyle = {\r\n textTransform: 'initial',\r\n color: nursing500,\r\n};\r\nclass TreatmentInstanceDialogOpener extends React.Component {\r\n onClick = async () => {\r\n const { onOpen, show, id, getTreatmentData, treatmentId, treatmentInstanceId, occurrence } = this.props;\r\n onOpen(id);\r\n show(id);\r\n await getTreatmentData(treatmentId, treatmentInstanceId, occurrence);\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nTreatmentInstanceDialogOpener.defaultProps = {\r\n onOpen: () => {},\r\n};\r\n\r\nTreatmentInstanceDialogOpener.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n show: PropTypes.func.isRequired,\r\n treatmentId: PropTypes.number.isRequired,\r\n treatmentInstanceId: PropTypes.number.isRequired,\r\n occurrence: PropTypes.string.isRequired,\r\n getTreatmentData: PropTypes.func.isRequired,\r\n onOpen: PropTypes.func,\r\n};\r\n\r\nexport default TreatmentInstanceDialogOpener;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport FlatButton from 'material-ui/FlatButton';\r\nimport Formsy from 'formsy-react';\r\nimport { FormsyText } from 'formsy-material-ui/lib';\r\nimport { cancellationReasonsEndpoint } from '../../../../settings/constants';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport TreatmentInstanceDialogHeader from './../TreatmentInstanceDialogHeader/TreatmentInstanceDialogHeader';\r\nimport ApiSelector from '../../../../containers/common/selectors/selectorContainer';\r\nimport { Treatment, TreatmentDefaultProps } from '../../../../propTypes/entities/treatment';\r\nimport treatmentInstancePropType from '../../../../propTypes/entities/treatmentInstance';\r\nimport { textFieldStyle, multiLineText } from '../../../../theme/AllocateBaseTheme';\r\n\r\nconst errorsLocale = globals.getArea('error');\r\nconst locale = globals.getArea('treatments');\r\nconst riskMaxLength = 500;\r\nconst styles = {\r\n submitButton: { display: 'flex', flexDirection: 'column' },\r\n backButton: { justifyContent: 'flex-start' },\r\n riskAssesment: { ...multiLineText.style, width: '100%' },\r\n};\r\nclass TreatmentInstanceDialogCancellation extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n canSubmit: false,\r\n };\r\n this.errorMessages = {\r\n maxLength: errorsLocale.getMsg('validationMaxLength', [`${riskMaxLength}`]),\r\n };\r\n this.validations = { maxLength: riskMaxLength };\r\n }\r\n\r\n enableButton = () => {\r\n this.setState({\r\n canSubmit: true,\r\n });\r\n };\r\n\r\n disableButton = () => {\r\n this.setState({\r\n canSubmit: false,\r\n });\r\n };\r\n\r\n save = async model => {\r\n const { cancel, treatment, treatmentInstanceId, treatmentInstance, onClose, dateAt } = this.props;\r\n const { reasonId, riskAssesment } = model;\r\n\r\n try {\r\n await cancel(treatment.id, treatmentInstanceId, reasonId, riskAssesment, dateAt, treatmentInstance.timeSlots);\r\n } catch (error) {\r\n return;\r\n }\r\n\r\n onClose();\r\n };\r\n\r\n render() {\r\n const { onClose, onBack } = this.props;\r\n return (\r\n \r\n \r\n {locale.getMsg('cancelTreatment')}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nTreatmentInstanceDialogCancellation.defaultProps = {\r\n treatment: TreatmentDefaultProps,\r\n treatmentInstance: null,\r\n};\r\n\r\nTreatmentInstanceDialogCancellation.propTypes = {\r\n dateAt: PropTypes.string.isRequired,\r\n treatment: Treatment,\r\n treatmentInstance: treatmentInstancePropType,\r\n onClose: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default TreatmentInstanceDialogCancellation;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport Formsy from 'formsy-react';\r\nimport moment from 'moment';\r\nimport { FormsyDate } from 'formsy-material-ui/lib';\r\nimport Checkbox from 'material-ui/Checkbox';\r\nimport { Tabs, Tab } from 'material-ui/Tabs';\r\nimport TextField from 'material-ui/TextField';\r\nimport _ from '../../../../utils/lodash';\r\nimport { textFieldStyle, datePickerStyle, common, tabStyles, multiLineText } from '../../../../theme/AllocateBaseTheme';\r\nimport { doubleActionPrevent, refSetter, formatNhs } from '../../../../utils/helpers';\r\nimport { getDateForApi } from '../../../../utils/dates';\r\nimport TreatmentInstanceDialogHeader from '../TreatmentInstanceDialogHeader/TreatmentInstanceDialogHeader';\r\nimport TimeSlotsMatrix from '../../../Treatments/TreatmentSchedule/TimeSlots/TimeSlotsMatrix';\r\nimport globals from '../../../../globals/communityGlobals';\r\n\r\nimport { FormsyTime } from '../../../../components/common/Formsy';\r\nimport ApiSelector from '../../../../containers/common/selectors/selectorContainer';\r\nimport ActivitiesSummary from '../../../../containers/common/ActivitiesSummary/ActivitiesSummaryContainer';\r\nimport { teamsEndpoint, activitiesEndpoint, cardTypes } from '../../../../settings/constants';\r\nimport recurrenceTypes from '../../../../settings/constants/recurrenceTypes';\r\nimport treatmentStatuses from '../../../../settings/constants/treatmentStatuses';\r\nimport { treatmentInstanceDialogActions } from '../TreatmentInstanceDialog';\r\n\r\nimport { Treatment, TreatmentDefaultProps } from '../../../../propTypes/entities/treatment';\r\nimport treatmentInstancePropType from '../../../../propTypes/entities/treatmentInstance';\r\nimport timeSlotsPackagePropType from '../../../../propTypes/entities/timeSlotsPackage';\r\n\r\nconst locale = globals.getArea('treatments');\r\nconst localeErrors = globals.getArea('error');\r\nconst styles = {\r\n dialogContent: { margin: '0 8px' },\r\n activitiesRow: { overflow: 'hidden' },\r\n treatmentDescription: { marginBottom: '1%', color: '#00b5ee' },\r\n underlineDisabled: { borderWidth: 0, borderColor: '#f5f5f5' },\r\n specificTime: { opacity: '1' },\r\n notSpecificTime: { opacity: '0.5' },\r\n specificTimeDefault: { opacity: '1', margin: '0 auto' },\r\n notSpecificTimeDefault: { opacity: '0.5', margin: '0 auto' },\r\n timeSlotCheckbox: { paddingTop: '20px' },\r\n saveButton: { display: 'flex', flexDirection: 'row', marginTop: '20px' },\r\n isClosed: { display: true },\r\n isNotClosed: { display: false },\r\n};\r\n\r\nconst timeSlotsActions = {\r\n EDIT: 'EDIT',\r\n};\r\n\r\nclass TreatmentInstanceDialogEdition extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isSpecific: true,\r\n canSubmit: true,\r\n };\r\n this.validations = {\r\n isInPresentOrFutureOrExact: this.props.dateAt,\r\n isSameOrBeforeDate: this.props.occurenceRange.max,\r\n };\r\n this.validationErrors = {\r\n isInPresentOrFutureOrExact: localeErrors.getMsg('cannotBeInThePast'),\r\n isSameOrBeforeDate: localeErrors.getMsg('treatmentInstanceDatePastNextOccurenceOrEndDate'),\r\n };\r\n }\r\n\r\n componentDidMount = () => {\r\n const { treatmentInstance, timeSlotsMatrixDraft } = this.props;\r\n const isSpecific = treatmentInstance.isSpecificTime;\r\n this.setState({ isSpecific });\r\n if (this.timeSlots && timeSlotsMatrixDraft) {\r\n this.timeSlots.setValue(timeSlotsMatrixDraft);\r\n }\r\n };\r\n\r\n onOccurenceChange = (event, newOccurence) => {\r\n const { occurenceRange, changeDialogAction, dateAt } = this.props;\r\n const newOccurenceAt = moment(newOccurence);\r\n const oldOccurenceAt = moment(dateAt);\r\n const nowAt = globals.now;\r\n\r\n const isInRange =\r\n moment(occurenceRange.min).isSameOrBefore(newOccurenceAt) &&\r\n moment(occurenceRange.max).isSameOrAfter(newOccurenceAt);\r\n\r\n const isTodayOrFuture = nowAt.isSame(newOccurenceAt, 'day') || nowAt.isBefore(newOccurenceAt);\r\n\r\n const isRescheduled = !newOccurenceAt.isSame(oldOccurenceAt, 'day');\r\n const isValid = isTodayOrFuture && isRescheduled && isInRange;\r\n\r\n if (isValid) {\r\n // Dirty 'fix' for some formsy/material-ui post-dismount updates\r\n setTimeout(() => {\r\n changeDialogAction(treatmentInstanceDialogActions.MOVE, {\r\n moveAtDraft: newOccurence,\r\n });\r\n }, 1);\r\n } else if (!isRescheduled) {\r\n // Not rescheduled therefore reset\r\n changeDialogAction(null, {\r\n moveAtDraft: undefined,\r\n moveAt: undefined,\r\n movedReasonId: undefined,\r\n movedRiskAssessment: undefined,\r\n });\r\n }\r\n };\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n getOriginalTeams = () => this.props.treatment.orgUnits;\r\n\r\n getTimeSlotsPackage = (treatmentInstance, defaultTimeSlotPackage) =>\r\n treatmentInstance.timeSlotPackage || defaultTimeSlotPackage;\r\n\r\n getUpdateModelForSpecificTime = (props, model) => {\r\n const { treatment, treatmentInstanceId, treatmentInstance, moveAt, movedReasonId, movedRiskAssessment } = props;\r\n\r\n return {\r\n treatmentId: treatment.id,\r\n treatmentInstanceId,\r\n isSpecific: true,\r\n movedReasonId: moveAt ? movedReasonId : undefined,\r\n movedRiskAssessment: moveAt ? movedRiskAssessment : undefined,\r\n occurenceDate: moveAt ? getDateForApi(moveAt) : undefined,\r\n occurenceOriginalDate: getDateForApi(treatmentInstance.occurrence),\r\n specificTimeFrom: getDateForApi(model.specificTimeFrom),\r\n orgUnitIds: model.orgUnitId ? [model.orgUnitId] : treatmentInstance.orgUnitIds,\r\n treatmentInstanceType: treatmentInstance.cardType,\r\n };\r\n };\r\n\r\n getUpdateModelForTimeslots = (props, model) => {\r\n const {\r\n treatment,\r\n treatmentInstanceId,\r\n defaultTimeSlotPackage,\r\n treatmentInstance,\r\n moveAt,\r\n movedReasonId,\r\n movedRiskAssessment,\r\n } = props;\r\n const timeSlotsPackage = this.getTimeSlotsPackage(treatment, defaultTimeSlotPackage);\r\n\r\n return {\r\n treatmentId: treatment.id,\r\n treatmentInstanceId,\r\n isSpecific: false,\r\n movedReasonId: moveAt ? movedReasonId : undefined,\r\n movedRiskAssessment: moveAt ? movedRiskAssessment : undefined,\r\n occurenceDate: moveAt ? getDateForApi(moveAt) : undefined,\r\n occurenceOriginalDate: getDateForApi(treatmentInstance.occurrence),\r\n orgUnitIds: model.orgUnitId ? [model.orgUnitId] : treatmentInstance.orgUnitIds,\r\n timeSlotsMatrix: model.timeSlotsMatrix,\r\n timeSlotPackageId: timeSlotsPackage ? timeSlotsPackage.id : undefined,\r\n treatmentInstanceType: treatmentInstance.cardType,\r\n };\r\n };\r\n\r\n getSpecificTime = treatmentInstance => {\r\n const { newSpecificTimeFrom } = this.props;\r\n const effectiveTimeSlot = treatmentInstance.effectiveTimeSlots ? treatmentInstance.effectiveTimeSlots[0] : null;\r\n\r\n if (newSpecificTimeFrom) return newSpecificTimeFrom;\r\n return treatmentInstance.isSpecificTime && effectiveTimeSlot ? new Date(effectiveTimeSlot.from) : undefined;\r\n };\r\n\r\n setNewSpecificTimeFrom = (event, value) => {\r\n this.props.changeDialogAction(null, {\r\n newSpecificTimeFrom: value,\r\n });\r\n };\r\n\r\n setNewOrgUnitDraft = (event, key, indexes) => {\r\n this.props.changeDialogAction(null, {\r\n newOrgUnit: indexes,\r\n });\r\n };\r\n\r\n getOrgUnitValue = () => (this.props.newOrgUnit ? { id: this.props.newOrgUnit } : undefined);\r\n\r\n enableButton = () => {\r\n this.setState({ canSubmit: true });\r\n };\r\n\r\n disableButton = () => {\r\n this.setState({ canSubmit: false });\r\n };\r\n\r\n save = doubleActionPrevent.bind(this)(\r\n 'Save',\r\n async model => {\r\n const { save } = this.props;\r\n const modelUpdated = this.state.isSpecific\r\n ? this.getUpdateModelForSpecificTime(this.props, model)\r\n : this.getUpdateModelForTimeslots(this.props, model);\r\n\r\n save(modelUpdated);\r\n },\r\n () => {\r\n const { onClose } = this.props;\r\n onClose();\r\n },\r\n );\r\n\r\n handleFormChange = (values, isChanged) => {\r\n const { treatmentInstance, changeDialogAction, timeSlotsMatrixDraft } = this.props;\r\n if (isChanged) {\r\n if (\r\n !_.isEqual(values.timeSlotsMatrix, treatmentInstance.selectedTimeSlots) &&\r\n !_.isEqual(values.timeSlotsMatrix, timeSlotsMatrixDraft)\r\n ) {\r\n changeDialogAction(null, { timeSlotsMatrixDraft: values.timeSlotsMatrix });\r\n }\r\n } else {\r\n changeDialogAction(null, { timeSlotsMatrixDraft: undefined });\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n treatment,\r\n onClose,\r\n defaultTimeSlotPackage,\r\n dateAt,\r\n treatmentInstance,\r\n occurenceRange,\r\n cardType,\r\n moveAt,\r\n canIteract,\r\n } = this.props;\r\n const { isSpecific, canSubmit } = this.state;\r\n const isMasterOrReview = cardType === cardTypes.MASTER || cardType === cardTypes.REVIEW;\r\n const isMaster = cardType === cardTypes.MASTER;\r\n const isClosed = treatment.status === treatmentStatuses.CLOSED;\r\n return (\r\n
    \r\n
    \r\n

    {locale.getMsg('patientInfoHeader', [treatment.patientFullName, formatNhs(treatment.nhsNumber)])}

    \r\n
    \r\n \r\n {locale.getMsg('treatmentDetails')}\r\n \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n a.id)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    {locale.getMsg('treatmentDescription')}
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {defaultTimeSlotPackage.timeSlots && (\r\n \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {isClosed && locale.getMsg('treatmentIsClosed')}\r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nTreatmentInstanceDialogEdition.defaultProps = {\r\n treatment: TreatmentDefaultProps,\r\n treatmentInstance: null,\r\n moveAt: undefined,\r\n newOrgUnit: undefined,\r\n movedRiskAssessment: undefined,\r\n movedReasonId: undefined,\r\n newSpecificTimeFrom: undefined,\r\n timeSlotsMatrixDraft: undefined,\r\n};\r\n\r\nTreatmentInstanceDialogEdition.propTypes = {\r\n treatment: Treatment,\r\n treatmentInstanceId: PropTypes.number.isRequired,\r\n treatmentInstance: treatmentInstancePropType,\r\n timeSlotsMatrixDraft: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n onClose: PropTypes.func.isRequired,\r\n save: PropTypes.func.isRequired,\r\n defaultTimeSlotPackage: timeSlotsPackagePropType.isRequired,\r\n cardType: PropTypes.string.isRequired,\r\n dateAt: PropTypes.string.isRequired,\r\n moveAt: PropTypes.instanceOf(Date),\r\n newOrgUnit: PropTypes.number,\r\n occurenceRange: PropTypes.shape({\r\n min: PropTypes.string,\r\n max: PropTypes.string,\r\n }).isRequired,\r\n changeDialogAction: PropTypes.func.isRequired,\r\n movedRiskAssessment: PropTypes.string,\r\n movedReasonId: PropTypes.number,\r\n newSpecificTimeFrom: PropTypes.instanceOf(Date),\r\n canIteract: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default TreatmentInstanceDialogEdition;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport FlatButton from 'material-ui/FlatButton';\r\nimport Formsy from 'formsy-react';\r\nimport { FormsyText, FormsyDate } from 'formsy-material-ui/lib';\r\nimport { movedReasonsEndpoint } from '../../../../settings/constants';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport TreatmentInstanceDialogHeader from './../TreatmentInstanceDialogHeader/TreatmentInstanceDialogHeader';\r\nimport ApiSelector from '../../../../containers/common/selectors/selectorContainer';\r\nimport { textFieldStyle, multiLineText, datePickerStyle, common } from '../../../../theme/AllocateBaseTheme';\r\nimport { treatmentInstanceDialogActions } from '../TreatmentInstanceDialog';\r\n\r\nconst errorsLocale = globals.getArea('error');\r\nconst locale = globals.getArea('treatments');\r\nconst riskMaxLength = 500;\r\nconst styles = {\r\n saveBackButtons: { justifyContent: 'flex-start' },\r\n enableDisableButtons: { display: 'flex', flexDirection: 'column' },\r\n occurenceDate: { marginLeft: '16px' },\r\n};\r\n\r\nclass TreatmentInstanceDialogMoving extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n canSubmit: false,\r\n };\r\n\r\n this.errorMessageRiskMaxLength = {\r\n maxLength: errorsLocale.getMsg('validationMaxLength', [`${riskMaxLength}`]),\r\n };\r\n this.riskValidations = { maxLength: riskMaxLength };\r\n }\r\n\r\n getTimeSlotsPackage = (treatmentInstance, defaultTimeSlotPackage) =>\r\n treatmentInstance.timeSlotPackage || defaultTimeSlotPackage;\r\n\r\n enableButton = () => this.setState({ canSubmit: true });\r\n\r\n disableButton = () => this.setState({ canSubmit: false });\r\n\r\n save = model => {\r\n const { changeDialogAction, moveAtDraft } = this.props;\r\n changeDialogAction(treatmentInstanceDialogActions.EDIT, {\r\n moveAtDraft: undefined,\r\n moveAt: moveAtDraft,\r\n movedReasonId: model.movedReasonId,\r\n movedRiskAssessment: model.movedRiskAssessment,\r\n });\r\n };\r\n\r\n render() {\r\n const { onClose, moveAtDraft, dateAt, onBack } = this.props;\r\n\r\n return (\r\n \r\n \r\n {locale.getMsg('rescheduleTreatment')}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nTreatmentInstanceDialogMoving.propTypes = {\r\n dateAt: PropTypes.string.isRequired,\r\n moveAtDraft: PropTypes.instanceOf(Date).isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n changeDialogAction: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default TreatmentInstanceDialogMoving;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport FlatButton from 'material-ui/FlatButton';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport { shouldUpdate } from 'recompose';\r\nimport TreatmentInstanceDialogContent from './TreatmentInstanceDialogContent/TreatmentInstanceDialogContent';\r\nimport Spinner from '../../common/Spinner/Spinner';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { cardTypes } from '../../../settings/constants';\r\n\r\nimport { Treatment, TreatmentDefaultProps } from '../../../propTypes/entities/treatment';\r\nimport treatmentInstancePropType from '../../../propTypes/entities/treatmentInstance';\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nexport const treatmentInstanceDialogActions = {\r\n EDIT: 'EDIT',\r\n CANCEL: 'CANCEL',\r\n MOVE: 'MOVE',\r\n};\r\n\r\nconst initialState = {\r\n action: treatmentInstanceDialogActions.EDIT,\r\n actionProps: {},\r\n};\r\n\r\nconst cancelTreatmentMsg = locale.getMsg('cancelTreatment');\r\n\r\nconst contentWidthPadded = '752px';\r\nconst contentHeight = '510px';\r\nconst styles = {\r\n dialog: {\r\n maxWidth: contentWidthPadded,\r\n height: contentHeight,\r\n minHeight: contentHeight,\r\n maxHeight: contentHeight, // info: without this dialog jumps\r\n },\r\n content: { width: contentWidthPadded, maxWidth: '760px' },\r\n flatButton: { margin: '-57px 0px 0px 100px', color: 'red' },\r\n};\r\nclass TreatmentInstanceDialog extends React.PureComponent {\r\n state = initialState;\r\n componentDidUpdate = prevProps => {\r\n const { id } = this.props;\r\n\r\n if (!this.checkVisibility(prevProps.dialogs[id])) {\r\n this.setState(initialState);\r\n }\r\n };\r\n\r\n onRequestClose = () => this.props.hide(this.props.id);\r\n\r\n checkVisibility = dialog => (dialog ? dialog.isVisible : false);\r\n\r\n changeDialogAction = (action, props = {}) => {\r\n this.setState({\r\n action: action || this.state.action,\r\n actionProps: {\r\n ...this.state.actionProps,\r\n ...props,\r\n },\r\n });\r\n };\r\n\r\n showCancellationForm = () => {\r\n this.changeDialogAction(treatmentInstanceDialogActions.CANCEL);\r\n };\r\n\r\n // todo: commonize this method somewhere\r\n isMaster = () => this.props.cardType === cardTypes.MASTER || this.props.cardType === cardTypes.REVIEW;\r\n\r\n render() {\r\n const {\r\n isFetching,\r\n treatment,\r\n treatmentInstanceId,\r\n dateAt,\r\n dialogs,\r\n id,\r\n treatmentInstances,\r\n cardType,\r\n canAllocateWork,\r\n canEditTreaments,\r\n } = this.props;\r\n const { action, actionProps } = this.state;\r\n const dialog = dialogs[id];\r\n\r\n const canIteract = canAllocateWork || canEditTreaments;\r\n\r\n const treatmentInstance = treatment\r\n ? treatmentInstances.find(i => i.treatmentInstanceId === treatmentInstanceId && i.treatmentId === treatment.id)\r\n : null;\r\n\r\n const isSpinning = isFetching || !treatment || !treatmentInstance;\r\n\r\n return (\r\n
    \r\n \r\n \r\n {isSpinning ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {action === treatmentInstanceDialogActions.EDIT && this.isMaster() && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTreatmentInstanceDialog.defaultProps = {\r\n treatment: TreatmentDefaultProps,\r\n treatmentInstance: null,\r\n treatmentInstances: [],\r\n};\r\n\r\nTreatmentInstanceDialog.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n dateAt: PropTypes.string.isRequired,\r\n treatmentInstanceId: PropTypes.number.isRequired,\r\n hide: PropTypes.func.isRequired,\r\n isFetching: PropTypes.bool.isRequired,\r\n cardType: PropTypes.string.isRequired,\r\n treatment: Treatment,\r\n dialogs: PropTypes.objectOf(\r\n PropTypes.shape({\r\n isVisible: PropTypes.bool,\r\n }),\r\n ).isRequired,\r\n treatmentInstances: PropTypes.arrayOf(treatmentInstancePropType),\r\n canEditTreaments: PropTypes.bool.isRequired,\r\n canAllocateWork: PropTypes.bool.isRequired,\r\n};\r\n\r\nconst checkPropsChange = (props, nextProps) =>\r\n props.treatmentInstanceId !== nextProps.treatmentInstanceId ||\r\n Object.keys(props.dialogs).join(',') !== Object.keys(nextProps.dialogs).join(',') ||\r\n Object.values(props.dialogs)\r\n .map(v => v.isVisible)\r\n .join(',') !==\r\n Object.values(nextProps.dialogs)\r\n .map(v => v.isVisible)\r\n .join(',') ||\r\n props.isFetching !== nextProps.isFetching;\r\n\r\nexport default shouldUpdate(checkPropsChange)(TreatmentInstanceDialog);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { treatmentInstanceDialogActions } from '../TreatmentInstanceDialog';\r\nimport TreatmentInstanceDialogEdition from '../../../../containers/DailyPlanning/TreatmentInstanceDialog/Edition/TreatmentInstanceDialogEditionContainer';\r\nimport TreatmentInstanceDialogCancellation from '../../../../containers/DailyPlanning/TreatmentInstanceDialog/Cancellation/TreatmentInstanceDialogCancellationContainer';\r\nimport TreatmentInstanceDialogMoving from '../../../../containers/DailyPlanning/TreatmentInstanceDialog/Moving/TreatmentInstanceDialogMovingContainer';\r\n\r\nimport { Treatment, TreatmentDefaultProps } from '../../../../propTypes/entities/treatment';\r\nimport treatmentInstancePropType from '../../../../propTypes/entities/treatmentInstance';\r\n\r\nconst TreatmentInstanceDialogContent = ({\r\n treatment,\r\n treatmentInstanceId,\r\n handleClose,\r\n dateAt,\r\n cardType,\r\n treatmentInstance,\r\n action,\r\n actionProps,\r\n changeDialogAction,\r\n canIteract,\r\n}) => {\r\n const onBack = () => {\r\n changeDialogAction(treatmentInstanceDialogActions.EDIT);\r\n };\r\n const commonProps = {\r\n treatment,\r\n treatmentInstanceId,\r\n treatmentInstance,\r\n onClose: handleClose,\r\n dateAt,\r\n changeDialogAction,\r\n onBack,\r\n canIteract,\r\n };\r\n switch (action) {\r\n default:\r\n case treatmentInstanceDialogActions.EDIT:\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n case treatmentInstanceDialogActions.CANCEL:\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n case treatmentInstanceDialogActions.MOVE:\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n};\r\n\r\nTreatmentInstanceDialogContent.defaultProps = {\r\n treatment: TreatmentDefaultProps,\r\n treatmentInstance: null,\r\n actionProps: {},\r\n};\r\n\r\nTreatmentInstanceDialogContent.propTypes = {\r\n canIteract: PropTypes.bool.isRequired,\r\n dateAt: PropTypes.string.isRequired,\r\n action: PropTypes.string.isRequired,\r\n changeDialogAction: PropTypes.func.isRequired,\r\n treatment: Treatment,\r\n treatmentInstanceId: PropTypes.number.isRequired,\r\n treatmentInstance: treatmentInstancePropType,\r\n handleClose: PropTypes.func.isRequired,\r\n cardType: PropTypes.string.isRequired,\r\n actionProps: PropTypes.shape({\r\n moveAt: PropTypes.instanceOf(Date),\r\n movedRiskAssessment: PropTypes.string,\r\n movedReasonId: PropTypes.number,\r\n newOrgUnit: PropTypes.number,\r\n }),\r\n};\r\n\r\nexport default TreatmentInstanceDialogContent;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport IconButton from 'material-ui/IconButton';\r\n\r\nconst TreatmentInstanceDialogHeader = ({ children, onClose }) => (\r\n
    \r\n
    {children}
    \r\n \r\n \r\n \r\n
    \r\n);\r\n\r\nTreatmentInstanceDialogHeader.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default TreatmentInstanceDialogHeader;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { DropTarget } from 'react-dnd';\r\nimport TreatmentInstance from '../../../containers/DailyPlanning/TreatmentInstance/TreatmentInstanceContainer';\r\nimport Spinner from '../../common/Spinner/Spinner';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { ASSIGNMENT } from '../../../components/DailyPlanning/TimelineAssignment/TimelineAssignment';\r\n\r\nimport treatmentInstancePropType from '../../../propTypes/entities/treatmentInstance';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\n\r\nconst styles = {\r\n cardList: { boxShadow: 'inset 0 0 10px #86c5da' },\r\n list: { textAlign: 'center', padding: '10px 0' },\r\n};\r\n\r\nconst treatmentInstanceListTarget = {\r\n canDrop() {\r\n return true;\r\n },\r\n drop(props, monitor) {\r\n if (monitor.didDrop()) {\r\n return false;\r\n }\r\n return {};\r\n },\r\n};\r\n\r\nfunction collect(connect, monitor) {\r\n return {\r\n connectDropTarget: connect.dropTarget(),\r\n canDrop: monitor.canDrop(),\r\n isOver: monitor.isOver(),\r\n isDragging: monitor.isDragging,\r\n itemType: monitor.getItemType(),\r\n };\r\n}\r\n\r\nfunction getRequiredSkills(activities) {\r\n return activities.reduce((ids, activity) => ids.concat(activity.skills.map(s => s.id)), []);\r\n}\r\n\r\nclass TreatmentInstanceList extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.defaultTimeSlots = [];\r\n }\r\n shouldComponentUpdate = nextProps =>\r\n this.props.isFetching !== nextProps.isFetching ||\r\n this.props.isAutoAllocating !== nextProps.isAutoAllocating ||\r\n this.props.autoAllocateDate !== nextProps.autoAllocateDate ||\r\n this.props.autoAllocateTeamId !== nextProps.autoAllocateTeamId ||\r\n this.props.canDrop !== nextProps.canDrop ||\r\n this.props.treatmentInstances.map(ti => ti.treatmentInstanceId).join(',') !==\r\n nextProps.treatmentInstances.map(ti => ti.treatmentInstanceId).join(',');\r\n\r\n getCardListStyle = () => ({ boxShadow: this.props.canDrop && 'inset 0 0 10px #86c5da' });\r\n\r\n render() {\r\n const {\r\n isFetching,\r\n isAutoAllocating,\r\n autoAllocateDate,\r\n autoAllocateTeamId,\r\n selectSelectedDate,\r\n selectSelectedTeam,\r\n treatmentInstances,\r\n connectDropTarget,\r\n canAllocateWork,\r\n overrideClinician,\r\n removeOverrideClinician,\r\n } = this.props;\r\n let treatmentInstancesList = null;\r\n if (\r\n isFetching ||\r\n (isAutoAllocating && selectSelectedDate === autoAllocateDate && selectSelectedTeam === autoAllocateTeamId)\r\n ) {\r\n treatmentInstancesList = ;\r\n } else if (treatmentInstances.length < 1) {\r\n treatmentInstancesList =
    {locale.getMsg('noTreatmentsRequired')}
    ;\r\n } else {\r\n treatmentInstancesList = treatmentInstances.map(\r\n ({\r\n treatmentInstanceId,\r\n treatmentId,\r\n patientFullName,\r\n nhsNumber,\r\n ragStatus,\r\n activities,\r\n activitiesTotalDuration,\r\n highestGrade,\r\n timeSlots = this.defaultTimeSlots,\r\n cardType,\r\n copiesCount,\r\n wasUnassignedBySynchronization,\r\n isSingleTimeSlot,\r\n masterId,\r\n occurrence,\r\n effectiveTimeSlots,\r\n isLastChild,\r\n isFirstChild,\r\n isSpecificTime,\r\n isMasterAssigned,\r\n address,\r\n additionalCliniciansCount,\r\n isTwilightTreatment,\r\n excludedClinicians,\r\n assignGuid,\r\n hasVarianceFactorChanged,\r\n }) => (\r\n \r\n ),\r\n );\r\n }\r\n\r\n return connectDropTarget(\r\n
    \r\n {treatmentInstancesList}\r\n
    ,\r\n );\r\n }\r\n}\r\n\r\nTreatmentInstanceList.defaultProps = {\r\n treatmentInstances: [],\r\n filteredTreatments: [],\r\n autoAllocateTeamId: null,\r\n autoAllocateDate: '',\r\n selectSelectedDate: '',\r\n selectSelectedTeam: null,\r\n};\r\n\r\nTreatmentInstanceList.propTypes = {\r\n connectDropTarget: PropTypes.func.isRequired,\r\n canAllocateWork: PropTypes.bool.isRequired,\r\n treatmentInstances: PropTypes.arrayOf(treatmentInstancePropType).isRequired,\r\n isAutoAllocating: PropTypes.bool.isRequired,\r\n isFetching: PropTypes.bool.isRequired,\r\n canDrop: PropTypes.bool.isRequired,\r\n overrideClinician: PropTypes.func.isRequired,\r\n removeOverrideClinician: PropTypes.func.isRequired,\r\n selectSelectedDate: PropTypes.string,\r\n selectSelectedTeam: PropTypes.number,\r\n autoAllocateTeamId: PropTypes.number,\r\n autoAllocateDate: PropTypes.string,\r\n};\r\n\r\nexport default DropTarget(ASSIGNMENT, treatmentInstanceListTarget, collect)(TreatmentInstanceList);\r\n","import React from 'react';\r\nimport Popover from '@material-ui/core/Popover';\r\nimport PropTypes from 'prop-types';\r\nimport { PopoverStyle } from '../../../theme/AllocateBaseTheme';\r\nimport TreatmentInstanceDialogOpener from '../../../containers/DailyPlanning/TreatmentInstanceDialogOpener/TreatmentInstanceDialogOpenerContainer';\r\n\r\nclass TreatmentInstancePopover extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isOpen: false,\r\n };\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n return this.props.treatmentInstanceId !== nextProps.treatmentInstanceId || this.state.isOpen !== nextState.isOpen;\r\n }\r\n\r\n handleTouchTap = event => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n this.setState({\r\n isOpen: true,\r\n anchorEl: event.currentTarget,\r\n });\r\n };\r\n\r\n handleRequestClose = () => {\r\n this.setState({\r\n isOpen: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { children, id, treatmentId, treatmentInstanceId, occurrence } = this.props;\r\n const { isOpen, anchorEl } = this.state;\r\n\r\n return (\r\n \r\n \r\n info\r\n \r\n \r\n {children}\r\n {treatmentInstanceId && treatmentId && occurrence && (\r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nTreatmentInstancePopover.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n treatmentId: PropTypes.number.isRequired,\r\n treatmentInstanceId: PropTypes.number.isRequired,\r\n occurrence: PropTypes.string.isRequired,\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default TreatmentInstancePopover;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { DragSource } from 'react-dnd';\r\nimport moment from 'moment';\r\nimport { grey700 } from 'material-ui/styles/colors';\r\nimport { ragStatusColors } from '../../../settings/other';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport TreatmentInstancePopover from './../TreatmentInstancePopover/TreatmentInstancePopover';\r\nimport TreatmentInstanceDialog from '../../../containers/DailyPlanning/TreatmentInstanceDialog/TreatmentInstanceDialogContainer';\r\nimport OverrideClinician from '../OverrideClinician/OverrideClinician';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport { cardTypes } from '../../../settings/constants';\r\nimport gradePropTypes from '../../../propTypes/entities/grade';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\nconst treatmentslocal = globals.getArea('treatments');\r\n\r\nexport const TREATMENTINSTANCE = 'TREATMENTINSTANCE';\r\n\r\nconst treatmentInstanceSource = {\r\n isDragging(props, monitor) {\r\n const { treatmentInstanceId, treatmentId, occurrence } = monitor.getItem();\r\n return (\r\n treatmentInstanceId === props.treatmentInstanceId &&\r\n treatmentId === props.treatmentId &&\r\n occurrence === props.occurrence\r\n );\r\n },\r\n\r\n beginDrag(\r\n {\r\n assignGuid,\r\n requiredGrade,\r\n requiredSkills,\r\n requiredTime,\r\n effectiveTimeSlots,\r\n cardType,\r\n location,\r\n treatmentId,\r\n treatmentInstanceId,\r\n occurrence,\r\n getTravelTimesByPostcode,\r\n getPostcodeDistance,\r\n isSpecificTime,\r\n masterId,\r\n isMasterAssigned,\r\n excludedClinicians,\r\n },\r\n monitor,\r\n component,\r\n ) {\r\n getTravelTimesByPostcode(location);\r\n getPostcodeDistance(location);\r\n return {\r\n assignGuid,\r\n requiredGrade,\r\n requiredSkills,\r\n requiredTime,\r\n cardType,\r\n treatmentId,\r\n treatmentInstanceId,\r\n effectiveTimeSlots,\r\n occurrence,\r\n previewHtml: component.preview.outerHTML,\r\n previewWidth: component.preview.getBoundingClientRect().width,\r\n schedulingDisabled: false,\r\n isSpecificTime,\r\n masterId,\r\n location,\r\n isMasterAssigned,\r\n excludedClinicians,\r\n };\r\n },\r\n\r\n async endDrag(props, monitor) {\r\n if (!monitor.didDrop()) {\r\n return;\r\n }\r\n const {\r\n treatmentId,\r\n treatmentInstanceId,\r\n assignGuid,\r\n cardType,\r\n occurrence,\r\n effectiveTimeSlots,\r\n } = monitor.getItem();\r\n const { postingId, startDate } = monitor.getDropResult();\r\n const { jwtToken } = props;\r\n const doesHaveCopies = props.copiesCount > 0;\r\n const isMaster = props.cardType === cardTypes.MASTER;\r\n\r\n try {\r\n const result = await props.assignTreatment({\r\n postingId,\r\n treatmentId,\r\n treatmentInstanceId,\r\n assignmentTime: startDate,\r\n cardType,\r\n });\r\n if (result.response.status === 200) {\r\n props.refreshScheduler(\r\n assignGuid,\r\n result.response.data.newAssignmentId,\r\n postingId,\r\n startDate,\r\n jwtToken,\r\n props.masterId,\r\n );\r\n props.getTeamAvailability(props.teamId, startDate, jwtToken, props.requiredTime);\r\n if (isMaster) {\r\n props.removeTreatmentInstance(treatmentId, assignGuid, occurrence, effectiveTimeSlots);\r\n } else {\r\n props.removeCopyTreatmentInstance(assignGuid);\r\n }\r\n if (doesHaveCopies) {\r\n props.getTreatmentInstancesCopies(result.response.data.newAssignmentId, props.teamId, jwtToken);\r\n }\r\n }\r\n } catch (error) {\r\n // Log errors\r\n // eslint-disable-next-line no-console\r\n console.error(error.response ? error.response.data : error);\r\n }\r\n },\r\n};\r\n\r\nfunction collect(connect, monitor) {\r\n return {\r\n connectDragSource: connect.dragSource(),\r\n connectDragPreview: connect.dragPreview(),\r\n isDragging: monitor.isDragging(),\r\n };\r\n}\r\n\r\nclass TreatmentInstance extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n open: false,\r\n };\r\n const bgColor = ragStatusColors[this.props.ragStatus.toLowerCase()];\r\n this.cardStatusBgColor = { backgroundColor: bgColor };\r\n this.dateCardStyle = { backgroundColor: bgColor, float: 'left', marginRight: '5px' };\r\n }\r\n\r\n shouldComponentUpdate = nextProps => {\r\n const { isFirstChild, isLastChild, isMasterAssigned } = this.props;\r\n return (\r\n isFirstChild !== nextProps.isFirstChild ||\r\n isLastChild !== nextProps.isLastChild ||\r\n isMasterAssigned !== nextProps.isMasterAssigned\r\n );\r\n };\r\n\r\n shouldComponentUpdate = nextProps => this.props.assignGuid !== nextProps.assignGuid;\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n generateActivitiesNames = activities => activities.map(activity => activity.name).join(', ');\r\n\r\n formatHour = date =>\r\n moment(date)\r\n .utcOffset(0, true)\r\n .format(globals.timeFormats.short);\r\n\r\n handleTouchTap = event => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n this.setState({\r\n open: true,\r\n anchorEl: event.currentTarget,\r\n });\r\n };\r\n\r\n handleRequestClose = () => {\r\n this.setState({\r\n open: false,\r\n });\r\n };\r\n\r\n isReview = this.props.cardType === cardTypes.REVIEW;\r\n\r\n overrideClinician = () => {\r\n const { treatmentId, treatmentInstanceId, occurrence, timeSlots, overrideClinician } = this.props;\r\n overrideClinician(treatmentId, treatmentInstanceId, occurrence, timeSlots);\r\n };\r\n\r\n removeOverrideClinician = () => {\r\n const { treatmentInstanceId, removeOverrideClinician } = this.props;\r\n removeOverrideClinician(treatmentInstanceId);\r\n };\r\n\r\n render() {\r\n const {\r\n patientName,\r\n requiredTime,\r\n nhsNumber,\r\n activities,\r\n requiredGrade,\r\n location,\r\n ragStatus,\r\n connectDragSource,\r\n isDragging,\r\n canAllocateWork,\r\n timeSlots = [],\r\n cardType,\r\n copiesCount,\r\n wasUnassignedBySynchronization,\r\n isSingleTimeSlot,\r\n uniqueTreatmentId,\r\n treatmentInstanceId,\r\n treatmentId,\r\n occurrence,\r\n isMasterAssigned,\r\n isFirstChild,\r\n isLastChild,\r\n additionalCliniciansCount,\r\n isTwilightTreatment,\r\n hasVarianceFactorChanged,\r\n } = this.props;\r\n const bgColor = ragStatusColors[ragStatus.toLowerCase()];\r\n const infoText = locale.getMsg('information');\r\n const treatmentSlotsText = locale.getMsg('treatmentSlots');\r\n const tooltipContent = (\r\n
    \r\n {[\r\n
    \r\n
    {infoText}
    \r\n {treatmentSlotsText}\r\n
    ,\r\n timeSlots.map(({ id, from, to, name }) => {\r\n const toolTipKey = `tooltipTreatmentInstanceTimeSlot${uniqueTreatmentId + id}`;\r\n const toolTipText = `${name ? `${name}: ` : ''}${this.formatHour(from) +\r\n (from === to ? '' : ` - ${this.formatHour(to)}`)}`;\r\n return (\r\n \r\n {toolTipText}\r\n \r\n );\r\n }),\r\n ]}\r\n
    \r\n );\r\n let masterChildIcon;\r\n let cardClass;\r\n let gradeRow;\r\n\r\n if (cardType === cardTypes.MASTER || this.isReview) {\r\n masterChildIcon =\r\n additionalCliniciansCount > 0 ? (\r\n \r\n \r\n {`+${additionalCliniciansCount}`}\r\n \r\n ) : (\r\n \r\n person\r\n \r\n );\r\n cardClass = copiesCount > 0 ? 'card card-master' : 'card card-master-nocopies';\r\n gradeRow = {requiredGrade.name};\r\n } else {\r\n masterChildIcon = (\r\n \r\n person_outline\r\n {cardType === cardTypes.OVERRIDDEN_CLINICIAN ? ' ORC' : ''}\r\n \r\n );\r\n gradeRow = ;\r\n\r\n let copyPositionClass = '';\r\n if (isFirstChild && isLastChild) {\r\n copyPositionClass = 'single';\r\n } else if (isFirstChild) {\r\n copyPositionClass = 'first';\r\n } else if (isLastChild) {\r\n copyPositionClass = 'last';\r\n } else {\r\n copyPositionClass = 'middle';\r\n }\r\n\r\n cardClass = `card card-copy ${copyPositionClass}`;\r\n\r\n if (!isMasterAssigned) {\r\n cardClass += ' withmaster';\r\n }\r\n }\r\n\r\n let twilight;\r\n\r\n if (isTwilightTreatment === true) {\r\n twilight = brightness_2;\r\n }\r\n\r\n let timeSlotLabel = `${this.formatHour(timeSlots[0].from)} - ${this.formatHour(timeSlots[0].to)}`;\r\n if (!isSingleTimeSlot) {\r\n timeSlotLabel = locale.getMsg('multipleTimeSlots');\r\n } else if (timeSlots[0].from === timeSlots[0].to) {\r\n timeSlotLabel = this.formatHour(timeSlots[0].from);\r\n }\r\n\r\n const isUnassignedBySyncStyle = wasUnassignedBySynchronization ? 'sync-unassignment' : 'sync-unassignment-hidden';\r\n const isTwilightTreatmentStyle =\r\n isTwilightTreatment === true\r\n ? { backgroundColor: grey700, float: 'right' }\r\n : { backgroundColor: bgColor, float: 'right' };\r\n const requiredTimeText = `${requiredTime} min`;\r\n const hasVarianceFactorChangedText = hasVarianceFactorChanged ? ` ${treatmentslocal.getMsg('avfLabel')}` : '';\r\n const cardDummyContentStyle = `card-content card-dummy ${isDragging ? '' : 'card-hidden'}`;\r\n const cardStatusStyle = `card-status ${isDragging ? 'card-hidden' : ''}`;\r\n const cardContentStyle = `card-content ${isDragging ? 'card-hidden' : ''}`;\r\n const activitiesNamesList = this.generateActivitiesNames(activities);\r\n const unassignedDuringSynchronizationText = locale.getMsg('unassignedDuringSynchronization');\r\n const reviewText = locale.getMsg('review');\r\n const previewRef = this.setRef('preview');\r\n const cardContent = (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {gradeRow}\r\n
    {unassignedDuringSynchronizationText}
    \r\n
    \r\n
    \r\n \r\n {twilight}\r\n {timeSlotLabel}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {patientName}

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

    {`(${nhsNumber})`}

    \r\n {this.isReview && {reviewText}}\r\n
    \r\n
    \r\n

    {activitiesNamesList}

    \r\n
    \r\n
    \r\n
    \r\n \r\n location_on\r\n {location}\r\n \r\n \r\n timer\r\n {requiredTimeText}\r\n {hasVarianceFactorChangedText}\r\n \r\n {masterChildIcon}\r\n
    \r\n
    \r\n {canAllocateWork === true ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n \r\n {tooltipContent}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n return canAllocateWork ? connectDragSource(cardContent) : cardContent;\r\n }\r\n}\r\n\r\nTreatmentInstance.propTypes = {\r\n occurrence: PropTypes.string.isRequired,\r\n patientName: PropTypes.string.isRequired,\r\n nhsNumber: PropTypes.string.isRequired,\r\n requiredTime: PropTypes.number.isRequired,\r\n canAllocateWork: PropTypes.bool.isRequired,\r\n activities: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n activityId: PropTypes.number,\r\n duration: PropTypes.number,\r\n }),\r\n ).isRequired,\r\n overrideClinician: PropTypes.func.isRequired,\r\n removeOverrideClinician: PropTypes.func.isRequired,\r\n // Used for drag\r\n /* eslint-disable react/no-unused-prop-types */\r\n assignGuid: PropTypes.number.isRequired,\r\n requiredSkills: PropTypes.arrayOf(PropTypes.number).isRequired,\r\n requiredGrade: gradePropTypes.isRequired,\r\n timeSlots: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n from: PropTypes.string,\r\n to: PropTypes.string,\r\n }),\r\n ).isRequired,\r\n isSingleTimeSlot: PropTypes.bool.isRequired,\r\n location: PropTypes.string.isRequired,\r\n ragStatus: PropTypes.string.isRequired,\r\n cardType: PropTypes.string.isRequired,\r\n copiesCount: PropTypes.number.isRequired,\r\n additionalCliniciansCount: PropTypes.number.isRequired,\r\n connectDragSource: PropTypes.func.isRequired,\r\n isDragging: PropTypes.bool.isRequired,\r\n wasUnassignedBySynchronization: PropTypes.bool.isRequired,\r\n uniqueTreatmentId: PropTypes.string.isRequired,\r\n // Used for drag and drop\r\n /* eslint-disable react/no-unused-prop-types */\r\n treatmentInstanceId: PropTypes.number.isRequired,\r\n treatmentId: PropTypes.number.isRequired,\r\n isFirstChild: PropTypes.bool.isRequired,\r\n isLastChild: PropTypes.bool.isRequired,\r\n isMasterAssigned: PropTypes.bool.isRequired,\r\n isTwilightTreatment: PropTypes.bool.isRequired,\r\n hasVarianceFactorChanged: PropTypes.bool.isRequired,\r\n teamId: PropTypes.number.isRequired,\r\n jwtToken: PropTypes.string.isRequired,\r\n /* eslint-enable */\r\n};\r\n\r\nexport default DragSource(TREATMENTINSTANCE, treatmentInstanceSource, collect)(TreatmentInstance);\r\n","import React from 'react';\r\nimport _ from '../../../utils/lodash';\r\nimport TreatmentInstanceList from '../TreatmentInstanceList/TreatmentInstanceList';\r\nimport TreatmentFilterBox from '../../../containers/DailyPlanning/TreatmentFilterBox/TreatmentFilterBoxContainer';\r\n\r\nclass TreatmentPanel extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { scrollNumber: 167 };\r\n }\r\n\r\n componentDidMount() {\r\n window.addEventListener('scroll', this.handleScrollThrottled);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('scroll', this.handleScrollThrottled);\r\n }\r\n getPanelStyle = () => ({ top: `${this.state.scrollNumber}px` });\r\n\r\n getScrollTop = () => (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\r\n\r\n handleScroll = () => {\r\n const scrollTops = this.getScrollTop();\r\n let nextScrollTopPosition;\r\n if (scrollTops <= 167) {\r\n nextScrollTopPosition = 167 - Math.abs(scrollTops);\r\n } else {\r\n nextScrollTopPosition = 0;\r\n }\r\n this.setState({ scrollNumber: nextScrollTopPosition });\r\n };\r\n\r\n handleScrollThrottled = _.throttle(this.handleScroll, 10, { trailing: true });\r\n\r\n render = () => (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default TreatmentPanel;\r\n","import React from 'react';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport globals from '../../globals/communityGlobals';\r\nimport TeamsAvailabilityForm from '../../containers/Dashboard/TeamAvailability/TeamAvailabilityFormContainer';\r\nimport PageContent from '../PageStructure/PageContent/PageContent';\r\n\r\nconst locale = globals.getArea('dashboard');\r\n\r\nconst Dashboard = () => (\r\n \r\n \r\n \r\n {locale.getMsg('dashboardHeader')}\r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default Dashboard;\r\n","import React from 'react';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport { Table, TableBody, TableHeader, TableHeaderColumn, TableRow } from 'material-ui/Table';\r\nimport { tableStyles } from '../../../theme/AllocateBaseTheme';\r\nimport { addDaysToDate } from '../../../utils/datetimeconverter';\r\n\r\nexport default class DefaultTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showCheckboxes: false,\r\n date: new Date(),\r\n };\r\n }\r\n\r\n generateHeaderRows = date => {\r\n const headers = [];\r\n headers.push();\r\n for (let col = -6; col < 8; col += 1) {\r\n const newDate = addDaysToDate(date, col);\r\n const key = col + 1;\r\n headers.push(\r\n \r\n {moment(newDate).format('MMM Do')}\r\n ,\r\n );\r\n }\r\n return headers;\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n {this.generateHeaderRows(this.props.date)}\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nDefaultTable.propTypes = {\r\n date: PropTypes.shape(Date).isRequired,\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RaisedButton from 'material-ui/RaisedButton/RaisedButton';\r\nimport { Box } from '@material-ui/core';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward';\r\n// import Paper from 'material-ui/Paper';\r\nimport Formsy from 'formsy-react';\r\nimport { FormsyDate } from 'formsy-material-ui/lib';\r\nimport Spinner from '../../../components/common/Spinner/Spinner';\r\nimport { addDaysToDate } from '../../../utils/datetimeconverter';\r\nimport TeamsAvailabilityTable from '../TeamAvailability/TeamsAvailabilityTable';\r\nimport DefaultTable from '../TeamAvailability/DefaultTable';\r\nimport { TeamsAvailabilityStructurePropType } from '../../../propTypes/entities/teamsAvailabilityStructure';\r\nimport { getDateForApi } from '../../../utils/dates';\r\nimport { teamsEndpoint } from '../../../settings/constants';\r\nimport ApiSelector from '../../../containers/common/selectors/selectorContainer';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { textFieldStyle, datePickerStyle, common } from '../../../theme/AllocateBaseTheme';\r\n\r\nconst locale = globals.getArea('dashboard');\r\n\r\nclass TeamAvailabilityForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n date: new Date(),\r\n teamsAvailability: [],\r\n OrgUnitsIds: [],\r\n };\r\n }\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n handleChange = data => {\r\n this.setState({\r\n OrgUnitsIds: data.OrgUnitsIds,\r\n date: data.SelectedDate,\r\n });\r\n };\r\n\r\n handleSubmit = data => {\r\n this.setState({\r\n OrgUnitsIds: data.OrgUnitsIds,\r\n date: data.SelectedDate,\r\n });\r\n this.props.getTeamAvailability({ OrgUnitsIds: data.OrgUnitsIds, SelectedDate: getDateForApi(data.SelectedDate) });\r\n };\r\n\r\n handleArrowClick = days => () => {\r\n const newDate = addDaysToDate(this.state.date, days);\r\n this.setState({\r\n date: new Date(newDate),\r\n });\r\n this.props.getTeamAvailability({ OrgUnitsIds: this.state.OrgUnitsIds, SelectedDate: getDateForApi(newDate) });\r\n };\r\n\r\n render() {\r\n const { teamsAvailability } = this.props;\r\n let teamsAvailabilityTable = null;\r\n if (teamsAvailability.length > 0) {\r\n teamsAvailabilityTable = ;\r\n } else {\r\n teamsAvailabilityTable = ;\r\n }\r\n return (\r\n
    \r\n
    \r\n {/* \r\n {locale.getMsg('teamAvailabilityHeader')}\r\n */}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {this.props.isFetching ? : teamsAvailabilityTable}
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTeamAvailabilityForm.defaultProps = {\r\n teamsAvailability: [],\r\n};\r\n\r\nTeamAvailabilityForm.propTypes = {\r\n getTeamAvailability: PropTypes.func.isRequired,\r\n teamsAvailability: PropTypes.arrayOf(PropTypes.shape(TeamsAvailabilityStructurePropType)),\r\n isFetching: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default TeamAvailabilityForm;\r\n","import React from 'react';\r\nimport { Table, TableBody, TableHeader, TableHeaderColumn, TableRow, TableRowColumn } from 'material-ui/Table';\r\nimport moment from 'moment';\r\nimport Popover from 'material-ui/Popover';\r\nimport { Menu } from 'material-ui/Menu';\r\nimport MenuItem from 'material-ui/MenuItem/MenuItem';\r\nimport { tableStyles } from '../../../theme/AllocateBaseTheme';\r\nimport { convertToHoursAndMin } from '../../../utils/datetimeconverter';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('dashboard');\r\n\r\nexport default class TeamsAvailabilityTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showCheckboxes: false,\r\n open: false,\r\n popoverCounter: 0,\r\n popoverLabel: '',\r\n };\r\n }\r\n\r\n getTeamAvailabilityForSingleDayFormTable = (tableRow, tableCol) => {\r\n const row = Math.trunc(tableRow / 4);\r\n const col = tableCol - 1;\r\n const teamsAvailabiliy = this.props;\r\n return teamsAvailabiliy[row].teamAvailability[col];\r\n };\r\n\r\n computeTreatmentsCount = (tableRow, tableCol) =>\r\n this.getTeamAvailabilityForSingleDayFormTable(tableRow, tableCol).treatmentsCount;\r\n\r\n computeNpasCount = (tableRow, tableCol) =>\r\n this.getTeamAvailabilityForSingleDayFormTable(tableRow, tableCol).nonPatientActivitiesCount;\r\n\r\n openPopOverForTreatments = (rowNumber, columnId, target) => {\r\n this.setState({\r\n open: true,\r\n anchorEl: target,\r\n popoverCounter: this.computeTreatmentsCount(rowNumber, columnId),\r\n popoverLabel: locale.getMsg('totalTreatmentText'),\r\n });\r\n };\r\n\r\n openPopOverForNpas = (rowNumber, columnId, target) => {\r\n this.setState({\r\n open: true,\r\n anchorEl: target,\r\n popoverCounter: this.computeNpasCount(rowNumber, columnId),\r\n popoverLabel: locale.getMsg('totalNonPatientAssignmentsText'),\r\n });\r\n };\r\n\r\n handleCellClick = (rowNumber, columnId, event) => {\r\n // This prevents ghost click.\r\n event.preventDefault();\r\n if (columnId !== 0) {\r\n switch (rowNumber % 4) {\r\n case 1:\r\n this.openPopOverForTreatments(rowNumber, columnId, event.currentTarget);\r\n break;\r\n case 2:\r\n this.openPopOverForNpas(rowNumber, columnId, event.currentTarget);\r\n break;\r\n default:\r\n this.closePopover();\r\n }\r\n }\r\n };\r\n\r\n closePopover = () => {\r\n this.setState({\r\n open: false,\r\n });\r\n };\r\n\r\n handleRequestClose = () => {\r\n this.closePopover();\r\n };\r\n\r\n generateHeaderRows = headerData => {\r\n const headers = [];\r\n headers.push();\r\n for (let col = 0; col < headerData.length; col += 1) {\r\n const key = col + 1;\r\n headers.push(\r\n \r\n {moment(headerData[col].relevantDate).format('MMM Do')}\r\n ,\r\n );\r\n }\r\n\r\n return headers;\r\n };\r\n\r\n generateTeamRows = teamsAvailabiliy => {\r\n const teamRows = [];\r\n Object.keys(teamsAvailabiliy).forEach((k, t) => {\r\n const availableRow = [];\r\n const requiredTreatmentsTimeRow = [];\r\n const requiredNonPatientActivitiesTimeRow = [];\r\n const requiredTotalTimeRow = [];\r\n const team = teamsAvailabiliy[t];\r\n const teamName = team.teamName;\r\n\r\n availableRow.push(\r\n \r\n
      \r\n
    • \r\n {teamName}\r\n
    • \r\n
    • {locale.getMsg('availabilityListRow')}
    • \r\n
    \r\n
    ,\r\n );\r\n\r\n requiredTreatmentsTimeRow.push(\r\n \r\n {locale.getMsg('treatmentTimeRequiredListRow')}\r\n ,\r\n );\r\n requiredNonPatientActivitiesTimeRow.push(\r\n \r\n {locale.getMsg('npasTimeRequireddListRow')}\r\n ,\r\n );\r\n requiredTotalTimeRow.push(\r\n \r\n {locale.getMsg('totalTimeRequiredListRow')}\r\n ,\r\n );\r\n\r\n team.teamAvailability.forEach(singleDayTeamAvailability => {\r\n availableRow.push(\r\n \r\n {convertToHoursAndMin(singleDayTeamAvailability.totalAvailableHours)}\r\n ,\r\n );\r\n\r\n requiredTreatmentsTimeRow.push(\r\n \r\n {convertToHoursAndMin(singleDayTeamAvailability.treatmentMinutesRequired)}\r\n ,\r\n );\r\n\r\n requiredNonPatientActivitiesTimeRow.push(\r\n \r\n {convertToHoursAndMin(singleDayTeamAvailability.nonPatientActivityMinutesRequired)}\r\n ,\r\n );\r\n\r\n requiredTotalTimeRow.push(\r\n \r\n {convertToHoursAndMin(singleDayTeamAvailability.totalMinutesRequired)}\r\n ,\r\n );\r\n });\r\n const className = t % 2 === 0 ? 'headRole available' : '';\r\n\r\n teamRows.push(\r\n \r\n {availableRow}\r\n ,\r\n );\r\n teamRows.push(\r\n \r\n {requiredTreatmentsTimeRow}\r\n ,\r\n );\r\n teamRows.push(\r\n \r\n {requiredNonPatientActivitiesTimeRow}\r\n ,\r\n );\r\n teamRows.push(\r\n \r\n {requiredTotalTimeRow}\r\n ,\r\n );\r\n });\r\n\r\n return teamRows;\r\n };\r\n\r\n render() {\r\n const teamsAvailability = this.props;\r\n return (\r\n
    \r\n \r\n \r\n {this.generateHeaderRows(teamsAvailability[0].teamAvailability)}\r\n \r\n \r\n {this.generateTeamRows(teamsAvailability)}\r\n \r\n
    \r\n \r\n \r\n

    {this.state.popoverCounter}

    \r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n","/* eslint-disable react/prop-types */\r\nimport React from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport Button from '@material-ui/core/Button';\r\nimport globals from '../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('userActions');\r\n\r\nexport default function ConfirmationDialog({ isOpen, confirmationTitle, confirmationDesc, onClose, onConfirm }) {\r\n return (\r\n \r\n {confirmationTitle}\r\n \r\n {confirmationDesc}\r\n \r\n \r\n
    \r\n \r\n
    \r\n {onConfirm && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Paper from 'material-ui/Paper';\r\nimport { Typography, IconButton, Box, Tooltip } from '@material-ui/core';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport InnerContent from '../../../components/PageStructure/InnerContent/InnerContent';\r\nimport PageContent from '../../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from '../../../components/PageStructure/PageHeader/PageHeader';\r\nimport { paperStyle } from '../../../theme/AllocateBaseTheme';\r\n\r\nconst DefaultPageWrapper = props => {\r\n const { pageTitle, children, HeaderContent, showBackButton, goBack } = props;\r\n const BackButton = (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n const HeaderContentInner = HeaderContent ? (\r\n \r\n ) : (\r\n \r\n \r\n {showBackButton && BackButton}\r\n \r\n \r\n \r\n {pageTitle}\r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n
    \r\n {pageTitle !== null && {HeaderContentInner}}\r\n \r\n
    \r\n {children}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nDefaultPageWrapper.defaultProps = {\r\n children: null,\r\n HeaderContent: null,\r\n showBackButton: true,\r\n};\r\n\r\nDefaultPageWrapper.propTypes = {\r\n pageTitle: PropTypes.string.isRequired,\r\n children: PropTypes.node,\r\n showBackButton: PropTypes.bool,\r\n goBack: PropTypes.func.isRequired,\r\n // Will receive BackButton and pageTitle as props\r\n HeaderContent: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\r\n};\r\n\r\nexport default DefaultPageWrapper;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport SnackBarWrapper from './SnackBarWrapper';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport _ from '../../../utils/lodash';\r\n\r\nconst locale = globals.getArea('error');\r\n\r\nclass ErrorHandler extends React.Component {\r\n state = {\r\n showError: false,\r\n };\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (_.isEqual(this.props.errorMessage, nextProps.errorMessage) && this.props.timeStamp !== nextProps.timeStamp) {\r\n this.snackbar.setAutoHideTimer();\r\n }\r\n }\r\n\r\n shouldComponentUpdate(nextProps) {\r\n return (\r\n this.props.errorMessage !== nextProps.errorMessage ||\r\n this.props.timeStamp !== nextProps.timeStamp ||\r\n this.props.errorShown !== nextProps.errorShown\r\n );\r\n }\r\n\r\n setRef = refSetter.bind(this);\r\n handleCloseRequest = () => {\r\n this.props.dismissError();\r\n };\r\n render() {\r\n const { errorMessage, errorParameters, errorDuration, translatable, errorShown } = this.props;\r\n const messageToShow = translatable ? locale.getMsg(errorMessage, errorParameters) : errorMessage;\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nErrorHandler.defaultProps = {\r\n errorMessage: null,\r\n errorDuration: null,\r\n timeStamp: '',\r\n errorParameters: [],\r\n};\r\n\r\nErrorHandler.propTypes = {\r\n errorMessage: PropTypes.string,\r\n dismissError: PropTypes.func.isRequired,\r\n errorDuration: PropTypes.number,\r\n translatable: PropTypes.bool.isRequired,\r\n errorParameters: PropTypes.arrayOf(PropTypes.string),\r\n timeStamp: PropTypes.string,\r\n errorShown: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default ErrorHandler;\r\n","import React from 'react';\r\nimport Snackbar from 'material-ui/Snackbar';\r\nimport FlatButton from 'material-ui/FlatButton';\r\nimport ClickAwayListener from 'material-ui/internal/ClickAwayListener';\r\n\r\nclass SnackBarWrapper extends Snackbar {\r\n render() {\r\n const {\r\n onRequestClose,\r\n onActionTouchTap,\r\n onActionClick,\r\n autoHideDuration,\r\n message: messageProp,\r\n open: openProp,\r\n ...other\r\n } = this.props;\r\n\r\n const { action, message, open } = this.state;\r\n\r\n const {\r\n muiTheme: {\r\n baseTheme: {\r\n fontFamily,\r\n spacing: { desktopSubheaderHeight },\r\n },\r\n snackbar: { backgroundColor, textColor, actionColor },\r\n },\r\n } = this.context;\r\n\r\n const actionButton = action && (\r\n \r\n );\r\n\r\n const rootStyle = {\r\n backgroundColor,\r\n fontFamily,\r\n display: open ? 'block' : 'none',\r\n transform: open ? 'translate(0, 0)' : `translate(0, ${desktopSubheaderHeight}px)`,\r\n width: '400px',\r\n };\r\n\r\n const messageStyle = {\r\n color: textColor,\r\n opacity: open ? 1 : 0,\r\n transition: open ? 'opacity 500ms linear 100ms' : 'opacity 400ms linear 0ms',\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {message}\r\n
    \r\n
    {actionButton}
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default SnackBarWrapper;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Popover from 'material-ui/Popover';\r\nimport Menu from 'material-ui/Menu';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport { shouldUpdate } from 'recompose';\r\nimport NavBarContainer from '../../../containers/PageStructure/NavBar/NavBarContainer';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('header');\r\nconst { basename } = globals.urls;\r\nconst styles = {\r\n menuItem: { cursor: 'pointer' },\r\n list: { paddingTop: '3px', paddingBottom: '3px' },\r\n anchorOrigin: { horizontal: 'left', vertical: 'bottom' },\r\n targetOrigin: { horizontal: 'left', vertical: 'top' },\r\n};\r\n\r\nclass Header extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n open: false,\r\n };\r\n }\r\n\r\n handleClick = event => {\r\n event.preventDefault();\r\n this.setState({\r\n open: true,\r\n anchorEl: event.currentTarget,\r\n });\r\n };\r\n\r\n handleLogout = () => {\r\n this.props.logoutAndRedirect();\r\n };\r\n\r\n handleRequestClose = () => {\r\n this.setState({\r\n open: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { name } = this.props;\r\n const imageSource = `${basename}images/branding/Allocate-Solutions-ECommunity.png`;\r\n const altText = locale.getMsg('applicationLogo');\r\n const logOutText = locale.getMsg('logout');\r\n return (\r\n
    \r\n
    \r\n
    \r\n {altText}\r\n
    \r\n {name && (\r\n
    \r\n \r\n \r\n \r\n {this.props.isAuthenticated ? (\r\n \r\n \r\n {logOutText}\r\n \r\n \r\n ) : (\r\n \r\n Login\r\n \r\n )}\r\n \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nHeader.defaultProps = {\r\n name: null,\r\n};\r\n\r\nHeader.propTypes = {\r\n name: PropTypes.string,\r\n logoutAndRedirect: PropTypes.func.isRequired,\r\n isAuthenticated: PropTypes.bool.isRequired,\r\n};\r\n\r\nconst checkPropsChange = (props, nextProps) =>\r\n props.name !== nextProps.name || props.isAuthenticated !== nextProps.isAuthenticated;\r\n\r\nexport default shouldUpdate(checkPropsChange)(Header);\r\n","/* eslint-disable jsx-a11y/interactive-supports-focus */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport Box from '@material-ui/core/Box';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Button from '@material-ui/core/Button';\r\nimport { shouldUpdate } from 'recompose';\r\nimport NavBarContainerNew from '../../../containers/PageStructure/NavBar/NavBarContainerNew';\r\nimport CommunityDatePicker from '../../../containers/common/NewDatePicker/CommunityDatePickerContainer';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { menuItems } from '../../PageStructure/NavBar/menuItems';\r\nimport { ENABLE_MILEAGE_CAP } from '../../../settings/constants/appSettings';\r\n\r\nconst locale = globals.getArea('header');\r\nconst { basename } = globals.urls;\r\n\r\nclass HeaderNew extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n open: false,\r\n anchorEl: null,\r\n showNavBar: true,\r\n showDatePicker: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.getAppSettings(ENABLE_MILEAGE_CAP);\r\n }\r\n\r\n onCollapseChange = () => {\r\n this.setState({\r\n showNavBar: !this.state.showNavBar,\r\n });\r\n\r\n const funcExist = window.recalculate && typeof window.recalculate === 'function';\r\n if (funcExist) setTimeout(window.recalculate, 50);\r\n };\r\n getSelectedMenu = () => {\r\n if (this.props.currentPathname !== null) {\r\n const firstLevelItem = menuItems.find(item => this.props.currentPathname.indexOf(item.url) === 0);\r\n const firstLevelItemExact = menuItems.find(item => this.props.currentPathname === item.url);\r\n let secondLevelItem = firstLevelItem.children.find(item => this.props.currentPathname.indexOf(item.url) === 0);\r\n if (firstLevelItemExact) {\r\n secondLevelItem = firstLevelItem.children[0];\r\n }\r\n\r\n return `${firstLevelItem.text} ${secondLevelItem ? ` > ${secondLevelItem.text}` : ''}`;\r\n }\r\n return null;\r\n };\r\n handleLogout = () => {\r\n this.props.logoutAndRedirect();\r\n };\r\n\r\n handleClick = event => {\r\n event.preventDefault();\r\n this.setState({\r\n open: true,\r\n anchorEl: event.currentTarget,\r\n });\r\n };\r\n\r\n handleRequestClose = () => {\r\n this.setState({\r\n open: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { name, currentPathname } = this.props;\r\n const imageSource = `${basename}images/branding/eCommunity-logo.png`;\r\n const altText = locale.getMsg('applicationLogo');\r\n const logOutText = locale.getMsg('logout');\r\n const showCalendarButton =\r\n currentPathname != null && (currentPathname.includes('DailyPlanning') || currentPathname.includes('Planner'));\r\n return (\r\n
    \r\n \r\n \r\n {!this.state.showNavBar && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {this.state.showNavBar ? (\r\n \r\n \r\n {altText}\r\n \r\n ) : (\r\n {this.getSelectedMenu() || ''}\r\n )}\r\n \r\n \r\n {showCalendarButton && (\r\n
    \r\n this.setState({ showDatePicker: !this.state.showDatePicker })}\r\n className=\"datepicker-icon\"\r\n />\r\n {this.props.selectedDate && this.props.selectedDate}\r\n
    \r\n )}\r\n {this.state.showDatePicker && (\r\n this.setState({ showDatePicker: false })} />\r\n )}\r\n
    \r\n\r\n {name && (\r\n \r\n }\r\n >\r\n {name}\r\n \r\n\r\n \r\n {this.props.isAuthenticated ? (\r\n {logOutText}\r\n ) : (\r\n \r\n Login\r\n \r\n )}\r\n \r\n \r\n )}\r\n
    \r\n\r\n {this.state.showNavBar && (\r\n this.onCollapseChange(value)} />\r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nHeaderNew.defaultProps = {\r\n name: null,\r\n logoutAndRedirect: () => {},\r\n getAppSettings: () => {},\r\n isAuthenticated: false,\r\n currentPathname: null,\r\n selectedDate: null,\r\n};\r\n\r\nHeaderNew.propTypes = {\r\n name: PropTypes.string,\r\n logoutAndRedirect: PropTypes.func.isRequired,\r\n getAppSettings: PropTypes.func.isRequired,\r\n isAuthenticated: PropTypes.bool.isRequired,\r\n currentPathname: PropTypes.string,\r\n selectedDate: PropTypes.string,\r\n};\r\n\r\nconst checkPropsChange = (props, nextProps) =>\r\n props.name !== nextProps.name ||\r\n props.isAuthenticated !== nextProps.isAuthenticated ||\r\n props.selectedDate !== nextProps.selectedDate;\r\n\r\nexport default shouldUpdate(checkPropsChange)(HeaderNew);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst InnerContent = ({ children }) =>
    {children}
    ;\r\n\r\nInnerContent.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default InnerContent;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('accountLogin');\r\n\r\nconst LandingPage = ({ children }) => {\r\n const { version, instance } = globals;\r\n const currentYear = globals.now.year();\r\n const versionLabel = `${version} ${instance}`;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    {children}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {locale.getMsg('allocateLogo')}\r\n \r\n
    \r\n
    \r\n
    {locale.getMsg('applicationVersion', [versionLabel])}
    \r\n
    {locale.getMsg('rightsReserved', [`${currentYear}`])}
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nLandingPage.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default LandingPage;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport PrivateNavLink from '../../../containers/common/PrivateNavLink/PrivateNavLinkContainer';\r\n\r\nconst styles = {\r\n selected: 'selected',\r\n};\r\nconst locale = globals.getArea('header');\r\nconst featureAccesses = {\r\n dashboard: [globals.applicationFeatureAccesses.canAccessDashboard],\r\n dailyPlanning: [\r\n globals.applicationFeatureAccesses.canAccessCliniciansView,\r\n globals.applicationFeatureAccesses.canAllocateWork,\r\n ],\r\n visitActuals: [globals.applicationFeatureAccesses.canActualisePatientVisits],\r\n reports: [globals.applicationFeatureAccesses.canAccessReports],\r\n patients: [\r\n globals.applicationFeatureAccesses.canAddPatients,\r\n globals.applicationFeatureAccesses.canEditPatients,\r\n globals.applicationFeatureAccesses.canAddReferrals,\r\n globals.applicationFeatureAccesses.canEditReferrals,\r\n globals.applicationFeatureAccesses.canAddTreatments,\r\n globals.applicationFeatureAccesses.canEditTreatments,\r\n ],\r\n nonPatientActivities: [globals.applicationFeatureAccesses.canSetUpTeamMeetings],\r\n admin: [globals.applicationFeatureAccesses.canTriggerSync],\r\n};\r\nclass NavBar extends React.Component {\r\n shouldComponentUpdate(nextProps) {\r\n return this.props.currentPathname !== nextProps.currentPathname;\r\n }\r\n isActive(match) {\r\n return () => this.props.currentPathname.indexOf(match) === 0;\r\n }\r\n render() {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nNavBar.propTypes = {\r\n currentPathname: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default NavBar;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Box from '@material-ui/core/Box';\r\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport GetAppIcon from '@material-ui/icons/GetApp';\r\nimport Button from '@material-ui/core/Button';\r\nimport { menuItems } from './menuItems';\r\nimport { featureAccesses } from './featureAccesses';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport PrivateNavLinkNew from '../../../containers/common/PrivateNavLink/PrivateNavLinkContainerNew';\r\nimport { ExternalProviderType } from '../../../enums';\r\nimport { downloadS1Link } from '../../../actions/areas/dailyPlanning/downloadS1Link';\r\n\r\nconst styles = {\r\n selected: 'selected',\r\n};\r\n\r\nclass NavBarNew extends React.Component {\r\n state = {\r\n active: null,\r\n };\r\n\r\n shouldComponentUpdate(nextProps) {\r\n return (\r\n this.props.currentPathname !== nextProps.currentPathname ||\r\n this.props.externalProviderType !== nextProps.externalProviderType ||\r\n this.props.enableSendingRequestLogsToRio !== nextProps.enableSendingRequestLogsToRio\r\n );\r\n }\r\n\r\n onCollapseChange = () => {\r\n this.props.onCollapseChange();\r\n\r\n const funcExist = window.recalculate && typeof window.recalculate === 'function';\r\n if (funcExist) setTimeout(window.recalculate, 50);\r\n };\r\n\r\n isActive(match, activeChild, childId) {\r\n if (typeof activeChild !== 'undefined') return () => childId === activeChild.children[0].id;\r\n return () => this.props.currentPathname.indexOf(match) === 0;\r\n }\r\n\r\n isActiveChild(match) {\r\n return () => this.props.currentPathname === match;\r\n }\r\n\r\n render() {\r\n const activeLink = menuItems.find(item => this.isActive(item.url)());\r\n const activeChild = menuItems.find(item => this.isActiveChild(item.url)());\r\n\r\n if (this.props.appSettings.EnableMileageCap === 'false') {\r\n menuItems.forEach(item => {\r\n if (item.id === 'admin-header-navlink') {\r\n const milegCapExcludedList = item.children.filter(c => c.id !== 'mileageCap-header-navlink');\r\n item.children = milegCapExcludedList;\r\n }\r\n });\r\n }\r\n let menuItemsResult = menuItems;\r\n if (\r\n this.props.externalProviderType !== ExternalProviderType.Rio ||\r\n this.props.enableSendingRequestLogsToRio === 'false'\r\n ) {\r\n menuItemsResult = menuItems.filter(item => item.id !== 'requestlogs-header-navlink');\r\n }\r\n\r\n if (this.props.externalProviderType === ExternalProviderType.Emis) {\r\n menuItems.forEach(item => {\r\n if (item.id === 'admin-header-navlink') {\r\n item.children = item.children.filter(c => c.id !== 'external-provider-navlink');\r\n }\r\n });\r\n }\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n {checkFeatureAccess(this.props.featureAccessList, featureAccesses.isInIntegrationMode) &&\r\n checkFeatureAccess(this.props.featureAccessList, featureAccesses.admin) &&\r\n this.props.externalProviderType === ExternalProviderType.SystmOne && (\r\n downloadS1Link(this.props.tenatCode)}\r\n endIcon={}\r\n >\r\n Get S1 Link\r\n \r\n )}\r\n
    \r\n
    \r\n {/* submenu */}\r\n {activeLink && activeLink.children && activeLink.children.length > 0 ? (\r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nNavBarNew.propTypes = {\r\n currentPathname: PropTypes.string.isRequired,\r\n onCollapseChange: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default NavBarNew;\r\n","import globals from '../../../globals/communityGlobals';\r\n\r\nexport const featureAccesses = {\r\n dashboard: [globals.applicationFeatureAccesses.canAccessDashboard],\r\n dailyPlanning: [globals.applicationFeatureAccesses.showDailyPlanningView],\r\n planning: [\r\n globals.applicationFeatureAccesses.canAccessCliniciansView,\r\n globals.applicationFeatureAccesses.canAllocateWork,\r\n ],\r\n visitActuals: [globals.applicationFeatureAccesses.canActualisePatientVisits],\r\n reports: [globals.applicationFeatureAccesses.canAccessReports],\r\n patients: [\r\n globals.applicationFeatureAccesses.canAddPatients,\r\n globals.applicationFeatureAccesses.canEditPatients,\r\n globals.applicationFeatureAccesses.canAddReferrals,\r\n globals.applicationFeatureAccesses.canEditReferrals,\r\n globals.applicationFeatureAccesses.canAddTreatments,\r\n globals.applicationFeatureAccesses.canEditTreatments,\r\n ],\r\n nonPatientActivities: [globals.applicationFeatureAccesses.canSetUpTeamMeetings],\r\n admin: [globals.applicationFeatureAccesses.canTriggerSync],\r\n integration: [\r\n globals.applicationFeatureAccesses.enableIntegrationMode,\r\n globals.applicationFeatureAccesses.canTriggerSync,\r\n ],\r\n isInIntegrationMode: [globals.applicationFeatureAccesses.enableIntegrationMode],\r\n};\r\n","import { featureAccesses } from './featureAccesses';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('header');\r\n\r\nexport const menuItems = [\r\n {\r\n id: 'dashboard-header-navlink',\r\n text: locale.getMsg('dashboard'),\r\n url: '/Dashboard',\r\n featureAccess: featureAccesses.dashboard,\r\n children: [],\r\n },\r\n {\r\n id: 'dailyplanning-header-navlink',\r\n text: locale.getMsg('dailyPlanning'),\r\n url: '/DailyPlanning',\r\n featureAccess: featureAccesses.dailyPlanning,\r\n children: [],\r\n },\r\n {\r\n id: 'planning-header-navlink',\r\n text: 'Planning',\r\n url: '/Planner',\r\n featureAccess: featureAccesses.planning,\r\n children: [\r\n {\r\n id: 'treatment-view-header-navlink',\r\n text: 'Treatment View',\r\n url: '/Planner/TreatmentView',\r\n featureAccess: featureAccesses.planning,\r\n },\r\n {\r\n id: 'clinician-view-header-navlink',\r\n text: 'Clinician View',\r\n url: '/Planner/ClinicianView',\r\n featureAccess: featureAccesses.planning,\r\n },\r\n {\r\n id: 'map-view-header-navlink',\r\n text: 'Map View',\r\n url: '/Planner/mapView',\r\n featureAccess: featureAccesses.planning,\r\n },\r\n {\r\n id: 'clinician-groups-header-navlink',\r\n text: 'Clinician Groups',\r\n url: '/Planner/ClinicianGroups',\r\n featureAccess: featureAccesses.planning,\r\n },\r\n ],\r\n },\r\n {\r\n id: 'requestlogs-header-navlink',\r\n text: 'Request Logs',\r\n url: '/RequestLogs',\r\n featureAccess: featureAccesses.isInIntegrationMode,\r\n children: [],\r\n },\r\n {\r\n id: 'visitactuals-header-navlink',\r\n text: locale.getMsg('visitActuals'),\r\n url: '/VisitActuals',\r\n featureAccess: featureAccesses.visitActuals,\r\n children: [],\r\n },\r\n {\r\n id: 'reports-header-navlink',\r\n text: locale.getMsg('reports'),\r\n url: '/Reports',\r\n featureAccess: featureAccesses.reports,\r\n children: [],\r\n },\r\n {\r\n id: 'patients-header-navlink',\r\n text: locale.getMsg('patients'),\r\n url: '/Patients',\r\n featureAccess: featureAccesses.patients,\r\n children: [\r\n {\r\n id: 'patientsSearch-header-navlink',\r\n text: 'Patients Search',\r\n url: '/Patients/Search',\r\n featureAccess: featureAccesses.patients,\r\n },\r\n {\r\n id: 'patientsAudit-header-navlink',\r\n text: 'Patients Audit',\r\n url: '/Patients/Audit',\r\n featureAccess: featureAccesses.patients,\r\n },\r\n ],\r\n },\r\n {\r\n id: 'nonpatientactivities-header-navlink',\r\n text: locale.getMsg('nonPatientActivities'),\r\n url: '/NonPatientActivities',\r\n featureAccess: featureAccesses.nonPatientActivities,\r\n children: [],\r\n },\r\n {\r\n id: 'admin-header-navlink',\r\n text: locale.getMsg('admin'),\r\n url: '/Admin',\r\n featureAccess: featureAccesses.admin,\r\n children: [\r\n {\r\n id: 'activityTypes-header-navlink',\r\n text: 'Activity Types',\r\n url: '/Admin/ActivityTypes',\r\n featureAccess: featureAccesses.admin,\r\n },\r\n {\r\n id: 'activities-header-navlink',\r\n text: 'Activities',\r\n url: '/Admin/Activities',\r\n featureAccess: featureAccesses.admin,\r\n },\r\n {\r\n id: 'nonPatientActivityTypes-header-navlink',\r\n text: 'Non-Patient Activity Types',\r\n url: '/Admin/NonPatientActivityTypes',\r\n featureAccess: featureAccesses.admin,\r\n },\r\n {\r\n id: 'configureTimeSlots-header-navlink',\r\n text: 'Configure Time Slots',\r\n url: '/Admin/ConfigureTimeSlots',\r\n featureAccess: featureAccesses.admin,\r\n },\r\n // {\r\n // id: 'configure-assisted-planner-navlink',\r\n // text: 'Configure Assisted Planner',\r\n // url: '/Admin/ConfigureAssistedPlanner',\r\n // featureAccess: featureAccesses.admin,\r\n // },\r\n {\r\n id: 'configureClinician-header-navlink',\r\n text: 'Configure Clinician',\r\n url: '/Admin/ConfigureClinician',\r\n featureAccess: featureAccesses.admin,\r\n },\r\n {\r\n id: 'mileageCap-header-navlink',\r\n text: 'Mileage Cap',\r\n url: '/Admin/MileageCap',\r\n featureAccess: featureAccesses.admin,\r\n },\r\n {\r\n id: 'cancellationReasons-header-navlink',\r\n text: 'Reasons',\r\n url: '/Admin/Reasons',\r\n featureAccess: featureAccesses.admin,\r\n },\r\n {\r\n id: 'referralConfig-header-navlink',\r\n text: 'Configure Referral',\r\n url: '/Admin/ReferralConfig',\r\n featureAccess: featureAccesses.admin,\r\n },\r\n {\r\n id: 'cancelling-party-header-navlink',\r\n text: 'Cancelling Parties',\r\n url: '/Admin/CancellingParties',\r\n featureAccess: featureAccesses.admin,\r\n },\r\n {\r\n id: 'external-provider-navlink',\r\n text: 'External Provider',\r\n url: '/Admin/ExternalProvider',\r\n featureAccess: featureAccesses.integration,\r\n },\r\n {\r\n id: 'audit-header-navlink',\r\n text: 'Audit',\r\n url: '/Admin/Audit',\r\n featureAccess: featureAccesses.admin,\r\n },\r\n ],\r\n },\r\n];\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass PageContent extends React.Component {\r\n componentWillMount = () => {\r\n document.title = this.props.pageTitle;\r\n };\r\n\r\n render() {\r\n const permSide = this.props.permanentSidePanel ? true : null;\r\n return (\r\n
    \r\n \r\n {this.props.children}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nPageContent.defaultProps = {\r\n permanentSidePanel: false,\r\n};\r\n\r\nPageContent.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n pageTitle: PropTypes.string.isRequired,\r\n permanentSidePanel: PropTypes.bool,\r\n};\r\n\r\nexport default PageContent;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { shouldUpdate } from 'recompose';\r\n\r\nconst PageHeader = ({ children }) =>
    {children}
    ;\r\n\r\nconst checkPropsChange = (props, nextProps) => props.children !== nextProps.children;\r\n\r\nPageHeader.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default shouldUpdate(checkPropsChange)(PageHeader);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst SidePanel = ({ children }) => (\r\n \r\n);\r\n\r\nSidePanel.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default SidePanel;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Typography, IconButton, Box, Tooltip } from '@material-ui/core';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport InnerContent from '../../../components/PageStructure/InnerContent/InnerContent';\r\n\r\nimport PageContent from '../../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from '../../../components/PageStructure/PageHeader/PageHeader';\r\n\r\nimport globals from '../../../globals/communityGlobals';\r\nimport PatientForm from '../Form/PatientForm';\r\n\r\nconst locale = globals.getArea('patients');\r\nconst actionTypes = {\r\n create: 'CREATE',\r\n};\r\n\r\nconst PatientAdd = props => {\r\n const { submitAction, goBack, navigate } = props;\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n goBack()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('addPatient')}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nPatientAdd.propTypes = {\r\n submitAction: PropTypes.func.isRequired,\r\n goBack: PropTypes.func.isRequired,\r\n navigate: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default PatientAdd;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport PatientForm from '../../../components/Patients/Form/PatientForm';\r\n\r\nconst actionTypes = {\r\n edit: 'EDIT',\r\n};\r\n\r\nconst Patient = props => (\r\n \r\n);\r\n\r\nPatient.propTypes = {\r\n canEditPatients: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default Patient;\r\n","import { Prompt } from 'react-router-dom';\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport Snackbar from 'material-ui/Snackbar';\r\nimport { FormsySelect, FormsyText } from 'formsy-material-ui/lib';\r\nimport Formsy from 'formsy-react';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport moment from 'moment';\r\nimport { FormsyNHS, FormsyDate } from '../../common/Formsy';\r\nimport PostcodeSearch from '../../../containers/common/PostcodeSearch/PostcodeSearchContainer';\r\nimport AddressForm from '../../Treatments/AddressDetails/AddressForm';\r\nimport { actionTypes } from '../../../settings/constants';\r\nimport { textFieldStyle, common, dropDownStyle, datePickerStyle } from '../../../theme/AllocateBaseTheme';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { doubleActionPrevent, refSetter } from '../../../utils/helpers';\r\nimport PatientPropType from '../../../propTypes/entities/patient';\r\nimport { convertDateFromServer } from './../../../utils/dates';\r\nimport { phoneNumber } from '../../../settings/constants/regex';\r\n\r\nconst locale = globals.getArea('patients');\r\nconst localeTreatments = globals.getArea('treatments');\r\nconst errorsLocale = globals.getArea('error');\r\n\r\nconst TITLES = ['Mr', 'Mrs', 'Ms', 'Master', 'Miss', 'Doctor'];\r\nconst GENDERS = ['Male', 'Female', 'Other'];\r\n\r\nclass PatientForm extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n canSubmit: false,\r\n unSavedChanges: false,\r\n hasPostCode: props.actionType === 'EDIT',\r\n open: false,\r\n newPatientPasKey: null,\r\n hasBeenEdited: props.actionType === 'CREATE',\r\n patient: props.patient,\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n // preventing navigation from the route\r\n window.onbeforeunload = () => this.state.unSavedChanges;\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setState({\r\n unSavedChanges: false,\r\n });\r\n\r\n window.onbeforeunload = null;\r\n }\r\n\r\n onPostcodeChange = state => {\r\n this.setState({\r\n hasPostCode: state,\r\n });\r\n };\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n enableButton = () => {\r\n this.setState({ canSubmit: true });\r\n };\r\n disableButton = () => {\r\n this.setState({ canSubmit: false });\r\n };\r\n handleFormChange = (values, isChanged) => {\r\n this.setState({\r\n unSavedChanges: true,\r\n hasBeenEdited: isChanged || !moment(values.dateOfBirth).isSame(moment(this.props.patient.dateOfBirth)),\r\n });\r\n };\r\n\r\n handleRequestClose = () => this.setState({ open: false });\r\n\r\n formatDate = date => moment(date).format(globals.dateFormats.short);\r\n\r\n save = doubleActionPrevent.bind(this)(\r\n 'Save',\r\n async model => {\r\n this.state.unSavedChanges = false;\r\n const { submitAction } = this.props;\r\n const patient = this.state.patient || {};\r\n const addressFormModel = this.addressForm.getModel();\r\n const isEditMode = this.props.actionType === 'EDIT';\r\n const updated = Object.assign({}, patient, {\r\n nhsNumber: model.nhsNumber,\r\n title: model.title ? model.title : null,\r\n forename: model.forename,\r\n surname: model.surname,\r\n gender: model.gender ? model.gender : null,\r\n pasNumber: model.pasNumber,\r\n dateOfBirth: moment(model.dateOfBirth).format(globals.dateFormats.date),\r\n dateOfDeath: model.dateOfDeath ? moment(model.dateOfDeath).format(globals.dateFormats.date) : null,\r\n gpPractice: model.gpPractice,\r\n importedByExternalProvider: patient.importedByExternalProvider,\r\n contact: {\r\n homeTelephone: model.homeTelephone.trim(),\r\n workTelephone: model.workTelephone.trim(),\r\n mobileTelephone: model.mobileTelephone.trim(),\r\n fax: patient.fax,\r\n bleeper: patient.bleeper,\r\n email1: patient.email1,\r\n email2: patient.email2,\r\n webAddress: patient.webAddress,\r\n },\r\n address: {\r\n addressLine1: addressFormModel.address.addressLine1,\r\n addressLine2: addressFormModel.address.addressLine2,\r\n addressLine3: addressFormModel.address.addressLine3,\r\n townCity: addressFormModel.address.townCity,\r\n postCode: addressFormModel.address.postCode,\r\n accessDetails: addressFormModel.address.accessDetails,\r\n },\r\n isActive: isEditMode ? patient.isActive : true,\r\n // eslint-disable-next-line no-dupe-keys\r\n });\r\n\r\n this.setState({ patient: updated });\r\n\r\n await submitAction({\r\n patient: updated,\r\n hasPostcodeChanged: isEditMode && patient.address.postCode !== addressFormModel.address.postCode,\r\n }).then(response => {\r\n this.setState({ newPatientPasKey: response.response.data.pasKey, hasBeenEdited: false });\r\n if (response.response.data.isActive != null) {\r\n this.props.updatePatientIsActiveStatus(response.response.data.isActive);\r\n }\r\n });\r\n },\r\n () => {\r\n this.setState({ open: true });\r\n if (this.props.actionType === actionTypes.CREATE) {\r\n this.props.navigate(`/Patients/${this.state.newPatientPasKey}`);\r\n }\r\n },\r\n );\r\n\r\n updateAddressFromPostcode = selection => {\r\n this.addressFields.setValue({\r\n addressLine1: selection.lines[0],\r\n addressLine2: selection.lines[1],\r\n addressLine3: selection.lines[2],\r\n townCity: selection.postTown,\r\n postCode: selection.value,\r\n });\r\n this.onPostcodeChange(selection.value !== '');\r\n };\r\n\r\n render() {\r\n const { actionType, canEditPatients, enableIntegrationMode } = this.props;\r\n const patient = this.props.patient || {};\r\n const { address = {}, contact = {} } = patient;\r\n\r\n const errorMessages = {\r\n matchRegexp: errorsLocale.getMsg('invalidFormat'),\r\n };\r\n\r\n const isCreate = actionType === actionTypes.CREATE;\r\n const messageSuffix = isCreate ? 'created' : 'edited';\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('patientDetails')}\r\n \r\n \r\n {canEditPatients && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {TITLES.map(item => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {GENDERS.map(item => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {locale.getMsg('contactDetails')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {locale.getMsg('patientAddress')}\r\n \r\n\r\n \r\n {!enableIntegrationMode && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n this.onPostcodeChange(state)}\r\n disabled={!canEditPatients || enableIntegrationMode}\r\n accessDetailsDisabled={false}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nPatientForm.propTypes = {\r\n patient: PatientPropType,\r\n navigate: PropTypes.func.isRequired,\r\n actionType: PropTypes.string,\r\n canEditPatients: PropTypes.bool,\r\n enableIntegrationMode: PropTypes.bool.isRequired,\r\n};\r\n\r\nPatientForm.defaultProps = {\r\n patient: null,\r\n navigate: null,\r\n actionType: 'EDIT',\r\n canEditPatients: true,\r\n enableIntegrationMode: false,\r\n};\r\n\r\nexport default PatientForm;\r\n","import React from 'react';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport PropTypes from 'prop-types';\r\nimport Formsy from 'formsy-react';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport FlatButton from 'material-ui/FlatButton';\r\nimport { FormsyText } from 'formsy-material-ui/lib';\r\nimport ApiSelector from '../../../containers/common/selectors/selectorContainer';\r\nimport { refSetter, doubleActionPrevent } from '../../../utils/helpers';\r\nimport Table from '../../../containers/common/tables/tableContainer';\r\nimport { teamsEndpoint, getExcludedCliniciansForPatient, cliniciansEndpoint } from '../../../settings/constants';\r\nimport { textFieldStyle } from '../../../theme/AllocateBaseTheme';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('patients');\r\nconst errorsLocale = globals.getArea('error');\r\n\r\nconst maxReasonLength = 100;\r\nconst errorMessages = {\r\n maxLength: errorsLocale.getMsg('validationMaxLength', [`${maxReasonLength}`]),\r\n};\r\n\r\nclass ExcludedClinicians extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n canSubmit: false,\r\n isCliniciansFetchRequired: true,\r\n reloadData: false,\r\n };\r\n\r\n this.setRef = refSetter.bind(this);\r\n }\r\n\r\n enableButton = () => {\r\n this.setState({\r\n canSubmit: true,\r\n });\r\n };\r\n\r\n disableButton = () => {\r\n this.setState({\r\n canSubmit: false,\r\n });\r\n };\r\n\r\n handleAdd = doubleActionPrevent.bind(this)(\r\n 'Add',\r\n async model => {\r\n const { patient } = this.props;\r\n\r\n await this.props.excludeClinician(patient.id, model.clinicianId, model.reason);\r\n },\r\n () => {\r\n this.setState({ reloadData: !this.state.reloadData });\r\n this.form.reset();\r\n },\r\n );\r\n\r\n handleRemove = (patientId, clinicianId) =>\r\n doubleActionPrevent.bind(this)(\r\n 'Remove',\r\n async event => {\r\n const { removeExcludedClinician } = this.props;\r\n event.stopPropagation();\r\n\r\n await removeExcludedClinician(patientId, clinicianId);\r\n },\r\n () => {\r\n this.setState({ reloadData: !this.state.reloadData });\r\n },\r\n );\r\n\r\n handleTeamsChange = (event, value, payload) => {\r\n this.setState({ teamIds: payload, isCliniciansFetchRequired: true });\r\n };\r\n\r\n render() {\r\n const { patient, canEditPatients } = this.props;\r\n const { teamIds } = this.state;\r\n const columns = [\r\n {\r\n Header: locale.getMsg('clinician'),\r\n accessor: 'clinicianName',\r\n width: 300,\r\n },\r\n {\r\n Header: locale.getMsg('reason'),\r\n accessor: 'reason',\r\n width: 500,\r\n },\r\n {\r\n Header: locale.getMsg('action'),\r\n id: 'action',\r\n width: 100,\r\n accessor: row => (\r\n \r\n {locale.getMsg('remove')}\r\n \r\n ),\r\n },\r\n ];\r\n return (\r\n
    \r\n \r\n {locale.getMsg('excludedCliniciansHeader')}\r\n \r\n {locale.getMsg('excludedCliniciansDescription', [patient.patientFullName])}\r\n \r\n \r\n this.handleAdd(model)}\r\n onValid={this.enableButton}\r\n onInvalid={this.disableButton}\r\n ref={this.setRef('form')}\r\n >\r\n \r\n \r\n ({ id }))}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nExcludedClinicians.propTypes = {\r\n patient: PropTypes.shape({\r\n patientFullName: PropTypes.string,\r\n }).isRequired,\r\n removeExcludedClinician: PropTypes.func.isRequired,\r\n // eslint-disable-next-line react/no-unused-prop-types\r\n excludeClinician: PropTypes.func.isRequired,\r\n canEditPatients: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default ExcludedClinicians;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport PageContent from '../../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from '../../../components/PageStructure/PageHeader/PageHeader';\r\nimport PatientDetailsTabs from '../../../components/Patients/Patient/PatientDetailsTabs';\r\nimport Spinner from '../../../components/common/Spinner/Spinner';\r\nimport NonBlockingLoader from '.././../common/Loading/NonBlockingLoader';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { formatNhs } from '../../../utils/helpers';\r\nimport { ENABLE_SETTING_PATIENTS_AS_INACTIVE } from '../../../settings/constants/appSettings';\r\n\r\nconst locale = globals.getArea('patients');\r\n\r\nclass Patient extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isActive: null,\r\n };\r\n }\r\n componentDidMount() {\r\n const { match, getPatient, getAppSettings, enableSettingPatientsAsInactive } = this.props;\r\n getPatient(match.params.patientId);\r\n if (enableSettingPatientsAsInactive == null) {\r\n getAppSettings(ENABLE_SETTING_PATIENTS_AS_INACTIVE);\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.props.enableIntegrationMode && this.props.toggleReload && !this.props.syncFailed) {\r\n this.props.getPatient(this.props.match.params.patientId);\r\n }\r\n }\r\n\r\n getIsPatientActiveStatus = patient => {\r\n return this.state.isActive === null ? patient.isActive : this.state.isActive;\r\n };\r\n\r\n updatePatientIsActiveStatus = isActive => {\r\n this.setState({ isActive });\r\n };\r\n\r\n showPatientDetails = patient => {\r\n return (\r\n
    \r\n \r\n {`${patient.forename} ${patient.surname} - ${locale.getMsg('nhsNumber')}: ${formatNhs(patient.nhsNumber)}`}\r\n \r\n {patient && patient.importedByExternalProvider ?  (imported) : ''}\r\n {patient && this.props.enableSettingPatientsAsInactive === 'true' && !this.getIsPatientActiveStatus(patient) ? (\r\n  - Inactive\r\n ) : (\r\n ''\r\n )}\r\n
    \r\n );\r\n };\r\n\r\n handleCloseSnackBar = () => {\r\n this.props.resetPatientSync();\r\n };\r\n\r\n render() {\r\n const {\r\n patient,\r\n message,\r\n isSnackBarOpen,\r\n syncFailed,\r\n isFetching,\r\n go,\r\n pageTitle,\r\n canEditPatients,\r\n canEditReferrals,\r\n canAddReferrals,\r\n canAddTreatments,\r\n canEditTreatments,\r\n enableIntegrationMode,\r\n syncPatient,\r\n } = this.props;\r\n\r\n const formattedErrorMsg = () => {\r\n return message.split(';').map(item =>

    {item}

    );\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n {locale.getMsg('patientDetails')}\r\n {/*
    \r\n {patient ? (\r\n `${patient.forename} ${patient.surname} -\r\n ${locale.getMsg('nhsNumber')}: ${formatNhs(patient.nhsNumber)}`\r\n ) : (\r\n \r\n )}\r\n
    */}\r\n
    {patient ? this.showPatientDetails(patient) : }
    \r\n
    \r\n \r\n {patient ? (\r\n
    \r\n {canAddReferrals === true && !enableIntegrationMode ? (\r\n go(`/Patients/${patient.id}/Referrals/Create`)}\r\n label={locale.getMsg('createReferral')}\r\n />\r\n ) : (\r\n ''\r\n )}\r\n {canEditReferrals === true ||\r\n canAddReferrals === true ||\r\n canAddTreatments === true ||\r\n canEditTreatments === true ? (\r\n go(`/Patients/${patient.id}/Referrals`)}\r\n label={locale.getMsg('viewReferrals')}\r\n />\r\n ) : (\r\n ''\r\n )}\r\n\r\n {enableIntegrationMode ? (\r\n syncPatient(patient.id)}\r\n label=\"Sync Patient\"\r\n disabled={isFetching}\r\n />\r\n ) : (\r\n ''\r\n )}\r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n {patient && !isFetching && !syncFailed ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n
    \r\n {syncFailed && (\r\n this.handleCloseSnackBar()}\r\n />\r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nPatient.propTypes = {\r\n pageTitle: PropTypes.string.isRequired,\r\n patient: PropTypes.shape({\r\n address: PropTypes.shape({\r\n latitude: PropTypes.number,\r\n longitude: PropTypes.number,\r\n postCode: PropTypes.string,\r\n }),\r\n patientFullName: PropTypes.string,\r\n }),\r\n isFetching: PropTypes.bool.isRequired,\r\n getPatient: PropTypes.func.isRequired,\r\n go: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n patientId: PropTypes.string.isRequired,\r\n }),\r\n }).isRequired,\r\n canEditPatients: PropTypes.bool.isRequired,\r\n canEditReferrals: PropTypes.bool.isRequired,\r\n canAddReferrals: PropTypes.bool.isRequired,\r\n canAddTreatments: PropTypes.bool.isRequired,\r\n canEditTreatments: PropTypes.bool.isRequired,\r\n enableIntegrationMode: PropTypes.bool.isRequired,\r\n syncPatient: PropTypes.func,\r\n};\r\n\r\nPatient.defaultProps = {\r\n patient: null,\r\n syncPatient: () => {},\r\n};\r\n\r\nexport default Patient;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Tabs, Tab } from 'material-ui/Tabs';\r\nimport { tabStyles } from '../../../theme/AllocateBaseTheme';\r\n\r\nimport PatientNotes from './PatientNotes';\r\nimport PatientVisitInfo from './PatientHistoricVisits';\r\nimport PatientEdit from './../../../containers/Patients/Edit/PatientEditContainer';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('patients');\r\n\r\nfunction PatientDetailsTabs(props) {\r\n const { patient, canEditPatients, updatePatientIsActiveStatus } = props;\r\n const id = patient.id;\r\n return (\r\n \r\n
    \r\n
    {locale.getMsg('patientDetails')}
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nPatientDetailsTabs.propTypes = {\r\n patient: PropTypes.shape({\r\n address: PropTypes.shape({\r\n latitude: PropTypes.number,\r\n longitude: PropTypes.number,\r\n postCode: PropTypes.string,\r\n }),\r\n patientFullName: PropTypes.string,\r\n }).isRequired,\r\n canEditPatients: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default PatientDetailsTabs;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport SelectField from 'material-ui/SelectField';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport Box from '@material-ui/core/Box';\r\n\r\nimport { textFieldStyle, common, dropDownStyle } from '../../../theme/AllocateBaseTheme';\r\nimport Table from '../../../containers/common/tables/tableContainer';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { patientHistoricVisitsTable } from '../../../settings/constants/endpoints';\r\nimport _ from '../../../utils/lodash';\r\nimport ToolTip from './ToolTip';\r\nimport PatientRescheduledInformationDialogOpenerContainer from '../../../containers/Patients/Patient/PatientRescheduledInformationDialogOpenerContainer';\r\n\r\nconst locale = globals.getAreas(['patients', 'treatments']);\r\n\r\nconst standartColumnWidth = 230;\r\nconst midColumnWidth = 175;\r\nconst activitiesWidth = 500;\r\nconst minsWidth = 70;\r\n\r\nconst visitTypes = {\r\n UNALLOCATED: 'Unallocated',\r\n ALLOCATED: 'Allocated',\r\n CANCELLED: 'Cancelled',\r\n COMPLETED: 'Completed',\r\n};\r\n\r\nconst visitTypeObjectNames = {\r\n unallocated: 'unallocatedVisits',\r\n allocated: 'allocatedVisits',\r\n cancelled: 'canceledVisits',\r\n completed: 'completedVisits',\r\n};\r\n\r\nconst commonColumnFields = [\r\n { Header: locale.getMsg('activities'), accessor: 'activities', width: activitiesWidth },\r\n { Header: locale.getMsg('mins'), accessor: 'mins', width: minsWidth },\r\n];\r\n\r\nconst columnFields = {\r\n [visitTypeObjectNames[visitTypes.UNALLOCATED.toLowerCase()]]: [\r\n ...commonColumnFields,\r\n {\r\n Header: locale.getMsg('date'),\r\n id: 'date',\r\n accessor: row => (row.date ? moment(row.date).format(globals.dateFormats.short) : '-'),\r\n },\r\n {\r\n Header: locale.getMsg('treatmentSchedule'),\r\n id: 'timeSlots',\r\n accessor: row => ,\r\n width: standartColumnWidth,\r\n },\r\n {\r\n Header: locale.getMsg('dateOfUnallocation'),\r\n id: 'dateOfUnallocation',\r\n accessor: row =>\r\n row.dateOfUnallocation ? moment(row.dateOfUnallocation).format(globals.dateFormats.shortWithTime) : '',\r\n width: standartColumnWidth,\r\n },\r\n {\r\n Header: locale.getMsg('clinicianThatUnallocated'),\r\n accessor: 'clinicianThatUnallocated',\r\n width: standartColumnWidth,\r\n },\r\n {\r\n Header: locale.getMsg('isRescheduled'),\r\n id: 'isRescheduled',\r\n accessor: row =>\r\n row.isRescheduled ? (\r\n \r\n ) : (\r\n ''\r\n ),\r\n width: standartColumnWidth,\r\n },\r\n ],\r\n [visitTypeObjectNames[visitTypes.ALLOCATED.toLowerCase()]]: [\r\n ...commonColumnFields,\r\n { Header: locale.getMsg('clinicians'), accessor: 'clinicians' },\r\n {\r\n Header: locale.getMsg('dateOfVisit'),\r\n id: 'dateOfVisit',\r\n accessor: row => (row.dateOfVisit ? moment(row.dateOfVisit).format(globals.dateFormats.short) : ''),\r\n width: standartColumnWidth,\r\n },\r\n {\r\n Header: locale.getMsg('startTime'),\r\n id: 'startDate',\r\n accessor: row => (row.startDate ? moment(row.startDate).format(globals.timeFormats.hours24) : ''),\r\n width: standartColumnWidth,\r\n },\r\n {\r\n Header: locale.getMsg('endTime'),\r\n id: 'endDate',\r\n accessor: row => (row.endDate ? moment(row.endDate).format(globals.timeFormats.hours24) : ''),\r\n width: standartColumnWidth,\r\n },\r\n ],\r\n [visitTypeObjectNames[visitTypes.COMPLETED.toLowerCase()]]: [\r\n ...commonColumnFields,\r\n { Header: locale.getMsg('clinicians'), accessor: 'clinicians' },\r\n {\r\n Header: locale.getMsg('dateOfVisit'),\r\n id: 'dateOfVisit',\r\n accessor: row => (row.dateOfVisit ? moment(row.dateOfVisit).format(globals.dateFormats.short) : ''),\r\n width: standartColumnWidth,\r\n },\r\n {\r\n Header: locale.getMsg('startTime'),\r\n id: 'startDate',\r\n accessor: row => (row.startDate ? moment(row.startDate).format(globals.timeFormats.hours24) : ''),\r\n width: standartColumnWidth,\r\n },\r\n {\r\n Header: locale.getMsg('endTime'),\r\n id: 'endDate',\r\n accessor: row => (row.endDate ? moment(row.endDate).format(globals.timeFormats.hours24) : ''),\r\n width: standartColumnWidth,\r\n },\r\n ],\r\n [visitTypeObjectNames[visitTypes.CANCELLED.toLowerCase()]]: [\r\n ...commonColumnFields,\r\n {\r\n Header: locale.getMsg('dateOfCancellation'),\r\n id: 'dateOfCancellation',\r\n accessor: row =>\r\n row.dateOfCancellation ? moment(row.dateOfCancellation).format(globals.dateFormats.shortWithTime) : '',\r\n width: midColumnWidth,\r\n },\r\n { Header: locale.getMsg('clinicianThatCancelled'), accessor: 'clinicianThatCancelled', width: midColumnWidth },\r\n { Header: locale.getMsg('reason'), accessor: 'reason' },\r\n { Header: locale.getMsg('riskAssesment'), accessor: 'riskAssesment', width: midColumnWidth },\r\n { Header: locale.getMsg('status'), accessor: 'status', width: 75 },\r\n { Header: locale.getMsg('orgUnit'), accessor: 'orgUnit' },\r\n ],\r\n};\r\n\r\nclass PatientHistoricVisits extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n selectedOption: visitTypes.COMPLETED,\r\n days: 30,\r\n callbackModel: {\r\n funcName: '',\r\n funcParams: null,\r\n },\r\n };\r\n }\r\n\r\n handleChangeMenu = (event, index, value) => {\r\n this.setState({\r\n selectedOption: value,\r\n });\r\n };\r\n\r\n handleDataMenu = (event, index, value) => {\r\n const numberOfPreviousDays = value > 0 ? value : null;\r\n\r\n this.setState({\r\n days: numberOfPreviousDays,\r\n callbackModel: { funcName: 'updateParamsAndGetData', funcParams: { numberOfPreviousDays } },\r\n });\r\n };\r\n\r\n render() {\r\n const { selectedOption, days } = this.state;\r\n const selectedDays = !days ? -1 : days;\r\n\r\n const objectName = visitTypeObjectNames[selectedOption.toLowerCase()];\r\n return (\r\n
    \r\n \r\n \r\n \r\n {_.entries(visitTypes).map(([, value]) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n this.setState({ callbackModel: { funcName: '', funcParams: null } })}\r\n key={`patientHistoricVisitsTable${selectedOption}`}\r\n initialSearchParams={{\r\n patientPasKey: this.props.patientId,\r\n pageNumber: 1,\r\n pageSize: 30,\r\n numberOfPreviousDays: days,\r\n isCompleted: selectedOption === visitTypes.ALLOCATED ? false : undefined,\r\n }}\r\n reduxIdentifier=\"patientHistoricVisits\"\r\n endpoint={patientHistoricVisitsTable[selectedOption.toLowerCase()]}\r\n responseObjectName={objectName}\r\n columns={columnFields[objectName]}\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n\r\nPatientHistoricVisits.propTypes = {\r\n patientId: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default PatientHistoricVisits;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ExcludedClinicians from '../../../containers/Patients/ExcludedClinicians/ExcludedCliniciansContainer';\r\n\r\nconst PatientNotes = props => ;\r\n\r\nPatientNotes.propTypes = {\r\n canEditPatients: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default PatientNotes;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Dialog from 'material-ui/Dialog';\r\nimport FlatButton from 'material-ui/FlatButton/FlatButton';\r\nimport moment from 'moment';\r\nimport Spinner from '../../common/Spinner/Spinner';\r\nimport PatientRescheduledInformationDialogHeader from './PatientRescheduledInformationDialogHeader';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { nursing500 } from '../../../theme/AllocateColors';\r\n\r\nconst locale = globals.getArea('patients');\r\nclass PatientRescheduledInformationDialog extends React.Component {\r\n checkVisibility = dialog => (dialog ? dialog.isVisible : false);\r\n\r\n formatDate = date => (date ? moment(date).format(globals.dateFormats.long) : '');\r\n\r\n render() {\r\n const { isFetching, dialogs, id, hide, rescheduledInfo } = this.props;\r\n const dialog = dialogs[id];\r\n\r\n const contentWidth = '640px';\r\n const contentWidthPadded = '660px';\r\n const contentHeight = '310px';\r\n\r\n const isSpinning = isFetching || !rescheduledInfo;\r\n\r\n const closeButtonStyle = {\r\n textTransform: 'initial',\r\n color: nursing500,\r\n };\r\n return (\r\n hide(id)}\r\n autoScrollBodyContent\r\n contentStyle={{ width: contentWidthPadded, maxWidth: contentWidth }}\r\n className=\"dialog\"\r\n bodyClassName=\"BodyClass\"\r\n contentClassName=\"ContentClass\"\r\n aperClassName=\"paperClass\"\r\n titleClassName=\"TitleClass\"\r\n >\r\n \r\n {isSpinning ? (\r\n \r\n ) : (\r\n
    \r\n hide(id)}>\r\n {' '}\r\n {locale.getMsg('rescheduledVisitInformation')}\r\n \r\n
    \r\n
    \r\n
    \r\n
    {locale.getMsg('reason')}
    \r\n {this.props.rescheduledInfo.reason}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {locale.getMsg('riskAssesment')}
    \r\n {this.props.rescheduledInfo.riskAssessment}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {locale.getMsg('rescheduleDate')}
    \r\n {this.formatDate(this.props.rescheduledInfo.rescheduledDate)}\r\n
    \r\n
    \r\n
    {locale.getMsg('rescheduleTo')}
    \r\n {this.formatDate(this.props.rescheduledInfo.rescheduledTo)}\r\n
    \r\n
    \r\n
    {locale.getMsg('rescheduleVisitDuration')}
    \r\n \r\n {this.props.rescheduledInfo.mins} {locale.getMsg('mins')}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n hide(id)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nPatientRescheduledInformationDialog.defaultProps = {\r\n rescheduledInfo: null,\r\n};\r\n\r\nPatientRescheduledInformationDialog.propTypes = {\r\n hide: PropTypes.func.isRequired,\r\n id: PropTypes.string.isRequired,\r\n dialogs: PropTypes.objectOf(\r\n PropTypes.shape({\r\n isVisible: PropTypes.bool,\r\n }),\r\n ).isRequired,\r\n isFetching: PropTypes.bool.isRequired,\r\n rescheduledInfo: PropTypes.shape({\r\n reason: PropTypes.string,\r\n riskAssessment: PropTypes.string,\r\n clinicianThatRescheduled: PropTypes.string,\r\n rescheduledDate: PropTypes.string,\r\n rescheduledTo: PropTypes.string,\r\n mins: PropTypes.number,\r\n }),\r\n};\r\n\r\nexport default PatientRescheduledInformationDialog;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport IconButton from 'material-ui/IconButton';\r\n\r\nconst PatientRescheduledInformationDialogHeader = ({ children, onClose }) => (\r\n
    \r\n
    {children}
    \r\n \r\n \r\n \r\n
    \r\n);\r\n\r\nPatientRescheduledInformationDialogHeader.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default PatientRescheduledInformationDialogHeader;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport PatientRescheduledInformationDialogContainer from '../../../containers/Patients/Patient/PatientRescheduledInformationDialogContainer';\r\n\r\nclass PatientRescheduledInformationDialogOpener extends React.Component {\r\n onClick = () => {\r\n const { onOpen, show, id, getRescheduledInformation, treatmentInstanceId } = this.props;\r\n getRescheduledInformation(treatmentInstanceId);\r\n onOpen(id);\r\n show(id);\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n schedule\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nPatientRescheduledInformationDialogOpener.defaultProps = {\r\n onOpen: () => {},\r\n};\r\n\r\nPatientRescheduledInformationDialogOpener.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n show: PropTypes.func.isRequired,\r\n treatmentInstanceId: PropTypes.number.isRequired,\r\n getRescheduledInformation: PropTypes.func.isRequired,\r\n onOpen: PropTypes.func,\r\n};\r\n\r\nexport default PatientRescheduledInformationDialogOpener;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nimport timeSlotPropType from '../../../propTypes/entities/timeSlot';\r\n\r\n// If this is supposed to be an actual tooltip,\r\n// perhaps you could use the one in components/common/Tooltip\r\n\r\nconst formatHour = date =>\r\n moment(date)\r\n .utcOffset(0, true)\r\n .format(globals.timeFormats.short);\r\n\r\nconst toolTip = ({ timeSlots }) => (\r\n
    \r\n {timeSlots.map(({ id, from, to, name }) => (\r\n \r\n {`${name ? `${name}: ` : ''}${formatHour(from) + (from === to ? '' : ` - ${formatHour(to)}`)}`}\r\n \r\n ))}\r\n
    \r\n);\r\n\r\ntoolTip.defaultProps = {\r\n timeSlots: [],\r\n};\r\n\r\ntoolTip.propTypes = {\r\n timeSlots: PropTypes.arrayOf(timeSlotPropType),\r\n};\r\n\r\nexport default toolTip;\r\n","/* eslint-disable array-callback-return */\r\nimport React from 'react';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Box from '@material-ui/core/Box';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { mapActivities } from '../../../actions/areas/shared/mappingHelper';\r\nimport { mapBundledActivities } from './mappingHelper';\r\nimport { ragStatusWithDesc, Band } from '../../../enums';\r\nimport _ from '../../../utils/lodash';\r\n\r\nconst locale = globals.getArea('treatments');\r\nexport default function BundleVisitActivities({ items, treatmentInstance, overiddenDuration, errorMsg, isBundled }) {\r\n const distinctActivities = () => {\r\n const allActivities = isBundled ? mapBundledActivities(items) : mapActivities(items);\r\n const activities = [];\r\n allActivities.map(activity => {\r\n const findActivity = activities.find(x => x.id === activity.id || x.name === activity.name);\r\n if (!findActivity) activities.push(activity);\r\n });\r\n\r\n return activities;\r\n };\r\n\r\n const activities = distinctActivities();\r\n\r\n const distinctTreatmentIds = () => {\r\n const activityList = [];\r\n activities.flat().map(activity => {\r\n const findActivity = activityList.find(x => x.treatmentId === activity.treatmentId);\r\n if (!findActivity) activityList.push(activity);\r\n });\r\n\r\n return activityList.map(x => x.treatmentId);\r\n };\r\n\r\n const treatmentIds = distinctTreatmentIds();\r\n\r\n const getTotalDuration = bundleActivities => {\r\n return bundleActivities.reduce((sum, activity) => sum + activity.duration, 0);\r\n };\r\n\r\n const getHighestRagByTreatment = treatmentId => {\r\n const ragStatuses = items\r\n .filter(instance => instance.treatmentId === treatmentId)\r\n .map(instance => instance.ragStatus);\r\n const ragStatusesWithDesc = _.filter(ragStatusWithDesc, r => {\r\n return ragStatuses.find(x => x.id === r.id);\r\n });\r\n const maxRagStatus = ragStatusesWithDesc.reduce((max, x) => (max.sortingOrder > x.sortingOrder ? max : x), 0);\r\n\r\n return ragStatuses.find(x => x.id === maxRagStatus.id).name;\r\n };\r\n\r\n const getHighestBandByTreatment = treatmentId => {\r\n const bandsIds = items.filter(instance => instance.treatmentId === treatmentId).map(instance => instance.band.id);\r\n const maxBandId = Math.max(...bandsIds);\r\n\r\n const bandsWithDesc = _.filter(Band, b => {\r\n return bandsIds.find(x => x === b.id);\r\n });\r\n\r\n return bandsWithDesc.find(x => x.id === maxBandId).Name;\r\n };\r\n\r\n const renderBundleActivitiesRows = (activitiesName, activitiesByTreatment, treatmentId) => {\r\n return (\r\n \r\n \r\n {activitiesName}\r\n {getTotalDuration(activitiesByTreatment)}\r\n {getHighestRagByTreatment(treatmentId)}\r\n {getHighestBandByTreatment(treatmentId)}\r\n \r\n \r\n );\r\n };\r\n\r\n const mapActivitiesByTreatment = treatmentId => {\r\n const activitiesByTreatment = activities.flat().filter(x => x.treatmentId === treatmentId);\r\n const activitiesName = activitiesByTreatment.map(x => x.name).join(', ');\r\n\r\n if (!isBundled) {\r\n return (\r\n \r\n \r\n {activitiesName}\r\n {getTotalDuration(activitiesByTreatment)}\r\n \r\n \r\n );\r\n }\r\n\r\n return renderBundleActivitiesRows(activitiesName, activitiesByTreatment, treatmentId);\r\n };\r\n\r\n const totalDuration = () => {\r\n const totalActivitiesDuration = getTotalDuration(activities);\r\n\r\n if (overiddenDuration !== null) {\r\n errorMsg('');\r\n return totalActivitiesDuration;\r\n }\r\n\r\n if (totalActivitiesDuration <= 0 || totalActivitiesDuration > 1440) {\r\n errorMsg(locale.getMsg('totalDurationErrorMsg'));\r\n }\r\n\r\n return totalActivitiesDuration;\r\n };\r\n\r\n const renderActivitiesColumns = () => {\r\n if (!isBundled) {\r\n return (\r\n \r\n \r\n {locale.getMsg('visit')}\r\n {locale.getMsg('duration')}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n {locale.getMsg('visit')}\r\n {locale.getMsg('duration')}\r\n {locale.getMsg('ragStatus')}\r\n {locale.getMsg('requiredGrade')}\r\n \r\n \r\n );\r\n };\r\n\r\n const overriddenDuration = () => {\r\n return overiddenDuration || 0;\r\n };\r\n\r\n return (\r\n
    \r\n \r\n {renderActivitiesColumns()}\r\n {treatmentIds.map(mapActivitiesByTreatment)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {locale.getMsg('totalDuration')}\r\n {totalDuration()}\r\n
    {locale.getMsg('overriddenDuration')}\r\n {overriddenDuration()}\r\n
    \r\n
    \r\n {treatmentInstance && treatmentInstance.notes && treatmentInstance.notes !== '' && (\r\n
    \r\n \r\n Treatment Instance Notes\r\n \r\n \r\n {treatmentInstance.notes}\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable array-callback-return */\r\nimport React, { useEffect } from 'react';\r\nimport Box from '@material-ui/core/Box';\r\nimport { startTimeDisplay, parseDateUtc } from '../../../utils/dates';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { treatmentTimeTypes } from '../../../enums/treatmentTimeTypes';\r\n\r\nconst locale = globals.getArea('treatments');\r\nexport default function BundleVisitSlots({\r\n items,\r\n isTimeSlots,\r\n isSpecific,\r\n isMultiple,\r\n treatmentInstancesSlots,\r\n setSelectedSlotFrom,\r\n setTreatmentInstancesSlots,\r\n setTimeSlots,\r\n}) {\r\n const sortTimeSlots = (a, b) => {\r\n return parseDateUtc(a.from) - parseDateUtc(b.from);\r\n };\r\n\r\n const distinctByTimeSlot = slots => {\r\n const distinctTimeSlots = [];\r\n\r\n slots.map(timeSlot => {\r\n const findTimeSlot = distinctTimeSlots.find(x => x.from === timeSlot.from);\r\n if (!findTimeSlot) distinctTimeSlots.push(timeSlot);\r\n });\r\n\r\n return distinctTimeSlots;\r\n };\r\n\r\n const getTimeSlots = () => {\r\n const allTimeSlots = items.flatMap(x => x.timeSlots);\r\n let distinctTimeSlots = distinctByTimeSlot(allTimeSlots);\r\n\r\n if ((isSpecific.length >= 1 || isMultiple.length >= 1) && isTimeSlots.length > 0) {\r\n distinctTimeSlots = items\r\n .filter(x => x.treatmentTimeType !== treatmentTimeTypes.timeslot)\r\n .map(x => x.timeSlots)\r\n .flat();\r\n distinctTimeSlots = distinctByTimeSlot(distinctTimeSlots);\r\n }\r\n return distinctTimeSlots.sort((a, b) => sortTimeSlots(a, b));\r\n };\r\n\r\n const timeSlots = getTimeSlots();\r\n\r\n useEffect(() => {\r\n setTimeSlots(timeSlots);\r\n }, []);\r\n\r\n const handleTimeSlotSelectionChange = from => {\r\n const selectedTimeSlot = { ...treatmentInstancesSlots };\r\n if (selectedTimeSlot[from]) {\r\n delete selectedTimeSlot[from];\r\n setSelectedSlotFrom(null);\r\n } else {\r\n const selectedSlot = Object.assign({}, timeSlots.find(timeSlot => timeSlot.from === from));\r\n const unselectedSlots = timeSlots.filter(timeSlot => timeSlot.from !== from);\r\n\r\n if (selectedSlot) {\r\n setSelectedSlotFrom(selectedSlot.from);\r\n if (unselectedSlots) {\r\n unselectedSlots.forEach(x => {\r\n delete selectedTimeSlot[x.from];\r\n });\r\n }\r\n }\r\n selectedTimeSlot[from] = true;\r\n }\r\n setTreatmentInstancesSlots(selectedTimeSlot);\r\n };\r\n\r\n const getWarningMsg = () => {\r\n if (timeSlots.length > 1 && isSpecific.length >= 1 && isMultiple.length >= 1) {\r\n return locale.getMsg('visitsWithDifferentTime');\r\n }\r\n\r\n if (timeSlots.length > 1 && isMultiple.length > 1) {\r\n return locale.getMsg('visitsWithDifferentTime');\r\n }\r\n\r\n if (timeSlots.length > 1 && isSpecific.length > 1) {\r\n return locale.getMsg('specificTimeVisitsWarningMsg');\r\n }\r\n\r\n return '';\r\n };\r\n\r\n const showTimeSlots = () => {\r\n return getWarningMsg() !== '';\r\n };\r\n\r\n const warningPlaceholder = () => {\r\n const warningMsg = getWarningMsg();\r\n if (warningMsg === '') return null;\r\n\r\n return (\r\n \r\n

    {warningMsg}

    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n \r\n {warningPlaceholder()}\r\n {showTimeSlots() && (\r\n \r\n
    \r\n
    \r\n \r\n {timeSlots.map(slot => (\r\n \r\n {startTimeDisplay(slot.from, slot.to)}\r\n handleTimeSlotSelectionChange(slot.from)}\r\n >\r\n \r\n
    \r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n );\r\n}\r\n","/* eslint-disable array-callback-return */\r\nimport React, { useState } from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport EditActivitiesDuration from './EditActivitiesDuration';\r\nimport BundleVisitActivities from './BundleVisitActivities';\r\nimport BundleVisitSlots from './BundleVisitSlots';\r\nimport { mapTimeSlotsMatrix } from '../../../actions/areas/shared/mappingHelper';\r\nimport { mapBundleVisit } from './mappingHelper';\r\nimport { createBundleTreatment } from '../../../actions/areas/planner';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport useTimeline from '../timeline/useTimeline';\r\nimport { treatmentTimeTypes } from '../../../enums/treatmentTimeTypes';\r\nimport { trimmedDateAt } from '../../../utils/dates';\r\n\r\nconst treatmentMsgs = globals.getArea('treatments');\r\nconst errorMsgs = globals.getArea('error');\r\n\r\nexport default function BundleVisitsDetails({ items, onCancel, toggleRefresh }) {\r\n const { getAccessToken, resetContext } = useTimeline();\r\n const [showEditDurationPanel, setEditDurationPanel] = useState(false);\r\n const [overiddenDuration, setOveriddenDuration] = useState(null);\r\n const [selectedSlotFrom, setSelectedSlotFrom] = useState(null);\r\n const [errorMsg, setErrorMsg] = useState('');\r\n const [treatmentInstancesSlots, setTreatmentInstancesSlots] = useState([]);\r\n const [timeSlots, setTimeSlots] = useState([]);\r\n const [isDataLoading, setIsDataLoading] = useState(false);\r\n\r\n const isTimeSlots = items.filter(item => item.treatmentTimeType === treatmentTimeTypes.timeslot);\r\n const isSpecific = items.filter(item => item.treatmentTimeType === treatmentTimeTypes.specific);\r\n const isMultiple = items.filter(item => item.treatmentTimeType === treatmentTimeTypes.multiple);\r\n\r\n const canSave = () => {\r\n if (errorMsg !== '' || isDataLoading) {\r\n return false;\r\n }\r\n\r\n if (timeSlots.length > 1 && isSpecific.length >= 1 && isMultiple.length >= 1) {\r\n return selectedSlotFrom !== null;\r\n }\r\n\r\n if (timeSlots.length > 1 && isMultiple.length > 1) {\r\n return selectedSlotFrom !== null;\r\n }\r\n\r\n if (timeSlots.length > 1 && isSpecific.length > 1) {\r\n return selectedSlotFrom !== null;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n const errorPlaceholder = () => {\r\n return (\r\n \r\n

    {errorMsg}

    \r\n
    \r\n );\r\n };\r\n\r\n const resetAndReload = () => {\r\n setIsDataLoading(false);\r\n resetContext();\r\n onCancel();\r\n toggleRefresh();\r\n };\r\n\r\n const getSpecificOrMultipleTimeFrom = () => {\r\n let specificOrMultipleTimeFrom = items.filter(\r\n x => x.treatmentTimeType === treatmentTimeTypes.specific || x.treatmentTimeType === treatmentTimeTypes.multiple,\r\n );\r\n\r\n specificOrMultipleTimeFrom = specificOrMultipleTimeFrom.map(x => x.timeSlots[0].from);\r\n return specificOrMultipleTimeFrom[0];\r\n };\r\n\r\n const setBundleTreatmentErrorCallback = () => {\r\n setIsDataLoading(false);\r\n setErrorMsg(errorMsgs.getMsg('internalError'));\r\n };\r\n\r\n const saveBundleTreatment = () => {\r\n setIsDataLoading(true);\r\n const bundleVisitList = mapBundleVisit(items);\r\n\r\n let specificOrMultipleTimeFrom = null;\r\n if (selectedSlotFrom === null) {\r\n specificOrMultipleTimeFrom = getSpecificOrMultipleTimeFrom();\r\n }\r\n\r\n const bundleTreatmentModel = {};\r\n bundleTreatmentModel.treatmentInstances = bundleVisitList;\r\n bundleTreatmentModel.specificTimeFrom = selectedSlotFrom === null ? specificOrMultipleTimeFrom : selectedSlotFrom;\r\n bundleTreatmentModel.dateOn = trimmedDateAt(items[0].selectedDate);\r\n bundleTreatmentModel.orgUnitId = items[0].orgUnitId;\r\n bundleTreatmentModel.overriddenBundleDuration = overiddenDuration;\r\n\r\n if (isTimeSlots.length === items.length) {\r\n bundleTreatmentModel.timeSlotsMatrix = mapTimeSlotsMatrix(timeSlots);\r\n }\r\n createBundleTreatment(getAccessToken, bundleTreatmentModel, resetAndReload, setBundleTreatmentErrorCallback);\r\n };\r\n\r\n const headerRender = () => {\r\n const editDurationBtnRender = () => {\r\n return (\r\n \r\n setEditDurationPanel(true)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n onCancel()}>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {treatmentMsgs.getMsg('bundleVisits')}\r\n \r\n
    \r\n
    \r\n
    {editDurationBtnRender()}
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const bundleVisitsFormRender = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n {treatmentMsgs.getMsg('visitDetails')}\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const footerRender = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {}} onClose={() => {}}>\r\n
    \r\n {headerRender()}\r\n {errorMsg !== '' && {errorPlaceholder()}}\r\n {bundleVisitsFormRender()}\r\n {footerRender()}\r\n
    \r\n
    \r\n
    \r\n {showEditDurationPanel && (\r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Button from '@material-ui/core/Button';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { overrideBundleDuration } from '../../../actions/areas/planner';\r\n\r\nconst locale = globals.getArea('treatments');\r\nexport default function EditActivitiesDuration({\r\n openDurationPanel,\r\n onEditDuration,\r\n getAccessToken,\r\n treatmentInstanceId,\r\n toggleRefresh,\r\n refreshClinicianTreatmentsAndClosePanels,\r\n}) {\r\n const [duration, setDuration] = useState(null);\r\n\r\n const canSave = () => {\r\n if (duration == null) return false;\r\n\r\n return duration.selectedTotalTime > 0 && duration.selectedTotalTime <= 1440;\r\n };\r\n\r\n const validateFormData = () => {\r\n let errorMsg = '';\r\n if (duration == null) return errorMsg;\r\n\r\n if ((duration.selectedTotalTime !== '' && duration.selectedTotalTime <= 0) || duration.selectedTotalTime > 1440) {\r\n errorMsg = locale.getMsg('totalDurationErrorMsg');\r\n }\r\n return errorMsg;\r\n };\r\n\r\n const errorPlaceholder = () => {\r\n const errorMsg = validateFormData();\r\n if (errorMsg === '') return null;\r\n\r\n return (\r\n \r\n

    {errorMsg}

    \r\n
    \r\n );\r\n };\r\n\r\n const save = () => {\r\n onEditDuration(duration.selectedTotalTime);\r\n openDurationPanel(false);\r\n };\r\n\r\n const saveBundledDuration = () => {\r\n onEditDuration(duration.selectedTotalTime);\r\n\r\n const model = { treatmentInstanceId, overriddenBundleDuration: duration.selectedTotalTime };\r\n overrideBundleDuration(getAccessToken, model);\r\n openDurationPanel(false);\r\n toggleRefresh();\r\n refreshClinicianTreatmentsAndClosePanels();\r\n };\r\n\r\n const headerRender = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n {locale.getMsg('editDuration')}\r\n \r\n \r\n openDurationPanel(false)}>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const totalDurationFormRender = () => {\r\n return (\r\n
    \r\n
    \r\n {errorPlaceholder()}\r\n \r\n {locale.getMsg('totalDuration')}\r\n \r\n \r\n setDuration({ ...duration, selectedTotalTime: parseInt(e.target.value, 10) })}\r\n value={duration != null ? duration.selectedTotalTime : null}\r\n />\r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const footerRender = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {locale.getMsg('save')}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}} onClose={() => {}}>\r\n
    \r\n {headerRender()}\r\n {totalDurationFormRender()}\r\n {footerRender()}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Button from '@material-ui/core/Button';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport useTimeline from '../timeline/useTimeline';\r\nimport { postUnbundleTreatmentInstance } from '../../../actions/areas/planner';\r\n\r\nconst dailyPlanningLocale = globals.getArea('dailyPlanning');\r\nconst treatmentLocale = globals.getArea('treatments');\r\n\r\nexport default function UnbundleTreatment({ onSuccess, onBack, treatmentInstanceId }) {\r\n const { getAccessToken } = useTimeline();\r\n const [error, setError] = useState(null);\r\n const [disableButtons, setDisableButtons] = useState(false);\r\n const [isDataLoading, setIsDataLoading] = useState(false);\r\n\r\n const headerRender = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n {dailyPlanningLocale.getMsg('unbundle')}\r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const confirmationMessage = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n {dailyPlanningLocale.getMsg('unbundleTreatmentInstanceConfirmation')}\r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const onSave = () => {\r\n const onErrorResponse = errorResponse => {\r\n setError(errorResponse.message);\r\n setDisableButtons(false);\r\n setIsDataLoading(false);\r\n };\r\n\r\n setDisableButtons(true);\r\n setIsDataLoading(true);\r\n\r\n postUnbundleTreatmentInstance(getAccessToken, { bundleTreatmentInstanceId: treatmentInstanceId }, onErrorResponse);\r\n onSuccess();\r\n };\r\n\r\n const errorRender = () => {\r\n return error ? (\r\n
    \r\n \r\n

    {error}

    \r\n
    \r\n
    \r\n ) : (\r\n \r\n );\r\n };\r\n\r\n const footerRender = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {headerRender()}\r\n {confirmationMessage()}\r\n {errorRender()}\r\n {footerRender()}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable array-callback-return */\r\nimport { treatmentTimeTypes } from '../../../enums/treatmentTimeTypes';\r\nimport { mapTimeSlotsMatrix } from '../../../actions/areas/shared/mappingHelper';\r\n\r\nexport const mapBundleVisit = treatmentInstances => {\r\n let bundleVisitModel = {};\r\n const bundleVisitList = [];\r\n\r\n treatmentInstances.forEach(x => {\r\n bundleVisitModel = {\r\n treatmentInstanceId: x.treatmentInstanceId,\r\n treatmentId: x.treatmentId,\r\n nhsNumber: x.nhsNumber,\r\n postcode: x.treatmentPostcode,\r\n multipleVisitsTimeSlotChosen:\r\n x.treatmentTimeType === treatmentTimeTypes.multiple ? mapTimeSlotsMatrix(x.timeSlots) : [],\r\n };\r\n bundleVisitList.push(bundleVisitModel);\r\n });\r\n\r\n return bundleVisitList;\r\n};\r\n\r\nexport const mapBundledActivities = treatmentInstances => {\r\n let activityModel = {};\r\n const activitiyList = [];\r\n\r\n treatmentInstances.map(x =>\r\n x.activities.forEach(y => {\r\n activityModel = {\r\n treatmentId: x.treatmentId,\r\n id: y.activityId,\r\n name: y.name,\r\n duration: y.duration,\r\n };\r\n activitiyList.push(activityModel);\r\n }),\r\n );\r\n\r\n return activitiyList.flat();\r\n};\r\n","import React, { useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\n\r\nimport ClinicianGroupForm from './ClinicianGroupForm';\r\nimport WarningSidePanel from '../../common/WarningSidePanel/WarningSidePanel';\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\n\r\nimport { ClinicianGroupType } from '../../../enums/clinicianGroupType';\r\nimport { useFetchClinicianGroups } from '../../../actions/areas/clinicianGroups/fetchClinicianGroups';\r\nimport { tableSettings } from './groupsTableSettings';\r\nimport { eventHandlers } from './clinicianGroupsHandler';\r\nimport { getDateForApi } from '../../../utils/dates';\r\n\r\nexport default function ClinicianGroupContent({ orgUnitId, validFromDate, validToDate, clinicianGroupType }) {\r\n const [state, setState] = useState({\r\n forceReload: false,\r\n currentPage: 1,\r\n pageSize: 15,\r\n clinicianGroupWithDefaultValues: {},\r\n openClinicianGroupPanel: false,\r\n openWarningSidePanel: false,\r\n sortColumn: 'Id',\r\n sortDirection: 'desc',\r\n errorMsg: null,\r\n });\r\n\r\n const model = {\r\n orgUnitId,\r\n clinicianGroupType,\r\n validFromDate: getDateForApi(validFromDate),\r\n validToDate: getDateForApi(validToDate),\r\n pageSize: state.pageSize,\r\n currentPage: state.currentPage,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n };\r\n const { data: clinicianGroupsData, isDataLoading, auth, isUpdateTriggered } = useFetchClinicianGroups(\r\n model,\r\n state.forceReload,\r\n );\r\n\r\n const events = eventHandlers(state, setState, auth);\r\n const settings = tableSettings({\r\n count: clinicianGroupsData.totalCount,\r\n page: clinicianGroupsData.currentPage - 1,\r\n pageSize: clinicianGroupsData.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n eventHandlers: events,\r\n isUpdateTriggered,\r\n activeOnly: clinicianGroupType === ClinicianGroupType.Active,\r\n });\r\n\r\n if (isDataLoading)\r\n return (\r\n Wait a moment while we gather Clinician pairings info...\r\n );\r\n\r\n const props = {\r\n clinicianGroup: state.clinicianGroupWithDefaultValues,\r\n events,\r\n errorMsg: state.errorMsg,\r\n };\r\n\r\n return (\r\n
    \r\n \r\n {state.openClinicianGroupPanel && }\r\n {state.openWarningSidePanel && (\r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Box, IconButton, Link } from '@material-ui/core';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport { DropdownFilter } from '../../Planner/Filters/DropdownFilter';\r\n\r\nimport { useFetchOrgUnitOptions } from '../../../actions/areas/shared/fetchOptions';\r\nimport { ClinicianGroupType, ClinicianGroupTypeOptions } from '../../../enums/clinicianGroupType';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst defaultState = {\r\n orgUnitId: '',\r\n validFromDate: null,\r\n validToDate: null,\r\n clinicianGroupType: ClinicianGroupType.Active,\r\n errorMsg: null,\r\n};\r\n\r\nexport default function ClinicianGroupFilters({ onSubmit }) {\r\n const locale = globals.getAreas(['clinicianGroups', 'error']);\r\n\r\n const [state, setState] = useState(defaultState);\r\n\r\n const [errorState, setErrorState] = useState(null);\r\n\r\n const { data: orgUnitOptions } = useFetchOrgUnitOptions(false);\r\n\r\n const validate = () => {\r\n if (state.validFromDate && state.validToDate && state.validFromDate > state.validToDate) {\r\n setErrorState(locale.getMsg('dateToBeforeDateFrom'));\r\n return;\r\n }\r\n setErrorState(null);\r\n onSubmit(state);\r\n };\r\n\r\n const clear = () => {\r\n setState(defaultState);\r\n setErrorState(null);\r\n onSubmit(defaultState);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('orgUnit')}\r\n \r\n \r\n setState({ ...state, orgUnitId: value })}\r\n />\r\n \r\n \r\n Status\r\n \r\n \r\n setState({ ...state, clinicianGroupType: value })}\r\n />\r\n \r\n \r\n Date From\r\n \r\n \r\n setState({ ...state, validFromDate: e })}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className=\"calendar-picker-input\"\r\n error={errorState}\r\n helperText={errorState}\r\n />\r\n \r\n \r\n Date To\r\n \r\n \r\n setState({ ...state, validToDate: e })}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className=\"calendar-picker-input\"\r\n />\r\n \r\n \r\n \r\n \r\n Clear\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","/* eslint-disable radix */\r\n/* eslint-disable react/no-array-index-key */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport moment from 'moment';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Button from '@material-ui/core/Button';\r\nimport Box from '@material-ui/core/Box';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport AutocompleteWrapper from '../../common/Autocomplete/AutocompleteWrapper';\r\nimport { useFetchOrgUnitOptions, getClinicianOptionsForOrgUnits } from '../../../actions/areas/shared';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport KeyboardDateSelector from '../../common/KeyboardDateTimeSelectors/KeyboardDateSelector';\r\nimport { getErrorProps, checkRequiredOnBlur } from '../../../utils/keyboardSelectorFunctions';\r\nimport { extractDateOnly, isDateFromBeforeDateTo, isValidDate } from '../../../utils/dates';\r\n\r\nconst errors = globals.getArea('error');\r\n\r\nexport default function ClinicianGroupForm({ props }) {\r\n const auth = useSelector(state => state.global.auth);\r\n\r\n const clinicianGroup = props.clinicianGroup;\r\n const [state, setState] = useState({\r\n id: clinicianGroup.id ? clinicianGroup.id : null,\r\n name: clinicianGroup.name,\r\n selectedClinicians: clinicianGroup.clinicianOptions,\r\n selectedOrgUnit: clinicianGroup.orgUnitOption,\r\n validFrom: moment(clinicianGroup.validFrom).toDate(),\r\n validTo: moment(clinicianGroup.validTo).toDate(),\r\n clinicianOptions: [],\r\n errors: [],\r\n });\r\n const [dateValidationErrors, setDateValidationErrors] = useState({});\r\n\r\n const getOrgUnitClinicians = orgUnitId => {\r\n getClinicianOptionsForOrgUnits(auth, { teamIds: [orgUnitId] }, false, data => {\r\n setState(newState => ({\r\n ...newState,\r\n clinicianOptions: data.options,\r\n }));\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (state.selectedOrgUnit) {\r\n getOrgUnitClinicians(state.selectedOrgUnit.id);\r\n }\r\n }, []);\r\n\r\n const { data: orgUnitOptions, isDataLoading: isOrgUnitsLoading } = useFetchOrgUnitOptions(false);\r\n\r\n if (isOrgUnitsLoading) return null;\r\n\r\n const headerTitle = state.id ? `Edit clinician group` : `Create clinician group`;\r\n\r\n const validateFormData = () => {\r\n const errorMsg = [];\r\n\r\n if (!state.name || state.name.trim() === '') {\r\n errorMsg.push({ name: 'name', message: 'Name cannot be empty.' });\r\n }\r\n\r\n if (state.name && state.name.length > 100) {\r\n errorMsg.push({ name: 'name', message: 'Name cannot be more than 100 characters.' });\r\n }\r\n\r\n if (!state.selectedOrgUnit) {\r\n errorMsg.push({ name: 'selectedOrgUnit', message: 'Org Unit must be selected.' });\r\n }\r\n\r\n if (state.selectedClinicians.length < 2 || state.selectedClinicians.length > 8) {\r\n errorMsg.push({\r\n name: 'selectedClinicians',\r\n message: 'The number of selected Clinicians must be between 2 and 8.',\r\n });\r\n }\r\n\r\n if (!state.validFrom || !state.validTo) {\r\n errorMsg.push({ name: 'validFromvalidTo', message: 'Date From and Date To cannot be empty.' });\r\n }\r\n\r\n if (!isDateFromBeforeDateTo(state.validFrom, state.validTo, true)) {\r\n errorMsg.push({ name: 'validFromvalidTo', message: props.events.locale.getMsg('dateToBeforeDateFrom') });\r\n }\r\n\r\n if (\r\n (state.validFrom && state.validFrom < extractDateOnly(new Date(globals.now))) ||\r\n (state.validTo && state.validTo < extractDateOnly(new Date(globals.now)))\r\n ) {\r\n errorMsg.push({ name: 'validFromvalidTo', message: 'Date From and Date To cannot be in the past.' });\r\n }\r\n\r\n setState({\r\n ...state,\r\n errors: errorMsg,\r\n });\r\n\r\n return errorMsg.length > 0;\r\n };\r\n\r\n const onSaveClick = () => {\r\n if (validateFormData()) return;\r\n\r\n const model = {\r\n ClinicianGroupId: state.id,\r\n Name: state.name.trim(),\r\n OrgUnitId: state.selectedOrgUnit.id,\r\n ClinicianIds: state.selectedClinicians.map(x => x.id),\r\n ValidFrom: moment(state.validFrom).format(globals.dateFormats.localApiFormat),\r\n ValidTo: moment(state.validTo).format(globals.dateFormats.localApiFormat),\r\n };\r\n\r\n props.events.createOrEditClinicianGroup(model);\r\n };\r\n\r\n const setSelectedValue = (key, value) => {\r\n setState({\r\n ...state,\r\n [key]: value,\r\n errors: state.errors.filter(x => !x.name.includes(key)),\r\n });\r\n };\r\n\r\n const onChangeDropDown = (key, values) => {\r\n if (key === 'selectedOrgUnit') {\r\n setState({\r\n ...state,\r\n [key]: values,\r\n clinicianOptions: [],\r\n selectedClinicians: [],\r\n errors: state.errors.filter(x => x.name !== key),\r\n });\r\n if (values) getOrgUnitClinicians(values.id);\r\n } else {\r\n setSelectedValue(key, values);\r\n }\r\n };\r\n\r\n const errorPlaceholder = () => {\r\n if (state.errors.length <= 0 && props.errorMsg === null) return null;\r\n\r\n return (\r\n \r\n {props.errorMsg ? props.errorMsg.message.split('\\n').map((it, i) =>

    {it}

    ) : null}\r\n {state.errors.map((item, i) => (\r\n

    {item.message}

    \r\n ))}\r\n
    \r\n );\r\n };\r\n\r\n const handleDateChange = (fieldName, date) => {\r\n let errorMsg = null;\r\n\r\n if (!date) {\r\n errorMsg = errors.getMsg('requiredFieldValidationMessage');\r\n }\r\n\r\n setDateValidationErrors(prevState => ({\r\n ...prevState,\r\n [fieldName]: errorMsg,\r\n }));\r\n setState(prevState => ({ ...prevState, [fieldName]: date }));\r\n };\r\n\r\n const headerRender = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n {headerTitle}\r\n \r\n \r\n props.events.onClose()}>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const mainContentRender = () => {\r\n return (\r\n
    \r\n \r\n Clinician group details\r\n \r\n {errorPlaceholder()}\r\n
    \r\n setSelectedValue('name', e.target.value)}\r\n label={props.events.locale.getMsg('name')}\r\n />\r\n \r\n \r\n \r\n \r\n handleDateChange('validFrom', date)}\r\n onBlur={event =>\r\n checkRequiredOnBlur(event.target.value, setDateValidationErrors, 'validFrom', dateValidationErrors)\r\n }\r\n errorProps={getErrorProps(dateValidationErrors.validFrom)}\r\n minDate={new Date(globals.now)}\r\n minDateMessage={errors.getMsg('cannotBeInThePast')}\r\n />\r\n \r\n \r\n handleDateChange('validTo', date)}\r\n onBlur={event =>\r\n checkRequiredOnBlur(event.target.value, setDateValidationErrors, 'validTo', dateValidationErrors)\r\n }\r\n errorProps={getErrorProps(dateValidationErrors.validTo)}\r\n minDate={state.validFrom}\r\n minDateMessage={props.events.locale.getMsg('dateToBeforeDateFrom')}\r\n />\r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const footerRender = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n props.events.onClose()}\r\n style={{ marginRight: '10px' }}\r\n >\r\n {props.events.locale.getMsg('back')}\r\n \r\n
    \r\n
    \r\n \r\n {state.id ? props.events.locale.getMsg('save') : props.events.locale.getMsg('create')}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}} onClose={() => {}}>\r\n
    \r\n {headerRender()}\r\n {mainContentRender()}\r\n {footerRender()}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable import/no-unresolved */\r\n/* eslint-disable import/extensions */\r\nimport React, { useState } from 'react';\r\nimport ClinicianGroupFilters from './ClinicianGroupFilters';\r\nimport ClinicianGroupContent from './ClinicianGroupContent';\r\nimport { ClinicianGroupType } from '../../../enums/clinicianGroupType';\r\n\r\nexport function ClinicianGroupPage() {\r\n document.title = 'Clinician Group view';\r\n const [state, setState] = useState({\r\n orgUnitId: null,\r\n validFromDate: null,\r\n validToDate: null,\r\n clinicianGroupType: ClinicianGroupType.Active,\r\n });\r\n\r\n return (\r\n \r\n setState(filtersState)} />\r\n \r\n \r\n );\r\n}\r\n","import {\r\n postCreateOrEditClinicianGroup,\r\n disableClinicianGroup,\r\n} from '../../../actions/areas/clinicianGroups/commandActions';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst clinicianGroupWithDefaultValues = {\r\n name: undefined,\r\n orgUnitOption: null,\r\n clinicianOptions: [],\r\n dateFrom: globals.now,\r\n dateTo: globals.now,\r\n};\r\nconst locale = globals.getAreas(['clinicianGroups', 'error', 'selectableListsValues', 'userActions']);\r\n\r\nexport const eventHandlers = (state, setState, auth) => {\r\n const handleSidePanel = (isOpen, data) => {\r\n // eslint-disable-next-line no-unused-expressions\r\n data != null\r\n ? setState(newState => ({\r\n ...newState,\r\n openClinicianGroupPanel: isOpen,\r\n clinicianGroupWithDefaultValues: data,\r\n }))\r\n : setState(newState => ({ ...newState, openClinicianGroupPanel: isOpen, clinicianGroupWithDefaultValues }));\r\n };\r\n const refreshTable = () =>\r\n setState(newState => ({\r\n ...newState,\r\n forceReload: !state.forceReload,\r\n openClinicianGroupPanel: false,\r\n openWarningSidePanel: false,\r\n errorMsg: null,\r\n }));\r\n const updateTableProps = (currentPage, pageSize) => setState({ ...state, currentPage, pageSize });\r\n const updateTableSort = (sortColumn, sortDirection) => setState({ ...state, sortColumn, sortDirection });\r\n const errorCallback = response => {\r\n setState(newState => ({ ...newState, errorMsg: response }));\r\n };\r\n\r\n const onClose = () => {\r\n setState(newState => ({ ...newState, openClinicianGroupPanel: false, errorMsg: null }));\r\n };\r\n\r\n const handleWarningPanel = (isOpen, data) => {\r\n // eslint-disable-next-line no-unused-expressions\r\n data != null\r\n ? setState(newState => ({\r\n ...newState,\r\n openWarningSidePanel: isOpen,\r\n clinicianGroupWithDefaultValues: data,\r\n }))\r\n : setState(newState => ({\r\n ...newState,\r\n openWarningSidePanel: isOpen,\r\n clinicianGroupWithDefaultValues,\r\n }));\r\n };\r\n\r\n return {\r\n locale,\r\n addButtonText: locale.getMsg('addButtonText'),\r\n refreshTable,\r\n handleSidePanel,\r\n updateTableProps,\r\n updateTableSort,\r\n onClose,\r\n handleWarningPanel,\r\n createOrEditClinicianGroup: model => {\r\n postCreateOrEditClinicianGroup(auth, model, refreshTable, errorCallback);\r\n },\r\n onConfirmWarning: () => {\r\n disableClinicianGroup(\r\n auth,\r\n { clinicianGroupId: state.clinicianGroupWithDefaultValues.id },\r\n refreshTable,\r\n errorCallback,\r\n );\r\n },\r\n };\r\n};\r\n","/* eslint-disable no-case-declarations */\r\n/* eslint-disable default-case */\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport { Typography, IconButton } from '@material-ui/core';\r\nimport CustomToolbar from '../../common/CustomToolbar/CustomToolbar';\r\n\r\nimport _ from '../../../utils/lodash';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst mapPropName = (columnName, isEntityToDto = false) => {\r\n const entityNames = ['Name', 'Clinicians', 'Unit', 'ValidFrom', 'ValidTo'];\r\n const dtoNames = ['name', 'clinicians', 'unit', 'validFrom', 'validTo'];\r\n if (isEntityToDto) {\r\n const index = _.indexOf(entityNames, columnName);\r\n return dtoNames[index];\r\n }\r\n const index = _.indexOf(dtoNames, columnName);\r\n return entityNames[index];\r\n};\r\n\r\nconst setSortDirection = (columnDtoName, options) => {\r\n const entityName = mapPropName(columnDtoName, false);\r\n\r\n return entityName === options.sortColumn ? options.sortDirection : 'none';\r\n};\r\n\r\nconst mapRowData = rowData => {\r\n const mappedRowData = [\r\n 'id',\r\n 'clinicianOptions',\r\n 'orgUnitOption',\r\n 'name',\r\n 'clinicianNames',\r\n 'orgUnitName',\r\n 'validFrom',\r\n 'validTo',\r\n ];\r\n const result = {};\r\n // eslint-disable-next-line no-return-assign\r\n mappedRowData.forEach((data, i) => {\r\n result[data] = rowData[i];\r\n });\r\n return result;\r\n};\r\n\r\nconst editClinicianGroupSidePanel = (rowData, eventHandlers) => {\r\n eventHandlers.handleSidePanel(true, mapRowData(rowData));\r\n};\r\n\r\nconst disableClinicianGroupWarning = (rowData, eventHandlers) => {\r\n eventHandlers.handleWarningPanel(true, mapRowData(rowData));\r\n};\r\n\r\nexport const tableSettings = options => {\r\n const locale = options.eventHandlers.locale;\r\n const eventHandlers = options.eventHandlers;\r\n\r\n return {\r\n name: {locale.getMsg('clinicianGroups')},\r\n columns: [\r\n {\r\n name: 'id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'clinicianOptions',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'orgUnitOption',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'name',\r\n label: locale.getMsg('name'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'name',\r\n direction: setSortDirection('name', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'clinicianNames',\r\n label: locale.getMsg('clinicians'),\r\n options: {\r\n sort: false,\r\n },\r\n },\r\n\r\n {\r\n name: 'orgUnitName',\r\n label: locale.getMsg('orgUnit'),\r\n options: {\r\n sort: false,\r\n },\r\n },\r\n {\r\n name: 'validFrom',\r\n label: locale.getMsg('dateFrom'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'validFrom',\r\n direction: setSortDirection('validFrom', options),\r\n },\r\n setCellProps: () => ({ style: { width: '150px' } }),\r\n customBodyRender: value => (value ? moment(value).format(globals.dateFormats.short) : '-'),\r\n },\r\n },\r\n {\r\n name: 'validTo', // value is mapped from initial valid to\r\n label: locale.getMsg('dateTo'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'validTo',\r\n direction: setSortDirection('validTo', options),\r\n },\r\n setCellProps: () => ({ style: { width: '150px' } }),\r\n customBodyRender: value => (value ? moment(value).format(globals.dateFormats.short) : '-'),\r\n },\r\n },\r\n {\r\n name: 'Actions',\r\n label: 'Actions',\r\n options: {\r\n display: options.activeOnly,\r\n sort: false,\r\n setCellHeaderProps: () => ({ className: 'centered' }),\r\n setCellProps: () => ({ style: { width: '150px' } }),\r\n customBodyRender: (value, tableMeta) => (\r\n
    \r\n editClinicianGroupSidePanel(tableMeta.rowData, eventHandlers)}>\r\n \r\n \r\n |\r\n disableClinicianGroupWarning(tableMeta.rowData, eventHandlers)}>\r\n \r\n \r\n
    \r\n ),\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n print: true,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n downloadOptions: {\r\n filename: 'clinicianGroups.csv',\r\n separator: ',',\r\n filterOptions: { useDisplayedColumnsOnly: true, useDisplayedRowsOnly: true },\r\n },\r\n customToolbar: () => (\r\n \r\n ),\r\n onTableChange: (action, tableState) => {\r\n switch (action) {\r\n case 'changePage':\r\n case 'changeRowsPerPage':\r\n options.eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n break;\r\n case 'sort':\r\n let sortColumn = '';\r\n let sortDirection = '';\r\n\r\n if (tableState.activeColumn > -1) {\r\n sortColumn = mapPropName(tableState.sortOrder.name);\r\n sortDirection = tableState.sortOrder.direction;\r\n options.eventHandlers.updateTableSort(sortColumn, sortDirection);\r\n }\r\n break;\r\n }\r\n },\r\n },\r\n };\r\n};\r\n","import React from 'react';\r\nimport Box from '@material-ui/core/Box';\r\nimport { Typography } from '@material-ui/core';\r\nimport RestaurantIcon from '@material-ui/icons/Restaurant';\r\n\r\nexport default function LunchActivity({ assignment, containerClass, handleAssignmentFunc }) {\r\n return (\r\n handleAssignmentFunc(assignment)}\r\n >\r\n \r\n \r\n \r\n {assignment.totalTime.actual.duration} min\r\n \r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-unused-vars */\r\n/* eslint-disable no-nested-ternary */\r\n/* eslint-disable jsx-a11y/no-static-element-interactions */\r\nimport React from 'react';\r\nimport classNames from 'classnames';\r\nimport { Typography } from '@material-ui/core';\r\nimport Box from '@material-ui/core/Box';\r\nimport DirectionsCarIcon from '@material-ui/icons/DirectionsCar';\r\nimport RoomIcon from '@material-ui/icons/Room';\r\nimport { startEndTimeDisplay, parseDateUtc } from '../../../../utils/dates';\r\nimport globals from '../../../../globals/communityGlobals';\r\n\r\nexport default function NonPatientActivity({\r\n assignment,\r\n containerClass,\r\n schedulerPeriod,\r\n flags,\r\n handleNonPatientActivityClick,\r\n}) {\r\n const time =\r\n flags.isCompletedVisit || flags.isAhead\r\n ? assignment.actualOccurance.visual\r\n : flags.isClinicianRowActive\r\n ? assignment.visitTime.visual\r\n : assignment.totalTime.visual;\r\n const showContent = time.duration > 5;\r\n const hasVisualTravelDuration =\r\n flags.showTravelTime &&\r\n assignment.travelTime.visual.duration > 0 &&\r\n !flags.isClinicianRowActive &&\r\n !flags.isBehindNow &&\r\n !flags.isCompletedVisit &&\r\n !flags.isAhead;\r\n const showPatientAssignmentContent =\r\n showContent &&\r\n (flags.showTravelTime\r\n ? parseDateUtc(assignment.visitTime.actual.startDate).isBefore(schedulerPeriod.endDate)\r\n : true);\r\n\r\n const contentClass = classNames('visit-content', {\r\n 'visit-empty-content': !showPatientAssignmentContent && !flags.isBehindNow && time.duration >= 10,\r\n });\r\n\r\n const minDuration = assignment.totalTime.visual.duration > 5 ? assignment.totalTime.visual.duration : 5;\r\n const isNPAWithTravel = assignment.postcode !== '' && assignment.postcode !== null;\r\n const isNpaInFuture = parseDateUtc(assignment.visitTime.actual.startDate).isSameOrAfter(\r\n parseDateUtc(globals.now),\r\n 'day',\r\n );\r\n\r\n return (\r\n \r\n {showContent && hasVisualTravelDuration && (\r\n handleNonPatientActivityClick(assignment)}\r\n >\r\n \r\n \r\n \r\n {`${assignment.travelTime.actual.duration} min`}\r\n \r\n \r\n \r\n )}\r\n
    handleNonPatientActivityClick(assignment)}>\r\n {time.duration <= 5 && (\r\n \r\n \r\n NPA\r\n \r\n \r\n {` ${time.duration} min`}\r\n \r\n \r\n )}\r\n {showContent && (\r\n \r\n \r\n {assignment.secondaryLabel}\r\n \r\n \r\n {assignment.primaryLabel}\r\n \r\n \r\n {startEndTimeDisplay(assignment.totalTime.actual.startDate, assignment.totalTime.actual.endDate)}\r\n \r\n {isNPAWithTravel ? (\r\n \r\n \r\n {assignment.postcode}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\r\n/* eslint-disable no-nested-ternary */\r\nimport React from 'react';\r\nimport classNames from 'classnames';\r\nimport Box from '@material-ui/core/Box';\r\nimport { Typography, Button } from '@material-ui/core';\r\nimport DirectionsCarIcon from '@material-ui/icons/DirectionsCar';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport DoneAllIcon from '@material-ui/icons/DoneAll';\r\nimport RestoreIcon from '@material-ui/icons/Restore';\r\n// import Brightness2Icon from '@material-ui/icons/Brightness2';\r\n\r\nimport { startEndTimeDisplay, parseDateUtc } from '../../../../utils/dates';\r\nimport { VisitType } from '../../../../enums';\r\nimport { cardTypes } from '../../../../settings/constants/cardTypes';\r\n\r\nexport default function PatientActivity({\r\n assignment,\r\n isFiltered,\r\n containerClass,\r\n schedulerPeriod,\r\n flags,\r\n handleAssignmentFunc,\r\n unAssignClinicianFunc,\r\n}) {\r\n const time =\r\n flags.isCompletedVisit || flags.isAhead || flags.isStartedLate\r\n ? assignment.actualOccurance.visual\r\n : flags.isClinicianRowActive\r\n ? assignment.visitTime.visual\r\n : assignment.totalTime.visual;\r\n const actualTime =\r\n flags.isCompletedVisit || flags.isAhead || flags.isStartedLate\r\n ? assignment.actualOccurance.actual\r\n : flags.isClinicianRowActive\r\n ? assignment.visitTime.actual\r\n : assignment.totalTime.actual;\r\n const duration = time.duration;\r\n const startTime = time.startDate;\r\n const hasVisualTravelDuration =\r\n flags.showTravelTime &&\r\n assignment.travelTime.visual.duration > 0 &&\r\n !flags.isClinicianRowActive &&\r\n !flags.isBehindNow &&\r\n !flags.isCompletedVisit &&\r\n !flags.isAhead &&\r\n !flags.isStartedLate;\r\n const showContent = duration > 5;\r\n const showPatientAssignmentContent =\r\n showContent && (flags.showTravelTime ? parseDateUtc(actualTime.startDate).isBefore(schedulerPeriod.endDate) : true);\r\n\r\n const isCard33 = assignment.overlapGroupIndex >= 3;\r\n const isCard50 = assignment.overlapGroupIndex >= 1 && assignment.overlapGroupIndex <= 2;\r\n const reduceView = isCard33 || isCard50;\r\n const assignmentContentClass = classNames('visit-content', {\r\n 'visit-empty-content': !showPatientAssignmentContent && !flags.isBehindNow && duration >= 10,\r\n 'is-behind-now': flags.isBehindNow,\r\n });\r\n const containerClassExtend = classNames(containerClass, {\r\n 'no-padding': !showContent,\r\n 'card-50': isCard50,\r\n 'second-half': isCard50 && assignment.overlapIndex === 2,\r\n 'card-33': isCard33,\r\n 'one-thirds': isCard33 && assignment.overlapIndex === 2,\r\n 'two-thirds': isCard33 && assignment.overlapIndex === 3,\r\n 'filtered-assignment': isFiltered,\r\n });\r\n\r\n const onClickVisit = () => handleAssignmentFunc(assignment, flags.isPlannedVisit || flags.isBehindNow);\r\n\r\n const showMileageCapIconOnShorterVisit = flags.isBundled\r\n ? !hasVisualTravelDuration && flags.isOutsideOfMileageCap && showContent\r\n : !hasVisualTravelDuration && flags.isOutsideOfMileageCap;\r\n\r\n const showMileageCapIconOnLongerVisit = flags.isBundled\r\n ? hasVisualTravelDuration &&\r\n flags.isOutsideOfMileageCap &&\r\n (assignment.visitTime.visual.duration > 5 || assignment.visitTime.actual.duration > 5)\r\n : hasVisualTravelDuration && flags.isOutsideOfMileageCap;\r\n\r\n return duration === 0 ? null : (\r\n \r\n {flags.isEditMode && (flags.isPlannedVisit || flags.isBehindNow) && (\r\n \r\n )}\r\n {showContent && hasVisualTravelDuration && (\r\n \r\n \r\n {!reduceView && }\r\n \r\n {`${assignment.travelTime.actual.duration} min`}\r\n \r\n \r\n \r\n )}\r\n\r\n
    \r\n \r\n {assignment.visitType === VisitType.PhoneCall && duration >= 10 && (\r\n \r\n \r\n \r\n )}\r\n {showContent && (\r\n \r\n \r\n {assignment.secondaryLabel}\r\n \r\n {!isCard33 && (\r\n \r\n \r\n {assignment.primaryLabel}\r\n \r\n \r\n {!flags.isCompletedVisit && assignment.runsOvernight && (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n {startEndTimeDisplay(actualTime.startDate, actualTime.endDate)}\r\n \r\n
    \r\n \r\n {assignment.visitType === VisitType.PhoneCall ? (\r\n \r\n {assignment.contactNumber}\r\n \r\n ) : (\r\n !hasVisualTravelDuration &&\r\n !flags.isCompletedVisit && (\r\n \r\n \r\n {assignment.travelTime.actual.duration} min\r\n \r\n )\r\n )}\r\n {showMileageCapIconOnLongerVisit && (\r\n
    \r\n \r\n
    \r\n )}\r\n {flags.isBundled && (\r\n
    \r\n \r\n
    \r\n )}\r\n {assignment.isReviewDate && (\r\n \r\n \r\n \r\n )}\r\n {flags.isCompletedVisit && (\r\n \r\n \r\n \r\n )}\r\n {assignment.cardType === cardTypes.RETROSPECTIVE_VISIT && (\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n {showMileageCapIconOnShorterVisit && (\r\n
    \r\n {/* Visits that break rules AutoAllocate or manually icons \r\n \r\n */}\r\n \r\n
    \r\n )}\r\n {flags.isBundled && !showContent && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n {assignment.visitType === VisitType.PhoneCall && duration < 10 && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n}\r\n","import React, { useState, useRef } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Box from '@material-ui/core/Box';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport NonPatientActivityCreate from '../../../containers/NonPatientActivities/NonPatientActivityCreateContainer';\r\nimport { createNonPatientActivity } from '../../../actions/entities';\r\n\r\nconst locale = globals.getArea('nonPatientActivities');\r\nconst npaDetailsDefault = {\r\n nonPatientActivityTypeId: null,\r\n notes: '',\r\n orgUnitIds: [],\r\n clinicianIds: [],\r\n};\r\n\r\nconst npaAddressDefault = {\r\n addressLine1: '',\r\n addressLine2: '',\r\n addressLine3: '',\r\n postCode: '',\r\n townCity: '',\r\n};\r\n\r\nexport default function AddNpaPlanningForm({ onClose, orgUnitId, selectedDate, resetAndReload }) {\r\n const dispatch = useDispatch();\r\n\r\n const npaScheduleDefault = {\r\n dateFrom: selectedDate,\r\n dateTo: selectedDate,\r\n duration: '',\r\n startTime: '',\r\n endTime: '',\r\n recurEvery: 1,\r\n recurrenceType: 'None',\r\n selectedDays: '',\r\n };\r\n\r\n const [canSave, setCanSave] = useState(false);\r\n const npaDetailsRef = useRef(npaDetailsDefault);\r\n const npaScheduleRef = useRef(npaScheduleDefault);\r\n const npaAddressRef = useRef(npaAddressDefault);\r\n\r\n const getNpaDetails = details => {\r\n npaDetailsRef.current = details;\r\n };\r\n\r\n const getNpaSchedule = schedule => {\r\n npaScheduleRef.current = schedule;\r\n };\r\n\r\n const getNpaAddress = address => {\r\n npaAddressRef.current = address;\r\n };\r\n\r\n const handleSave = () => {\r\n const npaDetails = npaDetailsRef.current;\r\n const npaSchedule = npaScheduleRef.current;\r\n const npaAddress = npaAddressRef.current !== null ? npaAddressRef.current.address : null;\r\n\r\n const NonPatientActivity = {\r\n nonPatientActivityTypeId: npaDetails.NonPatientActivityTypeId,\r\n notes: npaDetails.notes,\r\n orgUnitIds: npaDetails.orgUnitIds,\r\n clinicianIds: npaDetails.clinicianIds,\r\n dateFrom: npaSchedule.dateFrom,\r\n dateTo: npaSchedule.dateTo,\r\n duration: npaSchedule.duration,\r\n startTime: npaSchedule.startTime,\r\n endTime: npaSchedule.endTime,\r\n recurEvery: npaSchedule.recurEvery,\r\n recurrenceType: npaSchedule.recurrenceType,\r\n selectedDays: npaSchedule.selectedDays,\r\n address: npaAddress,\r\n };\r\n\r\n dispatch(createNonPatientActivity({ NonPatientActivity }, true)).then(response => {\r\n if (response) {\r\n onClose();\r\n resetAndReload();\r\n }\r\n });\r\n };\r\n\r\n const headerRender = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n Create activity\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const addNPAFormRender = () => {\r\n return (\r\n
    \r\n getNpaDetails(details)}\r\n getNpaSchedule={schedule => getNpaSchedule(schedule)}\r\n getNpaAddress={address => getNpaAddress(address)}\r\n />\r\n \r\n );\r\n };\r\n\r\n const footerRender = () => {\r\n return (\r\n
    \r\n
    \r\n handleSave()}\r\n primary\r\n disabled={!canSave}\r\n />\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}} onClose={() => onClose()}>\r\n
    \r\n {headerRender()}\r\n {addNPAFormRender()}\r\n {footerRender()}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Box from '@material-ui/core/Box';\r\nimport { formatHours } from '../../../../utils/dates';\r\n\r\nexport default function ActivityDetails({ treatmentDetails }) {\r\n const mapActivityData = activity => {\r\n return (\r\n \r\n \r\n {activity.name}\r\n \r\n \r\n {formatHours(activity.minutesPlanned)}\r\n \r\n \r\n {activity.ragStatus.name}\r\n \r\n \r\n {activity.requiredGrade}\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n

    Activity name

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

    Duration

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

    RAG status

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

    Required grade

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {treatmentDetails !== null && {treatmentDetails.activities.map(mapActivityData)}}\r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable react/jsx-no-comment-textnodes */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Box from '@material-ui/core/Box';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport RemoveCircleIcon from '@material-ui/icons/RemoveCircle';\r\nimport ScheduleIcon from '@material-ui/icons/Schedule';\r\nimport TrafficIcon from '@material-ui/icons/Traffic';\r\nimport DirectionsCarIcon from '@material-ui/icons/DirectionsCar';\r\nimport EmojiTransportation from '@material-ui/icons/EmojiTransportation';\r\nimport CommuteIcon from '@material-ui/icons/Commute';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport NoteAddIcon from '@material-ui/icons/NoteAdd';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\n\r\nimport LoadingPageText from '../../../common/Loading/LoadingPageText';\r\nimport PatientDetails from './PatientDetails';\r\nimport ActivityDetails from './ActivityDetails';\r\n\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport { useFetchVisitDetails, postUnassignClinicianFromTreatmentInstance } from '../../../../actions/areas/planner';\r\nimport { startEndTimeDisplay, parseDateUtc } from '../../../../utils/dates';\r\nimport { checkFeatureAccess } from '../../../../utils/helpers';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport TreatmentDetails from '../UnassignedTreatments/TreatmentDetails';\r\nimport { AssignmentVisitState, VisitType, AuditTrailType } from '../../../../enums';\r\nimport { cardTypes } from '../../../../settings/constants/cardTypes';\r\nimport AuditTrail from '../../../common/AuditTrail/AuditTrail';\r\nimport BundleVisitActivities from '../../BundleVisit/BundleVisitActivities';\r\nimport ChangeTreatmentNotes from '../ChangeTreatmentNotes/ChangeTreatmentNotes';\r\nimport { TreatmentInstanceOccurrenceType } from '../../../../enums/treatmentInstanceOccurrenceType';\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\n// eslint-disable-next-line react/prop-types\r\nexport default function AssignmentDetails({ refreshGrid, period, isMileageCapEnabled, includeTreatments }) {\r\n const faList = useSelector(store => store.global.auth.featureAccessList);\r\n\r\n const [state, setState] = useState({ forceRefresh: false, tab: 1 });\r\n const [errorMsg, setErrorMsg] = useState('');\r\n\r\n const {\r\n activeAssignment: assignment,\r\n setActiveAssignment,\r\n setActiveTreatmentInstanceForCopy,\r\n setFlag,\r\n getFlag,\r\n startLiveTrackingInterval,\r\n stopLiveTrackingInterval,\r\n setAlertMessage,\r\n } = useTimeline();\r\n\r\n if (!assignment) return null;\r\n\r\n const { data: treatmentDetails, isDataLoading, auth, error } = useFetchVisitDetails(\r\n assignment.treatmentInstanceId,\r\n state.forceRefresh,\r\n );\r\n\r\n useEffect(() => {\r\n stopLiveTrackingInterval();\r\n return () => startLiveTrackingInterval();\r\n }, []);\r\n\r\n const isBundled = assignment.isBundled;\r\n useEffect(() => {\r\n if (error) setAlertMessage({ message: error });\r\n }, [isDataLoading]);\r\n\r\n const canAllocateWork = checkFeatureAccess(faList, globals.applicationFeatureAccesses.canAllocateWork);\r\n const isBehindNow = parseDateUtc(assignment.visitTime.actual.startDate).isBefore(parseDateUtc(globals.now));\r\n const isCompleted = assignment.visitStatus === AssignmentVisitState.Complete;\r\n const isConvertedVisit = () =>\r\n treatmentDetails &&\r\n treatmentDetails.treatmentInstance.occurrenceType === TreatmentInstanceOccurrenceType.ConvertedFromOnSiteVisit;\r\n\r\n const canUnassignVisit = () => {\r\n if (\r\n !(\r\n assignment.visitStatus === AssignmentVisitState.Planned ||\r\n assignment.visitStatus === AssignmentVisitState.Behind\r\n )\r\n )\r\n return false;\r\n\r\n if (parseDateUtc(assignment.visitTime.actual.startDate).isSameOrAfter(parseDateUtc(globals.now))) return true;\r\n const isToday = parseDateUtc(globals.now).isBetween(parseDateUtc(period.startDate), parseDateUtc(period.endDate));\r\n if (isToday) {\r\n return (\r\n parseDateUtc(assignment.visitTime.actual.startDate).isSameOrAfter(parseDateUtc(period.startDate)) &&\r\n parseDateUtc(assignment.visitTime.actual.startDate).isBefore(parseDateUtc(period.endDate))\r\n );\r\n }\r\n return false;\r\n };\r\n\r\n const copyTreatment = () => {\r\n setActiveTreatmentInstanceForCopy(treatmentDetails.treatmentInstance);\r\n };\r\n\r\n // const visitCanBeConverted = () => {\r\n // return (\r\n // assignment.visitType === VisitType.OnSite &&\r\n // assignment.cardType === cardTypes.MASTER &&\r\n // parseDateUtc(assignment.visitTime.actual.startDate).isSameOrAfter(parseDateUtc(globals.now)) &&\r\n // !isBundled &&\r\n // treatmentDetails.treatment.additionalClinician === 0 &&\r\n // assignment.visitStatus === AssignmentVisitState.Planned\r\n // );\r\n // };\r\n\r\n const containerClass = classNames('sidePanel-header', {\r\n 'card-status-red': assignment.cardStatus.name.toLowerCase() === 'red',\r\n 'card-status-amber': assignment.cardStatus.name.toLowerCase() === 'amber',\r\n 'card-status-green': assignment.cardStatus.name.toLowerCase() === 'green',\r\n 'card-status-completed': isCompleted,\r\n 'card-status-ahead':\r\n assignment.visitStatus === AssignmentVisitState.Ahead ||\r\n assignment.visitStatus === AssignmentVisitState.StartedLate ||\r\n assignment.visitStatus === AssignmentVisitState.OnTime,\r\n // 'card-status-ontime': assignment.visitStatus === AssignmentVisitState.OnTime, -- removed green color due to introducing started late, every started visit is blue\r\n 'card-status-behind': assignment.visitStatus === AssignmentVisitState.Behind,\r\n });\r\n\r\n const postcodeClass = classNames({\r\n 'is-treatment-address': treatmentDetails !== null && treatmentDetails.treatment.address,\r\n });\r\n\r\n const isAheadOrOnTime = () => {\r\n return (\r\n assignment.visitStatus === AssignmentVisitState.Ahead || assignment.visitStatus === AssignmentVisitState.OnTime\r\n );\r\n };\r\n\r\n const headerRender = () => {\r\n const visitStatus = assignment.visitStatus === AssignmentVisitState.StartedLate ? 'Late' : assignment.visitStatus;\r\n const activeDeactiveBtnRender = () => {\r\n if (assignment.visitStatus === AssignmentVisitState.Complete) return null;\r\n\r\n return (\r\n \r\n {!isAheadOrOnTime() && canAllocateWork && canUnassignVisit() && (\r\n {\r\n setActiveAssignment(null);\r\n postUnassignClinicianFromTreatmentInstance(auth, { id: assignment.id }, refreshGrid, setAlertMessage);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {!isAheadOrOnTime() && canAllocateWork && !isBehindNow && assignment.visitType !== VisitType.PhoneCall && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {canAllocateWork && treatmentDetails && treatmentDetails.treatmentInstance.masterId === null && (\r\n setFlag('showTreatmentNotesSidePanel', true)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {/* {canAllocateWork && treatmentDetails && visitCanBeConverted() && (\r\n setFlag('showConvertVisitSidePanel', true)}\r\n >\r\n \r\n \r\n \r\n )} */}\r\n \r\n );\r\n };\r\n\r\n const headerTitle = isCompleted\r\n ? locale.getMsg(isBundled ? 'completedBundleVisit' : 'completedVisit')\r\n : locale.getMsg(isBundled ? 'assignedBundleVisit' : 'assignedVisit');\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n {headerTitle} #{assignment.treatmentInstanceId}\r\n \r\n \r\n \r\n setActiveAssignment(null)}>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {assignment.secondaryLabel}\r\n \r\n \r\n \r\n {assignment.visitType === VisitType.PhoneCall ? assignment.contactNumber : assignment.postcode}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {isCompleted\r\n ? startEndTimeDisplay(\r\n assignment.actualOccurance.actual.startDate,\r\n assignment.actualOccurance.actual.endDate,\r\n )\r\n : startEndTimeDisplay(\r\n assignment.visitTime.actual.startDate,\r\n assignment.visitTime.actual.endDate,\r\n )}\r\n \r\n \r\n \r\n \r\n {visitStatus || ''}\r\n \r\n \r\n {treatmentDetails &&\r\n treatmentDetails.treatment.preferredClinicianId &&\r\n treatmentDetails.treatmentInstance.cardType === cardTypes.MASTER && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {!isCompleted && assignment.runsOvernight && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {isBundled && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n {assignment.visitStatus === AssignmentVisitState.Planned &&\r\n assignment.visitType !== VisitType.PhoneCall && (\r\n \r\n {assignment.travelTime && assignment.travelTime.actual.duration > 0 ? (\r\n \r\n \r\n \r\n {startEndTimeDisplay(\r\n assignment.travelTime.actual.startDate,\r\n assignment.travelTime.actual.endDate,\r\n )}\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n {isMileageCapEnabled && assignment.plannedTravelDistance !== null && (\r\n \r\n \r\n {assignment.plannedTravelDistance}\r\n \r\n )}\r\n \r\n \r\n {isMileageCapEnabled && assignment.plannedTravelDistanceToBase !== null && (\r\n \r\n \r\n {assignment.plannedTravelDistanceToBase}\r\n \r\n )}\r\n \r\n {assignment.isReviewDate && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {assignment.treatmentAdditionalClinician > 0\r\n ? `${assignment.numberOfClinicians - assignment.treatmentAdditionalClinician} + ${\r\n assignment.treatmentAdditionalClinician\r\n }`\r\n : assignment.numberOfClinicians}\r\n \r\n \r\n {treatmentDetails && isConvertedVisit() && (\r\n \r\n \r\n {locale.getMsg('converted')}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    {activeDeactiveBtnRender()}
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const assignmentDetailsRender = () => {\r\n return (\r\n \r\n
    \r\n \r\n \r\n setState({ tab: value })}\r\n centered\r\n >\r\n \r\n \r\n \r\n {assignment.treatmentInstanceId > 0 && }\r\n \r\n \r\n \r\n {state.tab === 0 &&\r\n (!isBundled ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n

    {errorMsg}

    \r\n
    \r\n \r\n
    \r\n ))}\r\n {state.tab === 1 && treatmentDetails !== null && (\r\n \r\n \r\n \r\n )}\r\n {state.tab === 2 && treatmentDetails !== null && !isBundled && (\r\n \r\n \r\n \r\n )}\r\n {state.tab === 3 && (\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}}\r\n onClose={() => {}}\r\n ModalProps={{\r\n onBackdropClick: () => setActiveAssignment(null),\r\n }}\r\n >\r\n
    \r\n {headerRender()}\r\n {!isDataLoading ? (\r\n assignmentDetailsRender()\r\n ) : (\r\n Wait a moment while we gather treatment info...\r\n )}\r\n
    \r\n {getFlag('showTreatmentNotesSidePanel') === true && treatmentDetails && (\r\n \r\n )}\r\n {/* {getFlag('showConvertVisitSidePanel') === true && treatmentDetails && (\r\n \r\n )} */}\r\n \r\n
    \r\n );\r\n}\r\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport shortid from 'shortid';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport RemoveCircleIcon from '@material-ui/icons/RemoveCircle';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Box from '@material-ui/core/Box';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport ScheduleIcon from '@material-ui/icons/Schedule';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport EmojiTransportation from '@material-ui/icons/EmojiTransportation';\r\nimport CommuteIcon from '@material-ui/icons/Commute';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport DirectionsCarIcon from '@material-ui/icons/DirectionsCar';\r\n\r\nimport LoadingPageText from '../../../common/Loading/LoadingPageText';\r\nimport { checkFeatureAccess } from '../../../../utils/helpers';\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport {\r\n useFetchNonPatientAssignmentDetails,\r\n postUnassignClinicianFromNonPatientActivity,\r\n} from '../../../../actions/areas/planner';\r\nimport RescheduleNonPatientActivity from './RescheduleNonPatientActivity';\r\nimport {\r\n startEndTimeDisplay,\r\n formatHours,\r\n parseShortDateTime,\r\n twelveHourTimeFormat,\r\n parseDateUtc,\r\n} from '../../../../utils/dates';\r\nimport { UnassignmentSource } from '../../../../enums';\r\n\r\n// eslint-disable-next-line react/prop-types\r\nexport default function NonPatientActivityDetails({ period, refreshGrid, isMileageCapEnabled }) {\r\n const {\r\n activeNonPatientAssignment: assignment,\r\n activeNonPatientAssignmentForReschedule,\r\n setActiveNonPatientAssignment,\r\n setActiveNonPatientAssignmentForReschedule,\r\n startLiveTrackingInterval,\r\n stopLiveTrackingInterval,\r\n setAlertMessage,\r\n resetContext,\r\n getAccessToken,\r\n } = useTimeline();\r\n\r\n const [shouldRescheduleForTeam, setShouldRescheduleForTeam] = useState(false);\r\n\r\n if (!assignment) return null;\r\n\r\n const { data: assignmentDetails, isDataLoading } = useFetchNonPatientAssignmentDetails(\r\n assignment.nonPatientActivityId,\r\n false,\r\n );\r\n const isNPAWithTravel = assignment.postcode !== null && assignment.postcode !== '';\r\n\r\n const resetAndReload = () => {\r\n resetContext();\r\n refreshGrid();\r\n };\r\n\r\n useEffect(() => {\r\n stopLiveTrackingInterval();\r\n return () => startLiveTrackingInterval();\r\n }, []);\r\n\r\n const faList = useSelector(store => store.global.auth.featureAccessList);\r\n const canAllocateWork = checkFeatureAccess(faList, globals.applicationFeatureAccesses.canAllocateWork);\r\n\r\n const unassignNPA = () => {\r\n const model = {\r\n assignGuid: assignment.assignGuid,\r\n postingId: assignment.postingId,\r\n unassignmentSource: UnassignmentSource.Manual,\r\n shouldCreateUnassignEventForInstance: true,\r\n };\r\n postUnassignClinicianFromNonPatientActivity(getAccessToken, model, resetAndReload, setAlertMessage);\r\n };\r\n\r\n const isNpaInFuture = parseDateUtc(period.startDate).isSameOrAfter(parseDateUtc(globals.now), 'day');\r\n const isNpaInFutureForToday =\r\n isNpaInFuture &&\r\n parseDateUtc(assignment.visitTime.actual.startDate).isSameOrAfter(parseDateUtc(globals.now), 'minute');\r\n\r\n const shouldShowBtnClass = classNames('sidePanel-header-action', {\r\n empty: !isNpaInFuture,\r\n });\r\n\r\n const headerRender = () => {\r\n const rescheduleNPABtn = () => {\r\n return (\r\n {\r\n setActiveNonPatientAssignmentForReschedule(assignment);\r\n setShouldRescheduleForTeam(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const rescheduleTeamNPABtn = () => {\r\n return (\r\n {\r\n setActiveNonPatientAssignmentForReschedule(assignment);\r\n setShouldRescheduleForTeam(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const unassignNPABtn = () => {\r\n return (\r\n unassignNPA()}>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const editBtnRender = () => {\r\n return (\r\n \r\n {canAllocateWork && isNpaInFuture ? rescheduleNPABtn() : }\r\n {canAllocateWork && isNpaInFuture && assignmentDetails && assignmentDetails.orgUnits.length > 0 ? (\r\n rescheduleTeamNPABtn()\r\n ) : (\r\n \r\n )}\r\n {isNpaInFuture && isNpaInFutureForToday ? unassignNPABtn() : }\r\n \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n NonPatient activity\r\n \r\n \r\n setActiveNonPatientAssignment(null)}>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {assignment.primaryLabel}\r\n
    \r\n
    \r\n \r\n \r\n {isNPAWithTravel ? (\r\n \r\n \r\n {assignment.postcode || ''}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n {startEndTimeDisplay(assignment.visitTime.actual.startDate, assignment.visitTime.actual.endDate)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {formatHours(assignment.visitTime.actual.duration)}\r\n \r\n {isNPAWithTravel ? (\r\n \r\n \r\n \r\n {assignment.travelTime ? (\r\n startEndTimeDisplay(\r\n assignment.travelTime.actual.startDate,\r\n assignment.travelTime.actual.endDate,\r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {isNPAWithTravel ? (\r\n \r\n {isMileageCapEnabled && assignment.plannedTravelDistance !== null && (\r\n \r\n \r\n {assignment.plannedTravelDistance}\r\n \r\n )}\r\n {isMileageCapEnabled && assignment.plannedTravelDistanceToBase !== null && (\r\n \r\n \r\n {assignment.plannedTravelDistanceToBase}\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    {editBtnRender()}
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const activityDetails = () => {\r\n return (\r\n
    \r\n
    Activity Details
    \r\n \r\n \r\n \r\n \r\n \r\n {assignmentDetails.assignedTo.map(assigned => (\r\n \r\n {assigned}\r\n \r\n ))}\r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const notes = () => {\r\n return (\r\n assignmentDetails.notes && (\r\n
    \r\n
    Notes
    \r\n
    {assignmentDetails.notes || '-'}
    \r\n
    \r\n )\r\n );\r\n };\r\n\r\n const activitySchedule = () => {\r\n return (\r\n
    \r\n
    Activity Schedule
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const activityAddress = () => {\r\n return (\r\n
    \r\n
    Activity Address
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const activityDetailsRender = () => {\r\n return (\r\n \r\n
    \r\n \r\n \r\n {activityDetails()}\r\n {notes()}\r\n {activitySchedule()}\r\n {isNPAWithTravel ? activityAddress() : ''}\r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {}}\r\n onClose={() => {}}\r\n ModalProps={{\r\n onBackdropClick: () => setActiveNonPatientAssignment(null),\r\n }}\r\n >\r\n
    \r\n {headerRender()}\r\n {!isDataLoading ? (\r\n activityDetailsRender()\r\n ) : (\r\n Wait a moment while we gather activity info...\r\n )}\r\n
    \r\n \r\n
    \r\n {activeNonPatientAssignmentForReschedule !== null && (\r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\n\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\n\r\nimport { parseShortDateTime } from '../../../../utils/dates';\r\n\r\nexport default function PatientDetails({ patientDetails }) {\r\n const otherPatientDetailsRender = () => {\r\n return (\r\n
    \r\n \r\n Other Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const contactDetailsRender = () => {\r\n return (\r\n
    \r\n \r\n Contact Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const patientAddressRender = () => {\r\n return (\r\n
    \r\n \r\n Address\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n \r\n {patientAddressRender()}\r\n {contactDetailsRender()}\r\n {otherPatientDetailsRender()}\r\n \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Button from '@material-ui/core/Button';\r\nimport ScheduleIcon from '@material-ui/icons/Schedule';\r\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport moment from 'moment';\r\nimport { postRescheduleClinicianAssignment } from '../../../../actions/areas/planner';\r\n\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport {\r\n startEndTimeDisplay,\r\n getDateForApi,\r\n parseDateUtc,\r\n extractDateOnly,\r\n isValidDate,\r\n} from '../../../../utils/dates';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport KeyboardDateSelector from '../../../common/KeyboardDateTimeSelectors/KeyboardDateSelector';\r\nimport KeyboardTimeSelector from '../../../common/KeyboardDateTimeSelectors/KeyboardTimeSelector';\r\nimport { getErrorProps, combineDateTime, checkRequiredOnBlur } from '../../../../utils/keyboardSelectorFunctions';\r\n\r\nconst locale = globals.getArea('nonPatientActivities');\r\nconst errors = globals.getArea('error');\r\n\r\nexport default function RescheduleNonPatientActivity({ toggleRefresh, shouldRescheduleForTeam }) {\r\n const {\r\n activeNonPatientAssignmentForReschedule,\r\n setActiveNonPatientAssignmentForReschedule,\r\n setAlertMessage,\r\n resetContext,\r\n getAccessToken,\r\n } = useTimeline();\r\n\r\n const [state, setState] = useState({\r\n selectedRescheduleDate: new Date(activeNonPatientAssignmentForReschedule.visitTime.actual.startDate),\r\n selectedStartTime: new Date(activeNonPatientAssignmentForReschedule.visitTime.actual.startDate),\r\n selectedEndTime: new Date(activeNonPatientAssignmentForReschedule.visitTime.actual.endDate),\r\n });\r\n\r\n const [errorMsgs, setErrorMsgs] = useState(null);\r\n const [validationErrors, setValidationErrors] = useState({});\r\n const [isRescheduleInProgress, setIsRescheduleInProgress] = useState(false);\r\n\r\n const params = {\r\n clinicianId: activeNonPatientAssignmentForReschedule.clinicianId,\r\n assignmentId: activeNonPatientAssignmentForReschedule.id,\r\n selectedStartDate: getDateForApi(activeNonPatientAssignmentForReschedule.totalTime.actual.startDate),\r\n selectedEndDate: getDateForApi(activeNonPatientAssignmentForReschedule.totalTime.actual.endDate),\r\n isNightMode: useSelector(statee => statee.areas.dailyPlanning.scheduler.isNightMode),\r\n orgUnitId: useSelector(statee => statee.areas.dailyPlanning.filters.selectedTeam),\r\n };\r\n\r\n const noValidationErrors = () => {\r\n return (\r\n isValidDate(state.selectedRescheduleDate, true) &&\r\n isValidDate(state.selectedStartTime, true) &&\r\n isValidDate(state.selectedEndTime, true) &&\r\n !validationErrors.selectedRescheduleDate &&\r\n !validationErrors.selectedStartTime &&\r\n !validationErrors.selectedEndTime\r\n );\r\n };\r\n\r\n const allDatesAndTimesAreSet = () => {\r\n return state.selectedStartTime && state.selectedEndTime;\r\n };\r\n\r\n const isDisabledSave = () => {\r\n return !allDatesAndTimesAreSet() || !noValidationErrors() || isRescheduleInProgress;\r\n };\r\n\r\n const validPostingId = () => {\r\n return activeNonPatientAssignmentForReschedule.postingId;\r\n };\r\n\r\n const callback = result => {\r\n setIsRescheduleInProgress(false);\r\n if (result.data.exceptions.length > 0) {\r\n setErrorMsgs(result.data.exceptions);\r\n } else {\r\n resetContext();\r\n toggleRefresh();\r\n }\r\n };\r\n\r\n const formattedErrorMsg = () => {\r\n return errorMsgs.slice().map(item =>

    {item}

    );\r\n };\r\n\r\n const errorPlaceholder = () => {\r\n if (errorMsgs === null) return null;\r\n return (\r\n \r\n
    \r\n {formattedErrorMsg()}\r\n
    \r\n );\r\n };\r\n\r\n const recheduleNonPatientAssignment = () => {\r\n setErrorMsgs(null);\r\n setIsRescheduleInProgress(true);\r\n\r\n const model = {\r\n assignGuid: activeNonPatientAssignmentForReschedule.assignGuid,\r\n newAssignmentTime: getDateForApi(moment(state.selectedStartTime).format(globals.dateFormats.localApiFormat)),\r\n newAssignmentEndTime: getDateForApi(moment(state.selectedEndTime).format(globals.dateFormats.localApiFormat)),\r\n postingId: validPostingId(),\r\n oldPostingId: validPostingId(),\r\n orgUnitId: params.orgUnitId,\r\n shouldAssignToday: parseDateUtc(activeNonPatientAssignmentForReschedule.visitTime.actual.startDate).isSame(\r\n parseDateUtc(globals.now),\r\n 'day',\r\n ),\r\n clinicianId: params.clinicianId,\r\n shouldRescheduleForTeam,\r\n isNightMode: params.isNightMode,\r\n };\r\n postRescheduleClinicianAssignment(getAccessToken, model, callback, setAlertMessage);\r\n };\r\n\r\n const handleDateChange = (fieldName, date) => {\r\n let errorMsg = null;\r\n\r\n if (!date) {\r\n errorMsg = errors.getMsg('requiredFieldValidationMessage');\r\n } else {\r\n date = extractDateOnly(date);\r\n }\r\n\r\n setValidationErrors(prevState => ({\r\n ...prevState,\r\n [fieldName]: errorMsg,\r\n }));\r\n setState(prevState => ({ ...prevState, [fieldName]: date }));\r\n };\r\n const handleTimeChange = (fieldName, time) => {\r\n let errorMsg = null;\r\n\r\n if (!time) {\r\n errorMsg = errors.getMsg('requiredFieldValidationMessage');\r\n } else if (isValidDate(state.selectedRescheduleDate, true)) {\r\n time = combineDateTime(state.selectedRescheduleDate, time);\r\n }\r\n\r\n setValidationErrors(prevState => ({\r\n ...prevState,\r\n [fieldName]: errorMsg,\r\n }));\r\n setState(prevState => ({ ...prevState, [fieldName]: time }));\r\n };\r\n\r\n const renderHeader = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n {shouldRescheduleForTeam ? (\r\n Reschedule Team NPA\r\n ) : (\r\n Reschedule NPA\r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n {activeNonPatientAssignmentForReschedule.primaryLabel}\r\n \r\n {activeNonPatientAssignmentForReschedule.postcode}\r\n \r\n \r\n \r\n \r\n \r\n {startEndTimeDisplay(\r\n activeNonPatientAssignmentForReschedule.visitTime.actual.startDate,\r\n activeNonPatientAssignmentForReschedule.visitTime.actual.endDate,\r\n )}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const mainContent = () => {\r\n return (\r\n
    \r\n \r\n \r\n \r\n handleDateChange('selectedRescheduleDate', date)}\r\n onBlur={event =>\r\n checkRequiredOnBlur(\r\n event.target.value,\r\n setValidationErrors,\r\n 'selectedRescheduleDate',\r\n validationErrors,\r\n )\r\n }\r\n errorProps={getErrorProps(validationErrors ? validationErrors.selectedRescheduleDate : null)}\r\n disablePast\r\n />\r\n \r\n \r\n \r\n \r\n handleTimeChange('selectedStartTime', time)}\r\n onBlur={event =>\r\n checkRequiredOnBlur(event.target.value, setValidationErrors, 'selectedStartTime', validationErrors)\r\n }\r\n errorProps={getErrorProps(validationErrors ? validationErrors.selectedStartTime : null)}\r\n />\r\n \r\n \r\n handleTimeChange('selectedEndTime', time)}\r\n onBlur={event =>\r\n checkRequiredOnBlur(event.target.value, setValidationErrors, 'selectedEndTime', validationErrors)\r\n }\r\n errorProps={getErrorProps(validationErrors ? validationErrors.selectedEndTime : null)}\r\n />\r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const actionButtons = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {\r\n setActiveNonPatientAssignmentForReschedule(null);\r\n }}\r\n >\r\n Back\r\n \r\n
    \r\n
    \r\n \r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}}\r\n onClose={() => {}}\r\n ModalProps={{\r\n onBackdropClick: () => setActiveNonPatientAssignmentForReschedule(null),\r\n }}\r\n >\r\n
    \r\n {renderHeader()}\r\n {mainContent()}\r\n {errorPlaceholder()}\r\n {actionButtons()}\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","/* eslint-disable radix */\r\n/* eslint-disable react/no-array-index-key */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Button from '@material-ui/core/Button';\r\nimport Select from '@material-ui/core/Select';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Box from '@material-ui/core/Box';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport { TimeOfDay, AutoAllocationMode } from '../../../enums';\r\nimport { autoAllocate } from '../../../actions/areas/dailyPlanning';\r\nimport RagStatusPicker from '../../common/RagStatusPicker/RagStatusPicker';\r\nimport AlertBox from '../../common/AlertBox/AlertBox';\r\nimport { useFetchClinicianGroupsOnDay } from '../../../actions/areas/clinicianGroups/fetchClinicianGroups';\r\n\r\nconst inputsStyle = {\r\n color: { color: '#4cafe5' },\r\n};\r\n\r\nexport default function AutoAllocateForm({\r\n selectedDate,\r\n isNightMode,\r\n orgUnitId,\r\n orgUnitTeamId,\r\n clinicians,\r\n autoAllocateCallback,\r\n handleAutoUnallocateCancel,\r\n groupsToExclude,\r\n onClose,\r\n}) {\r\n const dispatch = useDispatch();\r\n\r\n const [visitPriority, setVisitPriority] = useState('');\r\n const [timeOfDay, setTimeOfDay] = useState('');\r\n const [autoAllocationModes, setAutoAllocationModes] = useState([]);\r\n const [excludedCliniciansIds, setExcludedCliniciansIds] = useState([]);\r\n const [isBundlingEnabled, setIsBundlingEnabled] = useState(false);\r\n const [clinicianGroupsOnDay, setClinicianGroupsOnDay] = useState([]);\r\n const { data: clinicianGroupsData } = useFetchClinicianGroupsOnDay(false);\r\n\r\n useEffect(() => {\r\n if (clinicianGroupsData.mappedClinicianGroups)\r\n setClinicianGroupsOnDay(clinicianGroupsData.mappedClinicianGroups.filter(x => x.isValidOnDay));\r\n }, [clinicianGroupsData]);\r\n\r\n const isClinicianPartOfGroup = clinicianId => {\r\n if (clinicianGroupsOnDay.length > 0) {\r\n return clinicianGroupsOnDay.findIndex(x => x.clinicianIds.includes(clinicianId)) > -1;\r\n }\r\n return false;\r\n };\r\n\r\n const handleExcludedClinicians = (excludedClinicianId, event) => {\r\n if (event.target.checked) {\r\n if (!excludedCliniciansIds.includes(excludedClinicianId)) {\r\n setExcludedCliniciansIds([...excludedCliniciansIds, excludedClinicianId]);\r\n }\r\n } else {\r\n const currentState = excludedCliniciansIds.filter(x => x !== excludedClinicianId);\r\n setExcludedCliniciansIds(currentState);\r\n }\r\n };\r\n\r\n const includePhoneCallTreatments = event => {\r\n if (event.target.checked) {\r\n setAutoAllocationModes([...autoAllocationModes, AutoAllocationMode.phoneCalls]);\r\n } else {\r\n const currentState = autoAllocationModes.filter(x => x !== AutoAllocationMode.phoneCalls);\r\n setAutoAllocationModes(currentState);\r\n }\r\n };\r\n\r\n const includeBundling = event => {\r\n setIsBundlingEnabled(event.target.checked);\r\n };\r\n\r\n const includeClinicianGroups = event => {\r\n if (event.target.checked) {\r\n setAutoAllocationModes([...autoAllocationModes, AutoAllocationMode.clinicianGroups]);\r\n } else {\r\n const currentState = autoAllocationModes.filter(x => x !== AutoAllocationMode.clinicianGroups);\r\n setAutoAllocationModes(currentState);\r\n }\r\n };\r\n\r\n const canRun = () => {\r\n return visitPriority && timeOfDay;\r\n };\r\n\r\n const onNoneCheckboxChanged = () => {\r\n setExcludedCliniciansIds([]);\r\n };\r\n\r\n const runAutoAllocate = () => {\r\n dispatch(\r\n autoAllocate({\r\n date: selectedDate,\r\n orgUnitId,\r\n isNightMode,\r\n visitPriority: visitPriority.id,\r\n timeOfDay: TimeOfDay[timeOfDay],\r\n excludedCliniciansIds,\r\n createLog: true,\r\n autoAllocationModes,\r\n groupsToExclude,\r\n isBundlingEnabled,\r\n orgUnitTeamId,\r\n }),\r\n )\r\n .then(autoAllocateCallback)\r\n .catch(autoAllocateCallback);\r\n handleAutoUnallocateCancel();\r\n };\r\n\r\n const headerRender = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n AutoAllocate\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const autoAllocateFormRender = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n Visit Priority\r\n \r\n setVisitPriority(value)} selectedItem={visitPriority} />\r\n \r\n Time Of Day\r\n \r\n setTimeOfDay(e.target.value)}\r\n value={timeOfDay}\r\n autoWidth\r\n >\r\n {Object.keys(TimeOfDay).map(timeOfDayValue => (\r\n \r\n {[timeOfDayValue]}\r\n \r\n ))}\r\n \r\n \r\n }\r\n label={'Include phone calls'}\r\n />\r\n }\r\n label={'Enable bundling of visits'}\r\n />\r\n }\r\n label={'Enable allocation of visits to Clinician Groups'}\r\n />\r\n \r\n \r\n Excluded Clinicians\r\n \r\n \r\n \r\n \r\n \r\n \r\n {clinicians &&\r\n clinicians\r\n .filter(clinician => !isClinicianPartOfGroup(clinician.id))\r\n .map(clinician => (\r\n handleExcludedClinicians(clinician.id, e)}>\r\n \r\n \r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const footerRender = () => {\r\n return (\r\n
    \r\n {isBundlingEnabled ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}} onClose={() => {}}>\r\n
    \r\n {headerRender()}\r\n {autoAllocateFormRender()}\r\n {footerRender()}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\n\r\nimport AutoAllocationLogs from './AutoAllocationLogs';\r\nimport LoadingPageText from '../../../common/Loading/LoadingPageText';\r\nimport { useAutoAllocationGroups } from '../../../../actions/areas/planner/fetchHooks';\r\nimport eventHandlers from './autoAllocateHandler';\r\nimport tableSettings from './tableSettings';\r\n\r\nexport default function AutoAllocationContent({ orgUnitId, selectedDate, logType }) {\r\n const [state, setState] = useState({\r\n forceReload: false,\r\n openSidePanel: false,\r\n selectedGroup: null,\r\n });\r\n\r\n const model = {\r\n OrgUnitId: orgUnitId,\r\n SelectedDate: selectedDate,\r\n Period: 0, // isNightMode ? 2 : 1,\r\n Status: logType,\r\n };\r\n const { data, isDataLoading } = useAutoAllocationGroups(model, state.forceReload);\r\n\r\n const events = eventHandlers(state, setState);\r\n const settings = tableSettings({ eventHandlers: events });\r\n\r\n if (isDataLoading)\r\n return Wait a moment while we gather AutoAllocation info...;\r\n\r\n return (\r\n
    \r\n \r\n {state.openSidePanel && }\r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\n\r\nimport AutoAllocationFilters from './AutoAllocationFilters';\r\nimport AutoAllocationContent from './AutoAllocateContent';\r\n\r\nexport default function AutoAllocatePage({ onClose }) {\r\n document.title = 'AutoAllocate Logs';\r\n\r\n const orgUnitId = useSelector(store => store.areas.dailyPlanning.filters.selectedTeam);\r\n const selectedDate = useSelector(store => store.areas.dailyPlanning.selectedDate);\r\n const isNightMode = useSelector(store => store.areas.dailyPlanning.scheduler.isNightMode);\r\n\r\n const [state, setState] = useState({\r\n orgUnitId,\r\n selectedDate,\r\n isNightMode,\r\n logType: -1,\r\n groupId: null,\r\n });\r\n\r\n const headerRender = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n AutoAllocation Monitor\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const contentRender = () => {\r\n return (\r\n \r\n setState(filtersState)}\r\n onClose={onClose}\r\n defaultModel={state}\r\n />\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}}\r\n onClose={onClose}\r\n ModalProps={{\r\n onBackdropClick: onClose,\r\n }}\r\n >\r\n {headerRender()}\r\n {contentRender()}\r\n \r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Box, IconButton, Link } from '@material-ui/core';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\n\r\nimport { DropdownFilter } from '../../../Planner/Filters/DropdownFilter';\r\nimport { getDateForApi } from '../../../../utils/dates';\r\nimport { logTypeEnums } from '../../../../settings/other';\r\n\r\nexport default function AutoAllocationFilters({ onSubmit, defaultModel }) {\r\n const [state, setState] = useState(defaultModel);\r\n const [defaultState] = useState(defaultModel);\r\n\r\n const onChangeFilters = () => {\r\n onSubmit(state);\r\n };\r\n\r\n const clear = () => {\r\n setState(defaultState);\r\n onSubmit(state);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Log type\r\n \r\n \r\n setState({ ...state, logType: value })}\r\n />\r\n \r\n \r\n Date\r\n \r\n \r\n setState({ ...state, selectedDate: getDateForApi(e) })}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className=\"calendar-picker-input\"\r\n />\r\n \r\n \r\n \r\n \r\n Clear\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","/* eslint-disable react/jsx-no-undef */\r\n/* eslint-disable radix */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable react/no-danger */\r\nimport React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport { Box, Typography, IconButton } from '@material-ui/core';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport TextField from '@material-ui/core/TextField';\r\n\r\nimport LoadingPageText from '../../../common/Loading/LoadingPageText';\r\nimport { DropdownFilter } from '../../../Planner/Filters/DropdownFilter';\r\nimport { useAutoAllocationLogs } from '../../../../actions/areas/planner/fetchHooks';\r\nimport { parseDateToLongTime } from '../../../../utils/dates';\r\nimport _ from '../../../../utils/lodash';\r\n\r\nconst logTypeEnums = [{ name: 'Successfully allocated', id: 1 }, { name: 'Failed attempt', id: 2 }];\r\n\r\nexport default function AutoAllocationLogs({ events, selectedGroup }) {\r\n const groupId = selectedGroup[0];\r\n const [state, setState] = useState({\r\n searchTerm: '',\r\n logType: '',\r\n });\r\n const { data, isDataLoading } = useAutoAllocationLogs({ groupId }, false);\r\n\r\n if (isDataLoading)\r\n return Wait a moment while we gather AutoAllocation info...;\r\n\r\n const headerRender = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n Logs for {selectedGroup[1]} {selectedGroup[2] !== '-' && `(duration ${selectedGroup[2]})`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const formatMessage = log => (\r\n \r\n \r\n {`${parseDateToLongTime(log.createdDate)} ->`}\r\n \r\n \r\n
    \r\n \r\n \r\n );\r\n\r\n const filterData = () => {\r\n if (state.logType === '' && state.searchTerm === '') return data;\r\n const filteredData = _.filter(data, x => {\r\n let filterByText = true;\r\n\r\n let filterByLogType = true;\r\n if (state.logType !== '') {\r\n filterByLogType = (state.logType === 1) === x.isSuccessful;\r\n }\r\n\r\n if (state.searchTerm !== '' && state.searchTerm.length >= 3) {\r\n filterByText = _.includes(x.message.toLowerCase(), state.searchTerm.toLowerCase());\r\n }\r\n return filterByLogType && filterByText;\r\n });\r\n return filteredData;\r\n };\r\n\r\n const contentRender = () => {\r\n const filteredData = filterData();\r\n const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\r\n const logContentHeight = windowHeight - 90;\r\n const listStyle = { height: `${logContentHeight}px`, overflow: 'auto' };\r\n\r\n return (\r\n
      \r\n {filteredData.map(x => (\r\n
    • {formatMessage(x)}
    • \r\n ))}\r\n
    \r\n );\r\n };\r\n\r\n const filterRender = () => {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n setState({ ...state, searchTerm: e.target.value })}\r\n placeholder=\"Search logs\"\r\n style={{ width: '100%' }}\r\n />\r\n \r\n \r\n Log type\r\n \r\n \r\n setState({ ...state, logType: value })}\r\n />\r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const handleScrolls = () => {};\r\n\r\n return (\r\n
    \r\n {}}\r\n onClose={events.onClose}\r\n ModalProps={{\r\n onBackdropClick: events.onClose,\r\n }}\r\n >\r\n {headerRender()}\r\n {filterRender()}\r\n {contentRender()}\r\n {handleScrolls()}\r\n \r\n
    \r\n );\r\n}\r\n","const eventHandlers = (state, setState) => {\r\n const refreshTable = () =>\r\n setState(newState => ({\r\n ...newState,\r\n forceReload: !state.forceReload,\r\n openSidePanel: false,\r\n }));\r\n\r\n const onClose = () => {\r\n setState(newState => ({ ...newState, openSidePanel: false }));\r\n };\r\n\r\n const toggleDrawer = (open, rowData) => {\r\n setState(newState => ({ ...newState, openSidePanel: open, groupId: rowData[0], selectedGroup: rowData }));\r\n };\r\n\r\n return {\r\n refreshTable,\r\n toggleDrawer,\r\n onClose,\r\n };\r\n};\r\n\r\nexport default eventHandlers;\r\n","/* eslint-disable no-case-declarations */\r\n/* eslint-disable default-case */\r\nimport React from 'react';\r\nimport moment from 'moment';\r\n\r\nimport CustomToolbar from '../../../common/CustomToolbar/CustomToolbar';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { secondsToHms } from '../../../../utils/dates';\r\nimport _ from '../../../../utils/lodash';\r\nimport { logTypeEnums } from '../../../../settings/other';\r\n\r\nconst tableSettings = options => {\r\n return {\r\n name: '',\r\n columns: [\r\n {\r\n name: 'id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'status',\r\n label: 'Allocation status',\r\n options: {\r\n sort: false,\r\n customBodyRender: value => (value >= 0 ? _.find(logTypeEnums, x => x.id === value).name : '-'),\r\n },\r\n },\r\n {\r\n name: 'durationInSeconds',\r\n label: 'Duration',\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({ style: { width: '150px' } }),\r\n customBodyRender: value => (value > 0 ? secondsToHms(value) : '-'),\r\n },\r\n },\r\n {\r\n name: 'dayNightMode',\r\n label: 'Period',\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({ style: { width: '100px' } }),\r\n },\r\n },\r\n {\r\n name: 'createdDate',\r\n label: 'Created Date',\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({ style: { width: '170px' } }),\r\n customBodyRender: value => (value ? moment(value).format(globals.dateFormats.shortWithTime) : '-'),\r\n },\r\n },\r\n {\r\n name: 'selectedDate',\r\n label: 'Selected Date',\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({ style: { width: '170px' } }),\r\n customBodyRender: value => (value ? moment(value).format(globals.dateFormats.short) : '-'),\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'scrollFullHeight',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [10, 20, 50, 100],\r\n rowsPerPage: 20,\r\n print: false,\r\n download: false,\r\n viewColumns: false,\r\n onRowClick: rowData => {\r\n options.eventHandlers.toggleDrawer(true, rowData);\r\n },\r\n customToolbar: () => (\r\n \r\n ),\r\n },\r\n };\r\n};\r\n\r\nexport default tableSettings;\r\n","/* eslint-disable no-return-assign */\r\nimport React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Button from '@material-ui/core/Button';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Select from '@material-ui/core/Select';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport moment from 'moment';\r\nimport LoadingPageText from '../../../common/Loading/LoadingPageText';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport _ from '../../../../utils/lodash';\r\n\r\nimport { useFetchCancellationReasonsOptions } from '../../../../actions/areas/planner/fetchHooks';\r\nimport { bulkCancelTreatmentInstances } from '../../../../actions/entities';\r\nimport { setBulkCancelProgress } from '../../../../actions/areas/dailyPlanning/moreOptions';\r\n\r\nexport default function BulkCancel({ items, toggleRefresh, includeTreatments }) {\r\n const [state, setState] = useState({\r\n selectedReason: null,\r\n riskAssesment: '',\r\n selectedCancellingNoticeDate: moment(Date.now()),\r\n saveErrors: null,\r\n });\r\n\r\n const isDataLoading = useSelector(store => store.areas.dailyPlanning.moreOptions.isBulkCancelInProgress);\r\n\r\n const riskMaxLength = 500;\r\n const locale = globals.getArea('treatments');\r\n const errorsLocale = globals.getArea('error');\r\n const selectedDate = useSelector(store => store.areas.dailyPlanning.selectedDate);\r\n\r\n const dispatch = useDispatch();\r\n const { refreshClinicianTreatmentsAndClosePanels, resetMultiSelectedTreatments } = useTimeline();\r\n\r\n const { data: cancellationReasonsOptions } = useFetchCancellationReasonsOptions(false);\r\n\r\n const isDisabledSave = () => {\r\n return (\r\n !state.selectedReason || !state.riskAssesment || state.riskAssesment.length > riskMaxLength || state.saveErrors\r\n );\r\n };\r\n\r\n const setCancellationFields = () => {\r\n items = items.map(obj => ({\r\n ...obj,\r\n riskAssesment: state.riskAssesment,\r\n reasonId: state.selectedReason,\r\n timeSlotId: obj.timeSlotId,\r\n dateAt: selectedDate,\r\n }));\r\n };\r\n\r\n const cancelTreatments = () => {\r\n setCancellationFields();\r\n dispatch(setBulkCancelProgress(true));\r\n dispatch(bulkCancelTreatmentInstances(items)).then(response => {\r\n const data = response.response.data;\r\n if (data.response.length !== 0) {\r\n setState({ ...state, saveErrors: data.response });\r\n refreshClinicianTreatmentsAndClosePanels();\r\n } else {\r\n refreshClinicianTreatmentsAndClosePanels();\r\n resetMultiSelectedTreatments();\r\n }\r\n dispatch(setBulkCancelProgress(false));\r\n if (includeTreatments) toggleRefresh();\r\n });\r\n };\r\n\r\n const mapPatients = () => {\r\n const groupedPatients = _.groupBy(items, 'patientName');\r\n\r\n const result = Object.keys(groupedPatients).map(key => {\r\n return { name: key, count: groupedPatients[key].length };\r\n });\r\n return result.map(patient => (\r\n
    \r\n \r\n {patient.name}\r\n {patient.count > 1 ? ({patient.count}) : null}\r\n \r\n
    \r\n ));\r\n };\r\n\r\n const headerInfo = () => {\r\n return (\r\n
    \r\n
    \r\n Bulk cancel visits\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const mainContent = () => {\r\n return (\r\n
    \r\n
    \r\n
    Details
    \r\n \r\n \r\n \r\n \r\n \r\n {mapPatients()}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {`${locale.getMsg('cancellationReason')} *`}\r\n \r\n setState({ ...state, selectedReason: e.target.value })}\r\n disabled={isDataLoading}\r\n >\r\n {cancellationReasonsOptions &&\r\n cancellationReasonsOptions.map(cancelReason => (\r\n \r\n {cancelReason.name}\r\n \r\n ))}\r\n \r\n \r\n {`${locale.getMsg('riskAssessment')} *`}\r\n \r\n riskMaxLength}\r\n helperText={errorsLocale.getMsg('validationMaxLength', [`${riskMaxLength}`])}\r\n onChange={e => setState({ ...state, riskAssesment: e.target.value })}\r\n />\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const errorMsgs = () => {\r\n return state.saveErrors.map(error => (\r\n \r\n

    {`${error.exceptionMessage} for patient ${error.patientName}`}

    \r\n
    \r\n ));\r\n };\r\n\r\n const actionButtons = () => {\r\n return (\r\n
    \r\n
    \r\n resetMultiSelectedTreatments()}\r\n >\r\n Back\r\n \r\n
    \r\n
    \r\n \r\n Save\r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}}\r\n onClose={() => resetMultiSelectedTreatments()}\r\n >\r\n
    \r\n {headerInfo()}\r\n {isDataLoading ? : null}\r\n {state.saveErrors && errorMsgs()}\r\n {mainContent()}\r\n {actionButtons()}\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Button from '@material-ui/core/Button';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Select from '@material-ui/core/Select';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport moment from 'moment';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker, KeyboardTimePicker } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport {\r\n useFetchCancellationReasonsOptions,\r\n useFetchCancellingPartiesOptions,\r\n} from '../../../../actions/areas/planner/fetchHooks';\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { cancelTreatmentInstance } from '../../../../actions/entities';\r\nimport _ from '../../../../utils/lodash';\r\n\r\nconst TextFieldTimeComponent = props => {\r\n return ;\r\n};\r\n\r\nexport default function CancelTreatment({ treatmentDetails, toggleRefresh, includeTreatments }) {\r\n const [state, setState] = useState({\r\n selectedReason: null,\r\n cancelledBy: null,\r\n cancellingParty: null,\r\n cancellationName: null,\r\n riskAssesment: null,\r\n selectedCancellingNoticeDate: moment(Date.now()),\r\n });\r\n const settingList = useSelector(store => store.global.auth.settings);\r\n const [selectedCancellingNoticeDate, setSelectedDate] = useState(moment(Date.now()));\r\n const [selectedCancellingNoticeTime, setSelectedTime] = useState(moment(Date.now()));\r\n const [timeDifference, setTimeDifference] = useState({\r\n days: 0,\r\n hours: 0,\r\n });\r\n\r\n if (!treatmentDetails) return null;\r\n\r\n const setDate = value => {\r\n setSelectedDate(value);\r\n };\r\n\r\n const setTime = value => {\r\n setSelectedTime(value);\r\n };\r\n\r\n const earliestTimeSlot = treatmentDetails.treatmentInstance.firstPossibleTimeForExecution;\r\n\r\n const showNotice = () => {\r\n const selectedDateTime = `${moment(selectedCancellingNoticeDate).format(globals.dateFormats.date)}T${moment(\r\n selectedCancellingNoticeTime,\r\n ).format(globals.timeFormats.long)}`;\r\n const noticePeriod = moment(earliestTimeSlot).diff(selectedDateTime);\r\n let calcRestDaysPeriod = moment(earliestTimeSlot).diff(selectedDateTime, 'days');\r\n let calcTimePeriod = moment.duration(noticePeriod).hours();\r\n const calcMinPeriod = moment.duration(noticePeriod).minutes();\r\n if (calcMinPeriod > 0) {\r\n calcTimePeriod += 1;\r\n }\r\n if (calcTimePeriod === 24) {\r\n calcRestDaysPeriod += 1;\r\n calcTimePeriod = 0;\r\n }\r\n setTimeDifference({ days: calcRestDaysPeriod, hours: calcTimePeriod });\r\n setState({\r\n ...state,\r\n selectedCancellingNoticeDate: moment(selectedDateTime).format(globals.dateFormats.localApiFormat),\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n showNotice();\r\n }, [selectedCancellingNoticeDate, selectedCancellingNoticeTime]);\r\n\r\n const dispatch = useDispatch();\r\n const extendedCancelProcessSetting = _.find(settingList, 'ExtendedCancellationProcess');\r\n const isExtendedCancellationProcessTrue = _.values(extendedCancelProcessSetting)[0];\r\n\r\n let cancellingPartiesOptions = [];\r\n // eslint-disable-next-line no-unused-expressions\r\n isExtendedCancellationProcessTrue === 'true'\r\n ? ({ data: cancellingPartiesOptions } = useFetchCancellingPartiesOptions(false))\r\n : null;\r\n\r\n const { data: cancellationReasonsOptions } = useFetchCancellationReasonsOptions(false);\r\n\r\n const {\r\n activeUnassignedTreatmentForCancel,\r\n setActiveUnassignedTreatmentForCancel,\r\n refreshClinicianTreatmentsAndClosePanels,\r\n shouldResetCancelTreatmentInstance,\r\n } = useTimeline();\r\n const locale = globals.getArea('treatments');\r\n const errorsLocale = globals.getArea('error');\r\n const riskMaxLength = 500;\r\n const cancelNameMaxLength = 50;\r\n\r\n const extendedCancellationValidation =\r\n isExtendedCancellationProcessTrue === 'true' &&\r\n (state.cancelledBy === null || (state.cancellationName && state.cancellationName.length > cancelNameMaxLength));\r\n\r\n const isDisabledSave = () => {\r\n return (\r\n !state.selectedReason ||\r\n !state.riskAssesment ||\r\n state.riskAssesment.length > riskMaxLength ||\r\n extendedCancellationValidation\r\n );\r\n };\r\n\r\n const cancelTreatment = () => {\r\n dispatch(\r\n cancelTreatmentInstance(\r\n activeUnassignedTreatmentForCancel.treatmentId,\r\n activeUnassignedTreatmentForCancel.treatmentInstanceId !== null\r\n ? activeUnassignedTreatmentForCancel.treatmentInstanceId\r\n : -1,\r\n state.selectedReason,\r\n state.cancelledBy,\r\n state.cancellingParty,\r\n state.cancellationName,\r\n state.selectedCancellingNoticeDate,\r\n state.riskAssesment,\r\n treatmentDetails.treatmentInstance.occurrence,\r\n treatmentDetails.treatmentInstance.effectiveTimeSlots,\r\n ),\r\n ).then(() => {\r\n shouldResetCancelTreatmentInstance(true);\r\n refreshClinicianTreatmentsAndClosePanels();\r\n if (includeTreatments) toggleRefresh();\r\n });\r\n };\r\n\r\n const visibilityClass = classNames({\r\n 'fields-should-be-visible': isExtendedCancellationProcessTrue === 'true',\r\n 'fields-should-be-hidden': isExtendedCancellationProcessTrue === 'false',\r\n });\r\n\r\n const headerInfo = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n Cancel visit\r\n \r\n
    \r\n
    \r\n
    \r\n {activeUnassignedTreatmentForCancel.patientName}\r\n \r\n {activeUnassignedTreatmentForCancel.postcode}\r\n \r\n {activeUnassignedTreatmentForCancel.band}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const mainContent = () => {\r\n return (\r\n
    \r\n \r\n {`${locale.getMsg('cancellationReason')} *`}\r\n \r\n \r\n
    \r\n \r\n {`${locale.getMsg('cancelledBy')} *`}\r\n \r\n \r\n \r\n {`${locale.getMsg('cancellingParty')}`}\r\n \r\n \r\n \r\n {`${locale.getMsg('cancellingName')}`}\r\n \r\n cancelNameMaxLength}\r\n helperText={errorsLocale.getMsg('validationMaxLength', [`${cancelNameMaxLength}`])}\r\n onChange={e => setState({ ...state, cancellationName: e.target.value })}\r\n />\r\n\r\n \r\n \r\n {`${locale.getMsg('cancellingDate')} *`}\r\n \r\n \r\n \r\n \r\n {`Notice period: ${timeDifference.days} days, ${timeDifference.hours} hours`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {`${locale.getMsg('riskAssessment')} *`}\r\n \r\n riskMaxLength}\r\n helperText={errorsLocale.getMsg('validationMaxLength', [`${riskMaxLength}`])}\r\n onChange={e => setState({ ...state, riskAssesment: e.target.value })}\r\n />\r\n
    \r\n );\r\n };\r\n\r\n const actionButtons = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {\r\n setActiveUnassignedTreatmentForCancel(null);\r\n }}\r\n >\r\n Back\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}}\r\n onClose={() => setActiveUnassignedTreatmentForCancel(null)}\r\n >\r\n
    \r\n {headerInfo()}\r\n {mainContent()}\r\n {actionButtons()}\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Button from '@material-ui/core/Button';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport TextField from '@material-ui/core/TextField';\r\n\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport { getDateForApi } from '../../../../utils/dates';\r\nimport { editTreatmentInstanceNotes } from '../../../../actions/areas/planner';\r\nimport { selectionTypes } from '../../../../enums/treatmentSelectionType';\r\nimport globals from '../../../../globals/communityGlobals';\r\n\r\nexport default function ChangeTreatmentNotes({ treatmentDetails, toggleRefresh, includeTreatments }) {\r\n const [notes, setNotes] = useState(treatmentDetails.treatmentInstance.notes);\r\n const notesMaxLength = 1000;\r\n const errorsLocale = globals.getArea('error');\r\n\r\n const {\r\n getFlag,\r\n setFlag,\r\n refreshClinicianTreatmentsAndClosePanels,\r\n setActiveAssignment,\r\n getAccessToken,\r\n } = useTimeline();\r\n\r\n const selectionType = () => {\r\n if (treatmentDetails.treatment.isSpecific) return selectionTypes.specific;\r\n if (treatmentDetails.treatment.isMultiple) return selectionTypes.multiple;\r\n return selectionTypes.timeSlot;\r\n };\r\n\r\n const addTreatmentInstanceNotes = () => {\r\n const treatmentInstance = treatmentDetails.treatmentInstance;\r\n let model;\r\n if (selectionType() === selectionTypes.specific) {\r\n model = {\r\n treatmentId: treatmentInstance.treatmentId,\r\n treatmentInstanceId: treatmentInstance.treatmentInstanceId,\r\n isSpecific: true,\r\n occurenceOriginalDate: getDateForApi(treatmentInstance.occurrence),\r\n specificTimeFrom: getDateForApi(treatmentInstance.effectiveTimeSlots[0].from),\r\n };\r\n } else {\r\n model = {\r\n treatmentId: treatmentInstance.treatmentId,\r\n treatmentInstanceId: treatmentInstance.treatmentInstanceId,\r\n isSpecific: false,\r\n occurenceOriginalDate: getDateForApi(treatmentInstance.occurrence),\r\n timeSlotsMatrix: treatmentInstance.selectedTimeSlots,\r\n timeSlotPackageId: treatmentInstance.timeSlotPackage.id,\r\n };\r\n }\r\n model.notes = notes;\r\n\r\n editTreatmentInstanceNotes(getAccessToken, model, () => {\r\n refreshClinicianTreatmentsAndClosePanels();\r\n setActiveAssignment(null);\r\n if (includeTreatments) toggleRefresh();\r\n });\r\n };\r\n\r\n const notesValidation = () => {\r\n return notes && notes.length > notesMaxLength;\r\n };\r\n\r\n const headerInfo = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n Add Notes\r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const mainContent = () => {\r\n return (\r\n
    \r\n \r\n \r\n {`Notes`}\r\n \r\n setNotes(e.target.value)}\r\n />\r\n \r\n
    \r\n );\r\n };\r\n\r\n const actionButtons = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {\r\n setFlag('showTreatmentNotesSidePanel', false);\r\n }}\r\n >\r\n Back\r\n \r\n
    \r\n
    \r\n \r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}}\r\n onClose={() => setFlag('showTreatmentNotesSidePanel', false)}\r\n id=\"note\"\r\n >\r\n
    \r\n {headerInfo()}\r\n {mainContent()}\r\n {actionButtons()}\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable jsx-a11y/no-static-element-interactions */\r\n/* eslint-disable import/extensions */\r\n/* eslint-disable react/prop-types */\r\nimport React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nimport useTimeline from '../timeline/useTimeline';\r\nimport NonPatientActivity from './Activities/NonPatientActivity';\r\nimport LunchActivity from './Activities/LunchActivity';\r\nimport PatientActivity from './Activities/PatientActivity';\r\n\r\nimport _ from '../../../utils/lodash';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { AssignmentType } from '../../../enums/assignmentType';\r\nimport { AssignmentVisitState } from '../../../enums/assignmentVisitState';\r\nimport { addDateTimeMinutes, parseDateUtc } from '../../../utils/dates';\r\nimport {\r\n addClassToElements,\r\n findByAttrDataIdAndHandleActiveClass,\r\n resetTimelineActiveClass,\r\n} from '../timeline/timelineHelper';\r\nimport {\r\n getAvailableTimeSpansForTreatment,\r\n GetAvailableTimeSpansForLunchBreak,\r\n postAssignClinicianToTreatment,\r\n postRescheduleClinicianAssignment,\r\n postUpdateLunchBreak,\r\n postUnassignClinicianFromTreatmentInstance,\r\n postAssignClinicianToMultipleTreatments,\r\n} from '../../../actions/areas/planner';\r\n\r\n/* eslint-disable react/jsx-no-undef */\r\nexport default function ClinicianActivities({\r\n activities,\r\n isAdvanceFilterActive,\r\n filteredAssignments,\r\n shouldFilterAssignments,\r\n schedulerPeriod,\r\n baseRequestModel,\r\n clinicianIds,\r\n onActionClick,\r\n isMileageCapEnabled,\r\n isActionRunning,\r\n setIsActionRunning,\r\n isMultiAssign,\r\n setIsMultiAssign,\r\n setTimelineDialog,\r\n}) {\r\n const {\r\n setActiveAssignment,\r\n hasAvailableTimeSpansForClinicianId,\r\n getAvailableTimeSpans,\r\n getFlag,\r\n setAvailableTimeSpans,\r\n getParamsForAssignment,\r\n getAccessToken,\r\n resetContext,\r\n getAssignmentForEdit,\r\n activeClinicianId,\r\n setActiveNonPatientAssignment,\r\n setAlertMessage,\r\n getMultiSelectedTreatments,\r\n } = useTimeline();\r\n const isPast = parseDateUtc(schedulerPeriod.startDate).isBefore(parseDateUtc(globals.now), 'day');\r\n const isEditMode = !isPast && getFlag('isEditMode');\r\n const showTravelTime = getFlag('showTravelTime');\r\n const currentTime = globals.now;\r\n\r\n const highlightItem = itemId => {\r\n addClassToElements('timeline-rows-container', 'active-overlay');\r\n findByAttrDataIdAndHandleActiveClass('timeline-rows-container', '.timeline-assignment', itemId);\r\n };\r\n\r\n const resetAndReloadError = message => {\r\n setIsActionRunning(false);\r\n setAlertMessage(message);\r\n };\r\n\r\n const resetAndReload = () => {\r\n setIsActionRunning(false);\r\n resetContext();\r\n onActionClick();\r\n };\r\n\r\n const assignmentClick = assignment => {\r\n if (assignment.id !== 0) {\r\n setActiveAssignment(assignment);\r\n }\r\n };\r\n\r\n const assignmentClickEditMode = assignment => {\r\n if (assignment.id !== 0) {\r\n highlightItem(assignment.id);\r\n\r\n const assignmentParams = {\r\n ClinicianIds: clinicianIds,\r\n TreatmentId: assignment.treatmentId,\r\n TreatmentInstanceId: assignment.treatmentInstanceId,\r\n TimeSlotId: assignment.timeSlotId,\r\n AssignmentId: assignment.id,\r\n };\r\n const model = _.merge(assignmentParams, baseRequestModel);\r\n if (isMultiAssign) {\r\n setIsMultiAssign(false);\r\n }\r\n getAvailableTimeSpansForTreatment(getAccessToken, model, false, response => {\r\n resetTimelineActiveClass('timeline-rows-container', 'timeline-assignment');\r\n setAvailableTimeSpans(response, assignment);\r\n });\r\n\r\n setTimeout(() => resetTimelineActiveClass('timeline-rows-container', 'timeline-assignment'), 10000);\r\n }\r\n };\r\n\r\n const lunchBreakClickEditMode = assignment => {\r\n highlightItem(assignment.id);\r\n\r\n const assignmentParams = {\r\n ClinicianId: assignment.clinicianId,\r\n PostingId: assignment.postingId,\r\n AvailabilityId: assignment.availabilityId,\r\n };\r\n const model = _.merge(assignmentParams, baseRequestModel);\r\n GetAvailableTimeSpansForLunchBreak(getAccessToken, model, false, response => {\r\n resetTimelineActiveClass('timeline-rows-container', 'timeline-assignment');\r\n setAvailableTimeSpans(response, assignment);\r\n });\r\n\r\n setTimeout(() => resetTimelineActiveClass('timeline-rows-container', 'timeline-assignment'), 10000);\r\n };\r\n\r\n const handleAssignmentClick = (assignment, isPlannedVisit) => {\r\n return isEditMode ? (isPlannedVisit ? assignmentClickEditMode(assignment) : null) : assignmentClick(assignment);\r\n };\r\n\r\n const handleLunchBreakClick = assignment => (isEditMode ? lunchBreakClickEditMode(assignment) : null);\r\n\r\n const getClinicianAvailability = (clinicianAvailability, cellStartTime) => {\r\n return clinicianAvailability !== undefined\r\n ? _.find(_.orderBy(clinicianAvailability.timeSpans, item => item.isAssignablePeriod, 'desc'), item =>\r\n parseDateUtc(cellStartTime).isBetween(parseDateUtc(item.start), parseDateUtc(item.end), null, '[]'),\r\n )\r\n : undefined;\r\n };\r\n\r\n const getActiveTreatmentTimeSpan = (clinicianId, postingId, cellStartTime) => {\r\n const clinicianAvailability = _.find(\r\n getAvailableTimeSpans(),\r\n x => x.clinicianId === clinicianId && x.postingId === postingId,\r\n );\r\n\r\n return getClinicianAvailability(clinicianAvailability, cellStartTime);\r\n };\r\n\r\n const getActiveTreatmentsTimeSpan = (clinicianId, postingId, cellStartTime) => {\r\n const availableTimeSpans = getAvailableTimeSpans().clinicianTimeSpans;\r\n const clinicianAvailability =\r\n availableTimeSpans !== undefined\r\n ? availableTimeSpans.find(x => x.clinicianId === clinicianId && x.postingId === postingId)\r\n : undefined;\r\n\r\n return getClinicianAvailability(clinicianAvailability, cellStartTime);\r\n };\r\n\r\n const nonPatientActivityClick = assignment => {\r\n if (assignment.nonPatientActivityId !== 0) {\r\n setActiveNonPatientAssignment(assignment);\r\n }\r\n };\r\n\r\n const availabilityPlaceholderRender = (availability, clinicianId, postingId) => {\r\n const availabilityStartDate = availability.visual.startDate;\r\n const availabilityDuration = availability.visual.duration;\r\n\r\n const cells = [];\r\n const numberOfCells = availabilityDuration / schedulerPeriod.cellLength;\r\n\r\n const assignClinicianToTreatment = cellStartTime => {\r\n const assignmentParams = getParamsForAssignment();\r\n const model = _.merge(assignmentParams, baseRequestModel, {\r\n assignmentTime: cellStartTime,\r\n postingId: availability.postingId,\r\n });\r\n\r\n setIsActionRunning(true);\r\n postAssignClinicianToTreatment(getAccessToken, model, resetAndReload, resetAndReloadError);\r\n };\r\n\r\n const rescheduleClinicianAssignment = cellStartTime => {\r\n setIsActionRunning(true);\r\n if (getAssignmentForEdit.assignmentType === AssignmentType.LunchBreak) {\r\n const model = {\r\n availabilityId: getAssignmentForEdit.availabilityId,\r\n restNewStartDate: cellStartTime,\r\n };\r\n\r\n postUpdateLunchBreak(getAccessToken, model, resetAndReload, resetAndReloadError);\r\n } else {\r\n const model = {\r\n assignGuid: getAssignmentForEdit.assignGuid,\r\n newAssignmentTime: cellStartTime,\r\n postingId: availability.postingId,\r\n oldPostingId: getAssignmentForEdit.postingId,\r\n };\r\n\r\n postRescheduleClinicianAssignment(getAccessToken, model, resetAndReload, resetAndReloadError);\r\n }\r\n };\r\n\r\n const assignMultipleTreatmentInstances = cellStartTime => {\r\n const selectedTreatments = getMultiSelectedTreatments;\r\n\r\n if (!selectedTreatments && !selectedTreatments.length) {\r\n return;\r\n }\r\n\r\n const model = {};\r\n model.orgUnitId = baseRequestModel.OrgUnitId;\r\n model.selectedDate = baseRequestModel.SelectedDate;\r\n model.postingId = postingId;\r\n model.selectedStartingAssignmentTime = cellStartTime;\r\n model.treatmentsTreatmentInstancesIds = selectedTreatments.map((treatment, index) => {\r\n return {\r\n treatmentId: treatment.treatmentId,\r\n treatmentInstanceId: treatment.treatmentInstanceId,\r\n timeSlotId: treatment.timeSlotId,\r\n selectedIndex: index + 1,\r\n };\r\n });\r\n\r\n setIsActionRunning(true);\r\n\r\n const onSuccess = response => {\r\n const hasValidationErrors = response.data && response.data.errors && !!response.data.errors.length;\r\n if (hasValidationErrors) {\r\n const bodyContent = response.data.errors.map(error =>

    {error}

    );\r\n setTimelineDialog({ content: bodyContent, refreshOnClose: true });\r\n setIsActionRunning(false);\r\n resetContext();\r\n } else {\r\n resetAndReload();\r\n }\r\n\r\n setIsMultiAssign(false);\r\n };\r\n\r\n postAssignClinicianToMultipleTreatments(getAccessToken, model, onSuccess, resetAndReloadError);\r\n };\r\n\r\n const assignToClinician = cellStartTime => {\r\n if (isMultiAssign) {\r\n assignMultipleTreatmentInstances(cellStartTime);\r\n return;\r\n }\r\n assignClinicianToTreatment(cellStartTime);\r\n };\r\n\r\n // eslint-disable-next-line no-plusplus\r\n for (let i = 0; i < numberOfCells; i++) {\r\n const cellStartTime = addDateTimeMinutes(availabilityStartDate, i * schedulerPeriod.cellLength);\r\n const activeTreatmentTimeSpan = isMultiAssign\r\n ? getActiveTreatmentsTimeSpan(clinicianId, postingId, cellStartTime)\r\n : getActiveTreatmentTimeSpan(clinicianId, postingId, cellStartTime);\r\n const hasAvailabilityCell = activeTreatmentTimeSpan !== undefined && !isActionRunning;\r\n const isNonAssignable = hasAvailabilityCell && activeTreatmentTimeSpan !== undefined;\r\n\r\n const containerClass = classNames({\r\n 'timeline-act-tab': true,\r\n 'timeline-availability-placeholder': true,\r\n available: hasAvailabilityCell,\r\n 'non-assignable': isNonAssignable ? !activeTreatmentTimeSpan.isAssignablePeriod : false,\r\n });\r\n\r\n const activeCellClickHandler = () => {\r\n if (!hasAvailabilityCell || !activeTreatmentTimeSpan.isAssignablePeriod) return;\r\n\r\n if (isEditMode) {\r\n rescheduleClinicianAssignment(cellStartTime);\r\n } else {\r\n assignToClinician(cellStartTime);\r\n }\r\n };\r\n\r\n cells.push(\r\n \r\n  \r\n
    ,\r\n );\r\n }\r\n return cells;\r\n };\r\n\r\n const clinicianAvailabilitiesRender = (availability, clinicianId, postingId) => {\r\n return (\r\n \r\n {availabilityPlaceholderRender(availability, clinicianId, postingId)}\r\n \r\n );\r\n };\r\n\r\n const clinicianAssignmentRender = (assignment, isClinicianRowActive) => {\r\n const isPatientAssignment = assignment.assignmentType === AssignmentType.PatientAssignment;\r\n const flags = {\r\n isLunchAssignment: assignment.assignmentType === AssignmentType.LunchBreak,\r\n isNonPatientAssignment: assignment.assignmentType === AssignmentType.NonPatientAssignment,\r\n isPatientAssignment,\r\n isPlannedVisit: isPatientAssignment && assignment.visitStatus === AssignmentVisitState.Planned,\r\n isCompletedVisit: isPatientAssignment && assignment.visitStatus === AssignmentVisitState.Complete,\r\n isAhead: isPatientAssignment && assignment.visitStatus === AssignmentVisitState.Ahead,\r\n isStartedLate: isPatientAssignment && assignment.visitStatus === AssignmentVisitState.StartedLate,\r\n isBehindNow: parseDateUtc(assignment.visitTime.actual.startDate).isBefore(parseDateUtc(currentTime)),\r\n isClinicianRowActive,\r\n showTravelTime,\r\n isEditMode,\r\n isOutsideOfMileageCap: isMileageCapEnabled && assignment.outsideOfMileageCap,\r\n isBundled: assignment.isBundled,\r\n };\r\n\r\n const isFiltered =\r\n isAdvanceFilterActive &&\r\n (shouldFilterAssignments ? !filteredAssignments.some(a => a.id === assignment.id) : true);\r\n\r\n const isSelecteableAssignment =\r\n activeClinicianId !== null\r\n ? isClinicianRowActive\r\n ? isPatientAssignment || flags.isLunchAssignment || flags.isNonPatientAssignment || flags.isBehindNow\r\n : false\r\n : isPatientAssignment || flags.isLunchAssignment || flags.isNonPatientAssignment || flags.isBehindNow;\r\n\r\n const containerClass = classNames('timeline-act-tab', 'timeline-assignment', 'initial-render', {\r\n selectable: isSelecteableAssignment,\r\n 'is-behind-now': flags.isBehindNow,\r\n 'overlap-visit': isPatientAssignment && assignment.overlapsPeriodStart,\r\n 'visit-planned-red': flags.isPlannedVisit && assignment.cardStatus.name.toLowerCase() === 'red',\r\n 'visit-planned-amber': flags.isPlannedVisit && assignment.cardStatus.name.toLowerCase() === 'amber',\r\n 'visit-planned-green': flags.isPlannedVisit && assignment.cardStatus.name.toLowerCase() === 'green',\r\n 'visit-complete': flags.isCompletedVisit,\r\n 'visit-ahead':\r\n isPatientAssignment &&\r\n (assignment.visitStatus === AssignmentVisitState.OnTime ||\r\n assignment.visitStatus === AssignmentVisitState.StartedLate ||\r\n flags.isAhead),\r\n // 'visit-ontime': isPatientAssignment && assignment.visitStatus === AssignmentVisitState.OnTime, -- removed green color due to introducing started late, every started visit is blue\r\n 'visit-behind': isPatientAssignment && assignment.visitStatus === AssignmentVisitState.Behind,\r\n 'lunch-assignment': flags.isLunchAssignment,\r\n 'non-patient-assignment': flags.isNonPatientAssignment,\r\n 'edit-mode': flags.isEditMode && (flags.isPlannedVisit || flags.isLunchAssignment || flags.isBehindNow),\r\n 'rag-status': isPatientAssignment,\r\n 'rag-status-red': isPatientAssignment && assignment.ragStatus.name.toLowerCase() === 'red',\r\n 'rag-status-amber': isPatientAssignment && assignment.ragStatus.name.toLowerCase() === 'amber',\r\n 'rag-status-green': isPatientAssignment && assignment.ragStatus.name.toLowerCase() === 'green',\r\n 'rag-status-yellow': isPatientAssignment && assignment.ragStatus.name.toLowerCase() === 'yellow',\r\n 'is-lunch-overlap': assignment.isLunchBreakOverlap,\r\n 'is-copy':\r\n assignment.cardType.toLowerCase() === 'additionalclinician' ||\r\n assignment.cardType.toLowerCase() === 'overriddenclinician',\r\n });\r\n\r\n return (\r\n \r\n {flags.isLunchAssignment && (\r\n \r\n )}\r\n {flags.isNonPatientAssignment && (\r\n \r\n )}\r\n {flags.isPatientAssignment && (\r\n {}}\r\n unAssignClinicianFunc={() =>\r\n isSelecteableAssignment\r\n ? postUnassignClinicianFromTreatmentInstance(\r\n getAccessToken,\r\n { id: assignment.id },\r\n resetAndReload,\r\n setAlertMessage,\r\n )\r\n : () => {}\r\n }\r\n />\r\n )}\r\n \r\n );\r\n };\r\n\r\n const { clinicianId, postingId, availabilities, assignments } = activities;\r\n const isClinicianRowActive = hasAvailableTimeSpansForClinicianId(clinicianId, postingId);\r\n\r\n if (activeClinicianId === null) resetTimelineActiveClass('timeline-rows-container');\r\n if (isClinicianRowActive) addClassToElements('timeline-rows-container', 'active-overlay');\r\n const group50Assignments = _.filter(assignments, x => x.overlapGroupIndex >= 1 && x.overlapGroupIndex <= 2);\r\n const group33Assignments = _.filter(assignments, x => x.overlapGroupIndex >= 3);\r\n const singleAssignments = _.filter(assignments, x => x.overlapGroupIndex === 0);\r\n\r\n return (\r\n
    \r\n {availabilities.map(availability =>\r\n clinicianAvailabilitiesRender(availability, clinicianId, postingId, isClinicianRowActive),\r\n )}\r\n {singleAssignments.map(assignment => clinicianAssignmentRender(assignment, isClinicianRowActive))}\r\n {group50Assignments.length > 0 && (\r\n
    \r\n {group50Assignments.map(assignment => clinicianAssignmentRender(assignment, isClinicianRowActive))}\r\n
    \r\n )}\r\n {group33Assignments.length > 0 && (\r\n
    \r\n {group33Assignments.map(assignment => clinicianAssignmentRender(assignment, isClinicianRowActive))}\r\n
    \r\n )}\r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Tooltip } from '@material-ui/core';\r\nimport { SortOptionsDialog } from '../Filters/SortOptionsDialog';\r\nimport { updateFilters } from '../../../actions/areas/dailyPlanning/filters';\r\nimport { SearchFilter } from '../Filters/SearchFilter';\r\nimport { popUpModalStyles } from '../../../theme/AllocateBaseTheme';\r\nimport { CardItemsColumnHtml, sortClinicianOptions } from '../timeline/timelineConstants';\r\n\r\nconst useStyles = makeStyles({\r\n clinicianPopModal: {\r\n backgroundColor: '#333333',\r\n color: '#fff',\r\n padding: '5px',\r\n minWidth: '135px',\r\n },\r\n});\r\nexport function ClinicianCards({\r\n setFilterValue,\r\n clinicians,\r\n clinciianFilterOption,\r\n clinciianSortingOptions,\r\n isMileageCapEnabled,\r\n includeTreatments,\r\n hasNoTimeSlots,\r\n}) {\r\n const search = useSelector(state => state.areas.dailyPlanning.filters.clinician);\r\n const classes = useStyles();\r\n const [showMoreAnchor, setShowMoreAnchor] = useState(null);\r\n const dispatch = useDispatch();\r\n const [clinician, setClinician] = useState('');\r\n\r\n function handleChange(name, value) {\r\n setClinician(value);\r\n dispatch(updateFilters({ clinician: value, grades: [''] }));\r\n }\r\n return (\r\n
    \r\n
    \r\n
    \r\n handleChange(name, value)}\r\n id=\"clinician_search\"\r\n />\r\n\r\n \r\n
    \r\n
    \r\n \r\n setShowMoreAnchor(event.target)}\r\n />\r\n \r\n\r\n setShowMoreAnchor(null)}\r\n width=\"100%\"\r\n className=\"pop-over\"\r\n fullWidth\r\n data={clinciianSortingOptions}\r\n filterKey={'sortClinicianFilter'}\r\n filterValue={clinciianFilterOption || sortClinicianOptions[0].id}\r\n onChange={(name, value) => setFilterValue(name, value)}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport shortid from 'shortid';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { AssignmentType } from '../../../../enums/assignmentType';\r\nimport { startEndTimeDisplay, formatHours } from '../../../../utils/dates';\r\n\r\nexport default function ClinicianAssignedVisits({ clinician }) {\r\n const clinicianAssignedVisits = clinician.assignments.filter(\r\n assignment => assignment.assignmentType === AssignmentType.PatientAssignment,\r\n );\r\n\r\n if (clinicianAssignedVisits.length === 0) return null;\r\n\r\n const visitDisplay = visit => {\r\n const percentOfWidth = (visit.visitTime.actual.duration / clinician.assignedVisitsTimeWithoutDrivingTime) * 100;\r\n const barClass = classNames('filledBar', {\r\n 'amber-bar': percentOfWidth < 20,\r\n 'blue-bar': percentOfWidth >= 20,\r\n });\r\n return (\r\n \r\n \r\n \r\n

    {visit.secondaryLabel}

    \r\n
    \r\n \r\n
    \r\n
    \r\n {formatHours(\r\n visit.actualOccurance.actual.duration\r\n ? visit.actualOccurance.actual.duration\r\n : visit.visitTime.actual.duration,\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n {startEndTimeDisplay(\r\n visit.actualOccurance.actual.startDate\r\n ? visit.actualOccurance.actual.startDate\r\n : visit.visitTime.actual.startDate,\r\n visit.actualOccurance.actual.endDate\r\n ? visit.actualOccurance.actual.endDate\r\n : visit.visitTime.actual.endDate,\r\n )}\r\n \r\n
    \r\n
    \r\n );\r\n };\r\n return (\r\n
    \r\n
    Assigned Visits
    {clinicianAssignedVisits.map(visitDisplay)}\r\n
    \r\n );\r\n}\r\n","/* eslint-disable react/jsx-no-comment-textnodes */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport shortid from 'shortid';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport EventIcon from '@material-ui/icons/Event';\r\nimport EventBusyIcon from '@material-ui/icons/EventBusy';\r\nimport PrintIcon from '@material-ui/icons/Print';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport Box from '@material-ui/core/Box';\r\nimport LoadingPageText from '../../../common/Loading/LoadingPageText';\r\nimport ClinicianAssignedVisits from './ClinicianAssignedVisits';\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport { useFetchClinicianDetails } from '../../../../actions/areas/planner';\r\nimport { DaysOfWeek } from '../../../../enums/daysOfWeek';\r\nimport { downloadPlan } from '../../../../actions/areas/dailyPlanning/downloadPlan';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { autoAllocationStatuses } from '../../../../settings/constants';\r\nimport {\r\n parseShortDateTime,\r\n startEndTimeDisplay,\r\n startEndTimeGridDisplay,\r\n formatHours,\r\n parseDateUtc,\r\n} from '../../../../utils/dates';\r\nimport { autoAllocate, autoUnallocate } from '../../../../actions/areas/dailyPlanning';\r\nimport _ from '../../../../utils/lodash';\r\nimport { AutoAllocationMode } from '../../../../enums/autoAllocationMode';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\n\r\n// eslint-disable-next-line react/prop-types\r\nexport default function ClinicianDetails({ isMileageCapEnabled, period, autoAllocateCallback }) {\r\n const dispatch = useDispatch();\r\n const [state, setState] = useState({\r\n forceRefresh: false,\r\n tab: 0,\r\n printButtonDisabled: false,\r\n });\r\n const {\r\n activeClinicianId: clinicianId,\r\n activeClinician,\r\n setFlagAndClinician,\r\n getAccessToken,\r\n setAlertMessage,\r\n startLiveTrackingInterval,\r\n stopLiveTrackingInterval,\r\n resetContext,\r\n } = useTimeline();\r\n const isNightMode = useSelector(store => store.areas.dailyPlanning.scheduler.isNightMode);\r\n const selectedDate = useSelector(store => store.areas.dailyPlanning.selectedDate);\r\n const orgUnitId = useSelector(store => store.areas.dailyPlanning.filters.selectedTeam);\r\n\r\n const autoAllocateInProgress = useSelector(store => store.areas.dailyPlanning.autoAllocate.autoAllocateInProgress);\r\n const autoAllocateByUnit = _.find(\r\n autoAllocateInProgress,\r\n item => item.orgUnitId === orgUnitId && item.date === selectedDate,\r\n );\r\n const autoAllocateStatus = autoAllocateByUnit ? autoAllocateByUnit.status : 'Idle';\r\n const isUnallocating = autoAllocateByUnit ? autoAllocateByUnit.isUnAllocating : false;\r\n\r\n if (!clinicianId) return null;\r\n\r\n const { data: clinicianData, isDataLoading, error } = useFetchClinicianDetails(clinicianId, state.forceRefresh);\r\n\r\n useEffect(() => {\r\n stopLiveTrackingInterval();\r\n return () => startLiveTrackingInterval();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (error) setAlertMessage({ message: error });\r\n }, [isDataLoading]);\r\n\r\n const printReport = () => {\r\n setState({ ...state, printButtonDisabled: true });\r\n setAlertMessage({ message: locale.getMsg('preparingVisitPlanReport') });\r\n dispatch(\r\n downloadPlan(clinicianId, selectedDate, getAccessToken, clinicianData.clinicianDetails.clinicianFullName),\r\n ).then(() => setState({ ...state, printButtonDisabled: false }));\r\n };\r\n\r\n const clinicianContactInfomation = () => {\r\n return (\r\n
    \r\n
    Contact Information
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const clinicianHoursSummary = () => {\r\n const totalHrs = activeClinician.clinician.totalHours + activeClinician.clinician.availableHours;\r\n return (\r\n
    \r\n
    Hours Summary
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const fillBlankAvailabilityGridItems = (numOfAvailabilitiesOnDay, maxAvailabilitiesInDay) => {\r\n const items = [];\r\n for (let i = 0; i < maxAvailabilitiesInDay - numOfAvailabilitiesOnDay; i += 1) {\r\n items.push();\r\n }\r\n return items;\r\n };\r\n\r\n const rosteredWorkingHours = () => {\r\n const daysOfWeekArray = Object.values(DaysOfWeek);\r\n const maxAvailabilitiesInDay = clinicianData.weeklyAvailabilities.reduce(\r\n (max, curr) => Math.max(max, curr.value.length),\r\n Number.MIN_VALUE,\r\n );\r\n return (\r\n
    \r\n
    Rostered working hours
    \r\n
    \r\n \r\n {clinicianData.weeklyAvailabilities.map((day, index) => (\r\n \r\n {daysOfWeekArray[index]}\r\n
    \r\n {day.value.map(availability => (\r\n \r\n {startEndTimeGridDisplay(availability.startDate, availability.endDate)}\r\n \r\n ))}\r\n {fillBlankAvailabilityGridItems(day.value.length, maxAvailabilitiesInDay)}\r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const clinicianSkillsRender = skillDetails => {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const shouldDisableAutoAllocateUnAllocate = () => {\r\n if (period === null) return true;\r\n if (parseDateUtc(period.startDate).isSameOrAfter(parseDateUtc(globals.now))) {\r\n return false;\r\n }\r\n return !parseDateUtc(globals.now).isBetween(parseDateUtc(period.startDate), parseDateUtc(period.endDate));\r\n };\r\n\r\n const onAutoAllocate = () => {\r\n dispatch(\r\n autoAllocate({\r\n date: selectedDate,\r\n orgUnitId,\r\n isNightMode,\r\n createLog: true,\r\n clinicianIds: [clinicianId],\r\n autoAllocationModes: [AutoAllocationMode.general, AutoAllocationMode.phoneCalls],\r\n groupsToExclude: [],\r\n }),\r\n )\r\n .then(autoAllocateCallback)\r\n .catch(autoAllocateCallback);\r\n resetContext();\r\n };\r\n\r\n const onAutoUnallocate = () => {\r\n dispatch(autoUnallocate({ date: selectedDate, orgUnitId, isNightMode, clinicianIds: [clinicianId] }))\r\n .then(autoAllocateCallback)\r\n .catch(autoAllocateCallback);\r\n resetContext();\r\n };\r\n\r\n const clinicianHeader = () => {\r\n const activeDeactiveBtnRender = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n */}\r\n printReport()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n Clinician details\r\n \r\n \r\n \r\n setFlagAndClinician('showClinicianDetails', false, 0, 0, [\r\n 'showClinicianTreatments',\r\n 'enableMultipleSelection',\r\n ])\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {activeClinician.clinician.name}\r\n \r\n {activeClinician.clinician.band}\r\n {activeClinician.clinician.hasValidBasePostCode && (\r\n {activeClinician.clinician.basePostCode}\r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {activeClinician.clinician.availabilities.map(\r\n availability =>\r\n `${startEndTimeDisplay(availability.actual.startDate, availability.actual.endDate)}`,\r\n )}\r\n \r\n \r\n\r\n {isMileageCapEnabled && (\r\n \r\n \r\n {activeClinician.clinician.mileageCap || '-'}\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    {activeDeactiveBtnRender()}
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const clinicianDetailsRender = () => {\r\n return (\r\n \r\n
    \r\n \r\n \r\n setState({ tab: value })}\r\n centered\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n {state.tab === 0 && clinicianData !== null && (\r\n \r\n {clinicianContactInfomation()}\r\n {clinicianHoursSummary()}\r\n {rosteredWorkingHours()}\r\n \r\n \r\n )}\r\n {state.tab === 1 && clinicianData !== null && (\r\n {clinicianData.clinicianDetails.clinicianSkills.map(clinicianSkillsRender)}\r\n )}\r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}}\r\n onClose={() => {}}\r\n ModalProps={{\r\n onBackdropClick: () => setFlagAndClinician('showClinicianDetails', false, 0, 0, ['showClinicianTreatments']),\r\n }}\r\n >\r\n
    \r\n {clinicianHeader()}\r\n {isDataLoading ? (\r\n Wait a moment while we gather clinician info...\r\n ) : (\r\n clinicianDetailsRender()\r\n )}\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport classNames from 'classnames';\r\nimport { SwipeableDrawer } from '@material-ui/core';\r\nimport Box from '@material-ui/core/Box';\r\nimport Button from '@material-ui/core/Button';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport ReportProblemIcon from '@material-ui/icons/ReportProblem';\r\nimport IconButton from '@material-ui/core/IconButton';\r\n\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { useFetchClinicianGroupsOnDay } from '../../../../actions/areas/clinicianGroups/fetchClinicianGroups';\r\n\r\nexport default function ClinicianGroupsOnDay({ isOpen, onClose, onSave, excludedGroups }) {\r\n const [componentState, setComponentState] = useState([]);\r\n const { data: clinicianGroups } = useFetchClinicianGroupsOnDay(false);\r\n\r\n const locale = globals.getAreas(['clinicianGroups', 'userActions']);\r\n\r\n useEffect(() => {\r\n if (clinicianGroups.mappedClinicianGroups)\r\n setComponentState(\r\n clinicianGroups.mappedClinicianGroups\r\n .filter(x => x.isValidOnDay && !excludedGroups.includes(x.id))\r\n .map(x => x.id),\r\n );\r\n }, [clinicianGroups]);\r\n\r\n if (!clinicianGroups.mappedClinicianGroups) return null;\r\n\r\n const handleClick = groupId => {\r\n if (componentState.findIndex(x => x === groupId) !== -1) {\r\n setComponentState(componentState.filter(x => x !== groupId));\r\n return;\r\n }\r\n const newState = [...componentState];\r\n newState.push(groupId);\r\n setComponentState(newState);\r\n };\r\n\r\n const onConfirm = () => {\r\n const groupsToExclude = clinicianGroups.mappedClinicianGroups\r\n .filter(x => !componentState.includes(x.id))\r\n .map(x => x.id);\r\n onSave(groupsToExclude);\r\n };\r\n\r\n const clinicianGroupRender = group => {\r\n const groupClass = classNames('clinician-group-item', {\r\n 'selected-group': componentState.findIndex(x => x === group.id) !== -1,\r\n 'invalid-group': !group.isValidOnDay,\r\n });\r\n return (\r\n handleClick(group.id)}\r\n key={`${group.id}_${group.name}`}\r\n >\r\n \r\n \r\n {group.name}\r\n \r\n \r\n \r\n \r\n {group.clinicianNames}\r\n \r\n \r\n {!group.isValidOnDay && (\r\n
    \r\n \r\n {group.reasonMsg}\r\n
    \r\n )}\r\n
    \r\n );\r\n };\r\n\r\n const contentRender = () => {\r\n return (\r\n
    \r\n \r\n {locale.getMsg('validClinicianGroupsOnDay')}\r\n \r\n {clinicianGroups.mappedClinicianGroups.length > 0 ? (\r\n
    {clinicianGroups.mappedClinicianGroups.map(clinicianGroupRender)}
    \r\n ) : (\r\n
    \r\n
    {locale.getMsg('noValidClinicianGroupsOnDay')}
    \r\n
    \r\n )}\r\n
    \r\n );\r\n };\r\n\r\n const headerRender = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n {locale.getMsg('clinicianGroups')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const footerRender = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {locale.getMsg('save')}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}} onClose={() => {}}>\r\n
    \r\n {headerRender()}\r\n {contentRender()}\r\n {footerRender()}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable jsx-a11y/no-static-element-interactions */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable import/no-named-as-default-member */\r\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Box, Tooltip } from '@material-ui/core';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport LocationOnIcon from '@material-ui/icons/LocationOn';\r\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport HotelIcon from '@material-ui/icons/Hotel';\r\nimport PhoneIcon from '@material-ui/icons/Phone';\r\nimport LinearProgress from '@material-ui/core/LinearProgress';\r\nimport DoneAllIcon from '@material-ui/icons/DoneAll';\r\nimport useTimeline from '../timeline/useTimeline';\r\nimport { SearchFilter } from '../Filters/SearchFilter';\r\nimport { useFetchClinicianTreatments, getAvailableTimeSpansForTreatment } from '../../../actions/areas/planner';\r\nimport { SortOptionsDialog } from '../Filters/SortOptionsDialog';\r\nimport { sortTreatmentOptions, sortingIconMap } from '../timeline/timelineConstants';\r\nimport _ from '../../../utils/lodash';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { DayPeriod, VisitType, compareRag } from '../../../enums';\r\nimport TimelineDockerPanel from '../timeline/TimelineDockerPanel';\r\n\r\nconst style = {\r\n root: {\r\n minWidth: 500,\r\n },\r\n};\r\n\r\nconst useStyles = makeStyles({\r\n clinicianPopModal: {\r\n backgroundColor: '#333333',\r\n color: '#fff',\r\n padding: '5px',\r\n minWidth: '135px',\r\n },\r\n});\r\n\r\n// eslint-disable-next-line react/prop-types\r\nexport default function ClinicianTreatments({\r\n baseRequestModel,\r\n getClinicianTreatmentInstances,\r\n filteredClinicianTreatmentInstances,\r\n isAdvanceFilterActive,\r\n forceReloadClinicianTreatments,\r\n}) {\r\n const [patientFilterPhrase, setPatientFilterPhrase] = useState('');\r\n const classes = useStyles();\r\n const [treatmentFilterOption, setTreatmentFilterOption] = useState(1);\r\n const [treatmentSortingOptions, setTreatmentSortingOptions] = useState(sortTreatmentOptions);\r\n const [showMoreAnchor, setShowMoreAnchor] = useState(null);\r\n const {\r\n activeClinicianId: clinicianId,\r\n activeClinicianPostingId: clinicianPostingId,\r\n activeTreatment,\r\n setActiveTreatment,\r\n setActiveUnassignedTreatment,\r\n getAccessToken,\r\n getFlag,\r\n resetContextAndModify,\r\n startLiveTrackingInterval,\r\n stopLiveTrackingInterval,\r\n setAlertMessage,\r\n activeClinician,\r\n getMultiSelectedTreatments: multiSelectedTreatments,\r\n setMultiSelectedTreatments,\r\n } = useTimeline();\r\n\r\n // If there is no active clinician don`t render anything\r\n if (!clinicianId) return null;\r\n\r\n const forceReload = forceReloadClinicianTreatments || getFlag('shouldReloadClinicianTreatments');\r\n const faList = useSelector(store => store.global.auth.featureAccessList);\r\n const { data, isDataLoading, error } = useFetchClinicianTreatments(clinicianId, clinicianPostingId, forceReload);\r\n const [collapseGroups, setcollapseGroups] = useState({\r\n BestMatch: true,\r\n OutsideOfMileageCap: true,\r\n PartialMatch: false,\r\n NoMatch: false,\r\n });\r\n\r\n const [loadingTimeSlots, setLoadingTimeSlots] = useState({ treatmentId: null, timeSlotId: null, value: false });\r\n\r\n useEffect(() => {\r\n stopLiveTrackingInterval();\r\n return () => startLiveTrackingInterval(null, false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (error) setAlertMessage({ message: error });\r\n // eslint-disable-next-line no-use-before-define\r\n getClinicianTreatmentInstances(!isDataLoading && !error ? filteredData : [], isDataLoading);\r\n }, [isDataLoading]);\r\n\r\n if (isDataLoading || (!isDataLoading && data === null)) {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n const dataFilter =\r\n isAdvanceFilterActive &&\r\n filteredClinicianTreatmentInstances !== undefined &&\r\n filteredClinicianTreatmentInstances.map(x => x.items).length > 0\r\n ? filteredClinicianTreatmentInstances\r\n : data;\r\n\r\n // Filtering the data source\r\n const filteredData = dataFilter.map(({ name, text, isAssignable, items }) => ({\r\n name,\r\n text,\r\n isAssignable,\r\n items: _.remove(\r\n [...items],\r\n x =>\r\n patientFilterPhrase === '' ||\r\n x.patientName.toLowerCase().indexOf(patientFilterPhrase) !== -1 ||\r\n x.nhsNumber.toLowerCase().indexOf(patientFilterPhrase) !== -1,\r\n ),\r\n }));\r\n\r\n const handleTreatmentClick = item => {\r\n if (activeTreatment && activeTreatment.treatmentId === item.treatmentId) {\r\n setActiveTreatment(null);\r\n } else if (checkFeatureAccess(faList, globals.applicationFeatureAccesses.canAllocateWork)) {\r\n const saveTreatmentCalback = availableTimeSpans => {\r\n const treatment = _.cloneDeep(item) || {};\r\n treatment.AvailableTimeSpans = availableTimeSpans;\r\n setActiveTreatment(treatment);\r\n setLoadingTimeSlots({ treatmentId: null, timeSlotId: null, value: false });\r\n };\r\n\r\n // const assignmentParams = getParamsForAssignment();\r\n getAvailableTimeSpansForTreatment(\r\n getAccessToken,\r\n _.merge(\r\n {\r\n ClinicianIds: [clinicianId],\r\n TreatmentId: item.treatmentId,\r\n TimeSlotId: item.timeSlotId,\r\n },\r\n baseRequestModel,\r\n ),\r\n false,\r\n saveTreatmentCalback,\r\n );\r\n setLoadingTimeSlots({ treatmentId: item.treatmentId, timeSlotId: item.timeSlotId, value: true });\r\n }\r\n };\r\n\r\n const handleOpenPanel = (e, item) => {\r\n e.stopPropagation();\r\n const treatment = _.cloneDeep(item) || {};\r\n setActiveUnassignedTreatment(treatment);\r\n };\r\n\r\n const handleMultiSelect = item => {\r\n if (!multiSelectedTreatments.some(t => t.treatmentId === item.treatmentId && t.timeSlotId === item.timeSlotId)) {\r\n setMultiSelectedTreatments([\r\n ...multiSelectedTreatments,\r\n {\r\n treatmentId: item.treatmentId,\r\n nhsNumber: item.nhsNumber,\r\n patientName: item.patientName,\r\n timeSlotId: item.timeSlotId,\r\n treatmentInstanceId: item.treatmentInstanceId != null ? item.treatmentInstanceId : -1,\r\n treatmentInstanceActivities: item.treatmentInstanceActivities,\r\n treatmentPostcode: item.postcode,\r\n orgUnitId: baseRequestModel.OrgUnitId,\r\n selectedDate: baseRequestModel.SelectedDate,\r\n treatmentTimeType: item.treatmentTimeType,\r\n timeSlots: item.timeSlots,\r\n masterId: item.masterId,\r\n visitType: item.visitType,\r\n isBundled: item.isBundled,\r\n },\r\n ]);\r\n } else {\r\n setMultiSelectedTreatments(\r\n multiSelectedTreatments.filter(e => e.treatmentId !== item.treatmentId || e.timeSlotId !== item.timeSlotId),\r\n );\r\n }\r\n };\r\n\r\n const treatmentRender = (item, isAssignable) => {\r\n const isTreatmentInstanceCancelled = item.isCancelled;\r\n const ragStatus = item.ragStatus.name.toLowerCase();\r\n const isSpecific = item.isSingleTimeSlot && item.treatmentTimeType === 'SpecificTime';\r\n\r\n const timeSlotColor = classNames({\r\n specificTimeSlot: isSpecific,\r\n singleTimeSlot: item.isSingleTimeSlot && !isSpecific,\r\n multipleTimeSlot: !item.isSingleTimeSlot,\r\n 'is-copy': item.masterId,\r\n });\r\n\r\n const treatmentClass = classNames('treatment-details', {\r\n 'active-treatment': activeTreatment\r\n ? activeTreatment.treatmentId === item.treatmentId &&\r\n activeTreatment.timeSlotId === item.timeSlotId &&\r\n !getFlag('enableMultipleSelection')\r\n : false,\r\n 'multiSelect-treatment': multiSelectedTreatments\r\n ? getFlag('enableMultipleSelection') &&\r\n multiSelectedTreatments.some(t => t.treatmentId === item.treatmentId && t.timeSlotId === item.timeSlotId)\r\n : false,\r\n 'disabled-card': getFlag('enableMultipleSelection') && item.masterId,\r\n 'canceled-visit': isTreatmentInstanceCancelled,\r\n });\r\n\r\n const numberOfCliniciansClass = classNames('treatment-info', {\r\n 'copies-in-other-unit': item.numberOfClinicians > item.numberOfCliniciansInOrgUnit,\r\n });\r\n\r\n const isLoading =\r\n loadingTimeSlots.value &&\r\n loadingTimeSlots.treatmentId === item.treatmentId &&\r\n loadingTimeSlots.timeSlotId === item.timeSlotId;\r\n\r\n return (\r\n handleMultiSelect(item)\r\n : isAssignable\r\n ? () => handleTreatmentClick(item)\r\n : null\r\n }\r\n >\r\n \r\n \r\n
    \r\n \r\n {isLoading && (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {item.patientName}\r\n \r\n \r\n {item.band}\r\n \r\n {item.dayPeriod === DayPeriod.AM && (\r\n \r\n AM\r\n \r\n )}\r\n {item.dayPeriod === DayPeriod.PM && (\r\n \r\n PM\r\n \r\n )}\r\n {item.isBundled && }\r\n \r\n \r\n \r\n {item.activities}\r\n \r\n {item.numberOfActivities > 1 && (\r\n {item.numberOfActivities - 1}\r\n )}\r\n \r\n\r\n \r\n {item.nhsNumber}\r\n \r\n\r\n \r\n \r\n \r\n {item.visitType === VisitType.PhoneCall ? (\r\n \r\n \r\n {item.contactNumber}\r\n \r\n ) : (\r\n \r\n \r\n {item.postcode}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {item.totalTime}\r\n \r\n \r\n \r\n \r\n \r\n {item.numberOfClinicians - item.numberOfAssignedClinicians}\r\n \r\n \r\n {item.isReviewDate && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {item.unassignSourceBySystem && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n handleOpenPanel(e, item)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const groupTreatmentsRender = updatedData => {\r\n const hasSingleGroup = updatedData.length === 1;\r\n if (hasSingleGroup) {\r\n return
    {updatedData[0].items.map(treatmentRender)}
    ;\r\n }\r\n\r\n return updatedData.map((group, index) => {\r\n const groupName = group.name;\r\n const isExpandGroup = collapseGroups[groupName];\r\n\r\n return (\r\n
    \r\n setcollapseGroups({ ...collapseGroups, [groupName]: !collapseGroups[groupName] })}\r\n >\r\n \r\n \r\n \r\n {group.text}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {group.items.length}\r\n \r\n \r\n \r\n \r\n
    \r\n {isExpandGroup &&
    {group.items.map(item => treatmentRender(item, group.isAssignable))}
    }\r\n
    \r\n );\r\n });\r\n };\r\n\r\n const setFilterValue = (name, value) => {\r\n setTreatmentFilterOption(value);\r\n const sortedList = treatmentSortingOptions.map(cl => {\r\n if (cl.id === value) {\r\n return {\r\n ...cl,\r\n name: (\r\n \r\n {`✓ ${cl.label}`} \r\n \r\n ),\r\n isAsc: !cl.isAsc,\r\n };\r\n }\r\n return {\r\n ...cl,\r\n name: cl.label,\r\n isAsc: false,\r\n };\r\n });\r\n setTreatmentSortingOptions(sortedList);\r\n };\r\n\r\n const toggleMultiSelect = () =>\r\n resetContextAndModify({\r\n activeClinician: _.cloneDeep(activeClinician),\r\n flags: {\r\n enableMultipleSelection: !getFlag('enableMultipleSelection'),\r\n showClinicianTreatments: getFlag('showClinicianTreatments'),\r\n showLegend: getFlag('showLegend'),\r\n },\r\n });\r\n\r\n if (isDataLoading) {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n const hasTreatments = !isDataLoading && filteredData.length > 0;\r\n\r\n // Sorting the filtered data source\r\n const updatedData = filteredData.map(x => {\r\n const selectedSortingOption = treatmentSortingOptions.find(o => o.id === treatmentFilterOption);\r\n const isAsc = selectedSortingOption.isAsc;\r\n const updatedList = { ...x };\r\n\r\n updatedList.items.sort((a, b) => {\r\n const propertyName = selectedSortingOption.propertyName;\r\n if (propertyName === 'ragStatus') {\r\n const compare = compareRag(a[propertyName].name, b[propertyName].name);\r\n if (isAsc) return compare;\r\n if (!isAsc) return -compare;\r\n } else {\r\n if (isAsc && a[propertyName] > b[propertyName]) return 1;\r\n if (!isAsc && a[propertyName] < b[propertyName]) return 1;\r\n if (isAsc && a[propertyName] < b[propertyName]) return -1;\r\n if (!isAsc && a[propertyName] > b[propertyName]) return -1;\r\n }\r\n return 0;\r\n });\r\n\r\n return updatedList;\r\n });\r\n\r\n const renderFilterSection = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n setPatientFilterPhrase(value)}\r\n id=\"treatment_search\"\r\n />\r\n \r\n
    \r\n\r\n
    \r\n \r\n setShowMoreAnchor(event.target)}\r\n />\r\n \r\n\r\n setShowMoreAnchor(null)}\r\n width=\"100%\"\r\n fullWidth\r\n data={treatmentSortingOptions}\r\n filterKey={'sortTreatmentFilter'}\r\n filterValue={treatmentFilterOption || treatmentSortingOptions[0].id}\r\n onChange={(name, value) => setFilterValue(name, value)}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const selectAllTreatments = () => {\r\n let allTreatments = [];\r\n updatedData.forEach(g => {\r\n const groupTreatments = g.items\r\n .filter(item => !item.masterId)\r\n .map(t => {\r\n return {\r\n treatmentId: t.treatmentId,\r\n patientName: t.patientName,\r\n timeSlotId: t.timeSlotId,\r\n treatmentInstanceId: t.treatmentInstanceId != null ? t.treatmentInstanceId : -1,\r\n };\r\n });\r\n allTreatments = allTreatments.concat(groupTreatments);\r\n });\r\n\r\n setMultiSelectedTreatments(allTreatments);\r\n };\r\n\r\n return (\r\n
    \r\n {!hasTreatments && (\r\n \r\n No treatments for selected clinician\r\n \r\n )}\r\n\r\n {hasTreatments && (\r\n \r\n {renderFilterSection()}\r\n
    {groupTreatmentsRender(updatedData)}
    \r\n\r\n {multiSelectedTreatments.length > 0 && (\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n );\r\n}\r\n","/* eslint-disable import/no-unresolved */\r\n/* eslint-disable import/extensions */\r\nimport React from 'react';\r\n\r\nimport { TimelineProvider } from '../timeline/TimelineContext';\r\nimport TimelineScheduler from './TimelineScheduler';\r\n\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\nimport { useFetchPlanningDetails } from '../../../actions/areas/planner';\r\n\r\nexport function ClinicianViewPage() {\r\n document.title = 'Planner Clinician view';\r\n const includeTreatments = false;\r\n const {\r\n data: timeLineData,\r\n isDataLoading,\r\n baseRequestModel,\r\n isUpdateTriggered,\r\n error,\r\n refresh,\r\n } = useFetchPlanningDetails(includeTreatments);\r\n\r\n if (isDataLoading)\r\n return Wait a moment while we gather timeline info...;\r\n\r\n const timelineSettings = {\r\n ...timeLineData,\r\n baseRequestModel,\r\n isUpdateTriggered,\r\n error,\r\n includeTreatments,\r\n toggleForceRefresh: refresh,\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-nested-ternary */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Button from '@material-ui/core/Button';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Select from '@material-ui/core/Select';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { convertVisitToPhoneCall } from '../../../../actions/areas/planner';\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { maxDuration, careTypes } from '../../../../settings/constants';\r\nimport { parseDateUtc, trimmedDateAt } from '../../../../utils/dates';\r\nimport { useFetchActivitiesOptions } from '../../../../actions/areas/planner/fetchHooks';\r\n\r\nconst locale = globals.getArea('treatments');\r\nconst now = parseDateUtc(globals.now);\r\n\r\nexport default function ConvertTreatmentInstanceType({ treatmentDetails, toggleRefresh }) {\r\n const errorsLocale = globals.getArea('error');\r\n const {\r\n assignment,\r\n refreshClinicianTreatmentsAndClosePanels,\r\n getAccessToken,\r\n getFlag,\r\n setFlag,\r\n setAlertMessage,\r\n } = useTimeline();\r\n\r\n const [filteredActivitiesOptions, setFilteredActivitiesOptions] = useState([]);\r\n const [selectedActivitiesIds, setActivities] = useState([]);\r\n const [duration, setDuration] = useState('');\r\n const [isDataLoading, setIsDataLoading] = useState(false);\r\n\r\n const orgUnitId = useSelector(state => state.areas.dailyPlanning.filters.selectedTeam);\r\n\r\n const getMaxBand = () => {\r\n return assignment ? treatmentDetails.currentAssignedClinician.clinicianBand : null;\r\n };\r\n\r\n const getSkillsIds = () => {\r\n return assignment\r\n ? treatmentDetails.currentAssignedClinician.clinicianSkills\r\n .filter(skill => {\r\n return parseDateUtc(skill.validTo).isSameOrAfter(now) && parseDateUtc(skill.validFrom).isSameOrBefore(now);\r\n })\r\n .map(item => item.skill.id)\r\n : null;\r\n };\r\n\r\n const filterActivitiesByOrgUnit = activitiesOptions => {\r\n if (!orgUnitId) {\r\n setFilteredActivitiesOptions(activitiesOptions);\r\n }\r\n\r\n const filteredActivities = activitiesOptions.filter(\r\n o => o.orgUnitsIds.length === 0 || o.orgUnitsIds.includes(orgUnitId),\r\n );\r\n setFilteredActivitiesOptions(filteredActivities);\r\n };\r\n\r\n const getActivitiesOptionsModel = {\r\n visitType: careTypes.phoneCall,\r\n maxBand: getMaxBand(),\r\n clinicianSkillsIds: getSkillsIds(),\r\n };\r\n const { data: activitiesOptions } = useFetchActivitiesOptions(getActivitiesOptionsModel, isDataLoading);\r\n\r\n useEffect(() => {\r\n if (activitiesOptions) {\r\n filterActivitiesByOrgUnit(activitiesOptions);\r\n }\r\n }, [activitiesOptions]);\r\n\r\n const resetAndReloadError = message => {\r\n setIsDataLoading(false);\r\n setAlertMessage(message);\r\n };\r\n\r\n const convertVisit = () => {\r\n setIsDataLoading(true);\r\n\r\n const treatmentInstance = treatmentDetails.treatmentInstance;\r\n const treatment = treatmentDetails.treatment;\r\n\r\n const model = {\r\n dateOn: trimmedDateAt(treatmentInstance.occurrence),\r\n treatmentInstanceId: treatmentInstance.id,\r\n treatmentId: treatmentDetails.treatment.id,\r\n activitiesIds: selectedActivitiesIds,\r\n duration,\r\n specificTimeFrom: treatment.isSpecific ? treatment.specificTimeFrom : null,\r\n timeSlotMatrix: !treatment.isSpecific\r\n ? treatment.isMultiple\r\n ? treatmentInstance.selectedTimeSlots\r\n : treatment.timeSlotsMatrix\r\n : null,\r\n };\r\n\r\n convertVisitToPhoneCall(\r\n getAccessToken,\r\n model,\r\n () => {\r\n setIsDataLoading(false);\r\n refreshClinicianTreatmentsAndClosePanels();\r\n toggleRefresh();\r\n },\r\n resetAndReloadError,\r\n );\r\n };\r\n\r\n const calculateDuration = value => {\r\n const durationn = value === 0 ? '' : value;\r\n setDuration(durationn);\r\n };\r\n\r\n const setActivitiesDuration = values => {\r\n setActivities(values);\r\n\r\n const activitiesDuration = activitiesOptions\r\n .filter(activity => values.includes(activity.id))\r\n .reduce((sum, activity) => sum + activity.duration, 0);\r\n\r\n calculateDuration(activitiesDuration);\r\n };\r\n\r\n const isDurationValueValid = () => {\r\n return duration <= maxDuration && duration > 0;\r\n };\r\n\r\n const canSave = () => selectedActivitiesIds.length && isDurationValueValid() && !isDataLoading;\r\n\r\n const headerInfo = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n {locale.getMsg('convertVisitSidePanelTitle')}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {locale.getMsg('convertVisitMessage')}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const mainContent = () => {\r\n return (\r\n
    \r\n \r\n \r\n Activities*\r\n \r\n \r\n setActivitiesDuration(e.target.value)}\r\n labelId=\"map-to-teams\"\r\n value={selectedActivitiesIds}\r\n fullWidth\r\n >\r\n {filteredActivitiesOptions &&\r\n filteredActivitiesOptions.map(activity => (\r\n \r\n {activity.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n Edit duration*\r\n \r\n setDuration(e.target.value)}\r\n value={duration != null ? duration : null}\r\n helperText={\r\n duration !== '' && !isDurationValueValid()\r\n ? errorsLocale.getMsg('activityMaxDuration', [`${maxDuration}`])\r\n : ''\r\n }\r\n error={duration !== '' && !isDurationValueValid()}\r\n />\r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const actionButtons = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {\r\n setFlag('showConvertVisitSidePanel', false);\r\n }}\r\n >\r\n Back\r\n \r\n
    \r\n
    \r\n {!isDataLoading && (\r\n \r\n )}\r\n {isDataLoading && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}}\r\n onClose={() => setFlag('showConvertVisitSidePanel', false)}\r\n id=\"note\"\r\n >\r\n
    \r\n {headerInfo()}\r\n {mainContent()}\r\n {actionButtons()}\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Button from '@material-ui/core/Button';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Box from '@material-ui/core/Box';\r\nimport Select from '@material-ui/core/Select';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport ScheduleIcon from '@material-ui/icons/Schedule';\r\nimport TrafficIcon from '@material-ui/icons/Traffic';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport DirectionsCarIcon from '@material-ui/icons/DirectionsCar';\r\nimport _ from '../../../../utils/lodash';\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport { startEndTimeDisplay, isBetweenDateRange, timeIsBetweenDateRange } from '../../../../utils/dates';\r\nimport { getAvailableTimeSpansForTreatment } from '../../../../actions/areas/planner';\r\nimport { postAssignClinicianToTreatment } from '../../../../actions/areas/planner/commandActions';\r\nimport { overrideTreatmentInstance } from '../../../../actions/entities/treatmentInstances/addOverride';\r\n\r\nexport default function CopyTreatment({ settings, baseRequestModel }) {\r\n const dispatch = useDispatch();\r\n const {\r\n activeAssignment: assignment,\r\n activeTreatmentInstanceForCopy: treatmentInstance,\r\n setActiveTreatmentInstanceForCopy,\r\n activeUnassignedTreatment: unassignedTreatmentInstance,\r\n refreshClinicianTreatmentsAndClosePanels,\r\n closeCopyPanels,\r\n getAccessToken,\r\n setAlertMessage,\r\n } = useTimeline();\r\n\r\n const [componentState, setComponentState] = useState({\r\n assignableTimeSpan: null,\r\n selectedClinician: null,\r\n selectedAvailability: null,\r\n isCopying: false,\r\n });\r\n\r\n const clinicians = settings.unfilteredClinicians;\r\n\r\n if ((!assignment && !unassignedTreatmentInstance) || !treatmentInstance) return null;\r\n\r\n const handleClinicianChange = async e => {\r\n const clinicianId = e.target.value;\r\n if (clinicianId === '') {\r\n setComponentState({\r\n ...componentState,\r\n assignableTimeSpan: null,\r\n selectedClinician: null,\r\n selectedAvailability: null,\r\n isCopying: false,\r\n });\r\n return;\r\n }\r\n setComponentState({\r\n ...componentState,\r\n isCopying: true,\r\n });\r\n const clinician = clinicians.find(item => item.id === clinicianId);\r\n const availability = clinician.availabilities.find(a => isBetweenDateRange(assignment.visitTime.actual, a.actual));\r\n\r\n const setClinicianAndTimeSpan = timeSpans => {\r\n const firstTimeSpan = timeSpans\r\n ? timeSpans[0].timeSpans.find(\r\n span =>\r\n timeIsBetweenDateRange(\r\n { dateFrom: span.start, dateTo: span.end },\r\n assignment.visitTime.actual.startDate,\r\n ) && span.isAssignablePeriod,\r\n )\r\n : null;\r\n setComponentState({\r\n ...componentState,\r\n assignableTimeSpan: firstTimeSpan,\r\n selectedClinician: clinician,\r\n selectedAvailability: availability,\r\n isCopying: false,\r\n });\r\n };\r\n\r\n await getAvailableTimeSpansForTreatment(\r\n getAccessToken,\r\n _.merge(\r\n {\r\n ClinicianIds: [clinicianId],\r\n TreatmentId: treatmentInstance.treatmentId,\r\n TimeSlotId: assignment.timeSlotId,\r\n IsCopyVisit: true,\r\n },\r\n baseRequestModel,\r\n ),\r\n false,\r\n setClinicianAndTimeSpan,\r\n );\r\n };\r\n\r\n const closePanelAndRefresh = () => {\r\n closeCopyPanels();\r\n settings.toggleForceRefresh();\r\n };\r\n\r\n const errorCallback = error => {\r\n setAlertMessage(error);\r\n setComponentState({ ...componentState, isCopying: false });\r\n };\r\n\r\n const assignClinicianToTreatment = copiedTreatment => {\r\n const assignmentParams = {\r\n treatmentId: copiedTreatment.treatmentId,\r\n treatmentInstanceId: copiedTreatment.treatmentInstanceId !== null ? copiedTreatment.treatmentInstanceId : -1,\r\n };\r\n const model = _.merge(assignmentParams, baseRequestModel, {\r\n assignmentTime: assignment.visitTime.actual.startDate,\r\n postingId: componentState.selectedAvailability.postingId,\r\n });\r\n postAssignClinicianToTreatment(getAccessToken, model, closePanelAndRefresh, errorCallback);\r\n };\r\n\r\n const copyTreatment = () => {\r\n setComponentState({ ...componentState, isCopying: true });\r\n return dispatch(\r\n overrideTreatmentInstance(\r\n treatmentInstance.treatmentId,\r\n treatmentInstance.treatmentInstanceId,\r\n treatmentInstance.occurrence,\r\n treatmentInstance.timeSlots,\r\n ),\r\n )\r\n .then(() => {\r\n if (settings.includeTreatments) closePanelAndRefresh();\r\n else refreshClinicianTreatmentsAndClosePanels();\r\n })\r\n .finally(() => setComponentState({ ...componentState, isCopying: false }));\r\n };\r\n\r\n const copyAssignedTreatment = () => {\r\n setComponentState({ ...componentState, isCopying: true });\r\n const openCopyPanel = data => {\r\n const copiedTreatment = data.response.data.responseTreatment;\r\n if (copiedTreatment.masterId === null || copiedTreatment.isMasterAssigned) {\r\n setActiveTreatmentInstanceForCopy(copiedTreatment);\r\n if (componentState.selectedClinician) {\r\n assignClinicianToTreatment(copiedTreatment);\r\n } else {\r\n closePanelAndRefresh();\r\n }\r\n }\r\n };\r\n\r\n const timeSlots = treatmentInstance.timeSlots;\r\n return dispatch(\r\n overrideTreatmentInstance(\r\n treatmentInstance.treatmentId,\r\n treatmentInstance.treatmentInstanceId,\r\n treatmentInstance.occurrence,\r\n timeSlots,\r\n assignment.id,\r\n ),\r\n ).then(data => openCopyPanel(data));\r\n };\r\n\r\n const headerInfo = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n Copy visit\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {unassignedTreatmentInstance ? unassignedTreatmentInstance.patientName : assignment.secondaryLabel}\r\n \r\n \r\n {unassignedTreatmentInstance ? unassignedTreatmentInstance.postcode : assignment.postcode}\r\n \r\n Any Grade\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {!unassignedTreatmentInstance && (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {!unassignedTreatmentInstance && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const mainContent = () => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const actionButtons = () => {\r\n const clinicianIsNotAvailable =\r\n componentState.selectedClinician && (!componentState.assignableTimeSpan || !componentState.selectedAvailability);\r\n return (\r\n
    \r\n {clinicianIsNotAvailable && (\r\n
    * The selected clinician cannot be assigned to this visit.
    \r\n )}\r\n
    \r\n
    \r\n {\r\n setActiveTreatmentInstanceForCopy(null);\r\n }}\r\n >\r\n Back\r\n \r\n
    \r\n
    \r\n {!unassignedTreatmentInstance ? (\r\n {\r\n copyAssignedTreatment();\r\n }}\r\n >\r\n Save\r\n \r\n ) : (\r\n {\r\n copyTreatment();\r\n }}\r\n >\r\n Save\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}}\r\n onClose={() => {\r\n setActiveTreatmentInstanceForCopy(null);\r\n }}\r\n >\r\n
    \r\n {headerInfo()}\r\n {!unassignedTreatmentInstance && mainContent()}\r\n {actionButtons()}\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport { useDispatch } from 'react-redux';\r\nimport Popover from '@material-ui/core/Popover';\r\nimport PaletteIcon from '@material-ui/icons/Palette';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport AddCircle from '@material-ui/icons/AddCircle';\r\nimport clsx from 'clsx';\r\nimport useTimeline from '../timeline/useTimeline';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { parseDateUtc } from '../../../utils/dates';\r\nimport { setAutoAllocationLogSetting } from '../../../actions/areas/dailyPlanning/autoAllocate';\r\nimport { setLiveTrackingSetting } from '../../../actions/areas/dailyPlanning/moreOptions';\r\nimport { PopoverStyle } from '../../../theme/AllocateBaseTheme';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\nconst optionsList = [\r\n { label: locale.getMsg('liveTracking'), isChecked: true },\r\n { label: locale.getMsg('createLog'), isChecked: false },\r\n];\r\n\r\nexport function MoreOptionsDialog({\r\n open,\r\n anchorEl,\r\n handleClose,\r\n showLiveTracking,\r\n clinicianModal,\r\n selectedDate,\r\n canAddNpa,\r\n showAddNpaForm,\r\n}) {\r\n const [options, setOptions] = useState([]);\r\n const dispatch = useDispatch();\r\n const { toggleFlag } = useTimeline();\r\n const today = parseDateUtc(new Date()).format(globals.dateFormats.date);\r\n\r\n useEffect(() => {\r\n const mappedList = optionsList.reduce((acc, item) => {\r\n if (!showLiveTracking && item.label === locale.getMsg('liveTracking')) return acc;\r\n return { ...acc, [item.label]: item.isChecked };\r\n }, {});\r\n setOptions(mappedList);\r\n }, [showLiveTracking]);\r\n\r\n const toggleListItemClick = key => {\r\n const updatedList = {\r\n ...options,\r\n [key]: !options[key],\r\n };\r\n if (key === locale.getMsg('liveTracking')) dispatch(setLiveTrackingSetting(!options[key]));\r\n\r\n if (key === locale.getMsg('createLog')) {\r\n dispatch(setAutoAllocationLogSetting(!options[key]));\r\n }\r\n setOptions(updatedList);\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n {canAddNpa && selectedDate >= today && (\r\n showAddNpaForm()}>\r\n
    \r\n \r\n \r\n \r\n Add NPA\r\n
    \r\n
    \r\n )}\r\n toggleFlag('showLegend')}>\r\n
    \r\n \r\n \r\n \r\n Palette Legend\r\n
    \r\n
    \r\n {Object.keys(options).map(op => (\r\n toggleListItemClick(op)} key={op} className=\"list-item-without-padding\">\r\n \r\n \r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { Box } from '@material-ui/core';\r\n\r\n// eslint-disable-next-line react/prefer-stateless-function\r\n// eslint-disable-next-line react/prop-types\r\nexport default function SumaryHourStats({ summaryHours }) {\r\n const hourStatRender = (item, index) => (\r\n \r\n {item.duration.hours}\r\n h \r\n {item.duration.minutes}\r\n m\r\n
    {item.name}
    \r\n
    \r\n );\r\n\r\n return summaryHours !== null ? {summaryHours.map(hourStatRender)} : null;\r\n}\r\n","/* eslint-disable no-nested-ternary */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { IconButton, Box, Tooltip } from '@material-ui/core';\r\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\r\nimport DirectionsCarIcon from '@material-ui/icons/DirectionsCar';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Button from '@material-ui/core/Button';\r\nimport SelectAllIcon from '@material-ui/icons/SelectAll';\r\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\r\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\r\nimport RefreshIcon from '@material-ui/icons/Refresh';\r\nimport GroupIcon from '@material-ui/icons/Group';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport SubjectIcon from '@material-ui/icons/Subject';\r\nimport SummaryHourStats from './SummaryHourStats';\r\nimport { Filters } from '../Filters/Filters';\r\nimport AdvancedFilters from '../Filters/AdvanceFilters/AdvanceFiltersContainer';\r\nimport ErrorNotification from '../ErrorNotification/ErrorNotification';\r\nimport ClinicianGroupsOnDay from './ClinicianGroups/ClinicianGroupsOnDay';\r\nimport AutoAllocatePage from './AutoAllocation/AutoAllocatePage';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { parseDateUtc, isTodaysDate } from '../../../utils/dates';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport _ from '../../../utils/lodash';\r\nimport TimelineView from '../timeline/TimelineView';\r\nimport ConfirmationDialog from '../../PageStructure/ConfirmationDialog';\r\nimport TimelineLegend from '../timeline/TimelineLegend';\r\nimport NonBlockingLoader from '../../common/Loading/NonBlockingLoader';\r\nimport BlockingLoader from '../../common/Loading/BlockingLoader';\r\nimport useTimeline from '../timeline/useTimeline';\r\nimport {\r\n autoUnallocate,\r\n selectDateAndUpdate,\r\n setLiveTrackingSetting,\r\n resetRunningAutoAllocate,\r\n} from '../../../actions/areas/dailyPlanning';\r\nimport { autoAllocationStatuses } from '../../../settings/constants';\r\nimport { MoreOptionsDialog } from './MoreOptionsDialog';\r\nimport AutoAllocateForm from './AutoAllocateForm';\r\nimport AddNpaPlanningForm from '../ClinicianView/AddNpaPlanningForm';\r\n\r\nconst useStyles = makeStyles({\r\n clinicianPopModal: {\r\n backgroundColor: '#333333',\r\n color: '#fff',\r\n padding: '5px',\r\n minWidth: '135px',\r\n },\r\n});\r\n\r\nconst AUTO_ALLOCATE_STATUS_CHANGE_INTERVAL = 30000;\r\nconst autoAllocateText = 'Auto Allocate is in progress for this unit';\r\nconst unallocateText = 'Unallocating is in progress for this unit';\r\nconst bulkCancelText = 'Bulk Cancel is in progress for this unit';\r\n\r\nexport default function TimelineScheduler({ settings }) {\r\n if (settings === null) return null;\r\n const faList = useSelector(store => store.global.auth.featureAccessList);\r\n const dispatch = useDispatch();\r\n const [showMoreAnchor, setShowMoreAnchor] = useState(null);\r\n const classes = useStyles();\r\n const {\r\n getFlag,\r\n toggleFlag,\r\n setFlagAndClinician,\r\n toggleEditMode,\r\n resetContext,\r\n startLiveTrackingInterval,\r\n stopLiveTrackingInterval,\r\n setAlertMessage,\r\n } = useTimeline();\r\n\r\n const [componentState, setComponentState] = useState({\r\n showConfirmationDialog: false,\r\n display: false,\r\n showClinicianGroupsOnDayPanel: false,\r\n showAutoAllocateLogsPanel: false,\r\n showAutoAllocateForm: false,\r\n showAddNpaForm: false,\r\n disableDayNavigationButtons: false,\r\n });\r\n const [showAdvanceFiltersState, setShowAdvanceFiltersState] = useState(false);\r\n const [clinicianTreatmentInstances, setClinicianTreatmentInstances] = useState([]);\r\n const [isClinicianTreatmentInstancesDataLoading, setIsClinicianTreatmentInstancesDataLoading] = useState(false);\r\n const [hasInstancesChanged, setHasInstancesChanged] = useState(false);\r\n const [shouldResetAdvanceFilter, setShouldResetAdvanceFilter] = useState(false);\r\n const [filteredInstances, setFilteredInstances] = useState({\r\n isAdvanceFilterActive: false,\r\n shouldFilterAssignments: false,\r\n filteredTreatmentInstances: [],\r\n filteredAssignments: [],\r\n filteredCancelledTreatmentInstances: [],\r\n filteredClinicianTreatmentInstances: [],\r\n });\r\n\r\n const [autoAllocateState, setAutoAllocateState] = useState({ modes: [], groupsToExclude: [] });\r\n const [autoAllocateIntervalId, setAutoAllocateIntervalId] = useState(null);\r\n\r\n const isNightMode = useSelector(state => state.areas.dailyPlanning.scheduler.isNightMode);\r\n const isLiveTracking = useSelector(state => state.areas.dailyPlanning.moreOptions.liveTracking);\r\n const selectedDate = useSelector(state => state.areas.dailyPlanning.selectedDate);\r\n const orgUnitId = useSelector(state => state.areas.dailyPlanning.filters.selectedTeam);\r\n const orgUnitTeamId = useSelector(state => state.areas.dailyPlanning.filters.orgUnitTeam);\r\n const isBulkCancelInProgress = useSelector(state => state.areas.dailyPlanning.moreOptions.isBulkCancelInProgress);\r\n const canAllocateWork = checkFeatureAccess(faList, globals.applicationFeatureAccesses.canAllocateWork);\r\n const canAddNpa = checkFeatureAccess(faList, globals.applicationFeatureAccesses.canSetUpTeamMeetings);\r\n\r\n const autoAllocateInProgress = useSelector(state => state.areas.dailyPlanning.autoAllocate.autoAllocateInProgress);\r\n const autoAllocateByUnit = _.find(\r\n autoAllocateInProgress,\r\n item => item.orgUnitId === orgUnitId && item.date === selectedDate,\r\n );\r\n const autoAllocateDate = autoAllocateByUnit ? autoAllocateByUnit.date : null;\r\n const autoAllocateUnit = autoAllocateByUnit ? autoAllocateByUnit.orgUnitId : 0;\r\n const autoAllocateStatus = autoAllocateByUnit ? autoAllocateByUnit.status : 'Idle';\r\n const isUnallocating = autoAllocateByUnit ? autoAllocateByUnit.isUnAllocating : false;\r\n const hasData = settings.dataItems.length > 0;\r\n const onDate = parseDateUtc(selectedDate);\r\n\r\n const isAutoAllocateTrackingIntervalSet = () => autoAllocateIntervalId !== null;\r\n\r\n const isAutoAllocateStatusNotIdleForSelectedDateAndUnit = () =>\r\n (autoAllocateStatus !== autoAllocationStatuses.IDLE || isUnallocating) &&\r\n autoAllocateDate === selectedDate &&\r\n autoAllocateUnit === orgUnitId;\r\n\r\n const trackAutoAllocateByFetchingPlanningDetails = (startTrackingCondition, stopTrackingCondition) => {\r\n if (startTrackingCondition) {\r\n const intervalId = setInterval(() => settings.toggleForceRefresh(), AUTO_ALLOCATE_STATUS_CHANGE_INTERVAL);\r\n setAutoAllocateIntervalId(intervalId);\r\n } else if (stopTrackingCondition) {\r\n clearInterval(autoAllocateIntervalId);\r\n if (isAutoAllocateStatusNotIdleForSelectedDateAndUnit()) {\r\n dispatch(resetRunningAutoAllocate({ date: selectedDate, orgUnitId }));\r\n }\r\n setAutoAllocateIntervalId(null);\r\n }\r\n };\r\n\r\n const isAutoallocateInProgress = hasData && isAutoAllocateStatusNotIdleForSelectedDateAndUnit();\r\n\r\n const autoAllocateInProgressAndIntervalNotSet = () =>\r\n settings.isAutoallocateInProgress && !isAutoAllocateTrackingIntervalSet();\r\n\r\n const autoAllocateDoneAndIntervalSet = () =>\r\n !settings.isAutoallocateInProgress && isAutoAllocateTrackingIntervalSet();\r\n\r\n trackAutoAllocateByFetchingPlanningDetails(\r\n autoAllocateInProgressAndIntervalNotSet(),\r\n autoAllocateDoneAndIntervalSet(),\r\n );\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (isAutoAllocateTrackingIntervalSet()) {\r\n clearInterval(autoAllocateIntervalId);\r\n }\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (settings.error) setAlertMessage({ message: settings.error });\r\n }, [settings.error]);\r\n\r\n useEffect(() => {\r\n if (\r\n !settings.isAutoallocateInProgress &&\r\n isAutoAllocateTrackingIntervalSet() &&\r\n isAutoAllocateStatusNotIdleForSelectedDateAndUnit()\r\n ) {\r\n dispatch(resetRunningAutoAllocate({ date: selectedDate, orgUnitId }));\r\n }\r\n }, [settings.isAutoallocateInProgress, autoAllocateStatus]);\r\n\r\n useEffect(() => {\r\n startLiveTrackingInterval(settings.toggleForceRefresh);\r\n return () => stopLiveTrackingInterval();\r\n }, [isLiveTracking, selectedDate]);\r\n\r\n useEffect(() => {\r\n if (filteredInstances.isAdvanceFilterActive) {\r\n setHasInstancesChanged(true);\r\n }\r\n if (!getFlag('showClinicianTreatments')) {\r\n setIsClinicianTreatmentInstancesDataLoading(false);\r\n }\r\n }, [settings.treatmentInstances, clinicianTreatmentInstances]);\r\n\r\n const onAutoUnallocate = () => setComponentState({ ...componentState, showConfirmationDialog: true });\r\n\r\n const handleAutoUnallocateCancel = () => {\r\n setComponentState({ ...componentState, showConfirmationDialog: false, showAutoAllocateForm: false });\r\n };\r\n\r\n const autoAllocateCallback = () => {\r\n resetContext();\r\n settings.toggleForceRefresh();\r\n startLiveTrackingInterval(settings.toggleForceRefresh);\r\n setComponentState({ ...componentState, showAutoAllocateForm: false, showConfirmationDialog: false });\r\n };\r\n\r\n const handleAutoUnallocateConfirm = () => {\r\n stopLiveTrackingInterval();\r\n dispatch(autoUnallocate({ date: selectedDate, orgUnitId, isNightMode, orgUnitTeamId }))\r\n .then(autoAllocateCallback)\r\n .catch(autoAllocateCallback);\r\n handleAutoUnallocateCancel();\r\n };\r\n\r\n function handleDayChange(isNextDay) {\r\n const currentDay = isNextDay ? onDate.add(1, 'days') : onDate.subtract(1, 'days');\r\n const newSelectedDate = parseDateUtc(currentDay).format(globals.dateFormats.date);\r\n setComponentState({ ...componentState, disableDayNavigationButtons: true, showAutoAllocateForm: false });\r\n\r\n dispatch(setLiveTrackingSetting(isTodaysDate(newSelectedDate)));\r\n dispatch(selectDateAndUpdate(newSelectedDate));\r\n setTimeout(() => {\r\n setFlagAndClinician('showClinicianTreatments', false, 0, 0, ['enableMultipleSelection']);\r\n setComponentState({ ...componentState, disableDayNavigationButtons: false });\r\n }, 500);\r\n }\r\n\r\n const shouldDisableAutoAllocateUnAllocate = () => {\r\n if (settings.period === null) return true;\r\n if (settings.isUpdateTriggered) return true;\r\n if (parseDateUtc(settings.period.startDate).isSameOrAfter(parseDateUtc(globals.now))) {\r\n return false;\r\n }\r\n return !parseDateUtc(globals.now).isBetween(\r\n parseDateUtc(settings.period.startDate),\r\n parseDateUtc(settings.period.endDate),\r\n );\r\n };\r\n\r\n const getClinicianTreatmentInstances = (treatmentInstances, IsClinicianTreatmentInstancesDataLoading) => {\r\n if (!IsClinicianTreatmentInstancesDataLoading) {\r\n setClinicianTreatmentInstances(treatmentInstances);\r\n }\r\n setIsClinicianTreatmentInstancesDataLoading(IsClinicianTreatmentInstancesDataLoading);\r\n };\r\n\r\n const functionLoadingRender = () => (\r\n \r\n {isBulkCancelInProgress ? bulkCancelText : isUnallocating ? unallocateText : autoAllocateText}\r\n \r\n );\r\n\r\n const timelineContentRender = () => (\r\n
    \r\n
    \r\n \r\n
    \r\n {getFlag('showLegend') && }\r\n
    \r\n );\r\n\r\n const useBlockingLoader = isAutoallocateInProgress || settings.isAutoallocateInProgress || isBulkCancelInProgress;\r\n\r\n const shouldHideClinician = index => settings.dataItems[index].activities.availabilities.length === 0;\r\n const clinicians = settings.clinicians.filter((item, i) => !shouldHideClinician(i));\r\n\r\n const renderNonBlockingLoader = () => {\r\n if (\r\n settings.isUpdateTriggered &&\r\n (!isAutoAllocateTrackingIntervalSet() ||\r\n (isAutoAllocateTrackingIntervalSet() && componentState.disableDayNavigationButtons))\r\n ) {\r\n return ;\r\n }\r\n return ;\r\n };\r\n\r\n const toggleAddNPAForm = () => {\r\n setShowMoreAnchor(null);\r\n setComponentState({ ...componentState, showAddNpaForm: !componentState.showAddNpaForm });\r\n };\r\n\r\n function toggleAdvancedFilters() {\r\n setShowAdvanceFiltersState(!showAdvanceFiltersState);\r\n }\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n handleDayChange(false)}\r\n >\r\n \r\n \r\n handleDayChange(true)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {onDate.format('dddd')}\r\n \r\n \r\n {onDate.format('MMMM')}\r\n \r\n \r\n \r\n \r\n {onDate.format('Do')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!useBlockingLoader && (\r\n \r\n
    \r\n \r\n \r\n {canAllocateWork && (\r\n \r\n
    \r\n {getFlag('isEditMode') ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n setComponentState({ ...componentState, showClinicianGroupsOnDayPanel: true })\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n setComponentState({ ...componentState, showAutoAllocateForm: true })}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n setComponentState({ ...componentState, showAutoAllocateLogsPanel: true })\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n {getFlag('showTravelTime') ? (\r\n \r\n toggleFlag('showTravelTime')}\r\n >\r\n \r\n \r\n \r\n ) : (\r\n \r\n toggleFlag('showTravelTime')}\r\n >\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n {settings.isUpdateTriggered && }\r\n {!settings.isUpdateTriggered && (\r\n \r\n {\r\n setShouldResetAdvanceFilter(true);\r\n settings.toggleForceRefresh();\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n
    \r\n\r\n \r\n setShowMoreAnchor(event.target)}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n setShowMoreAnchor(null)}\r\n selectedDate={selectedDate}\r\n canAddNpa={canAddNpa}\r\n />\r\n {componentState.showClinicianGroupsOnDayPanel && (\r\n setComponentState({ ...componentState, showClinicianGroupsOnDayPanel: false })}\r\n onSave={groupsToExclude => {\r\n setComponentState({ ...componentState, showClinicianGroupsOnDayPanel: false });\r\n setAutoAllocateState({ ...autoAllocateState, groupsToExclude });\r\n }}\r\n excludedGroups={autoAllocateState.groupsToExclude}\r\n />\r\n )}\r\n {componentState.showAutoAllocateLogsPanel && (\r\n setComponentState({ ...componentState, showAutoAllocateLogsPanel: false })}\r\n />\r\n )}\r\n {componentState.showAutoAllocateForm && (\r\n setComponentState({ ...componentState, showAutoAllocateForm: false })}\r\n />\r\n )}\r\n {componentState.showAddNpaForm && (\r\n {\r\n setComponentState({ ...componentState, showAddNpaForm: false });\r\n }}\r\n resetAndReload={() => settings.toggleForceRefresh()}\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n {useBlockingLoader && functionLoadingRender()}\r\n {timelineContentRender()}\r\n\r\n {renderNonBlockingLoader()}\r\n \r\n
    \r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Button from '@material-ui/core/Button';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\n\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport { updateTreatmentInstance } from '../../../../actions/entities';\r\nimport { getVisibleOrgUnits } from '../../../../actions/areas/planner';\r\nimport { DropdownFilter } from '../../../Planner/Filters/DropdownFilter';\r\nimport { selectionTypes } from '../../../../enums/treatmentSelectionType';\r\nimport { getDateForApi } from '../../../../utils/dates';\r\n\r\nexport default function ChangeTreatmentUnit({ treatmentDetails, toggleRefresh, includeTreatments }) {\r\n const [orgUnit, setOrgUnit] = useState(null);\r\n const [availbaleOrgUnits, setAvailableOrgUnits] = useState([]);\r\n\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n activeUnassignedTreatmentForChangeUnit,\r\n setActiveUnassignedTreatmentForChangeUnit,\r\n refreshClinicianTreatmentsAndClosePanels,\r\n getAccessToken,\r\n } = useTimeline();\r\n\r\n useEffect(() => {\r\n getVisibleOrgUnits(\r\n getAccessToken,\r\n { RelevantDay: getDateForApi(treatmentDetails.treatmentInstance.occurrence) },\r\n false,\r\n response => {\r\n setAvailableOrgUnits(response);\r\n },\r\n );\r\n }, []);\r\n\r\n const selectionType = () => {\r\n if (treatmentDetails.treatment.isSpecific) return selectionTypes.specific;\r\n if (treatmentDetails.treatment.isMultiple) return selectionTypes.multiple;\r\n return selectionTypes.timeSlot;\r\n };\r\n\r\n const recheduleUnassignedTreatmentInstance = () => {\r\n let updatedTreatment = {};\r\n const treatmentInstance = treatmentDetails.treatmentInstance;\r\n if (selectionType() === selectionTypes.specific) {\r\n updatedTreatment = {\r\n treatmentId: treatmentInstance.treatmentId,\r\n treatmentInstanceId: treatmentInstance.treatmentInstanceId,\r\n isSpecific: true,\r\n occurenceOriginalDate: getDateForApi(treatmentInstance.occurrence),\r\n specificTimeFrom: getDateForApi(treatmentInstance.effectiveTimeSlots[0].from),\r\n };\r\n } else {\r\n updatedTreatment = {\r\n treatmentId: treatmentInstance.treatmentId,\r\n treatmentInstanceId: treatmentInstance.treatmentInstanceId,\r\n isSpecific: false,\r\n occurenceOriginalDate: getDateForApi(treatmentInstance.occurrence),\r\n timeSlotsMatrix: treatmentInstance.selectedTimeSlots,\r\n timeSlotPackageId: treatmentInstance.timeSlotPackage.id,\r\n };\r\n }\r\n updatedTreatment.orgUnitIds = [orgUnit];\r\n dispatch(updateTreatmentInstance(updatedTreatment)).then(() => {\r\n refreshClinicianTreatmentsAndClosePanels();\r\n if (includeTreatments) toggleRefresh();\r\n });\r\n };\r\n\r\n const headerInfo = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n Change unit\r\n \r\n
    \r\n
    \r\n
    \r\n {activeUnassignedTreatmentForChangeUnit.patientName}\r\n \r\n {activeUnassignedTreatmentForChangeUnit.postcode}\r\n \r\n {activeUnassignedTreatmentForChangeUnit.band}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const mainContent = () => {\r\n return (\r\n
    \r\n \r\n \r\n Current unit:\r\n \r\n

    {treatmentDetails.treatmentInstance.orgUnit.name}

    \r\n
    \r\n \r\n \r\n Select a unit\r\n \r\n \r\n setOrgUnit(value)}\r\n />\r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const actionButtons = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {\r\n setActiveUnassignedTreatmentForChangeUnit(null);\r\n }}\r\n >\r\n Back\r\n \r\n
    \r\n
    \r\n \r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}}\r\n onClose={() => setActiveUnassignedTreatmentForChangeUnit(null)}\r\n id=\"lala\"\r\n >\r\n
    \r\n {headerInfo()}\r\n {mainContent()}\r\n {actionButtons()}\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","/* eslint-disable react/jsx-no-comment-textnodes */\r\nimport React, { useState, useEffect } from 'react';\r\nimport classNames from 'classnames';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Box from '@material-ui/core/Box';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport RemoveCircleIcon from '@material-ui/icons/RemoveCircle';\r\nimport LocationOnIcon from '@material-ui/icons/LocationOn';\r\nimport ScheduleIcon from '@material-ui/icons/Schedule';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport PhoneIcon from '@material-ui/icons/Phone';\r\nimport NoteAddIcon from '@material-ui/icons/NoteAdd';\r\n\r\nimport LoadingPageText from '../../../common/Loading/LoadingPageText';\r\nimport PatientDetails from '../../ClinicianView/AssignmentDetails/PatientDetails';\r\nimport TreatmentDetails from './TreatmentDetails';\r\nimport ActivityDetails from '../../ClinicianView/AssignmentDetails/ActivityDetails';\r\nimport CancelTreatment from '../../ClinicianView/CancelTreatment/CancelTreatment';\r\nimport RescheduleTreatment from '../../ClinicianView/UnassignedTreatments/RescheduleTreatment';\r\nimport ChangeTreatmentUnit from '../../ClinicianView/UnassignedTreatments/ChangeTreatmentUnit';\r\nimport ChangeTreatmentNotes from '../ChangeTreatmentNotes/ChangeTreatmentNotes';\r\nimport ConvertTreatmentInstanceType from '../ConvertTreatmentInstanceType/ConvertTreatmentInstanceType';\r\n\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { useFetchUnassignedVisitDetails } from '../../../../actions/areas/planner';\r\nimport { parseDateUtc, isDateInPast } from '../../../../utils/dates';\r\nimport { checkFeatureAccess } from '../../../../utils/helpers';\r\nimport { removeOverrideTreatmentInstance } from '../../../../actions/entities';\r\nimport { getSchedulerPeriod } from '../../timeline/timelineHelper';\r\nimport { VisitType, AuditTrailType } from '../../../../enums';\r\nimport { cardTypes } from '../../../../settings/constants/cardTypes';\r\nimport AuditTrail from '../../../common/AuditTrail/AuditTrail';\r\nimport EditActivitiesDuration from '../../BundleVisit/EditActivitiesDuration';\r\nimport BundleVisitActivities from '../../BundleVisit/BundleVisitActivities';\r\nimport UnbundleTreatment from '../../BundleVisit/UnbundleTreatment';\r\nimport { TreatmentInstanceOccurrenceType } from '../../../../enums/treatmentInstanceOccurrenceType';\r\n\r\nconst locale = globals.getArea('treatments');\r\nconst dailyPlanningLocale = globals.getArea('dailyPlanning');\r\n\r\n// eslint-disable-next-line react/prop-types\r\nexport function ClinicianTreatmentDetails({\r\n refreshGrid,\r\n includeTreatments,\r\n period,\r\n isBundled,\r\n forceRefreshClinicianTreatments,\r\n}) {\r\n const faList = useSelector(store => store.global.auth.featureAccessList);\r\n\r\n const dispatch = useDispatch();\r\n const [state, setState] = useState({ forceRefresh: false, tab: 1, copyButtonDisabled: false });\r\n const selectedDate = useSelector(selState => selState.areas.dailyPlanning.selectedDate);\r\n const isNightMode = useSelector(selState => selState.areas.dailyPlanning.scheduler.isNightMode);\r\n const [showEditDurationPanel, setEditDurationPanel] = useState(false);\r\n const [overiddenDuration, setOveriddenDuration] = useState(null);\r\n const [errorMsg, setErrorMsg] = useState('');\r\n const [showEditDurationButton, setEditDurationButton] = useState(false);\r\n const [showUnbundlePanel, setShowUnbundlePanel] = useState(false);\r\n\r\n const {\r\n activeUnassignedTreatment: assignment,\r\n setActiveUnassignedTreatment,\r\n activeUnassignedTreatmentForCancel,\r\n activeUnassignedTreatmentForReschedule,\r\n activeUnassignedTreatmentForChangeUnit,\r\n setActiveUnassignedTreatmentForCancel,\r\n setActiveUnassignedTreatmentForReschedule,\r\n setActiveUnassignedTreatmentForChangeUnit,\r\n setFlag,\r\n startLiveTrackingInterval,\r\n stopLiveTrackingInterval,\r\n refreshClinicianTreatmentsAndClosePanels,\r\n setActiveTreatmentInstanceForCopy,\r\n setAlertMessage,\r\n getFlag,\r\n getAccessToken,\r\n } = useTimeline();\r\n\r\n if (!assignment) return null;\r\n\r\n const isTreatmentInstanceCancelled = assignment.isCancelled;\r\n\r\n const { data: treatmentDetails, isDataLoading, error } = useFetchUnassignedVisitDetails(\r\n assignment.treatmentInstanceId,\r\n assignment.treatmentId,\r\n assignment.timeSlotId,\r\n selectedDate,\r\n state.forceRefresh,\r\n );\r\n\r\n useEffect(() => {\r\n stopLiveTrackingInterval();\r\n return () => startLiveTrackingInterval();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (treatmentDetails) {\r\n if (isBundled) {\r\n setEditDurationButton(treatmentDetails.treatmentInstance.cardType === cardTypes.MASTER);\r\n }\r\n // eslint-disable-next-line no-use-before-define\r\n if (isBundled || isConvertedVisit) {\r\n setOveriddenDuration(treatmentDetails.treatmentInstance.overriddenDuration);\r\n }\r\n }\r\n\r\n if (error) setAlertMessage({ message: error });\r\n }, [isDataLoading]);\r\n\r\n const canAllocateWork = checkFeatureAccess(faList, globals.applicationFeatureAccesses.canAllocateWork);\r\n\r\n const currentDay = globals.now;\r\n const schedulerPeriod = getSchedulerPeriod(period);\r\n const dayStartHour = isNightMode ? schedulerPeriod.endHour : schedulerPeriod.startHour;\r\n const virtualDate =\r\n currentDay.hour() < dayStartHour ? currentDay.startOf('day').add(-1, 'days') : currentDay.startOf('day');\r\n\r\n const isBehindNow = treatmentDetails\r\n ? parseDateUtc(treatmentDetails.treatmentInstance.occurrence).isBefore(parseDateUtc(virtualDate), 'day')\r\n : true;\r\n\r\n const deleteCopy = () => {\r\n dispatch(removeOverrideTreatmentInstance(assignment.nextCopyForDeletionId)).then(() => {\r\n refreshClinicianTreatmentsAndClosePanels();\r\n if (includeTreatments) refreshGrid();\r\n });\r\n };\r\n\r\n const copyTreatment = () => {\r\n setActiveTreatmentInstanceForCopy(treatmentDetails.treatmentInstance);\r\n };\r\n\r\n const isConvertedVisit =\r\n treatmentDetails &&\r\n treatmentDetails.treatmentInstance.occurrenceType === TreatmentInstanceOccurrenceType.ConvertedFromOnSiteVisit;\r\n\r\n const isSpecific = assignment.isSingleTimeSlot && assignment.treatmentTimeType === 'SpecificTime';\r\n const containerClass = classNames('sidePanel-header', {\r\n 'card-status-red': isSpecific,\r\n 'card-status-amber': assignment.isSingleTimeSlot && !isSpecific,\r\n 'card-status-green': !assignment.isSingleTimeSlot,\r\n 'is-copy': assignment.masterId,\r\n });\r\n\r\n const postcodeClass = classNames('info-text', {\r\n 'is-treatment-address': treatmentDetails !== null && treatmentDetails.treatment.address,\r\n });\r\n\r\n const shouldRenderUnbundleBtn = () => {\r\n return canAllocateWork && isBundled && assignment.masterId == null && !isDateInPast(selectedDate);\r\n };\r\n\r\n const visitCanBeConverted = () => {\r\n return (\r\n !isDateInPast(selectedDate) &&\r\n (treatmentDetails.treatmentInstance.cardType === cardTypes.MASTER ||\r\n treatmentDetails.treatmentInstance.cardType === cardTypes.REVIEW) &&\r\n assignment.visitType === VisitType.OnSite &&\r\n !isBundled &&\r\n assignment.additionalClinician === 0 &&\r\n assignment.numberOfClinicians === 1\r\n );\r\n };\r\n\r\n const headerRender = () => {\r\n const activeDeactiveBtnRender = () => {\r\n if (getFlag('enableMultipleSelection')) return null;\r\n\r\n return (\r\n \r\n {canAllocateWork && !assignment.masterId && !isBundled && (\r\n setActiveUnassignedTreatmentForCancel(assignment)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {canAllocateWork && !isBehindNow && assignment.visitType !== VisitType.PhoneCall && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {canAllocateWork && assignment.nextCopyForDeletionId && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {canAllocateWork && !isConvertedVisit && (\r\n setActiveUnassignedTreatmentForChangeUnit(assignment)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {canAllocateWork && !isBundled && !isConvertedVisit && (\r\n setActiveUnassignedTreatmentForReschedule(assignment)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {canAllocateWork && showEditDurationButton && (\r\n setEditDurationPanel(true)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {shouldRenderUnbundleBtn() && (\r\n setShowUnbundlePanel(true)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {canAllocateWork && !assignment.masterId && (\r\n setFlag('showTreatmentNotesSidePanel', true)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {canAllocateWork && treatmentDetails && visitCanBeConverted() && (\r\n setFlag('showConvertVisitSidePanel', true)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n };\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n {isBundled ? locale.getMsg('unassignedBundleVisit') : locale.getMsg('unassignedVisit')}\r\n {assignment.treatmentInstanceId && #{assignment.treatmentInstanceId}}\r\n \r\n \r\n \r\n setActiveUnassignedTreatment(null)}>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {assignment.patientName}\r\n \r\n \r\n {assignment.band}\r\n
    \r\n
    \r\n \r\n \r\n {assignment.visitType === VisitType.PhoneCall ? (\r\n \r\n \r\n {assignment.contactNumber}\r\n \r\n ) : (\r\n \r\n \r\n {assignment.postcode || ''}\r\n \r\n )}\r\n \r\n \r\n {`${\r\n (isBundled || isConvertedVisit) && overiddenDuration !== null\r\n ? overiddenDuration\r\n : assignment.totalTime\r\n } min`}\r\n \r\n \r\n {((treatmentDetails &&\r\n treatmentDetails.treatment.preferredClinicianId &&\r\n !treatmentDetails.treatmentInstance.masterId === null) ||\r\n (assignment && assignment.preferredClinicianId && assignment.masterId === null)) && (\r\n \r\n \r\n \r\n )}\r\n {treatmentDetails && treatmentDetails.treatmentInstance.runsOvernight && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {treatmentDetails && isBundled && (\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {!isDataLoading && treatmentDetails !== null && treatmentDetails.label}\r\n \r\n \r\n \r\n \r\n \r\n {assignment.additionalClinician > 0\r\n ? `${assignment.numberOfClinicians - assignment.additionalClinician} + ${\r\n assignment.additionalClinician\r\n }`\r\n : assignment.numberOfClinicians}\r\n \r\n \r\n \r\n \r\n {assignment.unassignSourceBySystem && (\r\n \r\n \r\n {assignment.unassignSourceBySystem}\r\n \r\n )}\r\n {assignment.isReviewDate && (\r\n \r\n \r\n \r\n )}\r\n \r\n {treatmentDetails && isConvertedVisit && (\r\n \r\n \r\n {locale.getMsg('converted')}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n {!isTreatmentInstanceCancelled &&
    {activeDeactiveBtnRender()}
    }\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const assignmentDetailsRender = () => {\r\n return (\r\n \r\n
    \r\n \r\n \r\n setState({ tab: value })}\r\n centered\r\n >\r\n \r\n \r\n \r\n {assignment.treatmentInstanceId > 0 && !isTreatmentInstanceCancelled && }\r\n \r\n \r\n \r\n {state.tab === 0 &&\r\n (!isBundled ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n

    {errorMsg}

    \r\n
    \r\n \r\n
    \r\n ))}\r\n {state.tab === 1 && treatmentDetails !== null && (\r\n \r\n \r\n \r\n )}\r\n {state.tab === 2 && treatmentDetails !== null && !isBundled && (\r\n \r\n \r\n \r\n )}\r\n {state.tab === 3 && assignment.treatmentInstanceId > 0 && !isTreatmentInstanceCancelled && (\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {}}\r\n onClose={() => {}}\r\n ModalProps={{\r\n onBackdropClick: () => setActiveUnassignedTreatment(null),\r\n }}\r\n >\r\n
    \r\n {headerRender()}\r\n {!isDataLoading ? (\r\n assignmentDetailsRender()\r\n ) : (\r\n Wait a moment while we gather treatment info...\r\n )}\r\n
    \r\n \r\n
    \r\n {activeUnassignedTreatmentForCancel !== null && treatmentDetails.treatmentInstance !== null && (\r\n \r\n )}\r\n {activeUnassignedTreatmentForReschedule !== null && treatmentDetails && (\r\n \r\n )}\r\n {activeUnassignedTreatmentForChangeUnit !== null && treatmentDetails && (\r\n \r\n )}\r\n {showEditDurationPanel && showEditDurationButton && (\r\n \r\n )}\r\n {showUnbundlePanel && (\r\n {\r\n setShowUnbundlePanel(false);\r\n forceRefreshClinicianTreatments();\r\n refreshClinicianTreatmentsAndClosePanels();\r\n if (includeTreatments) {\r\n refreshGrid();\r\n }\r\n }}\r\n onBack={() => setShowUnbundlePanel(false)}\r\n treatmentInstanceId={assignment.treatmentInstanceId}\r\n />\r\n )}\r\n {getFlag('showTreatmentNotesSidePanel') === true && treatmentDetails && (\r\n \r\n )}\r\n {getFlag('showConvertVisitSidePanel') === true && treatmentDetails && (\r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Button from '@material-ui/core/Button';\r\nimport moment from 'moment';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { updateTreatmentInstance } from '../../../../actions/entities';\r\nimport { getMovedReasons } from '../../../../actions/areas/planner';\r\nimport { DropdownFilter } from '../../../Planner/Filters/DropdownFilter';\r\nimport { selectionTypes } from '../../../../enums/treatmentSelectionType';\r\nimport { getDateForApi, parseShortDateTime } from '../../../../utils/dates';\r\n\r\nconst TextFieldComponent = props => {\r\n return ;\r\n};\r\nconst riskMaxLength = 500;\r\n\r\nexport default function RescheduleTreatment({ treatmentDetails, toggleRefresh, includeTreatments }) {\r\n const originalDate = new Date(treatmentDetails.treatmentInstance.occurrence);\r\n const [componentState, setComponentState] = useState({\r\n selectedDate: new Date(treatmentDetails.treatmentInstance.occurrence),\r\n movedReasons: [],\r\n movedReason: { id: 0, name: '' },\r\n riskAssesment: '',\r\n disableFields: true,\r\n error: '',\r\n });\r\n const isMaster = treatmentDetails.treatmentInstance.masterId === null;\r\n\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n activeUnassignedTreatmentForReschedule,\r\n setActiveUnassignedTreatmentForReschedule,\r\n refreshClinicianTreatmentsAndClosePanels,\r\n getAccessToken,\r\n } = useTimeline();\r\n const locale = globals.getArea('treatments');\r\n const errorsLocale = globals.getArea('error');\r\n\r\n const selectionType = () => {\r\n if (treatmentDetails.treatment.isSpecific) return selectionTypes.specific;\r\n if (treatmentDetails.treatment.isMultiple) return selectionTypes.multiple;\r\n return selectionTypes.timeSlot;\r\n };\r\n\r\n const recheduleUnassignedTreatmentInstance = () => {\r\n let updatedTreatment = {};\r\n const treatmentInstance = treatmentDetails.treatmentInstance;\r\n if (selectionType() === selectionTypes.specific) {\r\n updatedTreatment = {\r\n treatmentId: treatmentInstance.treatmentId,\r\n treatmentInstanceId: treatmentInstance.treatmentInstanceId,\r\n isSpecific: true,\r\n occurenceOriginalDate: getDateForApi(treatmentInstance.occurrence),\r\n specificTimeFrom: getDateForApi(treatmentInstance.effectiveTimeSlots[0].from),\r\n };\r\n } else {\r\n updatedTreatment = {\r\n treatmentId: treatmentInstance.treatmentId,\r\n treatmentInstanceId: treatmentInstance.treatmentInstanceId,\r\n isSpecific: false,\r\n occurenceOriginalDate: getDateForApi(treatmentInstance.occurrence),\r\n timeSlotsMatrix: treatmentInstance.selectedTimeSlots,\r\n timeSlotPackageId: treatmentInstance.timeSlotPackage.id,\r\n };\r\n }\r\n updatedTreatment.occurenceDate = getDateForApi(componentState.selectedDate);\r\n updatedTreatment.movedReasonId = componentState.movedReason;\r\n updatedTreatment.movedRiskAssessment = componentState.riskAssesment;\r\n dispatch(updateTreatmentInstance(updatedTreatment)).then(() => {\r\n refreshClinicianTreatmentsAndClosePanels();\r\n if (includeTreatments) toggleRefresh();\r\n });\r\n };\r\n\r\n const handleDateChange = date => {\r\n const nowAt = globals.now;\r\n const valueAt = moment(new Date(date));\r\n const originalDateAt = moment(originalDate);\r\n const dateAt = moment(treatmentDetails.maximumPossibleDate);\r\n const exactAt = moment(treatmentDetails.treatmentInstance.occurrence);\r\n\r\n let error = '';\r\n\r\n const isInPresentOrFutureOrExact =\r\n valueAt.isSame(nowAt, 'day') || valueAt.isAfter(nowAt) || valueAt.isSame(exactAt, 'day');\r\n if (!isInPresentOrFutureOrExact) error = errorsLocale.getMsg('cannotBeInThePast');\r\n const isSameOrBeforeDate = valueAt.isSameOrBefore(dateAt, 'd');\r\n if (!isSameOrBeforeDate) error = errorsLocale.getMsg('treatmentInstanceDatePastNextOccurenceOrEndDate');\r\n\r\n if (!error.length && !originalDateAt.isSame(valueAt, 'day')) {\r\n if (componentState.movedReasons.length === 0) {\r\n getMovedReasons(getAccessToken, {}, false, response => {\r\n setComponentState({\r\n ...componentState,\r\n selectedDate: date,\r\n error,\r\n disableFields: false,\r\n movedReasons: response,\r\n movedReason: response.length > 0 ? response[0].id : null,\r\n });\r\n });\r\n } else {\r\n setComponentState({\r\n ...componentState,\r\n selectedDate: date,\r\n error,\r\n disableFields: false,\r\n });\r\n }\r\n } else {\r\n setComponentState({\r\n ...componentState,\r\n selectedDate: date,\r\n error,\r\n disableFields: true,\r\n });\r\n }\r\n };\r\n\r\n const headerInfo = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n Reschedule visit\r\n \r\n
    \r\n
    \r\n
    \r\n {activeUnassignedTreatmentForReschedule.patientName}\r\n \r\n {activeUnassignedTreatmentForReschedule.postcode}\r\n \r\n {activeUnassignedTreatmentForReschedule.band}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const mainContent = () => {\r\n return (\r\n
    \r\n \r\n \r\n \r\n Original Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Reschedule Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n Rescheduling reason\r\n \r\n \r\n {componentState.error.length > 0 ? (\r\n \r\n {componentState.error}\r\n \r\n ) : (\r\n ''\r\n )}\r\n setComponentState({ ...componentState, movedReason: value })}\r\n />\r\n \r\n \r\n \r\n Risk assessment\r\n \r\n riskMaxLength}\r\n helperText={errorsLocale.getMsg('validationMaxLength', [`${riskMaxLength}`])}\r\n onChange={e => setComponentState({ ...componentState, riskAssesment: e.target.value })}\r\n />\r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const actionButtons = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {\r\n setActiveUnassignedTreatmentForReschedule(null);\r\n }}\r\n >\r\n Back\r\n \r\n
    \r\n
    \r\n riskMaxLength\r\n }\r\n onClick={recheduleUnassignedTreatmentInstance}\r\n >\r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}}\r\n onClose={() => setActiveUnassignedTreatmentForReschedule(null)}\r\n >\r\n
    \r\n {headerInfo()}\r\n {mainContent()}\r\n {isMaster && actionButtons()}\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\n\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Box from '@material-ui/core/Box';\r\n\r\nimport { parseShortDateTime, twelveHourTimeFormat, parseShortDateWithTime } from '../../../../utils/dates';\r\nimport recurrenceTypes from '../../../../settings/constants/recurrenceTypes';\r\nimport { TreatmentRecurrenceSlots } from './TreatmentRecurrenceSlots';\r\nimport { selectionTypes } from '../../../../enums/treatmentSelectionType';\r\nimport { MonthOption } from '../../../../enums/monthOption';\r\n\r\nexport default function TreatmentDetails({\r\n treatmentInstance,\r\n treatment,\r\n lastVisitedInfo,\r\n canEdit,\r\n includeTreatments,\r\n refreshGrid,\r\n isAuditDetailsRender,\r\n}) {\r\n const selectionType = () => {\r\n if (treatmentInstance && treatmentInstance.isSpecific) return selectionTypes.specific;\r\n if (treatmentInstance && treatmentInstance.isMultiple) return selectionTypes.multiple;\r\n return selectionTypes.timeSlot;\r\n };\r\n const isMonthlyReccurence = treatment.recurrenceType === recurrenceTypes.MONTHLY;\r\n const treatmentDetailsRender = () => {\r\n return (\r\n \r\n {!isAuditDetailsRender && (\r\n
    \r\n
    \r\n \r\n Last Visited\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {treatment.description !== '' && (\r\n
    \r\n \r\n Treatment Description\r\n \r\n
    {treatment.description}
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isAuditDetailsRender && treatmentInstance.notes && treatmentInstance.notes !== '' && (\r\n
    \r\n \r\n Treatment Instance Notes\r\n \r\n \r\n {treatmentInstance.notes}\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n Treatment details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {selectionType() === selectionTypes.specific && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isMonthlyReccurence && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {isMonthlyReccurence && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {isMonthlyReccurence && MonthOption[treatment.monthlyRecurrenceType] === MonthOption.WeekOfTheMonth && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {!isAuditDetailsRender && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const treatmentAddressRender = () => {\r\n return (\r\n
    \r\n \r\n Alternative Address\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const personaliseTreatment = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n Personalise Treatment\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n \r\n {treatmentDetailsRender()}\r\n {treatment.address && treatmentAddressRender()}\r\n {personaliseTreatment()}\r\n {!isAuditDetailsRender && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","/* eslint-disable react/no-array-index-key */\r\nimport React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport Button from '@material-ui/core/Button';\r\nimport Box from '@material-ui/core/Box';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport RemoveIcon from '@material-ui/icons/Remove';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport { MuiPickersUtilsProvider, KeyboardTimePicker } from '@material-ui/pickers';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport naturalCompare from 'natural-compare-lite';\r\n\r\nimport { startEndTimeDisplay, getDateForApi } from '../../../../utils/dates';\r\nimport recurrenceTypes from '../../../../settings/constants/recurrenceTypes';\r\nimport { updateTreatmentInstance } from '../../../../actions/entities';\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport TreatmentImportStatusCheck from '../../../common/Integration/Integration';\r\nimport { DaysOfWeek, selectionTypes } from '../../../../enums';\r\n\r\nconst TextFieldComponent = props => {\r\n return ;\r\n};\r\n\r\nexport function TreatmentRecurrenceSlots({ treatment, treatmentInstance, canEdit, includeTreatments, refreshGrid }) {\r\n const [editModeEnabled, setEditMode] = useState(false);\r\n const [selectedDate, setSelectedDate] = useState(new Date(treatmentInstance.effectiveTimeSlots[0].from));\r\n const [selectedSlots, setSelectedSlots] = useState(Object.values(treatmentInstance.selectedTimeSlots)[0]);\r\n const dispatch = useDispatch();\r\n const { refreshClinicianTreatmentsAndClosePanels } = useTimeline();\r\n\r\n const isImportedFromSystmOne = TreatmentImportStatusCheck(treatment);\r\n\r\n const daysOfWeekArray = Object.values(DaysOfWeek);\r\n const isDailyReccurence =\r\n treatment.recurrenceType === recurrenceTypes.DISABLED ||\r\n treatment.recurrenceType === recurrenceTypes.DAILY ||\r\n treatment.recurrenceType === recurrenceTypes.MONTHLY;\r\n const columnLength = isDailyReccurence ? ['Daily'] : daysOfWeekArray;\r\n const isMaster = treatmentInstance.masterId === null;\r\n const getDayIndex = day => (day === 0 ? 6 : day - 1);\r\n\r\n const selectionType = () => {\r\n if (treatment.isSpecific) return selectionTypes.specific;\r\n if (treatment.isMultiple) return selectionTypes.multiple;\r\n return selectionTypes.timeSlot;\r\n };\r\n\r\n const handleCancel = () => {\r\n setEditMode(!editModeEnabled);\r\n if (selectionType() === selectionTypes.specific) {\r\n setSelectedDate(new Date(treatmentInstance.effectiveTimeSlots[0].from));\r\n } else {\r\n setSelectedSlots(Object.values(treatmentInstance.selectedTimeSlots)[0]);\r\n }\r\n };\r\n\r\n const handleSave = () => {\r\n let updatedTreatment = {};\r\n if (selectionType() === selectionTypes.specific) {\r\n updatedTreatment = {\r\n treatmentId: treatment.id,\r\n treatmentInstanceId: treatmentInstance.treatmentInstanceId,\r\n isSpecific: true,\r\n occurenceOriginalDate: getDateForApi(treatmentInstance.occurrence),\r\n specificTimeFrom: getDateForApi(selectedDate),\r\n };\r\n } else {\r\n const selectedTimeSlots = { ...selectedSlots };\r\n Object.keys(selectedTimeSlots).forEach(tsKey => {\r\n if (!selectedTimeSlots[tsKey]) delete selectedTimeSlots[tsKey];\r\n });\r\n updatedTreatment = {\r\n treatmentId: treatment.id,\r\n treatmentInstanceId: treatmentInstance.treatmentInstanceId,\r\n isSpecific: false,\r\n occurenceOriginalDate: getDateForApi(treatmentInstance.occurrence),\r\n timeSlotsMatrix: { 0: selectedTimeSlots },\r\n timeSlotPackageId: treatmentInstance.timeSlotPackage.id,\r\n };\r\n }\r\n dispatch(updateTreatmentInstance(updatedTreatment)).then(() => {\r\n refreshClinicianTreatmentsAndClosePanels();\r\n if (includeTreatments) refreshGrid();\r\n });\r\n };\r\n\r\n const handleTimeSlotSelectionChange = slotId => {\r\n if (editModeEnabled) {\r\n const selectedTimeSlots = { ...selectedSlots };\r\n if (selectedTimeSlots[slotId]) delete selectedTimeSlots[slotId];\r\n else {\r\n selectedTimeSlots[slotId] = true;\r\n }\r\n setSelectedSlots(selectedTimeSlots);\r\n }\r\n };\r\n\r\n const handleDateChange = date => {\r\n setSelectedDate(date);\r\n };\r\n\r\n const treatmentRecurrenceSpecificRender = () => {\r\n return (\r\n
    \r\n
    Reccurence pattern
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {canEdit && !editModeEnabled && isMaster && selectionType() !== selectionTypes.multiple && (\r\n setEditMode(!editModeEnabled)}\r\n >\r\n Edit\r\n \r\n )}\r\n \r\n \r\n {editModeEnabled && (\r\n \r\n )}\r\n \r\n \r\n {editModeEnabled && (\r\n \r\n Save\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n {treatment.recurrenceType === recurrenceTypes.WEEKLY && Object.keys(treatment.selectedDays).length > 0 && (\r\n
    \r\n \r\n {daysOfWeekArray.map((day, index) => (\r\n \r\n {day}\r\n
    \r\n \r\n {treatment.selectedDays[index] && treatment.selectedDays[index][1] ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n };\r\n\r\n const treatmentRecurrenceSlotsRender = () => {\r\n const allSelected = treatmentInstance.timeSlotPackage.timeSlots.length === Object.keys(selectedSlots).length;\r\n const handleSelectAll = () => {\r\n if (!allSelected) {\r\n const updatedTimeslots = treatmentInstance.timeSlotPackage.timeSlots.reduce((arr, curr) => {\r\n return { ...arr, [curr.id]: true };\r\n }, {});\r\n setSelectedSlots(updatedTimeslots);\r\n } else {\r\n setSelectedSlots({});\r\n }\r\n };\r\n\r\n return treatmentInstance.timeSlotPackage ? (\r\n
    \r\n
    Treatment recurrence
    \r\n {canEdit && selectionType() !== selectionTypes.multiple && (\r\n \r\n \r\n \r\n }\r\n label=\"Select All\"\r\n />\r\n \r\n \r\n \r\n {!editModeEnabled && isMaster && !isImportedFromSystmOne && (\r\n setEditMode(!editModeEnabled)}\r\n >\r\n Edit\r\n \r\n )}\r\n \r\n \r\n {editModeEnabled && (\r\n \r\n )}\r\n \r\n \r\n {editModeEnabled && (\r\n \r\n Save\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n
    \r\n {columnLength.map((rowTitle, index) => (\r\n \r\n
    \r\n \r\n {index === 0 && {''}}\r\n {rowTitle}\r\n \r\n
    \r\n \r\n {(treatment.recurrenceType !== recurrenceTypes.WEEKLY ||\r\n getDayIndex(selectedDate.getDay()) === index) &&\r\n treatmentInstance.timeSlotPackage.timeSlots.map(slot => (\r\n \r\n {startEndTimeDisplay(slot.from, slot.to)}\r\n handleTimeSlotSelectionChange(slot.id)}\r\n >\r\n \r\n {slot.name}\r\n \r\n
    \r\n \r\n ))}\r\n \r\n \r\n {treatment.recurrenceType === recurrenceTypes.WEEKLY &&\r\n getDayIndex(selectedDate.getDay()) !== index &&\r\n treatment.timeSlotsPackage.timeSlots\r\n .sort((a, b) => naturalCompare(a.name, b.name))\r\n .map((slot, i) => (\r\n \r\n {startEndTimeDisplay(slot.from, slot.to)}\r\n
    \r\n \r\n {slot.name}\r\n \r\n
    \r\n
    \r\n ))}\r\n
    \r\n \r\n ))}\r\n
    \r\n \r\n ) : null;\r\n };\r\n\r\n return (\r\n \r\n {selectionType() === selectionTypes.specific\r\n ? treatmentRecurrenceSpecificRender()\r\n : treatmentRecurrenceSlotsRender()}\r\n \r\n );\r\n}\r\n","/* eslint-disable react/prop-types */\r\n/* eslint-disable react/require-default-props */\r\nimport React, { useState } from 'react';\r\nimport Snackbar from '@material-ui/core/Snackbar';\r\nimport useTimeline from '../timeline/useTimeline';\r\n\r\nexport default function ErrorNotification() {\r\n const [state] = useState({\r\n vertical: 'bottom',\r\n horizontal: 'center',\r\n alertDuration: 5000,\r\n });\r\n\r\n const { alertMessage, setAlertMessage } = useTimeline();\r\n if (!alertMessage) return null;\r\n\r\n const { vertical, horizontal, alertDuration } = state;\r\n\r\n return (\r\n setAlertMessage(null)}\r\n ContentProps={{\r\n 'aria-describedby': 'message-id',\r\n }}\r\n message={{alertMessage.message}}\r\n />\r\n );\r\n}\r\n","import {\r\n Band,\r\n ragStatusWithDesc,\r\n VisitTypeWithName,\r\n VisitStatusWithName,\r\n TreatmentScheduleWithName,\r\n} from '../../../../enums';\r\nimport globals from '../../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('advanceFilters');\r\n\r\nexport const AdvanceFilters = [\r\n {\r\n name: 'visitType',\r\n label: locale.getMsg('visitType'),\r\n type: 'select',\r\n isMultiple: true,\r\n options: VisitTypeWithName.map(r => ({ id: r.id, name: r.name })),\r\n optionsLength: VisitTypeWithName.length,\r\n },\r\n {\r\n name: 'visitStatus',\r\n label: locale.getMsg('visitStatus'),\r\n type: 'select',\r\n isMultiple: true,\r\n options: VisitStatusWithName.map(r => ({ id: r.id, name: r.name })),\r\n optionsLength: VisitStatusWithName.length,\r\n },\r\n { name: 'nhs', label: locale.getMsg('nhs'), type: 'textField', error: '' },\r\n {\r\n name: 'activity',\r\n label: locale.getMsg('activity'),\r\n type: 'select',\r\n isMultiple: true,\r\n options: [],\r\n optionsLength: 0,\r\n isLoading: false,\r\n },\r\n {\r\n name: 'multipleClinicians',\r\n label: locale.getMsg('multipleClinicians'),\r\n type: 'select',\r\n isMultiple: false,\r\n options: [{ id: 0, name: 'Yes' }, { id: 1, name: 'No' }],\r\n },\r\n { name: 'postcode', label: locale.getMsg('postcode'), type: 'textField', error: '' },\r\n {\r\n name: 'rag',\r\n label: locale.getMsg('rag'),\r\n type: 'select',\r\n isMultiple: true,\r\n options: ragStatusWithDesc\r\n .sort((a, b) => b.sortingOrder - a.sortingOrder)\r\n .map(r => ({ id: r.id, name: r.description })),\r\n optionsLength: ragStatusWithDesc.length,\r\n },\r\n {\r\n name: 'band',\r\n label: locale.getMsg('band'),\r\n type: 'select',\r\n isMultiple: true,\r\n options: Band.sort((a, b) => a.sortingOrder - b.sortingOrder).map(b => ({ id: b.id, name: b.Name })),\r\n optionsLength: Band.length,\r\n },\r\n {\r\n name: 'treatmentSchedule',\r\n label: locale.getMsg('treatmentSchedule'),\r\n type: 'select',\r\n isMultiple: true,\r\n options: TreatmentScheduleWithName.map(r => ({ id: r.id, name: r.name })),\r\n optionsLength: TreatmentScheduleWithName.length,\r\n },\r\n];\r\n","/* eslint-disable no-use-before-define */\r\nimport React, { useState, useEffect, useMemo, useRef } from 'react';\r\nimport AdvanceFiltersForm from './AdvanceFiltersForm';\r\nimport useTimeline from '../../timeline/useTimeline';\r\nimport { stringToArray, removeSpaces } from '../../../../utils/helpers';\r\nimport { AssignmentType, VisitStatusWithName } from '../../../../enums';\r\nimport { getCancelledTreatmentInstances } from '../../../../actions/areas/planner';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { AdvanceFilters } from './AdvanceFilters';\r\nimport {\r\n VisitTypeFilterHandler,\r\n VisitStatuseFilterHandler,\r\n NhsFilterHandler,\r\n ActivityFilterHandler,\r\n MultipleCliniciansFilterHandler,\r\n PostcodeFilterHandler,\r\n RagFilterHandler,\r\n BandFilterHandler,\r\n TreatmentScheduleFilterHandler,\r\n} from './AdvanceFiltersHandler';\r\n\r\nconst locale = globals.getArea('error');\r\n\r\nconst getDefaultSelectedValues = () => {\r\n return AdvanceFilters.reduce((initialValues, filter) => {\r\n if (filter.name === 'multipleClinicians') {\r\n initialValues[filter.name] = [1];\r\n } else {\r\n initialValues[filter.name] = filter.type === 'select' ? [''] : '';\r\n }\r\n return initialValues;\r\n }, {});\r\n};\r\n\r\nconst getAdvanceFilterHandlers = () => {\r\n return {\r\n visitType: new VisitTypeFilterHandler(),\r\n visitStatus: new VisitStatuseFilterHandler(),\r\n nhs: new NhsFilterHandler(),\r\n activity: new ActivityFilterHandler(),\r\n multipleClinicians: new MultipleCliniciansFilterHandler(),\r\n postcode: new PostcodeFilterHandler(),\r\n rag: new RagFilterHandler(),\r\n band: new BandFilterHandler(),\r\n treatmentSchedule: new TreatmentScheduleFilterHandler(),\r\n };\r\n};\r\n\r\nexport default function AdvancedFilters({\r\n selectedDate,\r\n orgUnitId,\r\n showAdvanceFiltersState,\r\n clinicianTreatmentInstances,\r\n isClinicianTreatmentInstancesDataLoading,\r\n treatmentInstances,\r\n dataItems,\r\n setFilteredInstances,\r\n hasInstancesChanged,\r\n setHasInstancesChanged,\r\n shouldResetAdvanceFilter,\r\n setShouldResetAdvanceFilter,\r\n setShowAdvanceFiltersState,\r\n}) {\r\n const {\r\n getFlag,\r\n setAlertMessage,\r\n getAccessToken,\r\n shouldResetCancelTreatmentInstance,\r\n setActiveTreatment,\r\n } = useTimeline();\r\n const [isCancelledOptionSelectedState, setIsCancelledOptionSelectedState] = useState(false);\r\n const [isCancelledTreatmentInstancesDataLoading, setIsCancelledTreatmentInstancesDataLoading] = useState(false);\r\n const [cancelledTreatmentInstances, setCancelledTreatmentInstances] = useState(null);\r\n const [advanceFiltersSelectedValue, setAdvanceFiltersSelectedValue] = useState(getDefaultSelectedValues());\r\n const [advanceFilters, setAdvanceFilters] = useState(AdvanceFilters);\r\n const prevSelectedDate = useRef();\r\n const prevOrgUnitId = useRef();\r\n\r\n const isTreatmentInstanceDetailsClosed = () =>\r\n !getFlag('shouldReloadClinicianTreatments') && !getFlag('showClinicianTreatments');\r\n\r\n const clinicianTreatmentInstancesActivityNames = useMemo(() => {\r\n const ctreatmentInstances = clinicianTreatmentInstances.flatMap(tis => tis.items);\r\n return isTreatmentInstanceDetailsClosed() ? [] : ctreatmentInstances.flatMap(ti => stringToArray(ti.activities));\r\n }, [clinicianTreatmentInstances, isTreatmentInstanceDetailsClosed()]);\r\n\r\n const patientAssignments = useMemo(() => {\r\n return dataItems.flatMap(dataItem =>\r\n dataItem.activities.assignments.filter(\r\n assignment => assignment.assignmentType === AssignmentType.PatientAssignment,\r\n ),\r\n );\r\n }, [dataItems]);\r\n\r\n const activityOptions = useMemo(() => {\r\n const treatmentInstancesActivityNames = treatmentInstances.flatMap(ti => stringToArray(ti.activities));\r\n const assignmentActivityNames = patientAssignments.flatMap(pa => stringToArray(pa.primaryLabel));\r\n\r\n const cancelledTreatmentInstancesActivityNames = cancelledTreatmentInstances\r\n ? cancelledTreatmentInstances.flatMap(cti => cti.treatmentInstanceActivities.map(tia => tia.name))\r\n : [];\r\n\r\n return [\r\n ...new Set([\r\n ...treatmentInstancesActivityNames,\r\n ...assignmentActivityNames,\r\n ...clinicianTreatmentInstancesActivityNames,\r\n ...cancelledTreatmentInstancesActivityNames,\r\n ]),\r\n ]\r\n .sort((a, b) => a.localeCompare(b, undefined, { sensitivity: 'base' }))\r\n .map(activity => ({ id: activity, name: activity }));\r\n }, [treatmentInstances, patientAssignments, clinicianTreatmentInstancesActivityNames, cancelledTreatmentInstances]);\r\n\r\n const updateActivityOptions = (options, isDataLoading) => {\r\n setAdvanceFilters(prevfilters =>\r\n prevfilters.map(filter =>\r\n filter.name === 'activity'\r\n ? { ...filter, options, isLoading: isDataLoading, optionsLength: options.length }\r\n : filter,\r\n ),\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n updateActivityOptions(\r\n activityOptions || [],\r\n isClinicianTreatmentInstancesDataLoading || isCancelledTreatmentInstancesDataLoading,\r\n );\r\n }, [activityOptions, isClinicianTreatmentInstancesDataLoading, isCancelledTreatmentInstancesDataLoading]);\r\n\r\n useEffect(() => {\r\n const hasSelectedDateChanged = prevSelectedDate.current && prevSelectedDate.current !== selectedDate;\r\n const hasOrgUnitChanged = prevOrgUnitId.current && prevOrgUnitId.current !== orgUnitId;\r\n\r\n if (hasOrgUnitChanged) {\r\n handleClear();\r\n handleCancelledTreatmentInstances(isCancelledOptionSelectedState, hasOrgUnitChanged, hasSelectedDateChanged);\r\n }\r\n\r\n if (hasSelectedDateChanged && !hasOrgUnitChanged) {\r\n resetFilteredInstances();\r\n handleCancelledTreatmentInstances(isCancelledOptionSelectedState, hasOrgUnitChanged, hasSelectedDateChanged);\r\n }\r\n\r\n if (shouldResetAdvanceFilter) {\r\n handleClear();\r\n setShouldResetAdvanceFilter(false);\r\n }\r\n\r\n if (hasInstancesChanged && !hasSelectedDateChanged && !hasOrgUnitChanged) {\r\n handleSubmit();\r\n setHasInstancesChanged(false);\r\n }\r\n\r\n if (getFlag('shouldResetCancelTreatmentInstance')) {\r\n handleCancelledTreatmentInstances(isCancelledOptionSelectedState);\r\n }\r\n prevOrgUnitId.current = orgUnitId;\r\n prevSelectedDate.current = selectedDate;\r\n }, [\r\n hasInstancesChanged,\r\n shouldResetAdvanceFilter,\r\n getFlag('shouldResetCancelTreatmentInstance'),\r\n selectedDate,\r\n orgUnitId,\r\n ]);\r\n\r\n const cancelledTreatmentInstancesCallback = (response, errorMessage) => {\r\n if (response) {\r\n setCancelledTreatmentInstances(Object.values(response)[0]);\r\n }\r\n if (errorMessage) {\r\n setAlertMessage(errorMessage);\r\n }\r\n setIsCancelledTreatmentInstancesDataLoading(false);\r\n };\r\n\r\n const handleCancelledTreatmentInstances = (isCancelledOptionSelected, hasOrgUnitChanged, hasSelectedDateChanged) => {\r\n if (hasOrgUnitChanged) {\r\n setCancelledTreatmentInstances(null);\r\n return;\r\n }\r\n const forceReload = hasSelectedDateChanged && isCancelledOptionSelected;\r\n if (\r\n (isCancelledOptionSelected &&\r\n (!cancelledTreatmentInstances || getFlag('shouldResetCancelTreatmentInstance')) &&\r\n !isCancelledTreatmentInstancesDataLoading) ||\r\n forceReload\r\n ) {\r\n setIsCancelledTreatmentInstancesDataLoading(true);\r\n getCancelledTreatmentInstances(\r\n getAccessToken,\r\n { occurrence: selectedDate, orgUnitId },\r\n false,\r\n cancelledTreatmentInstancesCallback,\r\n );\r\n shouldResetCancelTreatmentInstance(false);\r\n } else if (\r\n !isCancelledOptionSelected &&\r\n (hasSelectedDateChanged || getFlag('shouldResetCancelTreatmentInstance'))\r\n ) {\r\n setCancelledTreatmentInstances(null);\r\n shouldResetCancelTreatmentInstance(false);\r\n }\r\n\r\n if (isCancelledOptionSelectedState !== isCancelledOptionSelected)\r\n setIsCancelledOptionSelectedState(isCancelledOptionSelected);\r\n };\r\n\r\n const resetFilteredInstances = () => {\r\n setFilteredInstances({\r\n isAdvanceFilterActive: false,\r\n shouldFilterAssignments: false,\r\n filteredTreatmentInstances: [],\r\n filteredAssignments: [],\r\n filteredCancelledTreatmentInstances: [],\r\n filteredClinicianTreatmentInstances: [],\r\n });\r\n };\r\n\r\n const clearFilteredInstancesForInvalidInput = () => {\r\n setFilteredInstances({\r\n isAdvanceFilterActive: true,\r\n shouldFilterAssignments: true,\r\n filteredTreatmentInstances: [],\r\n filteredAssignments: [],\r\n filteredCancelledTreatmentInstances: [],\r\n filteredClinicianTreatmentInstances: clinicianTreatmentInstances\r\n ? clinicianTreatmentInstances.map(data => ({\r\n ...data,\r\n items: [],\r\n }))\r\n : [],\r\n });\r\n };\r\n\r\n const addFilteredCancelledInstancesInClinicianView = (\r\n filteredClinicianTreatmentInstances,\r\n filteredCancelledTreatmentInstances,\r\n ) => {\r\n if (clinicianTreatmentInstances && isCancelledOptionSelectedState && filteredCancelledTreatmentInstances) {\r\n filteredClinicianTreatmentInstances.push({\r\n name: 'CancelledVisits',\r\n text: 'Cancelled Visits',\r\n isAssignable: false,\r\n items: filteredCancelledTreatmentInstances,\r\n });\r\n }\r\n return filteredClinicianTreatmentInstances;\r\n };\r\n\r\n const handleAdvanceFilters = (advanceFiltersHandler, shouldFilterAssignments) => {\r\n resetFilteredInstances();\r\n\r\n const filteredValues = advanceFiltersHandler.handle(\r\n treatmentInstances,\r\n shouldFilterAssignments ? patientAssignments : [],\r\n isCancelledOptionSelectedState ? cancelledTreatmentInstances || [] : [],\r\n clinicianTreatmentInstances || [],\r\n );\r\n\r\n setFilteredInstances({\r\n isAdvanceFilterActive: true,\r\n shouldFilterAssignments,\r\n filteredTreatmentInstances: filteredValues.treatmentInstances,\r\n filteredAssignments: filteredValues.assignments,\r\n filteredCancelledTreatmentInstances: filteredValues.cancelledTreatmentInstances,\r\n filteredClinicianTreatmentInstances: addFilteredCancelledInstancesInClinicianView(\r\n filteredValues.clinicianTreatmentInstances,\r\n filteredValues.cancelledTreatmentInstances,\r\n ),\r\n });\r\n };\r\n\r\n const shouldFilterAssignments = () => {\r\n const visitStatusIds = VisitStatusWithName.filter(\r\n v => v.key === 'unassignedVisits' || v.key === 'cancelledVisits',\r\n ).map(v => v.id);\r\n return !visitStatusIds.some(id => advanceFiltersSelectedValue.visitStatus.includes(id));\r\n };\r\n\r\n const createAdvanceFilterChainHandlers = () => {\r\n const advanceFilterHandlers = getAdvanceFilterHandlers();\r\n const advanceFiltersSelectedValueEntites = Object.entries(advanceFiltersSelectedValue).filter(\r\n ([, request]) => request[0] !== '' && request !== '',\r\n );\r\n\r\n advanceFiltersSelectedValueEntites.forEach(([handler, request], i) => {\r\n advanceFilterHandlers[handler].setRequest(request);\r\n\r\n if (i < advanceFiltersSelectedValueEntites.length - 1) {\r\n const [nextHandler] = advanceFiltersSelectedValueEntites[i + 1];\r\n advanceFilterHandlers[handler].setNext(advanceFilterHandlers[nextHandler]);\r\n }\r\n });\r\n\r\n return advanceFilterHandlers[advanceFiltersSelectedValueEntites[0][0]];\r\n };\r\n\r\n const getErrorObj = (filterName, message) => {\r\n return { filterName, message };\r\n };\r\n\r\n const isNhsTextFieldValid = (value, key, visits) => {\r\n return value === '' || visits.some(a => removeSpaces(a[key]) === removeSpaces(value));\r\n };\r\n\r\n const isPostcodeTextFieldValid = (value, key, visits) => {\r\n return value === '' || visits.some(a => removeSpaces(a[key]).includes(removeSpaces(value)));\r\n };\r\n\r\n const validateAdvanceFiltersSubmit = (postcode, nhsNumber) => {\r\n const visits = [\r\n ...treatmentInstances,\r\n ...patientAssignments,\r\n ...(cancelledTreatmentInstances || []),\r\n ...(clinicianTreatmentInstances.flatMap(tis => tis.items) || []),\r\n ];\r\n const errorMessages = [];\r\n\r\n if (!isPostcodeTextFieldValid(postcode.toUpperCase(), 'postcode', visits)) {\r\n errorMessages.push(getErrorObj('postcode', locale.getMsg('noMatchingRecordsFound')));\r\n }\r\n\r\n if (!isNhsTextFieldValid(nhsNumber, 'nhsNumber', visits)) {\r\n errorMessages.push(getErrorObj('nhs', locale.getMsg('noMatchingRecordsFound')));\r\n }\r\n\r\n return errorMessages;\r\n };\r\n\r\n const setErrorMessage = (filterName, errorMsg) => {\r\n setAdvanceFilters(prevfilters =>\r\n prevfilters.map(filter => (filter.name === filterName ? { ...filter, error: errorMsg } : filter)),\r\n );\r\n };\r\n\r\n const resetErrorMessages = () => {\r\n setErrorMessage('postcode', '');\r\n setErrorMessage('nhs', '');\r\n };\r\n\r\n const isValideSubmit = () => {\r\n resetErrorMessages();\r\n const errorMessages = validateAdvanceFiltersSubmit(\r\n advanceFiltersSelectedValue.postcode,\r\n advanceFiltersSelectedValue.nhs,\r\n );\r\n errorMessages.forEach(error => {\r\n setErrorMessage(error.filterName, error.message);\r\n });\r\n return !errorMessages.length;\r\n };\r\n\r\n const handleSubmit = () => {\r\n setActiveTreatment(null);\r\n if (isValideSubmit()) {\r\n handleAdvanceFilters(createAdvanceFilterChainHandlers(), shouldFilterAssignments());\r\n } else {\r\n clearFilteredInstancesForInvalidInput();\r\n }\r\n };\r\n\r\n const handleClear = () => {\r\n resetErrorMessages();\r\n setAdvanceFiltersSelectedValue(getDefaultSelectedValues());\r\n setIsCancelledOptionSelectedState(false);\r\n resetFilteredInstances();\r\n };\r\n\r\n const handleCancel = () => {\r\n handleClear();\r\n setShowAdvanceFiltersState(false);\r\n };\r\n\r\n return (\r\n showAdvanceFiltersState && (\r\n \r\n )\r\n );\r\n}\r\n","import React, { useMemo } from 'react';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport { Box, Grid, IconButton, Link } from '@material-ui/core';\r\nimport { RenderAdvanceFilters } from './RenderAdvanceFilters';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { VisitStatusWithName } from '../../../../enums';\r\n\r\nconst locale = globals.getArea('advanceFilters');\r\n\r\nexport default function AdvanceFiltersForm({\r\n handleCancelledTreatmentInstances,\r\n advanceFiltersSelectedValue,\r\n setAdvanceFiltersSelectedValue,\r\n advanceFilters,\r\n handleSubmit,\r\n handleCancel,\r\n handleClear,\r\n isDataLoading,\r\n}) {\r\n const handleAdvanceFiltersChange = filterName => selectedValues => {\r\n let filteredValues;\r\n\r\n if (Array.isArray(selectedValues)) {\r\n if (selectedValues.length === 0 || selectedValues[selectedValues.length - 1] === '') {\r\n filteredValues = [''];\r\n } else {\r\n filteredValues = selectedValues.filter(x => x !== '');\r\n if (filteredValues.length === advanceFilters.find(f => f.name === filterName).optionsLength) {\r\n filteredValues = [''];\r\n }\r\n }\r\n } else {\r\n filteredValues = filterName === 'multipleClinicians' ? [selectedValues] : selectedValues;\r\n }\r\n if (filterName === 'visitStatus')\r\n handleCancelledTreatmentInstances(\r\n filteredValues.includes(VisitStatusWithName.find(v => v.key === 'cancelledVisits').id),\r\n );\r\n\r\n setAdvanceFiltersSelectedValue(prevValues => ({\r\n ...prevValues,\r\n [filterName]: filteredValues,\r\n }));\r\n };\r\n\r\n const renderedAdvanceFilters = useMemo(\r\n () =>\r\n advanceFilters.map(advanceFilterType => (\r\n \r\n )),\r\n [advanceFilters, advanceFiltersSelectedValue, handleAdvanceFiltersChange],\r\n );\r\n\r\n return (\r\n \r\n {renderedAdvanceFilters}\r\n \r\n \r\n \r\n {locale.getMsg('cancel')}\r\n \r\n \r\n \r\n \r\n {locale.getMsg('clear')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-unused-vars */\r\nimport { Band, VisitStatusWithName, TreatmentScheduleWithName } from '../../../../enums';\r\nimport { stringToArray, removeSpaces } from '../../../../utils/helpers';\r\n\r\nexport class AdvanceFiltersHandler {\r\n setNext(handler) {\r\n this.next = handler;\r\n return handler;\r\n }\r\n\r\n setRequest(request) {\r\n this.request = request;\r\n }\r\n\r\n handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances) {\r\n if (this.next) {\r\n return this.next.handle(\r\n treatmentInstances,\r\n assignments,\r\n cancelledTreatmentInstances,\r\n clinicianTreatmentInstances,\r\n );\r\n }\r\n return { treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances };\r\n }\r\n}\r\n\r\nexport class VisitTypeFilterHandler extends AdvanceFiltersHandler {\r\n handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances) {\r\n treatmentInstances = treatmentInstances.filter(ti => this.request.includes(ti.visitType));\r\n assignments = assignments.filter(a => this.request.includes(a.visitType));\r\n cancelledTreatmentInstances = cancelledTreatmentInstances.filter(ct => this.request.includes(ct.visitType));\r\n clinicianTreatmentInstances = clinicianTreatmentInstances.map(data => ({\r\n ...data,\r\n items: data.items.filter(ti => this.request.includes(ti.visitType)),\r\n }));\r\n return super.handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances);\r\n }\r\n}\r\n\r\nexport class VisitStatuseFilterHandler extends AdvanceFiltersHandler {\r\n handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances) {\r\n const isRescheduledFilterOn = this.request.includes(\r\n VisitStatusWithName.find(v => v.key === 'rescheduledVisits').id,\r\n );\r\n const isUnassignFilterOn = this.request.includes(VisitStatusWithName.find(v => v.key === 'unassignedVisits').id);\r\n const isCancelledVisitsFilterOn = this.request.includes(\r\n VisitStatusWithName.find(v => v.key === 'cancelledVisits').id,\r\n );\r\n if (isCancelledVisitsFilterOn && !isUnassignFilterOn) {\r\n treatmentInstances = [];\r\n clinicianTreatmentInstances = clinicianTreatmentInstances.map(data => ({\r\n ...data,\r\n items: [],\r\n }));\r\n }\r\n if (!isCancelledVisitsFilterOn) {\r\n cancelledTreatmentInstances = [];\r\n }\r\n if (isRescheduledFilterOn) {\r\n treatmentInstances = treatmentInstances.filter(ti => ti.hasMovedFrom);\r\n assignments = assignments.filter(a => a.hasMovedFrom);\r\n cancelledTreatmentInstances = cancelledTreatmentInstances.filter(ct => ct.hasMovedFrom);\r\n clinicianTreatmentInstances = clinicianTreatmentInstances.map(data => ({\r\n ...data,\r\n items: data.items.filter(ct => ct.hasMovedFrom),\r\n }));\r\n }\r\n return super.handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances);\r\n }\r\n}\r\n\r\nexport class NhsFilterHandler extends AdvanceFiltersHandler {\r\n handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances) {\r\n const nhsNumber = removeSpaces(this.request);\r\n treatmentInstances = treatmentInstances.filter(ti => removeSpaces(ti.nhsNumber) === nhsNumber);\r\n assignments = assignments.filter(a => removeSpaces(a.nhsNumber) === nhsNumber);\r\n cancelledTreatmentInstances = cancelledTreatmentInstances.filter(ct => removeSpaces(ct.nhsNumber) === nhsNumber);\r\n clinicianTreatmentInstances = clinicianTreatmentInstances.map(data => ({\r\n ...data,\r\n items: data.items.filter(ct => removeSpaces(ct.nhsNumber) === nhsNumber),\r\n }));\r\n return super.handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances);\r\n }\r\n}\r\n\r\nexport class ActivityFilterHandler extends AdvanceFiltersHandler {\r\n handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances) {\r\n treatmentInstances = treatmentInstances.filter(ti =>\r\n stringToArray(ti.activities).some(ac => this.request.includes(ac)),\r\n );\r\n assignments = assignments.filter(a => stringToArray(a.primaryLabel).some(ac => this.request.includes(ac)));\r\n cancelledTreatmentInstances = cancelledTreatmentInstances.filter(ct =>\r\n stringToArray(ct.activities).some(ac => this.request.includes(ac)),\r\n );\r\n clinicianTreatmentInstances = clinicianTreatmentInstances.map(data => ({\r\n ...data,\r\n items: data.items.filter(ct => stringToArray(ct.activities).some(ac => this.request.includes(ac))),\r\n }));\r\n return super.handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances);\r\n }\r\n}\r\n\r\nexport class MultipleCliniciansFilterHandler extends AdvanceFiltersHandler {\r\n handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances) {\r\n const shouldHaveMultipleClinicians = this.request[0] === 0;\r\n\r\n const filterByClinicians = instances => {\r\n return instances.filter(item =>\r\n shouldHaveMultipleClinicians\r\n ? item.numberOfClinicians > 1 || item.additionalClinician > 0\r\n : item.numberOfClinicians === 1 && (!item.additionalClinician || item.additionalClinician === 0),\r\n );\r\n };\r\n\r\n treatmentInstances = filterByClinicians(treatmentInstances);\r\n assignments = filterByClinicians(assignments);\r\n cancelledTreatmentInstances = filterByClinicians(cancelledTreatmentInstances);\r\n clinicianTreatmentInstances = clinicianTreatmentInstances.map(data => ({\r\n ...data,\r\n items: filterByClinicians(data.items),\r\n }));\r\n\r\n return super.handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances);\r\n }\r\n}\r\n\r\nexport class PostcodeFilterHandler extends AdvanceFiltersHandler {\r\n handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances) {\r\n const postcode = removeSpaces(this.request).toUpperCase();\r\n treatmentInstances = treatmentInstances.filter(ti => removeSpaces(ti.postcode.toUpperCase()).includes(postcode));\r\n assignments = assignments.filter(a => removeSpaces(a.postcode.toUpperCase()).includes(postcode));\r\n cancelledTreatmentInstances = cancelledTreatmentInstances.filter(ct =>\r\n removeSpaces(ct.postcode.toUpperCase()).includes(postcode),\r\n );\r\n clinicianTreatmentInstances = clinicianTreatmentInstances.map(data => ({\r\n ...data,\r\n items: data.items.filter(ct => removeSpaces(ct.postcode.toUpperCase()).includes(postcode)),\r\n }));\r\n return super.handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances);\r\n }\r\n}\r\n\r\nexport class RagFilterHandler extends AdvanceFiltersHandler {\r\n handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances) {\r\n treatmentInstances = treatmentInstances.filter(ti => this.request.includes(ti.ragStatus.value));\r\n assignments = assignments.filter(a => this.request.includes(a.ragStatus.value));\r\n cancelledTreatmentInstances = cancelledTreatmentInstances.filter(ct => this.request.includes(ct.ragStatus.value));\r\n clinicianTreatmentInstances = clinicianTreatmentInstances.map(data => ({\r\n ...data,\r\n items: data.items.filter(ct => this.request.includes(ct.ragStatus.value)),\r\n }));\r\n return super.handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances);\r\n }\r\n}\r\n\r\nexport class BandFilterHandler extends AdvanceFiltersHandler {\r\n handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances) {\r\n const bandKey = this.request.map(id => Band.find(b => b.id === id).key);\r\n\r\n treatmentInstances = treatmentInstances.filter(ti => bandKey.includes(ti.band));\r\n assignments = assignments.filter(a => this.request.includes(a.band));\r\n cancelledTreatmentInstances = cancelledTreatmentInstances.filter(ct => bandKey.includes(ct.band));\r\n clinicianTreatmentInstances = clinicianTreatmentInstances.map(data => ({\r\n ...data,\r\n items: data.items.filter(ct => bandKey.includes(ct.band)),\r\n }));\r\n return super.handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances);\r\n }\r\n}\r\n\r\nexport class TreatmentScheduleFilterHandler extends AdvanceFiltersHandler {\r\n handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances) {\r\n const treatmentScheduleKeys = this.request.map(id => TreatmentScheduleWithName.find(ts => ts.id === id).key);\r\n\r\n treatmentInstances = treatmentInstances.filter(ti => treatmentScheduleKeys.includes(ti.treatmentTimeType));\r\n assignments = assignments.filter(a => treatmentScheduleKeys.includes(a.treatmentTimeType));\r\n cancelledTreatmentInstances = cancelledTreatmentInstances.filter(ct =>\r\n treatmentScheduleKeys.includes(ct.treatmentTimeType),\r\n );\r\n clinicianTreatmentInstances = clinicianTreatmentInstances.map(data => ({\r\n ...data,\r\n items: data.items.filter(ct => treatmentScheduleKeys.includes(ct.treatmentTimeType)),\r\n }));\r\n return super.handle(treatmentInstances, assignments, cancelledTreatmentInstances, clinicianTreatmentInstances);\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Grid, InputLabel, Select, MenuItem, TextField, CircularProgress } from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles({\r\n inputGrid: {\r\n width: '100%',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n minHeight: '44px',\r\n },\r\n label: { width: '40%', display: 'flex', alignItems: 'center' },\r\n select: { width: '40%', maxHeight: '100%' },\r\n loadingSelect: { width: '40%', textAlign: 'center' },\r\n menuPaper: {\r\n maxHeight: '50%',\r\n },\r\n});\r\n\r\nconst InputComponent = ({ advanceFilterLabel, children }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n {advanceFilterLabel}\r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst SelectComponent = ({ advanceFilter, selectedValue, handleAdvanceFiltersChange }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n {!advanceFilter.isLoading ? (\r\n handleAdvanceFiltersChange(e.target.value)}\r\n MenuProps={{\r\n getContentAnchorEl: null,\r\n classes: { paper: classes.menuPaper },\r\n }}\r\n >\r\n {advanceFilter.isMultiple && Any}\r\n {advanceFilter.options.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst TextFieldComponent = ({ advanceFilter, selectedValue, handleAdvanceFiltersChange }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n handleAdvanceFiltersChange(e.target.value)}\r\n placeholder={advanceFilter.label}\r\n error={advanceFilter.error !== ''}\r\n helperText={advanceFilter.error}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport function RenderAdvanceFilters({ advanceFilter, selectedValue, handleAdvanceFiltersChange }) {\r\n switch (advanceFilter.type) {\r\n case 'select':\r\n return (\r\n \r\n );\r\n case 'textField':\r\n return (\r\n \r\n );\r\n default:\r\n return ;\r\n }\r\n}\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { setSchedulerModeView } from '../../../actions/areas/dailyPlanning';\r\nimport useTimeline from '../timeline/useTimeline';\r\n\r\nexport function DayNightSwitch() {\r\n const { resetContext } = useTimeline();\r\n const isNightMode = useSelector(state => state.areas.dailyPlanning.scheduler.isNightMode);\r\n\r\n const dispatch = useDispatch();\r\n const setScheduleMode = isNight => dispatch(setSchedulerModeView(isNight));\r\n\r\n const toggleDayNightMode = () => {\r\n if (resetContext && typeof resetContext === 'function') resetContext();\r\n setScheduleMode(!isNightMode);\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\nimport Select from '@material-ui/core/Select';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\n\r\n/* eslint-disable no-nested-ternary */\r\nexport function DropdownFilter({\r\n filterKey,\r\n filterValue,\r\n data,\r\n onChange,\r\n multiple = false,\r\n hasAny,\r\n defaultValue,\r\n fullWidth = false,\r\n disabled = false,\r\n dropdownId = undefined,\r\n}) {\r\n function handleChange(event) {\r\n const selectedValues = event.target.value;\r\n\r\n const filteredValues = multiple\r\n ? selectedValues.length === 0 || selectedValues[selectedValues.length - 1] === ''\r\n ? ''\r\n : selectedValues.filter(x => x !== '')\r\n : selectedValues;\r\n onChange(filterKey, filteredValues);\r\n }\r\n\r\n return (\r\n handleChange(e)}\r\n fullWidth={fullWidth}\r\n MenuProps={{\r\n anchorOrigin: {\r\n vertical: 'bottom',\r\n horizontal: 'left',\r\n },\r\n transformOrigin: {\r\n vertical: 'top',\r\n horizontal: 'left',\r\n },\r\n getContentAnchorEl: null,\r\n }}\r\n >\r\n {hasAny && Any}\r\n {data &&\r\n data.map(({ name, id }) => (\r\n \r\n {name}\r\n \r\n ))}\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Box, IconButton } from '@material-ui/core';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\n\r\nimport useTimeline from '../timeline/useTimeline';\r\nimport { DropdownFilter } from './DropdownFilter';\r\nimport { DayNightSwitch } from './DayNightSwitch';\r\nimport { getCurrentUserOrgUnits } from '../../../actions/entities';\r\nimport { updateFilters } from '../../../actions/areas/dailyPlanning/filters';\r\nimport { bandsEndpoint } from '../../../settings/constants';\r\nimport { getSelectorOptions } from '../../../actions/uiElements/selectors';\r\nimport { getOrgUnitTeams } from '../../../actions/areas/planner/queryActions';\r\nimport _ from './../../../utils/lodash';\r\n\r\nexport function Filters({ bands, toggleAdvancedFilters }) {\r\n const dispatch = useDispatch();\r\n const [filterState, setFilterState] = useState({});\r\n const [filterData, setFilterData] = useState(null);\r\n const selectedOrgUnit = useSelector(state => state.areas.dailyPlanning.filters.selectedTeam);\r\n const selectedOrgUnitTeam = useSelector(state => state.areas.dailyPlanning.filters.orgUnitTeam);\r\n const selectedBand = useSelector(state => state.areas.dailyPlanning.filters.grades);\r\n const selectedDate = useSelector(state => state.areas.dailyPlanning.selectedDate);\r\n const settingList = useSelector(store => store.global.auth.settings);\r\n const enableMappingOfTeamsSetting = _.find(settingList, 'EnableMappingOfTeams');\r\n const enableMappingOfTeams = _.values(enableMappingOfTeamsSetting)[0] === 'true';\r\n const { setFlagAndClinician, getAccessToken } = useTimeline();\r\n\r\n function resetFilters(filter) {\r\n setFilterState({\r\n ...filterState,\r\n ...filter,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n Promise.all([\r\n dispatch(getCurrentUserOrgUnits(selectedDate)),\r\n dispatch(getSelectorOptions(bandsEndpoint, 'bands')),\r\n ]).then(([filterData1, filterData2]) => {\r\n setFilterData(prev => ({\r\n ...prev,\r\n filterData1,\r\n filterData2,\r\n }));\r\n const orgUnits = filterData1 ? filterData1.response.data.options : [];\r\n if (selectedOrgUnit === null && orgUnits.length > 0) dispatch(updateFilters({ selectedTeam: orgUnits[0].id }));\r\n if (enableMappingOfTeams) {\r\n getOrgUnitTeams(getAccessToken, selectedOrgUnit || orgUnits[0].id, false, orgUnitTeams => {\r\n setFilterData(prev => ({ ...prev, orgUnitTeams }));\r\n });\r\n }\r\n });\r\n }, [selectedDate]);\r\n\r\n function setFilterValue(filter, value) {\r\n setFilterState({\r\n ...filterState,\r\n [filter]: value,\r\n });\r\n\r\n if (filter === 'orgUnit') {\r\n resetFilters({ clinician: '', grades: [''], orgUnitTeam: [''] });\r\n dispatch(updateFilters({ selectedTeam: value, clinician: '', grades: [''], orgUnitTeam: '' })).then(() => {\r\n if (enableMappingOfTeams) {\r\n getOrgUnitTeams(getAccessToken, value, false, orgUnitTeams => {\r\n setFilterData({\r\n ...filterData,\r\n orgUnitTeams,\r\n });\r\n });\r\n }\r\n });\r\n } else if (filter === 'clinician') {\r\n resetFilters({ grades: [''] });\r\n dispatch(updateFilters({ [filter]: value, grades: [''] }));\r\n } else dispatch(updateFilters({ [filter]: value }));\r\n setFlagAndClinician('showClinicianDetails', false, 0, 0, ['showClinicianTreatments', 'enableMultipleSelection']);\r\n }\r\n\r\n const orgUnitOptions = filterData && filterData.filterData1 ? filterData.filterData1.response.data.options : [];\r\n const orgUnitTeamOptions =\r\n enableMappingOfTeams && filterData && filterData.orgUnitTeams ? filterData.orgUnitTeams : [];\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {filterData && (\r\n 0 ? [orgUnitOptions[0].id] : ''}\r\n filterKey={'orgUnit'}\r\n filterValue={selectedOrgUnit || filterState.orgUnit}\r\n onChange={(name, value) => setFilterValue(name, value)}\r\n />\r\n )}\r\n \r\n\r\n {filterData && enableMappingOfTeams && (\r\n \r\n setFilterValue(name, value)}\r\n />\r\n \r\n )}\r\n\r\n \r\n {filterData && (\r\n setFilterValue(name, value)}\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 React from 'react';\r\nimport TextField from '@material-ui/core/TextField';\r\n\r\nexport function SearchFilter({ filterKey, filterValue, fullWidth = false, label, onChange, id }) {\r\n function handleChange(event) {\r\n onChange(filterKey, event.target.value.toLowerCase());\r\n }\r\n\r\n return ;\r\n}\r\n","import React from 'react';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport List from '@material-ui/core/List';\r\nimport Popover from '@material-ui/core/Popover';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport clsx from 'clsx';\r\n\r\nexport function SortOptionsDialog({\r\n filterKey,\r\n clinicianModal,\r\n filterValue,\r\n data,\r\n onChange,\r\n defaultValue,\r\n fullWidth = false,\r\n open,\r\n anchorEl,\r\n handleClose,\r\n}) {\r\n const handleChange = e => {\r\n const selectedValue = e;\r\n if (selectedValue) onChange(filterKey, parseInt(selectedValue, 10));\r\n };\r\n\r\n return (\r\n \r\n
    \r\n Sort by\r\n \r\n {data &&\r\n data.map(({ name, id, label }) => (\r\n handleChange(id)}>\r\n \r\n \r\n ))}\r\n \r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport L from 'leaflet';\r\nimport { Marker, Popup } from 'react-leaflet';\r\nimport { Box } from '@material-ui/core';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\nconst patientLocale = globals.getArea('patients');\r\n\r\nconst AssignmentLocationMarker = ({ assignment, orderMark }) => {\r\n const icon = L.divIcon({\r\n className: 'allocateIcons pin-mark',\r\n iconSize: [30, 48],\r\n iconAnchor: [23, 48],\r\n popupAnchor: [0, -55],\r\n html: `person_pin_circle
    ${orderMark}
    `,\r\n });\r\n const {\r\n location,\r\n id,\r\n primaryLabel,\r\n secondaryLabel,\r\n postcode,\r\n totalTime,\r\n nhsNumber,\r\n homeTelephone,\r\n mobileTelephone,\r\n workTelephone,\r\n } = assignment;\r\n const popupContent = (\r\n
    \r\n {[\r\n
    \r\n
    {secondaryLabel}
    \r\n
    ,\r\n
    \r\n \r\n \r\n {' '}\r\n NHS No: {nhsNumber}\r\n \r\n \r\n {' '}\r\n Postcode: {postcode}\r\n \r\n \r\n {' '}\r\n Duration: {`${totalTime.actual.duration}${locale.getMsg('minute')}`}\r\n \r\n \r\n {' '}\r\n \r\n {patientLocale.getMsg('landlinePhoneNumber')}: {homeTelephone}\r\n \r\n \r\n \r\n {' '}\r\n \r\n {patientLocale.getMsg('mobilePhoneNumber')}: {mobileTelephone}\r\n \r\n \r\n \r\n {' '}\r\n \r\n {patientLocale.getMsg('otherPhoneNumber')}: {workTelephone}\r\n \r\n \r\n \r\n {' '}\r\n Activities: {primaryLabel}\r\n \r\n \r\n
    ,\r\n ]}\r\n
    \r\n );\r\n\r\n return (\r\n \r\n {popupContent}\r\n \r\n );\r\n};\r\n\r\nexport default AssignmentLocationMarker;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { Box } from '@material-ui/core';\r\nimport { grey } from '@material-ui/core/colors';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport AddLocationIcon from '@material-ui/icons/AddLocation';\r\nimport CloudIcon from '@material-ui/icons/Cloud';\r\nimport CloudOffIcon from '@material-ui/icons/CloudOff';\r\n\r\n// const locale = globals.getArea('dailyPlanning');\r\n\r\nconst cardItemRender = (item, activeClinician, setActiveClinician, isMileageCapEnabled, hasNoTimeSlots) => {\r\n const clinician = item.clinician;\r\n const containerClass = classNames('timeline-card map-timeline-card', {\r\n 'active-clinician': clinician.id === activeClinician.id && clinician.postingId === activeClinician.postingId,\r\n 'no-timeslots': hasNoTimeSlots,\r\n });\r\n\r\n const showExtraInformation = extraCondition => clinician.showExtraInfo && extraCondition;\r\n\r\n const getViewStyles = () => ({\r\n backgroundColor: `#${clinician.clinicianColor}`,\r\n width: '10px',\r\n height: '10px',\r\n orderRadius: '6px',\r\n });\r\n\r\n return (\r\n setActiveClinician({ id: clinician.id, postingId: clinician.postingId })}\r\n >\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {clinician.personName}\r\n \r\n \r\n \r\n \r\n {clinician.band}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {showExtraInformation(clinician.desc !== '') && (\r\n \r\n \r\n {clinician.desc}\r\n \r\n )}\r\n \r\n \r\n {clinician.clinicianLocation ? (\r\n clinician.clinicianLocation.postCode\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {showExtraInformation(clinician.isOnline) && }\r\n \r\n \r\n {showExtraInformation(!clinician.isOnline) && (\r\n \r\n )}\r\n \r\n \r\n {' '}\r\n {isMileageCapEnabled && clinician.hasValidBasePostCode && clinician.hasMileageCap && (\r\n \r\n )}\r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport function CardItemsColumnHtml({\r\n items,\r\n activeClinician,\r\n setActiveClinician,\r\n isMileageCapEnabled,\r\n hasNoTimeSlots,\r\n}) {\r\n return (\r\n
    \r\n {items.map(item =>\r\n cardItemRender(item, activeClinician, setActiveClinician, isMileageCapEnabled, hasNoTimeSlots),\r\n )}\r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\nimport L from 'leaflet';\r\nimport moment from 'moment';\r\nimport { Box } from '@material-ui/core';\r\nimport { Marker, Popup } from 'react-leaflet';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { createCSSSelector } from './cssHelper';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\n\r\nconst formatHour = date =>\r\n moment(date)\r\n .utcOffset(0, true)\r\n .format(globals.timeFormats.short);\r\n\r\nconst ClinicianLocationMarker = ({ clinician, isMileageCapEnabled }) => {\r\n createCSSSelector(`.clinician-color-${clinician.clinicianColor}`, `color:#${clinician.clinicianColor}!important;`);\r\n const icon = L.divIcon({\r\n className: `clinician-color-${\r\n clinician.clinicianColor\r\n } allocateIcons rag ${clinician.ragStatus.name.toLowerCase()}`,\r\n iconSize: [30, 48],\r\n iconAnchor: [23, 48],\r\n popupAnchor: [0, -55],\r\n html: 'add_location',\r\n });\r\n const { availabilities: timeSlots = [] } = clinician;\r\n\r\n const availabilityTimeSlotFormat = (startDate, endDate) => {\r\n return startDate === endDate ? formatHour(startDate) : `${formatHour(startDate)} - ${formatHour(endDate)}`;\r\n };\r\n\r\n const popupContent = (\r\n
    \r\n {[\r\n
    {clinician.personName}
    ,\r\n timeSlots.map(({ id, actual }) => (\r\n
    \r\n {availabilityTimeSlotFormat(actual.startDate, actual.endDate)}\r\n
    \r\n )),\r\n
    \r\n \r\n \r\n \r\n {locale.getMsg('numberOfAssignedVisits', [clinician.assignedVisitsCount.toString()])}\r\n \r\n \r\n \r\n \r\n {locale.getMsg('visitsCompleted', [\r\n clinician.completedVisitsCount.toString(),\r\n clinician.assignedVisitsCount.toString(),\r\n ])}\r\n \r\n \r\n \r\n Location: {clinician.clinicianLocation.name}\r\n \r\n \r\n Postcode: {clinician.clinicianLocation.postCode}\r\n \r\n {isMileageCapEnabled && (\r\n \r\n Mileage Cap: {clinician.mileageCap}\r\n \r\n )}\r\n \r\n
    ,\r\n ]}\r\n
    \r\n );\r\n\r\n return (\r\n {clinician.name}}\r\n zIndexOffset={1}\r\n icon={icon}\r\n position={[clinician.clinicianLocation.latitude, clinician.clinicianLocation.longitude]}\r\n >\r\n {popupContent}\r\n \r\n );\r\n};\r\n\r\nexport default ClinicianLocationMarker;\r\n","import React, { useState, useRef } from 'react';\r\nimport L from 'leaflet';\r\nimport 'leaflet-routing-machine';\r\nimport { Map, TileLayer, MapLayer, LayerGroup } from 'react-leaflet';\r\nimport MarkerClusterGroup from 'react-leaflet-markercluster';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport ClinicianLocationMarker from './ClinicianLocationMarker';\r\nimport AssignmentLocationMarker from './AssignmentLocationMarker';\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\nimport { CardItemsColumnHtml } from './ClinicianList';\r\nimport { useFetchMapViewDetails } from '../../../actions/areas/planner';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { getElementPropsByClass } from '../timeline/timelineHelper';\r\n\r\nimport { SearchFilter } from '../Filters/SearchFilter';\r\nimport { Filters } from '../Filters/Filters';\r\nimport { SortOptionsDialog } from '../Filters/SortOptionsDialog';\r\nimport { sortClinicianOptions, sortingIconMap } from '../timeline/timelineConstants';\r\n\r\nimport _ from '../../../utils/lodash';\r\nimport { VisitType } from '../../../enums';\r\n\r\nconst useStyles = makeStyles({\r\n clinicianPopModal: {\r\n backgroundColor: '#333333',\r\n color: '#fff',\r\n padding: '1px',\r\n minWidth: '135px',\r\n },\r\n});\r\n\r\nclass RoutingMachine extends MapLayer {\r\n getWaypoints = locations =>\r\n locations.filter(l => !!l).map(location => L.latLng(location.latitude, location.longitude));\r\n\r\n createLeafletElement() {\r\n const { locations } = this.props;\r\n const waypoints = this.getWaypoints(locations);\r\n return L.Routing.control({\r\n router: L.Routing.osrmv1({\r\n serviceUrl: `${globals.urls.apiUrl}/OSRMProxy/Route`,\r\n }),\r\n waypoints,\r\n createMarker: () => false,\r\n addWaypoints: false,\r\n draggableWaypoints: false,\r\n })\r\n .addTo(this.context.map)\r\n .getPlan();\r\n }\r\n\r\n updateLeafletElement(fromProps, toProps) {\r\n if (\r\n fromProps.locations.length !== toProps.locations.length ||\r\n fromProps.locations\r\n .filter(e => !!e)\r\n .map(r => r.name)\r\n .join() !==\r\n toProps.locations\r\n .filter(e => !!e)\r\n .map(r => r.name)\r\n .join()\r\n ) {\r\n const waypoints = this.getWaypoints(toProps.locations);\r\n\r\n this.leafletElement.setWaypoints(waypoints);\r\n }\r\n }\r\n}\r\n\r\nexport function MapViewPage() {\r\n const [forceRefresh] = useState(false);\r\n const [activeClinician, setActiveClinician] = useState({ id: null, postingId: null });\r\n const classes = useStyles();\r\n const [clinicianFilterPhrase, setClinicianFilterPhrase] = useState('');\r\n const [clinciianFilterOption, setClinciianFilterOption] = useState(1);\r\n const [clinciianSortingOptions, setClinicianSortingOptions] = useState(sortClinicianOptions);\r\n const [showMoreAnchor, setShowMoreAnchor] = useState(null);\r\n const { data: timeLineData, isDataLoading } = useFetchMapViewDetails(forceRefresh);\r\n\r\n const mapView = useRef();\r\n\r\n if (isDataLoading)\r\n return Wait a moment while we gather timeline info...;\r\n\r\n const filteredData = _.filter(\r\n timeLineData.data,\r\n x =>\r\n clinicianFilterPhrase === '' ||\r\n x.clinician.personName.toLowerCase().indexOf(clinicianFilterPhrase) !== -1 ||\r\n x.clinician.staffNumber.startsWith(clinicianFilterPhrase),\r\n );\r\n\r\n const getDayPlanLayer = () => {\r\n let assignments = null;\r\n let locations = [];\r\n const selectedClinician = filteredData.find(\r\n el => el.clinician.id === activeClinician.id && el.clinician.postingId === activeClinician.postingId,\r\n );\r\n\r\n if (selectedClinician) {\r\n if (selectedClinician.clinician.clinicianLocation) {\r\n mapView.current.leafletElement.flyTo([\r\n selectedClinician.clinician.clinicianLocation.latitude,\r\n selectedClinician.clinician.clinicianLocation.longitude,\r\n ]);\r\n }\r\n\r\n if (selectedClinician.assignments.length > 0) {\r\n assignments = selectedClinician.assignments\r\n .filter(r => !!r.location && r.visitType !== VisitType.PhoneCall)\r\n .map((assignment, index) => (\r\n \r\n ));\r\n locations = [\r\n selectedClinician.clinician.clinicianLocation,\r\n ...selectedClinician.assignments\r\n .filter(a => !!a && a.visitType !== VisitType.PhoneCall)\r\n .map(assignment => assignment.location),\r\n ];\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {assignments}\r\n \r\n );\r\n };\r\n\r\n const setFilterValue = (name, value) => {\r\n setClinciianFilterOption(value);\r\n const sortedList = clinciianSortingOptions.map(cl => {\r\n if (cl.id === value) {\r\n return {\r\n ...cl,\r\n name: (\r\n \r\n {`✓ ${cl.label}`} \r\n \r\n ),\r\n isAsc: !cl.isAsc,\r\n };\r\n }\r\n return {\r\n ...cl,\r\n name: cl.label,\r\n isAsc: false,\r\n };\r\n });\r\n setClinicianSortingOptions(sortedList);\r\n };\r\n\r\n // Sorting the filtered data source\r\n const selectedSortingOption = clinciianSortingOptions.find(o => o.id === clinciianFilterOption);\r\n const isAsc = selectedSortingOption.isAsc;\r\n\r\n filteredData.sort((a, b) => {\r\n const propertyName = selectedSortingOption.propertyName;\r\n if (isAsc && a.clinician[propertyName] > b.clinician[propertyName]) return 1;\r\n if (!isAsc && a.clinician[propertyName] < b.clinician[propertyName]) return 1;\r\n if (isAsc && a.clinician[propertyName] < b.clinician[propertyName]) return -1;\r\n if (!isAsc && a.clinician[propertyName] > b.clinician[propertyName]) return -1;\r\n return 0;\r\n });\r\n\r\n const markers = filteredData\r\n .filter(r => !!r.clinician.clinicianLocation)\r\n .map(({ ...props }) => (\r\n \r\n ));\r\n\r\n const defaultZoom = 10;\r\n const defaultCenter = [51.505, -0.09];\r\n const heightOffset = 70 + getElementPropsByClass('page-header').height;\r\n const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\r\n const minHeight = windowHeight - heightOffset;\r\n document.title = 'Planner Map view';\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Left static column showing 'Clinicians Cards' */}\r\n\r\n
    \r\n
    \r\n
    \r\n setClinicianFilterPhrase(value)}\r\n />\r\n \r\n
    \r\n\r\n
    \r\n setShowMoreAnchor(event.target)}\r\n />\r\n setShowMoreAnchor(null)}\r\n width=\"100%\"\r\n fullWidth\r\n data={clinciianSortingOptions}\r\n filterKey={'sortClinicianFilter'}\r\n filterValue={clinciianFilterOption || sortClinicianOptions[0].id}\r\n onChange={(name, value) => setFilterValue(name, value)}\r\n />\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n\r\n {/* Timeline scheduler grid content */}\r\n
    \r\n \r\n \r\n {getDayPlanLayer()}\r\n {markers}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","export function createCSSSelector(selector, style) {\r\n let styleSheet;\r\n let mediaType;\r\n if (!document.styleSheets) return;\r\n if (document.getElementsByTagName('head').length === 0) return;\r\n\r\n if (document.styleSheets.length > 0) {\r\n for (let i = 0, l = document.styleSheets.length; i < l; i += 1) {\r\n if (document.styleSheets[i].disabled !== true) {\r\n const media = document.styleSheets[i].media;\r\n mediaType = typeof media;\r\n\r\n if (mediaType === 'string') {\r\n if (media === '' || media.indexOf('screen') !== -1) {\r\n styleSheet = document.styleSheets[i];\r\n }\r\n } else if (mediaType === 'object') {\r\n if (media.mediaText === '' || media.mediaText.indexOf('screen') !== -1) {\r\n styleSheet = document.styleSheets[i];\r\n }\r\n }\r\n\r\n if (typeof styleSheet !== 'undefined') {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (typeof styleSheet === 'undefined') {\r\n const styleSheetElement = document.createElement('style');\r\n styleSheetElement.type = 'text/css';\r\n document.getElementsByTagName('head')[0].appendChild(styleSheetElement);\r\n\r\n for (let i = 0; i < document.styleSheets.length; i += 1) {\r\n if (document.styleSheets[i].disabled !== true) {\r\n styleSheet = document.styleSheets[i];\r\n }\r\n }\r\n\r\n mediaType = typeof styleSheet.media;\r\n }\r\n\r\n if (mediaType === 'string') {\r\n for (let i = 0, l = styleSheet.rules.length; i < l; i += 1) {\r\n if (\r\n styleSheet.rules[i].selectorText &&\r\n styleSheet.rules[i].selectorText.toLowerCase() === selector.toLowerCase()\r\n ) {\r\n styleSheet.rules[i].style.cssText = style;\r\n return;\r\n }\r\n }\r\n styleSheet.addRule(selector, style);\r\n } else if (mediaType === 'object') {\r\n const styleSheetLength = styleSheet.cssRules ? styleSheet.cssRules.length : 0;\r\n for (let i = 0; i < styleSheetLength; i += 1) {\r\n if (\r\n styleSheet.cssRules[i].selectorText &&\r\n styleSheet.cssRules[i].selectorText.toLowerCase() === selector.toLowerCase()\r\n ) {\r\n styleSheet.cssRules[i].style.cssText = style;\r\n return;\r\n }\r\n }\r\n styleSheet.insertRule(`${selector}{${style}}`, styleSheetLength);\r\n }\r\n}\r\n","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable jsx-a11y/no-static-element-interactions */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable import/no-named-as-default-member */\r\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\r\nimport React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Box, Tooltip } from '@material-ui/core';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport LocationOnIcon from '@material-ui/icons/LocationOn';\r\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport LinearProgress from '@material-ui/core/LinearProgress';\r\nimport PhoneIcon from '@material-ui/icons/Phone';\r\nimport DoneAllIcon from '@material-ui/icons/DoneAll';\r\n\r\nimport _ from '../../../utils/lodash';\r\nimport useTimeline from '../timeline/useTimeline';\r\nimport { SearchFilter } from '../Filters/SearchFilter';\r\nimport { SortOptionsDialog } from '../Filters/SortOptionsDialog';\r\nimport { sortTreatmentOptions, sortingIconMap } from '../timeline/timelineConstants';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { DayPeriod, VisitType, compareRag } from '../../../enums';\r\nimport TimelineDockerPanel from '../timeline/TimelineDockerPanel';\r\nimport { highlightAvailableSlots } from '../timeline/timelineHelper';\r\n\r\nconst style = {\r\n root: {\r\n minWidth: 500,\r\n },\r\n};\r\n\r\nconst useStyles = makeStyles({\r\n clinicianPopModal: {\r\n backgroundColor: '#333333',\r\n color: '#fff',\r\n padding: '5px',\r\n minWidth: '135px',\r\n },\r\n});\r\n\r\n// eslint-disable-next-line react/prop-types\r\nexport default function TreatmentInstances({\r\n baseRequestModel,\r\n clinicianIds,\r\n treatmentInstances,\r\n filteredTreatmentInstances,\r\n filteredCancelledTreatmentInstances,\r\n isAdvanceFilterActive,\r\n toggleRefresh,\r\n includeTreatments,\r\n isNotClickable,\r\n isMultiAssign,\r\n setIsMultiAssign,\r\n}) {\r\n const [patientFilterPhrase, setPatientFilterPhrase] = useState('');\r\n const classes = useStyles();\r\n const [treatmentFilterOption, setTreatmentFilterOption] = useState(1);\r\n const [treatmentSortingOptions, setTreatmentSortingOptions] = useState(sortTreatmentOptions);\r\n const [showMoreAnchor, setShowMoreAnchor] = useState(null);\r\n const [loadingTimeSlots, setLoadingTimeSlots] = useState({ treatmentId: null, timeSlotId: null, value: false });\r\n\r\n const faList = useSelector(store => store.global.auth.featureAccessList);\r\n const {\r\n getFlag,\r\n resetTreatmentClickEvent,\r\n activeTreatment,\r\n setActiveUnassignedTreatment,\r\n setActiveTreatment,\r\n getAccessToken,\r\n getAvailableTimeSpans,\r\n resetContextAndModify,\r\n getMultiSelectedTreatments: multiSelectedTreatments,\r\n setMultiSelectedTreatments,\r\n } = useTimeline();\r\n\r\n const filteredData = _.remove(\r\n isAdvanceFilterActive\r\n ? [...filteredTreatmentInstances, ...filteredCancelledTreatmentInstances]\r\n : [...treatmentInstances],\r\n x =>\r\n patientFilterPhrase === '' ||\r\n x.patientName.toLowerCase().indexOf(patientFilterPhrase) !== -1 ||\r\n x.nhsNumber.toLowerCase().indexOf(patientFilterPhrase) !== -1,\r\n );\r\n\r\n const handleTreatmentClick = item => {\r\n setIsMultiAssign(false);\r\n if (activeTreatment && activeTreatment.treatmentId === item.treatmentId) {\r\n setActiveTreatment(null);\r\n } else if (checkFeatureAccess(faList, globals.applicationFeatureAccesses.canAllocateWork)) {\r\n const model = {};\r\n model.clinicianIds = clinicianIds;\r\n model.treatmentId = item.treatmentId;\r\n model.TimeSlotId = item.timeSlotId;\r\n\r\n highlightAvailableSlots(\r\n false,\r\n item,\r\n _.merge(model, baseRequestModel),\r\n setLoadingTimeSlots,\r\n getFlag,\r\n resetTreatmentClickEvent,\r\n setActiveTreatment,\r\n getAccessToken,\r\n );\r\n }\r\n };\r\n\r\n const handleOpenPanel = (e, item) => {\r\n e.stopPropagation();\r\n const treatment = _.cloneDeep(item) || {};\r\n setActiveUnassignedTreatment(treatment);\r\n };\r\n\r\n const handleMultiSelect = item => {\r\n if (!multiSelectedTreatments.some(t => t.treatmentId === item.treatmentId && t.timeSlotId === item.timeSlotId)) {\r\n setMultiSelectedTreatments([\r\n ...multiSelectedTreatments,\r\n {\r\n treatmentId: item.treatmentId,\r\n nhsNumber: item.nhsNumber,\r\n patientName: item.patientName,\r\n timeSlotId: item.timeSlotId,\r\n treatmentInstanceId: item.treatmentInstanceId != null ? item.treatmentInstanceId : -1,\r\n treatmentInstanceActivities: item.treatmentInstanceActivities,\r\n treatmentPostcode: item.postcode,\r\n orgUnitId: baseRequestModel.OrgUnitId,\r\n selectedDate: baseRequestModel.SelectedDate,\r\n treatmentTimeType: item.treatmentTimeType,\r\n timeSlots: item.timeSlots,\r\n masterId: item.masterId,\r\n visitType: item.visitType,\r\n isBundled: item.isBundled,\r\n },\r\n ]);\r\n } else {\r\n setMultiSelectedTreatments(\r\n multiSelectedTreatments.filter(e => e.treatmentId !== item.treatmentId || e.timeSlotId !== item.timeSlotId),\r\n );\r\n }\r\n\r\n if (isMultiAssign) {\r\n setIsMultiAssign(false);\r\n }\r\n };\r\n\r\n const hasTimeSlots = getFlag('enableMultipleSelection')\r\n ? _.some(getAvailableTimeSpans().clinicianTimeSpans, item => item.timeSpans.length > 0)\r\n : _.some(getAvailableTimeSpans(), item => item.timeSpans.length > 0);\r\n\r\n const treatmentRender = item => {\r\n const isTreatmentInstanceCancelled = item.isCancelled;\r\n const isAssignable = 1;\r\n const ragStatus = item.ragStatus.name.toLowerCase();\r\n const isSpecific = item.isSingleTimeSlot && item.treatmentTimeType === 'SpecificTime';\r\n\r\n const isLoading =\r\n loadingTimeSlots.value &&\r\n loadingTimeSlots.treatmentId === item.treatmentId &&\r\n loadingTimeSlots.timeSlotId === item.timeSlotId;\r\n\r\n const timeSlotColor = classNames({\r\n specificTimeSlot: isSpecific,\r\n singleTimeSlot: item.isSingleTimeSlot && !isSpecific,\r\n multipleTimeSlot: !item.isSingleTimeSlot,\r\n 'is-copy': item.masterId,\r\n });\r\n\r\n const isTreatmentSelected = activeTreatment\r\n ? activeTreatment.treatmentId === item.treatmentId && activeTreatment.timeSlotId === item.timeSlotId\r\n : false;\r\n\r\n const multiSelectTreatment = multiSelectedTreatments\r\n ? getFlag('enableMultipleSelection') &&\r\n multiSelectedTreatments.some(t => t.treatmentId === item.treatmentId && t.timeSlotId === item.timeSlotId)\r\n : false;\r\n\r\n const treatmentClass = classNames('treatment-details', {\r\n 'active-treatment': isTreatmentSelected && !getFlag('enableMultipleSelection'),\r\n 'with-no-timeslots': !hasTimeSlots && !getFlag('enableMultipleSelection'),\r\n 'selected-default': !getFlag('enableMultipleSelection') && isLoading,\r\n 'multiSelect-treatment': multiSelectTreatment,\r\n 'disabled-card': getFlag('enableMultipleSelection') && item.masterId,\r\n 'canceled-visit': isTreatmentInstanceCancelled,\r\n });\r\n\r\n const isLoadingMultiple =\r\n loadingTimeSlots.value && multiSelectedTreatments.some(x => x.treatmentId === loadingTimeSlots.treatmentId);\r\n\r\n const isTreatmentMultiSelected =\r\n multiSelectedTreatments.filter(x => x.treatmentId === item.treatmentId && x.timeSlotId === item.timeSlotId)\r\n .length === 1;\r\n\r\n const treatmentsClass = classNames('treatment-details', {\r\n 'multiSelect-treatment': multiSelectTreatment,\r\n 'active-treatment with-no-timeslots': !isLoadingMultiple && !hasTimeSlots && isTreatmentMultiSelected,\r\n 'selected-default': isLoadingMultiple && isTreatmentMultiSelected,\r\n });\r\n\r\n const numberOfCliniciansClass = classNames('treatment-info', {\r\n 'copies-in-other-unit': item.numberOfClinicians > item.numberOfCliniciansInOrgUnit,\r\n });\r\n\r\n return (\r\n handleMultiSelect(item)\r\n : isAssignable\r\n ? () => handleTreatmentClick(item)\r\n : null\r\n }\r\n >\r\n \r\n \r\n
    \r\n \r\n {isLoading && (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {item.patientName}\r\n \r\n \r\n {item.band}\r\n \r\n {item.dayPeriod === DayPeriod.AM && (\r\n \r\n AM\r\n \r\n )}\r\n {item.dayPeriod === DayPeriod.PM && (\r\n \r\n PM\r\n \r\n )}\r\n {item.isBundled && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {item.activities}\r\n \r\n {item.numberOfActivities > 1 && (\r\n {item.numberOfActivities - 1}\r\n )}\r\n \r\n\r\n \r\n {item.nhsNumber}\r\n \r\n\r\n \r\n \r\n \r\n {item.visitType === VisitType.PhoneCall ? (\r\n \r\n \r\n {item.contactNumber}\r\n \r\n ) : (\r\n \r\n \r\n {item.postcode}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {item.totalTime}\r\n \r\n \r\n \r\n \r\n \r\n {item.numberOfClinicians - item.numberOfAssignedClinicians}\r\n \r\n \r\n {item.isReviewDate && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {item.unassignSourceBySystem && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {item.preferredClinicianId && item.masterId === null && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n handleOpenPanel(e, item)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const setFilterValue = (name, value) => {\r\n setTreatmentFilterOption(value);\r\n const sortedList = treatmentSortingOptions.map(cl => {\r\n if (cl.id === value) {\r\n return {\r\n ...cl,\r\n name: (\r\n \r\n {`✓ ${cl.label}`} \r\n \r\n ),\r\n isAsc: !cl.isAsc,\r\n };\r\n }\r\n return {\r\n ...cl,\r\n name: cl.label,\r\n isAsc: false,\r\n };\r\n });\r\n setTreatmentSortingOptions(sortedList);\r\n };\r\n\r\n const toggleMultiSelect = () =>\r\n resetContextAndModify({\r\n flags: { enableMultipleSelection: !getFlag('enableMultipleSelection'), showLegend: getFlag('showLegend') },\r\n });\r\n\r\n // Sorting the filtered data source\r\n const selectedSortingOption = treatmentSortingOptions.find(o => o.id === treatmentFilterOption);\r\n const isAsc = selectedSortingOption.isAsc;\r\n const updatedData = filteredData.sort((a, b) => {\r\n const propertyName = selectedSortingOption.propertyName;\r\n if (propertyName === 'ragStatus') {\r\n const compare = compareRag(a[propertyName].name, b[propertyName].name);\r\n if (isAsc) return compare;\r\n if (!isAsc) return -compare;\r\n } else {\r\n if (isAsc && a[propertyName] > b[propertyName]) return 1;\r\n if (!isAsc && a[propertyName] < b[propertyName]) return 1;\r\n if (isAsc && a[propertyName] < b[propertyName]) return -1;\r\n if (!isAsc && a[propertyName] > b[propertyName]) return -1;\r\n }\r\n return 0;\r\n });\r\n\r\n const renderFilterSection = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n setPatientFilterPhrase(value)}\r\n id=\"treatment_search\"\r\n />\r\n \r\n
    \r\n\r\n
    \r\n \r\n setShowMoreAnchor(event.target)}\r\n />\r\n \r\n setShowMoreAnchor(null)}\r\n width=\"100%\"\r\n fullWidth\r\n data={treatmentSortingOptions}\r\n filterKey={'sortTreatmentFilter'}\r\n filterValue={treatmentFilterOption || treatmentSortingOptions[0].id}\r\n onChange={(name, value) => setFilterValue(name, value)}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const selectAllTreatments = () => {\r\n setMultiSelectedTreatments(\r\n updatedData\r\n .filter(item => !item.masterId)\r\n .map(t => {\r\n return {\r\n treatmentId: t.treatmentId,\r\n patientName: t.patientName,\r\n timeSlotId: t.timeSlotId,\r\n treatmentInstanceId: t.treatmentInstanceId != null ? t.treatmentInstanceId : -1,\r\n };\r\n }),\r\n );\r\n };\r\n\r\n return (\r\n
    \r\n \r\n {renderFilterSection()}\r\n
    \r\n {updatedData.length ? (\r\n updatedData.map(treatmentRender)\r\n ) : (\r\n
    No patients available
    \r\n )}\r\n
    \r\n {multiSelectedTreatments.length > 0 && (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable import/no-unresolved */\r\n/* eslint-disable import/extensions */\r\nimport React from 'react';\r\n\r\nimport { TimelineProvider } from '../timeline/TimelineContext';\r\nimport TimelineScheduler from '../ClinicianView/TimelineScheduler';\r\n\r\nimport LoadingPageText from '../../common/Loading/LoadingPageText';\r\nimport { useFetchPlanningDetails } from '../../../actions/areas/planner';\r\n\r\nexport function TreatmentViewPage() {\r\n document.title = 'Planner treatment view';\r\n const includeTreatments = true;\r\n const {\r\n data: timeLineData,\r\n isDataLoading,\r\n baseRequestModel,\r\n isUpdateTriggered,\r\n error,\r\n refresh,\r\n } = useFetchPlanningDetails(includeTreatments);\r\n\r\n if (isDataLoading)\r\n return Wait a moment while we gather timeline info...;\r\n\r\n const timelineSettings = {\r\n ...timeLineData,\r\n baseRequestModel,\r\n isUpdateTriggered,\r\n error,\r\n includeTreatments,\r\n toggleForceRefresh: refresh,\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","export * from './TreatmentView/TreatmentViewPage';\r\nexport * from './ClinicianView/ClinicianViewPage';\r\nexport * from './MapView/MapViewPage';\r\nexport * from './ClinicianGroups/ClinicianGroupPage';\r\n","/* eslint-disable react/prop-types */\r\nimport React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nexport const contextDefaultProps = {\r\n accessToken: null,\r\n liveTrackingTick: null,\r\n liveTrackingIntervalFunc: null,\r\n flags: {\r\n showTravelTime: true,\r\n showClinicianDetails: false,\r\n showClinicianTreatments: false,\r\n isEditMode: false,\r\n showLegend: false,\r\n showCopy: false,\r\n shouldReloadClinicianTreatments: false,\r\n enableMultipleSelection: false,\r\n shouldResetCancelTreatmentInstance: false,\r\n showTreatmentNotesSidePanel: false,\r\n showConvertVisitSidePanel: false,\r\n },\r\n activeClinician: {\r\n id: null,\r\n postingId: null,\r\n treatments: [],\r\n activeTreatment: null,\r\n activeUnassignedTreatment: null,\r\n },\r\n availableTimeSpans: [],\r\n activeAssignment: null,\r\n assignmentForEdit: null,\r\n activeTreatmentInstanceForCopy: null,\r\n alertMessage: null,\r\n activeUnassignedTreatmentForCancel: null,\r\n activeUnassignedTreatmentForReschedule: null,\r\n activeNonPatientAssignment: null,\r\n activeNonPatientAssignmentForReschedule: null,\r\n activeUnassignedTreatmentForChangeUnit: null,\r\n multiSelectedTreatments: [],\r\n};\r\n\r\nconst TimelineContext = React.createContext([{}, () => {}]);\r\n\r\nconst TimelineProvider = props => {\r\n contextDefaultProps.auth = useSelector(state => state.global.auth);\r\n const [state, setState] = useState({ ...contextDefaultProps });\r\n return {props.children};\r\n};\r\n\r\nexport { TimelineContext, TimelineProvider };\r\n","import React from 'react';\r\nimport { Dialog, DialogContent, DialogActions, Button } from '@material-ui/core';\r\nimport Alert from '@material-ui/lab/Alert';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('userActions');\r\n\r\nexport default function TimelineDialog({ bodyContent, onClose, setIsActionRunning }) {\r\n const handleClose = () => {\r\n setIsActionRunning(false);\r\n onClose();\r\n };\r\n\r\n return (\r\n \r\n \r\n {locale.getMsg('warning')}\r\n
    {bodyContent}
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","/* eslint-disable array-callback-return */\r\nimport React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport RemoveCircleIcon from '@material-ui/icons/RemoveCircle';\r\nimport DockerPanel from '../../common/DockerPanel/DockerPanel';\r\nimport BulkCancel from '../ClinicianView/CancelTreatment/BulkCancel';\r\nimport BundleVisitsDetails from '../BundleVisit/BundleVisitsDetails';\r\nimport {\r\n disableBundleVisitButton,\r\n disableAssignVisitButton,\r\n disableWhenAnyStatementIsTrue,\r\n} from '../../../components/Planner/timeline/timelineDockerHelper';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport { highlightAvailableSlots } from '../timeline/timelineHelper';\r\nimport useTimeline from '../timeline/useTimeline';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport _ from '../../../utils/lodash';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\n\r\nexport default function TimelineDockerPanel({\r\n items: selectedTreatments,\r\n clinicianIds,\r\n toggleRefresh,\r\n includeTreatments,\r\n onCancel,\r\n onSelectAll,\r\n setLoadingTimeSlots,\r\n setIsMultiAssign,\r\n isMultiAssign,\r\n baseRequestModel,\r\n}) {\r\n const [showBulkCancel, setShowBulkCancel] = useState(false);\r\n const [showBundleVisitsSidePanel, setBundleVisitSidePanel] = useState(false);\r\n const faList = useSelector(store => store.global.auth.featureAccessList);\r\n const { getFlag, resetTreatmentClickEvent, activeTreatment, setActiveTreatment, getAccessToken } = useTimeline();\r\n\r\n const getAvailableTimeSpansForVisits = () => {\r\n if (activeTreatment) {\r\n setActiveTreatment(null);\r\n }\r\n if (checkFeatureAccess(faList, globals.applicationFeatureAccesses.canAllocateWork)) {\r\n setIsMultiAssign(true);\r\n\r\n const model = {};\r\n model.clinicianIds = clinicianIds;\r\n model.treatmentIds = selectedTreatments.flatMap(x => x.treatmentId);\r\n model.timeSlotIds = selectedTreatments.flatMap(x => x.timeSlotId);\r\n\r\n highlightAvailableSlots(\r\n true,\r\n selectedTreatments,\r\n _.merge(model, baseRequestModel),\r\n setLoadingTimeSlots,\r\n getFlag,\r\n resetTreatmentClickEvent,\r\n setActiveTreatment,\r\n getAccessToken,\r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n {!showBulkCancel &&\r\n (!showBundleVisitsSidePanel && (\r\n \r\n {includeTreatments && (\r\n getAvailableTimeSpansForVisits()}\r\n >\r\n \r\n {locale.getMsg('assignVisits')}\r\n \r\n )}\r\n setBundleVisitSidePanel(true)}\r\n >\r\n \r\n {locale.getMsg('bundleVisits')}\r\n \r\n x.isBundled === true).length > 0,\r\n isMultiAssign,\r\n )}\r\n onClick={() => setShowBulkCancel(true)}\r\n >\r\n \r\n {locale.getMsg('cancelVisits')}\r\n \r\n \r\n ))}\r\n {showBulkCancel && (\r\n \r\n )}\r\n {showBundleVisitsSidePanel && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport shortid from 'shortid';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport { IconButton, Box } from '@material-ui/core';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport UnfoldMoreIcon from '@material-ui/icons/UnfoldMore';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\n\r\nimport useTimeline from '../timeline/useTimeline';\r\nimport { legendItemsCards, legendItemsOthers } from '../../../utils/icons';\r\n\r\nexport default function TimelineLegend() {\r\n const { toggleFlag } = useTimeline();\r\n\r\n const [showMore, setShowMore] = useState(false);\r\n\r\n const renderLegendItems = item => {\r\n return (\r\n \r\n {item.iconComponent}\r\n \r\n \r\n );\r\n };\r\n\r\n const renderGroupsOfLegends = group => {\r\n return (\r\n \r\n {group.map(renderLegendItems)}\r\n \r\n );\r\n };\r\n\r\n return (\r\n {}}\r\n onOpen={() => {}}\r\n variant=\"persistent\"\r\n PaperProps={{\r\n style: { opacity: '0.95' },\r\n }}\r\n >\r\n \r\n \r\n {/* \r\n {' '}\r\n Card Icons\r\n */}\r\n \r\n toggleFlag('showLegend')} style={{ float: 'right' }}>\r\n \r\n \r\n setShowMore(!showMore)} style={{ float: 'right' }}>\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {legendItemsCards.map(renderGroupsOfLegends)}\r\n \r\n {showMore && (\r\n
    \r\n \r\n {legendItemsOthers.map(renderGroupsOfLegends)}\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","/* eslint-disable no-unused-vars */\r\n/* eslint-disable no-undef */\r\n/* eslint-disable react/no-array-index-key */\r\nimport React, { useState, useEffect } from 'react';\r\nimport moment from 'moment';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport ClinicianActivities from '../ClinicianView/ClinicianActivities';\r\nimport ClinicianTreatments from '../ClinicianView/ClinicianTreatments';\r\nimport AssignmentDetails from '../ClinicianView/AssignmentDetails/AssignmentDetails';\r\nimport ClinicianDetails from '../ClinicianView/ClinicianDetails/ClinicianDetails';\r\nimport { ClinicianCards } from '../ClinicianView/ClinicianCards';\r\nimport CopyTreatment from '../ClinicianView/CopyTreatment/CopyTreatment';\r\nimport { ClinicianTreatmentDetails } from '../ClinicianView/UnassignedTreatments/ClinicianTreatmentDetails';\r\nimport NonPatientActivityDetails from '../ClinicianView/AssignmentDetails/NonPatientActivityDetails';\r\nimport TreatmentInstances from '../TreatmentView/TreatmentInstances';\r\nimport TimelineDialog from './TimelineDialog';\r\nimport useTimeline from '../timeline/useTimeline';\r\nimport _ from '../../../utils/lodash';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { parseDateUtc, timeIsBetweenDateRange } from '../../../utils/dates';\r\nimport {\r\n timelineGridHtml,\r\n renderSchedulerHourColumns,\r\n sortClinicianOptions,\r\n sortingIconMap,\r\n} from './timelineConstants';\r\nimport {\r\n getElementPropsByClass,\r\n getElementsByClass,\r\n setElementProp,\r\n setTimelineHeight,\r\n getSchedulerPeriod,\r\n handleScrolls,\r\n getTravelMinutesFromElement,\r\n} from './timelineHelper';\r\n\r\n// eslint-disable-next-line react/prop-types\r\nexport default function TimelineView({ settings, getClinicianTreatmentInstances, filteredInstances }) {\r\n const {\r\n getFlag,\r\n activeAssignment,\r\n activeTreatmentInstanceForCopy,\r\n activeUnassignedTreatment,\r\n activeNonPatientAssignment,\r\n activeClinicianId,\r\n } = useTimeline();\r\n const [clinciianFilterOption, setClinciianFilterOption] = useState(1);\r\n const [clinciianSortingOptions, setClinicianSortingOptions] = useState(sortClinicianOptions);\r\n const [isActionRunning, setIsActionRunning] = useState(false);\r\n const [forceReloadClinicianTreatments, setForceReloadClinicianTreatments] = useState(false);\r\n const [isMultiAssign, setIsMultiAssign] = useState(false);\r\n const [timelineDialogContent, setTimelineDialogContent] = useState({ content: null, refreshOnClose: false });\r\n\r\n const selectedSortingOption = clinciianSortingOptions.find(x => x.id === clinciianFilterOption);\r\n const isAsc = selectedSortingOption.isAsc;\r\n const locale = globals.getArea('dailyPlanning');\r\n const schedulerPeriod = getSchedulerPeriod(settings.period);\r\n\r\n const forceRefreshClinicianTreatments = () => {\r\n setForceReloadClinicianTreatments(!forceReloadClinicianTreatments);\r\n };\r\n\r\n const handleClinicianIsDirty = index => {\r\n if (settings.dataItems.length < index) return false;\r\n const availabilities = settings.dataItems[index].activities.availabilities.filter(item => {\r\n const isValidStartTime = timeIsBetweenDateRange(\r\n { dateFrom: schedulerPeriod.startDate, dateTo: schedulerPeriod.endDate },\r\n item.visual.startDate,\r\n );\r\n\r\n if (!isValidStartTime) {\r\n return timeIsBetweenDateRange(\r\n { dateFrom: schedulerPeriod.startDate, dateTo: schedulerPeriod.endDate },\r\n item.visual.endDate,\r\n );\r\n }\r\n\r\n return isValidStartTime;\r\n });\r\n\r\n return availabilities.length === 0;\r\n };\r\n\r\n const shouldHideClinician = index =>\r\n handleClinicianIsDirty(index) && settings.dataItems[index].activities.assignments.length === 0;\r\n\r\n const clinicians = [...settings.dataItems].filter((item, i) => !shouldHideClinician(i));\r\n clinicians.sort((a, b) => {\r\n const propertyName = selectedSortingOption.propertyName;\r\n if (isAsc && a.cardDetails[propertyName] > b.cardDetails[propertyName]) return 1;\r\n if (!isAsc && a.cardDetails[propertyName] < b.cardDetails[propertyName]) return 1;\r\n if (isAsc && a.cardDetails[propertyName] < b.cardDetails[propertyName]) return -1;\r\n if (!isAsc && a.cardDetails[propertyName] > b.cardDetails[propertyName]) return -1;\r\n return 0;\r\n });\r\n\r\n const setFilterValue = (name, value) => {\r\n setClinciianFilterOption(value);\r\n const sortedList = clinciianSortingOptions.map(cl => {\r\n if (cl.id === value) {\r\n return {\r\n ...cl,\r\n name: (\r\n \r\n {`✓ ${cl.label}`} \r\n \r\n ),\r\n isAsc: !cl.isAsc,\r\n };\r\n }\r\n return {\r\n ...cl,\r\n name: cl.label,\r\n isAsc: false,\r\n };\r\n });\r\n setClinicianSortingOptions(sortedList);\r\n };\r\n\r\n const hasData = settings.dataItems.length > 0;\r\n let dataLength = Array.from({ length: settings.dataItems.length }, (v, k) => k);\r\n const hoursArray = Array.from({ length: schedulerPeriod.duration }, (v, i) => {\r\n let h = schedulerPeriod.startHour + i;\r\n if (h >= 24) {\r\n h = Math.abs(h - 24);\r\n }\r\n return h;\r\n });\r\n\r\n dataLength = dataLength.map((a, v) => ({\r\n key: v,\r\n dontRender: shouldHideClinician(v),\r\n isDirty: handleClinicianIsDirty(v),\r\n }));\r\n\r\n const handleTimelineRender = () => {\r\n const schedule = {\r\n options: {\r\n containerId: 'timeline-schedule',\r\n h_width: getElementPropsByClass('timeline-hour-row').width, // get a width of hour div\r\n cell_duration: 60, // lesson duration (minutes)\r\n startTime: () => schedulerPeriod.startHour, // start at 6.00 AM\r\n endTime: () => schedulerPeriod.endHour, // end at 6.00 AM next day\r\n minScheduleTime: () => schedulerPeriod.startDate,\r\n maxScheduleTime: () => schedulerPeriod.endDate,\r\n minToPx() {\r\n // divide the box width by the duration of one lesson\r\n return schedule.options.h_width / schedule.options.cell_duration;\r\n },\r\n },\r\n general: {\r\n roundNumber(num) {\r\n return Math.round((num + Number.EPSILON) * 10) / 10;\r\n },\r\n getPosition(start, duration) {\r\n const translateX =\r\n moment.duration(start.diff(schedule.options.minScheduleTime())).asMinutes() * schedule.options.minToPx();\r\n const width = duration * schedule.options.minToPx();\r\n\r\n return [schedule.general.roundNumber(width), schedule.general.roundNumber(translateX)];\r\n },\r\n isToday: () => {\r\n const currentTime = parseDateUtc(globals.now);\r\n return currentTime.isBetween(schedule.options.minScheduleTime(), schedule.options.maxScheduleTime());\r\n },\r\n },\r\n setAssignmentsPosition: () => {\r\n // set visits position and width\r\n const schedulerAssignmentItems = getElementsByClass(schedule.options.containerId, '.timeline-assignment');\r\n _.each(schedulerAssignmentItems, item => {\r\n const borderOffset = 1;\r\n const startDateTime = parseDateUtc(item.startDateTime);\r\n const paddingOffset = startDateTime.isAfter(schedule.options.minScheduleTime()) ? 8 : 0;\r\n\r\n const [width, translateX] = schedule.general.getPosition(startDateTime, item.duration);\r\n const visitWidth = width - borderOffset;\r\n\r\n setElementProp(item.element, 'transform', `translateX(${translateX + borderOffset}px)`);\r\n setElementProp(item.element, 'width', `${visitWidth}px`);\r\n item.element.classList.remove('initial-render');\r\n\r\n // set visit travel time duration as Px\r\n const travelTimeElement = getTravelMinutesFromElement(item.element, '.visit-travel-section');\r\n let travelTimeWidthTotal = 0;\r\n if (travelTimeElement.duration > 0) {\r\n const [travelTimeWidth] = schedule.general.getPosition(startDateTime, travelTimeElement.duration);\r\n travelTimeWidthTotal = travelTimeWidth - paddingOffset;\r\n setElementProp(travelTimeElement.element, 'width', `${travelTimeWidthTotal}px`);\r\n }\r\n\r\n // set visit content width as Px\r\n const visitContentElement = item.element.querySelectorAll('.visit-content');\r\n if (visitContentElement && visitContentElement.length > 0) {\r\n setElementProp(visitContentElement[0], 'width', `${visitWidth - travelTimeWidthTotal - paddingOffset}px`);\r\n }\r\n });\r\n },\r\n setAvailabilityPosition: () => {\r\n // set availability/empty placeholders position and width\r\n const schedulerAvailabilityItems = getElementsByClass(\r\n schedule.options.containerId,\r\n '.timeline-availability-placeholder',\r\n );\r\n\r\n const activeTimeslots = [];\r\n _.each(schedulerAvailabilityItems, item => {\r\n const borderOffset = 1;\r\n const startDateTime = parseDateUtc(item.startDateTime);\r\n const [width, translateX] = schedule.general.getPosition(startDateTime, item.duration);\r\n\r\n setElementProp(item.element, 'transform', `translateX(${translateX + 1}px)`);\r\n setElementProp(item.element, 'width', `${width - borderOffset}px`);\r\n\r\n if (item.element.classList.contains('available')) {\r\n activeTimeslots.push({\r\n isAssignable: item.element.classList.contains('non-assignable'),\r\n translateX,\r\n translateY: 0,\r\n });\r\n }\r\n });\r\n\r\n const timelineContainer = getElementsByClass(schedule.options.containerId, '.timeline-rows-container');\r\n if (timelineContainer.length > 0 && timelineContainer[0].element) {\r\n const timelineContainerElement = timelineContainer[0].element;\r\n if (activeTimeslots.length > 0) {\r\n const sortedTimeslots = _.orderBy(\r\n activeTimeslots,\r\n ['isAssignable', 'translateX', 'translateY'],\r\n ['asc', 'asc', 'asc'],\r\n );\r\n const leftOffset = 70;\r\n const positionX =\r\n leftOffset > sortedTimeslots[0].translateX ? 0 : sortedTimeslots[0].translateX - leftOffset;\r\n\r\n if (typeof timelineContainerElement.scroll === 'function') {\r\n timelineContainerElement.scroll(positionX, 0);\r\n } else {\r\n timelineContainerElement.scrollLeft = positionX;\r\n }\r\n }\r\n }\r\n },\r\n handleTimelineHeight: () => {\r\n const heightOffset =\r\n 28 + // THIS NEED TO BE RE-VISIT after UI is completely done\r\n getElementPropsByClass('page-header').height +\r\n getElementPropsByClass('summary-hours-wrapper').height +\r\n getElementPropsByClass('clinicianview-filters-section').height +\r\n getElementPropsByClass('scheduler-header-section').height +\r\n getElementPropsByClass('timeline-head-info').height;\r\n\r\n setTimelineHeight(schedule.options.containerId, heightOffset); // Set timeline container Height\r\n handleScrolls(schedule.options.containerId); // Handle scrolls to timeline Body, Cards column and Header\r\n },\r\n setCurrentTimePosition: () => {\r\n // set currenttime line position and visibility\r\n const element = document.getElementById('current-time-wrapper');\r\n\r\n if (element) {\r\n if (schedule.general.isToday()) {\r\n const currentTime = parseDateUtc(globals.now);\r\n const currentTimeUtc = globals.now.utc();\r\n const minMinutes = currentTime.isSame(schedule.options.minScheduleTime(), 'day') // condition after midnight\r\n ? schedule.options.minScheduleTime().hours() * 60 + schedule.options.minScheduleTime().minutes()\r\n : currentTimeUtc.diff(currentTime, 'minutes');\r\n\r\n const nowMinutes = currentTime.hours() * 60 + currentTime.minutes();\r\n const translateX = (nowMinutes - minMinutes) * schedule.options.minToPx();\r\n\r\n setElementProp(element, 'transform', `translateX(${translateX}px)`);\r\n setElementProp(element, 'display', 'block');\r\n\r\n const lineHeight =\r\n getElementPropsByClass('timeline-activities').height >\r\n getElementPropsByClass('timeline-rows-container').height\r\n ? getElementPropsByClass('timeline-rows-container').scrollHeight - 25\r\n : getElementPropsByClass('timeline-rows-container').height - 35;\r\n setElementProp(element.querySelectorAll('.current-time-line')[0], 'height', `${lineHeight}px`);\r\n } else {\r\n setElementProp(element, 'display', 'none');\r\n }\r\n }\r\n },\r\n setHighlightRow: () => {\r\n // set currenttime line position and visibility\r\n const element = document.getElementsByClassName('highlight-row');\r\n\r\n if (element && element.length > 0) {\r\n setElementProp(element[0], 'width', `${getElementPropsByClass('timeline-rows-container').scrollWidth}px`);\r\n }\r\n },\r\n initialize: () => {\r\n schedule.setAssignmentsPosition();\r\n schedule.setAvailabilityPosition();\r\n schedule.handleTimelineHeight();\r\n setTimeout(schedule.setCurrentTimePosition, 100);\r\n setTimeout(schedule.setHighlightRow, 100);\r\n },\r\n };\r\n\r\n if (!settings.isUpdateTriggered) schedule.initialize();\r\n\r\n const funcExist = window.recalculate && typeof window.recalculate === 'function';\r\n if (!funcExist) window.recalculate = schedule.handleTimelineHeight;\r\n };\r\n\r\n const clinicianIds = _.map(settings.clinicians, 'id');\r\n useEffect(() => {\r\n handleTimelineRender();\r\n }, [settings.isUpdateTriggered, getFlag('showTravelTime'), getFlag('isEditMode'), activeClinicianId, clinicianIds]);\r\n\r\n const dataItemsRender = () => {\r\n if (hasData) {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
     
    \r\n
    \r\n
    \r\n {clinicians.map((item, index) => (\r\n \r\n ))}\r\n
    \r\n {hoursArray.map((item, index) => renderSchedulerHourColumns(index, dataLength))}\r\n
    \r\n );\r\n }\r\n return (\r\n
    \r\n {locale.getMsg('noCliniciansAvailable')}\r\n
    \r\n );\r\n };\r\n\r\n const onTimelineDialogClose = () => {\r\n if (timelineDialogContent.refreshOnClose) {\r\n settings.toggleForceRefresh();\r\n }\r\n setTimelineDialogContent({ content: null, refreshOnClose: false });\r\n };\r\n\r\n const renderClinicianTreatmentList = () => {\r\n const isTreatmentView = settings.includeTreatments;\r\n\r\n if (isTreatmentView) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n \r\n {getFlag('showClinicianTreatments') && (\r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {renderClinicianTreatmentList()}\r\n {/* Timeline scheduler grid content */}\r\n
    \r\n
    {timelineGridHtml(hoursArray)}
    \r\n {dataItemsRender()}\r\n
    \r\n
    \r\n {activeAssignment !== null && (\r\n \r\n )}\r\n {activeUnassignedTreatment !== null && (\r\n \r\n )}\r\n {getFlag('showClinicianDetails') && (\r\n \r\n )}\r\n {activeTreatmentInstanceForCopy !== null && (\r\n \r\n )}\r\n {activeNonPatientAssignment !== null && (\r\n \r\n )}\r\n {!!timelineDialogContent.content && (\r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\r\n/* eslint-disable react/prop-types */\r\n/* eslint-disable react/no-array-index-key */\r\nimport React from 'react';\r\nimport classNames from 'classnames';\r\nimport { Box } from '@material-ui/core';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport AddLocationIcon from '@material-ui/icons/AddLocation';\r\nimport CloudIcon from '@material-ui/icons/Cloud';\r\nimport CloudOffIcon from '@material-ui/icons/CloudOff';\r\nimport { grey } from '@material-ui/core/colors';\r\n\r\nimport useTimeline from '../timeline/useTimeline';\r\n\r\nconst sortingIconMap = {\r\n ASC: 'icon-sort-ascending icon-small',\r\n DESC: 'icon-sort-descending icon-small',\r\n};\r\n\r\nconst cardItemRender = (\r\n item,\r\n activeClinicianId,\r\n activeClinicianPostingId,\r\n showClinicianDetailsClick,\r\n showClinicianTreatmensClick,\r\n isMileageCapEnabled,\r\n includeTreatments,\r\n activeTreatment,\r\n) => {\r\n const clinician = item.cardDetails;\r\n const hasValidBasePostCode = item.source.hasValidBasePostCode;\r\n const hasMileageCap = item.source.hasMileageCap;\r\n const clinicianDetails = { ...item.source, assignments: [...item.activities.assignments] };\r\n const showExtraInformation = extraCondition => clinician.showExtraInfo && extraCondition;\r\n\r\n const containerClass = classNames({\r\n 'timeline-card': true,\r\n 'active-clinician': clinician.id === activeClinicianId && clinician.postingId === activeClinicianPostingId,\r\n 'preferred-clinician':\r\n activeTreatment != null &&\r\n activeTreatment.preferredClinicianId === clinician.id &&\r\n activeTreatment.masterId === null,\r\n });\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n includeTreatments ? () => {} : showClinicianTreatmensClick(clinician.id, clinician.postingId)\r\n }\r\n className=\"timeline-card-body\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {clinician.personName}\r\n \r\n \r\n {clinician.bandName}\r\n \r\n \r\n \r\n \r\n \r\n {showExtraInformation(clinician.desc !== '') && (\r\n \r\n \r\n \r\n {clinician.desc}\r\n \r\n \r\n )}\r\n \r\n \r\n {showExtraInformation(clinician.isOnline) && (\r\n \r\n )}\r\n {showExtraInformation(!clinician.isOnline) && (\r\n \r\n )}\r\n {isMileageCapEnabled && hasValidBasePostCode && hasMileageCap && (\r\n \r\n )}\r\n \r\n  \r\n \r\n \r\n \r\n showClinicianDetailsClick(clinicianDetails)}\r\n style={{ cursor: 'pointer' }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nfunction CardItemsColumnHtml({ items, isMileageCapEnabled, includeTreatments }) {\r\n const { activeClinicianId, activeClinicianPostingId, activeTreatment, setFlagAndClinician } = useTimeline();\r\n const setShowClinicianDetails = clinician => {\r\n setFlagAndClinician(\r\n 'showClinicianDetails',\r\n true,\r\n clinician.id,\r\n clinician.postingId,\r\n ['showClinicianTreatments', 'enableMultipleSelection'],\r\n clinician,\r\n );\r\n };\r\n const setShowClinicianTreatments = (clinicianId, postingId) => {\r\n setFlagAndClinician(\r\n 'showClinicianTreatments',\r\n activeClinicianId !== clinicianId || activeClinicianPostingId !== postingId,\r\n clinicianId,\r\n postingId,\r\n ['showClinicianDetails', 'isEditMode', 'enableMultipleSelection'],\r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {items.length ? (\r\n items.map(item =>\r\n cardItemRender(\r\n item,\r\n activeClinicianId,\r\n activeClinicianPostingId,\r\n setShowClinicianDetails,\r\n setShowClinicianTreatments,\r\n isMileageCapEnabled,\r\n includeTreatments,\r\n activeTreatment,\r\n ),\r\n )\r\n ) : (\r\n
    No clinician available
    \r\n )}\r\n
    \r\n );\r\n}\r\n\r\nconst convertMinsToHrsMins = minutes => {\r\n let h = Math.floor(minutes / 60);\r\n let m = minutes % 60;\r\n h = h < 10 ? `0${h}` : h;\r\n m = m < 10 ? `0${m}` : m;\r\n\r\n return `${h}:${m}`;\r\n};\r\n\r\nconst timelineGridHtml = hoursArray => {\r\n const timePeriodHours = [];\r\n // eslint-disable-next-line no-plusplus\r\n for (let i = 0; i < hoursArray.length; i++) {\r\n const h = hoursArray[i];\r\n const formatedHour = `${h.toLocaleString('en-US', { minimumIntegerDigits: 2, useGrouping: false })}:00`;\r\n timePeriodHours.push(formatedHour);\r\n }\r\n\r\n return (\r\n
    \r\n {timePeriodHours.map((hour, index) => (\r\n
    \r\n
    {hour}
    \r\n
    \r\n ))}\r\n
    \r\n );\r\n};\r\n\r\nconst renderSchedulerHourRows = row => {\r\n if (row.dontRender) return null;\r\n const cssNames = row.isDirty ? 'timeline-hour warning' : 'timeline-hour';\r\n return (\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst renderSchedulerHourColumns = (index, rows) => {\r\n return (\r\n
    \r\n {rows.map(renderSchedulerHourRows)}\r\n
    \r\n );\r\n};\r\n\r\nconst sortClinicianOptions = [\r\n {\r\n id: 1,\r\n propertyName: 'gradeEquivalence',\r\n label: 'Grade',\r\n name: (\r\n \r\n ✓ Grade \r\n \r\n ),\r\n isAsc: false,\r\n },\r\n {\r\n id: 2,\r\n propertyName: 'personName',\r\n label: 'Name',\r\n name: 'Name',\r\n isAsc: true,\r\n },\r\n {\r\n id: 3,\r\n propertyName: 'cardRagStatusId',\r\n label: 'RAG',\r\n name: 'RAG',\r\n isAsc: true,\r\n },\r\n];\r\n\r\nconst sortTreatmentOptions = [\r\n {\r\n id: 1,\r\n propertyName: 'ragStatus',\r\n label: 'RAG',\r\n name: (\r\n \r\n ✓ RAG \r\n \r\n ),\r\n isAsc: false,\r\n },\r\n {\r\n id: 2,\r\n propertyName: 'patientName',\r\n label: 'Name',\r\n name: 'Name',\r\n isAsc: true,\r\n },\r\n {\r\n id: 3,\r\n propertyName: 'postcode',\r\n label: 'Postcode',\r\n name: 'Postcode',\r\n isAsc: true,\r\n },\r\n {\r\n id: 4,\r\n propertyName: 'band',\r\n label: 'Grade',\r\n name: 'Grade',\r\n isAsc: true,\r\n },\r\n {\r\n id: 5,\r\n propertyName: 'totalTime',\r\n label: 'Duration',\r\n name: 'Duration',\r\n isAsc: true,\r\n },\r\n];\r\n\r\nexport {\r\n CardItemsColumnHtml,\r\n timelineGridHtml,\r\n convertMinsToHrsMins,\r\n renderSchedulerHourColumns,\r\n sortClinicianOptions,\r\n sortTreatmentOptions,\r\n sortingIconMap,\r\n};\r\n","/* eslint-disable array-callback-return */\r\nimport moment from 'moment';\r\nimport { parseDateUtc, trimmedDateAt } from '../../../utils/dates';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { VisitType } from '../../../enums/assignmentVisitState';\r\n\r\nconst distinct = items => items.filter((value, index, instances) => instances.indexOf(value) === index);\r\n\r\nexport const disableButton = treatmentInstances => {\r\n const dateAt = treatmentInstances[0].selectedDate;\r\n const today = moment(globals.now).startOf('day');\r\n const isBehindNow = parseDateUtc(trimmedDateAt(dateAt)).isBefore(parseDateUtc(today));\r\n\r\n return isBehindNow || treatmentInstances.length < 2 || treatmentInstances.length > 5;\r\n};\r\n\r\nexport const disableBundleVisitButton = treatmentInstances => {\r\n const isBundled = treatmentInstances.filter(x => x.isBundled);\r\n const isDisabled = disableButton(treatmentInstances);\r\n\r\n if (\r\n isDisabled ||\r\n isBundled.length > 0 ||\r\n treatmentInstances.some(x => x.visitType === VisitType.PhoneCall || x.masterId !== null)\r\n ) {\r\n return true;\r\n }\r\n\r\n const nhsNumbers = treatmentInstances.map(x => x.nhsNumber);\r\n const treatmentPostcodes = treatmentInstances.map(x => x.treatmentPostcode);\r\n const treatmentIds = treatmentInstances.map(x => x.treatmentId);\r\n\r\n if (\r\n distinct(nhsNumbers).length !== 1 ||\r\n distinct(treatmentPostcodes).length !== 1 ||\r\n distinct(treatmentIds).length !== treatmentInstances.length\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport const disableAssignVisitButton = treatmentInstances => {\r\n const treatmentIds = treatmentInstances.map(x => x.treatmentId);\r\n return disableButton(treatmentInstances) || distinct(treatmentIds).length !== treatmentInstances.length;\r\n};\r\n\r\nexport const disableWhenAnyStatementIsTrue = (...statements) => {\r\n if (statements && statements.length > 0) {\r\n return statements.some(statement => statement === true);\r\n }\r\n\r\n return false;\r\n};\r\n","/* eslint-disable no-nested-ternary */\r\nimport moment from 'moment';\r\nimport _ from '../../../utils/lodash';\r\nimport { parseDateUtc } from '../../../utils/dates';\r\nimport { getAvailableTimeSpansForTreatment, getAvailableTimeSpansForTreatments } from '../../../actions/areas/planner';\r\n\r\nexport const getSchedulerPeriod = period => {\r\n if (period === null) {\r\n const minDate = moment('1900-01-01T00:00:00');\r\n return {\r\n startDate: minDate,\r\n endDate: minDate,\r\n startHour: 0,\r\n duration: 0,\r\n cellLength: 0,\r\n };\r\n }\r\n\r\n const startDate = parseDateUtc(period.startDate); // '2020-01-10T08:00:00',\r\n const endDate = parseDateUtc(period.endDate); // '2020-01-10T08:00:00',\r\n\r\n return {\r\n startDate,\r\n endDate,\r\n startHour: startDate.hour(),\r\n endHour: endDate.hour(),\r\n duration: period.duration,\r\n cellLength: period.cellLength,\r\n };\r\n};\r\n\r\nconst getElementAttribute = (element, attrName) => element.getAttribute(attrName);\r\n\r\nconst getElementProps = element => {\r\n const returnObject = {\r\n width: 0,\r\n height: 0,\r\n };\r\n\r\n if (element) {\r\n returnObject.width = element.offsetWidth;\r\n returnObject.height = element.offsetHeight;\r\n returnObject.scrollHeight = element.scrollHeight;\r\n returnObject.scrollWidth = element.scrollWidth;\r\n }\r\n\r\n return returnObject;\r\n};\r\n\r\nexport const getElementPropsById = id => {\r\n const element = document.getElementById(id);\r\n return getElementProps(element);\r\n};\r\n\r\nexport const handleScrolls = elementId => {\r\n const element = document.getElementById(elementId);\r\n\r\n if (element) {\r\n const rcBody = element.querySelectorAll('.rest-columns > .tbody')[0];\r\n const fcBody = element.querySelectorAll('.fix-column > .tbody')[0];\r\n const rcHead = element.querySelectorAll('.rest-columns > .thead')[0];\r\n\r\n if (rcBody) {\r\n rcBody.addEventListener('scroll', e => {\r\n fcBody.scrollTop = e.target.scrollTop;\r\n rcHead.scrollLeft = e.target.scrollLeft;\r\n });\r\n }\r\n }\r\n};\r\n\r\nexport const getElementPropsByClass = className => {\r\n const element = document.getElementsByClassName(className);\r\n return getElementProps(element[0]);\r\n};\r\n\r\nexport const getElementsByClass = (id, className) => {\r\n const returnObject = [];\r\n\r\n const rootElement = document.getElementById(id);\r\n if (rootElement) {\r\n const elements = rootElement.querySelectorAll(className);\r\n\r\n // eslint-disable-next-line no-plusplus\r\n for (let i = 0; i < elements.length; i++) {\r\n const element = elements[i];\r\n const startDateTime = getElementAttribute(element, 'data-start-datetime');\r\n const endDateTime = getElementAttribute(element, 'data-end-datetime');\r\n const duration = getElementAttribute(element, 'data-duration');\r\n\r\n returnObject.push({ startDateTime, endDateTime, duration: parseInt(duration, 10), element });\r\n }\r\n }\r\n\r\n return returnObject;\r\n};\r\n\r\nexport const setElementProp = (element, propName, propValue) => {\r\n if (element) {\r\n // eslint-disable-next-line no-param-reassign\r\n element.style[propName] = propValue;\r\n }\r\n};\r\n\r\nexport const removeVisitContent = (element, propName, propValue) => {\r\n const visitContent = element.getElementsByClassName('visit-content');\r\n setElementProp(visitContent, propName, propValue);\r\n};\r\n\r\nexport const addClassToElements = (className, classValue) => {\r\n const elements = document.getElementsByClassName(className);\r\n _.each(elements, element => element.classList.add(classValue));\r\n};\r\n\r\nexport const removeOverlayStyle = className => {\r\n const elements = document.getElementsByClassName(className);\r\n _.each(elements, element => element.classList.remove('active-overlay'));\r\n};\r\n\r\nexport const findByAttrDataIdAndHandleActiveClass = (containerClassName, elementClassName, elementId) => {\r\n const elementIdAsString = elementId.toString();\r\n const container = document.getElementsByClassName(containerClassName);\r\n if (container && container.length > 0) {\r\n const elements = container[0].querySelectorAll(elementClassName);\r\n\r\n _.each(elements, element => {\r\n const dataId = element.getAttribute('data-id');\r\n element.classList.remove('active');\r\n if (dataId === elementIdAsString) {\r\n element.classList.add('active');\r\n }\r\n });\r\n }\r\n};\r\n\r\nexport const resetTimelineActiveClass = (containerClassName, elementClassName) => {\r\n const container = document.getElementsByClassName(containerClassName);\r\n if (container && container.length > 0) {\r\n container[0].classList.remove('active-overlay');\r\n const elements = container[0].querySelectorAll(elementClassName);\r\n _.each(elements, element => element.classList.remove('active'));\r\n }\r\n};\r\n\r\nexport const setTimelineHeight = (containerId, heightOffset) => {\r\n const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\r\n const timeLineHeight = windowHeight - heightOffset;\r\n\r\n const timelineBodyHeightElements = getElementsByClass(containerId, '.tbody');\r\n _.each(timelineBodyHeightElements, item => setElementProp(item.element, 'height', `${timeLineHeight}px`));\r\n\r\n const timelineColumnsHeightElements = getElementsByClass(containerId, '.rest-columns .tbody');\r\n _.each(timelineColumnsHeightElements, item => setElementProp(item.element, 'height', `${timeLineHeight + 10}px`));\r\n};\r\n\r\nexport const getTravelMinutesFromElement = (element, className) => {\r\n const travelTimeElement = { element: null, duration: 0 };\r\n const elements = element.querySelectorAll(className);\r\n\r\n if (elements && elements.length > 0) {\r\n travelTimeElement.element = elements[0];\r\n travelTimeElement.duration = parseInt(getElementAttribute(elements[0], 'data-duration'), 10);\r\n }\r\n\r\n return travelTimeElement;\r\n};\r\n\r\nexport const highlightAvailableSlots = (\r\n isMultiAssign,\r\n treatmentInstances,\r\n model,\r\n setLoadingTimeSlots,\r\n getFlag,\r\n resetTreatmentClickEvent,\r\n setActiveTreatment,\r\n getAccessToken,\r\n) => {\r\n const treatmentCallback = (availableTimeSpans, instance) => {\r\n const treatment = _.cloneDeep(instance) || {};\r\n treatment.AvailableTimeSpans = availableTimeSpans;\r\n setActiveTreatment(treatment);\r\n setLoadingTimeSlots({ treatmentId: null, timeSlotId: null, value: false });\r\n };\r\n\r\n const onSuccess = availableTimeSpans => {\r\n if (isMultiAssign) {\r\n treatmentInstances.forEach(instance => {\r\n treatmentCallback(availableTimeSpans, instance);\r\n });\r\n } else {\r\n treatmentCallback(availableTimeSpans, treatmentInstances);\r\n }\r\n };\r\n\r\n const getTimeSlots = () =>\r\n isMultiAssign\r\n ? getAvailableTimeSpansForTreatments(getAccessToken, model, onSuccess)\r\n : getAvailableTimeSpansForTreatment(getAccessToken, model, false, onSuccess);\r\n\r\n if (getFlag('isEditMode')) {\r\n resetTreatmentClickEvent();\r\n setTimeout(getTimeSlots(), 30);\r\n } else {\r\n getTimeSlots();\r\n }\r\n\r\n if (isMultiAssign) {\r\n treatmentInstances.forEach(instance => {\r\n setLoadingTimeSlots({ treatmentId: instance.treatmentId, timeSlotId: instance.timeSlotId, value: true });\r\n });\r\n } else {\r\n setLoadingTimeSlots({\r\n treatmentId: treatmentInstances.treatmentId,\r\n timeSlotId: treatmentInstances.timeSlotId,\r\n value: true,\r\n });\r\n }\r\n};\r\n","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable no-return-assign */\r\nimport { useContext } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { getAvailableTimeSpansForTreatment } from '../../../actions/areas/planner';\r\nimport { TimelineContext, contextDefaultProps } from './TimelineContext';\r\nimport { refreshTimeInSeconds } from '../../../settings/scheduler';\r\nimport { isTodaysDate } from '../../../utils/dates';\r\nimport _ from '../../../utils/lodash';\r\n\r\nlet liveTrackingIntervalFunc = null;\r\n\r\nconst useTimeline = () => {\r\n const [state, setState] = useContext(TimelineContext);\r\n const isLiveTracking = useSelector(store => store.areas.dailyPlanning.moreOptions.liveTracking);\r\n const selectedDate = useSelector(store => store.areas.dailyPlanning.selectedDate);\r\n\r\n if (state === null || state.auth === undefined) return {};\r\n\r\n const activeTreatment = state.activeClinician.activeTreatment;\r\n const activeUnassignedTreatment = state.activeClinician.activeUnassignedTreatment;\r\n\r\n const createRequestModel = baseModel => {\r\n const modelClone = baseModel ? _.cloneDeep(baseModel) : {};\r\n modelClone.SelectedDate = useSelector(s => s.areas.dailyPlanning.selectedDate);\r\n modelClone.IsNightMode = useSelector(s => s.areas.dailyPlanning.scheduler.isNightMode);\r\n modelClone.OrgUnitId = useSelector(s => s.areas.dailyPlanning.filters.selectedTeam);\r\n\r\n return modelClone;\r\n };\r\n\r\n const setActiveClinician = (clinicianId, postingId) => {\r\n const newClinicianIdValue = state.activeClinician.id === clinicianId ? null : clinicianId;\r\n const newPostingIdValue = state.activeClinician.postingId === postingId ? null : postingId;\r\n\r\n setState({\r\n ...state,\r\n activeClinician: { ...state.activeClinician, id: newClinicianIdValue, postingId: newPostingIdValue },\r\n });\r\n };\r\n const setActiveClinicianTreatments = treatments =>\r\n setState({\r\n ...state,\r\n activeClinician: { ...state.activeClinician, treatments, activeTreatment: null },\r\n isEditMode: false,\r\n });\r\n\r\n const setActiveTreatment = treatment =>\r\n setState(newState => ({\r\n ...newState,\r\n activeClinician: { ...newState.activeClinician, activeTreatment: treatment },\r\n }));\r\n\r\n const setActiveAssignment = assignment =>\r\n setState(newState => ({\r\n ...newState,\r\n activeAssignment: assignment,\r\n availableTimeSpans: contextDefaultProps.availableTimeSpans,\r\n assignmentForEdit: contextDefaultProps.assignmentForEdit,\r\n activeTreatmentForCopy: contextDefaultProps.activeTreatmentForCopy,\r\n }));\r\n\r\n const setActiveUnassignedTreatment = treatment =>\r\n setState({\r\n ...state,\r\n activeClinician: {\r\n ...state.activeClinician,\r\n activeTreatment: contextDefaultProps.activeClinician.activeTreatment,\r\n activeUnassignedTreatment: treatment,\r\n },\r\n });\r\n\r\n const hasActiveTreatmentAvailableTimeSpans = () =>\r\n activeTreatment !== null && activeTreatment.AvailableTimeSpans !== null;\r\n const hasAvailableTimeSpansForClinicianId = (clinicianId, postingId) =>\r\n state.activeClinician.id === clinicianId &&\r\n state.activeClinician.postingId === postingId &&\r\n state.flags.showClinicianTreatments; // hasActiveTreatmentAvailableTimeSpans();\r\n\r\n const handleFlags = (flagProp, value, disableFlags) => {\r\n const flags = { ...state.flags, [flagProp]: value };\r\n if (Array.isArray(disableFlags)) {\r\n disableFlags.map(f => (flags[f] = false));\r\n }\r\n return flags;\r\n };\r\n\r\n const setFlag = (flagProp, value, disableFlags) =>\r\n setState({ ...state, flags: handleFlags(flagProp, value, disableFlags) });\r\n\r\n const toggleFlag = flagProp => setFlag(flagProp, !state.flags[flagProp]);\r\n\r\n const setFlagAndClinician = (flagProp, value, clinicianId, postingId, disableFlags, clinician = {}) => {\r\n const flags = handleFlags(flagProp, value, disableFlags);\r\n if (value) {\r\n setState({\r\n ...state,\r\n flags,\r\n activeClinician: {\r\n clinician,\r\n id: clinicianId,\r\n postingId,\r\n treatments: [],\r\n activeTreatment: null,\r\n activeUnassignedTreatment: null,\r\n },\r\n availableTimeSpans: contextDefaultProps.availableTimeSpans,\r\n activeAssignment: contextDefaultProps.activeAssignment,\r\n assignmentForEdit: contextDefaultProps.assignmentForEdit,\r\n multiSelectedTreatments: contextDefaultProps.multiSelectedTreatments,\r\n });\r\n } else {\r\n setState({\r\n ...state,\r\n flags,\r\n activeClinician: contextDefaultProps.activeClinician,\r\n multiSelectedTreatments: contextDefaultProps.multiSelectedTreatments,\r\n });\r\n }\r\n };\r\n\r\n const getParamsForAssignment = () => {\r\n const returnModel = { treatmentId: null, treatmentInstanceId: null };\r\n const isValid = state.activeClinician.id !== 0 && state.activeClinician.activeTreatment.treatmentId > 0;\r\n\r\n if (isValid) {\r\n returnModel.treatmentId = state.activeClinician.activeTreatment.treatmentId;\r\n returnModel.treatmentInstanceId =\r\n state.activeClinician.activeTreatment.treatmentInstanceId != null\r\n ? state.activeClinician.activeTreatment.treatmentInstanceId\r\n : -1;\r\n }\r\n\r\n return returnModel;\r\n };\r\n\r\n const setAvailableTimeSpans = (timeSpans, assignment) =>\r\n setState({ ...state, availableTimeSpans: timeSpans, assignmentForEdit: assignment });\r\n\r\n const getAvailableTimeSpans = () => {\r\n return state.availableTimeSpans && state.availableTimeSpans.length > 0\r\n ? state.availableTimeSpans\r\n : hasActiveTreatmentAvailableTimeSpans()\r\n ? activeTreatment.AvailableTimeSpans\r\n : [];\r\n };\r\n\r\n const resetContext = newAssignment => {\r\n setState({\r\n ...state,\r\n flags: {\r\n ...contextDefaultProps.flags,\r\n isEditMode: state.flags.isEditMode,\r\n },\r\n availableTimeSpans: contextDefaultProps.availableTimeSpans,\r\n activeClinician: contextDefaultProps.activeClinician,\r\n activeAssignment: newAssignment || contextDefaultProps.activeAssignment,\r\n assignmentForEdit: contextDefaultProps.assignmentForEdit,\r\n activeTreatmentForCopy: contextDefaultProps.activeTreatmentForCopy,\r\n multiSelectedTreatments: contextDefaultProps.multiSelectedTreatments,\r\n activeNonPatientAssignment: contextDefaultProps.activeNonPatientAssignment,\r\n activeNonPatientAssignmentForReschedule: contextDefaultProps.activeNonPatientAssignmentForReschedule,\r\n });\r\n };\r\n\r\n const resetContextAndModify = modifiedObject => {\r\n const mergedObject = _.merge({}, _.cloneDeep(contextDefaultProps), modifiedObject);\r\n\r\n setState(mergedObject);\r\n };\r\n\r\n const setActiveTreatmentInstanceForCopy = treatmentInstance => {\r\n setState({ ...state, activeTreatmentInstanceForCopy: treatmentInstance });\r\n };\r\n\r\n const setActiveUnassignedTreatmentForCancel = treatmentInstance => {\r\n setState({ ...state, activeUnassignedTreatmentForCancel: treatmentInstance });\r\n };\r\n\r\n const setActiveUnassignedTreatmentForReschedule = treatmentInstance => {\r\n setState({ ...state, activeUnassignedTreatmentForReschedule: treatmentInstance });\r\n };\r\n\r\n const setActiveUnassignedTreatmentForChangeUnit = treatmentInstance => {\r\n setState({ ...state, activeUnassignedTreatmentForChangeUnit: treatmentInstance });\r\n };\r\n\r\n const refreshClinicianTreatmentsAndClosePanels = () => {\r\n setState({\r\n ...state,\r\n activeClinician: { ...state.activeClinician, activeUnassignedTreatment: null, activeTreatment: null },\r\n activeUnassignedTreatmentForCancel: null,\r\n activeUnassignedTreatmentForReschedule: null,\r\n activeUnassignedTreatmentForChangeUnit: null,\r\n activeTreatmentInstanceForCopy: null,\r\n flags: {\r\n ...state.flags,\r\n shouldReloadClinicianTreatments: toggleFlag('shouldReloadClinicianTreatments'),\r\n showTreatmentNotesSidePanel: false,\r\n showConvertVisitSidePanel: false,\r\n },\r\n });\r\n };\r\n\r\n const toggleEditMode = () =>\r\n setState(newState => ({\r\n ...newState,\r\n availableTimeSpans: contextDefaultProps.availableTimeSpans,\r\n activeClinician: contextDefaultProps.activeClinician,\r\n activeAssignment: contextDefaultProps.activeAssignment,\r\n assignmentForEdit: contextDefaultProps.assignmentForEdit,\r\n flags: handleFlags('isEditMode', !newState.flags.isEditMode, [\r\n 'showClinicianTreatments',\r\n 'enableMultipleSelection',\r\n ]),\r\n multiSelectedTreatments: contextDefaultProps.multiSelectedTreatments,\r\n }));\r\n\r\n const setAlertMessage = newAlert => {\r\n setState({ ...state, alertMessage: newAlert });\r\n };\r\n\r\n const stopLiveTrackingInterval = () => clearInterval(liveTrackingIntervalFunc);\r\n\r\n const startLiveTrackingInterval = (tickFunc, cancelOverrideFlag = true) => {\r\n if (!isLiveTracking || !isTodaysDate(selectedDate)) {\r\n stopLiveTrackingInterval();\r\n return;\r\n }\r\n\r\n if (cancelOverrideFlag && state.flags.showClinicianTreatments) {\r\n stopLiveTrackingInterval();\r\n } else {\r\n const intervalFuncTicks = tickFunc || state.liveTrackingTick;\r\n stopLiveTrackingInterval();\r\n liveTrackingIntervalFunc = setInterval(intervalFuncTicks, refreshTimeInSeconds * 1000);\r\n\r\n setState(newState => ({\r\n ...newState,\r\n liveTrackingTick: intervalFuncTicks,\r\n }));\r\n }\r\n };\r\n\r\n const setActiveNonPatientAssignment = assignment => {\r\n setState({ ...state, activeNonPatientAssignment: assignment });\r\n };\r\n\r\n const resetTreatmentClickEvent = () =>\r\n setState(newState => ({\r\n ...newState,\r\n availableTimeSpans: contextDefaultProps.availableTimeSpans,\r\n flags: handleFlags('isEditMode', false),\r\n }));\r\n\r\n const closeCopyPanels = () => {\r\n setState({\r\n ...state,\r\n activeAssignment: null,\r\n activeTreatmentInstanceForCopy: null,\r\n activeClinician: { ...state.activeClinician, activeUnassignedTreatment: null, activeTreatment: null },\r\n });\r\n };\r\n const resetMultiSelectedTreatments = () => {\r\n setState({\r\n ...state,\r\n flags: handleFlags('enableMultipleSelection', false),\r\n multiSelectedTreatments: contextDefaultProps.multiSelectedTreatments,\r\n });\r\n };\r\n\r\n const setActiveNonPatientAssignmentForReschedule = assignment => {\r\n setState({\r\n ...state,\r\n activeNonPatientAssignmentForReschedule: assignment,\r\n });\r\n };\r\n\r\n const shouldResetCancelTreatmentInstance = value => {\r\n setState({\r\n ...state,\r\n flags: handleFlags('shouldResetCancelTreatmentInstance', value),\r\n });\r\n };\r\n\r\n return {\r\n resetTreatmentClickEvent,\r\n startLiveTrackingInterval,\r\n stopLiveTrackingInterval,\r\n resetContext,\r\n resetContextAndModify,\r\n setAvailableTimeSpans,\r\n toggleEditMode,\r\n getAvailableTimeSpans,\r\n getAccessToken: state.auth,\r\n createRequestModel,\r\n getParamsForAssignment,\r\n getFlag: flagProp => state.flags[flagProp],\r\n toggleFlag,\r\n setFlag,\r\n setFlagAndClinician,\r\n activeClinicianId: state.activeClinician.id,\r\n activeClinicianPostingId: state.activeClinician.postingId,\r\n setActiveClinician,\r\n activeClinicianTreatments: state.activeClinician.treatments ? state.activeClinician.treatments : [],\r\n setActiveClinicianTreatments,\r\n activeAssignment: state.activeAssignment,\r\n setActiveAssignment,\r\n activeTreatment,\r\n setActiveTreatment,\r\n activeUnassignedTreatment,\r\n setActiveUnassignedTreatment,\r\n hasAvailableTimeSpansForClinicianId,\r\n activeTreatmentTimeSpans: hasActiveTreatmentAvailableTimeSpans() ? activeTreatment.AvailableTimeSpans : [],\r\n getAvailableTimeSpansForTreatment,\r\n getAssignmentForEdit: state.assignmentForEdit,\r\n activeClinician: state.activeClinician,\r\n activeTreatmentInstanceForCopy: state.activeTreatmentInstanceForCopy,\r\n setActiveTreatmentInstanceForCopy,\r\n hasActiveTreatmentAvailableTimeSpans,\r\n alertMessage: state.alertMessage,\r\n setAlertMessage,\r\n activeUnassignedTreatmentForCancel: state.activeUnassignedTreatmentForCancel,\r\n setActiveUnassignedTreatmentForCancel,\r\n setActiveUnassignedTreatmentForReschedule,\r\n setActiveUnassignedTreatmentForChangeUnit,\r\n activeUnassignedTreatmentForChangeUnit: state.activeUnassignedTreatmentForChangeUnit,\r\n activeUnassignedTreatmentForReschedule: state.activeUnassignedTreatmentForReschedule,\r\n refreshClinicianTreatmentsAndClosePanels,\r\n activeNonPatientAssignment: state.activeNonPatientAssignment,\r\n setActiveNonPatientAssignment,\r\n getStatePropValue: prop => (state[prop] !== undefined ? state[prop] : null),\r\n setStateProp: (prop, value) =>\r\n state[prop] !== undefined ? setState(newState => ({ ...newState, [prop]: value })) : null,\r\n closeCopyPanels,\r\n getMultiSelectedTreatments: state.multiSelectedTreatments,\r\n setMultiSelectedTreatments: multiSelectedTreatments =>\r\n setState({\r\n ...state,\r\n multiSelectedTreatments,\r\n }),\r\n resetMultiSelectedTreatments,\r\n setActiveNonPatientAssignmentForReschedule,\r\n activeNonPatientAssignmentForReschedule: state.activeNonPatientAssignmentForReschedule,\r\n shouldResetCancelTreatmentInstance,\r\n };\r\n};\r\n\r\nexport default useTimeline;\r\n","import React from 'react';\r\nimport Dialog from 'material-ui/Dialog';\r\nimport FlatButton from 'material-ui/FlatButton';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport DatePicker from 'material-ui/DatePicker';\r\nimport PropTypes from 'prop-types';\r\nimport { red500, white } from '../../../theme/AllocateColors';\r\nimport { textFieldStyle, datePickerStyle, common } from '../../../theme/AllocateBaseTheme';\r\nimport Spinner from '../../common/Spinner/Spinner';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst errors = globals.getArea('error');\r\nconst locale = globals.getArea('referrals');\r\n\r\nconst initialState = {\r\n open: false,\r\n dateClosed: null,\r\n};\r\n\r\nexport default class ReferralCloseDialog extends React.Component {\r\n state = initialState;\r\n\r\n handleChange = (event, date) => {\r\n this.setState({\r\n dateClosed: date,\r\n });\r\n };\r\n\r\n handleOpen = () => {\r\n this.setState({ ...initialState, open: true });\r\n this.props.getReferralCloseDateRange(this.props.referralId);\r\n };\r\n\r\n handleHide = () => {\r\n this.setState({ open: false });\r\n };\r\n\r\n handleCloseReferral = async () => {\r\n const { closeReferral, referralId, getReferral } = this.props;\r\n const { dateClosed } = this.state;\r\n await closeReferral({ referralId, dateClosed });\r\n this.handleHide();\r\n getReferral(referralId);\r\n };\r\n\r\n render() {\r\n const { isFetching, referralCloseDateRange, errorMessage } = this.props;\r\n const { canCloseReferral, minimumCloseDate, maximumCloseDate } = referralCloseDateRange;\r\n const showClosingError =\r\n typeof canCloseReferral === 'undefined' || canCloseReferral === null ? false : !canCloseReferral;\r\n const actions = [\r\n ,\r\n this.handleCloseReferral()}\r\n />,\r\n ];\r\n\r\n return (\r\n
    \r\n \r\n \r\n

    {locale.getMsg('selectCloseDate')}

    \r\n\r\n {isFetching ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n this.handleChange(e, v)}\r\n disabled={isFetching || !canCloseReferral}\r\n minDate={minimumCloseDate ? new Date(minimumCloseDate) : null}\r\n maxDate={maximumCloseDate ? new Date(maximumCloseDate) : null}\r\n floatingLabelStyle={common.floatingLabelStyle}\r\n floatingLabelShrinkStyle={common.floatingLabelShrinkStyle}\r\n floatingLabelFocusStyle={common.floatingLabelFocusStyle}\r\n underlineStyle={common.underlineStyle}\r\n textFieldStyle={datePickerStyle.textFieldStyle}\r\n inputStyle={textFieldStyle.inputStyle}\r\n />\r\n
    \r\n
    \r\n )}\r\n {showClosingError ? locale.getMsg('referralCannotBeClosed') : ''}\r\n {errorMessage &&

    {errors.getMsg(errorMessage)}

    }\r\n \r\n
    \r\n );\r\n }\r\n}\r\nReferralCloseDialog.defaultProps = {\r\n errorMessage: null,\r\n};\r\n\r\nReferralCloseDialog.propTypes = {\r\n closeReferral: PropTypes.func.isRequired,\r\n referralId: PropTypes.number.isRequired,\r\n getReferralCloseDateRange: PropTypes.func.isRequired,\r\n getReferral: PropTypes.func.isRequired,\r\n referralCloseDateRange: PropTypes.shape({\r\n canCloseReferral: PropTypes.bool,\r\n minimumCloseDate: PropTypes.string,\r\n maximumCloseDate: PropTypes.string,\r\n }).isRequired,\r\n isFetching: PropTypes.bool.isRequired,\r\n errorMessage: PropTypes.string,\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport FlatButton from 'material-ui/FlatButton';\r\nimport Formsy from 'formsy-react';\r\nimport { FormsyText } from 'formsy-material-ui/lib';\r\nimport { FormsyDate } from '../../../components/common/Formsy';\r\nimport ApiSelector from '../../../containers/common/selectors/selectorContainer';\r\nimport Table from '../../../containers/common/tables/tableContainer';\r\nimport NonBlockingLoader from '../../../components/common/Loading/NonBlockingLoader';\r\nimport {\r\n teamsEndpoint,\r\n treatmentsByReferralIdTable,\r\n referralSourcesEndpoint,\r\n referralServiceEndpoint,\r\n locationTypesEndpoint,\r\n referenceCodesEndpoint,\r\n referralPrioritiesEndpoint,\r\n} from '../../../settings/constants';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport { ExternalProviderType, treatmentStatusOptions } from '../../../enums';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { textFieldStyle, datePickerStyle, common } from '../../../theme/AllocateBaseTheme';\r\nimport ReferralCloseDialog from '../../../containers/Referrals/ReferralCloseDialog/ReferralCloseDialogContainer';\r\nimport { clearBorderValues, getDateForApi } from '../../../utils/dates';\r\nimport { Address } from '../../../propTypes/entities/address';\r\nimport ReferralTreatmentsFilter from './ReferralTreatmentsFilter';\r\n\r\nconst locale = globals.getArea('referrals');\r\nconst localeForTreatments = globals.getArea('treatments');\r\nconst errors = globals.getArea('error');\r\n\r\nconst columns = [\r\n {\r\n Header: locale.getMsg('communityMatron'),\r\n id: 'cm',\r\n width: 50,\r\n Cell: row =>
    {row.cm ? '✔' : '-'}
    ,\r\n },\r\n {\r\n Header: locale.getMsg('emergencyUnscheduled'),\r\n id: 'emergencyUnscheduled',\r\n width: 100,\r\n Cell: row =>
    {row.emergencyUnscheduled ? 'yes' : 'no'}
    ,\r\n },\r\n {\r\n Header: locale.getMsg('activities'),\r\n id: 'activities',\r\n accessor: row => {row.activities},\r\n minWidth: 250,\r\n },\r\n {\r\n Header: locale.getMsg('orgUnits'),\r\n accessor: 'orgUnits',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: locale.getMsg('validFrom'),\r\n id: 'validFrom',\r\n accessor: row => clearBorderValues(row.dateFrom),\r\n width: 100,\r\n },\r\n {\r\n Header: locale.getMsg('validTo'),\r\n id: 'validTo',\r\n accessor: row => clearBorderValues(row.isRetrospectiveVisit ? row.dateFrom : row.dateTo),\r\n width: 100,\r\n },\r\n {\r\n Header: locale.getMsg('status'),\r\n id: 'status',\r\n width: 80,\r\n accessor: row => treatmentStatusOptions.find(s => s.id === row.status).name,\r\n },\r\n {\r\n Header: locale.getMsg('isRetroVisit'),\r\n id: 'isRetro',\r\n accessor: row => (row.isRetrospectiveVisit ? '✔' : '-'),\r\n style: { paddingLeft: '20px' },\r\n width: 80,\r\n },\r\n {\r\n Header: locale.getMsg('dayWeek'),\r\n accessor: 'dayWeek',\r\n },\r\n {\r\n Header: locale.getMsg('frequency'),\r\n accessor: 'frequency',\r\n width: 100,\r\n },\r\n];\r\n\r\nconst defaultTreatmentFilters = {\r\n treatmentStatuses: [1],\r\n orgUnits: [0],\r\n activities: [0],\r\n dateFrom: new Date(globals.now),\r\n dateTo: null,\r\n};\r\n\r\nclass ReferralDetails extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n canSave: null,\r\n showWillAffectVisitsWarning: false,\r\n newPasReferralIdValue: null,\r\n chars_left: 256,\r\n max_chars: 256,\r\n ...defaultTreatmentFilters,\r\n filterParams: {},\r\n };\r\n }\r\n\r\n onTreatmentsFilterPropsChange = (prop, value) => {\r\n this.setState({ [prop]: value });\r\n };\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n setValidity = value => () => {\r\n this.setState({\r\n canSave: value,\r\n });\r\n };\r\n\r\n getCharLeftValue = () => {\r\n return this.state.newPasReferralIdValue === null && this.props.referral.pasReferralId != null\r\n ? this.state.max_chars - this.props.referral.pasReferralId.length\r\n : this.state.chars_left;\r\n };\r\n\r\n handleTreatmentsFilterSubmit = activityNames => {\r\n const { treatmentStatuses, orgUnits, dateFrom, dateTo } = this.state;\r\n this.setState({\r\n filterParams: {\r\n treatmentStatuses: treatmentStatuses.filter(id => id !== 0),\r\n orgUnits: orgUnits.filter(id => id !== 0),\r\n activities: activityNames ? activityNames.map(name => encodeURIComponent(name)) : [],\r\n dateFrom: getDateForApi(dateFrom),\r\n dateTo: getDateForApi(dateTo),\r\n },\r\n });\r\n };\r\n\r\n handleTreatmentsFilterClear = () => {\r\n this.setState({\r\n filterParams: {\r\n ...defaultTreatmentFilters,\r\n dateFrom: getDateForApi(defaultTreatmentFilters.dateFrom),\r\n dateTo: getDateForApi(defaultTreatmentFilters.dateTo),\r\n },\r\n ...defaultTreatmentFilters,\r\n });\r\n };\r\n\r\n handleNavigate = url => () => {\r\n this.props.navigate(url);\r\n };\r\n\r\n handleSave = model => {\r\n this.props.handleSave(model);\r\n };\r\n\r\n handleClear = () => {\r\n this.form.reset();\r\n };\r\n\r\n addCurrentValue = value => options => {\r\n if (value === undefined || value === null) {\r\n return options;\r\n }\r\n if (options) {\r\n if (!options.find(x => x.id === value.id)) {\r\n options.push({ id: value.id, name: value.name });\r\n }\r\n }\r\n return options;\r\n };\r\n\r\n handleChange = () => {\r\n if (this.state.showWillAffectVisitsWarning !== this.props.referral.treatmentsHaveAssignedFutureTreatmentInstances) {\r\n this.setState({\r\n showWillAffectVisitsWarning: this.props.referral.treatmentsHaveAssignedFutureTreatmentInstances,\r\n });\r\n }\r\n };\r\n\r\n updatePasReferralIdValue = (event, value) => {\r\n this.setState({ newPasReferralIdValue: value });\r\n const charCount = event.target.value.length;\r\n const maxChar = this.state.max_chars;\r\n const charLength = maxChar - charCount;\r\n this.setState({ chars_left: charLength });\r\n };\r\n\r\n validateReferralReceivedDate = (values, referralReceived) => {\r\n const referralTreatments = values.referralTreatments;\r\n\r\n if (\r\n typeof referralReceived === 'undefined' ||\r\n typeof referralTreatments === 'undefined' ||\r\n referralTreatments.length < 1\r\n ) {\r\n return true;\r\n }\r\n\r\n return !referralTreatments.some(treatment => moment(referralReceived).isAfter(treatment.dateFrom, 'day'));\r\n };\r\n\r\n removeMsgAndResetBtn = () => {\r\n setTimeout(() => this.props.resetSyncStatusMsg(), 5000);\r\n };\r\n\r\n render() {\r\n const {\r\n readOnly,\r\n referralId,\r\n navigate,\r\n referral,\r\n showTreatments,\r\n showClose,\r\n canAddTreatments,\r\n canEditTreatments,\r\n canEdit,\r\n isImported,\r\n referralTreatments,\r\n externalProviderType,\r\n isFetchingComplete,\r\n messages,\r\n isSyncFetching,\r\n handleSyncTreatments,\r\n } = this.props;\r\n\r\n const formattedErrorMsg = () => {\r\n return messages.map(item =>

    {item}

    );\r\n };\r\n\r\n const {\r\n canSave,\r\n showWillAffectVisitsWarning,\r\n treatmentStatuses,\r\n orgUnits,\r\n activities,\r\n dateFrom,\r\n dateTo,\r\n filterParams,\r\n } = this.state;\r\n return (\r\n \r\n \r\n \r\n {locale.getMsg('referralDetails')}\r\n \r\n \r\n {locale.getMsg('pleaseCompleteDescription')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.validateReferralReceivedDate(values, value),\r\n }}\r\n validationErrors={{ validateReferralDate: errors.getMsg('cannotUpdateReferralReceivedDate') }}\r\n className=\"col-c4 date-picker\"\r\n floatingLabelStyle={common.floatingLabelStyle}\r\n floatingLabelShrinkStyle={common.floatingLabelShrinkStyle}\r\n floatingLabelFocusStyle={common.floatingLabelFocusStyle}\r\n underlineStyle={common.underlineStyle}\r\n textFieldStyle={datePickerStyle.textFieldStyle}\r\n inputStyle={textFieldStyle.inputStyle}\r\n style={datePickerStyle.fillContainerStyle}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n You have {this.getCharLeftValue()} characters left.\r\n \r\n \r\n {!readOnly && (\r\n \r\n \r\n {showWillAffectVisitsWarning && (\r\n
    \r\n

    * {localeForTreatments.getMsg('willNotAffectAssignedVisits')}

    \r\n
    \r\n )}\r\n
    \r\n \r\n {isImported && referral.unmappedProviderTeam && (\r\n
    \r\n

    {locale.getMsg('missingTeamWarning', [referral.unmappedProviderTeam])}

    \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {showClose && referralId && canEdit && !isImported && }\r\n \r\n \r\n
    \r\n )}\r\n \r\n {showTreatments && (\r\n \r\n \r\n \r\n \r\n {locale.getMsg('referralTreatments')}\r\n \r\n \r\n \r\n \r\n \r\n {isImported && externalProviderType === ExternalProviderType.SystmOne ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {canAddTreatments === true ? (\r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n )}\r\n \r\n\r\n \r\n \r\n \r\n\r\n {referralId && (\r\n \r\n \r\n {\r\n if (canEditTreatments === true) {\r\n navigate(`/Treatments/${rowInfo.original.id}`);\r\n }\r\n }}\r\n noDataText={locale.getMsg('noData')}\r\n noDataComponent={{localeForTreatments.getMsg('noTreatmentsInTable')}}\r\n triggerReload={isFetchingComplete === true}\r\n afterReloadCallback={this.removeMsgAndResetBtn}\r\n />\r\n \r\n \r\n )}\r\n \r\n )}\r\n {isFetchingComplete && }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nReferralDetails.defaultProps = {\r\n showTreatments: false,\r\n areFieldsValid: false,\r\n readOnly: false,\r\n showClose: false,\r\n onFieldsUpdate: () => {},\r\n navigate: () => {},\r\n handleSave: () => {},\r\n handleSyncTreatments: () => {},\r\n resetSyncStatusMsg: () => {},\r\n referralId: null,\r\n referral: {\r\n dateReceived: undefined,\r\n locationType: undefined,\r\n orgUnits: undefined,\r\n referenceCode: undefined,\r\n referralPriority: undefined,\r\n referralSource: undefined,\r\n referralService: undefined,\r\n status: '',\r\n },\r\n};\r\n\r\nReferralDetails.propTypes = {\r\n showTreatments: PropTypes.bool,\r\n referral: PropTypes.shape({\r\n status: PropTypes.string,\r\n dateReceived: PropTypes.string,\r\n id: PropTypes.number,\r\n locationType: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n orgUnits: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n ),\r\n patient: PropTypes.shape({\r\n address: PropTypes.shape({\r\n addressLine1: PropTypes.string,\r\n addressLine2: PropTypes.string,\r\n addressLine3: PropTypes.string,\r\n latitude: PropTypes.number,\r\n longitude: PropTypes.number,\r\n postCode: PropTypes.string,\r\n }),\r\n patientFullName: PropTypes.string,\r\n }),\r\n referenceCode: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n referralPriority: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n referralSource: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n referralServce: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n treatments: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n address: PropTypes.shape(Address),\r\n id: PropTypes.number,\r\n patientId: PropTypes.string,\r\n validFrom: PropTypes.string,\r\n validTo: PropTypes.string,\r\n }),\r\n ),\r\n }),\r\n readOnly: PropTypes.bool,\r\n showClose: PropTypes.bool,\r\n navigate: PropTypes.func,\r\n handleSave: PropTypes.func,\r\n handleSyncTreatments: PropTypes.func,\r\n resetSyncStatusMsg: PropTypes.func,\r\n referralId: PropTypes.number,\r\n canAddTreatments: PropTypes.bool.isRequired,\r\n canEditTreatments: PropTypes.bool.isRequired,\r\n canEdit: PropTypes.bool.isRequired,\r\n isImported: PropTypes.bool.isRequired,\r\n // externalProviderType: PropTypes.number,\r\n};\r\n\r\nexport default ReferralDetails;\r\n","import React from 'react';\r\nimport Formsy from 'formsy-react';\r\nimport { Grid, Link, IconButton, Box, InputLabel } from '@material-ui/core';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport SelectFilter from '../../common/Selector/SelectFilter';\r\nimport { treatmentStatusOptions } from '../../../enums';\r\n\r\nconst useStyles = makeStyles({\r\n inputGrid: {\r\n width: '100%',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'baseline',\r\n minHeight: '44px',\r\n padding: '10px',\r\n },\r\n label: { minWidth: '80px' },\r\n selectorChip: { fontSize: '13px' },\r\n});\r\n\r\nconst customStyle = {\r\n selector: {\r\n backgroundColor: '#eef2f4',\r\n height: '36px',\r\n borderRadius: 2,\r\n fontSize: 14,\r\n width: '100%',\r\n },\r\n};\r\n\r\nexport default function ReferralTreatmentsFilter({\r\n treatmentStatuses,\r\n orgUnits,\r\n activities,\r\n dateFrom,\r\n dateTo,\r\n onPropsChange,\r\n handleClear,\r\n handleTreatmentsFilterSubmit,\r\n filterOptions,\r\n}) {\r\n const classes = useStyles();\r\n\r\n const handleSelectChange = field => value => {\r\n onPropsChange(field, value);\r\n };\r\n\r\n const isValidDate = date => {\r\n return date && !isNaN(date.getTime());\r\n };\r\n\r\n const setDateFrom = date => {\r\n onPropsChange('dateFrom', date);\r\n };\r\n\r\n const setDateTo = date => {\r\n onPropsChange('dateTo', date);\r\n };\r\n\r\n const canFilter = () => {\r\n const isDateRangeValid = isValidDate(dateFrom) && (!dateTo || isValidDate(dateTo));\r\n return isDateRangeValid && (!dateTo || dateFrom <= dateTo);\r\n };\r\n\r\n const handleSubmit = () => {\r\n const activityNames = filterOptions.activityOptions\r\n .filter(activity => activities.includes(activity.id))\r\n .map(option => option.name);\r\n handleTreatmentsFilterSubmit(activityNames);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Status\r\n \r\n \r\n \r\n\r\n \r\n \r\n Date From\r\n setDateFrom(date)}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n fullWidth\r\n maxDate={dateTo || undefined}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n Date To\r\n setDateTo(date)}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n fullWidth\r\n minDate={dateFrom || undefined}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n Org Units\r\n \r\n \r\n \r\n \r\n \r\n Activities\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Clear All\r\n \r\n \r\n \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 React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport { Box } from '@material-ui/core';\r\nimport moment from 'moment';\r\nimport { FormsySelect } from 'formsy-material-ui/lib';\r\nimport { FormsyDate, FormsyNHS } from '../common/Formsy';\r\nimport ApiSelector from '../../containers/common/selectors/selectorContainer';\r\nimport { textFieldStyle, datePickerStyle, common, dropDownStyle } from '../../theme/AllocateBaseTheme';\r\nimport {\r\n teamsEndpoint,\r\n cliniciansForUserEndpoint,\r\n activitiesEndpoint,\r\n referralServiceEndpoint,\r\n} from '../../settings/constants';\r\nimport globals from '../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('reports');\r\n\r\nclass FilterPanel extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isCliniciansFetchRequired: false,\r\n startDateRestriction: null,\r\n endDateRestriction: null,\r\n startDate: null,\r\n endDate: null,\r\n isReferralServicesFetchRequired: true,\r\n referralServiceStartDate: null,\r\n period: 'allDay',\r\n teamStatus: 'Active',\r\n };\r\n this.handleStartDateChange = this.handleStartDateChange.bind(this);\r\n this.handleEndDateChange = this.handleEndDateChange.bind(this);\r\n }\r\n\r\n shouldComponentUpdate = (nextProps, nextState) =>\r\n Object.values(nextProps.filters).join(',') !== Object.values(this.props.filters).join(',') ||\r\n this.state.teamIds !== nextState.teamIds ||\r\n this.state.teamStatus !== nextState.teamStatus ||\r\n this.state.clinicianIds !== nextState.clinicianIds ||\r\n this.state.activityId !== nextState.activityId ||\r\n this.state.startDate !== nextState.startDate ||\r\n this.state.endDate !== nextState.endDate ||\r\n this.state.referralServiceIds !== nextState.referralServiceIds ||\r\n this.state.referralServiceStartDate !== nextState.referralServiceStartDate;\r\n\r\n componentDidUpdate() {\r\n const {\r\n teamIds,\r\n startDate,\r\n endDate,\r\n nhsNumber,\r\n activityId,\r\n cliniciansIds,\r\n referralServiceIds,\r\n period,\r\n teamStatus,\r\n } = this.state;\r\n this.props.onValuesChange({\r\n period,\r\n nhsNumber,\r\n activityId,\r\n startDate: moment(startDate).format(globals.dateFormats.date),\r\n endDate: moment(endDate).format(globals.dateFormats.date),\r\n orgUnitsIds: teamIds,\r\n cliniciansIds,\r\n referralServiceIds,\r\n reportType: this.props.name,\r\n teamStatus,\r\n });\r\n }\r\n\r\n onValuesChange = (event, value) => {\r\n this.setState({ ...this.state, period: value });\r\n const {\r\n teamIds,\r\n startDate,\r\n endDate,\r\n nhsNumber,\r\n activityId,\r\n cliniciansIds,\r\n referralServiceIds,\r\n teamStatus,\r\n } = this.state;\r\n this.props.onValuesChange({\r\n period: value,\r\n nhsNumber,\r\n activityId,\r\n startDate: moment(startDate).format(globals.dateFormats.date),\r\n endDate: moment(endDate).format(globals.dateFormats.date),\r\n orgUnitsIds: teamIds,\r\n cliniciansIds,\r\n referralServiceIds,\r\n reportType: this.props.name,\r\n teamStatus,\r\n });\r\n };\r\n\r\n getDatesValidation = () => ({ validateDates: this.validateDates });\r\n\r\n getCliniciansIdsCallArgs = () => ({ teamIds: this.state.teamIds });\r\n\r\n getTeamStatusCallArgs = () => ({ teamStatus: this.state.teamStatus });\r\n\r\n getCliniciansIdsValue = () => this.state.clinicianIds || [];\r\n\r\n getTeamsIdsValue = () => (this.state.teamIds || []).map(id => ({ id }));\r\n\r\n getReferralServiceCallArgs = () => ({ startDate: this.state.referralServiceStartDate });\r\n\r\n getReferralServiceIdsValue = () => this.state.referralServiceIds || [];\r\n\r\n handleActivityChange = (event, key, value) => {\r\n this.setState({ activity: value });\r\n };\r\n\r\n handleTeamsChange = (event, key, value) => {\r\n this.setState({\r\n teamIds: value,\r\n isCliniciansFetchRequired: value && value.length > 0,\r\n });\r\n };\r\n\r\n handleTeamStatusChange = (event, value) => {\r\n this.setState({\r\n teamStatus: value,\r\n });\r\n };\r\n\r\n handleClinicianChange = (event, key, value) => {\r\n this.setState({ clinicianIds: value });\r\n };\r\n\r\n handleActivityChange = (event, key, value) => {\r\n this.setState({ activityId: value });\r\n };\r\n\r\n handleReferralServiceChange = (event, key, value) => {\r\n this.setState({ referralServiceIds: value, isReferralServicesFetchRequired: false });\r\n };\r\n\r\n validateDates = values => {\r\n if (!values.startDate || !values.endDate) {\r\n return true;\r\n }\r\n\r\n const startDate = moment(values.startDate, 'd');\r\n const endDate = moment(values.endDate, 'd');\r\n\r\n return startDate.isSameOrBefore(endDate) ? true : locale.getMsg('incorrectDates');\r\n };\r\n\r\n handleStartDateChange = (event, date) => {\r\n const { maxRangeInDays } = this.props.filtersRestrictions;\r\n if (!date) {\r\n // when handleDateClear is called on the date\r\n this.setState({ startDate: null, endDateRestriction: null });\r\n } else {\r\n if (maxRangeInDays) {\r\n const restriction = new Date(date);\r\n restriction.setDate(date.getDate() + maxRangeInDays);\r\n this.setState({ endDateRestriction: restriction, startDate: date });\r\n }\r\n this.setState({\r\n isReferralServicesFetchRequired: true,\r\n referralServiceStartDate: moment(date).format(globals.dateFormats.date),\r\n startDate: date,\r\n });\r\n }\r\n };\r\n\r\n handleEndDateChange = (event, date) => {\r\n const { maxRangeInDays } = this.props.filtersRestrictions;\r\n if (!date) {\r\n this.setState({ startDateRestriction: null, endDate: null });\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (maxRangeInDays) {\r\n const restriction = new Date(date);\r\n restriction.setDate(date.getDate() - maxRangeInDays);\r\n this.setState({\r\n startDateRestriction: restriction,\r\n endDate: date,\r\n });\r\n }\r\n this.setState({\r\n endDate: date,\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const { dateRange, period, teams, clinicians, nhsNumber, activity, referralServices } = this.props.filters;\r\n const { maxRangeInDays } = this.props.filtersRestrictions;\r\n const {\r\n activityId,\r\n startDateRestriction,\r\n endDateRestriction,\r\n startDate,\r\n endDate,\r\n teamIds,\r\n teamStatus,\r\n } = this.state;\r\n return (\r\n
    \r\n {(dateRange || period) && (\r\n
    \r\n \r\n {dateRange && (\r\n \r\n \r\n \r\n )}\r\n {dateRange && (\r\n \r\n \r\n \r\n )}\r\n {period && (\r\n \r\n this.onValuesChange(event, value)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    \r\n )}\r\n {teams && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {clinicians && (\r\n \r\n \r\n \r\n )}\r\n {nhsNumber && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {activity && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {referralServices && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nFilterPanel.defaultProps = {\r\n filters: [],\r\n filtersRestrictions: {\r\n maxRangeInDays: null,\r\n },\r\n};\r\n\r\nFilterPanel.propTypes = {\r\n onValuesChange: PropTypes.func.isRequired,\r\n filters: PropTypes.shape({\r\n dateRange: PropTypes.bool,\r\n clinicians: PropTypes.bool,\r\n nhsNumber: PropTypes.bool,\r\n teams: PropTypes.bool,\r\n period: PropTypes.bool,\r\n activity: PropTypes.bool,\r\n }),\r\n filtersRestrictions: PropTypes.shape({\r\n maxRangeInDays: PropTypes.number,\r\n }),\r\n};\r\nexport default FilterPanel;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Formsy from 'formsy-react';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport { Box } from '@material-ui/core';\r\nimport moment from 'moment';\r\n\r\nimport { refSetter } from '../../utils/helpers';\r\nimport FilterPanel from './FilterPanel';\r\nimport globals from '../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('reports');\r\n\r\nclass ReportForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n canGenerate: false,\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.name === 'TreatmentDeliveryReport') this.handleClear();\r\n }\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n setValidity = value => () => {\r\n this.setState({\r\n canGenerate: value,\r\n });\r\n };\r\n\r\n handleSubmit = values => {\r\n const { generateReport, name } = this.props;\r\n\r\n const {\r\n areasIds,\r\n boroughsIds,\r\n teamsIds,\r\n startDate,\r\n endDate,\r\n activityId,\r\n cliniciansIds,\r\n referralServiceIds,\r\n ...rest\r\n } = values;\r\n generateReport({\r\n ...rest,\r\n activityId,\r\n startDate: moment(startDate).format(globals.dateFormats.date),\r\n endDate: moment(endDate).format(globals.dateFormats.date),\r\n orgUnitsIds: []\r\n .concat(areasIds)\r\n .concat(boroughsIds)\r\n .concat(teamsIds),\r\n cliniciansIds,\r\n referralServiceIds,\r\n reportType: name,\r\n });\r\n };\r\n\r\n handleClear = () => {\r\n this.form.reset();\r\n };\r\n\r\n render() {\r\n const { canGenerate } = this.state;\r\n const { filters, filtersRestrictions, isGenerating, handleFilterChange } = this.props;\r\n return (\r\n \r\n {this.props.name === 'TreatmentDeliveryReport' && (\r\n handleFilterChange(reportData)}\r\n name={this.props.name}\r\n />\r\n )}\r\n {this.props.name !== 'TreatmentDeliveryReport' && (\r\n handleFilterChange(reportData)}\r\n name={this.props.name}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {isGenerating && {locale.getMsg('isGenerating')}}\r\n \r\n );\r\n }\r\n}\r\n\r\nReportForm.defaultProps = {\r\n selectedReport: {},\r\n filtersRestrictions: {\r\n maxRangeInDays: null,\r\n },\r\n};\r\n\r\nReportForm.propTypes = {\r\n generateReport: PropTypes.func.isRequired,\r\n handleFilterChange: PropTypes.func.isRequired,\r\n name: PropTypes.string.isRequired,\r\n filters: PropTypes.shape({\r\n teams: PropTypes.bool,\r\n dateRange: PropTypes.bool,\r\n period: PropTypes.bool,\r\n clinicians: PropTypes.bool,\r\n nhsNumber: PropTypes.bool,\r\n activity: PropTypes.bool,\r\n }).isRequired,\r\n filtersRestrictions: PropTypes.shape({\r\n maxRangeInDays: PropTypes.number,\r\n }),\r\n};\r\n\r\nexport default ReportForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport fileSaver from 'file-saver';\r\nimport SelectField from 'material-ui/SelectField';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport { Typography, Box } from '@material-ui/core';\r\n\r\nimport InnerContent from '../../components/PageStructure/InnerContent/InnerContent';\r\nimport PageContent from './../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from './../../components/PageStructure/PageHeader/PageHeader';\r\nimport ReportForm from './ReportForm';\r\nimport { dropDownStyle, common } from '../../theme/AllocateBaseTheme';\r\nimport { queryStringBuilder, lowerFirstLetter } from '../../utils/helpers';\r\nimport globals from '../../globals/communityGlobals';\r\nimport _ from '../../utils/lodash';\r\n\r\nconst locale = globals.getArea('reports');\r\nconst reportNamesLocale = globals.getArea('reportNames');\r\nconst queryBase = `${globals.urls.apiUrl}/v1/query/GenerateReport`;\r\n\r\nconst ReportSelection = props => {\r\n const auth = useSelector(state => state.global.auth);\r\n const jwtToken = auth.jwtToken;\r\n\r\n const { selectedReportTypeName, selectReportTypeName } = props;\r\n\r\n const [isGenerating, setIsGenerating] = useState();\r\n const [reportsInProgress, setReportsInProgress] = useState([]);\r\n const [finishedReports, setFinishedReports] = useState([]);\r\n\r\n useEffect(() => {\r\n const finishedReport = finishedReports.find(({ url }) => !reportsInProgress.includes(url));\r\n const stillInProg = finishedReport\r\n ? reportsInProgress.filter(r => r.url !== finishedReport.url)\r\n : reportsInProgress;\r\n setReportsInProgress(stillInProg);\r\n setFinishedReports([]);\r\n setIsGenerating(stillInProg.some(x => x.reportName === selectedReportTypeName));\r\n }, [finishedReports.length > 0]);\r\n\r\n const addReportToGeneratingList = (reportName, url) => {\r\n if (!reportsInProgress.some(r => r.url === url)) {\r\n setReportsInProgress([...reportsInProgress, { reportName, url }]);\r\n }\r\n setIsGenerating(true);\r\n };\r\n\r\n const addReportToFinishedList = (reportName, url) => {\r\n setFinishedReports([...finishedReports, { reportName, url }]);\r\n };\r\n\r\n const generateReport = reportData => {\r\n const reportName = reportData.reportType;\r\n const url = `${queryBase}${queryStringBuilder(reportData)}`;\r\n addReportToGeneratingList(reportName, url);\r\n const xhr = new XMLHttpRequest();\r\n xhr.open('GET', url, true);\r\n xhr.setRequestHeader('Authorization', `Bearer ${jwtToken}`);\r\n xhr.responseType = 'blob';\r\n xhr.onload = () => {\r\n if (xhr.status !== 200) {\r\n addReportToFinishedList(reportName, url);\r\n return;\r\n }\r\n const blob = xhr.response;\r\n const now = globals.now.format('YYYY-MM-DD');\r\n fileSaver.saveAs(blob, `${reportNamesLocale.getMsg(lowerFirstLetter(reportName))}(${now}).xlsx`);\r\n addReportToFinishedList(reportName, url);\r\n };\r\n xhr.send(null);\r\n };\r\n\r\n const otherReportIsSelected = report => {\r\n if (selectedReportTypeName && selectedReportTypeName !== report) {\r\n const isAlreadyGenerating = reportsInProgress.some(r => r.reportName === report);\r\n setIsGenerating(isAlreadyGenerating);\r\n }\r\n };\r\n\r\n const handleFilterChange = reportData => {\r\n const url = queryBase + queryStringBuilder(reportData);\r\n setIsGenerating(reportsInProgress && reportsInProgress.some(r => r.url === url));\r\n };\r\n\r\n const possibleFilters = {\r\n teams: true,\r\n dateRange: true,\r\n period: true,\r\n clinicians: true,\r\n nhsNumber: true,\r\n activity: false,\r\n referralServices: false,\r\n };\r\n\r\n const reportForms = {\r\n ActualizationReport: (\r\n \r\n ),\r\n CliniciansUtilizationReport: (\r\n \r\n ),\r\n PlannedVsUnplannedActivitiesReport: (\r\n \r\n ),\r\n RescheduledVisitsReport: (\r\n \r\n ),\r\n OpenReferralsReport: (\r\n \r\n ),\r\n OpenTreatmentsReport: (\r\n \r\n ),\r\n CanceledVisitsReport: (\r\n \r\n ),\r\n ActivityVarianceReport: (\r\n \r\n ),\r\n TreatmentDeliveryReport: (\r\n \r\n ),\r\n };\r\n\r\n const reportMenu = _.entries(reportForms).map(([key]) => (\r\n otherReportIsSelected(key)}\r\n />\r\n ));\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n {locale.getMsg('reportsTitle')}\r\n {/* {locale.getMsg('reportsDescription')} */}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n selectReportTypeName(value)}\r\n floatingLabelStyle={common.floatingLabelStyle}\r\n floatingLabelShrinkStyle={common.floatingLabelShrinkStyle}\r\n floatingLabelFocusStyle={common.floatingLabelFocusStyle}\r\n underlineStyle={common.underlineStyle}\r\n style={dropDownStyle.style}\r\n iconStyle={dropDownStyle.iconStyle}\r\n labelStyle={dropDownStyle.labelStyle}\r\n menuStyle={dropDownStyle.menuStyle}\r\n >\r\n {reportMenu}\r\n \r\n \r\n \r\n
    \r\n {selectedReportTypeName && reportForms[selectedReportTypeName]}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nReportSelection.defaultProps = {\r\n selectedReportTypeName: '',\r\n};\r\n\r\nReportSelection.propTypes = {\r\n selectedReportTypeName: PropTypes.string,\r\n selectReportTypeName: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default ReportSelection;\r\n","import React from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport PrivateRoute from '../../containers/Routes/PrivateRouteContainer';\r\nimport globals from '../../globals/communityGlobals';\r\nimport _ from '../../utils/lodash';\r\n\r\nconst locale = globals.getArea('pageTitles');\r\n\r\nclass CommunityRoute {\r\n constructor(Component, Layout, featureAccess, pageTitleKey) {\r\n this.isPrivate = !!featureAccess;\r\n this.pageTitleKey = pageTitleKey;\r\n this.props = {\r\n Component,\r\n Layout,\r\n featureAccess,\r\n pageTitle: locale.getMsg(pageTitleKey),\r\n };\r\n }\r\n setRoutePath = routePath => {\r\n this.props.path = routePath;\r\n return this;\r\n };\r\n compose = () => {\r\n const { path, Component } = this.props;\r\n const key = `CommunityRoute${path}`;\r\n return this.isPrivate ? (\r\n \r\n ) : (\r\n } />\r\n );\r\n };\r\n}\r\n\r\nexport function routeCreator(Component, Layout, requiredFeatureAccess, pageTitleKey) {\r\n // if (!React.isValidElement(Component) && typeof Component !== 'function') {\r\n // throw new TypeError('Route build error: The provided component is neither a valid React element nor a function.');\r\n // }\r\n if (requiredFeatureAccess) {\r\n if (typeof requiredFeatureAccess !== 'string' && !Array.isArray(requiredFeatureAccess)) {\r\n throw new TypeError('Route build error: The provided requiredFeatureAccess is neither a string nor an array');\r\n }\r\n if (Array.isArray(requiredFeatureAccess) && requiredFeatureAccess.every(fA => typeof fA !== 'string')) {\r\n throw new TypeError('Route build error: The provided requiredFeatureAccess is not an array of strings.');\r\n }\r\n }\r\n if (pageTitleKey && typeof pageTitleKey !== 'string') {\r\n throw new TypeError('Route build error: The provided pageTitleKey is not a string.');\r\n }\r\n return new CommunityRoute(Component, Layout, requiredFeatureAccess, pageTitleKey);\r\n}\r\n\r\nexport function buildNestedRouting(routeMap, parent = '') {\r\n let result = [];\r\n _.entries(routeMap).forEach(([path, routeObject]) => {\r\n if (routeObject instanceof CommunityRoute) {\r\n const isDefault = path === '_default';\r\n result.push(routeObject.setRoutePath(parent + (isDefault ? '' : path)).compose());\r\n } else {\r\n result = [...result, ...buildNestedRouting(routeObject, parent + path)];\r\n }\r\n });\r\n return result;\r\n}\r\n\r\nexport default CommunityRoute;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { checkFeatureAccess } from '../../utils/helpers';\r\nimport LoadingPageText from '../common/Loading/LoadingPageText';\r\n\r\nfunction convertIdToInt(props) {\r\n if (props && props.match && props.match.params && props.match.params.id) {\r\n return {\r\n ...props,\r\n match: {\r\n ...props.match,\r\n params: {\r\n ...props.match.params,\r\n id: parseInt(props.match.params.id, 10),\r\n },\r\n },\r\n };\r\n }\r\n return props;\r\n}\r\n\r\nconst PrivateRoute = ({\r\n Component,\r\n Layout,\r\n path,\r\n featureAccess,\r\n exact,\r\n featureAccessList,\r\n isAuthenticated,\r\n isFetching,\r\n ...rest\r\n}) => (\r\n {\r\n if (isAuthenticated) {\r\n if (checkFeatureAccess(featureAccessList, featureAccess)) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if (isFetching) {\r\n return Wait a moment while we gather profile info...;\r\n }\r\n return No feature access;\r\n }\r\n return (\r\n \r\n );\r\n }}\r\n />\r\n);\r\n\r\nPrivateRoute.defaultProps = {\r\n exact: false,\r\n};\r\n\r\nPrivateRoute.propTypes = {\r\n exact: PropTypes.bool,\r\n Component: PropTypes.func.isRequired,\r\n Layout: PropTypes.func.isRequired,\r\n path: PropTypes.string.isRequired,\r\n location: PropTypes.shape({\r\n hash: PropTypes.string,\r\n pathname: PropTypes.string,\r\n key: PropTypes.string,\r\n search: PropTypes.string,\r\n state: PropTypes.shape({\r\n from: PropTypes.shape({\r\n pathname: PropTypes.string,\r\n }),\r\n }),\r\n }),\r\n featureAccessList: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n isAuthenticated: PropTypes.bool.isRequired,\r\n isFetching: PropTypes.bool.isRequired,\r\n featureAccess: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n};\r\n\r\nPrivateRoute.defaultProps = {\r\n location: {},\r\n};\r\n\r\nexport default PrivateRoute;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Formsy from 'formsy-react';\r\nimport { Box } from '@material-ui/core';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport PostcodeSearch from './../../../containers/common/PostcodeSearch/PostcodeSearchContainer';\r\nimport AddressForm from './AddressForm';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nconst styles = {\r\n radioButton: { marginBottom: '5px' },\r\n radioButtonGroup: { flexDirection: 'column', width: '250px', marginLeft: 0 },\r\n};\r\nexport const selectionTypes = {\r\n patientAddress: 'Patient Address',\r\n alternativeAddress: 'Alternative Address',\r\n};\r\n\r\nclass AddressDetails extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showWillAffectVisitsWarning: false,\r\n selectionType: this.props.treatmentAddress ? selectionTypes.alternativeAddress : selectionTypes.patientAddress,\r\n };\r\n }\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n handleChange = () => {\r\n this.setState({\r\n showWillAffectVisitsWarning: this.props.hasBundledOrFutureAssignedInstances,\r\n });\r\n };\r\n\r\n handleSelectionTypeSwitch = event => {\r\n this.setState({ selectionType: event.target.value });\r\n this.handleAlternativeAddress(event.target.value);\r\n };\r\n\r\n handleAlternativeAddress = alternativeAddressInput => {\r\n this.props.hasAlternativeAddres(alternativeAddressInput === selectionTypes.alternativeAddress);\r\n };\r\n\r\n updateAddressFromPostcode = selection => {\r\n this.alternativeAddressForm.setValue({\r\n addressLine1: selection.lines[0],\r\n addressLine2: selection.lines[1],\r\n addressLine3: selection.lines[2],\r\n townCity: selection.postTown,\r\n postCode: selection.value,\r\n });\r\n };\r\n\r\n render() {\r\n const { showWillAffectVisitsWarning, selectionType } = this.state;\r\n const { innerRef, setValidity, readOnly, patientAddress, treatmentAddress, isImportedFromSystmOne } = this.props;\r\n\r\n let defaultAddressFormValue = {\r\n addressLine1: undefined,\r\n addressLine2: undefined,\r\n addressLine3: undefined,\r\n townCity: undefined,\r\n postCode: undefined,\r\n accessDetails: undefined,\r\n };\r\n\r\n let alternativeAddressFormValue = {\r\n addressLine1: undefined,\r\n addressLine2: undefined,\r\n addressLine3: undefined,\r\n townCity: undefined,\r\n postCode: undefined,\r\n accessDetails: undefined,\r\n description: undefined,\r\n };\r\n\r\n if (patientAddress) {\r\n defaultAddressFormValue = patientAddress;\r\n }\r\n if (treatmentAddress) {\r\n alternativeAddressFormValue = treatmentAddress;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n Patient Address\r\n \r\n {!readOnly && (\r\n
    \r\n \r\n Alternative Address\r\n
    \r\n )}\r\n {!readOnly && (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n \r\n \r\n {showWillAffectVisitsWarning && (\r\n
    \r\n

    \r\n * {locale.getMsg('willAffectAssignedVisits')} {locale.getMsg('savingWillUnassign')}\r\n

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nAddressDetails.defaultProps = {\r\n onFieldsUpdate: () => {},\r\n innerRef: () => {},\r\n setValidity: () => {},\r\n addressDetails: undefined,\r\n readOnly: false,\r\n patientAddress: undefined,\r\n treatmentAddress: undefined,\r\n hasBundledOrFutureAssignedInstances: false,\r\n};\r\n\r\nAddressDetails.propTypes = {\r\n innerRef: PropTypes.func,\r\n setValidity: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n patientAddress: PropTypes.shape({\r\n addressLine1: PropTypes.string,\r\n addressLine2: PropTypes.string,\r\n addressLine3: PropTypes.string,\r\n townCity: PropTypes.string,\r\n postCode: PropTypes.string,\r\n accessDetails: PropTypes.string,\r\n }),\r\n treatmentAddress: PropTypes.shape({\r\n addressLine1: PropTypes.string,\r\n addressLine2: PropTypes.string,\r\n addressLine3: PropTypes.string,\r\n townCity: PropTypes.string,\r\n postCode: PropTypes.string,\r\n accessDetails: PropTypes.string,\r\n description: PropTypes.string,\r\n }),\r\n hasBundledOrFutureAssignedInstances: PropTypes.bool,\r\n};\r\n\r\nexport default AddressDetails;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { HOC } from 'formsy-react';\r\nimport Box from '@material-ui/core/Box';\r\nimport TextField from 'material-ui/TextField';\r\nimport { textFieldStyle, multiLineText } from '../../../theme/AllocateBaseTheme';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst styles = {\r\n textAreaDetails: {\r\n ...multiLineText.style,\r\n backgroundColor: 'transparent',\r\n width: '100%',\r\n },\r\n textAreaLabelStyle: {\r\n color: '#00b1eb',\r\n padding: '0 8px',\r\n fontSize: 14,\r\n },\r\n\r\n textAreaInputStyle: {\r\n marginTop: 0,\r\n paddingLeft: 8,\r\n paddingTop: 11,\r\n },\r\n};\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nclass AddressForm extends Component {\r\n handleChange = field => (info, value) => {\r\n const currentValue = this.props.getValue();\r\n this.props.setValue({\r\n ...currentValue,\r\n [field]: value,\r\n });\r\n\r\n if (field === 'postCode') {\r\n if (value !== null && value !== '') {\r\n this.props.onPostcodeChange(true);\r\n } else {\r\n this.props.onPostcodeChange(false);\r\n }\r\n }\r\n };\r\n render() {\r\n const { disabled, accessDetailsDisabled } = this.props;\r\n const {\r\n addressLine1 = '',\r\n addressLine2 = '',\r\n addressLine3 = '',\r\n townCity = '',\r\n postCode = '',\r\n accessDetails = '',\r\n description = '',\r\n } = this.props.getValue() || {};\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.name === 'alternativeAddress' && (\r\n \r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nAddressForm.defaultProps = {\r\n defaultValue: {},\r\n disabled: false,\r\n onPostcodeChange: () => {},\r\n accessDetailsDisabled: true,\r\n};\r\n\r\nAddressForm.propTypes = {\r\n setValue: PropTypes.func.isRequired,\r\n getValue: PropTypes.func.isRequired,\r\n disabled: PropTypes.bool,\r\n onPostcodeChange: PropTypes.func,\r\n accessDetailsDisabled: PropTypes.bool,\r\n};\r\n\r\nexport default HOC(AddressForm);\r\n","import React, { useState } from 'react';\r\nimport { FormsyText } from 'formsy-material-ui/lib';\r\nimport Formsy from 'formsy-react';\r\nimport { Box } from '@material-ui/core';\r\nimport { textFieldStyle } from '../../../theme/AllocateBaseTheme';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { phoneNumber } from '../../../settings/constants/regex';\r\n\r\nconst locale = globals.getArea('patients');\r\nconst errorsLocale = globals.getArea('error');\r\n\r\nexport default function ContactDetails({ readOnly, patientContact, innerRef, setValidity, getPatientPhoneNumbers }) {\r\n const [state, setState] = useState({\r\n landlinePhoneNumber: patientContact.landlinePhoneNumber,\r\n otherPhoneNumber: patientContact.otherPhoneNumber,\r\n mobilePhoneNumber: patientContact.mobilePhoneNumber,\r\n });\r\n\r\n const errorMessages = {\r\n matchRegexp: errorsLocale.getMsg('invalidFormat'),\r\n };\r\n\r\n const handleChange = () => {\r\n const phoneCallContact = {\r\n landlinePhoneNumber: state.landlinePhoneNumber,\r\n otherPhoneNumber: state.otherPhoneNumber,\r\n mobilePhoneNumber: state.mobilePhoneNumber,\r\n };\r\n getPatientPhoneNumbers(phoneCallContact);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n setState({ ...state, landlinePhoneNumber: e.target.value })}\r\n errorStyle={textFieldStyle.errorStyle}\r\n />\r\n \r\n \r\n setState({ ...state, otherPhoneNumber: e.target.value })}\r\n errorStyle={textFieldStyle.errorStyle}\r\n />\r\n \r\n \r\n setState({ ...state, mobilePhoneNumber: e.target.value })}\r\n errorStyle={textFieldStyle.errorStyle}\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\nimport Formsy from 'formsy-react';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport ApiSelector from '../../../containers/common/selectors/selectorContainer';\r\nimport { bandsEndpoint, ragsEndpoint, getPreferredCliniciansEndpointForTreatment } from '../../../settings/constants';\r\nimport { ragStatusWithDesc, Band } from '../../../enums';\r\nimport _ from '../../../utils/lodash';\r\nimport ConfirmationDialog from '../../../components/PageStructure/ConfirmationDialog';\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nconst defaultState = props => ({\r\n selectedRag: props.treatment.overriddenRagStatus,\r\n selectedBand: props.treatment.overriddenBand,\r\n selectedPreferredClinicianId: props.treatment.preferredClinicianId,\r\n selectedPreferredClinician: props.treatment.preferredClinician,\r\n patientFullName: props.patientFullName,\r\n showConfirmationDialog: false,\r\n});\r\n\r\nclass PersonaliseTreatment extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n ...defaultState(this.props),\r\n };\r\n }\r\n setRef = refSetter.bind(this);\r\n\r\n getActivitiesHighestRag = activities => {\r\n const ragStatuses = activities.map(activity => activity.ragStatus);\r\n const ragStatusesWithDesc = _.filter(ragStatusWithDesc, r => {\r\n return ragStatuses.find(x => x.id === r.id);\r\n });\r\n const maxRagStatus = ragStatusesWithDesc.reduce((max, x) => (max.sortingOrder > x.sortingOrder ? max : x), 0);\r\n\r\n return ragStatuses.find(x => x.id === maxRagStatus.id);\r\n };\r\n\r\n getActivitiesHighestBand = activities => {\r\n const bands = activities.map(activity => activity.band);\r\n const bandsIds = bands.map(x => x.id);\r\n const maxBandId = Math.max(...bandsIds);\r\n\r\n return bands.find(x => x.id === maxBandId);\r\n };\r\n\r\n handleRagChange = (event, key, id, rag) => {\r\n this.setState({\r\n ...this.state,\r\n selectedRag: rag,\r\n showConfirmationDialog: false,\r\n });\r\n };\r\n\r\n handleBandChange = (event, key, id, band) => {\r\n if (\r\n this.state.selectedPreferredClinician !== undefined &&\r\n this.state.selectedPreferredClinician !== null &&\r\n this.state.selectedPreferredClinician.clinicianBand < band.id\r\n ) {\r\n this.setState({\r\n ...this.state,\r\n selectedBand: band,\r\n showConfirmationDialog: true,\r\n });\r\n } else {\r\n this.setState({\r\n ...this.state,\r\n selectedBand: band,\r\n showConfirmationDialog: false,\r\n });\r\n }\r\n };\r\n\r\n handlePreferredClinicianChange = (event, key, id, selectedPreferredClinician) => {\r\n if (\r\n selectedPreferredClinician !== undefined &&\r\n selectedPreferredClinician !== null &&\r\n this.state.selectedBand != null &&\r\n selectedPreferredClinician.clinicianBand < this.state.selectedBand.id\r\n ) {\r\n this.setState({\r\n ...this.state,\r\n selectedPreferredClinicianId: id,\r\n selectedPreferredClinician,\r\n showConfirmationDialog: true,\r\n });\r\n } else {\r\n this.setState({\r\n ...this.state,\r\n selectedPreferredClinicianId: id,\r\n selectedPreferredClinician,\r\n showConfirmationDialog: false,\r\n });\r\n }\r\n };\r\n\r\n handleConfirm = () => {\r\n this.setState({\r\n ...this.state,\r\n showConfirmationDialog: false,\r\n selectedPreferredClinicianId: null,\r\n selectedPreferredClinician: null,\r\n });\r\n };\r\n\r\n handleCancel = () => {\r\n this.setState({\r\n ...this.state,\r\n showConfirmationDialog: false,\r\n selectedBand: this.props.treatment.overriddenBand,\r\n });\r\n };\r\n\r\n filterRagOptions = options => {\r\n const defaultRagStatus = this.getActivitiesHighestRag(this.props.activities).id;\r\n if (!_.isEmpty(this.props.treatment.overriddenRagStatus)) {\r\n return options.filter(\r\n o => parseInt(o.description, 10) >= ragStatusWithDesc.find(x => x.id === defaultRagStatus).sortingOrder,\r\n );\r\n }\r\n return options.filter(\r\n o => parseInt(o.description, 10) > ragStatusWithDesc.find(x => x.id === defaultRagStatus).sortingOrder,\r\n );\r\n };\r\n\r\n filterBandOptions = options => {\r\n if (!_.isEmpty(this.props.treatment.overriddenBand)) {\r\n return options.filter(o => o.id >= this.getActivitiesHighestBand(this.props.activities).id);\r\n }\r\n return options.filter(o => o.id > this.getActivitiesHighestBand(this.props.activities).id);\r\n };\r\n\r\n shouldDisableSelector = (value, options) => {\r\n if (!_.isEmpty(value)) {\r\n const highestOption = options.reduce((max, x) => (max.sortingOrder > x.sortingOrder ? max : x));\r\n return value.id === highestOption.id;\r\n }\r\n return false;\r\n };\r\n\r\n reset = () => {\r\n this.setState({\r\n ...defaultState(this.props),\r\n });\r\n };\r\n\r\n render() {\r\n const { innerRef, activities } = this.props;\r\n\r\n const headerStyle = {\r\n marginTop: '16px',\r\n marginBottom: '20px',\r\n };\r\n const defValueTextColour = {\r\n color: '#00B1EB',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {locale.getMsg('personaliseTreatmentDescription')}\r\n \r\n \r\n \r\n
    {locale.getMsg('treatRagStatusLbl')}
    \r\n
    \r\n \r\n
    \r\n {locale.getMsg('defaultRagStatus')}\r\n
    \r\n \r\n {activities.length > 0 && this.getActivitiesHighestRag(activities).name}\r\n \r\n
    \r\n \r\n 0 && this.filterRagOptions}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
    {locale.getMsg('treatBandLbl')}
    \r\n
    \r\n \r\n
    \r\n {locale.getMsg('defaultBand')}\r\n
    \r\n \r\n {activities.length > 0 && this.getActivitiesHighestBand(activities).name}\r\n \r\n
    \r\n \r\n 0 && this.filterBandOptions}\r\n />\r\n \r\n \r\n \r\n \r\n {locale.getMsg('preferredClinicianDescription', [this.props.patientFullName])}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nPersonaliseTreatment.defaultProps = {\r\n onFieldsUpdate: () => {},\r\n innerRef: () => {},\r\n setValidity: () => {},\r\n readOnly: false,\r\n};\r\n\r\nexport default PersonaliseTreatment;\r\n","/* eslint-disable react/no-unescaped-entities */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport { Tabs, Tab } from 'material-ui/Tabs';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport FlatButton from 'material-ui/FlatButton';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport { tabStyles } from '../../../theme/AllocateBaseTheme';\r\nimport AddressDetails from '../AddressDetails/AddressDetails';\r\nimport PersonaliseTreatment from '../PersonaliseTreatment/PersonaliseTreatment';\r\n\r\nimport TreatmentDetails from '../TreatmentDetails/TreatmentDetails';\r\nimport TreatmentSchedule, { selectionTypes } from '../TreatmentSchedule/TreatmentSchedule';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport _ from '../../../utils/lodash';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport { recurrenceTypes } from '../../../settings/constants';\r\nimport PatientPropType from '../../../propTypes/entities/patient';\r\nimport { red500 } from '../../../theme/AllocateColors';\r\n\r\nimport timeSlotPropType from '../../../propTypes/entities/timeSlot';\r\nimport { getDateForApi } from '../../../utils/dates';\r\nimport ContactDetails from '../AddressDetails/ContactDetails';\r\nimport { ExternalProviderType } from '../../../enums';\r\n\r\nimport AuditTrail from '../../../components/common/AuditTrail/AuditTrail';\r\nimport { AuditTrailType } from '../../../enums/auditTrail';\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nconst tabIndexToNameMap = {\r\n 0: 'treatment',\r\n 1: 'treatmentSchedule',\r\n 2: 'addressContact',\r\n 3: 'personaliseTreatment',\r\n};\r\n\r\nexport const actionTypes = {\r\n edit: 'EDIT',\r\n create: 'CREATE',\r\n view: 'VIEW',\r\n};\r\n\r\nclass TreatmentPreview extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const validityDefaults = props.actionType === actionTypes.edit ? true : null;\r\n this.state = {\r\n formsValidity: {\r\n addressContactIsValid: validityDefaults,\r\n treatmentScheduleIsValid: validityDefaults,\r\n treatmentIsValid: validityDefaults,\r\n },\r\n wholeFormErrorMessage: null,\r\n selectedTab: 0,\r\n isReset: false,\r\n alternativeAddressInput: this.props.treatmentAddress !== null,\r\n treatmentCareType: this.props.treatment ? this.props.treatment.visitType : 'OnSite',\r\n patientContact: {\r\n landlinePhoneNumber: this.props.patient ? this.props.patient.contact.homeTelephone : '',\r\n otherPhoneNumber: this.props.patient ? this.props.patient.contact.workTelephone : '',\r\n mobilePhoneNumber: this.props.patient ? this.props.patient.contact.mobileTelephone : '',\r\n isModified: false,\r\n },\r\n activitiesIds: this.props.treatmentDetails.activitiesIds,\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (\r\n prevState.formsValidity !== this.state.formsValidity &&\r\n this.canSave() &&\r\n this.state.wholeFormErrorMessage !== null\r\n ) {\r\n // eslint-disable-next-line react/no-did-update-set-state\r\n this.setState({\r\n wholeFormErrorMessage: null,\r\n });\r\n }\r\n }\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n setValidity = formName => value => () => {\r\n this.setState({\r\n formsValidity: {\r\n ...this.state.formsValidity,\r\n [`${formName}IsValid`]: value,\r\n },\r\n });\r\n };\r\n\r\n getPatientPhoneNumbers = patientPhoneNumbers => {\r\n this.setState({ patientContact: patientPhoneNumbers });\r\n };\r\n\r\n hasAlternativeAddres = alternativeAddress => {\r\n this.setState({ alternativeAddressInput: alternativeAddress });\r\n };\r\n\r\n handleCareTypeChange = selectionType => {\r\n this.setState({ treatmentCareType: selectionType });\r\n };\r\n\r\n handleActivityChange = values => {\r\n this.setState({ activitiesIds: values });\r\n };\r\n\r\n handleSave = () => {\r\n if (!this.canSave()) {\r\n this[`${tabIndexToNameMap[0]}Form`].submit();\r\n this[`${tabIndexToNameMap[1]}Form`].submit();\r\n if (this.props.actionType === actionTypes.edit) {\r\n this[`${tabIndexToNameMap[3]}Form`].submit();\r\n }\r\n this.setState({\r\n wholeFormErrorMessage: locale.getMsg('pleaseCompleteTabs'),\r\n isReset: false,\r\n });\r\n return;\r\n }\r\n const { saveCallback, patient } = this.props;\r\n const isSpecific = this.treatmentScheduleWrapper.state.selectionType === selectionTypes.specific;\r\n const isMultiple = this.treatmentScheduleWrapper.state.selectionType === selectionTypes.multiple;\r\n const address =\r\n this.state.alternativeAddressInput && !_.isEmpty(this.addressContactForm)\r\n ? this.addressContactForm.getModel().alternativeAddress\r\n : null;\r\n const visitType = this.state.treatmentCareType;\r\n const overriddenRagStatusId =\r\n !_.isEmpty(this.personaliseTreatment) && !_.isEmpty(this.personaliseTreatment.state.selectedRag)\r\n ? this.personaliseTreatment.state.selectedRag.id\r\n : null;\r\n const overriddenBandId =\r\n !_.isEmpty(this.personaliseTreatment) && !_.isEmpty(this.personaliseTreatment.state.selectedBand)\r\n ? this.personaliseTreatment.state.selectedBand.id\r\n : null;\r\n const preferredClinicianId =\r\n !_.isEmpty(this.personaliseTreatment) && !_.isEmpty(this.personaliseTreatment.state.selectedPreferredClinicianId)\r\n ? this.personaliseTreatment.state.selectedPreferredClinicianId\r\n : null;\r\n const preferredClinician =\r\n !_.isEmpty(this.personaliseTreatment) && !_.isEmpty(this.personaliseTreatment.state.selectedPreferredClinician)\r\n ? this.personaliseTreatment.state.selectedPreferredClinician\r\n : null;\r\n\r\n const treatmentDraft = {\r\n ...this.treatmentForm.getModel(),\r\n ...this.treatmentScheduleForm.getModel(),\r\n address,\r\n visitType,\r\n overriddenRagStatusId,\r\n overriddenBandId,\r\n preferredClinicianId,\r\n preferredClinician,\r\n };\r\n\r\n const activitiesIds = treatmentDraft.activitiesContainer.map(v => v.id);\r\n const activityVariancesIds = treatmentDraft.activitiesContainer.filter(v => v.innerId !== null).map(v => v.innerId);\r\n\r\n treatmentDraft.activitiesIds = activitiesIds;\r\n treatmentDraft.activityVariancesIds = activityVariancesIds;\r\n if (!treatmentDraft.hasAdditionalClinician) {\r\n treatmentDraft.additionalClinician = 0;\r\n }\r\n\r\n if (isSpecific && treatmentDraft.recurrenceType === recurrenceTypes.DAILY) {\r\n treatmentDraft.selectedDays = {};\r\n }\r\n const { dateFrom, dateTo, reviewDate, specificTimeFrom, recurEvery = 1 } = treatmentDraft;\r\n\r\n const phoneCallContact = this.state.patientContact;\r\n\r\n phoneCallContact.patientPasKey = patient ? patient.id : '';\r\n phoneCallContact.isModified =\r\n patient &&\r\n (patient.contact.homeTelephone !== phoneCallContact.landlinePhoneNumber ||\r\n patient.contact.workTelephone !== phoneCallContact.otherPhoneNumber ||\r\n patient.contact.mobileTelephone !== phoneCallContact.mobilePhoneNumber);\r\n\r\n saveCallback({\r\n ...treatmentDraft,\r\n specificTimeFrom: getDateForApi(specificTimeFrom),\r\n dateFrom: getDateForApi(dateFrom),\r\n dateTo: getDateForApi(dateTo),\r\n reviewDate: getDateForApi(reviewDate),\r\n recurEvery,\r\n isSpecific,\r\n isMultiple,\r\n phoneCallContact,\r\n });\r\n };\r\n\r\n canSave = () => {\r\n const formsValidity = _.values(this.state.formsValidity);\r\n return formsValidity.every(el => el === true);\r\n };\r\n\r\n handleClear = () => {\r\n const { selectedTab } = this.state;\r\n const { treatmentDetails } = this.props;\r\n const tabName = tabIndexToNameMap[selectedTab];\r\n let resetObject = null;\r\n if (selectedTab === 1) {\r\n this.treatmentScheduleWrapper.reset();\r\n } else if (selectedTab === 0 && treatmentDetails) {\r\n resetObject = {};\r\n if (treatmentDetails.activitiesIds) {\r\n resetObject.activitiesContainer = treatmentDetails.activitiesIds.map(a => a);\r\n this.setState({\r\n wholeFormErrorMessage: null,\r\n isReset: true,\r\n activitiesIds: resetObject.activitiesContainer,\r\n });\r\n }\r\n if (treatmentDetails.orgUnitIds) {\r\n const oldValue = treatmentDetails.orgUnitIds[0].id;\r\n resetObject.orgUnitIds = oldValue;\r\n }\r\n if (treatmentDetails.weeklyRequestedDays) {\r\n resetObject.weeklyRequestedDays = treatmentDetails.weeklyRequestedDays;\r\n }\r\n } else if (selectedTab === 3) {\r\n this.personaliseTreatment.reset();\r\n }\r\n this[`${tabName}Form`].reset(resetObject);\r\n };\r\n\r\n handleTabChange = (unused, event, tab) => {\r\n this.setState({\r\n selectedTab: tab.props.index,\r\n });\r\n };\r\n\r\n patternValidHeader = () => {\r\n const { actionType, validFrom, validTo } = this.props;\r\n const headerStyle = {\r\n marginTop: '16px',\r\n };\r\n if (actionType === actionTypes.edit && validFrom && validTo) {\r\n return (\r\n \r\n {locale.getMsg('patternValidHeader', [\r\n moment(validFrom).format(globals.dateFormats.short),\r\n moment(validTo).format(globals.dateFormats.short),\r\n ])}\r\n \r\n );\r\n }\r\n return null;\r\n };\r\n\r\n render() {\r\n const { wholeFormErrorMessage, patientContact } = this.state;\r\n const {\r\n readOnly,\r\n treatmentDetails,\r\n treatmentAddress,\r\n patientAddress,\r\n timeSlots,\r\n treatmentSchedule,\r\n isSpecificTime,\r\n isMultiple,\r\n actionType,\r\n timeSlotsPackageId,\r\n description,\r\n showErrorMessage,\r\n hasBundledOrFutureAssignedInstances,\r\n referralDateReceived,\r\n referralServiceEndDate,\r\n treatment,\r\n handleDiscard,\r\n jwtToken,\r\n enableIntegrationMode,\r\n externalProviderType,\r\n isSaveDisabled,\r\n enableRecordingOfWeeklyRequestedDays,\r\n enableMappingOfTeams,\r\n } = this.props;\r\n\r\n const canBeDiscarded = treatment && treatment.id > 0 && treatment.canBeDiscarded;\r\n const isImportedFromSystmOne =\r\n enableIntegrationMode &&\r\n treatment &&\r\n treatment.isImported &&\r\n externalProviderType === ExternalProviderType.SystmOne;\r\n\r\n const shouldBeVisible = () => {\r\n return !isImportedFromSystmOne || this.state.selectedTab === 3;\r\n };\r\n\r\n const shouldRenderFooterButtons = () => {\r\n return !this.props.readOnly && this.state.selectedTab !== 4;\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {locale.getMsg(`${actionType.toLowerCase()}ReferralTreatment`)}\r\n \r\n {!readOnly &&

    {locale.getMsg('pleaseCompleteDescription')}

    }\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.patternValidHeader()}\r\n \r\n \r\n \r\n {this.state.treatmentCareType === 'OnSite' && (\r\n \r\n )}\r\n {this.state.treatmentCareType === 'PhoneCall' && (\r\n \r\n )}\r\n \r\n {actionType === actionTypes.edit && !treatment.isAddedRetrospectively && (\r\n \r\n \r\n \r\n )}\r\n {actionType === actionTypes.edit && !treatment.isAddedRetrospectively && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
    \r\n {shouldRenderFooterButtons() && (\r\n \r\n {shouldBeVisible() && (\r\n \r\n \r\n \r\n )}\r\n {canBeDiscarded && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {wholeFormErrorMessage && wholeFormErrorMessage.length ? (\r\n {wholeFormErrorMessage}\r\n ) : (\r\n showErrorMessage && (\r\n \r\n {locale.getMsg('timeslotDurationError')}\r\n \r\n )\r\n )}\r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\nTreatmentPreview.defaultProps = {\r\n saveCallback: () => {},\r\n handleDiscard: () => {},\r\n readOnly: false,\r\n patientAddress: {},\r\n treatmentAddress: {},\r\n patient: null,\r\n treatmentDetails: {\r\n communityMatron: false,\r\n emergencyUnscheduled: false,\r\n orgUnitIds: undefined,\r\n activitiesIds: undefined,\r\n reviewDate: undefined,\r\n weeklyRequestedDays: null,\r\n },\r\n validFrom: null,\r\n validTo: null,\r\n timeSlots: [],\r\n treatmentSchedule: {\r\n recurEvery: 1,\r\n recurrenceType: recurrenceTypes.DAILY,\r\n dateTo: undefined,\r\n dateFrom: undefined,\r\n timeSlotsMatrix: undefined,\r\n timeSlotsPackage: undefined,\r\n monthlyRecurrenceType: undefined,\r\n selectedWeeks: undefined,\r\n selectedWeekDays: undefined,\r\n },\r\n isSpecificTime: false,\r\n showErrorMessage: false,\r\n isMultiple: false,\r\n timeSlotsPackageId: null,\r\n description: '',\r\n hasBundledOrFutureAssignedInstances: false,\r\n isSaveDisabled: false,\r\n};\r\n\r\nTreatmentPreview.propTypes = {\r\n patientAddress: PropTypes.shape({\r\n addressLine1: PropTypes.string,\r\n addressLine2: PropTypes.string,\r\n addressLine3: PropTypes.string,\r\n postCode: PropTypes.string,\r\n }),\r\n patient: PatientPropType,\r\n treatmentAddress: PropTypes.shape({\r\n addressLine1: PropTypes.string,\r\n addressLine2: PropTypes.string,\r\n addressLine3: PropTypes.string,\r\n postCode: PropTypes.string,\r\n }),\r\n treatmentDetails: PropTypes.shape({\r\n teams: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.string,\r\n name: PropTypes.string,\r\n }),\r\n ),\r\n activities: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.string,\r\n name: PropTypes.string,\r\n }),\r\n ),\r\n reviewDate: PropTypes.string,\r\n communityMatron: PropTypes.bool,\r\n emergencyUnscheduled: PropTypes.bool,\r\n weeklyRequestedDays: PropTypes.number,\r\n }),\r\n validFrom: PropTypes.string,\r\n validTo: PropTypes.string,\r\n readOnly: PropTypes.bool,\r\n saveCallback: PropTypes.func,\r\n handleDiscard: PropTypes.func,\r\n timeSlots: PropTypes.arrayOf(timeSlotPropType),\r\n timeSlotsPackageId: PropTypes.number,\r\n treatmentSchedule: PropTypes.shape({\r\n recurEvery: PropTypes.number,\r\n recurrencePattern: PropTypes.string,\r\n dateTo: PropTypes.string,\r\n dateFrom: PropTypes.string,\r\n monthlyRecurrenceType: PropTypes.string,\r\n selectedWeeks: PropTypes.arrayOf(PropTypes.string),\r\n selectedWeekDays: PropTypes.arrayOf(PropTypes.string),\r\n timeSlotsMatrix: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n timeSlotsPackage: PropTypes.shape({\r\n id: PropTypes.number,\r\n timeSlots: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number,\r\n from: PropTypes.string,\r\n to: PropTypes.string,\r\n name: PropTypes.string,\r\n }),\r\n ),\r\n }),\r\n }),\r\n isSpecificTime: PropTypes.bool,\r\n showErrorMessage: PropTypes.bool,\r\n isMultiple: PropTypes.bool,\r\n actionType: PropTypes.string.isRequired,\r\n description: PropTypes.string,\r\n hasBundledOrFutureAssignedInstances: PropTypes.bool,\r\n isSaveDisabled: PropTypes.bool,\r\n};\r\n\r\nexport default TreatmentPreview;\r\n","import React from 'react';\r\nimport { FormsyDate } from 'formsy-material-ui/lib';\r\nimport moment from 'moment';\r\nimport DatePickerWrapper from '../../common/Formsy/DatePickerWrapper';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport _ from '../../../utils/lodash';\r\nimport { getDateForApi } from '../../../utils/dates';\r\nimport { recurrenceTypes } from '../../../settings/constants';\r\n\r\nconst clearIconStyle = {\r\n cursor: 'pointer',\r\n position: 'absolute',\r\n left: '-30px',\r\n top: '12px',\r\n};\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nclass ReviewDatePicker extends FormsyDate {\r\n constructor(props) {\r\n super(props);\r\n this.setEnhancedValidations();\r\n }\r\n\r\n nextSelectionMatrixEmpty = nextSelectionMatrix => {\r\n const keys = nextSelectionMatrix ? Object.keys(nextSelectionMatrix) : [];\r\n\r\n if (!keys.length) return true;\r\n\r\n return keys.every(index => nextSelectionMatrix[index] === undefined || nextSelectionMatrix[index] === null);\r\n };\r\n\r\n async componentWillReceiveProps(nextProps) {\r\n const { pattern, getPatternDates, selectionMatrix, treatmentId } = this.props;\r\n const { pattern: nextPattern, selectionMatrix: nextSelectionMatrix, timeSlotsPackageId } = nextProps;\r\n\r\n // Only make the request if either the pattern or the selection has changed\r\n // and we have a date to start from\r\n if (\r\n (!_.isEqual(pattern, nextPattern) || !_.isEqual(selectionMatrix, nextSelectionMatrix)) &&\r\n (nextPattern && nextPattern.dateFrom)\r\n ) {\r\n if (\r\n // Will throw an error if we try to send a Weekly/Monthly pattern with no days selected\r\n ((nextPattern.recurrenceType === recurrenceTypes.WEEKLY ||\r\n nextPattern.recurrenceType === recurrenceTypes.MONTHLY) &&\r\n this.nextSelectionMatrixEmpty(nextSelectionMatrix)) ||\r\n // Specific Time Weekly & Monthly patterns are mutually incompatible,\r\n // the query will throw an error if we send this request\r\n // so don't do it, user will have to select something to save the form anyway.\r\n // This has to be here because of the way the inputs are updated,\r\n // before the selection is cleared it still has the old value for a moment.\r\n (nextPattern.isSpecific &&\r\n // Switched either from monthly to weekly or the other way around\r\n // Daily works fine\r\n ((nextPattern.recurrenceType === recurrenceTypes.WEEKLY &&\r\n pattern.recurrenceType === recurrenceTypes.MONTHLY) ||\r\n nextPattern.recurrenceType === recurrenceTypes.MONTHLY ||\r\n (pattern.recurrenceType === recurrenceTypes.DAILY &&\r\n nextPattern.recurrenceType === recurrenceTypes.WEEKLY)) &&\r\n // Something is selected\r\n typeof nextSelectionMatrix !== 'undefined')\r\n ) {\r\n return;\r\n }\r\n await getPatternDates(treatmentId, nextPattern, nextSelectionMatrix, timeSlotsPackageId);\r\n this.setEnhancedValidations();\r\n // Trigger validation so we can inform the user if the current value is no longer valid\r\n // under the selected pattern\r\n this.setValue(this.getValue());\r\n }\r\n }\r\n\r\n isValidReviewDate = (values, value) => {\r\n if (typeof value === 'undefined') return true;\r\n\r\n return this.dateIsInsideKnownPattern(moment(value).startOf('day')) ? true : locale.getMsg('invalidReviewDate');\r\n };\r\n dateIsInsideKnownPattern = date => {\r\n const { pattern, matchingDates, selectionMatrix } = this.props;\r\n // Assume the date is fine if there's no start date set,\r\n // or if no days were selected for weekly/monthly patterns\r\n if (\r\n !pattern ||\r\n !pattern.dateFrom ||\r\n ((pattern.recurrenceType === recurrenceTypes.WEEKLY || pattern.recurrenceType === recurrenceTypes.MONTHLY) &&\r\n !selectionMatrix)\r\n )\r\n return true;\r\n return matchingDates ? matchingDates.includes(getDateForApi(date)) : true;\r\n };\r\n setEnhancedValidations = () => {\r\n this.setValidations(\r\n {\r\n isValidReviewDate: this.isValidReviewDate,\r\n ...this.props.validations,\r\n },\r\n this.props.required,\r\n );\r\n };\r\n getRequiredError = () => {\r\n const { isRequired, isPristine, isValid, isFormSubmitted } = this;\r\n\r\n return isRequired() && !isPristine() && !isValid() && isFormSubmitted() ? this.props.requiredError : null;\r\n };\r\n handleDateClear = () => {\r\n this.setValue(undefined);\r\n };\r\n shouldDisableDay = day => !this.dateIsInsideKnownPattern(day) || moment(day).isBefore(globals.now, 'day');\r\n render() {\r\n const {\r\n defaultDate,\r\n validations,\r\n validationErrors,\r\n validationError,\r\n requiredError,\r\n className,\r\n disabled,\r\n getPatternDates,\r\n matchingDates,\r\n isFetching,\r\n disableClear = false,\r\n timeSlotsPackageId,\r\n isFormValid,\r\n selectionMatrix,\r\n ...rest\r\n } = this.props;\r\n const value = this.getValue();\r\n const isDisabled = this.isFormDisabled() || disabled;\r\n const errorText = this.getErrorMessage() || this.getRequiredError();\r\n return (\r\n
    \r\n moment(date).format(globals.dateFormats.short)}\r\n {...rest}\r\n errorText={errorText}\r\n onChange={this.handleChange}\r\n ref={this.setMuiComponentAndMaybeFocus}\r\n value={value}\r\n shouldDisableDate={this.shouldDisableDay}\r\n />\r\n {!isDisabled && !disableClear && value && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ReviewDatePicker;\r\n","/* eslint-disable no-undef */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Formsy from 'formsy-react';\r\nimport moment from 'moment';\r\nimport { FormsyCheckbox, FormsyText, FormsySelect } from 'formsy-material-ui/lib';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport { RadioButton, RadioButtonGroup } from 'material-ui/RadioButton';\r\nimport { textFieldStyle, multiLineText, common, dropDownStyle } from '../../../theme/AllocateBaseTheme';\r\nimport ApiSelector from '../../../containers/common/selectors/selectorContainer';\r\nimport ApiNestedSelector from '../../../containers/common/selectors/nestedSelectorConatainer';\r\nimport ActivitiesSummary from '../../../containers/common/ActivitiesSummary/ActivitiesSummaryContainer';\r\nimport {\r\n teamsEndpoint,\r\n teamsOptionsForOrgUnitEndpoint,\r\n activitiesEndpoint,\r\n careTypes,\r\n} from '../../../settings/constants';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { getMaxCliniciansByActivities } from '../../../actions/entities/activities';\r\nimport { numOfDaysInA } from '../../../settings/other';\r\n\r\nconst locale = globals.getArea('treatments');\r\nconst errors = globals.getArea('error');\r\nconst styles = {\r\n checkboxesRow: { flexDirection: 'column', marginLeft: 4 },\r\n descriptionRow: { flexDirection: 'column' },\r\n descriptionValidations: { maxLength: 500 },\r\n description: { ...multiLineText.style, width: '100%' },\r\n checkboxWidth: { width: '60%' },\r\n radioButton: { marginBottom: '5px' },\r\n radioButtonGroup: { flexDirection: 'column', width: '250px', marginLeft: 0 },\r\n};\r\nexport const selectionTypes = {\r\n onSite: 'OnSite',\r\n phoneCall: 'PhoneCall',\r\n};\r\n\r\nclass TreatmentDetails extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const {\r\n treatmentDetails: { additionalClinician, orgUnitIds, teamIds, activitiesIds, weeklyRequestedDays },\r\n selectedCareType,\r\n actionType,\r\n } = this.props;\r\n const hasAdditionalClinicians = additionalClinician > 0;\r\n this.state = {\r\n validationErrors: {},\r\n newDescription: null,\r\n chars_left: 500,\r\n max_chars: 500,\r\n sumOfFactors: 0,\r\n isTeamsFieldValid: true,\r\n isActivitiesFieldValid: true,\r\n isWeeklyRequestedDaysValid: actionType === 'EDIT' ? weeklyRequestedDays !== null : true,\r\n showWarningWillAffectVisits: false,\r\n selectionType: selectedCareType,\r\n selectedOrgUnit: orgUnitIds && orgUnitIds[0],\r\n selectedTeam: teamIds && teamIds[0],\r\n selectedActivities: activitiesIds,\r\n hasAdditionalClinician: hasAdditionalClinicians,\r\n additionalClinician: hasAdditionalClinicians ? additionalClinician : 1,\r\n maxClinicianCount: 0,\r\n showMissingTeamWarning: false,\r\n weeklyRequestedDays,\r\n };\r\n }\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n getActivityIds = activities => {\r\n const value = (activities ? this.activities.props.getValue() || [] : []).map(v =>\r\n typeof v === 'object' ? v.id : v,\r\n );\r\n return value;\r\n };\r\n\r\n getVaraincesIds = activities => {\r\n const value = (activities ? this.activities.props.getValue() || [] : [])\r\n .filter(v => v.innerId !== null && v.innerId !== 0)\r\n .map(v => v.innerId);\r\n return value;\r\n };\r\n\r\n getCharLeftValue = () => {\r\n return this.state.newDescription === null && this.props.description !== null\r\n ? this.state.max_chars - this.props.description.length\r\n : this.state.chars_left;\r\n };\r\n\r\n filterActivitiesByOrgUnit = (orgUnit, selectedActivities) => options => {\r\n if (!orgUnit) {\r\n return options;\r\n }\r\n\r\n const orgUnitId = orgUnit.id;\r\n const selectedIds = selectedActivities && selectedActivities.map(sa => (sa.rootId ? sa.rootId : sa.id));\r\n\r\n return options.filter(\r\n o =>\r\n o.orgUnitsIds.length === 0 ||\r\n o.orgUnitsIds.includes(orgUnitId) ||\r\n (selectedIds && (o.rootId != null ? selectedIds.includes(o.rootId) : selectedIds.includes(o.id))),\r\n );\r\n };\r\n\r\n updateDescriptionValue = (event, value) => {\r\n this.setState({ newDescription: value });\r\n const charCount = event.target.value.length;\r\n const maxChar = this.state.max_chars;\r\n const charLength = maxChar - charCount;\r\n this.setState({ chars_left: charLength });\r\n };\r\n\r\n handleChange = ({ reviewDate }) => {\r\n let validationErrors = {};\r\n if (reviewDate && moment(reviewDate).isSameOrBefore(globals.now, 'day')) {\r\n validationErrors = {\r\n reviewDate: locale.getMsg('reviewMustBeInTheFuture'),\r\n };\r\n }\r\n this.setState({ validationErrors });\r\n };\r\n\r\n handleSubmit = value => {\r\n if (value.orgUnitIds === undefined) {\r\n this.setState({\r\n isTeamsFieldValid: false,\r\n });\r\n }\r\n if (value.activitiesContainer === undefined) {\r\n this.setState({\r\n isActivitiesFieldValid: false,\r\n });\r\n }\r\n if (value.weeklyRequestedDays === null) {\r\n this.setState({\r\n isWeeklyRequestedDaysValid: false,\r\n });\r\n }\r\n };\r\n\r\n handleOrgUnitChange = (event, key, value, option) => {\r\n const filteredActivities =\r\n this.state.selectedActivities &&\r\n this.state.selectedActivities.filter(a => a.orgUnitsIds.length === 0 || a.orgUnitsIds.some(id => id === value));\r\n\r\n this.setState({\r\n selectedTeam: null,\r\n isTeamsFieldValid: this.checkIfIsRequired(value),\r\n selectedOrgUnit: option,\r\n selectedActivities: filteredActivities,\r\n });\r\n };\r\n\r\n handleTeamChange = (event, key, value, option) => {\r\n this.setState({ selectedTeam: option });\r\n };\r\n\r\n handleActivitiesChange = (event, key, value) => {\r\n const ch = this.checkIfActivityListChanged(value, this.props.treatmentDetails.activitiesIds);\r\n this.setState({\r\n isActivitiesFieldValid: this.checkIfIsRequired(value),\r\n showWarningWillAffectVisits: this.props.hasBundledOrFutureAssignedInstances && ch,\r\n selectedActivities: value,\r\n });\r\n setTimeout(this.calculateMaxClinicians, 300);\r\n };\r\n\r\n handleWeeklyRequestedDaysChange = values => {\r\n this.setState({ weeklyRequestedDays: values, isWeeklyRequestedDaysValid: true });\r\n };\r\n\r\n checkIfIsRequired = value => {\r\n if (this.activities.props.isFormSubmitted()) {\r\n if (value && value.length) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n checkIfActivityListChanged = (newActivities, oldActivities) => {\r\n if (oldActivities === undefined) return true;\r\n const newActivitiesIds = newActivities.map(x => x.id);\r\n return oldActivities.length !== newActivities.length || !oldActivities.every(x => newActivitiesIds.includes(x.id));\r\n };\r\n\r\n handleSelectionTypeSwitch = (event, value) => {\r\n this.setState({\r\n selectionType: value,\r\n hasAdditionalClinician: false,\r\n });\r\n this.props.handleCareTypeChange(value);\r\n delete this.activities;\r\n };\r\n\r\n maxCliniciansCallback = response => response && this.setState({ maxClinicianCount: response.maxClinicianCount });\r\n\r\n calculateMaxClinicians = () => {\r\n const jwtToken = this.props.jwtToken;\r\n const activityIds = this.getActivityIds(this.activities);\r\n\r\n if (activityIds.length === 0) {\r\n this.setState({ maxClinicianCount: 0 });\r\n } else {\r\n getMaxCliniciansByActivities(jwtToken, { ActivityIds: activityIds }, this.maxCliniciansCallback);\r\n }\r\n };\r\n\r\n handleAdditionalClinician = e => {\r\n if (this.state.selectionType !== selectionTypes.onSite) return;\r\n\r\n const hasAdditionalClinician = e.target.checked;\r\n this.setState({\r\n ...this.state,\r\n hasAdditionalClinician,\r\n });\r\n if (hasAdditionalClinician) {\r\n setTimeout(this.calculateMaxClinicians, 300);\r\n }\r\n };\r\n\r\n validateTeamName = value => {\r\n // eslint-disable-next-line no-unused-expressions\r\n value.orgUnitIds === undefined\r\n ? this.setState({ showMissingTeamWarning: true })\r\n : this.setState({ showMissingTeamWarning: false });\r\n return true;\r\n };\r\n\r\n render() {\r\n const {\r\n treatmentDetails,\r\n innerRef,\r\n setValidity,\r\n readOnly,\r\n description,\r\n isReset,\r\n actionType,\r\n selectedCareType,\r\n isImportedFromSystmOne,\r\n enableRecordingOfWeeklyRequestedDays,\r\n enableMappingOfTeams,\r\n } = this.props;\r\n const { communityMatron = false, emergencyUnscheduled = false } = treatmentDetails || {};\r\n const {\r\n validationErrors,\r\n newDescription,\r\n showWarningWillAffectVisits,\r\n selectionType,\r\n additionalClinician,\r\n hasAdditionalClinician,\r\n showMissingTeamWarning,\r\n selectedOrgUnit,\r\n selectedTeam,\r\n selectedActivities,\r\n weeklyRequestedDays,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.validateTeamName(value) } : null\r\n }\r\n onChange={this.handleOrgUnitChange}\r\n />\r\n \r\n {enableMappingOfTeams && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {hasAdditionalClinician && (\r\n \r\n this.setState({ ...this.state, additionalClinician: value })}\r\n value={additionalClinician}\r\n style={{ width: '75px' }}\r\n floatingLabelStyle={common.floatingLabelStyle}\r\n floatingLabelShrinkStyle={common.floatingLabelShrinkStyle}\r\n floatingLabelFocusStyle={common.floatingLabelFocusStyle}\r\n underlineStyle={common.underlineStyle}\r\n inputStyle={textFieldStyle.inputStyle}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n {locale.getMsg('totalClinicianCount', [\r\n (this.state.maxClinicianCount + this.state.additionalClinician).toString(),\r\n ])}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {!isImportedFromSystmOne && enableRecordingOfWeeklyRequestedDays && (\r\n \r\n \r\n this.handleWeeklyRequestedDaysChange(value)}\r\n value={weeklyRequestedDays}\r\n disabled={readOnly}\r\n floatingLabelStyle={common.floatingLabelStyle}\r\n floatingLabelShrinkStyle={common.floatingLabelShrinkStyle}\r\n floatingLabelFocusStyle={common.floatingLabelFocusStyle}\r\n underlineStyle={common.underlineStyle}\r\n style={dropDownStyle.style}\r\n iconStyle={dropDownStyle.iconStyle}\r\n labelStyle={dropDownStyle.labelStyle}\r\n menuStyle={dropDownStyle.menuStyle}\r\n required\r\n validations=\"isRequired\"\r\n errorText={\r\n !this.state.isWeeklyRequestedDaysValid && errors.getMsg('requiredFieldValidationMessage')\r\n }\r\n errorStyle={dropDownStyle.errorStyle}\r\n >\r\n {Array.from({ length: numOfDaysInA.week }, (_, i) => i + 1).map(value => (\r\n \r\n ))}\r\n \r\n \r\n \r\n
    \r\n {locale.getMsg('days')}\r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n \r\n \r\n {locale.getMsg('treatmentDescription')}\r\n \r\n
    \r\n \r\n You have {this.getCharLeftValue()} characters left.\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {showWarningWillAffectVisits && (\r\n
    \r\n

    \r\n * {locale.getMsg('willAffectAssignedVisits')} {locale.getMsg('savingWillUnassign')}\r\n

    \r\n
    \r\n )}\r\n
    \r\n \r\n {showMissingTeamWarning && (\r\n
    \r\n

    {locale.getMsg('missingTeamWarning', [treatmentDetails.unmappedProviderTeam || ''])}

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTreatmentDetails.defaultProps = {\r\n onFieldsUpdate: () => {},\r\n setValidity: () => {},\r\n innerRef: () => {},\r\n readOnly: false,\r\n description: '',\r\n hasBundledOrFutureAssignedInstances: false,\r\n};\r\n\r\nTreatmentDetails.propTypes = {\r\n treatmentDetails: PropTypes.shape({\r\n isValid: PropTypes.bool,\r\n orgUnitIds: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n ),\r\n activitiesIds: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n ),\r\n communityMatron: PropTypes.bool,\r\n emergencyUnscheduled: PropTypes.bool,\r\n details: PropTypes.string,\r\n }).isRequired,\r\n innerRef: PropTypes.func,\r\n setValidity: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n description: PropTypes.string,\r\n isReset: PropTypes.bool.isRequired,\r\n hasBundledOrFutureAssignedInstances: PropTypes.bool,\r\n};\r\n\r\nexport default TreatmentDetails;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Formsy from 'formsy-react';\r\nimport moment from 'moment';\r\nimport { Box } from '@material-ui/core';\r\nimport { FormsySelect } from 'formsy-material-ui/lib';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport FormClass from '../shared/FormClass';\r\nimport { isBetweenFromAndToDates } from '../../../../utils/dates';\r\nimport { FormsyDate, FormsyTime } from '../../../../components/common/Formsy';\r\nimport ReviewDatePicker from '../../../../containers/Treatments/ReviewDatePicker/ReviewDatePickerContainer';\r\nimport SpecificTimeDetails from './SpecificTimeDetails';\r\nimport { recurrenceTypes, actionTypes } from '../../../../settings/constants';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { textFieldStyle, datePickerStyle, dropDownStyle, common } from '../../../../theme/AllocateBaseTheme';\r\n\r\nconst locale = globals.getArea('treatments');\r\nconst errors = globals.getArea('error');\r\n\r\nconst recurrenceTextMap = {\r\n [recurrenceTypes.DAILY]: locale.getMsg('days'),\r\n [recurrenceTypes.WEEKLY]: locale.getMsg('weeks'),\r\n [recurrenceTypes.MONTHLY]: locale.getMsg('months'),\r\n};\r\n\r\nclass SpecificTime extends FormClass {\r\n isSpecific = true;\r\n combineRefs = el => {\r\n this.props.innerRef(el);\r\n this.form = el;\r\n };\r\n\r\n getDateFromMinValue = referralRecievedDate => {\r\n const today = globals.now;\r\n const actionType = this.props.actionType;\r\n\r\n if (actionType === actionTypes.EDIT) {\r\n if (today.isAfter(referralRecievedDate, 'day')) return today;\r\n return referralRecievedDate;\r\n }\r\n return referralRecievedDate;\r\n };\r\n\r\n render() {\r\n const {\r\n defaultValues,\r\n values,\r\n innerRef,\r\n readOnly,\r\n actionType,\r\n referralDateReceived,\r\n referralServiceEndDate,\r\n isImportedFromSystmOne,\r\n ...rest\r\n } = this.props;\r\n const { recurrenceType, recurEvery } = this.state;\r\n const { isAtLeastTodayOrUnmodified } = this;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {recurrenceType.options.map(({ value, name }) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {!recurEvery.disabled && (\r\n \r\n {recurEvery.options.map(({ value }) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n
    \r\n {!recurEvery.disabled && recurEvery.options.length ? recurrenceTextMap[recurrenceType.selected] : null}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nSpecificTime.defaultProps = {\r\n innerRef: () => {},\r\n defaultValues: {\r\n recurEvery: 1,\r\n recurrenceType: 'Daily',\r\n dateTo: undefined,\r\n dateFrom: undefined,\r\n specificTimeFrom: undefined,\r\n selectedDays: undefined,\r\n },\r\n readOnly: false,\r\n};\r\n\r\nSpecificTime.propTypes = {\r\n defaultValues: PropTypes.shape({\r\n recurEvery: PropTypes.number,\r\n recurrenceType: PropTypes.string,\r\n selectedDays: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n dateTo: PropTypes.date,\r\n dateFrom: PropTypes.date,\r\n specificTimeFrom: PropTypes.date,\r\n }),\r\n values: PropTypes.shape({\r\n recurEvery: PropTypes.number,\r\n recurrenceType: PropTypes.string,\r\n selectedDays: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n dateTo: PropTypes.date,\r\n dateFrom: PropTypes.date,\r\n specificTimeFrom: PropTypes.date,\r\n }),\r\n innerRef: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n actionType: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default SpecificTime;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { HOC } from 'formsy-react';\r\nimport SpecificTimeDetailsWeekly from './SpecificTimeDetailsWeekly';\r\nimport DetailsMonthly from '../shared/DetailsMonthly';\r\n\r\nclass SpecificTimeDetails extends Component {\r\n componentWillReceiveProps = newProps => {\r\n const { recurrenceType, setValue } = this.props;\r\n if (recurrenceType !== newProps.recurrenceType) {\r\n setValue(undefined);\r\n }\r\n };\r\n render() {\r\n switch (this.props.recurrenceType) {\r\n default:\r\n case 'Daily': {\r\n return null;\r\n }\r\n case 'Weekly': {\r\n return ;\r\n }\r\n case 'Monthly': {\r\n return ;\r\n }\r\n }\r\n }\r\n}\r\n\r\nSpecificTimeDetails.defaultProps = {\r\n disabled: false,\r\n};\r\n\r\nSpecificTimeDetails.propTypes = {\r\n /* eslint-disable react/no-unused-prop-types */\r\n // These are required be the dependant components\r\n getValue: PropTypes.func.isRequired,\r\n setValue: PropTypes.func.isRequired,\r\n disabled: PropTypes.bool,\r\n /* eslint-enable */\r\n recurrenceType: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default HOC(SpecificTimeDetails);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { RadioButton, RadioButtonGroup } from 'material-ui/RadioButton';\r\nimport { numOfDaysInA } from '../../../../settings/other';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport MatrixButton from '../shared/MatrixButton';\r\nimport { handleButtonClicks } from '../shared/functions';\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nconst weeklySwitchValues = {\r\n specific: 'specific',\r\n weekdays: 'weekdays',\r\n every: 'every',\r\n};\r\n\r\nclass SpecificTimeDetailsWeekly extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleButtonClicks = handleButtonClicks.bind(this);\r\n }\r\n\r\n handleWeeklyPresetsSwitch = (event, value) => {\r\n const { setValue } = this.props;\r\n switch (value) {\r\n default:\r\n case weeklySwitchValues.specific: {\r\n setValue(undefined);\r\n break;\r\n }\r\n case weeklySwitchValues.weekdays: {\r\n setValue({\r\n 0: { 1: true },\r\n 1: { 1: true },\r\n 2: { 1: true },\r\n 3: { 1: true },\r\n 4: { 1: true },\r\n });\r\n break;\r\n }\r\n case weeklySwitchValues.every: {\r\n setValue({\r\n 0: { 1: true },\r\n 1: { 1: true },\r\n 2: { 1: true },\r\n 3: { 1: true },\r\n 4: { 1: true },\r\n 5: { 1: true },\r\n 6: { 1: true },\r\n });\r\n break;\r\n }\r\n }\r\n };\r\n\r\n weeklyTable = () => {\r\n const { getValue, disabled } = this.props;\r\n const rows = {\r\n 0: [],\r\n 1: [],\r\n };\r\n const keyPrefix = 'specificTimeWeeklyMatrixHeader';\r\n for (let day = 0; day <= numOfDaysInA.week - 1; day += 1) {\r\n const stateOfButtons = getValue() || {};\r\n const buttonState = stateOfButtons[day] && stateOfButtons[day][1] ? stateOfButtons[day][1] : false;\r\n rows[0].push(\r\n \r\n {globals.now\r\n .utcOffset(0, true)\r\n .isoWeekday(day + 1)\r\n .format(globals.dateFormats.dayFull)}\r\n ,\r\n );\r\n rows[1].push(\r\n {}}\r\n checked={buttonState}\r\n className=\"treat-sched-button\"\r\n />,\r\n );\r\n }\r\n return (\r\n \r\n \r\n {rows[0]}\r\n \r\n \r\n {rows[1]}\r\n \r\n
    \r\n );\r\n };\r\n\r\n render() {\r\n const { disabled } = this.props;\r\n return (\r\n
    \r\n {!disabled && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    {this.weeklyTable()}
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nSpecificTimeDetailsWeekly.defaultProps = {\r\n disabled: false,\r\n};\r\n\r\nSpecificTimeDetailsWeekly.propTypes = {\r\n disabled: PropTypes.bool,\r\n getValue: PropTypes.func.isRequired,\r\n setValue: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default SpecificTimeDetailsWeekly;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Formsy from 'formsy-react';\r\nimport moment from 'moment';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport { FormsySelect } from 'formsy-material-ui/lib';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport FormClass from '../shared/FormClass';\r\nimport { isBetweenFromAndToDates } from '../../../../utils/dates';\r\nimport TimeSlotsMatrix from './TimeSlotsMatrix';\r\nimport timeSlotPropType from '../../../../propTypes/entities/timeSlot';\r\nimport { FormsyDate } from '../../../../components/common/Formsy';\r\nimport ReviewDatePicker from '../../../../containers/Treatments/ReviewDatePicker/ReviewDatePickerContainer';\r\nimport { recurrenceTypes, actionTypes } from '../../../../settings/constants';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport DetailsMonthly from '../shared/DetailsMonthly';\r\nimport { textFieldStyle, datePickerStyle, dropDownStyle, common } from '../../../../theme/AllocateBaseTheme';\r\n\r\nconst locale = globals.getArea('treatments');\r\nconst errors = globals.getArea('error');\r\n\r\nconst recurrenceTextMap = {\r\n [recurrenceTypes.DAILY]: locale.getMsg('days'),\r\n [recurrenceTypes.WEEKLY]: locale.getMsg('weeks'),\r\n [recurrenceTypes.MONTHLY]: locale.getMsg('months'),\r\n};\r\n\r\nclass TimeSlots extends FormClass {\r\n isSpecific = false;\r\n combineRefs = el => {\r\n this.props.innerRef(el);\r\n this.form = el;\r\n };\r\n\r\n getDateFromMinValue = referralRecievedDate => {\r\n const today = globals.now;\r\n const actionType = this.props.actionType;\r\n\r\n if (actionType === actionTypes.EDIT) {\r\n if (today.isAfter(referralRecievedDate, 'day')) return today;\r\n return referralRecievedDate;\r\n }\r\n return referralRecievedDate;\r\n };\r\n\r\n getTimeSlotsMatrix() {\r\n const { values } = this.props;\r\n const { recurrenceType } = this.state;\r\n\r\n let timeSlotsMatrix =\r\n recurrenceType.selected === recurrenceTypes.MONTHLY && values.timeSlotsMatrix\r\n ? { 0: Object.values(values.timeSlotsMatrix)[0] }\r\n : values.timeSlotsMatrix;\r\n\r\n timeSlotsMatrix = timeSlotsMatrix && !Object.values(timeSlotsMatrix)[0] ? undefined : timeSlotsMatrix;\r\n\r\n return timeSlotsMatrix;\r\n }\r\n\r\n render() {\r\n const {\r\n defaultValues,\r\n values,\r\n innerRef,\r\n timeSlots,\r\n readOnly,\r\n actionType,\r\n timeSlotsPackageId,\r\n referralDateReceived,\r\n referralServiceEndDate,\r\n isImportedFromSystmOne,\r\n treatmentId,\r\n ...rest\r\n } = this.props;\r\n const { recurrenceType, recurEvery } = this.state;\r\n const { isAtLeastTodayOrUnmodified } = this;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {recurrenceType.options.map(({ value, name }) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {!recurEvery.disabled && (\r\n \r\n {recurEvery.options.map(({ value }) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n
    \r\n {!recurEvery.disabled && recurEvery.options.length ? recurrenceTextMap[recurrenceType.selected] : null}\r\n
    \r\n
    \r\n
    \r\n\r\n {locale.getMsg('timeSlotRequiredMessage')}\r\n\r\n {recurrenceType.selected === recurrenceTypes.MONTHLY ? (\r\n \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTimeSlots.defaultProps = {\r\n innerRef: () => {},\r\n defaultValues: {\r\n recurEvery: 1,\r\n recurrenceType: recurrenceTypes.DAILY,\r\n dateTo: undefined,\r\n dateFrom: undefined,\r\n timeSlotsMatrix: undefined,\r\n },\r\n values: PropTypes.shape({\r\n recurEvery: PropTypes.number,\r\n recurrenceType: PropTypes.string,\r\n timeSlotsMatrix: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n }),\r\n readOnly: false,\r\n};\r\n\r\nTimeSlots.propTypes = {\r\n defaultValues: PropTypes.shape({\r\n recurEvery: PropTypes.number,\r\n recurrenceType: PropTypes.string,\r\n timeSlotsMatrix: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n }),\r\n values: PropTypes.shape({\r\n recurEvery: PropTypes.number,\r\n recurrenceType: PropTypes.string,\r\n timeSlotsMatrix: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n monthlyRecurrenceType: PropTypes.string,\r\n }),\r\n innerRef: PropTypes.func,\r\n timeSlots: PropTypes.arrayOf(timeSlotPropType).isRequired,\r\n readOnly: PropTypes.bool,\r\n actionType: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default TimeSlots;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport { HOC } from 'formsy-react';\r\nimport Checkbox from 'material-ui/Checkbox';\r\nimport MatrixButton from '../shared/MatrixButton';\r\nimport recurrenceTypes from '../../../../settings/constants/recurrenceTypes';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport timeSlotPropType from '../../../../propTypes/entities/timeSlot';\r\nimport { handleButtonClicks } from '../shared/functions';\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nclass TimeSlotsMatrix extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleButtonClicks = handleButtonClicks.bind(this);\r\n }\r\n componentWillReceiveProps = newProps => {\r\n // Limit the value to a single row if the pattern changes and recurrenceType == daily\r\n // Prevents some 'hidden' leftover values being submitted when switching between\r\n // patterns or resetting the form\r\n const { recurrenceType, getValue, setValue } = this.props;\r\n if (recurrenceType !== newProps.recurrenceType && recurrenceType !== recurrenceTypes.DISABLED) {\r\n if (newProps.recurrenceType === recurrenceTypes.DAILY || newProps.recurrenceType === recurrenceTypes.DISABLED) {\r\n const currentValue = getValue() || {};\r\n setValue({ 0: currentValue[0] || undefined });\r\n }\r\n }\r\n };\r\n\r\n selectAllTimeslots = row => {\r\n const { getValue, setValue, timeSlots } = this.props;\r\n const stateOfButtons = getValue();\r\n const newRow = {};\r\n\r\n Object.values(timeSlots).forEach(timeSlot => {\r\n newRow[timeSlot.id] = true;\r\n });\r\n\r\n const newStateOfButtons = Object.assign({}, stateOfButtons);\r\n newStateOfButtons[row] = newRow;\r\n setValue(newStateOfButtons);\r\n };\r\n\r\n deselectAllTimeslots = row => {\r\n const { getValue, setValue } = this.props;\r\n const stateOfButtons = getValue();\r\n\r\n const newStateOfButtons = Object.assign({}, stateOfButtons);\r\n delete newStateOfButtons[row];\r\n setValue(newStateOfButtons);\r\n };\r\n\r\n generateButtonRows = () => {\r\n const { recurrenceType, timeSlots, disabled } = this.props;\r\n const buttons = [];\r\n const isDailyOrDisabled = recurrenceType === recurrenceTypes.DISABLED || recurrenceType === recurrenceTypes.DAILY;\r\n const columnLength = isDailyOrDisabled ? 1 : 7;\r\n for (let row = 0; row < columnLength; row += 1) {\r\n let rowSelected = true;\r\n const buttonsRow = timeSlots.map(timeSlot => {\r\n const stateOfButtons = this.props.getValue() || {};\r\n const buttonState =\r\n stateOfButtons[row] && stateOfButtons[row][timeSlot.id] ? stateOfButtons[row][timeSlot.id] : false;\r\n rowSelected = rowSelected && buttonState;\r\n return (\r\n {}}\r\n checked={buttonState}\r\n />\r\n );\r\n });\r\n\r\n buttonsRow.unshift(\r\n \r\n (rowSelected ? this.deselectAllTimeslots(row) : this.selectAllTimeslots(row))}\r\n />\r\n ,\r\n );\r\n const rowHeader = isDailyOrDisabled\r\n ? locale.getMsg('daily')\r\n : globals.now\r\n .utcOffset(0, true)\r\n .isoWeekday(row + 1)\r\n .format(globals.dateFormats.dayFull);\r\n buttons.push(\r\n \r\n {[{rowHeader}, ...buttonsRow]}\r\n ,\r\n );\r\n }\r\n return buttons;\r\n };\r\n\r\n render() {\r\n return this.props.timeSlots.length ? (\r\n \r\n \r\n \r\n {[\r\n ,\r\n ,\r\n ...this.props.timeSlots.map(({ from, to, id }) => (\r\n \r\n )),\r\n ]}\r\n \r\n \r\n {this.generateButtonRows()}\r\n
    \r\n {locale.getMsg('type')}\r\n {locale.getMsg('selectAll')}\r\n {`${moment(from).format(globals.timeFormats.hours24)}`}
    -
    {' '}\r\n {`${moment(to).format(globals.timeFormats.hours24)}`}\r\n
    \r\n ) : (\r\n
    {locale.getMsg('noTimeSlots')}
    \r\n );\r\n }\r\n}\r\n\r\nTimeSlotsMatrix.defaultProps = {\r\n value: undefined,\r\n disabled: false,\r\n};\r\n\r\nTimeSlotsMatrix.propTypes = {\r\n recurrenceType: PropTypes.string.isRequired,\r\n timeSlots: PropTypes.arrayOf(timeSlotPropType).isRequired,\r\n getValue: PropTypes.func.isRequired,\r\n setValue: PropTypes.func.isRequired,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nexport default HOC(TimeSlotsMatrix);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Box } from '@material-ui/core';\r\nimport { RadioButton, RadioButtonGroup } from 'material-ui/RadioButton';\r\nimport TimeSlots from './TimeSlots/TimeSlots';\r\nimport SpecificTime from './SpecificTime/SpecificTime';\r\nimport { recurrenceTypes } from '../../../settings/constants';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport timeSlotPropType from '../../../propTypes/entities/timeSlot';\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nexport const selectionTypes = {\r\n specific: 'specific',\r\n timeslot: 'timeslot',\r\n multiple: 'multiple',\r\n};\r\n\r\nconst styles = {\r\n radioButton: { marginBottom: '5px' },\r\n radioButtonGroup: { flexDirection: 'column', width: '250px', marginLeft: 0 },\r\n};\r\n\r\nclass TreatmentSchedule extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectionType: this.getSelectionType(props.isSpecificTime, props.isMultiple),\r\n treatmentSchedule: props.treatmentSchedule,\r\n initialTreatmentSchedule: props.treatmentSchedule,\r\n showWarningWillAffectVisits: this.props.hasBundledOrFutureAssignedInstances,\r\n };\r\n }\r\n\r\n componentWillReceiveProps = ({ isSpecificTime: newIsSpecific, isMultiple: newIsMultiple }) => {\r\n const { isSpecificTime: currIsSpecific, isMultiple: currIsMultiple } = this.props;\r\n const selectionTypeShouldBe = this.getSelectionType(newIsSpecific, newIsMultiple);\r\n if (\r\n (newIsSpecific !== currIsSpecific || newIsMultiple !== currIsMultiple) &&\r\n this.state.selectionType !== selectionTypeShouldBe\r\n ) {\r\n this.setState({ selectionType: selectionTypeShouldBe });\r\n }\r\n };\r\n\r\n onStateChange = newScheduleState => {\r\n this.setState({\r\n treatmentSchedule: { ...this.state.treatmentSchedule, ...newScheduleState },\r\n });\r\n };\r\n\r\n getSelectionType = (isSpecificTime, isMultiple) => {\r\n if (isSpecificTime) {\r\n return selectionTypes.specific;\r\n } else if (isMultiple) {\r\n return selectionTypes.multiple;\r\n }\r\n return selectionTypes.timeslot;\r\n };\r\n\r\n reset = () => {\r\n this.setState({\r\n selectionType: this.getSelectionType(this.props.isSpecificTime, this.props.isMultiple),\r\n treatmentSchedule: this.props.treatmentSchedule,\r\n });\r\n };\r\n\r\n handleSelectionTypeSwitch = (event, value) => {\r\n this.setState({ selectionType: value });\r\n };\r\n\r\n render() {\r\n const { selectionType, treatmentSchedule, initialTreatmentSchedule, showWarningWillAffectVisits } = this.state;\r\n const {\r\n innerRef,\r\n setValidity,\r\n readOnly,\r\n timeSlots,\r\n actionType,\r\n timeSlotsPackageId,\r\n referralDateReceived,\r\n referralServiceEndDate,\r\n isImportedFromSystmOne,\r\n treatmentId,\r\n } = this.props;\r\n const formsyProps = {\r\n onValid: setValidity(true),\r\n onInvalid: setValidity(false),\r\n innerRef,\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {selectionType === selectionTypes.specific ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {selectionType === selectionTypes.multiple && (\r\n
    \r\n

    * {locale.getMsg('multipleVisitsPerDayWarning')}

    \r\n
    \r\n )}\r\n {showWarningWillAffectVisits && (\r\n
    \r\n

    \r\n * {locale.getMsg('willAffectAssignedVisits')} {locale.getMsg('savingWillUnassign')}\r\n

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTreatmentSchedule.defaultProps = {\r\n innerRef: () => {},\r\n setValidity: () => {},\r\n readOnly: false,\r\n treatmentSchedule: {\r\n recurEvery: 1,\r\n recurrenceType: recurrenceTypes.DAILY,\r\n dateTo: undefined,\r\n dateFrom: undefined,\r\n timeSlotsMatrix: undefined,\r\n monthlyRecurrenceType: undefined,\r\n selectedWeeks: undefined,\r\n selectedWeekDays: undefined,\r\n },\r\n isSpecificTime: true,\r\n isMultiple: false,\r\n timeSlotsPackageId: null,\r\n hasBundledOrFutureAssignedInstances: false,\r\n};\r\n\r\nTreatmentSchedule.propTypes = {\r\n setValidity: PropTypes.func,\r\n innerRef: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n timeSlots: PropTypes.arrayOf(timeSlotPropType).isRequired,\r\n treatmentSchedule: PropTypes.shape({\r\n recurEvery: PropTypes.number,\r\n recurrencePattern: PropTypes.string,\r\n dateTo: PropTypes.string,\r\n dateFrom: PropTypes.string,\r\n timeSlotsMatrix: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n monthlyRecurrenceType: PropTypes.string,\r\n selectedWeeks: PropTypes.arrayOf(PropTypes.string),\r\n selectedWeekDays: PropTypes.arrayOf(PropTypes.string),\r\n }),\r\n isSpecificTime: PropTypes.bool,\r\n isMultiple: PropTypes.bool,\r\n actionType: PropTypes.string.isRequired,\r\n timeSlotsPackageId: PropTypes.number,\r\n hasBundledOrFutureAssignedInstances: PropTypes.bool,\r\n};\r\n\r\nexport default TreatmentSchedule;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport { FormsySelect } from 'formsy-material-ui/lib';\r\nimport { HOC } from 'formsy-react';\r\nimport { numOfDaysInA } from '../../../../settings/other';\r\nimport globals from '../../../../globals/communityGlobals';\r\n\r\nimport { dropDownStyle, common } from '../../../../theme/AllocateBaseTheme';\r\n\r\nconst locale = globals.getAreas(['treatments', 'error']);\r\n\r\nclass DayOfMonthCalendar extends Component {\r\n handleMonthlySelect = (event, key, value) => {\r\n this.props.setValue({ [value]: { 1: true } });\r\n };\r\n generateMenuItems = () => {\r\n const monthlyOptions = [];\r\n for (let dayIndex = 0; dayIndex < numOfDaysInA.month; dayIndex += 1) {\r\n monthlyOptions.push(\r\n ,\r\n );\r\n }\r\n return monthlyOptions;\r\n };\r\n render() {\r\n const { getValue, disabled } = this.props;\r\n const value = getValue();\r\n const valueKeysArray = value ? Object.keys(value) : [];\r\n\r\n return (\r\n \r\n {this.generateMenuItems()}\r\n \r\n );\r\n }\r\n}\r\n\r\nDayOfMonthCalendar.defaultProps = {\r\n disabled: false,\r\n};\r\n\r\nDayOfMonthCalendar.propTypes = {\r\n getValue: PropTypes.func.isRequired,\r\n setValue: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default HOC(DayOfMonthCalendar);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport { FormsySelect } from 'formsy-material-ui/lib';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { MonthOption } from '../../../../enums/monthOption';\r\nimport DayOfMonthCalendar from '../shared/DayOfMonthCalendar';\r\nimport WeekOfMonthOption from '../shared/WeekOfMonthOption';\r\nimport { DaysOfWeek } from '../../../../enums/daysOfWeek';\r\nimport { WeeksOfMonth } from '../../../../enums/weeksOfMonth';\r\n\r\nimport { dropDownStyle, common } from '../../../../theme/AllocateBaseTheme';\r\n\r\nconst locale = globals.getAreas(['treatments', 'error']);\r\n\r\nclass DetailsMonthly extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n monthlyRecurrenceType: props.monthlyRecurrenceType,\r\n };\r\n }\r\n\r\n handleDayWeekSelect = (event, value) => {\r\n this.setState({\r\n monthlyRecurrenceType: value,\r\n });\r\n };\r\n\r\n generateMenuItems = () => {\r\n let monthlyOptions = [];\r\n monthlyOptions = Object.keys(MonthOption).map(key => (\r\n \r\n ));\r\n\r\n return monthlyOptions;\r\n };\r\n\r\n render() {\r\n const { monthlyRecurrenceType, disabled } = this.props;\r\n return (\r\n
    \r\n \r\n {this.generateMenuItems()}\r\n \r\n {MonthOption[this.state.monthlyRecurrenceType] === MonthOption.DayOfTheMonth ? (\r\n \r\n ) : (\r\n
    \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nDetailsMonthly.defaultProps = {\r\n value: undefined,\r\n monthlyRecurrenceType: 'WeekOfTheMonth',\r\n selectedWeeks: ['First'],\r\n selectedWeekDays: ['Monday'],\r\n};\r\n\r\nDetailsMonthly.propTypes = {\r\n value: PropTypes.arrayOf(PropTypes.string),\r\n monthlyRecurrenceType: PropTypes.string,\r\n selectedWeeks: PropTypes.arrayOf(PropTypes.string),\r\n selectedWeekDays: PropTypes.arrayOf(PropTypes.string),\r\n};\r\n\r\nexport default DetailsMonthly;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport { recurrenceTypes } from '../../../../settings/constants';\r\nimport { RecurrencePattern, RecurrencePatternDefaultValues } from '../../../../propTypes/entities/recurrencePattern';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { numOfDaysInA, numberOf } from '../../../../settings/other';\r\nimport { getDateForApi, durationBetweenDates } from '../../../../utils/dates';\r\nimport { actionTypes } from '../../Preview/TreatmentPreview';\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nconst defaultRecurrenceOptions = [\r\n { value: recurrenceTypes.DISABLED, name: locale.getMsg('none') },\r\n { value: recurrenceTypes.DAILY, name: locale.getMsg('daily') },\r\n { value: recurrenceTypes.WEEKLY, name: locale.getMsg('weekly') },\r\n { value: recurrenceTypes.MONTHLY, name: locale.getMsg('monthly') },\r\n];\r\n\r\nclass SharedForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const { dateFrom, dateTo } = props.values;\r\n const recurrenceType = this.getRecurrenceTypeOptions(props.values);\r\n const recurEvery = this.getRecurEveryOptions(props.values);\r\n const monthlyRecurrenceType = this.getMonthlyRecurrenceType(props.values);\r\n const selectedWeeks = this.getSelectedWeeks(props.values);\r\n const selectedWeekDays = this.getSelectedWeekDays(props.values);\r\n const selectedDays = this.getSelectedDays(props.values);\r\n const duration = this.calculateDuration(props.values);\r\n\r\n this.state = {\r\n recurrenceType,\r\n recurEvery,\r\n dateFrom,\r\n dateTo,\r\n monthlyRecurrenceType,\r\n selectedWeeks,\r\n selectedWeekDays,\r\n selectedDays,\r\n duration,\r\n };\r\n }\r\n getMonthlyRecurrenceType = values => values.monthlyRecurrenceType;\r\n\r\n getSelectedWeeks = values => values.selectedWeeks;\r\n\r\n getSelectedWeekDays = values => values.selectedWeekDays;\r\n\r\n getSelectedDays = values => values.selectedDays;\r\n\r\n getRecurEveryOptions = values => {\r\n // values === the values received from the form's onChange event\r\n const { dateFrom, dateTo, recurrenceType, recurEvery } = values;\r\n const recurEveryOptions = [];\r\n\r\n // if there's no recurrence pattern skip everything and return an empty field\r\n if (recurrenceType === recurrenceTypes.DISABLED) {\r\n return {\r\n options: [],\r\n disabled: true,\r\n selected: undefined,\r\n };\r\n }\r\n\r\n let disabled = false;\r\n // Set the default highest number to the number of days in a month\r\n let highestNumber = numberOf.daysInAMonth;\r\n\r\n if (recurrenceType === recurrenceTypes.DAILY) {\r\n highestNumber = numberOf.daysInAMonth;\r\n }\r\n\r\n if (recurrenceType === recurrenceTypes.WEEKLY) {\r\n highestNumber = numberOf.weeksInAYear;\r\n }\r\n\r\n if (recurrenceType === recurrenceTypes.MONTHLY) {\r\n highestNumber = numberOf.monthsInAYear;\r\n }\r\n\r\n if (!dateFrom) {\r\n disabled = true;\r\n } else if (dateFrom && dateTo) {\r\n const differenceInDays = moment(moment(dateTo).startOf('day')).diff(moment(dateFrom).startOf('day'), 'days');\r\n switch (recurrenceType) {\r\n default:\r\n case recurrenceTypes.DAILY:\r\n // If recurrenceType is set to daily,\r\n // the highest number is either the difference in days or the number of days in a month\r\n highestNumber = differenceInDays > numberOf.daysInAMonth ? numberOf.daysInAMonth : differenceInDays;\r\n break;\r\n case recurrenceTypes.WEEKLY:\r\n // If recurrenceType is set to either weekly ('2') or monthly ('3'),\r\n // divide it by the number of days in the given period and floor the result\r\n highestNumber = Math.floor(differenceInDays / numberOf.weeksInAYear);\r\n break;\r\n case recurrenceTypes.MONTHLY:\r\n highestNumber = Math.floor(differenceInDays / numberOf.monthsInAYear);\r\n break;\r\n }\r\n }\r\n // Generate the options\r\n for (let i = 1; i <= highestNumber; i += 1) {\r\n recurEveryOptions.push({ value: i });\r\n }\r\n // If there are no options to choose, disable the dropdown\r\n if (recurEveryOptions.length < 1) {\r\n disabled = true;\r\n }\r\n // If the previously selected option is missing from new options or the dropdown is disabled,\r\n // set it to the default value\r\n let selected = this.props.defaultValues.recurEvery;\r\n\r\n if (recurEveryOptions.findIndex(el => el.value === recurEvery) >= 0) {\r\n selected = recurEvery;\r\n } else {\r\n selected = 1;\r\n }\r\n\r\n if (disabled) {\r\n selected = recurrenceTypes.DISABLED;\r\n }\r\n\r\n return {\r\n disabled,\r\n selected,\r\n options: recurEveryOptions,\r\n };\r\n };\r\n getRecurrenceTypeOptions = values => {\r\n // values === the values received from the form's onChange event\r\n const { dateFrom, dateTo, recurrenceType } = values;\r\n\r\n let recurrenceOptions = defaultRecurrenceOptions;\r\n let disabled = false;\r\n let defaultRecurrenceType = this.props.defaultValues.recurrenceType;\r\n\r\n if (!dateFrom) {\r\n // Disable the dropdown if dateFrom is not set\r\n disabled = true;\r\n } else if (dateFrom && dateTo) {\r\n const differenceInDays = moment(moment(dateTo).startOf('day')).diff(moment(dateFrom).startOf('day'), 'days');\r\n if (differenceInDays <= 0) {\r\n // If the difference is 0 (or lower if something goes wrong), disable the dropdown\r\n disabled = true;\r\n recurrenceOptions = defaultRecurrenceOptions.slice(0, 1);\r\n defaultRecurrenceType = recurrenceTypes.DISABLED;\r\n } else if (differenceInDays > 0 && differenceInDays < numOfDaysInA.week - 1) {\r\n // If it's between 1 and 6, show Daily\r\n recurrenceOptions = defaultRecurrenceOptions.slice(1, 2);\r\n defaultRecurrenceType = recurrenceTypes.DAILY;\r\n } else if (differenceInDays >= numOfDaysInA.week - 1 && differenceInDays < numOfDaysInA.month - 1) {\r\n // If it's between 7 and 27, show Daily and Weekly\r\n recurrenceOptions = defaultRecurrenceOptions.slice(1, 3);\r\n defaultRecurrenceType = recurrenceTypes.DAILY;\r\n } else if (differenceInDays >= numOfDaysInA.month - 1) {\r\n // If it's higher show all of the options\r\n recurrenceOptions = defaultRecurrenceOptions.slice(1, 4);\r\n defaultRecurrenceType = recurrenceTypes.DAILY;\r\n }\r\n } else if (!dateTo) {\r\n recurrenceOptions = defaultRecurrenceOptions.slice(1, 4);\r\n defaultRecurrenceType = recurrenceTypes.DAILY;\r\n }\r\n // If the previously selected option is missing from new options,\r\n // set it to the default value\r\n let selected = defaultRecurrenceType;\r\n if (recurrenceOptions.findIndex(el => el.value === recurrenceType) >= 0) {\r\n selected = recurrenceType;\r\n }\r\n if (disabled) {\r\n selected = recurrenceTypes.DISABLED;\r\n }\r\n\r\n return {\r\n disabled,\r\n selected,\r\n options: recurrenceOptions,\r\n };\r\n };\r\n\r\n getSelectionMatrixForReviewPicker = () => {\r\n if (this.form) {\r\n const formModel = this.form.getModel();\r\n return this.isSpecific ? formModel.selectedDays : formModel.timeSlotsMatrix;\r\n }\r\n return undefined;\r\n };\r\n\r\n calculateDuration = values => {\r\n if (values.endTime && values.startTime) {\r\n const value = durationBetweenDates(new Date(values.startTime), new Date(values.endTime));\r\n return value >= 1440 ? 0 : value;\r\n }\r\n return undefined;\r\n };\r\n\r\n isAtLeastTodayOrUnmodified = fieldName => (values, value) => {\r\n const { defaultValues, actionType } = this.props;\r\n if (\r\n typeof value === 'undefined' ||\r\n moment(value).isSame(moment(defaultValues[fieldName]), 'day') ||\r\n (fieldName === 'dateFrom' && actionType === actionTypes.create)\r\n ) {\r\n return true;\r\n }\r\n return moment(value).isSameOrAfter(globals.now, 'day');\r\n };\r\n createPatternForReviewPicker = () => {\r\n const {\r\n recurrenceType,\r\n recurEvery,\r\n dateFrom,\r\n dateTo,\r\n monthlyRecurrenceType,\r\n selectedWeeks,\r\n selectedWeekDays,\r\n selectedDays,\r\n } = this.state;\r\n if (!recurrenceType || !recurEvery) return null;\r\n return {\r\n recurrenceType: recurrenceType.selected,\r\n recurEvery: recurEvery.selected === recurrenceTypes.DISABLED || !recurEvery.selected ? 1 : recurEvery.selected,\r\n isSpecific: this.isSpecific,\r\n dateFrom: getDateForApi(dateFrom),\r\n dateTo: getDateForApi(dateTo),\r\n monthlyRecurrenceType,\r\n selectedWeeks,\r\n selectedWeekDays,\r\n selectedDays:\r\n !this.isSpecific && recurrenceType.selected === recurrenceTypes.MONTHLY && selectedDays\r\n ? Object.keys(selectedDays)\r\n : null, // specific time uses SpecificSelectedDays prop from the query\r\n };\r\n };\r\n handleChange = values => {\r\n const { dateFrom, dateTo } = values;\r\n const recurrenceType = this.getRecurrenceTypeOptions(values);\r\n const recurEvery = this.getRecurEveryOptions(values);\r\n const duration = this.calculateDuration(values); // durationBetweenDates(startTime, endTime);\r\n const monthlyRecurrenceType = this.getMonthlyRecurrenceType(values);\r\n const selectedWeeks = this.getSelectedWeeks(values);\r\n const selectedDays = this.getSelectedDays(values);\r\n const selectedWeekDays = this.getSelectedWeekDays(values);\r\n\r\n this.props.onChange({ ...values });\r\n this.setState({\r\n dateFrom,\r\n dateTo,\r\n recurrenceType,\r\n recurEvery,\r\n duration,\r\n monthlyRecurrenceType,\r\n selectedWeeks,\r\n selectedDays,\r\n selectedWeekDays,\r\n });\r\n };\r\n handleButtonClicks = (row, position) => {\r\n const { getValue, setValue } = this.props;\r\n const stateOfButtons = getValue() || {};\r\n const currentButtonRowState = stateOfButtons[row] || [];\r\n\r\n if (stateOfButtons[row] && stateOfButtons[row][position]) {\r\n delete stateOfButtons[row][position];\r\n if (Object.keys(stateOfButtons[row]).length <= 0) {\r\n delete stateOfButtons[row];\r\n if (Object.keys(stateOfButtons).length <= 0) {\r\n // If nothing is selected, set the value to undefined (default in formsy)\r\n return setValue(undefined);\r\n }\r\n }\r\n return setValue({\r\n ...stateOfButtons,\r\n });\r\n }\r\n return setValue({\r\n ...stateOfButtons,\r\n [row]: {\r\n ...currentButtonRowState,\r\n [position]: true,\r\n },\r\n });\r\n };\r\n}\r\n\r\nSharedForm.defaultProps = {\r\n defaultValues: RecurrencePatternDefaultValues,\r\n values: RecurrencePatternDefaultValues,\r\n};\r\n\r\nSharedForm.propTypes = {\r\n defaultValues: RecurrencePattern,\r\n values: RecurrencePattern,\r\n getValue: PropTypes.func.isRequired,\r\n setValue: PropTypes.func.isRequired,\r\n actionType: PropTypes.string.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default SharedForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\n\r\nclass TimeSlotsMatrixButton extends React.Component {\r\n handleClick = () => {\r\n const { position, row, clickUpdate } = this.props;\r\n clickUpdate(row, position);\r\n };\r\n render() {\r\n const { checked, label, clickUpdate, disabled } = this.props;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nTimeSlotsMatrixButton.defaultProps = {\r\n clickUpdate: null,\r\n disabled: false,\r\n};\r\n\r\nTimeSlotsMatrixButton.propTypes = {\r\n checked: PropTypes.bool.isRequired,\r\n position: PropTypes.number.isRequired,\r\n row: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n clickUpdate: PropTypes.func,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nexport default TimeSlotsMatrixButton;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport { FormsySelect } from 'formsy-material-ui/lib';\r\nimport { HOC } from 'formsy-react';\r\nimport { WeeksOfMonthPropTypes } from '../../../../enums/weeksOfMonth';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { dropDownStyle, common } from '../../../../theme/AllocateBaseTheme';\r\nimport { DaysOfWeekPropTypes } from '../../../../enums/daysOfWeek';\r\n\r\nconst locale = globals.getAreas(['treatments', 'error']);\r\n\r\nclass WeekOfMonthOption extends Component {\r\n handleSelect = (event, key) => {\r\n this.props.setValue([key]);\r\n };\r\n generateMenuItems = options => {\r\n let menuItems = [];\r\n menuItems = Object.keys(options).map(key => );\r\n\r\n return menuItems;\r\n };\r\n\r\n render() {\r\n const { getValue, name, options } = this.props;\r\n const value = getValue();\r\n const valueKeysArray = value ? [...value] : [];\r\n return (\r\n \r\n {this.generateMenuItems(options)}\r\n \r\n );\r\n }\r\n}\r\n\r\nWeekOfMonthOption.defaultProps = {\r\n disabled: false,\r\n};\r\n\r\nWeekOfMonthOption.propTypes = {\r\n getValue: PropTypes.func.isRequired,\r\n setValue: PropTypes.func.isRequired,\r\n name: PropTypes.string.isRequired,\r\n options: PropTypes.oneOfType([WeeksOfMonthPropTypes, DaysOfWeekPropTypes]).isRequired,\r\n};\r\n\r\nexport default HOC(WeekOfMonthOption);\r\n","import _ from '../../../../utils/lodash';\r\n\r\nexport function handleButtonClicks(row, position) {\r\n const { getValue, setValue } = this.props;\r\n const stateOfButtons = _.cloneDeep(getValue()) || {};\r\n const currentButtonRowState = _.cloneDeep(stateOfButtons[row]) || {};\r\n\r\n if (stateOfButtons[row] && stateOfButtons[row][position]) {\r\n delete stateOfButtons[row][position];\r\n if (Object.keys(stateOfButtons[row]).length <= 0) {\r\n delete stateOfButtons[row];\r\n if (Object.keys(stateOfButtons).length <= 0) {\r\n // If nothing is selected, set the value to undefined (default in formsy)\r\n return setValue(undefined);\r\n }\r\n }\r\n return setValue({\r\n ...stateOfButtons,\r\n });\r\n }\r\n return setValue({\r\n ...stateOfButtons,\r\n [row]: {\r\n ...currentButtonRowState,\r\n [position]: true,\r\n },\r\n });\r\n}\r\n","/* eslint-disable jsx-a11y/interactive-supports-focus */\r\nimport React, { useState } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Box, TextField, IconButton, Link } from '@material-ui/core';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\n\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\r\nimport AutocompleteWrapper from '../common/Autocomplete/AutocompleteWrapper';\r\n\r\nimport { useFetchCliniciansOptionsForUser } from './../../actions/areas/visitActuals/fetchHooks/fetchVisitActuals';\r\nimport { updateGridFilters, clearGridFilters } from '../../actions/global/gridFilters';\r\nimport { useFetchOrgUnitOptions } from './../../actions/areas/shared/fetchOptions';\r\nimport { GridFilterPages } from '../../enums/gridFilterPages';\r\nimport { differenceBetweenDates } from './../../utils/dates';\r\nimport globals from '../../globals/communityGlobals';\r\n\r\nconst numberOfChars = 10;\r\nconst autoCompleteStyle = {\r\n maxHeight: '30px',\r\n};\r\n\r\nexport default function ActualsSearchFilters({ onSubmit, events }) {\r\n const defaultState = {\r\n selectedTeams: useSelector(\r\n store =>\r\n store.global.gridFilters.items.find(item => item.key === GridFilterPages.VisitActuals).filters.selectedTeams,\r\n ),\r\n selectedClinician: useSelector(\r\n store =>\r\n store.global.gridFilters.items.find(item => item.key === GridFilterPages.VisitActuals).filters\r\n .selectedClinician,\r\n ),\r\n dateFrom: useSelector(\r\n store => store.global.gridFilters.items.find(item => item.key === GridFilterPages.VisitActuals).filters.dateFrom,\r\n ),\r\n dateTo: useSelector(\r\n store => store.global.gridFilters.items.find(item => item.key === GridFilterPages.VisitActuals).filters.dateTo,\r\n ),\r\n nhsNumber: useSelector(\r\n store => store.global.gridFilters.items.find(item => item.key === GridFilterPages.VisitActuals).filters.nhsNumber,\r\n ),\r\n filtersRestrictions: useSelector(\r\n store =>\r\n store.global.gridFilters.items.find(item => item.key === GridFilterPages.VisitActuals).filters\r\n .filtersRestrictions,\r\n ),\r\n nhsNumberErrorMessage: null,\r\n reloadCliniciansData: false,\r\n };\r\n\r\n const maxRangeInMonths = defaultState.filtersRestrictions.maxRangeInMonths;\r\n const [state, setState] = useState(defaultState);\r\n const [dateErrorMsg, setDateErrorMsg] = useState('');\r\n\r\n const clinicianOptionsModel = {\r\n teamIds: state.selectedTeams.map(x => x.id),\r\n };\r\n const { data: teamsOptions } = useFetchOrgUnitOptions(false);\r\n const { data: cliniciansOptions } = useFetchCliniciansOptionsForUser(\r\n clinicianOptionsModel,\r\n events.isAllocator,\r\n state.reloadCliniciansData,\r\n );\r\n const dispatch = useDispatch();\r\n\r\n const locale = events.locale;\r\n\r\n const handleClear = () => {\r\n dispatch(clearGridFilters({ key: GridFilterPages.VisitActuals }));\r\n setState({\r\n selectedTeams: [],\r\n selectedClinician: null,\r\n dateFrom: globals.now,\r\n dateTo: globals.now,\r\n filtersRestrictions: defaultState.filtersRestrictions,\r\n nhsNumber: null,\r\n nhsNumberErrorMessage: null,\r\n reloadCliniciansData: false,\r\n });\r\n setDateErrorMsg('');\r\n onSubmit({\r\n selectedTeams: [],\r\n selectedClinician: null,\r\n dateFrom: globals.now,\r\n dateTo: globals.now,\r\n nhsNumber: null,\r\n });\r\n };\r\n\r\n const handleNhsNumberChange = value => {\r\n if (state.nhsNumberErrorMessage) {\r\n setState({ ...state, nhsNumberErrorMessage: null, nhsNumber: value });\r\n } else {\r\n setState({ ...state, nhsNumber: value });\r\n }\r\n };\r\n\r\n // eslint-disable-next-line consistent-return\r\n const validateNhsNumber = () => {\r\n let errorMessage = null;\r\n if (state.nhsNumber) {\r\n state.nhsNumber = state.nhsNumber.replace(/ /g, '');\r\n }\r\n if (isNaN(state.nhsNumber)) {\r\n errorMessage = locale.getMsg('nhsNumericError');\r\n } else if (\r\n state.nhsNumber !== null &&\r\n state.nhsNumber.length !== 0 &&\r\n (state.nhsNumber.length > numberOfChars || state.nhsNumber.length < numberOfChars)\r\n ) {\r\n errorMessage = locale.getMsg('nhsIncorrectLength');\r\n } else {\r\n errorMessage = null;\r\n return true;\r\n }\r\n setState({ ...state, nhsNumberErrorMessage: errorMessage });\r\n };\r\n\r\n const validateDates = (dateFrom, dateTo) => {\r\n if (Math.abs(differenceBetweenDates(dateFrom, dateTo)) > maxRangeInMonths * 30) {\r\n setDateErrorMsg(locale.getMsg('filterPeriodLimit', [maxRangeInMonths.toString(), 'months']));\r\n return false;\r\n } else if (dateTo < dateFrom) {\r\n setDateErrorMsg(locale.getMsg('dateToBeforeDateFrom'));\r\n return false;\r\n }\r\n setDateErrorMsg('');\r\n return true;\r\n };\r\n\r\n const validateFields = () => {\r\n if (validateDates(state.dateFrom, state.dateTo) && validateNhsNumber()) {\r\n onSubmit(state);\r\n dispatch(\r\n updateGridFilters({\r\n key: GridFilterPages.VisitActuals,\r\n filters: state,\r\n }),\r\n );\r\n }\r\n };\r\n\r\n const onChangeDropDown = (key, values) => {\r\n if (key === 'selectedTeams') {\r\n setState({\r\n ...state,\r\n [key]: values,\r\n reloadCliniciansData: !state.reloadCliniciansData,\r\n });\r\n } else {\r\n setState({\r\n ...state,\r\n [key]: values,\r\n });\r\n }\r\n };\r\n\r\n const handleDateFromChange = date => {\r\n validateDates(date, state.dateTo, true);\r\n setState({ ...state, dateFrom: date });\r\n };\r\n\r\n const handleDateToChange = date => {\r\n validateDates(state.dateFrom, date);\r\n setState({ ...state, dateTo: date });\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('orgUnitsOptions')}\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('clinicians')}\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('nhsNumber')}\r\n \r\n \r\n handleNhsNumberChange(e.target.value)}\r\n error={state.nhsNumberErrorMessage !== null}\r\n helperText={state.nhsNumberErrorMessage}\r\n />\r\n \r\n \r\n {locale.getMsg('dateFrom')}\r\n \r\n \r\n handleDateFromChange(e)}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className=\"calendar-picker-input\"\r\n />\r\n \r\n \r\n {locale.getMsg('dateTo')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Clear\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 React from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport Paper from 'material-ui/Paper';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { Typography, IconButton, Box, Tooltip } from '@material-ui/core';\r\nimport InnerContent from '../../../components/PageStructure/InnerContent/InnerContent';\r\n\r\nimport AlertBox from '../../common/AlertBox/AlertBox';\r\nimport PageContent from './../../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from './../../../components/PageStructure/PageHeader/PageHeader';\r\nimport Spinner from './../../../components/common/Spinner/Spinner';\r\nimport StatCounter from '../../common/StatCounter/StatCounter';\r\nimport { actionTypes } from './../../../settings/constants';\r\nimport { VisitActualPropType, VisitActualPatientPropType } from './../../../propTypes/entities/visitActual';\r\n\r\nimport VisitActualForm from './../Form/VisitActualForm';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { paperStyle } from '../../../theme/AllocateBaseTheme';\r\n\r\nimport { formatNhs } from '../../../utils/helpers';\r\n\r\nconst locale = globals.getArea('visitActuals');\r\n\r\nclass VisitActualEdit extends React.Component {\r\n componentDidMount() {\r\n this.props.getVisitActual(this.props.match.params.visitActualId);\r\n }\r\n\r\n convertMinutes = value => ({\r\n hours: Math.floor(value / 60),\r\n minutes: value - Math.floor(value / 60) * 60,\r\n });\r\n\r\n render() {\r\n const {\r\n isFetching,\r\n visitActual,\r\n submitAction,\r\n goBack,\r\n isAllocator,\r\n match,\r\n patient,\r\n failureMessage,\r\n dismissErrors,\r\n activityTime,\r\n visitDuration,\r\n updateVisitTime,\r\n addActivityTime,\r\n enableIntegrationMode,\r\n externalProviderType,\r\n } = this.props;\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n goBack()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('editVisitActual')}\r\n \r\n \r\n \r\n\r\n {/* \r\n
    \r\n goBack()}\r\n >\r\n \r\n \r\n

    \r\n {locale.getMsg('editVisitActual')}\r\n

    \r\n
    \r\n {patient ? (\r\n `${patient.forename} ${patient.surname} -\r\n ${locale.getMsg('nhsNumber')}: ${formatNhs(patient.nhsNumber)}`\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    */}\r\n \r\n
    \r\n \r\n \r\n \r\n {patient ? (\r\n
    \r\n \r\n {patient.forename} {patient.surname}\r\n \r\n -\r\n \r\n {locale.getMsg('nhsNumber')}: {formatNhs(patient.nhsNumber)}\r\n \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n {isFetching || !visitActual ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nVisitActualEdit.defaultProps = {\r\n visitActual: null,\r\n patient: null,\r\n failureMessage: '',\r\n};\r\n\r\nVisitActualEdit.propTypes = {\r\n isAllocator: PropTypes.bool.isRequired,\r\n visitActual: VisitActualPropType,\r\n patient: VisitActualPatientPropType,\r\n isFetching: PropTypes.bool.isRequired,\r\n getVisitActual: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n visitActualId: PropTypes.string.isRequired,\r\n }),\r\n }).isRequired,\r\n submitAction: PropTypes.func.isRequired,\r\n goBack: PropTypes.func.isRequired,\r\n failureMessage: PropTypes.string.isRequired,\r\n dismissErrors: PropTypes.func.isRequired,\r\n updateVisitTime: PropTypes.func.isRequired,\r\n addActivityTime: PropTypes.func.isRequired,\r\n activityTime: PropTypes.number.isRequired,\r\n visitDuration: PropTypes.number.isRequired,\r\n enableIntegrationMode: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default withRouter(VisitActualEdit);\r\n","import React from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport PropTypes from 'prop-types';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport VisitActualActivityForm from './VisitActualActivityForm';\r\n\r\nconst locale = globals.getArea('visitActuals');\r\n\r\nexport default class VisitActualActivitiesDialog extends React.Component {\r\n state = { open: false };\r\n handleOpen = () => this.setState({ open: true });\r\n handleClose = () => this.setState({ open: false });\r\n\r\n handleAdd = this.props.onAdd;\r\n\r\n render() {\r\n const {\r\n usedActivities,\r\n treatmentInstanceId,\r\n visitType,\r\n isSuccessfullyCompleted,\r\n filterActivitiesByOrgUnit,\r\n } = this.props;\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nVisitActualActivitiesDialog.defaultProps = {\r\n usedActivities: [],\r\n treatmentInstanceId: undefined,\r\n isSuccessfullyCompleted: false,\r\n visitType: '',\r\n};\r\n\r\nVisitActualActivitiesDialog.propTypes = {\r\n treatmentInstanceId: PropTypes.number,\r\n onAdd: PropTypes.func.isRequired,\r\n usedActivities: PropTypes.arrayOf(PropTypes.number),\r\n visitType: PropTypes.string,\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReactTable from 'react-table';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport { HOC } from 'formsy-react';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport VisitActualActivityForm from './VisitActualActivityForm';\r\nimport VisitActualActivitiesDialog from './VisitActualActivitiesDialog';\r\n\r\nconst locale = globals.getArea('visitActuals');\r\n\r\nclass VisitActualActivitiesTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.setValidator(props);\r\n }\r\n\r\n state = { open: false, activity: null };\r\n\r\n componentWillReceiveProps(nextProps) {\r\n this.setValidator(nextProps);\r\n }\r\n\r\n setValidator = props => {\r\n props.setValidations(this.validations, props.required);\r\n };\r\n\r\n validations = {\r\n state: (values, value) => {\r\n if (\r\n value &&\r\n !value.every(\r\n a =>\r\n (a.isCompleted === true && a.minutesSpent > 0) ||\r\n (a.isCompleted === false && a.reason && a.reason.length > 0),\r\n )\r\n ) {\r\n return locale.getMsg('incompleteActivity');\r\n }\r\n\r\n return true;\r\n },\r\n time: (values, value) => {\r\n const { visitTime } = this.props;\r\n\r\n if (visitTime && visitTime < this.totalTime(value)) {\r\n return locale.getMsg('visitTimeTooShort');\r\n }\r\n\r\n return true;\r\n },\r\n };\r\n\r\n handleOpen = activity => this.setState({ open: true, activity });\r\n\r\n handleClose = () => this.setState({ open: false });\r\n\r\n get activities() {\r\n if (this.props.clearActivities) return [];\r\n if (this.props.filteredActivitiesByOrgUnit) return this.props.filteredActivitiesByOrgUnit;\r\n const { getValue } = this.props;\r\n return getValue() || [];\r\n }\r\n\r\n totalTime = activities =>\r\n activities\r\n .filter(activity => activity.isCompleted === true)\r\n .reduce((sum, activity) => sum + activity.minutesSpent || 0, 0);\r\n\r\n handleAdd = activity => {\r\n this.props.handleActivitiesReset();\r\n\r\n const { setValue, addActivityTime, addedActivities } = this.props;\r\n const activities = this.activities;\r\n const newActivity = Object.assign({}, activity);\r\n\r\n newActivity.isAdditional = true;\r\n\r\n setValue([...activities, newActivity]);\r\n if (addActivityTime) addActivityTime(activity.duration);\r\n if (addedActivities) addedActivities([...activities, newActivity]);\r\n };\r\n\r\n handleEdit = activity => {\r\n const { setValue } = this.props;\r\n const activities = this.activities;\r\n const foundIndex = activities.findIndex(a => a.id === activity.id);\r\n\r\n activities[foundIndex] = activity;\r\n\r\n setValue([...activities]);\r\n };\r\n\r\n errors = () => {\r\n const { getErrorMessages } = this.props;\r\n const errors = getErrorMessages();\r\n\r\n return (\r\n
      \r\n {errors.map(e => (\r\n
    • {e}
    • \r\n ))}\r\n
    \r\n );\r\n };\r\n\r\n render() {\r\n const { maxBand, visitTime, canEdit, isSuccessfullyCompleted } = this.props;\r\n const activities = this.activities;\r\n\r\n const usedActivitiesId = this.activities.map(a => a.id);\r\n const totalTime = this.totalTime(activities);\r\n const timeLeft = visitTime ? visitTime - this.totalTime(activities) : null;\r\n\r\n const columns = [\r\n {\r\n Header: locale.getMsg('minutesSpent'),\r\n id: 'minutesSpent',\r\n accessor: row => (row.minutesSpent ? row.minutesSpent : '-'),\r\n width: 200,\r\n Footer: (\r\n \r\n {locale.getMsg('totalTime')}: {locale.getMsg('minutesFormat', [`${totalTime}`])}\r\n
    \r\n {timeLeft && `${locale.getMsg('timeLeft')}:`}{' '}\r\n {timeLeft && locale.getMsg('minutesFormat', [`${timeLeft}`])}\r\n
    \r\n ),\r\n },\r\n {\r\n Header: locale.getMsg('name'),\r\n accessor: 'name',\r\n width: 400,\r\n },\r\n\r\n {\r\n Header: locale.getMsg('additional'),\r\n id: 'isAdditional',\r\n accessor: row => (row.isAdditional ? '✔' : '-'),\r\n width: 200,\r\n style: { paddingLeft: '20px' },\r\n },\r\n {\r\n Header: locale.getMsg('completed'),\r\n id: 'isCompleted',\r\n accessor: row => {\r\n if (row.isCompleted === true) return '✔';\r\n if (row.isCompleted === false) return '-';\r\n\r\n return '?';\r\n },\r\n width: 200,\r\n style: { paddingLeft: '20px' },\r\n },\r\n {\r\n Header: locale.getMsg('reason'),\r\n accessor: 'reason',\r\n width: 400,\r\n },\r\n ];\r\n\r\n return (\r\n
    \r\n \r\n \r\n this.props.filterActivitiesByOrgUnit(options)}\r\n />\r\n \r\n \r\n ({\r\n onClick: () => {\r\n if (canEdit || !isSuccessfullyCompleted) {\r\n this.handleOpen(rowInfo.original);\r\n }\r\n },\r\n })}\r\n />\r\n {(canEdit || !isSuccessfullyCompleted) && (\r\n
    \r\n
    \r\n
    {this.errors()}
    \r\n
    \r\n
    \r\n
    \r\n this.handleAdd(activity)}\r\n visitType={this.props.visitType}\r\n filterActivitiesByOrgUnit={options => this.props.filterActivitiesByOrgUnit(options)}\r\n />\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nVisitActualActivitiesTable.defaultProps = {\r\n value: [],\r\n maxBand: undefined,\r\n visitTime: undefined,\r\n addActivityTime: () => {},\r\n addedActivities: () => {},\r\n treatmentInstanceId: undefined,\r\n visitType: '',\r\n handleActivitiesReset: () => {},\r\n filterActivitiesByOrgUnit: () => {},\r\n};\r\n\r\nVisitActualActivitiesTable.propTypes = {\r\n canEdit: PropTypes.bool.isRequired,\r\n maxBand: PropTypes.number,\r\n visitTime: PropTypes.number,\r\n getValue: PropTypes.func.isRequired,\r\n setValue: PropTypes.func.isRequired,\r\n getErrorMessages: PropTypes.func.isRequired,\r\n addActivityTime: PropTypes.func,\r\n treatmentInstanceId: PropTypes.number,\r\n addedActivities: PropTypes.func,\r\n visitType: PropTypes.string,\r\n handleActivitiesReset: PropTypes.func,\r\n filterActivitiesByOrgUnit: PropTypes.func,\r\n};\r\n\r\nexport default HOC(VisitActualActivitiesTable);\r\n","import React, { useState, useEffect } from 'react';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport Checkbox from 'material-ui/Checkbox';\r\nimport Formsy from 'formsy-react';\r\nimport { FormsyText } from 'formsy-material-ui/lib';\r\nimport ApiSelector from '../../../containers/common/selectors/selectorContainer';\r\nimport {\r\n getActivitiesEndpointForTreatmentInstance,\r\n getActivitiesEndpointForVisitType,\r\n notDoneReasonsEndpoint,\r\n} from '../../../settings/constants';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { positiveNumbersWithZero } from '../../../settings/constants/regex';\r\nimport { textFieldStyle, dropDownStyle } from '../../../theme/AllocateBaseTheme';\r\nimport { convertHoursToMinutes, convertMinutesToHours } from '../../../utils/datetimeconverter';\r\n\r\nconst locale = globals.getArea('visitActuals');\r\nconst errorsLocale = globals.getArea('error');\r\n\r\nlet isNotDoneReasonFieldInvalid = false;\r\n\r\nexport default function VisitActualActivityForm({\r\n activity,\r\n treatmentInstanceId,\r\n onRequestClose,\r\n onRequestSubmit,\r\n disabledActivities = [],\r\n visitType,\r\n isSuccessfullyCompleted,\r\n filterActivitiesByOrgUnit,\r\n}) {\r\n const [state, setState] = useState({\r\n canSubmit: false,\r\n isCompleted: true,\r\n selected: [],\r\n selectedMinutesSpent: undefined,\r\n selectedHoursSpent: undefined,\r\n reason: '',\r\n selectedActivity: null,\r\n orgUnitsIds: [],\r\n });\r\n\r\n useEffect(() => {\r\n if (activity && (!state.reason || state.reason.length === 0)) {\r\n const activityHours = activity.minutesSpent ? convertMinutesToHours(activity.minutesSpent) : undefined;\r\n const activityMins = activity.minutesSpent\r\n ? activity.minutesSpent - convertHoursToMinutes(activityHours)\r\n : undefined;\r\n setState({\r\n ...state,\r\n isCompleted: activity.isCompleted === null ? true : activity.isCompleted,\r\n isAdditional: !!activity.isAdditional,\r\n selectedMinutesSpent: activityMins,\r\n selectedHoursSpent: activityHours,\r\n reason: activity.reason,\r\n selectedActivity: activity,\r\n orgUnitsIds: activity.orgUnitsIds,\r\n });\r\n }\r\n }, [isNotDoneReasonFieldInvalid]);\r\n\r\n const isEdit = !!activity && !!activity.id;\r\n\r\n const enableButton = () => {\r\n if (state.isCompleted && !state.selectedHoursSpent && !state.selectedMinutesSpent) {\r\n setState({ ...state, canSubmit: false });\r\n } else setState({ ...state, canSubmit: true });\r\n };\r\n\r\n const disableButton = () => {\r\n setState({ ...state, canSubmit: false });\r\n };\r\n\r\n const keepName = (event, key, id, selectedActivity) => {\r\n setState({ ...state, selectedActivity });\r\n };\r\n\r\n const saveActivity = () => {\r\n if (!state.canSubmit) {\r\n return;\r\n }\r\n disableButton();\r\n const minutesSpent =\r\n state.selectedMinutesSpent && state.selectedMinutesSpent !== '' ? parseInt(state.selectedMinutesSpent, 10) : 0;\r\n const minutes = state.selectedHoursSpent\r\n ? minutesSpent + convertHoursToMinutes(state.selectedHoursSpent)\r\n : minutesSpent;\r\n const activitySubmitted = Object.assign({\r\n isCompleted: state.isCompleted,\r\n isAdditional: state.isAdditional,\r\n id: state.selectedActivity.id,\r\n minutesSpent: state.isCompleted ? minutes : null,\r\n duration: state.selectedActivity ? state.selectedActivity.duration : 0,\r\n name: state.selectedActivity ? state.selectedActivity.name : activity.name,\r\n hoursSpent: state.selectedHoursSpent,\r\n reason: !state.isCompleted ? state.reason : null,\r\n orgUnitsIds: state.selectedActivity.orgUnitsIds,\r\n });\r\n\r\n onRequestSubmit(activitySubmitted);\r\n onRequestClose();\r\n };\r\n\r\n const filterOptions = options => {\r\n let filtered = options.filter(a => disabledActivities.indexOf(a.id) < 0);\r\n if (visitType) {\r\n filtered = filterActivitiesByOrgUnit(options);\r\n }\r\n return filtered;\r\n };\r\n\r\n const handleCompleted = () => {\r\n setState({ ...state, isCompleted: !state.isCompleted });\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {state.isCompleted && (\r\n {\r\n return (values.minutesSpent !== '' && values.minutesSpent !== '0') || value !== '0';\r\n },\r\n }}\r\n validationErrors={{\r\n max: errorsLocale.getMsg('validationNumberRange', ['0-23']),\r\n matchRegexp: errorsLocale.getMsg('validationPositiveNumericError'),\r\n nonZeroValue: errorsLocale.getMsg('cannotBeZeroWhenOtherFieldIs', [locale.getMsg('minutes')]),\r\n }}\r\n value={state.selectedHoursSpent}\r\n className=\"formsytext-css\"\r\n floatingLabelStyle={textFieldStyle.floatingLabelStyle}\r\n floatingLabelShrinkStyle={textFieldStyle.floatingLabelShrinkStyle}\r\n style={textFieldStyle.style}\r\n inputStyle={textFieldStyle.inputStyle}\r\n underlineStyle={textFieldStyle.underlineStyle}\r\n underlineFocusStyle={textFieldStyle.underlineFocusStyle}\r\n validationColor={textFieldStyle.validationColor}\r\n floatingLabelText={`${locale.getMsg('hours')} ${state.isCompleted ? '*' : ''}`}\r\n onChange={event => setState({ ...state, selectedHoursSpent: event.target.value })}\r\n />\r\n )}\r\n
    \r\n
    \r\n {state.isCompleted && (\r\n {\r\n return (values.hoursSpent !== '' && values.hoursSpent !== '0') || value !== '0';\r\n },\r\n }}\r\n validationErrors={{\r\n max: errorsLocale.getMsg('validationNumberRange', ['0-59']),\r\n matchRegexp: errorsLocale.getMsg('validationPositiveNumericError'),\r\n nonZeroValue: errorsLocale.getMsg('cannotBeZeroWhenOtherFieldIs', [locale.getMsg('hours')]),\r\n }}\r\n value={state.selectedMinutesSpent}\r\n className=\"formsytext-css\"\r\n floatingLabelStyle={textFieldStyle.floatingLabelStyle}\r\n floatingLabelShrinkStyle={textFieldStyle.floatingLabelShrinkStyle}\r\n style={textFieldStyle.style}\r\n inputStyle={textFieldStyle.inputStyle}\r\n underlineStyle={textFieldStyle.underlineStyle}\r\n underlineFocusStyle={textFieldStyle.underlineFocusStyle}\r\n validationColor={textFieldStyle.validationColor}\r\n floatingLabelText={`${locale.getMsg('minutes')} ${state.isCompleted ? '*' : ''}`}\r\n onChange={event => setState({ ...state, selectedMinutesSpent: event.target.value })}\r\n />\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n handleCompleted()}\r\n label={locale.getMsg('completed')}\r\n disabled={isSuccessfullyCompleted}\r\n />\r\n
    \r\n
    \r\n\r\n {!state.isCompleted && (\r\n
    \r\n {\r\n isNotDoneReasonFieldInvalid = data;\r\n }}\r\n onChange={event => setState({ ...state, reason: event.target.innerText })}\r\n errorText={\r\n isNotDoneReasonFieldInvalid &&\r\n state.reason &&\r\n state.reason.length > 0 &&\r\n locale.getMsg('invalidNotDoneReason', [state.reason])\r\n }\r\n errorStyle={dropDownStyle.errorStyle}\r\n shouldCompareNatural={false}\r\n />\r\n
    \r\n )}\r\n\r\n
    \r\n
    \r\n
    \r\n onRequestClose()} />\r\n
    \r\n {!state.isCompleted &&
    }\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport PropTypes from 'prop-types';\r\nimport Formsy from 'formsy-react';\r\nimport moment from 'moment';\r\nimport { Box } from '@material-ui/core';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { MuiPickersUtilsProvider, KeyboardDateTimePicker } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport { VisitActualPropType } from '../../../propTypes/entities/visitActual';\r\nimport { actionTypes, outcomeCodesEndpoint } from '../../../settings/constants';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { getDateForApi } from '../../../utils/dates';\r\nimport { doubleActionPrevent } from '../../../utils/helpers';\r\nimport { FormsyDate } from '../../../components/common/Formsy';\r\nimport { textFieldStyle, datePickerStyle, common } from '../../../theme/AllocateBaseTheme';\r\nimport VisitActualActivitiesTable from './VisitActualActivitiesTable';\r\nimport ApiSelector from '../../../containers/common/selectors/selectorContainer';\r\nimport { ExternalProviderType } from '../../../enums';\r\n\r\nconst locale = globals.getArea('visitActuals');\r\n\r\nclass VisitActualForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n const { visitActual } = this.props;\r\n this.state = {\r\n canSubmit: false,\r\n startAt: visitActual && visitActual.actual.startAt ? new Date(visitActual.actual.startAt) : null,\r\n endAt: visitActual && visitActual.actual.endAt ? new Date(visitActual.actual.endAt) : null,\r\n outcomeCode: visitActual.outcomeCode,\r\n };\r\n }\r\n\r\n TextFieldComponent = props => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n handleActualStartChange = date => {\r\n this.setState(\r\n {\r\n startAt: date,\r\n },\r\n () => this.props.updateVisitTime(this.visitTime),\r\n );\r\n };\r\n\r\n handleActualEndChange = date => {\r\n this.setState(\r\n {\r\n endAt: date,\r\n },\r\n () => this.props.updateVisitTime(this.visitTime),\r\n );\r\n };\r\n\r\n handleOutcomeCodeChange = (event, key, id, value) => {\r\n this.setState({\r\n ...this.state,\r\n outcomeCode: value.name,\r\n });\r\n };\r\n\r\n addCurrentValue = value => options => {\r\n if (value === undefined || value === null) {\r\n return options;\r\n }\r\n if (options) {\r\n if (!options.find(x => x.name === value)) {\r\n options.push({ id: -1, name: value });\r\n }\r\n }\r\n return options;\r\n };\r\n\r\n additionalValidation = () =>\r\n this.state.startAt &&\r\n this.state.endAt &&\r\n moment(this.state.endAt).isAfter(moment(this.state.startAt)) &&\r\n moment().isAfter(moment(this.state.endAt));\r\n\r\n enableButton = () => {\r\n this.setState({ canSubmit: true });\r\n };\r\n\r\n disableButton = () => {\r\n this.setState({ canSubmit: false });\r\n };\r\n\r\n formatDate = date => moment(date).format(globals.dateFormats.shortWithTime);\r\n\r\n save = doubleActionPrevent.bind(this)(\r\n 'Save',\r\n // eslint-disable-next-line consistent-return\r\n async model => {\r\n if (!this.additionalValidation()) return false;\r\n\r\n const { submitAction, visitActualId } = this.props;\r\n\r\n const updated = {\r\n treatmentInstanceId: visitActualId,\r\n activities: model.activities,\r\n actualTime: {\r\n startAt: getDateForApi(this.state.startAt),\r\n endAt: getDateForApi(this.state.endAt),\r\n },\r\n outcomeCode: this.state.outcomeCode,\r\n };\r\n\r\n await submitAction(updated);\r\n },\r\n async () => {\r\n const { navigate } = this.props;\r\n navigate();\r\n },\r\n );\r\n\r\n get visitTime() {\r\n const { startAt, endAt } = this.state;\r\n\r\n const duration = startAt && endAt ? Math.ceil(moment.duration(moment(endAt).diff(startAt)).asMinutes()) : 0;\r\n\r\n return duration > 0 ? duration : 0;\r\n }\r\n\r\n render() {\r\n const {\r\n actionType,\r\n visitActual,\r\n addActivityTime,\r\n visitActualId,\r\n enableIntegrationMode,\r\n externalProviderType,\r\n } = this.props;\r\n const { startAt, endAt, outcomeCode } = this.state;\r\n\r\n const canEdit = visitActual.isMasterViewing;\r\n const isCreate = actionType === actionTypes.CREATE;\r\n const masterClinician = visitActual.clinicians.filter(c => c.isMaster)[0];\r\n\r\n return (\r\n
    \r\n \r\n {/* {visitActual.canNotBeSentToExternalProvider && (\r\n
    \r\n {locale.getMsg('canNotSentCompleteVisitUpdateForExternalProvider')}\r\n
    \r\n
    \r\n )} */}\r\n\r\n
    \r\n
    \r\n {locale.getMsg('cliniciansPresent')}: {masterClinician.name}\r\n
    \r\n\r\n {visitActual.clinicians.filter(c => !c.isMaster).length > 0 && (\r\n
    \r\n {locale.getMsg('copies')}:{' '}\r\n {visitActual.clinicians\r\n .filter(c => !c.isMaster)\r\n .map(c => c.name)\r\n .join(', ')}\r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n
    {locale.getMsg('visitActualDetails')}
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleActualStartChange(value)}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleActualEndChange(value)}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n TextFieldComponent={this.TextFieldComponent}\r\n />\r\n \r\n \r\n \r\n
    \r\n\r\n {enableIntegrationMode && externalProviderType === ExternalProviderType.Rio && (\r\n
    \r\n \r\n \r\n \r\n
    \r\n )}\r\n\r\n
    \r\n
    {locale.getMsg('visitActivities')}
    \r\n \r\n
    \r\n\r\n {canEdit && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nVisitActualForm.defaultProps = {\r\n visitActual: null,\r\n};\r\n\r\nVisitActualForm.propTypes = {\r\n visitActualId: PropTypes.string.isRequired,\r\n visitActual: VisitActualPropType,\r\n actionType: PropTypes.string.isRequired,\r\n submitAction: PropTypes.func.isRequired,\r\n navigate: PropTypes.func.isRequired,\r\n updateVisitTime: PropTypes.func.isRequired,\r\n addActivityTime: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default VisitActualForm;\r\n","import React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport LoadingPageText from './../common/Loading/LoadingPageText';\r\nimport ActualsSearchFilters from './ActualsSearchFilters';\r\nimport { useFetchTreatmentVisits } from '../../actions/areas/visitActuals/fetchHooks/fetchVisitActuals';\r\nimport { eventHandlers } from './visitActualsHandler';\r\nimport { tableSettings } from './visitActualsTableSettings';\r\nimport { getDateForApi } from '../../utils/dates';\r\nimport { GridFilterPages } from '../../enums/gridFilterPages';\r\n\r\nexport default function VisitActualsPage() {\r\n document.title = 'Visit Actuals';\r\n\r\n const [state, setState] = useState({\r\n forceReload: false,\r\n selectedTeams: useSelector(\r\n store =>\r\n store.global.gridFilters.items.find(item => item.key === GridFilterPages.VisitActuals).filters.selectedTeams,\r\n ),\r\n selectedClinician: useSelector(\r\n store =>\r\n store.global.gridFilters.items.find(item => item.key === GridFilterPages.VisitActuals).filters\r\n .selectedClinician,\r\n ),\r\n dateFrom: useSelector(\r\n store => store.global.gridFilters.items.find(item => item.key === GridFilterPages.VisitActuals).filters.dateFrom,\r\n ),\r\n dateTo: useSelector(\r\n store => store.global.gridFilters.items.find(item => item.key === GridFilterPages.VisitActuals).filters.dateTo,\r\n ),\r\n nhsNumber: useSelector(\r\n store => store.global.gridFilters.items.find(item => item.key === GridFilterPages.VisitActuals).filters.nhsNumber,\r\n ),\r\n currentPage: 1,\r\n pageSize: 15,\r\n sortColumn: 'Id',\r\n sortDirection: 'desc',\r\n });\r\n\r\n const model = {\r\n OrgUnitIds: state.selectedTeams.map(unit => unit.id),\r\n ClinicianIds: state.selectedClinician ? state.selectedClinician.id : null,\r\n DateFrom: getDateForApi(state.dateFrom),\r\n DateTo: getDateForApi(state.dateTo),\r\n nhsNumber: state.nhsNumber,\r\n pageSize: state.pageSize,\r\n currentPage: state.currentPage,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n };\r\n\r\n const { data, isDataLoading, isTableDataLoading } = useFetchTreatmentVisits(model, state.forceReload);\r\n\r\n const events = eventHandlers(state, setState);\r\n const settings = tableSettings({\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n eventHandlers: events,\r\n isTableDataLoading,\r\n });\r\n\r\n if (isDataLoading)\r\n return (\r\n Wait a moment while we gather Visit Actuals list info...\r\n );\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import { useSelector, useDispatch } from 'react-redux';\r\nimport { push } from 'connected-react-router';\r\nimport moment from 'moment';\r\nimport globals from './../../globals/communityGlobals';\r\nimport { checkFeatureAccess } from './../../utils/helpers';\r\n\r\nexport const eventHandlers = (state, setState) => {\r\n const dispatch = useDispatch();\r\n\r\n const updateTableProps = (currentPage, pageSize) => setState({ ...state, currentPage, pageSize });\r\n const updateTableSort = (sortColumn, sortDirection) => setState({ ...state, sortColumn, sortDirection });\r\n\r\n const onClose = () => {\r\n setState(newState => ({ ...newState, openSidePanel: false }));\r\n };\r\n\r\n const onFiltersChange = model =>\r\n setState({\r\n ...state,\r\n selectedTeams: model.selectedTeams,\r\n selectedClinician: model.selectedClinician,\r\n dateFrom: model.dateFrom,\r\n dateTo: model.dateTo,\r\n nhsNumber: model.nhsNumber,\r\n currentPage: 1,\r\n });\r\n\r\n const refreshTable = () =>\r\n setState(newState => ({\r\n ...newState,\r\n forceReload: !state.forceReload,\r\n }));\r\n\r\n const featureAccessList = useSelector(s => s.global.auth.featureAccessList);\r\n\r\n const isAllocator =\r\n checkFeatureAccess(featureAccessList, globals.applicationFeatureAccesses.canAllocateWork) ||\r\n checkFeatureAccess(featureAccessList, globals.applicationFeatureAccesses.canTrigerSync);\r\n\r\n return {\r\n locale: globals.getAreas(['visitActuals', 'error', 'selectableListsValues', 'clinicianGroups', 'userActions']),\r\n dateFormats: globals.dateFormats.shortWithLongTime,\r\n moment,\r\n updateTableProps,\r\n updateTableSort,\r\n onClose,\r\n onFiltersChange,\r\n refreshTable,\r\n isAllocator,\r\n go: url => dispatch(push(url)),\r\n };\r\n};\r\n","/* eslint-disable default-case */\r\n/* eslint-disable no-case-declarations */\r\nimport React from 'react';\r\nimport { Typography } from '@material-ui/core';\r\nimport CustomToolbar from '../../components/common/CustomToolbar/CustomToolbar';\r\nimport _ from './../../utils/lodash';\r\nimport { formatNhs } from './../../utils/helpers';\r\n\r\nconst mapPropName = (columnName, isEntityToDto = false) => {\r\n const entityNames = [\r\n 'Status',\r\n 'PatientName',\r\n 'PatientAge',\r\n 'PostCode',\r\n 'VisitActivities',\r\n 'VisitBand',\r\n 'VisitMinutes',\r\n 'RetroVisit',\r\n 'PatientNhsNumber',\r\n ];\r\n const dtoNames = [\r\n 'status',\r\n 'patientName',\r\n 'age',\r\n 'postcode',\r\n 'activities',\r\n 'band',\r\n 'minutes',\r\n 'retroVisit',\r\n 'nhsNumber',\r\n ];\r\n if (isEntityToDto) {\r\n const index = _.indexOf(entityNames, columnName);\r\n return dtoNames[index];\r\n }\r\n\r\n const index = _.indexOf(dtoNames, columnName);\r\n return entityNames[index];\r\n};\r\n\r\nconst setSortDirection = (columnDtoName, options) => {\r\n const entityName = mapPropName(columnDtoName, false);\r\n\r\n return entityName === options.sortColumn ? options.sortDirection : 'none';\r\n};\r\n\r\nexport const tableSettings = options => {\r\n const eventHandlers = options.eventHandlers;\r\n const locale = eventHandlers.locale;\r\n\r\n return {\r\n name: {locale.getMsg('pageHeader')},\r\n columns: [\r\n {\r\n name: 'id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'isCompleted',\r\n label: locale.getMsg('status'),\r\n options: {\r\n customBodyRender: value => (value ? '✔' : '-'),\r\n sort: false,\r\n setCellProps: () => ({ style: { width: '70px' } }),\r\n },\r\n },\r\n {\r\n name: 'patientName',\r\n label: locale.getMsg('patientName'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'patientName',\r\n direction: setSortDirection('patientName', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'nhsNumber',\r\n label: locale.getMsg('nhsNumber'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'nhsNumber',\r\n direction: setSortDirection('nhsNumber', options),\r\n },\r\n customBodyRender: value => (value ? formatNhs(value) : '-'),\r\n },\r\n },\r\n {\r\n name: 'age',\r\n label: locale.getMsg('age'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'age',\r\n direction: setSortDirection('age', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'postcode',\r\n label: locale.getMsg('postCode'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'postcode',\r\n direction: setSortDirection('postcode', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'activities',\r\n label: locale.getMsg('activities'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'activities',\r\n direction: setSortDirection('activities', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'band',\r\n label: locale.getMsg('band'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'band',\r\n direction: setSortDirection('band', options),\r\n },\r\n setCellProps: () => ({ style: { width: '100px' } }),\r\n },\r\n },\r\n {\r\n name: 'minutes',\r\n label: locale.getMsg('minutes'),\r\n options: {\r\n customBodyRender: value => value || '-',\r\n sort: true,\r\n sortOrder: {\r\n name: 'minutes',\r\n direction: setSortDirection('minutes', options),\r\n },\r\n setCellProps: () => ({ style: { width: '80px' } }),\r\n },\r\n },\r\n {\r\n name: 'isAddedRetrospectively',\r\n label: locale.getMsg('retroVisit'),\r\n options: {\r\n customBodyRender: value => (value ? '✔' : '-'),\r\n sort: false,\r\n setCellProps: () => ({ style: { width: '50px' } }),\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n customToolbar: () => (\r\n \r\n ),\r\n onRowClick: rowData => options.eventHandlers.go(`/VisitActuals/${rowData[0]}`),\r\n onTableChange: (action, tableState) => {\r\n switch (action) {\r\n case 'changePage':\r\n case 'changeRowsPerPage':\r\n options.eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n break;\r\n case 'sort':\r\n let sortColumn = '';\r\n let sortDirection = '';\r\n\r\n if (tableState.activeColumn > -1) {\r\n sortColumn = mapPropName(tableState.sortOrder.name);\r\n sortDirection = tableState.sortOrder.direction;\r\n options.eventHandlers.updateTableSort(sortColumn, sortDirection);\r\n }\r\n break;\r\n }\r\n },\r\n },\r\n };\r\n};\r\n","/* eslint-disable react/no-unused-prop-types */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport axios from '../../../utils/axios';\r\nimport { queryStringBuilder } from '../../../utils/helpers';\r\nimport Spinner from '../Spinner/Spinner';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('activities');\r\nconst styles = {\r\n totalTime: { paddingLeft: '20px' },\r\n};\r\nclass ActivitiesSummary extends React.Component {\r\n state = {\r\n summary: null,\r\n isFetching: false,\r\n };\r\n\r\n async componentDidMount() {\r\n const { activitiesIds } = this.props;\r\n if (activitiesIds && activitiesIds.length) {\r\n await this.callApi(this.props);\r\n }\r\n }\r\n\r\n componentWillReceiveProps = async nextProps => {\r\n const { activitiesIds, activityVarianceIds } = nextProps;\r\n\r\n if (activitiesIds && activitiesIds.length) {\r\n if (\r\n this.needUpldate(activitiesIds, this.props.activitiesIds) ||\r\n this.needUpldate(activityVarianceIds, this.props.activityVarianceIds)\r\n ) {\r\n await this.callApi(nextProps);\r\n } else {\r\n this.setState({\r\n isFetching: false,\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n summary: null,\r\n });\r\n }\r\n };\r\n\r\n needUpldate = (values, oldValues) =>\r\n values &&\r\n values.length &&\r\n (values.length !== oldValues.length || values.some((el, index) => el !== oldValues[index]));\r\n\r\n callApi = async ({ activitiesIds, jwtToken, handleApiError, activityVarianceIds }) => {\r\n this.setState({\r\n summary: null,\r\n isFetching: true,\r\n });\r\n\r\n try {\r\n const response = await axios.get(\r\n `v1/query/GetActivitiesSummary${queryStringBuilder({ activitiesIds, activityVarianceIds })}`,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${jwtToken}`,\r\n },\r\n },\r\n );\r\n this.setState({\r\n summary: response.data,\r\n isFetching: false,\r\n });\r\n this.props.callback();\r\n } catch (error) {\r\n handleApiError(error);\r\n }\r\n };\r\n\r\n render() {\r\n const { summary, isFetching } = this.state;\r\n if (isFetching) {\r\n return ;\r\n }\r\n\r\n if (!summary) {\r\n return
    {locale.getMsg('selectActivitiesToSeeSummary')}.
    ;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {locale.getMsg('highestBand')}: {summary.highestGrade}\r\n \r\n \r\n {locale.getMsg('totalTime')}: {summary.totalDuration}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nActivitiesSummary.defaultProps = {\r\n activityVarianceIds: [],\r\n callback: () => {},\r\n};\r\n\r\nActivitiesSummary.propTypes = {\r\n activitiesIds: PropTypes.arrayOf(PropTypes.number).isRequired,\r\n activityVarianceIds: PropTypes.arrayOf(PropTypes.number),\r\n jwtToken: PropTypes.string.isRequired,\r\n handleApiError: PropTypes.func.isRequired,\r\n callback: PropTypes.func,\r\n};\r\n\r\nexport default ActivitiesSummary;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { shouldUpdate } from 'recompose';\r\nimport { Box } from '@material-ui/core';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\n\r\nconst AlertBox = ({ content, onClick, type, innerRef, style }) => {\r\n const iconsClassMap = {\r\n error: 'warning',\r\n information: 'information',\r\n notification: 'exclamation',\r\n success: 'check-mark',\r\n };\r\n\r\n return content.length > 0 ? (\r\n \r\n
    \r\n \r\n {content}\r\n
    \r\n {onClick && (\r\n \r\n \r\n \r\n )}\r\n \r\n ) : null;\r\n};\r\n\r\nconst checkPropsChange = (props, nextProps) => props.content !== nextProps.content || props.type !== nextProps.type;\r\n\r\nAlertBox.defaultProps = {\r\n onClick: null,\r\n content: '',\r\n innerRef: () => {},\r\n};\r\n\r\nAlertBox.propTypes = {\r\n content: PropTypes.string,\r\n onClick: PropTypes.func,\r\n type: PropTypes.string.isRequired,\r\n innerRef: PropTypes.func,\r\n};\r\n\r\nexport default shouldUpdate(checkPropsChange)(AlertBox);\r\n","/* eslint-disable import/no-unresolved */\r\n/* eslint-disable import/extensions */\r\nimport React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport AccountCircle from '@material-ui/icons/AccountCircle';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('header');\r\nconst altText = locale.getMsg('applicationLogo');\r\nconst { basename } = globals.urls;\r\nconst imageSource = `${basename}images/branding/Allocate-Solutions-ECommunity.png`;\r\nconst logOutText = locale.getMsg('logout');\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n flexGrow: 1,\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n title: {\r\n flexGrow: 1,\r\n },\r\n}));\r\n\r\nexport default function CommunityAppBar() {\r\n const classes = useStyles();\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const open = Boolean(anchorEl);\r\n const [showQuickMenu, setShowQuickMenu] = React.useState(false);\r\n\r\n const handleQuickMenu = () => {\r\n setShowQuickMenu(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {altText}\r\n
    \r\n
    \r\n setAnchorEl(event.currentTarget)}\r\n color=\"inherit\"\r\n >\r\n \r\n \r\n setAnchorEl(null)}\r\n >\r\n setAnchorEl(null)}>{logOutText}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Menu Item 1\r\n Menu Item 2\r\n \r\n
    \r\n );\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { tableSettings } from './auditTrailTableSettings';\r\nimport { treatmentTableSettings } from './auditTrailTreatmentTableSettings';\r\nimport { useFetchAuditTrails } from '../../../../AppSrc/actions/areas/admin/fetchHooks/fetchAudit';\r\nimport LoadingPageText from '../../../../AppSrc/components/common/Loading/LoadingPageText';\r\nimport { AuditTrailType } from '../../../enums/auditTrail';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('audit');\r\n\r\nexport default function AuditTrail({ auditTrailType, entityId, forceReload }) {\r\n const { data, isDataLoading } = useFetchAuditTrails(auditTrailType, entityId, forceReload);\r\n const [events, setEvents] = useState([]);\r\n const settings = AuditTrailType.Treatment === auditTrailType ? treatmentTableSettings(events) : tableSettings();\r\n\r\n useEffect(() => {\r\n if (data && data.eventEntries) {\r\n setEvents(data.eventEntries);\r\n }\r\n }, [data, isDataLoading]);\r\n\r\n return (\r\n \r\n {!isDataLoading ? (\r\n \r\n ) : (\r\n {locale.getMsg('auditLoadingMsg')}\r\n )}\r\n \r\n );\r\n}\r\n","/* eslint-disable consistent-return */\r\n/* eslint-disable no-nested-ternary */\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport { TableRow, Grid, TableCell, Typography } from '@material-ui/core';\r\nimport { startEndTimeDisplay } from '../../../utils/dates';\r\nimport { DaysOfWeek } from '../../../enums/daysOfWeek';\r\nimport recurrenceTypes from '../../../settings/constants/recurrenceTypes';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { MonthOption } from '../../../enums/monthOption';\r\n\r\nconst locale = globals.getArea('audit');\r\nconst daysOfWeekArray = Object.values(DaysOfWeek);\r\nconst backgroundColorTimeSlot = (selectedId, timeSlotsMatrix) => {\r\n return timeSlotsMatrix && timeSlotsMatrix[selectedId] ? 'selectedPatternSlot' : 'unselectedPatternSlot';\r\n};\r\n\r\nconst isWeekly = recurrenceType => {\r\n return recurrenceType === recurrenceTypes.WEEKLY;\r\n};\r\nconst isMonthly = recurrenceType => {\r\n return recurrenceType === recurrenceTypes.MONTHLY;\r\n};\r\n\r\nconst formattedTimeNoSeconds = (time = '') => {\r\n if (!time) return;\r\n return moment(time, 'HH:mm:ss').format('HH:mm');\r\n};\r\n\r\nconst hasSameTimeSlots = (oldTimeSlotsMatrix, newTimeSlotsMatrix) => {\r\n if (!oldTimeSlotsMatrix || !newTimeSlotsMatrix) {\r\n return false;\r\n }\r\n const oldTimeSlotsMatrixIds = Object.keys(oldTimeSlotsMatrix);\r\n const newTimeSlotsMatrixIds = Object.keys(newTimeSlotsMatrix);\r\n return (\r\n oldTimeSlotsMatrixIds.length === newTimeSlotsMatrixIds.length &&\r\n oldTimeSlotsMatrixIds.every(key => newTimeSlotsMatrixIds.includes(key))\r\n );\r\n};\r\n\r\nconst renderMonthlyData = (monthlyRecurrenceType, selectedWeeks, selectedDays) => {\r\n return (\r\n \r\n

    \r\n Selected day/week calendar: {MonthOption[monthlyRecurrenceType]}\r\n

    \r\n {MonthOption[monthlyRecurrenceType] === MonthOption.WeekOfTheMonth && (\r\n

    \r\n Selected Week: {selectedWeeks}\r\n

    \r\n )}\r\n

    \r\n Selected Day: {selectedDays}\r\n

    \r\n
    \r\n );\r\n};\r\n\r\nfunction TreatmentTimeSlotsDataTable({\r\n timeSlotsPackage,\r\n timeSlotsMatrix,\r\n rowTitle,\r\n valueTitle,\r\n cssStyle,\r\n showInnerTitle,\r\n monthlyRecurrenceType,\r\n recurrenceType,\r\n selectedDays,\r\n selectedWeeks,\r\n}) {\r\n return rowTitle && timeSlotsMatrix && timeSlotsPackage ? (\r\n sum + Number(key), 0)}`}\r\n >\r\n {showInnerTitle && (\r\n \r\n \r\n {rowTitle}\r\n \r\n \r\n )}\r\n \r\n \r\n {valueTitle}\r\n \r\n \r\n {isMonthly(recurrenceType) && renderMonthlyData(monthlyRecurrenceType, selectedWeeks, selectedDays)}\r\n {timeSlotsPackage.timeSlots.map(slot => (\r\n \r\n {startEndTimeDisplay(slot.from, slot.to)}\r\n
    \r\n
    {slot.name}
    \r\n
    \r\n
    \r\n ))}\r\n \r\n ) : (\r\n \r\n );\r\n}\r\n\r\nfunction SpecificTimeTreatmentDataTable({\r\n rowTitle,\r\n valueTitle,\r\n cssStyle,\r\n specificStartTime,\r\n selectedDays,\r\n monthlyRecurrenceType,\r\n selectedWeeks,\r\n recurrenceType,\r\n}) {\r\n return specificStartTime ? (\r\n \r\n \r\n \r\n {rowTitle}\r\n \r\n \r\n \r\n \r\n {valueTitle}\r\n \r\n \r\n \r\n {specificStartTime &&

    Selected Start Time: {specificStartTime}

    }\r\n
    \r\n \r\n {selectedDays && !isMonthly(recurrenceType) &&

    Selected Days: {selectedDays}

    }\r\n
    \r\n {isMonthly(recurrenceType) && renderMonthlyData(monthlyRecurrenceType, selectedWeeks, selectedDays)}\r\n
    \r\n ) : (\r\n \r\n );\r\n}\r\n\r\nexport default function SubRowTreatmentTimeSlotsDataTable({ timeSlotDetails }) {\r\n const isOldAndNewRecurrenceTypeWeekly =\r\n isWeekly(timeSlotDetails.oldRecurrenceType) && isWeekly(timeSlotDetails.newRecurrenceType);\r\n\r\n const getTreatmentsDayOfWeek = (treatmentDayOfWeek, day) => {\r\n if (isOldAndNewRecurrenceTypeWeekly) {\r\n return treatmentDayOfWeek.includes(day) ? daysOfWeekArray[day] : null;\r\n }\r\n\r\n return daysOfWeekArray[treatmentDayOfWeek[day]];\r\n };\r\n\r\n const renderTimeSlotsTable = (day, oldTreatmentDaysOfWeek, newTreatmentDaysOfWeek) => {\r\n const oldRecurrenceType = timeSlotDetails.oldRecurrenceType;\r\n const newRecurrenceType = timeSlotDetails.newRecurrenceType;\r\n\r\n const oldTimeSlotsMatrix =\r\n timeSlotDetails.oldTimeSlotsMatrix[isOldAndNewRecurrenceTypeWeekly ? day : oldTreatmentDaysOfWeek[day]];\r\n const newTimeSlotsMatrix =\r\n timeSlotDetails.newTimeSlotsMatrix[isOldAndNewRecurrenceTypeWeekly ? day : newTreatmentDaysOfWeek[day]];\r\n\r\n const oldTimeSlotsPackage = timeSlotDetails.oldTimeSlotsPackage;\r\n const newTimeSlotsPackage = timeSlotDetails.newTimeSlotsPackage;\r\n\r\n const oldTreatmentRecurrence = isWeekly(oldRecurrenceType)\r\n ? getTreatmentsDayOfWeek(oldTreatmentDaysOfWeek, day)\r\n : [oldRecurrenceType];\r\n const newTreatmentRecurrence = isWeekly(newRecurrenceType)\r\n ? getTreatmentsDayOfWeek(newTreatmentDaysOfWeek, day)\r\n : [newRecurrenceType];\r\n\r\n const rowTitle = oldTreatmentRecurrence || newTreatmentRecurrence;\r\n const hasNotChanged =\r\n oldRecurrenceType === newRecurrenceType &&\r\n hasSameTimeSlots(oldTimeSlotsMatrix, newTimeSlotsMatrix) &&\r\n oldTreatmentDaysOfWeek.includes(day) === newTreatmentDaysOfWeek.includes(day) &&\r\n timeSlotDetails.oldMonthlyRecurrenceType === timeSlotDetails.newMonthlyRecurrenceType &&\r\n timeSlotDetails.oldSelectedWeeks === timeSlotDetails.newSelectedWeeks &&\r\n (oldTimeSlotsPackage != null && oldTimeSlotsPackage.id) ===\r\n (newTimeSlotsPackage != null && newTimeSlotsPackage.id);\r\n if (hasNotChanged) {\r\n return (\r\n \r\n \r\n \r\n {oldTreatmentRecurrence}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {isOldAndNewRecurrenceTypeWeekly && (\r\n \r\n \r\n {rowTitle}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const renderSpecificTimeTable = () => {\r\n const oldRecurrenceType = timeSlotDetails.oldRecurrenceType;\r\n const newRecurrenceType = timeSlotDetails.newRecurrenceType;\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const renderTable = () => {\r\n if (timeSlotDetails.newSpecificStartTime) {\r\n return renderSpecificTimeTable();\r\n }\r\n const oldTreatmentDaysOfWeek = Object.keys(timeSlotDetails.oldTimeSlotsMatrix);\r\n const newTreatmentDaysOfWeek = Object.keys(timeSlotDetails.newTimeSlotsMatrix);\r\n\r\n const treatmentsSelectedDays = isOldAndNewRecurrenceTypeWeekly\r\n ? [...new Set([...oldTreatmentDaysOfWeek, ...newTreatmentDaysOfWeek])].sort((a, b) => a - b)\r\n : oldTreatmentDaysOfWeek.length > newTreatmentDaysOfWeek.length\r\n ? Array.from({ length: oldTreatmentDaysOfWeek.length }, (v, i) => i)\r\n : Array.from({ length: newTreatmentDaysOfWeek.length }, (v, i) => i);\r\n\r\n return treatmentsSelectedDays.map(day => renderTimeSlotsTable(day, oldTreatmentDaysOfWeek, newTreatmentDaysOfWeek));\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {renderTable()}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport moment from 'moment';\r\nimport { Typography } from '@material-ui/core';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { lowerFirstLetter } from '../../../utils/helpers';\r\n\r\nconst locale = globals.getArea('audit');\r\nconst eventTypeLocale = globals.getArea('eventType');\r\nexport const tableSettings = () => {\r\n return {\r\n name: {locale.getMsg('auditTrail')},\r\n columns: [\r\n {\r\n name: 'eventType',\r\n label: locale.getMsg('auditEventType'),\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({\r\n style: { minWidth: 200 },\r\n }),\r\n customBodyRender: value => {\r\n return eventTypeLocale.getMsg(lowerFirstLetter(value));\r\n },\r\n },\r\n },\r\n {\r\n name: 'userLogin',\r\n label: locale.getMsg('user'),\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({\r\n style: { minWidth: 200 },\r\n }),\r\n },\r\n },\r\n {\r\n name: 'createdDate',\r\n label: locale.getMsg('dateTime'),\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({\r\n style: { minWidth: 200 },\r\n }),\r\n customBodyRender: value => {moment(value).format(globals.dateFormats.shortWithTime)},\r\n },\r\n },\r\n ],\r\n options: {\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n print: true,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n pagination: false,\r\n },\r\n };\r\n};\r\n","import React from 'react';\r\nimport moment from 'moment';\r\nimport { Typography } from '@material-ui/core';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport SubRowTreatmentTimeSlotsDataTable from './SubRowTreatmentTimeSlotsDataTable';\r\nimport { lowerFirstLetter } from '../../../utils/helpers';\r\n\r\nconst locale = globals.getArea('audit');\r\nconst eventTypeLocale = globals.getArea('eventType');\r\nconst eventTypeChangesLocale = globals.getArea('eventTypeChanges');\r\nexport const treatmentTableSettings = data => {\r\n return {\r\n name: {locale.getMsg('auditTrail')},\r\n columns: [\r\n {\r\n name: 'eventType',\r\n label: locale.getMsg('auditEventType'),\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({\r\n style: { minWidth: 200 },\r\n }),\r\n customBodyRender: value => {\r\n return eventTypeLocale.getMsg(lowerFirstLetter(value));\r\n },\r\n },\r\n },\r\n {\r\n name: 'userLogin',\r\n label: locale.getMsg('user'),\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({\r\n style: { minWidth: 200 },\r\n }),\r\n },\r\n },\r\n {\r\n name: 'createdDate',\r\n label: locale.getMsg('date'),\r\n options: {\r\n sort: false,\r\n customBodyRender: value => moment(value).format(globals.dateFormats.short),\r\n },\r\n },\r\n {\r\n name: 'createdDate',\r\n label: locale.getMsg('time'),\r\n options: {\r\n sort: false,\r\n customBodyRender: value => moment(value).format(globals.timeFormats.hours24),\r\n },\r\n },\r\n {\r\n name: 'eventType',\r\n label: locale.getMsg('changes'),\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({\r\n style: { minWidth: 200 },\r\n }),\r\n customBodyRender: value => {\r\n return eventTypeChangesLocale.getMsg(lowerFirstLetter(`${value}Changes`));\r\n },\r\n },\r\n },\r\n {\r\n name: 'originalValue',\r\n label: locale.getMsg('originalValues'),\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({\r\n style: { minWidth: 200 },\r\n }),\r\n },\r\n },\r\n {\r\n name: 'newValue',\r\n label: locale.getMsg('newValues'),\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({\r\n style: { minWidth: 200 },\r\n }),\r\n },\r\n },\r\n ],\r\n options: {\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n print: true,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n pagination: false,\r\n expandableRowsHeader: false,\r\n expandableRows: true,\r\n isRowExpandable: dataIndex => {\r\n return data && data[dataIndex].eventType === 'TreatmentTimeUpdatedEvent';\r\n },\r\n renderExpandableRow: (rowData, rowMeta) => {\r\n return (\r\n \r\n );\r\n },\r\n },\r\n };\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\r\n\r\nconst icon = ;\r\nconst checkedIcon = ;\r\n\r\nexport default function AutocompleteWrapper({\r\n fieldKey,\r\n data,\r\n placeholder,\r\n onChange,\r\n defaultValue,\r\n style,\r\n isMultiple = false,\r\n fullWidth = false,\r\n limitTags = -1,\r\n disabled = false,\r\n isCheckbox = false,\r\n maxOptionToLoadAtTime = 15,\r\n size = 'medium',\r\n}) {\r\n const useStyles = makeStyles(() => ({\r\n inputRoot: {\r\n paddingRight: 0,\r\n overflow: 'hidden',\r\n '& div': {\r\n maxHeight: style ? style.maxHeight : null,\r\n },\r\n },\r\n }));\r\n\r\n const classes = useStyles();\r\n\r\n const [isScrollBottom, setIsScrollBottom] = useState(false);\r\n const [filteredListState, setFilteredListState] = useState({ index: 1, filteredList: null, listIsOpen: false });\r\n\r\n const loadedAllData = () => data.length <= maxOptionToLoadAtTime * filteredListState.index;\r\n\r\n const increaseListSize = () => {\r\n setFilteredListState({\r\n ...filteredListState,\r\n index: filteredListState.index + 1,\r\n filteredList: data.slice(0, maxOptionToLoadAtTime * (filteredListState.index + 1)),\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (isScrollBottom) {\r\n increaseListSize();\r\n }\r\n }, [isScrollBottom]);\r\n\r\n function handleChange(event, values) {\r\n onChange(fieldKey, values);\r\n }\r\n\r\n const nearBottom = (target = {}) => {\r\n return target.scrollHeight - target.scrollTop <= target.clientHeight + 50;\r\n };\r\n\r\n const isDisabled = !filteredListState.listIsOpen || loadedAllData();\r\n\r\n return (\r\n option.name}\r\n onChange={handleChange}\r\n limitTags={limitTags}\r\n multiple={isMultiple}\r\n value={defaultValue}\r\n disabled={disabled}\r\n forcePopupIcon={false}\r\n size={size}\r\n onClose={() =>\r\n setFilteredListState({\r\n ...filteredListState,\r\n index: 1,\r\n filteredList: null,\r\n listIsOpen: false,\r\n })\r\n }\r\n onOpen={() => {\r\n setFilteredListState({\r\n ...filteredListState,\r\n listIsOpen: true,\r\n });\r\n }}\r\n ListboxProps={{\r\n onScroll: ({ target }) => setIsScrollBottom(nearBottom(target)),\r\n }}\r\n filterOptions={(options, { inputValue }) => {\r\n if (inputValue === '' || inputValue.length < 3) return filteredListState.filteredList || options;\r\n return data.filter(x => x.name.toLowerCase().startsWith(inputValue.toLowerCase()));\r\n }}\r\n getOptionSelected={(option, value) => option.id === value.id}\r\n disableCloseOnSelect={isMultiple}\r\n renderOption={(option, { selected }) => (\r\n \r\n {isCheckbox && (\r\n \r\n )}\r\n {option.name}\r\n \r\n )}\r\n renderInput={params => (\r\n \r\n \r\n \r\n ) : (\r\n \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 React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { capitalFirstLetter } from '../../../utils/helpers';\r\n\r\nconst TODAY = globals.now;\r\n\r\nclass Calendar extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n currentMonth: moment(this.props.selectedDate),\r\n };\r\n this.styles = {\r\n current: { borderColor: '#4dc3f9' },\r\n selected: { backgroundColor: '#4dc3f9' },\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if (!moment(this.props.selectedDate).isSame(nextProps.selectedDate, 'month')) {\r\n this.setState({\r\n currentMonth: moment(nextProps.selectedDate),\r\n });\r\n }\r\n }\r\n\r\n nextMonth = () => {\r\n this.setState({\r\n currentMonth: this.state.currentMonth.add(1, 'month'),\r\n });\r\n };\r\n\r\n previousMonth = () => {\r\n this.setState({\r\n currentMonth: this.state.currentMonth.subtract(1, 'month'),\r\n });\r\n };\r\n\r\n pickDate = e => {\r\n this.props.changeDate(e.target.dataset.date);\r\n };\r\n\r\n renderDays = month => {\r\n const iteratorDate = moment(month).startOf('month');\r\n const offset = iteratorDate.day() - 1 < 0 ? 6 : iteratorDate.day() - 1;\r\n\r\n iteratorDate.subtract(offset + 1, 'days');\r\n const days = [];\r\n for (let i = 0; i < 42; i += 1) {\r\n iteratorDate.add(1, 'day');\r\n const isToday = iteratorDate.isSame(TODAY, 'day');\r\n const isInCurrentMonth = iteratorDate.isSame(month, 'month');\r\n const isSelected = iteratorDate.isSame(this.props.selectedDate, 'day');\r\n\r\n days.push(\r\n
    \r\n {isToday &&
    }\r\n {isSelected &&
    }\r\n \r\n
    ,\r\n );\r\n }\r\n return days;\r\n };\r\n\r\n render() {\r\n const currentMonth = this.state.currentMonth;\r\n const daysHeader = globals.weekdayNames.map(el => (\r\n

    \r\n {el}\r\n

    \r\n ));\r\n const daysShown = this.renderDays(currentMonth);\r\n const monthDisplayName = capitalFirstLetter(currentMonth.format('MMMM'));\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {daysHeader}\r\n
    {daysShown}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nCalendar.propTypes = {\r\n changeDate: PropTypes.func,\r\n selectedDate: PropTypes.string.isRequired,\r\n};\r\n\r\nCalendar.defaultProps = {\r\n changeDate: () => {},\r\n};\r\n\r\nexport default Calendar;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Dialog from 'material-ui/Dialog';\r\nimport FlatButton from 'material-ui/FlatButton';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\n\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('userActions');\r\n\r\nclass ConfirmationDialog extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.confirmationActions = [\r\n ,\r\n ,\r\n ];\r\n }\r\n handleCancel = () => {\r\n this.props.handleCancel();\r\n };\r\n\r\n handleConfirm = () => {\r\n this.props.handleConfirm();\r\n };\r\n\r\n open = () => {\r\n this.setState({\r\n isShown: true,\r\n });\r\n };\r\n\r\n mainAction = () => {};\r\n\r\n render() {\r\n const open = this.props.open;\r\n let confirmationActions = [];\r\n if (this.props.isInformational) {\r\n confirmationActions.push();\r\n } else {\r\n confirmationActions = this.confirmationActions;\r\n }\r\n\r\n return (\r\n \r\n {this.props.text}\r\n \r\n );\r\n }\r\n}\r\n\r\nConfirmationDialog.defaultProps = {\r\n isInformational: false,\r\n handleConfirm: () => {},\r\n};\r\n\r\nConfirmationDialog.propTypes = {\r\n open: PropTypes.bool.isRequired,\r\n handleCancel: PropTypes.func.isRequired,\r\n handleConfirm: PropTypes.func,\r\n title: PropTypes.string.isRequired,\r\n text: PropTypes.string.isRequired,\r\n isInformational: PropTypes.bool,\r\n};\r\n\r\nexport default ConfirmationDialog;\r\n","import React from 'react';\r\nimport { Tooltip, CircularProgress, IconButton } from '@material-ui/core';\r\nimport AddCircleIcon from '@material-ui/icons/AddCircle';\r\nimport RefreshIcon from '@material-ui/icons/Refresh';\r\nimport SaveIcon from '@material-ui/icons/Save';\r\nimport AddCircleOutlineIcon from '@material-ui/icons/AddCircleOutline';\r\n\r\nexport default function CustomToolbar({ eventHandlers, isTableDataLoading, hideActionButtons }) {\r\n hideActionButtons = hideActionButtons || false;\r\n const hasAddEvent = eventHandlers.handleSidePanel && typeof eventHandlers.handleSidePanel === 'function';\r\n const hasUpdateEvent = eventHandlers.handleUpdateEvent && typeof eventHandlers.handleUpdateEvent === 'function';\r\n const hasImportEvent = eventHandlers.handleImportEvent && typeof eventHandlers.handleImportEvent === 'function';\r\n return (\r\n \r\n {!hideActionButtons && hasAddEvent && (\r\n
    \r\n eventHandlers.handleSidePanel(true)}>\r\n {eventHandlers.addButtonText}\r\n \r\n
    \r\n )}\r\n {!hideActionButtons && hasUpdateEvent && (\r\n
    \r\n eventHandlers.handleUpdateEvent()}>\r\n {eventHandlers.updateButtonText}\r\n \r\n
    \r\n )}\r\n {!hideActionButtons && hasImportEvent && (\r\n
    \r\n eventHandlers.handleImportEvent(true)}>\r\n {eventHandlers.importButtonText}\r\n \r\n
    \r\n )}\r\n {isTableDataLoading && (\r\n \r\n \r\n \r\n )}\r\n {!isTableDataLoading && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport { IconButton } from '@material-ui/core';\r\nimport Typography from '@material-ui/core/Typography';\r\n\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { capitalFirstLetter } from '../../../utils/helpers';\r\n\r\nclass DateSelector extends React.Component {\r\n nextDate = () => {\r\n const date = moment(this.props.selectedDate)\r\n .add(1, 'days')\r\n .format(globals.dateFormats.date);\r\n\r\n this.refreshScheduler(date);\r\n };\r\n\r\n previousDate = () => {\r\n const date = moment(this.props.selectedDate)\r\n .subtract(1, 'days')\r\n .format(globals.dateFormats.date);\r\n\r\n this.refreshScheduler(date);\r\n };\r\n\r\n refreshScheduler = date => this.props.changeDate(date, this.props.currentPath);\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {capitalFirstLetter(moment(this.props.selectedDate).format(globals.dateFormats.withWeekday))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nDateSelector.propTypes = {\r\n selectedDate: PropTypes.string.isRequired,\r\n changeDate: PropTypes.func.isRequired,\r\n currentPath: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default DateSelector;\r\n","import React from 'react';\r\nimport { Snackbar } from '@material-ui/core';\r\nimport { ThemeProvider } from '@material-ui/styles';\r\nimport { createMuiTheme, withStyles } from '@material-ui/core/styles';\r\nimport Badge from '@material-ui/core/Badge';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport ClearAllIcon from '@material-ui/icons/ClearAll';\r\n\r\nconst customTheme = createMuiTheme({\r\n typography: {\r\n useNextVariants: true,\r\n },\r\n overrides: {\r\n MuiSnackbar: {\r\n root: {\r\n minWidth: '600px !important',\r\n },\r\n },\r\n MuiSnackbarContent: {\r\n root: {\r\n minWidth: '600px !important',\r\n padding: '8px 16px !important',\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst StyledBadge = withStyles(() => ({\r\n badge: {\r\n backgroundColor: '#ff5731',\r\n color: 'white',\r\n width: '22px',\r\n height: '22px',\r\n fontSize: '14px',\r\n fontWeight: 300,\r\n top: '-1px',\r\n borderRight: '1px solid #808080',\r\n position: 'relative',\r\n transform: 'none',\r\n },\r\n}))(Badge);\r\n\r\nexport default function DockerPanel({ children, count, onCancel, onSelectAll }) {\r\n const [state, setState] = React.useState({\r\n open: true,\r\n vertical: 'bottom',\r\n horizontal: 'center',\r\n });\r\n const { vertical, horizontal, open } = state;\r\n const handleClose = () => {\r\n setState({ ...state, open: false });\r\n onCancel();\r\n };\r\n\r\n return (\r\n \r\n \r\n {' '}\r\n Selected\r\n \r\n \r\n Select All\r\n \r\n \r\n }\r\n anchorOrigin={{ vertical, horizontal }}\r\n open={open}\r\n key={vertical + horizontal}\r\n action={\r\n \r\n {children}\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 React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { refSetter } from '../../../utils/helpers';\r\n\r\nclass DropdownWrapper extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isOpen: false,\r\n label: props.label,\r\n };\r\n }\r\n\r\n componentWillReceiveProps = nextProps => {\r\n if (this.props.externalLabel) {\r\n this.setState({ label: nextProps.label });\r\n }\r\n };\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n setLabel = name => {\r\n this.setState({ label: name });\r\n };\r\n\r\n getDropdownContentStyle = () => ({ display: this.state.isOpen ? 'block' : 'none' });\r\n\r\n close = () => {\r\n this.setState({ isOpen: false });\r\n document.removeEventListener('click', this.hide);\r\n };\r\n\r\n show = () => {\r\n if (this.props.disabled) {\r\n return;\r\n }\r\n\r\n this.setState({ isOpen: true });\r\n document.addEventListener('click', this.hide);\r\n };\r\n\r\n hide = e => {\r\n e.stopPropagation();\r\n if (\r\n this.dropdownContent &&\r\n (!this.dropdownContent.contains(e.target) &&\r\n // For some reason, the browser sometimes thinks the node doesn't exists inside the document,\r\n // (odd result means \"the two nodes do not belong to the same document\")\r\n // despite it being right there...\r\n this.dropdownContent.compareDocumentPosition(e.target) % 2 === 0)\r\n ) {\r\n this.close();\r\n }\r\n };\r\n\r\n render() {\r\n const { contentDirection, children, disabled } = this.props;\r\n const { isOpen, label } = this.state;\r\n\r\n const childrenWithProps = React.Children.map(children, child => {\r\n if (typeof child.type === 'function') {\r\n return React.cloneElement(child, {\r\n setLabel: this.setLabel,\r\n close: this.close,\r\n });\r\n }\r\n return child;\r\n });\r\n\r\n return (\r\n
    \r\n \r\n \r\n {childrenWithProps}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nDropdownWrapper.defaultProps = {\r\n label: '',\r\n contentDirection: 'left',\r\n maxWidth: null,\r\n externalLabel: false,\r\n disabled: false,\r\n};\r\n\r\nDropdownWrapper.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n label: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\r\n disabled: PropTypes.bool,\r\n contentDirection: PropTypes.string,\r\n externalLabel: PropTypes.bool,\r\n};\r\n\r\nexport default DropdownWrapper;\r\n","import DatePicker from 'material-ui/DatePicker';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nclass DatePickerWrapper extends DatePicker {\r\n // Override the internal DatePicker logic to use globals date instead\r\n openDialog = () => {\r\n if (this.state.date !== undefined) {\r\n this.setState(\r\n {\r\n dialogDate: this.getDate(),\r\n },\r\n this.refs.dialogWindow.show,\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n dialogDate: globals.now.startOf('day').toDate(),\r\n },\r\n this.refs.dialogWindow.show,\r\n );\r\n }\r\n };\r\n}\r\n\r\nexport default DatePickerWrapper;\r\n","import React from 'react';\r\nimport { FormsyDate } from 'formsy-material-ui/lib';\r\nimport moment from 'moment';\r\nimport DatePickerWrapper from './DatePickerWrapper';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst clearIconStyle = {\r\n // fontSize: '2.2rem',\r\n cursor: 'pointer',\r\n position: 'absolute',\r\n left: '-30px',\r\n top: '12px',\r\n};\r\nconst buttonStyle = { position: 'absolute', width: '0', top: 0, right: 0 };\r\n\r\nclass ClearableFormsyDate extends FormsyDate {\r\n getRequiredError = () => {\r\n const { isRequired, isPristine, isValid, isFormSubmitted } = this;\r\n return isRequired() && !isPristine() && !isValid() && isFormSubmitted() ? this.props.requiredError : null;\r\n };\r\n handleDateClear = () => {\r\n this.setValue(undefined);\r\n this.handleChange();\r\n };\r\n formatDate = date => moment(date).format(globals.dateFormats.short);\r\n render() {\r\n const {\r\n defaultDate,\r\n validations,\r\n validationErrors,\r\n validationError,\r\n requiredError,\r\n className,\r\n disabled,\r\n disableClear = false,\r\n minDate = moment()\r\n .subtract(150, 'year')\r\n .toDate(),\r\n maxDate = moment()\r\n .add(100, 'year')\r\n .toDate(),\r\n ...rest\r\n } = this.props;\r\n const value = this.getValue();\r\n const isDisabled = this.isFormDisabled() || disabled;\r\n const errorText = this.getErrorMessage() || this.getRequiredError();\r\n return (\r\n
    \r\n \r\n {!isDisabled && !disableClear && value && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ClearableFormsyDate;\r\n","import { HOC } from 'formsy-react';\r\nimport TextField from 'material-ui/TextField';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { insertSpaces } from '../../../utils/helpers';\r\n\r\nconst locale = globals.getArea('error');\r\nconst styles = {\r\n error: { bottom: 4, fontSize: '11px' },\r\n};\r\nclass FormsyNHS extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.setValidator(props);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n this.setValidator(nextProps);\r\n }\r\n\r\n setValidator = props => {\r\n props.setValidations(this.validations, props.required);\r\n };\r\n\r\n validations = {\r\n length: (values, value = '') =>\r\n typeof value === 'undefined' || value.length <= 0 || value.length === 10\r\n ? true\r\n : locale.getMsg('nhsIncorrectLength'),\r\n checksum: (values, value = '') => {\r\n if (typeof value === 'undefined' || value.length <= 0) {\r\n return true;\r\n }\r\n const invalidMessage = locale.getMsg('nhsInvalid');\r\n const digitsArray = value.split('').map(digit => parseInt(digit, 10));\r\n\r\n if (!this.isValidNhsNumber(digitsArray)) {\r\n const lastDigit = this.calculateLastDigit(digitsArray);\r\n if (\r\n this.isCheckDigitCorrect(lastDigit, digitsArray) &&\r\n (this.isValidChiNumberDate(value) || this.isValidHncNumber(value))\r\n ) {\r\n return true;\r\n }\r\n return invalidMessage;\r\n }\r\n\r\n return true;\r\n },\r\n };\r\n\r\n isValidDate = dateNumber => {\r\n const dateString = dateNumber.toString();\r\n const day = parseInt(dateString.substring(0, 2), 10);\r\n const month = parseInt(dateString.substring(2, 4), 10);\r\n const year = parseInt(`${dateString.substring(4, 6)}`, 10);\r\n\r\n const value = moment([year, month, day]);\r\n return value.isValid();\r\n };\r\n\r\n isValidNhsNumber = digitsArray => {\r\n const multiplicationSum = digitsArray.reduce(\r\n (prevValue, currentValue, index) => (index < 9 ? prevValue + currentValue * (10 - index) : prevValue),\r\n 0,\r\n );\r\n\r\n const remainder = multiplicationSum % 11;\r\n const checkDigit = 11 - remainder;\r\n\r\n return this.isCheckDigitCorrect(checkDigit, digitsArray);\r\n };\r\n\r\n isValidChiNumberDate = value => {\r\n const dateNumber = value.substring(0, 6);\r\n return this.isValidDate(dateNumber);\r\n };\r\n\r\n isValidHncNumber = value => {\r\n const parse = parseInt(value, 10) / 10;\r\n return parse <= 399999999 && parse <= 320000001;\r\n };\r\n\r\n calculateLastDigit = digitsArray => {\r\n let lastDigit = 0;\r\n let position = 1;\r\n\r\n const digits = digitsArray.slice(0, -1);\r\n digits.forEach(digit => {\r\n lastDigit += digit * position;\r\n position += 1;\r\n });\r\n lastDigit %= 11;\r\n\r\n return lastDigit;\r\n };\r\n\r\n isCheckDigitCorrect = (checkDigit, digitsArray) => {\r\n if (checkDigit === 11) {\r\n checkDigit = 0;\r\n }\r\n\r\n return checkDigit === digitsArray[9];\r\n };\r\n\r\n handleChange = (event, newValue) => {\r\n let newValueTrimmed = newValue.replace(/[^0-9]+/g, '');\r\n const currentValue = this.props.getValue() || '';\r\n if (newValueTrimmed.length < currentValue.length) {\r\n if (newValueTrimmed.length !== currentValue.length - 1) {\r\n newValueTrimmed = currentValue.slice(0, newValueTrimmed.length);\r\n } else {\r\n newValueTrimmed = currentValue.slice(0, currentValue.length - 1);\r\n }\r\n }\r\n newValueTrimmed = newValueTrimmed.slice(0, 10);\r\n this.props.setValue(newValueTrimmed.length <= 0 ? undefined : newValueTrimmed);\r\n };\r\n\r\n formatVisibleInput = (input = '') => {\r\n let formattedInput = input.slice();\r\n if (input.length > 0) {\r\n if (input.length > 6) {\r\n if (input.charAt(6) !== ' ') {\r\n formattedInput = insertSpaces(formattedInput, 6);\r\n }\r\n if (input.charAt(3) !== ' ') {\r\n formattedInput = insertSpaces(formattedInput, 3);\r\n }\r\n } else if (input.length > 3) {\r\n if (input.charAt(3) !== ' ') {\r\n formattedInput = insertSpaces(formattedInput, 3);\r\n }\r\n }\r\n }\r\n return formattedInput;\r\n };\r\n\r\n render() {\r\n const {\r\n getErrorMessage,\r\n getValue,\r\n setValidations,\r\n setValue,\r\n value,\r\n resetValue,\r\n hasValue,\r\n getErrorMessages,\r\n isFormDisabled,\r\n isValid,\r\n isPristine,\r\n isFormSubmitted,\r\n isRequired,\r\n showRequired,\r\n showError,\r\n isValidValue,\r\n validationColor,\r\n validationError,\r\n validationErrors,\r\n ...restOfProps\r\n } = this.props;\r\n const currentValue = getValue();\r\n const visibleInput = this.formatVisibleInput(currentValue);\r\n const shouldShowError = typeof currentValue !== 'undefined' && !this.props.isPristine();\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nFormsyNHS.defaultProps = {\r\n required: false,\r\n validationError: '',\r\n validationColor: '',\r\n validationErrors: {},\r\n value: undefined,\r\n};\r\n\r\nFormsyNHS.propTypes = {\r\n setValue: PropTypes.func.isRequired,\r\n getValue: PropTypes.func.isRequired,\r\n setValidations: PropTypes.func.isRequired,\r\n required: PropTypes.bool,\r\n getErrorMessage: PropTypes.func.isRequired,\r\n isPristine: PropTypes.func.isRequired,\r\n resetValue: PropTypes.func.isRequired,\r\n hasValue: PropTypes.func.isRequired,\r\n getErrorMessages: PropTypes.func.isRequired,\r\n isFormDisabled: PropTypes.func.isRequired,\r\n isValid: PropTypes.func.isRequired,\r\n isFormSubmitted: PropTypes.func.isRequired,\r\n isRequired: PropTypes.func.isRequired,\r\n showRequired: PropTypes.func.isRequired,\r\n showError: PropTypes.func.isRequired,\r\n isValidValue: PropTypes.func.isRequired,\r\n validationColor: PropTypes.string,\r\n validationError: PropTypes.string,\r\n validationErrors: PropTypes.objectOf(PropTypes.string),\r\n value: PropTypes.string,\r\n};\r\n\r\nexport default HOC(FormsyNHS);\r\n","import React from 'react';\r\nimport { FormsyTime } from 'formsy-material-ui/lib';\r\nimport TimePicker from './TimePickerWrapper';\r\n\r\nconst styles = {\r\n timePickerIcon: { position: 'relative', width: '0!important' },\r\n timePicker: { display: 'flex', flexDirection: 'row', width: 'auto' },\r\n clearIcon: {\r\n // fontSize: '2.2rem',\r\n cursor: 'pointer',\r\n position: 'absolute',\r\n left: '-37px',\r\n top: '17px',\r\n },\r\n};\r\n\r\nclass ClearableFormsyTime extends FormsyTime {\r\n getRequiredError = () => {\r\n const { isRequired, isPristine, isValid, isFormSubmitted } = this;\r\n\r\n return isRequired() && !isPristine() && !isValid() && isFormSubmitted() ? this.props.requiredError : null;\r\n };\r\n\r\n handleTimeClear = () => {\r\n this.setValue(undefined);\r\n if (this.props.onChange) {\r\n this.props.onChange(undefined);\r\n }\r\n };\r\n render() {\r\n const {\r\n defaultTime,\r\n validations,\r\n validationError,\r\n validationErrors,\r\n className,\r\n disabled,\r\n requiredError,\r\n disableClear = false,\r\n ...rest\r\n } = this.props;\r\n const value = this.getValue();\r\n const isDisabled = this.isFormDisabled() || disabled;\r\n const errorText = this.getErrorMessage() || this.getRequiredError();\r\n return (\r\n
    \r\n \r\n {!isDisabled && !disableClear && value && (\r\n
    \r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ClearableFormsyTime;\r\n","import TimePicker from 'material-ui/TimePicker';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nclass TimePickerWrapper extends TimePicker {\r\n openDialog() {\r\n const { time } = this.state;\r\n this.setState({\r\n dialogTime: time || globals.now.toDate(),\r\n });\r\n this.refs.dialogWindow.show();\r\n }\r\n}\r\n\r\nexport default TimePickerWrapper;\r\n","export { default as FormsyTime } from './FormsyTime';\r\nexport { default as FormsyDate } from './FormsyDate';\r\nexport { default as FormsyNHS } from './FormsyNHS';\r\n","import { useSelector } from 'react-redux';\r\nimport { useMemo } from 'react';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { ExternalProviderType } from '../../../enums';\r\n\r\nconst TreatmentImportStatusCheck = treatment => {\r\n const faList = useSelector(store => store.global.auth.featureAccessList);\r\n const externalProviderType = useSelector(store => store.global.auth.externalProviderType);\r\n\r\n const enableIntegrationMode = useMemo(\r\n () => checkFeatureAccess(faList, globals.applicationFeatureAccesses.enableIntegrationMode),\r\n [faList],\r\n );\r\n\r\n const isImportedFromSystmOne = useMemo(\r\n () => enableIntegrationMode && treatment.isImported && externalProviderType === ExternalProviderType.SystmOne,\r\n [enableIntegrationMode, treatment.isImported, externalProviderType],\r\n );\r\n\r\n return isImportedFromSystmOne;\r\n};\r\n\r\nexport default TreatmentImportStatusCheck;\r\n","import React from 'react';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\r\nimport { common } from '../../../theme/AllocateBaseTheme';\r\n\r\nexport default function KeyboardDateSelector({\r\n required = false,\r\n disabled = false,\r\n errorProps,\r\n className = 'date-picker',\r\n ...rest\r\n}) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport { MuiPickersUtilsProvider, KeyboardTimePicker } from '@material-ui/pickers';\r\nimport { common } from '../../../theme/AllocateBaseTheme';\r\n\r\nexport default function KeyboardTimeSelector({ required = false, disabled = false, errorProps, ...rest }) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { Dialog, DialogContent, CircularProgress } from '@material-ui/core';\r\n\r\nexport default function BlockingLoader({ children }) {\r\n return (\r\n \r\n \r\n
    {children}
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n","/* eslint-disable import/no-unresolved */\r\n/* eslint-disable import/extensions */\r\n/* eslint-disable react/no-unused-prop-types */\r\nimport React from 'react';\r\n\r\nimport LinearProgress from '@material-ui/core/LinearProgress';\r\nimport HeaderNew from '../../PageStructure/Header/HeaderNew';\r\n\r\nexport default function LoadingPageText({ showHeader, children }) {\r\n const [completed, setCompleted] = React.useState(0);\r\n\r\n React.useEffect(() => {\r\n function progress() {\r\n setCompleted(oldCompleted => {\r\n if (oldCompleted === 100) {\r\n return 0;\r\n }\r\n const diff = Math.random() * 10;\r\n return Math.min(oldCompleted + diff, 100);\r\n });\r\n }\r\n\r\n const timer = setInterval(progress, 400);\r\n return () => {\r\n clearInterval(timer);\r\n };\r\n }, []);\r\n\r\n return (\r\n \r\n {showHeader && }\r\n \r\n
    {children}
    \r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\nimport Snackbar from '@material-ui/core/Snackbar';\r\n\r\nexport default function NonBlockingLoader({ open, message, autohideDuration, closeSnackbar }) {\r\n const onClose = closeSnackbar || null;\r\n const isOpen = open !== undefined ? open : true;\r\n return (\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport DayPicker from 'react-day-picker';\r\nimport 'react-day-picker/lib/style.css';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { parseDateUtc } from '../../../utils/dates';\r\nimport YearMonthForm from './YearMonthForm';\r\n\r\nclass CommunityDatePicker extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedDay: this.props.selectedDate ? parseDateUtc(this.props.selectedDate) : parseDateUtc(new Date()),\r\n monthSelected: this.props.selectedDate\r\n ? parseDateUtc(this.props.selectedDate).month()\r\n : parseDateUtc(new Date()).month(),\r\n yearSelected: this.props.selectedDate\r\n ? parseDateUtc(this.props.selectedDate).year()\r\n : parseDateUtc(new Date()).year(),\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener('mousedown', this.handleClickOutside);\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('mousedown', this.handleClickOutside);\r\n }\r\n setWrapperRef = node => {\r\n this.wrapperRef = node;\r\n };\r\n handleTodayClick = () => {\r\n this.setState({\r\n selectedDay: parseDateUtc(new Date()),\r\n monthSelected: parseDateUtc(new Date()).month(),\r\n yearSelected: parseDateUtc(new Date()).year(),\r\n });\r\n const newSelectedDate = parseDateUtc(new Date()).format(globals.dateFormats.date);\r\n this.props.changeDate(newSelectedDate, this.props.currentPath);\r\n this.props.close();\r\n };\r\n\r\n handleMonthChange = e => {\r\n const month = e.target.value;\r\n this.setState({\r\n monthSelected: Number(month),\r\n });\r\n };\r\n\r\n handleYearChange = e => {\r\n const year = e.target.value;\r\n this.setState({\r\n yearSelected: Number(year),\r\n });\r\n };\r\n\r\n toggleMonths = e => {\r\n this.setState({\r\n monthSelected: e.getMonth(),\r\n yearSelected: e.getFullYear(),\r\n });\r\n };\r\n\r\n handleDayClick = day => {\r\n this.setState({\r\n selectedDay: parseDateUtc(day),\r\n });\r\n const newSelectedDate = parseDateUtc(day).format(globals.dateFormats.date);\r\n this.props.changeDate(newSelectedDate, this.props.currentPath);\r\n this.props.close();\r\n };\r\n\r\n handleClickOutside = event => {\r\n if (this.wrapperRef && !this.wrapperRef.contains(event.target)) {\r\n this.props.close();\r\n }\r\n };\r\n\r\n render() {\r\n const { selectedDay, yearSelected, monthSelected } = this.state;\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nCommunityDatePicker.propTypes = {\r\n selectedDate: PropTypes.string.isRequired,\r\n changeDate: PropTypes.func.isRequired,\r\n currentPath: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default CommunityDatePicker;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { LocaleUtils } from 'react-day-picker';\r\nimport 'react-day-picker/lib/style.css';\r\nimport { Button } from '@material-ui/core';\r\n\r\nclass YearMonthForm extends React.Component {\r\n static getDerivedStateFromProps(props, state) {\r\n if (props.monthSelected !== state.monthSelected || props.yearSelected !== state.monthSelected) {\r\n return { monthSelected: props.monthSelected, yearSelected: props.yearSelected };\r\n }\r\n return null;\r\n }\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n monthSelected: this.props.monthSelected,\r\n yearSelected: this.props.yearSelected,\r\n };\r\n }\r\n\r\n render() {\r\n const fromMonth = new Date(2015, 0, 1);\r\n const toMonth = new Date(2040, 11, 31);\r\n const months = LocaleUtils.getMonths();\r\n\r\n const { monthSelected, yearSelected } = this.state;\r\n\r\n const years = [];\r\n for (let i = fromMonth.getFullYear(); i <= toMonth.getFullYear(); i += 1) {\r\n years.push(i);\r\n }\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nYearMonthForm.propTypes = {\r\n onToday: PropTypes.func.isRequired,\r\n handleMonthChange: PropTypes.func.isRequired,\r\n handleYearChange: PropTypes.func.isRequired,\r\n monthSelected: PropTypes.number.isRequired,\r\n yearSelected: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default YearMonthForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Autocomplete from 'react-autocomplete';\r\nimport axios from '../../../utils/axios';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { PostCodeAddressType, mapStringToAddressType } from '../../../enums/index';\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nclass PostcodeSearch extends React.Component {\r\n state = {\r\n value: '',\r\n isFetching: false,\r\n addresses: [],\r\n selection: null,\r\n currentValue: this.props.oldValue,\r\n hasError: false,\r\n };\r\n\r\n getAddressesByPostCodeEndpoint = postcode => {\r\n return `v1/query/GetPostCodeAddresses?postCode=${postcode}`;\r\n };\r\n\r\n getAddressesByIdEndpoint = addressId => {\r\n return `v1/query/GetPostcodeAddressesById?addressId=${addressId}`;\r\n };\r\n\r\n getAddressDetailsEndpoint = (addressId, addressType) => {\r\n return `v1/query/GetPostCodeAddressDetails?addressId=${addressId}&addressType=${addressType}`;\r\n };\r\n\r\n setAddresses = addresses => {\r\n this.setState({ ...this.state, addresses });\r\n // click function is a workaround to focus the autocomplete in order to display more addresses menu\r\n this.autoCompleteRef.current.click();\r\n };\r\n\r\n extractPostCodeFromDescription = description => {\r\n const splittedDescription = description.split(',');\r\n if (splittedDescription.length > 0) {\r\n return splittedDescription.reverse()[0].trim();\r\n }\r\n return null;\r\n };\r\n\r\n mapAddresses = (addressResponse, value) => {\r\n return addressResponse.data.addresses.map(address => {\r\n const postCodeValue =\r\n mapStringToAddressType(address.type) === PostCodeAddressType.Address\r\n ? this.extractPostCodeFromDescription(address.description)\r\n : value;\r\n return {\r\n ...address,\r\n value: postCodeValue,\r\n type: mapStringToAddressType(address.type),\r\n };\r\n });\r\n };\r\n\r\n mapAddressDetails = (addressResponse, value) => {\r\n return {\r\n ...addressResponse.data.addressDetails,\r\n value,\r\n type: PostCodeAddressType.Address,\r\n };\r\n };\r\n\r\n fetchAddress = async (url, value, resultMapper, onSuccess) => {\r\n const { jwtToken, onInvalidPostcode, handleApiError } = this.props;\r\n try {\r\n const response = await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${jwtToken}`,\r\n },\r\n });\r\n\r\n this.setState({\r\n ...this.state,\r\n isFetching: false,\r\n hasError: !response.data.isValid,\r\n });\r\n\r\n if (response.data.isValid && onSuccess) {\r\n onSuccess(resultMapper(response, value));\r\n } else {\r\n this.setState({\r\n ...this.state,\r\n addresses: [],\r\n });\r\n onInvalidPostcode(!response.data.isValid);\r\n }\r\n } catch (error) {\r\n this.setState({\r\n ...this.state,\r\n hasError: true,\r\n });\r\n handleApiError(error);\r\n }\r\n };\r\n\r\n autoCompleteOnChange = async (event, value) => {\r\n if (!value) {\r\n this.setState({\r\n ...this.state,\r\n isFetching: false,\r\n addresses: [],\r\n value: '',\r\n currentValue: '',\r\n hasError: false,\r\n });\r\n\r\n return;\r\n }\r\n\r\n const isLongEnough = value.trim().length > 4;\r\n\r\n if (!isLongEnough && value) {\r\n this.setState({\r\n ...this.state,\r\n value,\r\n currentValue: value,\r\n hasError: true,\r\n });\r\n } else {\r\n this.setState({\r\n ...this.state,\r\n value,\r\n currentValue: value,\r\n hasError: false,\r\n isFetching: true,\r\n });\r\n\r\n await this.fetchAddress(this.getAddressesByPostCodeEndpoint(value), value, this.mapAddresses, this.setAddresses);\r\n }\r\n };\r\n\r\n autoCompleteRef = React.createRef();\r\n\r\n autocompleteOnSelect = async (postCode, item) => {\r\n const { showOnlyPostcode, onSelect } = this.props;\r\n\r\n if (item.type === PostCodeAddressType.Address) {\r\n const onSuccessFetchAddress = selectedAddressDetails => {\r\n onSelect(selectedAddressDetails || null, postCode);\r\n };\r\n\r\n if (showOnlyPostcode) {\r\n postCode = this.extractPostCodeFromDescription(item.description) || postCode;\r\n this.setState({\r\n ...this.state,\r\n value: postCode,\r\n });\r\n onSelect(postCode);\r\n return;\r\n }\r\n\r\n await this.fetchAddress(\r\n this.getAddressDetailsEndpoint(item.id, item.type),\r\n item.value,\r\n this.mapAddressDetails,\r\n onSuccessFetchAddress,\r\n );\r\n } else {\r\n this.setState({\r\n ...this.state,\r\n value: item.value,\r\n currentValue: item.value,\r\n isFetching: true,\r\n hasError: false,\r\n });\r\n\r\n await this.fetchAddress(this.getAddressesByIdEndpoint(item.id), item.value, this.mapAddresses, this.setAddresses);\r\n }\r\n };\r\n\r\n renderAddress = (item, isHighlighted) => {\r\n return (\r\n \r\n {this.renderAddressItem(item)}\r\n
    \r\n );\r\n };\r\n\r\n renderAddressItem = item => {\r\n const addressText =\r\n item.type === PostCodeAddressType.Address ? (\r\n \r\n {item.text}
    \r\n
    \r\n ) : (\r\n ''\r\n );\r\n const addressDescription = {item.description};\r\n return (\r\n
    \r\n {addressText}\r\n {addressDescription}\r\n
    \r\n );\r\n };\r\n\r\n renderAutocomplete = () => {\r\n const { disabled, showOnlyPostcode, oldValue } = this.props;\r\n const inputProps = {\r\n id: 'states-autocomplete',\r\n placeholder: locale.getMsg('searchPostcodePlaceholder'),\r\n autoComplete: 'off',\r\n name: 'postcode-search',\r\n };\r\n\r\n if (disabled) {\r\n inputProps.disabled = 'disabled';\r\n }\r\n\r\n return (\r\n (showOnlyPostcode ? item.value : item.description)}\r\n onSelect={this.autocompleteOnSelect}\r\n onChange={this.autoCompleteOnChange}\r\n renderMenu={children =>
    {children}
    }\r\n renderItem={(item, isHighlighted) => this.renderAddress(item, isHighlighted)}\r\n />\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.state.isFetching &&
    {locale.getMsg('searchPostcodeLoading')}
    }\r\n
    {this.renderAutocomplete()}
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nPostcodeSearch.defaultProps = {\r\n oldValue: '',\r\n showOnlyPostcode: false,\r\n onSelect: () => {},\r\n onInvalidPostcode: () => {},\r\n disabled: false,\r\n};\r\n\r\nPostcodeSearch.propTypes = {\r\n oldValue: PropTypes.string,\r\n showOnlyPostcode: PropTypes.bool,\r\n onSelect: PropTypes.func,\r\n disabled: PropTypes.bool,\r\n jwtToken: PropTypes.string.isRequired,\r\n handleApiError: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default PostcodeSearch;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { NavLink } from 'react-router-dom';\r\n\r\nconst PrivateNavLink = ({ checkFeatureAccess, featureAccess, children, replacementComponent, dispatch, ...rest }) => {\r\n if (checkFeatureAccess(featureAccess)) {\r\n return {children};\r\n }\r\n return replacementComponent || null;\r\n};\r\n\r\nPrivateNavLink.defaultProps = {\r\n replacementComponent: null,\r\n children: null,\r\n};\r\n\r\nPrivateNavLink.propTypes = {\r\n // Required feature access\r\n featureAccess: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n // Optional component/text to replace the link with if the user lacks the feature access\r\n replacementComponent: PropTypes.node,\r\n checkFeatureAccess: PropTypes.func.isRequired,\r\n children: PropTypes.node,\r\n dispatch: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default PrivateNavLink;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { checkAllFeatureAccess } from '../../../utils/helpers';\r\n\r\nconst PrivateNavLinkNew = ({\r\n checkFeatureAccess,\r\n featureAccess,\r\n userAssignedFeatureAccesses,\r\n children,\r\n replacementComponent,\r\n dispatch,\r\n ...rest\r\n}) => {\r\n if (rest.label === 'Admin' || rest.label === 'External Provider') {\r\n if (checkAllFeatureAccess(featureAccess, userAssignedFeatureAccesses)) {\r\n return {children};\r\n }\r\n return replacementComponent || null;\r\n }\r\n if (checkFeatureAccess(featureAccess)) {\r\n return {children};\r\n }\r\n return replacementComponent || null;\r\n};\r\n\r\nPrivateNavLinkNew.defaultProps = {\r\n replacementComponent: null,\r\n children: null,\r\n};\r\n\r\nPrivateNavLinkNew.propTypes = {\r\n // Required feature access\r\n featureAccess: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n // Optional component/text to replace the link with if the user lacks the feature access\r\n replacementComponent: PropTypes.node,\r\n checkFeatureAccess: PropTypes.func.isRequired,\r\n children: PropTypes.node,\r\n dispatch: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default PrivateNavLinkNew;\r\n","import React from 'react';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Select from '@material-ui/core/Select';\r\nimport { ragStatusWithDesc } from '../../../enums/ragStatus';\r\n\r\nexport default function RagStatusPicker(prop) {\r\n const { selectedItem, onChange } = prop;\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass ListItem extends React.Component {\r\n shouldComponentUpdate = nextProps =>\r\n this.props.iconClass !== nextProps.iconClass ||\r\n this.props.isSelected !== nextProps.isSelected ||\r\n this.props.index !== nextProps.index ||\r\n this.props.name !== nextProps.name;\r\n\r\n handleClick = e => {\r\n e.stopPropagation();\r\n const { select, index } = this.props;\r\n select(index);\r\n };\r\n\r\n render() {\r\n const { isSelected, iconClass, name, itemChildren, identifier, index } = this.props;\r\n const liProps = {\r\n className: `dropdownListItem${isSelected ? ' active' : ''}`,\r\n onClick: this.handleClick,\r\n role: 'presentation',\r\n };\r\n const elements = {\r\n icon: ,\r\n name: {name},\r\n };\r\n this.childElements = itemChildren.map(el => elements[el]);\r\n return
  • {this.childElements}
  • ;\r\n }\r\n}\r\n\r\nListItem.defaultProps = {\r\n iconClass: '',\r\n isSelected: false,\r\n};\r\n\r\nListItem.propTypes = {\r\n identifier: PropTypes.string.isRequired,\r\n index: PropTypes.number.isRequired,\r\n name: PropTypes.string.isRequired,\r\n isSelected: PropTypes.bool,\r\n iconClass: PropTypes.string,\r\n select: PropTypes.func.isRequired,\r\n itemChildren: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n};\r\n\r\nexport default ListItem;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ListItem from './ListItem';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('selectableListsValues');\r\n\r\nclass SelectableList extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n if (props.multiselect && props.toggleOnClick) {\r\n throw new Error('SelectableList cannot be multiselect and toggle on click at the same time');\r\n }\r\n this.state = {\r\n shouldUpdateLabel: false,\r\n selectedOptions: props.selectedOptions,\r\n };\r\n\r\n this.dropdownListStyle = { maxHeight: `${this.props.maxHeight}px` };\r\n }\r\n\r\n componentDidMount = () => {\r\n this.updateLabel();\r\n };\r\n\r\n componentDidUpdate = prevProps => {\r\n const selectedSource = this.props.externalState ? this.props : this.state;\r\n this.selected = this.mapSelected(selectedSource, this.props);\r\n const { selectedOptions } = this.props;\r\n if (\r\n this.state.shouldUpdateLabel ||\r\n (selectedOptions && selectedOptions[0].index !== prevProps.selectedOptions[0].index)\r\n ) {\r\n this.updateLabel();\r\n }\r\n };\r\n\r\n setItemRef = refSetter.bind(this);\r\n\r\n selectItem = index => {\r\n const { multiselect, toggleOnClick, close, externalState, externalCallback } = this.props;\r\n const stateSource = externalState ? this.props : this.state;\r\n const newState = { ...stateSource };\r\n const { selectedOptions } = newState;\r\n if (multiselect) {\r\n const existingItemIndex = selectedOptions.findIndex(el => el.index === index);\r\n if (existingItemIndex >= 0) {\r\n selectedOptions.splice(existingItemIndex, 1);\r\n } else {\r\n newState.selectedOptions = [...selectedOptions, { index }];\r\n }\r\n newState.selectedOptions.sort((a, b) => a.index - b.index);\r\n } else if (toggleOnClick) {\r\n if (selectedOptions.length === 0 || index === selectedOptions[0].index) {\r\n newState.selectedOptions[0] = {\r\n index,\r\n clickedBefore: selectedOptions[0] ? !selectedOptions[0].clickedBefore : false,\r\n };\r\n } else {\r\n newState.selectedOptions[0] = {\r\n index,\r\n clickedBefore: false,\r\n };\r\n }\r\n } else {\r\n newState.selectedOptions = [{ index }];\r\n }\r\n if (externalState) {\r\n externalCallback(this.mapSelected(newState, this.props));\r\n this.setState({ shouldUpdateLabel: true });\r\n } else {\r\n this.setState({ ...newState, shouldUpdateLabel: true });\r\n }\r\n if (!multiselect) close();\r\n };\r\n\r\n updateLabel = () => {\r\n const { multiselect, setLabel, placeholder, externalState } = this.props;\r\n const { selectedOptions } = externalState ? this.props : this.state;\r\n let label;\r\n if (selectedOptions.length === 0) {\r\n label = {placeholder};\r\n } else if (!multiselect) {\r\n label = this[`item${selectedOptions[0].index}`] ? (\r\n this[`item${selectedOptions[0].index}`].childElements\r\n ) : (\r\n {placeholder}\r\n );\r\n } else {\r\n label = (\r\n {this.selected.reduce((sum, value, index) => (index === 0 ? value : `${sum}, ${value}`), '')}\r\n );\r\n }\r\n setLabel(label);\r\n this.setState({ shouldUpdateLabel: false });\r\n };\r\n\r\n mapSelected = (source, optionsSource) =>\r\n source.selectedOptions.map(({ index, clickedBefore = false }) => {\r\n const rest =\r\n typeof optionsSource.options[index] === 'string'\r\n ? { name: optionsSource.options[index] }\r\n : optionsSource.options[index];\r\n return {\r\n index,\r\n clickedBefore,\r\n ...rest,\r\n };\r\n });\r\n\r\n render() {\r\n const { options, translate, itemShape, iconCss, toggleOnClick, identifier, externalState } = this.props;\r\n const { selectedOptions } = externalState ? this.props : this.state;\r\n const itemChildren = itemShape.split('+');\r\n const itemsList = options.map((el, index) => {\r\n const name = typeof el === 'string' ? el : el.name;\r\n return (\r\n \r\n );\r\n });\r\n selectedOptions.forEach(({ index, clickedBefore = false }) => {\r\n if (itemsList[index]) {\r\n itemsList[index] = React.cloneElement(itemsList[index], {\r\n ...itemsList[index].props,\r\n isSelected: true,\r\n iconClass: toggleOnClick ? iconCss[Number(clickedBefore)] : iconCss,\r\n });\r\n }\r\n });\r\n return (\r\n
      \r\n {itemsList}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nSelectableList.defaultProps = {\r\n setLabel: () => {},\r\n close: () => {},\r\n translate: false,\r\n itemShape: 'name',\r\n selectedOptions: [],\r\n multiselect: false,\r\n toggleOnClick: false,\r\n iconCss: '',\r\n placeholder: locale.getMsg('defaultPlaceholder'),\r\n externalState: false,\r\n externalCallback: null,\r\n maxHeight: null,\r\n};\r\n\r\nSelectableList.propTypes = {\r\n // Whether the list should work with its own state in isolation,\r\n // or use redux/parent state with callbacks\r\n externalState: PropTypes.bool,\r\n // The function called whenever the user selects an item\r\n externalCallback: PropTypes.func,\r\n // Whether the list items should toggle on click\r\n // (i.e. choose a new item: default state, click the same item again: toggled state)\r\n toggleOnClick: PropTypes.bool,\r\n // Whether the list should support multiple items selected.\r\n multiselect: PropTypes.bool,\r\n // A unique string identifying this specific list, used for translations and key generation\r\n identifier: PropTypes.string.isRequired,\r\n // The options available for selection.\r\n // Can be an array of strings or an array of objects with name property defined.\r\n options: PropTypes.arrayOf(\r\n PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.shape({\r\n name: PropTypes.string.isRequired,\r\n }),\r\n ]),\r\n ).isRequired,\r\n // An array of the currently selected options,\r\n // clickedBefore is used for toggling and defautls to false if not provided\r\n selectedOptions: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n index: PropTypes.number,\r\n clickedBefore: PropTypes.bool,\r\n }),\r\n ),\r\n // Placeholder message\r\n placeholder: PropTypes.string,\r\n // Describes what the label should look like.\r\n // Valid options: 'name', 'icon', 'name+icon','icon+name'\r\n itemShape: PropTypes.string,\r\n // Whether the list items should be translated.\r\n // Will check for translations under `identifier + item name`\r\n translate: PropTypes.bool,\r\n // Strings describing the css classes of icons used (if there are any, check itemShape)\r\n // Can be a single string if it's a regular list or an array of 2 elements for toggleOnClick lists\r\n // first class = default state icon, second class = toggled state icon\r\n iconCss: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),\r\n // Max height of the list in pixels\r\n maxHeight: PropTypes.number,\r\n // Function used to set the label of the dropdown wrapper (provided by DropdownWrapper)\r\n setLabel: PropTypes.func,\r\n // Function used to close the dropdown upon selection (provided by DropdownWrapper)\r\n close: PropTypes.func,\r\n};\r\n\r\nexport default SelectableList;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { HOC } from 'formsy-react';\r\nimport SelectField from 'material-ui/SelectField';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport naturalCompare from 'natural-compare-lite';\r\nimport NestedSelectorChips from './NestedSelectorChips';\r\nimport Spinner from '../Spinner/Spinner';\r\nimport { dropDownStyle, common } from '../../../theme/AllocateBaseTheme';\r\nimport _ from '../../../utils/lodash';\r\nimport { lowerFirstLetter, removeSpaces } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst styles = {\r\n nestedSelector: { fontSize: '13px' },\r\n choiceComponent: { width: '100%' },\r\n};\r\n\r\nclass NestedSelector extends React.Component {\r\n state = { searchText: '', isDirty: false, callArgs: [], selectedMenuItems: [] };\r\n componentDidMount() {\r\n const { isFetchRequired, getOptions } = this.props;\r\n if (isFetchRequired) {\r\n getOptions();\r\n }\r\n }\r\n\r\n componentWillReceiveProps = nextProps => {\r\n const { originalValue, autoComplete, isFetchRequired, getOptions } = nextProps;\r\n if (autoComplete && originalValue) {\r\n this.setState({ searchText: '' });\r\n }\r\n\r\n if (\r\n isFetchRequired &&\r\n (this.state.callArgs.length !== nextProps.callArgs.length ||\r\n Object.values(this.props.callArgs).join(',') !== Object.values(nextProps.callArgs).join(','))\r\n ) {\r\n this.setState({ callArgs: nextProps.callArgs });\r\n getOptions();\r\n }\r\n };\r\n\r\n componentDidUpdate = () => {\r\n const { isDirty } = this.state;\r\n const { options, getValue, isFetching, setValue, value: propsValue, multiple } = this.props;\r\n\r\n const value = isDirty ? getValue() : propsValue;\r\n if (!isFetching && options && value) {\r\n if (multiple) {\r\n if (!value.every(v => options.some(o => o.id === v.id))) {\r\n setValue(null);\r\n }\r\n } else if (!options.some(o => o.id === value.id)) {\r\n setValue(null);\r\n }\r\n }\r\n };\r\n\r\n onChipChange = (id, event, key, newValue) => {\r\n const { getValue, setValue } = this.props;\r\n setValue(getValue().map(v => (v.id === id ? { ...v, innerId: newValue } : v)));\r\n this.setState({ isDirty: true });\r\n };\r\n\r\n menuItemStyle = menuItem => {\r\n return {\r\n fontSize: '14px',\r\n backgroundColor: this.state.selectedMenuItems.findIndex(x => x.id === menuItem) !== -1 ? 'lightgrey' : 'white',\r\n };\r\n };\r\n\r\n changeBuffer = (event, key, indexes) => {\r\n const ids = indexes.map(i => i.id);\r\n const unique = ids.filter(v => ids.indexOf(v) === ids.lastIndexOf(v));\r\n const uniqueValues = indexes.filter(i => unique.indexOf(i.id) !== -1);\r\n const { setValue, options, onChange } = this.props;\r\n setValue(uniqueValues);\r\n this.setState({ isDirty: true, selectedMenuItems: uniqueValues });\r\n const option = options && options.find(o => o.id === uniqueValues);\r\n onChange(event, key, uniqueValues, option);\r\n };\r\n\r\n handleRequestDelete = key => () => {\r\n const { setValue, getValue, options, onChange } = this.props;\r\n const newValue = getValue().slice();\r\n newValue.splice(newValue.indexOf(newValue.find(o => o.id === key)), 1);\r\n setValue(newValue.length ? newValue : undefined);\r\n this.setState({ isDirty: true, selectedMenuItems: newValue });\r\n const option = options && options.find(o => o.id === newValue);\r\n onChange(event, key, newValue, option);\r\n };\r\n\r\n handleUpdateInput = searchText => {\r\n this.setState({\r\n searchText,\r\n });\r\n };\r\n\r\n selectionRender = () => {\r\n const { getValue } = this.props;\r\n const value = getValue();\r\n const name = (_.isEmpty(value) ? [] : value).map(v => v.name).join(', ');\r\n return name;\r\n };\r\n\r\n handleNewRequest = item => {\r\n const { setValue, getValue, multiple } = this.props;\r\n let searchText = '';\r\n if (multiple) {\r\n const oldValue = getValue() || [];\r\n setValue([...oldValue, item]);\r\n } else {\r\n searchText = item.text;\r\n setValue(item);\r\n }\r\n\r\n this.setState({ searchText, isDirty: true });\r\n };\r\n\r\n generateItems = () => {\r\n const { isDirty } = this.state;\r\n const {\r\n autoComplete,\r\n reduxIdentifier,\r\n options,\r\n value: propsValue,\r\n getValue,\r\n multiple,\r\n filterOptions,\r\n mapOptions,\r\n localeArea,\r\n shouldCompareNatural,\r\n } = this.props;\r\n\r\n const locale = localeArea ? globals.getArea(localeArea) : {};\r\n const value = isDirty ? getValue() : propsValue;\r\n let optionsCopy = options ? mapOptions(filterOptions(options)).slice() : [];\r\n optionsCopy = shouldCompareNatural ? optionsCopy.sort((a, b) => naturalCompare(a.name, b.name)) : optionsCopy;\r\n const itemTemplateGenerator = ({ id, name, ragStatus, band, orgUnitsIds, rootId }) => (\r\n \r\n );\r\n\r\n if (autoComplete) {\r\n const autoCompleteOptionsPreFilter =\r\n value && value.length && multiple ? _.remove(optionsCopy, ({ id }) => !value.includes(id)) : optionsCopy;\r\n return autoCompleteOptionsPreFilter.map(el => ({\r\n id: el.id,\r\n text: el.name,\r\n value: itemTemplateGenerator(el),\r\n }));\r\n }\r\n return optionsCopy.map(el => itemTemplateGenerator(el));\r\n };\r\n\r\n render() {\r\n const { isDirty } = this.state;\r\n const {\r\n isFetching,\r\n options,\r\n getValue,\r\n disabled,\r\n setValidations,\r\n setValue,\r\n resetValue,\r\n hasValue,\r\n getErrorMessage,\r\n getErrorMessages,\r\n isFormDisabled,\r\n isValid,\r\n isPristine,\r\n isFormSubmitted,\r\n isRequired,\r\n showRequired,\r\n showError,\r\n isValidValue,\r\n endpoint,\r\n reduxIdentifier,\r\n isFetchRequired,\r\n getOptions,\r\n validationErrors,\r\n originalValue,\r\n value: propsValue,\r\n autoComplete,\r\n validationError,\r\n multiple,\r\n innerRef,\r\n onChange,\r\n clearable,\r\n validations,\r\n filterOptions,\r\n mapOptions,\r\n localeArea,\r\n callArgs,\r\n mapValue,\r\n ...restOfProps\r\n } = this.props;\r\n\r\n const itemMap = this.generateItems();\r\n const value = isDirty ? getValue() : propsValue;\r\n const isSpinner = isFetching || !options;\r\n const choiceComponent = (\r\n \r\n {itemMap}\r\n \r\n );\r\n return isSpinner ? (\r\n \r\n ) : (\r\n
    \r\n {choiceComponent}\r\n {Array.isArray(value) && options && options.length && value && (\r\n this.onChipChange(id, event, key, newValue)}\r\n />\r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nNestedSelector.defaultProps = {\r\n required: false,\r\n value: undefined,\r\n originalValue: undefined,\r\n options: null,\r\n multiple: false,\r\n clearable: false,\r\n isFetchRequired: false,\r\n disabled: false,\r\n autoComplete: false,\r\n localeArea: null,\r\n validationErrors: {},\r\n validationError: null,\r\n validations: {},\r\n innerRef: () => {},\r\n onChange: () => {},\r\n filterOptions: options => options,\r\n mapOptions: options => options,\r\n mapValue: value => value,\r\n callArgs: [],\r\n shouldCompareNatural: true,\r\n};\r\n\r\nconst optionPropType = PropTypes.shape({\r\n id: PropTypes.number,\r\n value: PropTypes.number,\r\n name: PropTypes.string,\r\n});\r\n\r\nNestedSelector.propTypes = {\r\n floatingLabelText: PropTypes.string.isRequired,\r\n options: PropTypes.arrayOf(optionPropType),\r\n innerRef: PropTypes.func,\r\n // className: PropTypes.string,\r\n // eslint-disable-next-line react/no-unused-prop-types\r\n value: PropTypes.oneOfType([\r\n // Used by formsy\r\n PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number,\r\n innerId: PropTypes.number,\r\n }),\r\n ),\r\n ]),\r\n originalValue: PropTypes.oneOfType([\r\n // Used by formsy\r\n PropTypes.arrayOf(optionPropType),\r\n optionPropType,\r\n ]),\r\n isFetching: PropTypes.bool.isRequired,\r\n multiple: PropTypes.bool,\r\n clearable: PropTypes.bool,\r\n isFetchRequired: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n autoComplete: PropTypes.bool,\r\n localeArea: PropTypes.string,\r\n reduxIdentifier: PropTypes.string.isRequired,\r\n endpoint: PropTypes.string.isRequired,\r\n onChange: PropTypes.func,\r\n mapValue: PropTypes.func,\r\n // Formsy props:\r\n setValidations: PropTypes.func.isRequired,\r\n setValue: PropTypes.func.isRequired,\r\n getValue: PropTypes.func.isRequired,\r\n getOptions: PropTypes.func.isRequired,\r\n resetValue: PropTypes.func.isRequired,\r\n hasValue: PropTypes.func.isRequired,\r\n getErrorMessage: PropTypes.func.isRequired,\r\n getErrorMessages: PropTypes.func.isRequired,\r\n isFormDisabled: PropTypes.func.isRequired,\r\n isValid: PropTypes.func.isRequired,\r\n isPristine: PropTypes.func.isRequired,\r\n isFormSubmitted: PropTypes.func.isRequired,\r\n isRequired: PropTypes.func.isRequired,\r\n showRequired: PropTypes.func.isRequired,\r\n showError: PropTypes.func.isRequired,\r\n isValidValue: PropTypes.func.isRequired,\r\n // Other propTypes throw a 'marked as required' error for isRequired inside validationErrors ?!\r\n validationErrors: PropTypes.shape(),\r\n validationError: PropTypes.string,\r\n filterOptions: PropTypes.func,\r\n mapOptions: PropTypes.func,\r\n validations: PropTypes.shape(),\r\n // eslint-disable-next-line react/forbid-prop-types\r\n callArgs: PropTypes.any,\r\n shouldCompareNatural: PropTypes.bool,\r\n};\r\n\r\nexport default HOC(NestedSelector);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport naturalCompare from 'natural-compare-lite';\r\nimport SelectField from 'material-ui/SelectField';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport Chip from 'material-ui/Chip';\r\nimport { chipsStyle } from '../../../theme/AllocateBaseTheme';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { lowerFirstLetter } from '../../../utils/helpers';\r\n\r\nconst treatmentslocal = globals.getArea('treatments');\r\n\r\nclass NestedSelectorChips extends React.Component {\r\n state = {\r\n value: 1,\r\n };\r\n\r\n handleChange = (id, event, key, newValue, option) => {\r\n this.setState({ value: newValue });\r\n const { onChipChange } = this.props;\r\n onChipChange(id, event, key, newValue, option);\r\n };\r\n\r\n selectionRender = (value, menuitem) => {\r\n const {\r\n props: { primaryText },\r\n } = menuitem;\r\n return primaryText === treatmentslocal.getMsg('defaultAvf')\r\n ? ''\r\n : `${primaryText} ${treatmentslocal.getMsg('avfLabel')}`;\r\n };\r\n\r\n hasActivityFactors = searchId => {\r\n const { options } = this.props;\r\n if (options.find(o => o.id === searchId).activityVariances.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n generateSortedChipsMap = () => {\r\n const { value, options } = this.props;\r\n const chipsMap = value\r\n .filter(v => options.find(o => o.id === v.id) !== undefined)\r\n .map(v => ({\r\n id: v.id,\r\n name: v.name,\r\n innerId: v.innerId,\r\n ragStatus: v.ragStatus,\r\n band: v.band,\r\n }));\r\n return chipsMap.sort((a, b) => naturalCompare(a.name, b.name));\r\n };\r\n\r\n generateSortedSubitems = searchId => {\r\n const { options } = this.props;\r\n const items = [];\r\n const variances = options.find(o => o.id === searchId).activityVariances;\r\n items.push(\r\n ,\r\n );\r\n items.push();\r\n items.push(\r\n variances.map(({ id, value }) => (\r\n \r\n )),\r\n );\r\n return items;\r\n };\r\n\r\n render() {\r\n const sortedChipsMap = this.generateSortedChipsMap();\r\n const { disabled, handleRequestDelete, localeArea } = this.props;\r\n const locale = localeArea ? globals.getArea(localeArea) : {};\r\n return (\r\n
    \r\n {sortedChipsMap.map(({ id, name, innerId }) => (\r\n \r\n this.handleChange(id, event, key, newValue, option)}\r\n underlineStyle={{ display: 'none' }}\r\n labelStyle={{ top: 0, height: 32, lineHeight: '32px', paddingRight: 40, fontWeight: 500 }}\r\n style={{ verticalAlign: 'middle', fontSize: '1.3rem', height: 32, width: 'auto' }}\r\n iconStyle={{ fill: '#000', padding: '4px 7px', height: 32, right: 3 }}\r\n autoWidth\r\n selectionRenderer={this.selectionRender}\r\n disabled={!this.hasActivityFactors(id)}\r\n >\r\n {this.generateSortedSubitems(id)}\r\n \r\n {localeArea ? locale.getMsg(lowerFirstLetter(name)) : name}\r\n \r\n ))}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nNestedSelectorChips.defaultProps = {\r\n value: null,\r\n options: null,\r\n disabled: false,\r\n localeArea: '',\r\n onChipChange: () => {},\r\n};\r\n\r\nconst optionPropType = PropTypes.shape({\r\n id: PropTypes.number,\r\n value: PropTypes.number,\r\n name: PropTypes.string,\r\n innerId: PropTypes.number,\r\n});\r\n\r\nNestedSelectorChips.propTypes = {\r\n options: PropTypes.arrayOf(optionPropType),\r\n value: PropTypes.oneOfType([\r\n PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number,\r\n innerId: PropTypes.number,\r\n }),\r\n ),\r\n ]),\r\n handleRequestDelete: PropTypes.func.isRequired,\r\n disabled: PropTypes.bool,\r\n localeArea: PropTypes.string,\r\n onChipChange: PropTypes.func,\r\n};\r\n\r\nexport default NestedSelectorChips;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { SelectField, MenuItem } from 'material-ui';\r\nimport { Box } from '@material-ui/core';\r\nimport SelectorChips from '../../common/Selector/SelectorChips';\r\nimport { dropDownStyle, common } from '../../../theme/AllocateBaseTheme';\r\n\r\nconst SelectFilter = ({ key, value, options, onChange, classes, customStyle = {}, fullWidth, multiple }) => {\r\n const handleSelectChange = (event, identifier, selectedIds) => {\r\n const isEmpty = !selectedIds.length;\r\n const isAllSelected = options.every(o => selectedIds.some(id => o.id === id));\r\n const isLastSelectedAny = selectedIds.at(-1) === 0;\r\n\r\n const validSelectedIds = isEmpty || isAllSelected || isLastSelectedAny ? [0] : selectedIds.filter(id => id !== 0);\r\n onChange(validSelectedIds);\r\n };\r\n\r\n const handleChipDelete = id => () => {\r\n const filteredValues = value.filter(v => v !== id);\r\n onChange(filteredValues.length > 0 ? filteredValues : [0]);\r\n };\r\n\r\n return (\r\n \r\n \r\n {multiple && }\r\n {options.map(option => (\r\n \r\n ))}\r\n \r\n {multiple && Array.isArray(value) && value.length > 0 && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nSelectFilter.propTypes = {\r\n key: PropTypes.string.isRequired,\r\n value: PropTypes.oneOfType([PropTypes.array, PropTypes.any]).isRequired,\r\n options: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.any.isRequired,\r\n name: PropTypes.string.isRequired,\r\n }),\r\n ).isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n fullWidth: PropTypes.bool,\r\n multiple: PropTypes.bool,\r\n};\r\n\r\nSelectFilter.defaultProps = {\r\n multiple: true,\r\n placeholder: 'Any',\r\n onChipDelete: () => {},\r\n fullWidth: true,\r\n};\r\n\r\nexport default SelectFilter;\r\n","/* eslint-disable no-nested-ternary */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { HOC } from 'formsy-react';\r\nimport SelectField from 'material-ui/SelectField';\r\nimport AutoComplete from 'material-ui/AutoComplete';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport naturalCompare from 'natural-compare-lite';\r\nimport SelectorChips from './SelectorChips';\r\nimport Spinner from '../Spinner/Spinner';\r\nimport { dropDownStyle, common, autoComp } from '../../../theme/AllocateBaseTheme';\r\nimport _ from '../../../utils/lodash';\r\nimport { lowerFirstLetter, removeSpaces } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst styles = {\r\n menuItemSelectOpt: { fontSize: '14px' },\r\n selectorChip: { fontSize: '13px' },\r\n choiceComponent: { width: '100%' },\r\n};\r\nclass Selector extends React.Component {\r\n state = { searchText: '', isDirty: false, callArgs: [] };\r\n componentDidMount() {\r\n const { isFetchRequired, getOptions } = this.props;\r\n if (isFetchRequired) {\r\n getOptions();\r\n }\r\n }\r\n\r\n componentWillReceiveProps = nextProps => {\r\n const { originalValue, autoComplete, isFetchRequired, getOptions } = nextProps;\r\n if (autoComplete && originalValue) {\r\n this.setState({ searchText: '' });\r\n }\r\n\r\n if (\r\n isFetchRequired &&\r\n (this.state.callArgs.length !== nextProps.callArgs.length ||\r\n Object.values(this.props.callArgs).join(',') !== Object.values(nextProps.callArgs).join(','))\r\n ) {\r\n this.setState({ callArgs: nextProps.callArgs });\r\n getOptions();\r\n }\r\n };\r\n\r\n componentDidUpdate = () => {\r\n const { isDirty } = this.state;\r\n const {\r\n options,\r\n getValue,\r\n isFetching,\r\n setValue,\r\n value: propsValue,\r\n multiple,\r\n hasDefaultValue,\r\n showSelectorChip,\r\n } = this.props;\r\n const value = isDirty ? getValue() : propsValue;\r\n const filteredOptions = hasDefaultValue ? [{ id: -1, name: 'Any' }].concat(options) : options;\r\n\r\n if (!isFetching && filteredOptions && value) {\r\n if (multiple) {\r\n if (!value.every(v => filteredOptions.some(o => o.id === v))) {\r\n const newValue = value.filter(v => filteredOptions.some(o => o.id === v));\r\n setValue(newValue);\r\n }\r\n } else if (!showSelectorChip && !filteredOptions.some(o => o.id === value)) {\r\n setValue(null);\r\n }\r\n }\r\n };\r\n\r\n changeBuffer = (event, key, indexes) => {\r\n const { multiple, setValue, options, onChange, getValue, clearable, hasDefaultValue } = this.props;\r\n const filteredOptions = hasDefaultValue ? [{ id: -1, name: 'Any' }].concat(options) : options;\r\n\r\n let newValue;\r\n if (multiple) {\r\n newValue = indexes.length ? indexes : undefined;\r\n } else {\r\n const currentValue = getValue();\r\n\r\n if (clearable && indexes === currentValue) {\r\n newValue = undefined;\r\n } else {\r\n newValue = indexes || undefined;\r\n }\r\n }\r\n\r\n setValue(newValue);\r\n\r\n this.setState({ isDirty: true });\r\n const option = filteredOptions && filteredOptions.find(o => o.id === newValue);\r\n onChange(event, key, newValue, option);\r\n };\r\n\r\n handleRequestDelete = key => () => {\r\n const { setValue, getValue, options, onChange } = this.props;\r\n let newValue = getValue();\r\n\r\n if (newValue.length) {\r\n newValue = newValue.slice();\r\n newValue.splice(newValue.indexOf(key), 1);\r\n setValue(newValue.length ? newValue : undefined);\r\n } else {\r\n newValue = null;\r\n setValue(newValue);\r\n }\r\n\r\n this.setState({ isDirty: true });\r\n const option = options && options.find(o => o.id === newValue);\r\n onChange(event, key, newValue, option);\r\n };\r\n\r\n handleUpdateInput = searchText => {\r\n this.setState({\r\n searchText,\r\n });\r\n };\r\n\r\n handleNewRequest = item => {\r\n const { setValue, getValue, multiple } = this.props;\r\n let searchText = '';\r\n if (multiple) {\r\n const oldValue = getValue() || [];\r\n setValue([...oldValue, item.id]);\r\n } else {\r\n searchText = item.text;\r\n setValue(item.id);\r\n }\r\n\r\n this.setState({ searchText, isDirty: true });\r\n };\r\n\r\n generateItems = () => {\r\n const { isDirty } = this.state;\r\n const {\r\n autoComplete,\r\n reduxIdentifier,\r\n options,\r\n value: propsValue,\r\n getValue,\r\n multiple,\r\n filterOptions,\r\n mapOptions,\r\n localeArea,\r\n hasDefaultValue,\r\n phoneCallHelperText,\r\n shouldCompareNatural,\r\n } = this.props;\r\n\r\n const locale = localeArea ? globals.getArea(localeArea) : {};\r\n const value = isDirty ? getValue() : propsValue;\r\n const filteredOptions = hasDefaultValue ? [{ id: -1, name: 'Any' }].concat(options) : options;\r\n let optionsCopy = filteredOptions ? mapOptions(filterOptions(options)).slice() : [];\r\n optionsCopy = shouldCompareNatural ? optionsCopy.sort((a, b) => naturalCompare(a.name, b.name)) : optionsCopy;\r\n const itemTemplateGenerator = ({ id, name, visitType, hasTeamStatus, isActive }) => (\r\n \r\n {hasTeamStatus && }\r\n
    \r\n );\r\n\r\n if (autoComplete) {\r\n const autoCompleteOptionsPreFilter =\r\n value && value.length && multiple ? _.remove(optionsCopy, ({ id }) => !value.includes(id)) : optionsCopy;\r\n return autoCompleteOptionsPreFilter.map(el => ({\r\n id: el.id,\r\n text: el.name,\r\n value: itemTemplateGenerator(el),\r\n }));\r\n }\r\n return optionsCopy.map(el => itemTemplateGenerator(el));\r\n };\r\n\r\n render() {\r\n const { isDirty } = this.state;\r\n const {\r\n isFetching,\r\n options,\r\n getValue,\r\n disabled,\r\n setValidations,\r\n setValue,\r\n resetValue,\r\n hasValue,\r\n getErrorMessage,\r\n getErrorMessages,\r\n isFormDisabled,\r\n isValid,\r\n isPristine,\r\n isFormSubmitted,\r\n isRequired,\r\n showRequired,\r\n showError,\r\n isValidValue,\r\n endpoint,\r\n reduxIdentifier,\r\n isFetchRequired,\r\n getOptions,\r\n validationErrors,\r\n originalValue,\r\n value: propsValue,\r\n autoComplete,\r\n validationError,\r\n multiple,\r\n innerRef,\r\n onChange,\r\n clearable,\r\n validations,\r\n hasDefaultValue,\r\n filterOptions,\r\n mapOptions,\r\n localeArea,\r\n callArgs,\r\n mapValue,\r\n phoneCallHelperText,\r\n mapWithoutId,\r\n setValueValidity,\r\n shouldCompareNatural,\r\n showSelectorChip,\r\n ...restOfProps\r\n } = this.props;\r\n const value = isDirty ? getValue() : propsValue;\r\n\r\n const isSpinner = isFetching || !options;\r\n\r\n const itemMap = this.generateItems();\r\n\r\n const choiceComponent = autoComplete ? (\r\n \r\n ) : (\r\n \r\n {itemMap}\r\n \r\n );\r\n // width 100% ensures proper flex wrapping for the chips on IE browsers\r\n return isSpinner ? (\r\n \r\n ) : (\r\n
    \r\n {choiceComponent}\r\n {Array.isArray(value) && options && options.length > 0 && value && (\r\n \r\n )}\r\n {showSelectorChip && options && options.length > 0 && value && (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nSelector.defaultProps = {\r\n required: false,\r\n value: undefined,\r\n originalValue: undefined,\r\n hasDefaultValue: false,\r\n options: null,\r\n multiple: false,\r\n clearable: false,\r\n isFetchRequired: false,\r\n disabled: false,\r\n autoComplete: false,\r\n localeArea: null,\r\n validationErrors: {},\r\n validationError: null,\r\n validations: {},\r\n innerRef: () => {},\r\n onChange: () => {},\r\n filterOptions: options => options,\r\n mapOptions: options => options,\r\n mapValue: value => value,\r\n callArgs: [],\r\n phoneCallHelperText: false,\r\n mapWithoutId: false,\r\n setValueValidity: () => {},\r\n shouldCompareNatural: true,\r\n showSelectorChip: false,\r\n};\r\n\r\nconst optionPropType = PropTypes.shape({\r\n id: PropTypes.number,\r\n value: PropTypes.number,\r\n name: PropTypes.string,\r\n});\r\n\r\nSelector.propTypes = {\r\n floatingLabelText: PropTypes.string.isRequired,\r\n options: PropTypes.arrayOf(optionPropType),\r\n innerRef: PropTypes.func,\r\n hasDefaultValue: PropTypes.bool,\r\n // eslint-disable-next-line react/no-unused-prop-types\r\n value: PropTypes.oneOfType([\r\n // Used by formsy\r\n PropTypes.arrayOf(PropTypes.number),\r\n PropTypes.number,\r\n ]),\r\n originalValue: PropTypes.oneOfType([\r\n // Used by formsy\r\n PropTypes.arrayOf(optionPropType),\r\n optionPropType,\r\n PropTypes.arrayOf(PropTypes.number),\r\n PropTypes.number,\r\n ]),\r\n isFetching: PropTypes.bool.isRequired,\r\n multiple: PropTypes.bool,\r\n clearable: PropTypes.bool,\r\n isFetchRequired: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n autoComplete: PropTypes.bool,\r\n localeArea: PropTypes.string,\r\n reduxIdentifier: PropTypes.string.isRequired,\r\n endpoint: PropTypes.string.isRequired,\r\n onChange: PropTypes.func,\r\n mapValue: PropTypes.func,\r\n // Formsy props:\r\n setValidations: PropTypes.func.isRequired,\r\n setValue: PropTypes.func.isRequired,\r\n getValue: PropTypes.func.isRequired,\r\n getOptions: PropTypes.func.isRequired,\r\n resetValue: PropTypes.func.isRequired,\r\n hasValue: PropTypes.func.isRequired,\r\n getErrorMessage: PropTypes.func.isRequired,\r\n getErrorMessages: PropTypes.func.isRequired,\r\n isFormDisabled: PropTypes.func.isRequired,\r\n isValid: PropTypes.func.isRequired,\r\n isPristine: PropTypes.func.isRequired,\r\n isFormSubmitted: PropTypes.func.isRequired,\r\n isRequired: PropTypes.func.isRequired,\r\n showRequired: PropTypes.func.isRequired,\r\n showError: PropTypes.func.isRequired,\r\n isValidValue: PropTypes.func.isRequired,\r\n // Other propTypes throw a 'marked as required' error for isRequired inside validationErrors ?!\r\n validationErrors: PropTypes.shape(),\r\n validationError: PropTypes.string,\r\n filterOptions: PropTypes.func,\r\n mapOptions: PropTypes.func,\r\n validations: PropTypes.shape(),\r\n // eslint-disable-next-line react/forbid-prop-types\r\n callArgs: PropTypes.any,\r\n phoneCallHelperText: PropTypes.bool,\r\n mapWithoutId: PropTypes.bool,\r\n setValueValidity: PropTypes.func,\r\n shouldCompareNatural: PropTypes.bool,\r\n showSelectorChip: PropTypes.bool,\r\n};\r\n\r\nexport default HOC(Selector);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport naturalCompare from 'natural-compare-lite';\r\nimport { styled, Box } from '@material-ui/core';\r\nimport Chip from 'material-ui/Chip';\r\nimport { chipsStyle } from '../../../theme/AllocateBaseTheme';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { lowerFirstLetter } from '../../../utils/helpers';\r\n\r\nconst styles = {\r\n selector: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n },\r\n};\r\n\r\nconst StyledChipsContainer = styled(Box)(() => ({\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n '& > .selectorChip': {\r\n overflow: 'hidden',\r\n '& > span': {\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n },\r\n '& > svg': {\r\n height: '24px',\r\n width: '24px',\r\n overflow: 'visible',\r\n },\r\n },\r\n}));\r\n\r\nclass SelectorChips extends React.Component {\r\n generateSortedSingleChipMap = () => {\r\n const { value, options } = this.props;\r\n return {\r\n id: value,\r\n name: options.find(o => o.id === value) !== undefined ? options.find(o => o.id === value).name : null,\r\n };\r\n };\r\n\r\n generateSortedMultipleChipsMap = () => {\r\n const { value, options } = this.props;\r\n const chipsMapMultiple = value\r\n .filter(v => options.find(o => o.id === v) !== undefined)\r\n .map(v => ({\r\n id: v,\r\n name: options.find(o => o.id === v).name,\r\n }));\r\n\r\n return chipsMapMultiple.sort((a, b) => naturalCompare(a.name, b.name));\r\n };\r\n\r\n render() {\r\n const { disabled, handleRequestDelete, localeArea, showSelectorChip } = this.props;\r\n const locale = localeArea ? globals.getArea(localeArea) : {};\r\n\r\n const sortedChipsMap = showSelectorChip\r\n ? this.generateSortedSingleChipMap()\r\n : this.generateSortedMultipleChipsMap();\r\n\r\n return (\r\n \r\n {!showSelectorChip &&\r\n sortedChipsMap.map(({ id, name }) => (\r\n \r\n {localeArea ? locale.getMsg(lowerFirstLetter(name)) : name}\r\n \r\n ))}\r\n {showSelectorChip && sortedChipsMap.name !== null && (\r\n \r\n {localeArea ? locale.getMsg(lowerFirstLetter(sortedChipsMap.name)) : sortedChipsMap.name}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nSelectorChips.defaultProps = {\r\n value: null,\r\n options: null,\r\n disabled: false,\r\n localeArea: '',\r\n showSelectorChip: false,\r\n};\r\n\r\nconst optionPropType = PropTypes.shape({\r\n id: PropTypes.number,\r\n value: PropTypes.number,\r\n name: PropTypes.string,\r\n});\r\n\r\nSelectorChips.propTypes = {\r\n options: PropTypes.arrayOf(optionPropType),\r\n value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number]),\r\n handleRequestDelete: PropTypes.func.isRequired,\r\n disabled: PropTypes.bool,\r\n localeArea: PropTypes.string,\r\n showSelectorChip: PropTypes.bool,\r\n};\r\n\r\nexport default SelectorChips;\r\n","import React from 'react';\r\n\r\nconst Spinner = () => (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n);\r\n\r\nexport default Spinner;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport timePropTypes from '../../../propTypes/entities/time';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('dailyPlanning');\r\n\r\nconst StatCounter = props => {\r\n const { value, text } = props;\r\n\r\n const defaultValue = 0;\r\n let shouldDisplay = true;\r\n\r\n if (value.hours === 0 && value.minutes === 0) {\r\n shouldDisplay = false;\r\n }\r\n\r\n return (\r\n
    \r\n {shouldDisplay ? (\r\n
    \r\n {value.hours || 0}\r\n {locale.getMsg('hour')}\r\n {value.minutes || 0}\r\n {locale.getMsg('minute')}\r\n
    \r\n ) : (\r\n
    \r\n {defaultValue || 0}\r\n {locale.getMsg('hour')}\r\n
    \r\n )}\r\n
    {text}
    \r\n
    \r\n );\r\n};\r\n\r\nStatCounter.propTypes = {\r\n value: timePropTypes.isRequired,\r\n text: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default StatCounter;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReactTable from 'react-table';\r\nimport Spinner from '../../common/Spinner/Spinner';\r\nimport _ from '../../../utils/lodash';\r\n\r\nclass Table extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n // These methods are exposed through reference (passed as innerRef)\r\n // so that the table might be controlled from its parent component\r\n this.updateParams = props.updateParams;\r\n this.clearParams = props.clearParams;\r\n this.updateParamsAndGetData = props.updateParamsAndGetData;\r\n this.state = {\r\n descending: false,\r\n columnName: '',\r\n };\r\n }\r\n componentDidMount = () => {\r\n if (!this.props.disableGetOnLoad) {\r\n this.updateParamsAndGetData(this.props.initialSearchParams);\r\n }\r\n };\r\n componentWillReceiveProps = nextProps => {\r\n const { initialSearchParams: currParams, filterParams: currFilterParams } = this.props;\r\n const {\r\n initialSearchParams: newParams,\r\n filterParams: newFilterParams,\r\n searchParams,\r\n searchResults,\r\n reloadCallback,\r\n } = nextProps;\r\n\r\n if (\r\n reloadCallback &&\r\n reloadCallback.funcName !== '' &&\r\n reloadCallback.funcName !== this.props.reloadCallback.funcName\r\n ) {\r\n const fn = this[reloadCallback.funcName];\r\n if (fn && typeof fn === 'function') {\r\n fn(reloadCallback.funcParams);\r\n }\r\n } else if (\r\n searchParams.pageNumber > 0 &&\r\n searchResults.pages > 0 &&\r\n searchParams.pageNumber > searchResults.pages\r\n ) {\r\n // Update the data when the initialSearchParams are changed.\r\n this.updateParamsAndGetData({ pageNumber: 1 });\r\n } else if (nextProps.triggerReload !== this.props.triggerReload || !_.isEqual(currParams, newParams)) {\r\n this.updateParamsAndGetData();\r\n } else if (!_.isEqual(currFilterParams, newFilterParams)) {\r\n this.updateParamsAndGetData({ ...newParams, ...newFilterParams });\r\n }\r\n };\r\n\r\n setSortingDirection = sortColumn => {\r\n let descending = this.state.descending;\r\n if (this.state.columnName !== sortColumn) {\r\n descending = false;\r\n }\r\n const sortDirection = descending ? 'desc' : 'asc';\r\n this.setState({ descending: sortDirection === 'asc', columnName: sortColumn });\r\n return sortDirection;\r\n };\r\n\r\n getColumnName = columnHeader => {\r\n const sortedColumns = ['Name', 'ServiceId', 'Name', 'Name'];\r\n const columnHeaders = ['Name', 'Service Id', 'Referral priorities', 'Referral source'];\r\n const index = _.indexOf(columnHeaders, columnHeader);\r\n return sortedColumns[index];\r\n };\r\n\r\n handlePageChange = pageNumber => {\r\n this.updateParamsAndGetData({ pageNumber: pageNumber + 1 });\r\n };\r\n\r\n handlePageSizeChange = pageSize => {\r\n this.updateParamsAndGetData({ pageSize });\r\n };\r\n\r\n handlePageSortingChange = sortColumn => {\r\n const columnName = this.getColumnName(sortColumn);\r\n const sortDirection = this.setSortingDirection(sortColumn);\r\n if (columnName != null && sortDirection != null)\r\n this.updateParamsAndGetData({ sortColumn: columnName, sortDirection });\r\n };\r\n\r\n render() {\r\n const {\r\n searchParams,\r\n searchResults,\r\n columns,\r\n className,\r\n noDataComponent,\r\n updateParams,\r\n updateParamsAndGetData,\r\n clearParams,\r\n isFetching,\r\n reduxIdentifier,\r\n ...otherProps\r\n } = this.props;\r\n\r\n const table = (\r\n ({\r\n onClick: () => {\r\n this.handlePageSortingChange(column.Header);\r\n },\r\n })}\r\n getTrGroupProps={(state, rowInfo) => ({\r\n onClick: () => {\r\n if (rowInfo) {\r\n this.props.rowOnClick(rowInfo);\r\n }\r\n },\r\n [`${reduxIdentifier}ItemId`]: rowInfo && rowInfo.original ? rowInfo.original.id : null,\r\n })}\r\n TrGroupComponent={props => (\r\n \r\n {props.children}\r\n
    \r\n )}\r\n {...otherProps}\r\n />\r\n );\r\n\r\n let content = null;\r\n if (noDataComponent) {\r\n if (searchResults.items && searchResults.items.length) {\r\n content = table;\r\n } else {\r\n content = table; // noDataComponent;\r\n }\r\n } else {\r\n content = table;\r\n }\r\n\r\n return (\r\n
    \r\n {isFetching && }\r\n {content}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nTable.defaultProps = {\r\n searchResults: {\r\n isFetching: false,\r\n items: [],\r\n page: -1,\r\n },\r\n rowOnClick: () => {},\r\n className: '',\r\n searchParams: {},\r\n filterParams: {},\r\n responseObjectName: null,\r\n noDataComponent: null,\r\n disableGetOnLoad: false,\r\n triggerReload: false,\r\n};\r\n\r\nTable.propTypes = {\r\n // React-table column definitions, see their documentation for details.\r\n columns: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n Header: PropTypes.string,\r\n id: PropTypes.string,\r\n accessor: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\r\n width: PropTypes.number,\r\n }),\r\n ).isRequired,\r\n // True if awaiting response with table data.\r\n isFetching: PropTypes.bool.isRequired,\r\n // Used to update the search parameters for the table.\r\n // Accepts an object with new search parameters which is merged with existing ones.\r\n updateParams: PropTypes.func.isRequired,\r\n // Used to clear the search parameters and already existing data.\r\n clearParams: PropTypes.func.isRequired,\r\n // Combines updateParams and getData.\r\n updateParamsAndGetData: PropTypes.func.isRequired,\r\n // An object containing the current search parameters.\r\n // It's shape is dynamic and depends on the provided API.\r\n searchParams: PropTypes.shape({\r\n pageNumber: PropTypes.number,\r\n pageSize: PropTypes.number,\r\n sortColumn: PropTypes.string,\r\n sortDirection: PropTypes.string,\r\n }),\r\n // An object containing the results of a search request.\r\n searchResults: PropTypes.shape({\r\n isFetching: PropTypes.bool.isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})),\r\n page: PropTypes.number,\r\n }),\r\n // Pass a function to fire whenever you click on the table row.\r\n // Accepts a single argument which contains table row data.\r\n rowOnClick: PropTypes.func,\r\n // A unique inentifier used to create a container inside redux store to maintain table state.\r\n reduxIdentifier: PropTypes.string.isRequired,\r\n // CSS classname for the div container wrapping the table.\r\n className: PropTypes.string,\r\n // Name of the object returned by the API as a response to a search request.\r\n // This might differ from reduxIdentifier.\r\n responseObjectName: PropTypes.string,\r\n // An object which defines the default search parameters used in the inital search\r\n initialSearchParams: PropTypes.shape({\r\n pageNumber: PropTypes.number,\r\n pageSize: PropTypes.number,\r\n }).isRequired,\r\n // If not null, whenever there are no records to display,\r\n // the table will be replaced with the provided component\r\n noDataComponent: PropTypes.node,\r\n // If true, the initial search will not be performed\r\n disableGetOnLoad: PropTypes.bool,\r\n triggerReload: PropTypes.bool,\r\n filterParams: PropTypes.shape({}),\r\n};\r\n\r\nexport default Table;\r\n","import React from 'react';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\n\r\nexport default function CommunityTabs() {\r\n const [value, setValue] = React.useState(2);\r\n\r\n const handleChange = (event, newValue) => {\r\n setValue(newValue);\r\n };\r\n\r\n return (\r\n \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 React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { refSetter } from '../../../utils/helpers';\r\n\r\nconst POSITION = {\r\n BOTTOM: 'bottom',\r\n LEFT: 'left',\r\n RIGHT: 'right',\r\n TOP: 'top',\r\n CUSTOM: 'custom',\r\n};\r\n\r\nclass Tooltip extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n visible: false,\r\n positionSettings: {\r\n top: 0,\r\n left: 0,\r\n class: '',\r\n },\r\n };\r\n }\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n toggleTooltip = e => {\r\n if (!this.state.visible) {\r\n this.setState({ visible: true });\r\n this.setState({ positionSettings: this.calculatePosition(this.wrapperRef) });\r\n document.addEventListener('click', this.toggleTooltip);\r\n } else {\r\n e.stopPropagation();\r\n if (this.tooltipRef && !this.tooltipRef.contains(e.target)) {\r\n this.setState({ visible: false });\r\n document.removeEventListener('click', this.toggleTooltip);\r\n }\r\n }\r\n };\r\n\r\n generateStyle = () => ({\r\n display: this.state.visible ? 'block' : 'none',\r\n left: this.state.positionSettings.left,\r\n top: this.state.positionSettings.top,\r\n });\r\n\r\n calculatePosition = node => {\r\n const { placement } = this.props;\r\n const position = {\r\n top: 0,\r\n left: 0,\r\n };\r\n const element = node.getBoundingClientRect();\r\n switch (placement) {\r\n case POSITION.BOTTOM:\r\n position.left = element.width / 2;\r\n position.top = element.height;\r\n position.class = 'tooltip-bottom';\r\n break;\r\n\r\n case POSITION.RIGHT:\r\n position.left = element.width;\r\n position.top = element.height / 2;\r\n position.class = 'tooltip-right';\r\n break;\r\n\r\n case POSITION.LEFT:\r\n position.top = element.height / 2;\r\n position.class = 'tooltip-left';\r\n break;\r\n\r\n default:\r\n case POSITION.TOP:\r\n position.left = element.width / 2;\r\n position.class = 'tooltip-top';\r\n break;\r\n\r\n case POSITION.CUSTOM:\r\n position.top = element.height;\r\n position.left = '-10px';\r\n position.class = 'tooltip-custom';\r\n break;\r\n }\r\n return position;\r\n };\r\n\r\n render() {\r\n const { content, children } = this.props;\r\n const { positionSettings } = this.state;\r\n\r\n return (\r\n
    \r\n {children}\r\n \r\n
    \r\n
    \r\n
    {content}
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTooltip.defaultProps = {\r\n placement: 'top',\r\n content: '',\r\n};\r\n\r\nTooltip.propTypes = {\r\n placement: PropTypes.oneOf(['top', 'right', 'bottom', 'left', 'custom']),\r\n content: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default Tooltip;\r\n","/* eslint-disable react/no-array-index-key */\r\nimport React from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Button from '@material-ui/core/Button';\r\nimport Box from '@material-ui/core/Box';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport ReportProblemIcon from '@material-ui/icons/ReportProblem';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nexport default function WarningSidePanel({ warningMessage, events, errorMsg = null }) {\r\n const locale = globals.getArea('userActions');\r\n\r\n const errorPlaceholder = () => {\r\n if (errorMsg === null) return null;\r\n\r\n return (\r\n \r\n {errorMsg ? errorMsg.message.split('\\n').map((it, i) =>

    {it}

    ) : null}\r\n
    \r\n );\r\n };\r\n\r\n const headerRender = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n Confirm\r\n \r\n \r\n events.handleWarningPanel(false)}>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const contentRender = () => {\r\n return (\r\n
    \r\n {errorPlaceholder()}\r\n
    \r\n \r\n {locale.getMsg('warning')}\r\n {warningMessage}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const footerRender = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n events.handleWarningPanel(false)}\r\n >\r\n {locale.getMsg('back')}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}} onClose={() => {}}>\r\n
    \r\n {headerRender()}\r\n {contentRender()}\r\n {footerRender()}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import { connect } from 'react-redux';\r\nimport AutoAllocateWeightings from '../../../components/Admin/AutoAllocateWeightings/AutoAllocateWeightings';\r\nimport { getAutoAllocateWeightings, updateAutoAllocateWeightings } from '../../../actions/areas/admin';\r\n\r\nconst mapStateToProps = state => {\r\n const {\r\n uiElements: { tables },\r\n } = state;\r\n return {\r\n tables,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getAutoAllocateWeightings: () => dispatch(getAutoAllocateWeightings()),\r\n updateAutoAllocateWeightings: data => dispatch(updateAutoAllocateWeightings(data)),\r\n});\r\n\r\nconst AutoAllocateWeightingsPage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(AutoAllocateWeightings);\r\n\r\nexport default AutoAllocateWeightingsPage;\r\n","import { connect } from 'react-redux';\r\nimport ConfigureTimeSlots from '../../../components/Admin/ConfigureTimeSlots/ConfigureTimeSlots';\r\nimport { getDefaultTimeSlotsPackage, saveTimeSlotsPackage } from '../../../actions/entities/timeSlots';\r\nimport { addTimeSlot, editTimeSlot, deleteTimeSlot } from '../../../actions/uiElements/timeSlotConfiguration';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst mapStateToProps = ({ entities: { timeSlots }, global: { auth } }) => {\r\n const access = auth.featureAccessList;\r\n const { isFetching, timeSlotPackage, validationMessage } = timeSlots.defaultPackage;\r\n return {\r\n isFetching,\r\n defaultTimeSlotPackage: timeSlotPackage,\r\n validationMessage,\r\n access,\r\n canEditTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canEditTreatments),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getDefaultTimeSlotsPackage: async () => await dispatch(getDefaultTimeSlotsPackage()),\r\n addTimeSlot: newTimeSlot => dispatch(addTimeSlot(newTimeSlot)),\r\n editTimeSlot: timeSlotToEdit => dispatch(editTimeSlot(timeSlotToEdit)),\r\n deleteTimeSlot: timeSlotName => dispatch(deleteTimeSlot(timeSlotName)),\r\n save: timeSlots => dispatch(saveTimeSlotsPackage(timeSlots)),\r\n});\r\n\r\nconst ConfigureTimeSlotsContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ConfigureTimeSlots);\r\n\r\nexport default ConfigureTimeSlotsContainer;\r\n","import { connect } from 'react-redux';\r\nimport ReferralPrioritesForm from '../../../components/Admin/ReferralPriorities/ReferralPrioritesForm';\r\nimport { createReferralPriority, updateReferralPriority } from '../../../actions/entities/referralPriorities';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst mapStateToProps = ({ global: { auth } }) => {\r\n const access = auth.featureAccessList;\r\n return {\r\n access,\r\n canEditTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canEditTreatments),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n createReferralPriority: name => dispatch(createReferralPriority(name)),\r\n updateReferralPriority: referralPriorityId => dispatch(updateReferralPriority(referralPriorityId)),\r\n});\r\n\r\nconst ReferralPrioritesFormPage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ReferralPrioritesForm);\r\n\r\nexport default ReferralPrioritesFormPage;\r\n","import { connect } from 'react-redux';\r\nimport moment from 'moment';\r\nimport ReferralServicesForm from '../../../components/Admin/ReferralServices/ReferralServicesForm';\r\nimport {\r\n createReferralService,\r\n updateReferralService,\r\n dismissError,\r\n getFutureAssignedInstancesForReferralService,\r\n} from '../../../actions/entities/referralServices/index';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst mapStateToProps = ({ global: { auth }, entities: { referralServices } }) => {\r\n const access = auth.featureAccessList;\r\n return {\r\n access,\r\n canEditTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canEditTreatments),\r\n failureMessage: referralServices.referralService.failure,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n createReferralService: name => dispatch(createReferralService(name)),\r\n updateReferralService: referralServiceId => dispatch(updateReferralService(referralServiceId)),\r\n dismissError: () => dispatch(dismissError()),\r\n validateReferralService: data =>\r\n dispatch(\r\n getFutureAssignedInstancesForReferralService(\r\n data.serviceId,\r\n moment(data.endDate).format(globals.dateFormats.localApiFormat),\r\n ),\r\n ),\r\n});\r\n\r\nconst ReferralServicesContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ReferralServicesForm);\r\n\r\nexport default ReferralServicesContainer;\r\n","import { connect } from 'react-redux';\r\nimport ReferralSourcesForm from '../../../components/Admin/ReferralSources/ReferralSourcesForm';\r\nimport { createReferralSource, updateReferralSource } from '../../../actions/entities/referralSources';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst mapStateToProps = ({ global: { auth } }) => {\r\n const access = auth.featureAccessList;\r\n return {\r\n access,\r\n canEditTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canEditTreatments),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n createReferralSource: name => dispatch(createReferralSource(name)),\r\n updateReferralSource: referralSourceId => dispatch(updateReferralSource(referralSourceId)),\r\n});\r\n\r\nconst ReferralSourcesFormPage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ReferralSourcesForm);\r\n\r\nexport default ReferralSourcesFormPage;\r\n","import { connect } from 'react-redux';\r\nimport SystemInfo from '../../../features/Admin/SystemInfo/SystemInfo';\r\nimport { synchronize, getSystemInfo, getSynchronizationDetails } from '../../../actions/areas/admin';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\n\r\nconst mapStateToProps = ({ areas: { admin }, global: { auth } }) => {\r\n const { isSyncDetailsFetching, isSysInfoFetching, sysInfo, syncDetails } = admin.systemInfo;\r\n return {\r\n isSysInfoFetching,\r\n isSyncDetailsFetching,\r\n sysInfo,\r\n syncDetails,\r\n canTriggerSync: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canTriggerSync),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n handleSynchronize: async (dateFrom, dateTo) => {\r\n await dispatch(synchronize(dateFrom, dateTo));\r\n dispatch(getSynchronizationDetails());\r\n },\r\n getSysInfo: () => dispatch(getSystemInfo()),\r\n getSyncDetails: () => dispatch(getSynchronizationDetails()),\r\n});\r\n\r\nconst SystemInfoPage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(SystemInfo);\r\n\r\nexport default SystemInfoPage;\r\n","import { connect } from 'react-redux';\r\nimport Callback from '../../features/Callback/Callback';\r\nimport { callback, error } from '../../actions/global/auth';\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n login: jwtToken => {\r\n dispatch(callback(jwtToken));\r\n },\r\n error: message => {\r\n dispatch(error(message));\r\n },\r\n});\r\n\r\nconst CallbackPage = connect(\r\n null,\r\n mapDispatchToProps,\r\n)(Callback);\r\n\r\nexport default CallbackPage;\r\n","import { connect } from 'react-redux';\r\nimport AutoAllocateIndicator from '../../../components/DailyPlanning/AutoAllocate/AutoAllocateIndicator';\r\nimport { refreshScheduler, autoAllocate, autoUnallocate } from '../../../actions/areas/dailyPlanning';\r\n\r\nconst mapStateToProps = ({ areas: { dailyPlanning } }) => {\r\n const {\r\n autoAllocate: { isAllocating },\r\n } = dailyPlanning;\r\n return {\r\n isAllocating,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n autoAllocate: queryData => dispatch(autoAllocate(queryData)),\r\n autoUnallocate: queryData => dispatch(autoUnallocate(queryData)),\r\n refreshScheduler: () => dispatch(refreshScheduler()),\r\n});\r\n\r\nconst AutoAllocateIndicatorContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(AutoAllocateIndicator);\r\n\r\nexport default AutoAllocateIndicatorContainer;\r\n","import { connect } from 'react-redux';\r\nimport { createSelector } from 'reselect';\r\nimport ClinicianHeader from '../../../components/DailyPlanning/ClinicianHeader/ClinicianHeader';\r\nimport { selectClinicianOnMap, downloadPlan } from '../../../actions/areas/dailyPlanning';\r\nimport { selectSchedulerMapView, selectJwtToken, selectPostcodeDistance } from '../../../reducers/areas/dailyPlanning';\r\n\r\nconst filteredDataSelector = createSelector(\r\n selectSchedulerMapView,\r\n selectJwtToken,\r\n selectPostcodeDistance,\r\n (schedulerMapView, jwtToken, postcodeDistance) => ({\r\n mapViewState: schedulerMapView.mapViewState,\r\n jwtToken,\r\n selectedClinicianId: schedulerMapView.selectedClinicianId,\r\n postcodeDistance,\r\n }),\r\n);\r\n\r\nconst mapStateToProps = state => {\r\n const data = filteredDataSelector(state);\r\n return data;\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n selectClinician: clinicianId => dispatch(selectClinicianOnMap(clinicianId)),\r\n downloadPlan: (clinicianId, date, jwtToken, name) => dispatch(downloadPlan(clinicianId, date, jwtToken, name)),\r\n});\r\n\r\nconst ClinicianHeaderContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n null,\r\n { pure: false },\r\n)(ClinicianHeader);\r\n\r\nexport default ClinicianHeaderContainer;\r\n","import { connect } from 'react-redux';\r\nimport DailyPlanning from '../../components/DailyPlanning/DailyPlanning';\r\nimport { getSettings, getCurrentUserOrgUnits } from '../../actions/entities';\r\nimport { getDailyPlanningDetails, setDefaultOrgUnitForDay } from '../../actions/areas/dailyPlanning';\r\nimport { selectSelectedDate, selectSelectedTeam } from '../../reducers/areas/dailyPlanning';\r\n\r\nconst mapStateToProps = state => {\r\n const {\r\n entities: { settings, orgUnits },\r\n } = state;\r\n return {\r\n selectedDate: selectSelectedDate(state),\r\n selectedTeam: selectSelectedTeam(state),\r\n appSettings: settings.appSettings,\r\n teams: orgUnits.general.teams,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setDefaultOrgUnitForDay: orgUnitId => dispatch(setDefaultOrgUnitForDay(orgUnitId)),\r\n getAppSettings: kv => {\r\n dispatch(getSettings(kv));\r\n },\r\n getDailyPlanningDetails: () => dispatch(getDailyPlanningDetails()),\r\n getAllTeams: date => dispatch(getCurrentUserOrgUnits(date)),\r\n});\r\n\r\nconst DailyPlanningPage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n null,\r\n { pure: false },\r\n)(DailyPlanning);\r\n\r\nexport default DailyPlanningPage;\r\n","import { connect } from 'react-redux';\r\nimport DailySidePanel from '../../../components/DailyPlanning/DailySidePanel/DailySidePanel';\r\nimport { selectDateAndUpdateReload } from '../../../actions/areas/dailyPlanning';\r\nimport { selectSelectedDate } from '../../../reducers/areas/dailyPlanning';\r\n\r\nconst mapStateToProps = state => ({\r\n selectedDate: selectSelectedDate(state),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n changeDate: date => dispatch(selectDateAndUpdateReload(date)),\r\n});\r\n\r\nconst DailyCalendarSidePanel = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(DailySidePanel);\r\n\r\nexport default DailyCalendarSidePanel;\r\n","import { connect } from 'react-redux';\r\nimport DateSelector from '../../../components/common/DateSelector/DateSelector';\r\nimport { selectDateAndUpdateReload } from '../../../actions/areas/dailyPlanning';\r\nimport { selectSelectedDate, selectCurrentPath } from '../../../reducers/areas/dailyPlanning';\r\n\r\nconst mapStateToProps = state => ({\r\n selectedDate: selectSelectedDate(state),\r\n currentPath: selectCurrentPath(state),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n changeDate: (date, currentPath) => dispatch(selectDateAndUpdateReload(date, currentPath)),\r\n});\r\n\r\nconst DateController = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(DateSelector);\r\n\r\nexport default DateController;\r\n","import { connect } from 'react-redux';\r\nimport LunchBreak from '../../../components/DailyPlanning/LunchBreak/LunchBreak';\r\nimport { updateLunchBreak } from '../../../actions/entities/lunchBreaks';\r\nimport { refreshScheduler, getTravelTimesByPostcode } from '../../../actions/areas/dailyPlanning';\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n updateLunchBreak: data => dispatch(updateLunchBreak(data)),\r\n refreshScheduler: () => dispatch(refreshScheduler()),\r\n getTravelTimesByPostcode: postcode => dispatch(getTravelTimesByPostcode(postcode)),\r\n});\r\n\r\nconst LunchBreakContainer = connect(\r\n null,\r\n mapDispatchToProps,\r\n)(LunchBreak);\r\n\r\nexport default LunchBreakContainer;\r\n","import { connect } from 'react-redux';\r\nimport Scheduler from '../../../components/DailyPlanning/Scheduler/Scheduler';\r\nimport {\r\n dismissErrors,\r\n changeSchedulerMapView,\r\n setAutoAllocationLogSetting,\r\n toggleSchedulerModeView,\r\n getDailyPlanningDetails,\r\n} from '../../../actions/areas/dailyPlanning';\r\nimport { getPostings, getLocationsForPostings, getSettings, resetPostings } from '../../../actions/entities';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { selectSelectedDate, selectSelectedTeam } from '../../../reducers/areas/dailyPlanning';\r\nimport { getSelectorOptions } from '../../../actions/uiElements/selectors';\r\nimport { bandsEndpoint, autoAllocationStatuses } from '../../../settings/constants';\r\n\r\nimport {\r\n selectDenormalizedPostings,\r\n selectPostingLocationsWithBands,\r\n} from '../../../reducers/entities/postings/selectors';\r\n\r\nconst mapStateToProps = state => {\r\n const {\r\n areas: { dailyPlanning },\r\n entities: { postings, settings },\r\n global: { auth },\r\n areas: {\r\n dailyPlanning: { autoAllocate },\r\n },\r\n } = state;\r\n const { dayStart, dayEnd } = postings.general;\r\n\r\n const denormalizedPostings = selectDenormalizedPostings(state);\r\n return {\r\n isAutoAllocating: autoAllocate.status !== autoAllocationStatuses.IDLE,\r\n isUnAllocating: autoAllocate.isUnAllocating,\r\n autoAllocateDate: autoAllocate.date,\r\n autoAllocateTeamId: autoAllocate.teamId,\r\n isAutoAllocateInProgress:\r\n autoAllocate.status !== autoAllocationStatuses.IDLE || autoAllocate.isAllocating || autoAllocate.isUnAllocating,\r\n selectedDate: selectSelectedDate(state),\r\n selectedTeam: selectSelectedTeam(state),\r\n postings: denormalizedPostings instanceof Array ? denormalizedPostings : [],\r\n locationsForPostings: selectPostingLocationsWithBands(state),\r\n settings: settings.systemSettings,\r\n dayStart,\r\n dayEnd,\r\n serverDateTime: postings.general.serverDateTime || postings.locations.serverDateTime,\r\n isFetching: postings.general.isFetching || postings.locations.isFetching,\r\n canAllocateWork: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canAllocateWork),\r\n failureMessage: dailyPlanning.userMessages.failure,\r\n successMessage: dailyPlanning.userMessages.success,\r\n selectedClinicianId: dailyPlanning.schedulerMapView.selectedClinicianId,\r\n mapViewState: dailyPlanning.schedulerMapView.mapViewState,\r\n downloadingPlan: dailyPlanning.clinicianPlan.downloading,\r\n appSettings: settings.appSettings,\r\n isNightMode: dailyPlanning.scheduler.isNightMode,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n dismissErrors: () => {\r\n dispatch(dismissErrors());\r\n },\r\n getAppSettings: kv => dispatch(getSettings(kv)),\r\n changeSchedulerMapView: isMapView => dispatch(changeSchedulerMapView(isMapView)),\r\n setAutoAllocationLogSetting: log => dispatch(setAutoAllocationLogSetting(log)),\r\n fetchPostings: (forceUpdate, silent, isNightMode, selectedDate, schedulerModeStartTime, schedulerModeEndTime) => {\r\n dispatch(getSelectorOptions(bandsEndpoint, 'bands'));\r\n dispatch(getPostings(forceUpdate, silent, isNightMode, selectedDate, schedulerModeStartTime, schedulerModeEndTime));\r\n },\r\n fetchLocationsForPostings: forceUpdate => {\r\n dispatch(getSelectorOptions(bandsEndpoint, 'bands'));\r\n dispatch(getLocationsForPostings(forceUpdate));\r\n },\r\n toggleSchedulerModeView: () => {\r\n dispatch(dismissErrors());\r\n dispatch(toggleSchedulerModeView());\r\n dispatch(resetPostings());\r\n dispatch(getDailyPlanningDetails());\r\n },\r\n});\r\n\r\nconst SchedulerWithClinicians = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(Scheduler);\r\n\r\nexport default SchedulerWithClinicians;\r\n","import { connect } from 'react-redux';\r\nimport Stats from '../../../components/DailyPlanning/Stats/Stats';\r\n\r\nconst mapStateToProps = ({ entities: { postings, treatmentInstances } }) => ({\r\n availableHours: postings.general.availableTime,\r\n allocatedHours: postings.general.assignedTime,\r\n allocatedHoursForAssignments: postings.general.assignedTimeForAssignments,\r\n allocatedHoursForNonPatientAssignments: postings.general.assignedTimeForNonPatientAssignments,\r\n unallocatedHours: treatmentInstances.general.unallocatedTime,\r\n});\r\n\r\nconst StatsWithHours = connect(mapStateToProps)(Stats);\r\n\r\nexport default StatsWithHours;\r\n","import { connect } from 'react-redux';\r\nimport {\r\n getTravelTimesByPostcode,\r\n getTeamAvailability,\r\n getPostcodeDistance,\r\n} from '../../../actions/areas/dailyPlanning';\r\nimport { deleteAssignment, rescheduleAssignment, getTreatmentInstanceByAssignmentId } from '../../../actions/entities';\r\nimport TimelineAssignment from '../../../components/DailyPlanning/TimelineAssignment/TimelineAssignment';\r\nimport { selectAssignmentById } from '../../../reducers/entities/postings/selectors';\r\nimport {\r\n getPostingsUpdateDataAfterReschedule,\r\n getPostingsUpdateDataAfterUnAssign,\r\n getCopiesPostings,\r\n} from '../../../actions/entities/postings';\r\nimport {\r\n getTreatmentInstancesCopies,\r\n removeTreatmentInstanceCopies,\r\n} from '../../../actions/entities/treatmentInstances';\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n const {\r\n global: { auth },\r\n areas: { dailyPlanning },\r\n } = state;\r\n return {\r\n assignment: selectAssignmentById(state, ownProps),\r\n travelTime: state.entities.postings.general.travelTimes[ownProps.postcode],\r\n jwtToken: auth.jwtToken,\r\n teamId: dailyPlanning.filters.selectedTeam,\r\n selectedDate: dailyPlanning.selectedDate,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n rescheduleAssignment: (assignGuid, oldPostingId, postingId, newAssignmentTime) =>\r\n dispatch(rescheduleAssignment(assignGuid, oldPostingId, postingId, newAssignmentTime)),\r\n removeAssignment: (id, assignGuid, postingId) => dispatch(deleteAssignment(id, assignGuid, postingId)),\r\n getTravelTimesByPostcode: postcode => dispatch(getTravelTimesByPostcode(postcode)),\r\n getCopiesPostings: newAssignmentId => dispatch(getCopiesPostings(newAssignmentId)),\r\n getPostcodeDistance: postcode => dispatch(getPostcodeDistance(postcode)),\r\n\r\n refreshSchedulerAfterReschedule: async (\r\n assignGuid,\r\n newAssignmentId,\r\n postingId,\r\n newPostingId,\r\n date,\r\n treatmentInstanceId,\r\n teamId,\r\n isPatientAssignment,\r\n doesHaveCopies,\r\n jwtToken,\r\n ) => {\r\n await dispatch(getPostingsUpdateDataAfterReschedule(assignGuid, newAssignmentId, postingId, newPostingId, date));\r\n if (isPatientAssignment && doesHaveCopies) {\r\n await dispatch(removeTreatmentInstanceCopies(treatmentInstanceId));\r\n await dispatch(getTreatmentInstancesCopies(newAssignmentId, teamId, jwtToken));\r\n }\r\n await dispatch(getTeamAvailability(teamId, date, jwtToken, 0));\r\n },\r\n refreshSchedulerAfterUnassign: async (\r\n assignGuid,\r\n newAssignmentId,\r\n postingId,\r\n date,\r\n duration,\r\n teamId,\r\n treatmentInstanceId,\r\n jwtToken,\r\n ) => {\r\n await dispatch(getPostingsUpdateDataAfterUnAssign(assignGuid, newAssignmentId, postingId, date, teamId));\r\n await dispatch(removeTreatmentInstanceCopies(treatmentInstanceId, jwtToken));\r\n await dispatch(getTreatmentInstanceByAssignmentId(newAssignmentId, teamId));\r\n await dispatch(getTeamAvailability(teamId, date, jwtToken, -duration));\r\n },\r\n});\r\n\r\nconst TimelineAssignmentContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TimelineAssignment);\r\n\r\nexport default TimelineAssignmentContainer;\r\n","import { connect } from 'react-redux';\r\nimport { getAssignmentInfo, resetPopover, getHomeToVisitPostcodeDistance } from '../../../actions/areas/dailyPlanning';\r\nimport TimelineAssignmentPopover from '../../../components/DailyPlanning/TimelineAssignment/TimelineAssignmentPopover';\r\nimport { dismissError } from '../../../actions/areas/dailyPlanning/homeToVisitUserMessages';\r\n\r\nconst mapStateToProps = ({ areas: { dailyPlanning } }) => ({\r\n description: dailyPlanning.assignmentInfo.description,\r\n timeSlots: dailyPlanning.assignmentInfo.timeSlots,\r\n distance: dailyPlanning.assignmentDistanceInfo.distance,\r\n isFetchingDistance: dailyPlanning.assignmentDistanceInfo.isFetching,\r\n failureMessage: dailyPlanning.assignmentDistanceMessages.failure,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getAssignmentInfo: id => dispatch(getAssignmentInfo(id)),\r\n resetPopover: () => dispatch(resetPopover()),\r\n dismissError: () => dispatch(dismissError()),\r\n getHomeToVisitPostcodeDistance: (treeatmentId, assignmentId) =>\r\n dispatch(getHomeToVisitPostcodeDistance(treeatmentId, assignmentId)),\r\n});\r\n\r\nconst TimelineAssignmentPopoverContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TimelineAssignmentPopover);\r\n\r\nexport default TimelineAssignmentPopoverContainer;\r\n","import { connect } from 'react-redux';\r\nimport {\r\n makeSortedAssignmentsArraySelector,\r\n selectAvailabilityById,\r\n} from '../../../reducers/entities/postings/selectors';\r\nimport TimelineAvailability from '../../../components/DailyPlanning/TimelineAvailability/TimelineAvailability';\r\n\r\n// Used for memoization\r\nconst makeMapStateToProps = () => {\r\n const selectSortedAssignmentsArrayByAvaliabilityId = makeSortedAssignmentsArraySelector();\r\n const mapStateToProps = (state, props) => ({\r\n sortedAssignments: selectSortedAssignmentsArrayByAvaliabilityId(state, props),\r\n availability: selectAvailabilityById(state, props),\r\n });\r\n return mapStateToProps;\r\n};\r\n\r\nconst TimelineAssignmentContainer = connect(\r\n makeMapStateToProps(),\r\n null,\r\n)(TimelineAvailability);\r\n\r\nexport default TimelineAssignmentContainer;\r\n","import { connect } from 'react-redux';\r\nimport TreatmentFilterBox from '../../../components/DailyPlanning/TreatmentFilterBox/TreatmentFilterBox';\r\nimport {\r\n setTreatmentInstanceSorting,\r\n updateFiltersAndRefresh,\r\n autoAllocate,\r\n autoUnallocate,\r\n refreshScheduler,\r\n} from '../../../actions/areas/dailyPlanning';\r\nimport { getServicesDetails } from '../../../actions/areas/dailyPlanning/serviceDetails';\r\nimport {\r\n getDefaultOrgUnitForDay,\r\n getPostings,\r\n getTreatmentInstances,\r\n getCurrentUserOrgUnits,\r\n resetPostings,\r\n} from '../../../actions/entities';\r\nimport { getSelectorOptions } from '../../../actions/uiElements/selectors';\r\nimport { bandsEndpoint, autoAllocationStatuses } from '../../../settings/constants';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nexport function buildHierarchy(teamStructure = {}, startLevel, startId) {\r\n const result = {};\r\n\r\n if (!teamStructure[0]) {\r\n return { [startLevel]: startId };\r\n }\r\n\r\n try {\r\n for (let i = startLevel; i >= 0; i -= 1) {\r\n if (i === startLevel) {\r\n result[i] = startId;\r\n } else {\r\n result[i] = teamStructure[i + 1][result[i + 1]].parent;\r\n }\r\n }\r\n return result;\r\n } catch (error) {\r\n return { error };\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ areas: { dailyPlanning }, entities: { orgUnits, postings }, global: { auth } }) => {\r\n const { filters, selectedDate, treatmentInstanceSorting: sorting } = dailyPlanning;\r\n return {\r\n sorting,\r\n orgStructureDepth: filters.orgStructureDepth,\r\n teams: orgUnits.general.teams,\r\n isFetching: orgUnits.general.isFetching,\r\n selectedHierarchy: buildHierarchy(orgUnits.general.entities, filters.orgStructureDepth - 1, filters.selectedTeam),\r\n serverDateTime: postings.general.serverDateTime,\r\n selectedTeam: filters.selectedTeam,\r\n selectedDate,\r\n isAllocating: dailyPlanning.autoAllocate.isAllocating,\r\n isUnAllocating: dailyPlanning.autoAllocate.isUnAllocating,\r\n autoAllocationStatus: dailyPlanning.autoAllocate.status || autoAllocationStatuses.IDLE,\r\n autoAllocationProgress: dailyPlanning.autoAllocate.progress,\r\n autoAllocateDate: dailyPlanning.autoAllocate.date,\r\n autoAllocateTeamId: dailyPlanning.autoAllocate.teamId,\r\n autoAllocationTeamName: dailyPlanning.autoAllocate.teamName,\r\n autoAllocationHeartBeat: dailyPlanning.autoAllocate.heartBeat,\r\n createAutoAllocationLog: dailyPlanning.autoAllocate.createLog,\r\n syncProgress: dailyPlanning.autoAllocate.syncProgress,\r\n canAllocateWork: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canAllocateWork),\r\n isNightMode: dailyPlanning.scheduler.isNightMode,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, { selectedDate }) => ({\r\n setSorting: sorting =>\r\n dispatch(\r\n setTreatmentInstanceSorting({\r\n orderBy: sorting[0].name,\r\n orderDir: sorting[0].clickedBefore ? 'desc' : 'asc',\r\n }),\r\n ),\r\n updateFilters: filter => dispatch(updateFiltersAndRefresh(filter)),\r\n noTeamStructureEscape: async () => {\r\n try {\r\n await dispatch(getDefaultOrgUnitForDay(selectedDate));\r\n await dispatch(getSelectorOptions(bandsEndpoint, 'bands'));\r\n await dispatch(getCurrentUserOrgUnits(selectedDate));\r\n dispatch(getPostings(true));\r\n dispatch(getTreatmentInstances(true));\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n }\r\n },\r\n autoAllocate: queryData => {\r\n dispatch(resetPostings());\r\n dispatch(autoAllocate(queryData));\r\n },\r\n autoUnallocate: queryData => dispatch(autoUnallocate(queryData)),\r\n getServicesDetails: () => dispatch(getServicesDetails()),\r\n refreshScheduler: () => dispatch(refreshScheduler()),\r\n});\r\n\r\nconst VisibleTreatmentFilterBox = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TreatmentFilterBox);\r\n\r\nexport default VisibleTreatmentFilterBox;\r\n","import { connect } from 'react-redux';\r\nimport TreatmentInstanceDialogOpener from '../../../components/DailyPlanning/TreatmentInstanceDialogOpener/TreatmentInstanceDialogOpener';\r\nimport { getTreatmentInstanceDetails } from '../../../actions/areas/dailyPlanning';\r\nimport { showDialog } from '../../../actions/uiElements';\r\n\r\nconst mapStateToProps = ({ uiElements: { dialogs } }) => ({ dialogs });\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n show: id => dispatch(showDialog(id)),\r\n getTreatmentData: async (id, instanceId, occurrence) => {\r\n await dispatch(getTreatmentInstanceDetails(id, instanceId, occurrence));\r\n },\r\n});\r\n\r\nconst TreatmentInstanceDialogOpenerContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TreatmentInstanceDialogOpener);\r\n\r\nexport default TreatmentInstanceDialogOpenerContainer;\r\n","import { connect } from 'react-redux';\r\nimport { push } from 'connected-react-router';\r\nimport { getTreatmentInstances, cancelTreatmentInstance } from '../../../../actions/entities';\r\nimport TreatmentInstanceDialogCancellation from '../../../../components/DailyPlanning/TreatmentInstanceDialog/Cancellation/TreatmentInstanceDialogCancellation';\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n navigate: url => dispatch(push(url)),\r\n cancel: async (treatmentId, treatmentInstanceId, reasonId, riskAssesment, dateAt, timeSlots) => {\r\n await dispatch(\r\n cancelTreatmentInstance(treatmentId, treatmentInstanceId, reasonId, riskAssesment, dateAt, timeSlots),\r\n );\r\n dispatch(getTreatmentInstances(true));\r\n },\r\n});\r\n\r\nconst TreatmentInstanceDialogCancellationContainer = connect(\r\n null,\r\n mapDispatchToProps,\r\n)(TreatmentInstanceDialogCancellation);\r\n\r\nexport default TreatmentInstanceDialogCancellationContainer;\r\n","import { connect } from 'react-redux';\r\nimport { push } from 'connected-react-router';\r\nimport { refreshScheduler } from '../../../../actions/areas/dailyPlanning/scheduler';\r\nimport TreatmentInstanceDialogEdition from '../../../../components/DailyPlanning/TreatmentInstanceDialog/Edition/TreatmentInstanceDialogEdition';\r\nimport { updateTreatmentInstance, getTreatmentInstances } from '../../../../actions/entities';\r\n\r\nconst mapStateToProps = ({\r\n entities: { treatments, timeSlots },\r\n areas: {\r\n dailyPlanning: { availableDatePeriod },\r\n },\r\n}) => {\r\n const { isFetching, treatment } = treatments.previewed;\r\n const { isFetchingTimeSlots, timeSlotPackage } = timeSlots.defaultPackage;\r\n\r\n return {\r\n isFetching: isFetching || isFetchingTimeSlots,\r\n treatment,\r\n defaultTimeSlotPackage: timeSlotPackage,\r\n occurenceRange: availableDatePeriod,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n navigate: url => dispatch(push(url)),\r\n save: async treatment => {\r\n await dispatch(updateTreatmentInstance(treatment));\r\n dispatch(getTreatmentInstances(true));\r\n dispatch(refreshScheduler());\r\n },\r\n});\r\n\r\nconst TreatmentInstanceDialogEditionContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TreatmentInstanceDialogEdition);\r\n\r\nexport default TreatmentInstanceDialogEditionContainer;\r\n","import { connect } from 'react-redux';\r\nimport { push } from 'connected-react-router';\r\nimport { refreshScheduler } from '../../../../actions/areas/dailyPlanning/scheduler';\r\nimport TreatmentInstanceDialogMoving from '../../../../components/DailyPlanning/TreatmentInstanceDialog/Moving/TreatmentInstanceDialogMoving';\r\nimport { updateTreatmentInstance, getTreatmentInstances } from '../../../../actions/entities';\r\n\r\nconst mapStateToProps = ({\r\n entities: { treatments, timeSlots },\r\n areas: {\r\n dailyPlanning: { availableDatePeriod },\r\n },\r\n}) => {\r\n const { isFetching, treatment } = treatments.previewed;\r\n const { isFetchingTimeSlots, timeSlotPackage } = timeSlots.defaultPackage;\r\n\r\n return {\r\n isFetching: isFetching || isFetchingTimeSlots,\r\n treatment,\r\n defaultTimeSlotPackage: timeSlotPackage,\r\n occurenceRange: availableDatePeriod,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n navigate: url => dispatch(push(url)),\r\n move: async treatment => {\r\n await dispatch(updateTreatmentInstance(treatment));\r\n dispatch(getTreatmentInstances(true));\r\n dispatch(refreshScheduler());\r\n },\r\n});\r\n\r\nconst TreatmentInstanceDialogMovingContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TreatmentInstanceDialogMoving);\r\n\r\nexport default TreatmentInstanceDialogMovingContainer;\r\n","import { connect } from 'react-redux';\r\nimport TreatmentInstanceDialog from '../../../components/DailyPlanning/TreatmentInstanceDialog/TreatmentInstanceDialog';\r\nimport { hideDialog } from '../../../actions/uiElements';\r\nimport { selectTreatmentInstancesWithBands } from '../../../reducers/entities/treatmentInstances/selectors';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst mapStateToProps = state => {\r\n const {\r\n entities: { treatments },\r\n uiElements: { dialogs },\r\n global: { auth },\r\n } = state;\r\n const { isFetching, treatment } = treatments.previewed;\r\n return {\r\n isFetching,\r\n treatment,\r\n treatmentInstances: selectTreatmentInstancesWithBands(state),\r\n dialogs,\r\n canAllocateWork: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canAllocateWork),\r\n canEditTreaments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canEditTreaments),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n hide: id => dispatch(hideDialog(id)),\r\n});\r\n\r\nconst TreatmentInstanceDialogContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TreatmentInstanceDialog);\r\n\r\nexport default TreatmentInstanceDialogContainer;\r\n","import { connect } from 'react-redux';\r\nimport {\r\n getTravelTimesByPostcode,\r\n getTeamAvailability,\r\n getPostcodeDistance,\r\n} from '../../../actions/areas/dailyPlanning';\r\nimport {\r\n deleteAssignment,\r\n createAssignment,\r\n removeTreatmentInstance,\r\n removeCopyTreatmentInstance,\r\n} from '../../../actions/entities';\r\nimport { getPostingsUpdateDataAfterAssign } from '../../../actions/entities/postings';\r\nimport { getTreatmentInstancesCopies } from '../../../actions/entities/treatmentInstances';\r\nimport TreatmentInstance from '../../../components/DailyPlanning/TreatmentInstance/TreatmentInstance';\r\n\r\nconst mapStateToProps = ({ global: { auth }, areas: { dailyPlanning } }) => ({\r\n jwtToken: auth.jwtToken,\r\n teamId: dailyPlanning.filters.selectedTeam,\r\n selectedDate: dailyPlanning.selectedDate,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n assignTreatment: assignment => dispatch(createAssignment(assignment)),\r\n removeAssignment: (assignGuid, postingId) => dispatch(deleteAssignment(assignGuid, postingId)),\r\n refreshScheduler: async (assignGuid, newAssignmentId, postingId, date, jwtToken, masterTreatmentInstanceId) => {\r\n await dispatch(\r\n getPostingsUpdateDataAfterAssign(\r\n newAssignmentId,\r\n assignGuid,\r\n postingId,\r\n date,\r\n jwtToken,\r\n masterTreatmentInstanceId,\r\n ),\r\n );\r\n },\r\n removeTreatmentInstance: (treatmentId, assignGuid, occurrence, effectiveTimeSlots) =>\r\n dispatch(removeTreatmentInstance(treatmentId, assignGuid, occurrence, effectiveTimeSlots)),\r\n removeCopyTreatmentInstance: assignGuid => dispatch(removeCopyTreatmentInstance(assignGuid)),\r\n\r\n getTreatmentInstancesCopies: async (newAssignmentId, teamId, jwtToken) =>\r\n await dispatch(getTreatmentInstancesCopies(newAssignmentId, teamId, jwtToken)),\r\n\r\n getTeamAvailability: async (teamId, date, jwtToken, timeleft) =>\r\n await dispatch(getTeamAvailability(teamId, date, jwtToken, timeleft)),\r\n getTravelTimesByPostcode: postcode => dispatch(getTravelTimesByPostcode(postcode)),\r\n getPostcodeDistance: postcode => dispatch(getPostcodeDistance(postcode)),\r\n});\r\n\r\nconst TreatmentInstanceContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TreatmentInstance);\r\n\r\nexport default TreatmentInstanceContainer;\r\n","import { connect } from 'react-redux';\r\nimport TreatmentPanel from '../../../components/DailyPlanning/TreatmentPanel/TreatmentPanel';\r\nimport {\r\n getTreatmentInstances,\r\n getPostings,\r\n overrideTreatmentInstance,\r\n removeOverrideTreatmentInstance,\r\n} from '../../../actions/entities';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { selectSelectedDate, selectSelectedTeam } from '../../../reducers/areas/dailyPlanning';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport { selectSortedTreatmentInstancesWithBands } from '../../../reducers/entities/treatmentInstances/selectors';\r\nimport { autoAllocationStatuses } from '../../../settings/constants';\r\n\r\nconst mapStateToProps = state => {\r\n const {\r\n entities: { treatmentInstances },\r\n global: { auth },\r\n areas: {\r\n dailyPlanning: { autoAllocate },\r\n },\r\n } = state;\r\n const { isFetching, error } = treatmentInstances.general;\r\n const isAutoAllocating = autoAllocate.status !== autoAllocationStatuses.IDLE;\r\n const autoAllocateDate = autoAllocate.date;\r\n const autoAllocateTeamId = autoAllocate.teamIdisUnAllocating;\r\n\r\n return {\r\n isAutoAllocating,\r\n autoAllocateDate,\r\n autoAllocateTeamId,\r\n selectedDate: selectSelectedDate(state),\r\n selectedTeam: selectSelectedTeam(state),\r\n isFetching,\r\n treatmentInstances: selectSortedTreatmentInstancesWithBands(state),\r\n error,\r\n canAllocateWork: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canAllocateWork),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n fetchPostings: forceUpdate => dispatch(getPostings(forceUpdate)),\r\n overrideClinician: async (treatmentId, treatmentInstanceId, on, timeSlots) => {\r\n if (globals.now.isSameOrBefore(on, 'day')) {\r\n await dispatch(overrideTreatmentInstance(treatmentId, treatmentInstanceId, on, timeSlots));\r\n }\r\n\r\n dispatch(getTreatmentInstances(true, true));\r\n },\r\n removeOverrideClinician: async (treatmentInstanceId, on) => {\r\n if (globals.now.isSameOrBefore(on, 'day')) {\r\n await dispatch(removeOverrideTreatmentInstance(treatmentInstanceId));\r\n }\r\n\r\n dispatch(getTreatmentInstances(true, true));\r\n },\r\n});\r\n\r\nconst TreatmentPanelContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TreatmentPanel);\r\n\r\nexport default TreatmentPanelContainer;\r\n","import { connect } from 'react-redux';\r\nimport Dashboard from '../../components/Dashboard/Dashboard';\r\nimport { checkFeatureAccess } from '../../utils/helpers';\r\nimport globals from '../../globals/communityGlobals';\r\n\r\nconst mapStateToProps = ({ global: { auth } }) => {\r\n const access = auth.featureAccessList;\r\n return {\r\n access,\r\n canEditTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canEditTreatments),\r\n };\r\n};\r\n\r\nconst DashboardPage = connect(\r\n mapStateToProps,\r\n null,\r\n)(Dashboard);\r\n\r\nexport default DashboardPage;\r\n","import { connect } from 'react-redux';\r\nimport TeamAvailabilityForm from '../../../components/Dashboard/TeamAvailability/TeamAvailabilityForm';\r\nimport { getTeamAvailability } from '../../../actions/areas/Dashboard';\r\n\r\nconst mapStateToProps = ({\r\n areas: {\r\n dashboard: { teamAvailabilityReducer },\r\n },\r\n}) => {\r\n const { teamsAvailability } = teamAvailabilityReducer.teamsAvailability;\r\n const { isFetching } = teamAvailabilityReducer;\r\n return {\r\n teamsAvailability,\r\n isFetching,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getTeamAvailability: data => dispatch(getTeamAvailability(data)),\r\n});\r\n\r\nconst TeamAvailability = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TeamAvailabilityForm);\r\n\r\nexport default TeamAvailability;\r\n","import { connect } from 'react-redux';\r\nimport { push, goBack } from 'connected-react-router';\r\nimport NonPatientActivityCreate from '../../features/NonPatientActivities/Create/NonPatientActivityCreate';\r\nimport globals from '../../globals/communityGlobals';\r\nimport { checkFeatureAccess } from '../../utils/helpers';\r\nimport { createNonPatientActivity } from '../../actions/entities';\r\nimport { dismissError } from '../../actions/entities/nonPatientActivities';\r\n\r\nconst mapStateToProps = ({ global: { auth }, entities: { nonPatientActivities } }) => {\r\n const access = auth.featureAccessList;\r\n return {\r\n access,\r\n canEditTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canTriggerSync),\r\n failureMessage: nonPatientActivities.npaMessages.failure,\r\n isAssigning: nonPatientActivities.assigned.isAssigning,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n submitAction: async (NonPatientActivity, shouldAssignToday) =>\r\n await dispatch(createNonPatientActivity(NonPatientActivity, shouldAssignToday)),\r\n navigate: url => dispatch(push(url)),\r\n goBack: () => dispatch(goBack()),\r\n dismissError: () => dispatch(dismissError()),\r\n});\r\n\r\nconst NonPatientActivityCreateContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(NonPatientActivityCreate);\r\n\r\nexport default NonPatientActivityCreateContainer;\r\n","import { connect } from 'react-redux';\r\nimport { push, goBack } from 'connected-react-router';\r\nimport NonPatientActivityEdit from '../../features/NonPatientActivities/Edit/NonPatientActivityEdit';\r\nimport globals from '../../globals/communityGlobals';\r\nimport { checkFeatureAccess } from '../../utils/helpers';\r\nimport { updateNonPatientActivity, getNonPatientActivity } from '../../actions/entities';\r\nimport { dismissError } from '../../actions/entities/nonPatientActivities';\r\n\r\nconst mapStateToProps = ({ global: { auth }, entities: { nonPatientActivities } }) => {\r\n const access = auth.featureAccessList;\r\n return {\r\n access,\r\n canEditTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canTriggerSync),\r\n isFetching: nonPatientActivities.previewed.isFetching,\r\n isAssigning: nonPatientActivities.assigned.isAssigning,\r\n nonPatientActivity: nonPatientActivities.previewed.nonPatientActivity,\r\n failureMessage: nonPatientActivities.npaMessages.failure,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n navigate: url => dispatch(push(url)),\r\n goBack: () => dispatch(goBack()),\r\n getNonPatientActivityData: async id => {\r\n try {\r\n await dispatch(getNonPatientActivity(id));\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error('errorPage', error);\r\n }\r\n },\r\n submitAction: async nonPatientActivity => await dispatch(updateNonPatientActivity(nonPatientActivity)),\r\n dismissError: () => dispatch(dismissError()),\r\n});\r\n\r\nconst NonPatientActivityEditContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(NonPatientActivityEdit);\r\n\r\nexport default NonPatientActivityEditContainer;\r\n","import { connect } from 'react-redux';\r\nimport NonPatientActivityForm from '../../features/NonPatientActivities/Form/NonPatientActivityForm';\r\nimport globals from '../../globals/communityGlobals';\r\nimport { checkFeatureAccess } from '../../utils/helpers';\r\nimport { getSelectorOptions } from '../../actions/uiElements/selectors/getOptions';\r\n\r\nconst mapStateToProps = ({\r\n global: { auth },\r\n uiElements: {\r\n selectors: { clinicians },\r\n },\r\n}) => {\r\n const access = auth.featureAccessList;\r\n // eslint-disable-next-line no-nested-ternary\r\n const clinicianOptions = clinicians ? clinicians.options : [];\r\n return {\r\n access,\r\n canEditTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canTriggerSync),\r\n clinicianOptions,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getClinicianOptions: data => dispatch(getSelectorOptions('GetCliniciansOptionsForUser', 'clinicians', data)),\r\n});\r\n\r\nconst NonPatientActivityFormContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(NonPatientActivityForm);\r\n\r\nexport default NonPatientActivityFormContainer;\r\n","import { connect } from 'react-redux';\r\nimport { goBack } from 'connected-react-router';\r\nimport DefaultPageWrapper from './../../../components/PageStructure/DefaultPageWrapper/DefaultPageWrapper';\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n goBack: () => dispatch(goBack()),\r\n});\r\n\r\nconst DefaultPageWrapperContainer = connect(\r\n null,\r\n mapDispatchToProps,\r\n)(DefaultPageWrapper);\r\n\r\nexport default DefaultPageWrapperContainer;\r\n","import { connect } from 'react-redux';\r\nimport ErrorHandler from '../../../components/PageStructure/ErrorHandler/ErrorHandler';\r\nimport { defaultConfig } from '../../../settings/errorSettings';\r\nimport { dismissGlobalError } from '../../../actions/global';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('error');\r\n\r\nfunction getErrorMessage(message) {\r\n let errorMessage;\r\n let translatable = false;\r\n let errorParameters = [];\r\n if (typeof message === 'string') {\r\n // In case of general JS errors, the message is generally a string describing the error\r\n errorMessage = message;\r\n } else if (typeof message === 'object' && message.translationKey) {\r\n // This should be the most common scenario, a translatable API error\r\n errorMessage = message.translationKey;\r\n errorParameters = message.parameters;\r\n translatable = true;\r\n } else if (message === null || typeof message === 'undefined') {\r\n // Show a generic error message if, for some obscure reason,\r\n // the message was empty and errorShown was set to false\r\n errorMessage = locale.getMsg('undefinedError');\r\n } else {\r\n try {\r\n // Fallback, try to turn whatever the message was into a string\r\n errorMessage = message.toString();\r\n } catch (err) {\r\n // Receiving an error that's not empty and cannot be turned into a string\r\n // really shouldn't happen, but just in case\r\n errorMessage = err;\r\n }\r\n }\r\n return { errorMessage, translatable, errorParameters };\r\n}\r\n\r\nconst mapStateToProps = ({\r\n global: {\r\n errors: { lastError },\r\n },\r\n}) => {\r\n const { message, duration = defaultConfig.duration, timeStamp, errorShown } = lastError || {};\r\n const { errorMessage, translatable, errorParameters } = getErrorMessage(message);\r\n return {\r\n errorMessage,\r\n errorParameters,\r\n errorDuration: duration,\r\n errorShown,\r\n translatable,\r\n timeStamp,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n dismissError: () => dispatch(dismissGlobalError()),\r\n});\r\n\r\nconst ErrorHandlerContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ErrorHandler);\r\n\r\nexport default ErrorHandlerContainer;\r\n","import { connect } from 'react-redux';\r\nimport Header from '../../../components/PageStructure/Header/Header';\r\nimport { logoutAndRedirect } from '../../../actions/global/auth';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('accountLogin');\r\n\r\nconst mapStateToProps = ({ global: { auth } }) => ({\r\n isAuthenticated: auth.isAuthenticated,\r\n name: auth.displayName || auth.loginName,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n logoutAndRedirect: () => {\r\n dispatch(logoutAndRedirect({ success: locale.getMsg('logoutSuccess') }));\r\n },\r\n});\r\n\r\nconst HeaderContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n null,\r\n { pure: false },\r\n)(Header);\r\n\r\nexport default HeaderContainer;\r\n","import { connect } from 'react-redux';\r\nimport moment from 'moment';\r\nimport HeaderNew from '../../../components/PageStructure/Header/HeaderNew';\r\nimport { logoutAndRedirect } from '../../../actions/global/auth';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { getSettings } from '../../../actions/entities';\r\n\r\nconst locale = globals.getArea('accountLogin');\r\n\r\nconst mapStateToProps = ({ global: { auth }, router: { location }, areas }) => {\r\n const { pathname } = location;\r\n return {\r\n isAuthenticated: auth.isAuthenticated,\r\n name: auth.displayName || auth.loginName,\r\n currentPathname: pathname,\r\n selectedDate: moment(areas.dailyPlanning.selectedDate).format('dddd Do MMM YYYY'),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n logoutAndRedirect: () => {\r\n dispatch(logoutAndRedirect({ success: locale.getMsg('logoutSuccess') }));\r\n },\r\n getAppSettings: kv => {\r\n dispatch(getSettings(kv));\r\n },\r\n});\r\n\r\nconst HeaderContainerNew = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n null,\r\n { pure: false },\r\n)(HeaderNew);\r\n\r\nexport default HeaderContainerNew;\r\n","import { connect } from 'react-redux';\r\nimport NavBar from '../../../components/PageStructure/NavBar/NavBar';\r\n\r\nconst mapStateToProps = ({\r\n global: {\r\n router: { location },\r\n },\r\n}) => {\r\n const { pathname } = location;\r\n return {\r\n currentPathname: pathname,\r\n };\r\n};\r\nconst NavBarContainer = connect(\r\n mapStateToProps,\r\n null,\r\n)(NavBar);\r\n\r\nexport default NavBarContainer;\r\n","import { connect } from 'react-redux';\r\nimport NavBarNew from '../../../components/PageStructure/NavBar/NavBarNew';\r\nimport { getSettings } from '../../../actions/entities';\r\nimport _ from '../../../utils/lodash';\r\n\r\nconst mapStateToProps = ({ router: { location }, entities: { settings }, global: { auth } }) => {\r\n const { pathname } = location;\r\n const enableSendingRequestLogsToRioSetting = auth.settings\r\n ? _.find(auth.settings, 'EnableSendingRequestLogsToRio')\r\n : {};\r\n return {\r\n currentPathname: pathname,\r\n appSettings: settings.appSettings,\r\n externalProviderType: auth.externalProviderType,\r\n featureAccessList: auth.featureAccessList,\r\n tenatCode: auth.tenantCode,\r\n enableSendingRequestLogsToRio: _.values(enableSendingRequestLogsToRioSetting)[0],\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getAppSettings: kv => {\r\n dispatch(getSettings(kv));\r\n },\r\n});\r\n\r\nconst NavBarContainerNew = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(NavBarNew);\r\n\r\nexport default NavBarContainerNew;\r\n","import { connect } from 'react-redux';\r\nimport { goBack, push } from 'connected-react-router';\r\nimport AddPatient from '../../../components/Patients/Add/PatientAdd';\r\nimport { addPatient } from '../../../actions/entities';\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n submitAction: patient => dispatch(addPatient(patient)),\r\n navigate: url => dispatch(push(url)),\r\n goBack: () => dispatch(goBack()),\r\n});\r\n\r\nconst EditPatientContainer = connect(\r\n null,\r\n mapDispatchToProps,\r\n)(AddPatient);\r\n\r\nexport default EditPatientContainer;\r\n","import { connect } from 'react-redux';\r\nimport { goBack, push } from 'connected-react-router';\r\nimport EditPatient from '../../../components/Patients/Edit/PatientEdit';\r\nimport { getPatient, updatePatient } from '../../../actions/entities';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst mapStateToProps = ({ entities: { patients }, global: { auth } }) => ({\r\n isFetching: patients.previewed.isFetching,\r\n patient: patients.previewed.patient,\r\n enableIntegrationMode: checkFeatureAccess(\r\n auth.featureAccessList,\r\n globals.applicationFeatureAccesses.enableIntegrationMode,\r\n ),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n submitAction: patient => dispatch(updatePatient(patient)),\r\n navigate: url => dispatch(push(url)),\r\n getPatient: patientId => dispatch(getPatient(patientId)),\r\n goBack: () => dispatch(goBack()),\r\n});\r\n\r\nconst EditPatientContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(EditPatient);\r\n\r\nexport default EditPatientContainer;\r\n","import { connect } from 'react-redux';\r\nimport ExcludedClinicians from './../../../components/Patients/Patient/ExcludedClinicians';\r\nimport { removeExcludedClinician, excludeClinician } from '../../../actions/entities';\r\n\r\nconst mapStateToProps = ({ entities: { patients } }) => ({\r\n patient: patients.previewed.patient,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n excludeClinician: (patientId, clinicianId, reason) => dispatch(excludeClinician(patientId, clinicianId, reason)),\r\n removeExcludedClinician: (patientId, clinicianId) => dispatch(removeExcludedClinician(patientId, clinicianId)),\r\n});\r\n\r\nconst ExcludedCliniciansContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ExcludedClinicians);\r\n\r\nexport default ExcludedCliniciansContainer;\r\n","import { connect } from 'react-redux';\r\nimport { push, goBack } from 'connected-react-router';\r\nimport PatientReferrals from './../../../features/Patients/PatientReferrals';\r\nimport { getPatient, updateReferrals, resetSync, getSettings } from '../../../actions/entities';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { ENABLE_SETTING_PATIENTS_AS_INACTIVE } from '../../../settings/constants/appSettings';\r\n\r\nconst mapStateToProps = ({ entities: { patients, referrals, settings }, global: { auth } }) => ({\r\n patient: patients.previewed.patient,\r\n message: referrals.previewed.message,\r\n isPatientActive: referrals.previewed.isPatientActive,\r\n syncFailed: referrals.previewed.syncFailed,\r\n isFetching: referrals.previewed.isFetching,\r\n isSynced: referrals.previewed.isSynced,\r\n canAddReferrals: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canAddReferrals),\r\n enableIntegrationMode: checkFeatureAccess(\r\n auth.featureAccessList,\r\n globals.applicationFeatureAccesses.enableIntegrationMode,\r\n ),\r\n externalProviderType: auth.externalProviderType,\r\n enableSettingPatientsAsInactive: settings.appSettings[ENABLE_SETTING_PATIENTS_AS_INACTIVE],\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getPatient: patientId => dispatch(getPatient(patientId)),\r\n go: url => dispatch(push(url)),\r\n goBack: () => dispatch(goBack()),\r\n navigate: url => dispatch(push(url)),\r\n resetSyncStatus: () => dispatch(resetSync()),\r\n updateReferrals: referralData => dispatch(updateReferrals(referralData)),\r\n getAppSettings: settingsName => {\r\n dispatch(getSettings(settingsName));\r\n },\r\n});\r\n\r\nconst PatientReferralsPage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(PatientReferrals);\r\n\r\nexport default PatientReferralsPage;\r\n","import { connect } from 'react-redux';\r\nimport { goBack, push } from 'connected-react-router';\r\nimport Patient from './../../../components/Patients/Patient/PatientDetails';\r\nimport { getPatient, syncPatient, resetPatientSync } from '../../../actions/entities/patients';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { getSettings } from '../../../actions/entities';\r\nimport { ENABLE_SETTING_PATIENTS_AS_INACTIVE } from '../../../settings/constants/appSettings';\r\n\r\nconst mapStateToProps = ({ entities: { patients, settings }, global: { auth } }) => ({\r\n isFetching: patients.previewed.isFetching,\r\n patient: patients.previewed.patient,\r\n toggleReload: patients.previewed.toggleReload,\r\n message: patients.previewed.message,\r\n isSnackBarOpen: patients.previewed.isSnackBarOpen,\r\n syncFailed: patients.previewed.syncFailed,\r\n canEditPatients: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canEditPatients),\r\n canEditReferrals: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canEditReferrals),\r\n canAddReferrals: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canAddReferrals),\r\n canAddTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canAddTreatments),\r\n canEditTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canEditTreatments),\r\n enableIntegrationMode: checkFeatureAccess(\r\n auth.featureAccessList,\r\n globals.applicationFeatureAccesses.enableIntegrationMode,\r\n ),\r\n enableSettingPatientsAsInactive: settings.appSettings[ENABLE_SETTING_PATIENTS_AS_INACTIVE],\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getPatient: patientId => dispatch(getPatient(patientId)),\r\n syncPatient: patientId => dispatch(syncPatient(patientId)),\r\n resetPatientSync: () => dispatch(resetPatientSync()),\r\n goBack: () => dispatch(goBack()),\r\n go: url => dispatch(push(url)),\r\n getAppSettings: settingsName => {\r\n dispatch(getSettings(settingsName));\r\n },\r\n});\r\n\r\nconst PatientContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(Patient);\r\n\r\nexport default PatientContainer;\r\n","import { connect } from 'react-redux';\r\nimport PatientRescheduledInformationDialog from '../../../components/Patients/Patient/PatientRescheduledInformationDialog';\r\nimport { hideDialog } from '../../../actions/uiElements';\r\n\r\nconst mapStateToProps = ({ entities: { treatmentInstances }, uiElements: { dialogs } }) => {\r\n const { isFetching, rescheduledInfo } = treatmentInstances.previewedRescheduledInformation;\r\n return {\r\n isFetching,\r\n rescheduledInfo,\r\n dialogs,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n hide: id => dispatch(hideDialog(id)),\r\n});\r\n\r\nconst PatientRescheduledInformationDialogContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(PatientRescheduledInformationDialog);\r\n\r\nexport default PatientRescheduledInformationDialogContainer;\r\n","import { connect } from 'react-redux';\r\nimport { getRescheduledInformation } from '../../../actions/entities/treatmentInstances/getRescheduledInformation';\r\nimport PatientRescheduledInformationDialogOpener from '../../../components/Patients/Patient/PatientRescheduledInformationDialogOpener';\r\nimport { showDialog } from '../../../actions/uiElements';\r\n\r\nconst mapStateToProps = ({ uiElements: { dialogs } }) => ({ dialogs });\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getRescheduledInformation: treatmentInstanceId => dispatch(getRescheduledInformation(treatmentInstanceId)),\r\n show: id => dispatch(showDialog(id)),\r\n});\r\n\r\nconst PatientRescheduledInformationDialogOpenerContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(PatientRescheduledInformationDialogOpener);\r\n\r\nexport default PatientRescheduledInformationDialogOpenerContainer;\r\n","import { connect } from 'react-redux';\r\nimport ReferralCloseDialog from '../../../components/Referrals/ReferralCloseDialog/ReferralCloseDialog';\r\nimport { closeReferral, getReferral, getCloseDateRange } from '../../../actions/entities';\r\n\r\nconst mapStateToProps = ({ entities: { referrals } }) => ({\r\n referralCloseDateRange: referrals.previewed.closeDateRange.referralCloseDateRange,\r\n isFetching: referrals.previewed.closeDateRange.isFetchingDateRange,\r\n errorMessage: referrals.previewed.closeDateRange.errorMessage,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n closeReferral: referralData => dispatch(closeReferral(referralData)),\r\n getReferralCloseDateRange: referralId => dispatch(getCloseDateRange(referralId)),\r\n getReferral: referralId => dispatch(getReferral(referralId)),\r\n});\r\n\r\nconst ReferralCreatePage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ReferralCloseDialog);\r\n\r\nexport default ReferralCreatePage;\r\n","import { connect } from 'react-redux';\r\nimport { push, goBack } from 'connected-react-router';\r\nimport ReferralCreate from '../../../features/Referrals/ReferralCreate';\r\nimport { getPatient, createReferral } from '../../../actions/entities';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst mapStateToProps = ({ entities: { patients }, global: { auth } }) => ({\r\n patient: patients.previewed.patient,\r\n isFetching: patients.previewed.isFetching,\r\n canAddTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canAddTreatments),\r\n canAddReferrals: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canAddReferrals),\r\n canEditTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canEditTreatments),\r\n canEditReferrals: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canAddTreatments),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n navigate: url => dispatch(push(url)),\r\n goBack: () => dispatch(goBack()),\r\n getPatientData: patientId => dispatch(getPatient(patientId)),\r\n createReferral: referralData => dispatch(createReferral(referralData)),\r\n});\r\n\r\nconst ReferralCreatePage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ReferralCreate);\r\n\r\nexport default ReferralCreatePage;\r\n","import { connect } from 'react-redux';\r\nimport { push, goBack } from 'connected-react-router';\r\nimport { getReferral, updateReferral, syncTreatments, resetSyncStatusMsg } from '../../../actions/entities';\r\nimport ReferralView from '../../../features/Referrals/ReferralView';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst mapStateToProps = ({ entities: { referrals, treatments }, global: { auth }, uiElements: { tables } }) => {\r\n const { isFetching, referral } = referrals.previewed;\r\n return {\r\n isFetching,\r\n referral,\r\n canAddTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canAddTreatments),\r\n canEditReferrals: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canEditReferrals),\r\n canEditTreatments: checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canEditTreatments),\r\n enableIntegrationMode: checkFeatureAccess(\r\n auth.featureAccessList,\r\n globals.applicationFeatureAccesses.enableIntegrationMode,\r\n ),\r\n referralTreatments: tables.referralTreatments,\r\n externalProviderType: auth.externalProviderType,\r\n isFetchingComplete: treatments.previewedImportedTreatments.isFetchingComplete,\r\n areTreatmentsFetching: treatments.previewedImportedTreatments.areTreatmentsFetching,\r\n messages: treatments.previewedImportedTreatments.messages,\r\n auth,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n goBack: () => dispatch(goBack()),\r\n navigate: url => dispatch(push(url)),\r\n getReferral: id => dispatch(getReferral(id)),\r\n updateReferral: referralData => dispatch(updateReferral(referralData)),\r\n syncTreatments: model => dispatch(syncTreatments(model)),\r\n resetSyncStatusMsg: () => dispatch(resetSyncStatusMsg()),\r\n});\r\n\r\nconst ReferralViewPage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ReferralView);\r\n\r\nexport default ReferralViewPage;\r\n","import { connect } from 'react-redux';\r\n\r\nimport ReportSelection from '../../components/Reports/ReportSelection';\r\nimport { selectReportTypeName } from '../../actions/areas/reports';\r\n\r\nconst mapStateToProps = ({ areas: { reports } }) => ({\r\n selectedReportTypeName: reports.reportSelection.selectedReportTypeName,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n selectReportTypeName: type => dispatch(selectReportTypeName(type)),\r\n});\r\n\r\nconst mergeProps = (stateProps, dispatchProps, ownProps) => ({\r\n ...ownProps,\r\n ...stateProps,\r\n ...dispatchProps,\r\n});\r\n\r\nconst ReportSelectionContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeProps,\r\n)(ReportSelection);\r\n\r\nexport default ReportSelectionContainer;\r\n","import { connect } from 'react-redux';\r\nimport { withRouter } from 'react-router';\r\nimport PrivateRoute from '../../components/Routes/PrivateRoute';\r\n\r\nconst mapStateToProps = ({ global: { auth } }) => ({\r\n featureAccessList: auth.featureAccessList,\r\n isAuthenticated: auth.isAuthenticated,\r\n isFetching: auth.isFetching || auth.isLoadingUser,\r\n});\r\n\r\nconst PrivateRouteWithState = connect(\r\n mapStateToProps,\r\n null,\r\n)(PrivateRoute);\r\n\r\nexport default withRouter(PrivateRouteWithState);\r\n","import { connect } from 'react-redux';\r\nimport SignIn from '../../features/SignIn/SignIn';\r\nimport { logoutAndRedirect } from '../../actions/global/auth';\r\nimport globals from '../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('accountLogin');\r\n\r\nconst mapStateToProps = ({ global: { auth } }) => {\r\n const {\r\n failure,\r\n success,\r\n isAuthenticated,\r\n notAuthorized,\r\n displayName,\r\n loginName,\r\n isFetching = false,\r\n isExpired,\r\n } = auth;\r\n\r\n return {\r\n failure,\r\n success,\r\n notAuthorized,\r\n displayName,\r\n loginName,\r\n isAuthenticated,\r\n isFetching,\r\n isExpired,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n logoutAndRedirect: () => {\r\n dispatch(logoutAndRedirect({ success: locale.getMsg('logoutSuccess') }));\r\n },\r\n});\r\n\r\nconst SignInPage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(SignIn);\r\n\r\nexport default SignInPage;\r\n","import { connect } from 'react-redux';\r\nimport ReviewDatePicker from '../../../components/Treatments/ReviewDatePicker/ReviewDatePicker';\r\nimport { getPatternDates } from '../../../actions/areas/treatments';\r\n\r\nconst mapStateToProps = ({ areas: { treatments } }) => {\r\n const { isFetching, matchingDates } = treatments.patternDates;\r\n return {\r\n isFetching,\r\n matchingDates,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getPatternDates: async (treatmentId, pattern, selectionMatrix, timeSlotsPackageId) =>\r\n await dispatch(getPatternDates(treatmentId, pattern, selectionMatrix, timeSlotsPackageId)),\r\n});\r\n\r\nconst ReviewDatePickerContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ReviewDatePicker);\r\n\r\nexport default ReviewDatePickerContainer;\r\n","import { connect } from 'react-redux';\r\nimport { push, goBack } from 'connected-react-router';\r\nimport TreatmentCreate from '../../../features/Treatments/TreatmentCreate';\r\nimport { getReferral, createTreatment, getDefaultTimeSlotsPackage, getSettings } from '../../../actions/entities';\r\nimport {\r\n ENABLE_MAPPING_OF_TEAMS,\r\n ENABLE_RECORDING_OF_WEEKLY_REQUESTED_DAYS,\r\n} from '../../../settings/constants/appSettings';\r\n\r\nconst mapStateToProps = ({\r\n entities: { referrals, timeSlots, settings },\r\n uiElements: { selectors },\r\n global: {\r\n auth: { jwtToken },\r\n },\r\n}) => {\r\n const { isFetching: referralFetching, referral } = referrals.previewed;\r\n const { isFetching: timeSlotsFetching, timeSlotPackage } = timeSlots.defaultPackage;\r\n return {\r\n isFetching: timeSlotsFetching || referralFetching,\r\n referral,\r\n timeSlotsPackage: timeSlotPackage,\r\n activities: selectors.activities && selectors.activities.options,\r\n jwtToken,\r\n enableRecordingOfWeeklyRequestedDays: settings.appSettings[ENABLE_RECORDING_OF_WEEKLY_REQUESTED_DAYS] === 'true',\r\n enableMappingOfTeams: settings.appSettings[ENABLE_MAPPING_OF_TEAMS] === 'true',\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n navigate: url => dispatch(push(url)),\r\n goBack: () => dispatch(goBack()),\r\n getReferral: id => dispatch(getReferral(id)),\r\n getDefaultTimeSlotsPackage: () => dispatch(getDefaultTimeSlotsPackage()),\r\n createTreatment: async treatmentData => await dispatch(createTreatment(treatmentData)),\r\n getSettings: settingName => dispatch(getSettings(settingName)),\r\n});\r\n\r\nconst TreatmentCreatePage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TreatmentCreate);\r\n\r\nexport default TreatmentCreatePage;\r\n","import { connect } from 'react-redux';\r\nimport { push, goBack } from 'connected-react-router';\r\nimport TreatmentCreateRetroVisit from '../../../features/Treatments/TreatmentCreateRetroVisit';\r\nimport {\r\n getReferral,\r\n createTreatment,\r\n getDefaultTimeSlotsPackage,\r\n createRetrospectiveVisit,\r\n} from '../../../actions/entities';\r\n\r\nconst mapStateToProps = ({ entities: { referrals, treatments } }) => {\r\n const { isFetching, referral } = referrals.previewed;\r\n const { errorMessage } = treatments.previewedTreatment;\r\n return {\r\n isFetching,\r\n referral,\r\n errorMessage,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n navigate: url => dispatch(push(url)),\r\n goBack: () => dispatch(goBack()),\r\n getReferral: id => dispatch(getReferral(id)),\r\n getDefaultTimeSlotsPackage: () => dispatch(getDefaultTimeSlotsPackage()),\r\n createTreatment: async treatmentData => await dispatch(createTreatment(treatmentData)),\r\n createRetrospectiveVisit: retrospectiveVisitData => dispatch(createRetrospectiveVisit(retrospectiveVisitData)),\r\n});\r\n\r\nconst TreatmentCreateRetroVisitPage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TreatmentCreateRetroVisit);\r\n\r\nexport default TreatmentCreateRetroVisitPage;\r\n","import { connect } from 'react-redux';\r\nimport { push, goBack } from 'connected-react-router';\r\nimport TreatmentEdit from '../../../features/Treatments/TreatmentEdit';\r\nimport {\r\n getTreatment,\r\n updateTreatment,\r\n discardTreatment,\r\n getPatient,\r\n getFutureAssignedInstancesForTreatment,\r\n getReferral,\r\n getSettings,\r\n} from '../../../actions/entities';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport {\r\n ENABLE_RECORDING_OF_WEEKLY_REQUESTED_DAYS,\r\n ENABLE_MAPPING_OF_TEAMS,\r\n} from '../../../settings/constants/appSettings';\r\n\r\nlet hasReferral = null;\r\n\r\nconst mapStateToProps = ({\r\n entities: { treatments, patients, referrals, settings },\r\n uiElements: { selectors },\r\n global: {\r\n auth: { jwtToken, featureAccessList, externalProviderType },\r\n },\r\n}) => {\r\n const { isFetching: isFetchingTreatment, treatment, futureInstances, hasCompletedVisitToday } = treatments.previewed;\r\n const { isFetching: referralFetching, referral } = referrals.previewed;\r\n hasReferral = referral;\r\n\r\n return {\r\n isFetchingTreatment,\r\n referralFetching,\r\n futureInstances,\r\n treatment,\r\n patient: patients.previewed.patient,\r\n activities: selectors.activities && selectors.activities.options,\r\n referral,\r\n hasCompletedVisitToday,\r\n jwtToken,\r\n enableIntegrationMode: checkFeatureAccess(\r\n featureAccessList,\r\n globals.applicationFeatureAccesses.enableIntegrationMode,\r\n ),\r\n externalProviderType,\r\n enableRecordingOfWeeklyRequestedDays: settings.appSettings[ENABLE_RECORDING_OF_WEEKLY_REQUESTED_DAYS] === 'true',\r\n enableMappingOfTeams: settings.appSettings[ENABLE_MAPPING_OF_TEAMS] === 'true',\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n navigate: url => dispatch(push(url)),\r\n goBack: () => dispatch(goBack()),\r\n getTreatmentData: async id => {\r\n let result;\r\n try {\r\n result = await dispatch(getTreatment(id));\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error('errorTreatmentPage', error);\r\n }\r\n if (result && result.response.status === 200) {\r\n await dispatch(getPatient(result.response.data.treatment.patientId));\r\n if (!hasReferral) {\r\n await dispatch(getReferral(result.response.data.treatment.referralId));\r\n }\r\n }\r\n },\r\n editTreatment: treatmentData => dispatch(updateTreatment(treatmentData)),\r\n discardTreatment: treatmentData => dispatch(discardTreatment(treatmentData)),\r\n getFutureInstances: treatmentId => dispatch(getFutureAssignedInstancesForTreatment(treatmentId)),\r\n getSettings: settingName => dispatch(getSettings(settingName)),\r\n});\r\n\r\nconst TreatmentEditPage = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(TreatmentEdit);\r\n\r\nexport default TreatmentEditPage;\r\n","import { connect } from 'react-redux';\r\nimport { push, goBack, history } from 'connected-react-router';\r\nimport VisitActualEdit from './../../../components/VisitActuals/Edit/VisitActualEdit';\r\n// import { getTableSearchResults } from '../../../actions/uiElements/tables';\r\n// import { visitActualsTable } from '../../../settings/constants/endpoints/tableEndpoints';\r\nimport { getVisitActual, updateVisitActual, dismissErrors } from '../../../actions/entities/visitActuals';\r\nimport { updateVisitTime, addActivityTime } from '../../../actions/areas/visitActuals';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\n// import { visitActualsTableConfig } from '../../../components/VisitActuals/List/VisitActualsList';\r\n\r\nconst mapStateToProps = ({\r\n areas: { visitActuals: visitActualsArea },\r\n global: { auth },\r\n entities: { visitActuals },\r\n // uiElements,\r\n}) => ({\r\n isAllocator:\r\n checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canAllocateWork) ||\r\n checkFeatureAccess(auth.featureAccessList, globals.applicationFeatureAccesses.canTrigerSync),\r\n isFetching: visitActuals.previewed.isFetching,\r\n visitActual: visitActuals.previewed.visitActual,\r\n patient: visitActuals.previewed.patient,\r\n failureMessage: visitActuals.previewed.failureMessage,\r\n visitDuration: visitActualsArea.visit.duration,\r\n activityTime: visitActualsArea.visit.activityTime,\r\n enableIntegrationMode: checkFeatureAccess(\r\n auth.featureAccessList,\r\n globals.applicationFeatureAccesses.enableIntegrationMode,\r\n ),\r\n externalProviderType: auth.externalProviderType,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getVisitActual: id => dispatch(getVisitActual(id)),\r\n submitAction: visitActualData => dispatch(updateVisitActual(visitActualData)),\r\n navigate: url => dispatch(push(url)),\r\n goBack: () => dispatch(goBack()),\r\n dismissErrors: () => dispatch(dismissErrors()),\r\n updateVisitTime: time => dispatch(updateVisitTime(time)),\r\n addActivityTime: time => dispatch(addActivityTime(time)),\r\n history,\r\n});\r\n\r\nconst VisitActualEditContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(VisitActualEdit);\r\n\r\nexport default VisitActualEditContainer;\r\n","import { connect } from 'react-redux';\r\nimport ActivitiesSummaryComponent from '../../../components/common/ActivitiesSummary/ActivitiesSummary';\r\nimport { authorisationExpiredAction, createAPIErrorHandler } from './../../../services/errorHandling';\r\n\r\nconst mapStateToProps = ({ global: { auth } }) => ({\r\n jwtToken: auth.jwtToken,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n handleApiError: createAPIErrorHandler({\r\n unauthorized: () => dispatch(authorisationExpiredAction),\r\n other: error => {\r\n // eslint-disable-next-line no-console\r\n console.warn('Postcode search error', error);\r\n },\r\n }),\r\n});\r\n\r\nconst ActivitiesSummary = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ActivitiesSummaryComponent);\r\n\r\nexport default ActivitiesSummary;\r\n","import { connect } from 'react-redux';\r\nimport CommunityDatePicker from '../../../components/common/NewDatePicker/CommunityDatePicker';\r\nimport { selectDateAndUpdateReload } from '../../../actions/areas/dailyPlanning';\r\nimport { selectSelectedDate, selectCurrentPath } from '../../../reducers/areas/dailyPlanning';\r\n\r\nconst mapStateToProps = state => ({\r\n selectedDate: selectSelectedDate(state),\r\n currentPath: selectCurrentPath(state),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n changeDate: (date, currentPath) => dispatch(selectDateAndUpdateReload(date, currentPath)),\r\n});\r\n\r\nconst CommunityDatePickerContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(CommunityDatePicker);\r\n\r\nexport default CommunityDatePickerContainer;\r\n","import { connect } from 'react-redux';\r\nimport PostcodeSearchComponent from './../../../components/common/PostcodeSearch/PostcodeSearch';\r\nimport { authorisationExpiredAction, createAPIErrorHandler } from './../../../services/errorHandling';\r\n\r\nconst mapStateToProps = ({ global: { auth } }) => ({\r\n jwtToken: auth.jwtToken,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n handleApiError: createAPIErrorHandler({\r\n unauthorized: () => dispatch(authorisationExpiredAction),\r\n other: error => {\r\n // eslint-disable-next-line no-console\r\n console.warn('Postcode search error', error);\r\n },\r\n }),\r\n});\r\n\r\nconst PostcodeSearch = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(PostcodeSearchComponent);\r\n\r\nexport default PostcodeSearch;\r\n","import { connect } from 'react-redux';\r\nimport _ from '../../../utils/lodash';\r\nimport PrivateNavLink from './../../../components/common/PrivateNavLink/PrivateNavLink';\r\nimport { checkFeatureAccess as checkFeatureAccessHelper } from '../../../utils/helpers';\r\n\r\nconst checkAnyFeatureAccess = featureAccessList => featureAccess =>\r\n checkFeatureAccessHelper(featureAccessList, featureAccess);\r\nconst memoizedCheck = _.memoize(checkAnyFeatureAccess);\r\n\r\nconst mapStateToProps = ({ global: { auth } }) => ({\r\n checkFeatureAccess: memoizedCheck(auth.featureAccessList),\r\n});\r\n\r\nconst PrivateNavLinkContainer = connect(\r\n mapStateToProps,\r\n null,\r\n null,\r\n { pure: false },\r\n)(PrivateNavLink);\r\n\r\nexport default PrivateNavLinkContainer;\r\n","import { connect } from 'react-redux';\r\nimport _ from '../../../utils/lodash';\r\nimport PrivateNavLinkNew from './../../../components/common/PrivateNavLink/PrivateNavLinkNew';\r\nimport { checkFeatureAccess as checkFeatureAccessHelper } from '../../../utils/helpers';\r\n\r\nconst checkAnyFeatureAccess = featureAccessList => featureAccess =>\r\n checkFeatureAccessHelper(featureAccessList, featureAccess);\r\nconst memoizedCheck = _.memoize(checkAnyFeatureAccess);\r\n\r\nconst mapStateToProps = ({ global: { auth } }) => ({\r\n checkFeatureAccess: memoizedCheck(auth.featureAccessList),\r\n userAssignedFeatureAccesses: auth.featureAccessList,\r\n});\r\n\r\nconst PrivateNavLinkContainerNew = connect(\r\n mapStateToProps,\r\n null,\r\n null,\r\n { pure: false },\r\n)(PrivateNavLinkNew);\r\n\r\nexport default PrivateNavLinkContainerNew;\r\n","import { connect } from 'react-redux';\r\nimport { getSelectorOptions } from '../../../actions/uiElements';\r\nimport NestedSelectorSelector from '../../../components/common/Selector/NestedSelector';\r\n\r\nfunction mapOptionSelectionToFlatValue(selection, options, isMultiple) {\r\n if (!isMultiple && Array.isArray(selection)) {\r\n // eslint-disable-next-line no-console\r\n console.warn('Expected single value for Selector but received an array!');\r\n }\r\n\r\n if (!isMultiple) {\r\n return selection ? selection.id : undefined;\r\n }\r\n\r\n return selection && options ? selection.filter(s => options.find(o => o.id === s.id)).map(s => s) : undefined;\r\n}\r\n\r\nconst mapStateToProps = ({ uiElements: { selectors } }, { value, multiple, reduxIdentifier, innerRef }) => {\r\n if (selectors[reduxIdentifier]) {\r\n return {\r\n ref: innerRef,\r\n isFetching: selectors[reduxIdentifier].isFetching,\r\n options: selectors[reduxIdentifier].options,\r\n originalValue: value,\r\n value: mapOptionSelectionToFlatValue(value, selectors[reduxIdentifier].options, multiple),\r\n };\r\n }\r\n return {\r\n ref: innerRef,\r\n isFetching: false,\r\n options: [],\r\n value: undefined,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, props) => ({\r\n getOptions: () => dispatch(getSelectorOptions(props.endpoint, props.reduxIdentifier, props.callArgs)),\r\n filterOptions: options => {\r\n if (!props.filterOptions) {\r\n return options;\r\n }\r\n return props.filterOptions(options);\r\n },\r\n mapOptions: options => {\r\n if (!props.mapOptions) {\r\n return options;\r\n }\r\n return props.mapOptions(options);\r\n },\r\n mapValue: options => {\r\n if (!props.mapOptions) {\r\n return options;\r\n }\r\n return props.mapValue(options);\r\n },\r\n});\r\n\r\nconst OptionsNestedSelector = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n null,\r\n { pure: false },\r\n)(NestedSelectorSelector);\r\n\r\nexport default OptionsNestedSelector;\r\n","import { connect } from 'react-redux';\r\nimport { getSelectorOptions } from '../../../actions/uiElements';\r\nimport Selector from '../../../components/common/Selector/Selector';\r\nimport _ from '../../../utils/lodash';\r\n\r\nfunction mapOptionSelectionToFlatValue(selection, options, isMultiple, mapWithoutId, setValueValidity) {\r\n if (!isMultiple && Array.isArray(selection)) {\r\n // eslint-disable-next-line no-console\r\n console.warn('Expected single value for Selector but received an array!');\r\n }\r\n\r\n if (!isMultiple) {\r\n if (mapWithoutId) {\r\n selection = _.find(options, ['name', selection]);\r\n if (setValueValidity) setValueValidity(selection === undefined);\r\n }\r\n return selection ? selection.id : undefined;\r\n }\r\n\r\n return selection && options ? selection.filter(s => options.find(o => o.id === s.id)).map(s => s.id) : undefined;\r\n}\r\n\r\nconst mapStateToProps = (\r\n { uiElements: { selectors } },\r\n { value, multiple, reduxIdentifier, innerRef, mapWithoutId, setValueValidity },\r\n) => {\r\n if (selectors[reduxIdentifier]) {\r\n const source = selectors[reduxIdentifier];\r\n const options = source.options;\r\n\r\n const hasValue = !_.isEmpty(value) && (typeof value === 'object' && !_.isEmpty(value.id) && !_.isEmpty(value.name));\r\n if (!Array.isArray(value) && hasValue && _.find(options, ['id', value.id]) === undefined) {\r\n options.push(value);\r\n }\r\n\r\n return {\r\n ref: innerRef,\r\n isFetching: source.isFetching,\r\n options,\r\n originalValue: value,\r\n value: mapOptionSelectionToFlatValue(value, options, multiple, mapWithoutId, setValueValidity),\r\n };\r\n }\r\n return {\r\n ref: innerRef,\r\n isFetching: false,\r\n options: [],\r\n value: undefined,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, props) => ({\r\n getOptions: () => dispatch(getSelectorOptions(props.endpoint, props.reduxIdentifier, props.callArgs)),\r\n filterOptions: options => {\r\n if (!props.filterOptions) {\r\n return options;\r\n }\r\n return props.filterOptions(options);\r\n },\r\n mapOptions: options => {\r\n if (!props.mapOptions) {\r\n return options;\r\n }\r\n return props.mapOptions(options);\r\n },\r\n mapValue: options => {\r\n if (!props.mapOptions) {\r\n return options;\r\n }\r\n return props.mapValue(options);\r\n },\r\n});\r\n\r\nconst OptionsSelector = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n null,\r\n { pure: false },\r\n)(Selector);\r\n\r\nexport default OptionsSelector;\r\n","import { connect } from 'react-redux';\r\nimport Table from '../../../components/common/Table/Table';\r\nimport { getTableSearchResults, updateTableSearchParams, clearTableSearchParams } from '../../../actions/uiElements';\r\nimport { initialSearchResultsState } from '../../../reducers/uiElements/tablesReducer';\r\n\r\nconst mapStateToProps = ({ uiElements: { tables } }, { initialSearchParams, reduxIdentifier }) => {\r\n if (tables[reduxIdentifier]) {\r\n return {\r\n isFetching: tables[reduxIdentifier].searchResults ? tables[reduxIdentifier].searchResults.isFetching : false,\r\n searchParams: tables[reduxIdentifier].searchParams,\r\n searchResults: tables[reduxIdentifier].searchResults,\r\n };\r\n }\r\n return {\r\n isFetching: false,\r\n searchParams: initialSearchParams,\r\n searchResults: initialSearchResultsState,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (\r\n dispatch,\r\n { endpoint, reduxIdentifier, responseObjectName = null, initialSearchParams, method, afterReloadCallback },\r\n) => ({\r\n updateParamsAndGetData: async params => {\r\n await dispatch(updateTableSearchParams(reduxIdentifier, params, initialSearchParams));\r\n dispatch(getTableSearchResults(endpoint, reduxIdentifier, responseObjectName, method));\r\n if (afterReloadCallback && typeof afterReloadCallback === 'function') afterReloadCallback();\r\n },\r\n getData: () => {\r\n dispatch(getTableSearchResults(endpoint, reduxIdentifier, responseObjectName, method));\r\n if (afterReloadCallback && typeof afterReloadCallback === 'function') afterReloadCallback();\r\n },\r\n clearParams: () => {\r\n dispatch(clearTableSearchParams(reduxIdentifier, initialSearchParams));\r\n if (afterReloadCallback && typeof afterReloadCallback === 'function') afterReloadCallback();\r\n },\r\n updateParams: params => {\r\n dispatch(updateTableSearchParams(reduxIdentifier, params, initialSearchParams));\r\n if (afterReloadCallback && typeof afterReloadCallback === 'function') afterReloadCallback();\r\n },\r\n});\r\n\r\nconst tableContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(Table);\r\n\r\nexport default tableContainer;\r\n","export const AssignmentSequence = {\r\n 0: 'None',\r\n 1: 'First',\r\n 2: 'InMiddle',\r\n 3: 'Last',\r\n 4: 'Both',\r\n};\r\n","export const AssignmentType = {\r\n PatientAssignment: 'PatientAssignment',\r\n LunchBreak: 'LunchBreak',\r\n NonPatientAssignment: 'NonPatientAssignment',\r\n};\r\n","export const AssignmentVisitSchedule = {\r\n SpecificTime: 'SpecificTime',\r\n SingleTimeSlot: 'SingleTimeSlot',\r\n MultipleTimeSlots: 'MultipleTimeSlots',\r\n};\r\n","export const AssignmentVisitState = {\r\n Planned: 'Planned',\r\n Complete: 'Complete',\r\n Ahead: 'Ahead',\r\n OnTime: 'OnTime',\r\n Behind: 'Behind',\r\n StartedLate: 'StartedLate',\r\n};\r\n\r\nexport const VisitType = {\r\n OnSite: 0,\r\n PhoneCall: 1,\r\n};\r\n","export const AuditTrailType = {\r\n Visit: 1,\r\n Treatment: 2,\r\n NPA: 3,\r\n};\r\n","import globals from '../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('autoAllocationMode');\r\n\r\nexport const AutoAllocationMode = {\r\n general: 0,\r\n clinicianGroups: 1,\r\n phoneCalls: 2,\r\n excludedRagStatuses: 3,\r\n};\r\n\r\nexport const AutoAllocationModeOptions = еnableAutoAllocateWithoutRagStatus =>\r\n Object.keys(AutoAllocationMode).reduce((result, key) => {\r\n if (key !== 'excludedRagStatuses' || еnableAutoAllocateWithoutRagStatus === 'true') {\r\n result.push(Object.create({ id: AutoAllocationMode[key], name: locale.getMsg(key) }));\r\n }\r\n return result;\r\n }, []);\r\n","export const Band = [\r\n { id: 1, Name: 'Band 1', sortingOrder: 1, key: 'Band 1' },\r\n { id: 2, Name: 'Band 2', sortingOrder: 2, key: 'Band 2' },\r\n { id: 3, Name: 'Band 3', sortingOrder: 3, key: 'Band 3' },\r\n { id: 4, Name: 'Band 4', sortingOrder: 4, key: 'Band 4' },\r\n { id: 5, Name: 'Band 5', sortingOrder: 5, key: 'Band 5' },\r\n { id: 6, Name: 'Band 6', sortingOrder: 6, key: 'Band 6' },\r\n { id: 7, Name: 'Band 7', sortingOrder: 7, key: 'Band 7' },\r\n { id: 8, Name: 'Band 8', sortingOrder: 8, key: 'Band 8' },\r\n { id: 9, Name: 'Band 8a', sortingOrder: 9, key: 'Band 9' },\r\n { id: 10, Name: 'Band 8b', sortingOrder: 10, key: 'Band 10' },\r\n { id: 11, Name: 'Band 8c', sortingOrder: 11, key: 'Band 11' },\r\n { id: 12, Name: 'Band 8d', sortingOrder: 12, key: 'Band 12' },\r\n];\r\n","export const ClinicianGroupType = {\r\n Active: 0,\r\n Inactive: 1,\r\n};\r\n\r\nexport const ClinicianGroupTypeOptions = Object.keys(ClinicianGroupType).map(key =>\r\n Object.create({ id: ClinicianGroupType[key], name: key }),\r\n);\r\n","export const DayPeriod = {\r\n None: 0,\r\n AM: 1,\r\n PM: 2,\r\n};\r\n","import PropTypes from 'prop-types';\r\n\r\nexport const DaysOfWeek = {\r\n Monday: 'Monday',\r\n Tuesday: 'Tuesday',\r\n Wednesday: 'Wednesday',\r\n Thursday: 'Thursday',\r\n Friday: 'Friday',\r\n Saturday: 'Saturday',\r\n Sunday: 'Sunday',\r\n};\r\n\r\nexport const DaysOfWeekPropTypes = PropTypes.shape({\r\n Monday: PropTypes.string.isRequired,\r\n Tuesday: PropTypes.string.isRequired,\r\n Wednesday: PropTypes.string.isRequired,\r\n Thursday: PropTypes.string.isRequired,\r\n Friday: PropTypes.string.isRequired,\r\n Saturday: PropTypes.string.isRequired,\r\n Sunday: PropTypes.string.isRequired,\r\n});\r\n","import globals from '../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('externalProvider');\r\n\r\nexport const ExternalProviderOptions = [\r\n { id: 0, name: locale.getMsg('teamMapping'), key: 'teamMapping' },\r\n { id: 1, name: locale.getMsg('requestLogs'), key: 'requestLogs' },\r\n { id: 2, name: locale.getMsg('clinicianUsernameMapping'), key: 'clinicianUsernameMapping' },\r\n { id: 3, name: locale.getMsg('outcomeCodes'), key: 'outcomeCodes' },\r\n];\r\n","export const ExternalProviderType = {\r\n Expenses: 0,\r\n Rio: 1,\r\n SystmOne: 2,\r\n Emis: 3,\r\n};\r\n","export const GridFilterPages = {\r\n VisitActuals: 'Visit Actuals',\r\n Patients: 'Patients',\r\n NonPatientActivities: 'NonPatientActivities',\r\n};\r\n","export * from './assignmentType';\r\nexport * from './assignmentVisitState';\r\nexport * from './assignmentSequence';\r\nexport * from './assignmentVisitSchedule';\r\nexport * from './treatmentInstanceStatus';\r\nexport * from './monthOption';\r\nexport * from './treatmentResponseGroup';\r\nexport * from './dayPeriod';\r\nexport * from './ragStatus';\r\nexport * from './gridFilterPages';\r\nexport * from './externalProviderType';\r\nexport * from './externalProviderOptions';\r\nexport * from './band';\r\nexport * from './timeOfDay';\r\nexport * from './autoAllocationMode';\r\nexport * from './postCodeAddressType';\r\nexport * from './unassignmentSource';\r\nexport * from './auditTrail';\r\nexport * from './treatmentTimeTypes';\r\nexport * from './visitTypeWithName';\r\nexport * from './visitStatusWithName';\r\nexport * from './treatmentScheduleWithName';\r\nexport * from './daysOfWeek';\r\nexport * from './treatmentSelectionType';\r\nexport * from './treatmentInstanceOccurrenceType';\r\nexport * from './treatmentStatusOptions';\r\n","export const MonthOption = {\r\n DayOfTheMonth: 'Day of the month',\r\n WeekOfTheMonth: 'Week of the month',\r\n};\r\n","export const PostCodeAddressType = {\r\n None: 0,\r\n Address: 1,\r\n Postcode: 2,\r\n};\r\n\r\nexport const mapStringToAddressType = addressType => {\r\n switch (addressType) {\r\n case 'Address':\r\n return PostCodeAddressType.Address;\r\n case 'Postcode':\r\n return PostCodeAddressType.Postcode;\r\n default:\r\n return PostCodeAddressType.None;\r\n }\r\n};\r\n","export const RagStatus = {\r\n Green: 1,\r\n Amber: 2,\r\n Red: 3,\r\n Yellow: 4,\r\n};\r\n\r\nexport const ragStatusWithDesc = [\r\n { id: 3, Name: 'Red', description: 'High (red)', sortingOrder: 4 },\r\n { id: 2, Name: 'Amber', description: 'Medium High (amber)', sortingOrder: 3 },\r\n { id: 4, Name: 'Yellow', description: 'Medium (yellow)', sortingOrder: 2 },\r\n { id: 1, Name: 'Green', description: 'Low (green)', sortingOrder: 1 },\r\n];\r\n\r\nexport const compareRag = (a, b) => {\r\n if (RagStatus[a] !== RagStatus.Yellow && RagStatus[b] !== RagStatus.Yellow)\r\n return RagStatus[a] > RagStatus[b] ? 1 : -1;\r\n\r\n if (RagStatus[a] === RagStatus.Yellow) return RagStatus[b] === RagStatus.Green ? 1 : -1;\r\n\r\n return RagStatus[a] === RagStatus.Green ? -1 : 1;\r\n};\r\n","export const TimeOfDay = {\r\n Morning: 1,\r\n Afternoon: 2,\r\n Night: 3,\r\n};\r\n","export const TreatmentInstanceOccurrenceType = {\r\n None: 'None',\r\n BundleVisit: 'BundleVisit',\r\n BundledVisit: 'BundledVisit',\r\n ConvertedToPhoneCall: 'ConvertedToPhoneCall',\r\n ConvertedFromOnSiteVisit: 'ConvertedFromOnSiteVisit',\r\n};\r\n","export const TreatmentInstanceStatus = {\r\n ToDo: 'ToDo',\r\n InProgress: 'InProgress',\r\n Done: 'Done',\r\n Closed: 'Closed',\r\n Cancelled: 'Cancelled',\r\n Removed: 'Removed',\r\n Rescheduled: 'Rescheduled',\r\n Moved: 'Moved',\r\n};\r\n","export const TreatmentResponseGroup = {\r\n MissingGrade: 'MissingGrade',\r\n MissingSkill: 'MissingSkill',\r\n MissingAvailability: 'MissingAvailability',\r\n TimeSlotsAlreadyOccupied: 'TimeSlotsAlreadyOccupied',\r\n OutsideOfMilleageCap: 'OutsideOfMilleageCap',\r\n BestMatch: 'BestMatch',\r\n ExcludedClinician: 'ExcludedClinician',\r\n};\r\n","export const TreatmentScheduleWithName = [\r\n { id: 1, name: 'Specific time', key: 'SpecificTime' },\r\n { id: 2, name: 'Time slot', key: 'TimeSlots' },\r\n { id: 3, name: 'Multiple visits per day', key: 'MultipleVisitsPerDay' },\r\n];\r\n","export const selectionTypes = {\r\n specific: 'specific',\r\n timeslot: 'timeslot',\r\n multiple: 'multiple',\r\n};\r\n","export const treatmentStatusOptions = [\r\n { id: 1, name: 'Open' },\r\n { id: 2, name: 'Closed' },\r\n { id: 3, name: 'Discarded' },\r\n];\r\n","export const treatmentTimeTypes = {\r\n specific: 'SpecificTime',\r\n timeslot: 'TimeSlots',\r\n multiple: 'MultipleVisitsPerDay',\r\n};\r\n","export const UnassignmentSource = {\r\n NotSet: 0,\r\n Manual: 1,\r\n Synchronization: 2,\r\n Rescheduling: 3,\r\n ReviewDate: 4,\r\n AutoUnallocation: 5,\r\n PostcodeChange: 6,\r\n ActivityChange: 7,\r\n MasterUnallocated: 8,\r\n UnitChange: 9,\r\n OverrideBand: 10,\r\n};\r\n","export const VisitStatusWithName = [\r\n { id: 0, name: 'Rescheduled visits', key: 'rescheduledVisits' },\r\n { id: 1, name: 'Cancelled visits', key: 'cancelledVisits' },\r\n { id: 2, name: 'Unassigned visits', key: 'unassignedVisits' },\r\n];\r\n","export const VisitTypeWithName = [{ id: 0, name: 'On Site' }, { id: 1, name: 'Phone Call' }];\r\n","import PropTypes from 'prop-types';\r\n\r\nexport const WeeksOfMonth = {\r\n First: 'First',\r\n Second: 'Second',\r\n Third: 'Third',\r\n Fourth: 'Fourth',\r\n Last: 'Last',\r\n};\r\n\r\nexport const WeeksOfMonthPropTypes = PropTypes.shape({\r\n First: PropTypes.string.isRequired,\r\n Second: PropTypes.string.isRequired,\r\n Third: PropTypes.string.isRequired,\r\n Fourth: PropTypes.string.isRequired,\r\n Last: PropTypes.string.isRequired,\r\n});\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Tabs, Tab } from 'material-ui/Tabs';\r\nimport { tabStyles } from '../../../theme/AllocateBaseTheme';\r\nimport SettingsNSync from '../../../components/Admin/SystemInfo/SettingsNSync';\r\nimport SyncLog from '../../../components/Admin/SystemInfo/SyncLog';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport DefaultPageWraper from '../../../containers/PageStructure/DefaultPageWrapper/DefaultPageWrapperContainer';\r\n\r\nconst locale = globals.getArea('admin');\r\n\r\nclass SystemInfo extends React.Component {\r\n setTableRef = table => {\r\n this.table = table;\r\n };\r\n render() {\r\n const { pageTitle, sysInfo, ...rest } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nSystemInfo.defaultProps = {\r\n sysInfo: null,\r\n};\r\n\r\nSystemInfo.propTypes = {\r\n pageTitle: PropTypes.string.isRequired,\r\n sysInfo: PropTypes.objectOf(PropTypes.string),\r\n};\r\n\r\nexport default SystemInfo;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { CallbackComponent } from 'redux-oidc';\r\n\r\nimport LandingPage from '../../components/PageStructure/LandingPage/LandingPage';\r\n\r\nimport globals from '../../globals/communityGlobals';\r\n\r\nimport { userManager } from '../../utils/userManager';\r\n\r\nconst locale = globals.getArea('accountLogin');\r\n\r\nclass Callback extends React.Component {\r\n successCallback = user => {\r\n localStorage.setItem('access_token', user.access_token);\r\n this.props.login(user.access_token);\r\n };\r\n\r\n errorCallback = error => {\r\n userManager.removeUser();\r\n localStorage.setItem('access_token', null);\r\n this.props.error(error);\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n

    {locale.getMsg('login')}

    \r\n
    {locale.getMsg('loading')}
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nCallback.propTypes = {\r\n login: PropTypes.func.isRequired,\r\n error: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default Callback;\r\n","/* eslint-disable import/no-unresolved */\r\n/* eslint-disable import/extensions */\r\n/* eslint-disable import/first */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { ThemeProvider } from '@material-ui/styles';\r\nimport { MuiThemeProvider as MuiThemeProviderV0 } from 'material-ui';\r\nimport { communityThemeV0, communityTheme } from '../theme/CommunityTheme';\r\nimport Header from '../containers/PageStructure/Header/HeaderContainer';\r\nimport ErrorHandlerContainer from '../containers/PageStructure/ErrorHandler/ErrorHandlerContainer';\r\nimport HeaderNew from '../containers/PageStructure/Header/HeaderContainerNew';\r\nimport CommunityTabs from '../components/common/Tabs/Tabs';\r\nimport CommunityAppBar from '../components/common/AppBar/AppBar';\r\n\r\nconst CommunityLayoutV0 = ({ children }) => (\r\n \r\n
    \r\n
    \r\n {children}\r\n \r\n
    \r\n
    \r\n);\r\n\r\nCommunityLayoutV0.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nconst CommunityLayout = ({ children }) => (\r\n \r\n
    \r\n \r\n \r\n {children}\r\n
    \r\n
    \r\n);\r\n\r\nCommunityLayout.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nconst CommunityLayoutCombined = ({ children }) => (\r\n \r\n
    \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n
    \r\n
    \r\n);\r\n\r\nCommunityLayoutCombined.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport { CommunityLayout, CommunityLayoutV0, CommunityLayoutCombined };\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Typography, IconButton, Box, Tooltip } from '@material-ui/core';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport InnerContent from '../../../components/PageStructure/InnerContent/InnerContent';\r\n\r\nimport PageContent from '../../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from '../../../components/PageStructure/PageHeader/PageHeader';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { actionTypes } from '../Form/NonPatientActivityForm';\r\nimport NonPatientActivityForm from '../../../containers/NonPatientActivities/NonPatientActivityFormContainer';\r\nimport { doubleActionPrevent } from '../../../utils/helpers';\r\n\r\nconst locale = globals.getArea('activities');\r\n\r\nclass NonPatientActivityCreate extends React.Component {\r\n handleSave = doubleActionPrevent.bind(this)(\r\n 'Save',\r\n async (details, shedule, address, shouldAssignToday, excludedCliniciansId) => {\r\n const { submitAction } = this.props;\r\n // try {\r\n await submitAction(\r\n {\r\n NonPatientActivity: {\r\n ...details,\r\n ...shedule,\r\n ...address,\r\n ...excludedCliniciansId,\r\n },\r\n },\r\n shouldAssignToday,\r\n );\r\n },\r\n () => {\r\n const { navigate } = this.props;\r\n navigate('/NonPatientActivities');\r\n },\r\n );\r\n\r\n render() {\r\n const nonPatientActivityDefault = {\r\n id: 0,\r\n name: '',\r\n };\r\n\r\n const {\r\n submitAction,\r\n goBack,\r\n navigate,\r\n dismissError,\r\n failureMessage,\r\n isAssigning,\r\n shouldAssignToday,\r\n orgUnitId,\r\n selectedDate,\r\n } = this.props;\r\n return (\r\n \r\n
    \r\n {!shouldAssignToday && (\r\n \r\n \r\n \r\n \r\n goBack()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('createActivity')}\r\n \r\n \r\n \r\n )}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nNonPatientActivityCreate.defaultProps = {\r\n isAssigning: false,\r\n shouldAssignToday: false,\r\n orgUnitId: null,\r\n selectedDate: null,\r\n canSaveFromPlanning: () => {},\r\n getNpaDetails: () => {},\r\n getNpaSchedule: () => {},\r\n getNpaAddress: () => {},\r\n};\r\n\r\nNonPatientActivityCreate.propTypes = {\r\n submitAction: PropTypes.func.isRequired,\r\n goBack: PropTypes.func.isRequired,\r\n navigate: PropTypes.func.isRequired,\r\n dismissError: PropTypes.func.isRequired,\r\n failureMessage: PropTypes.string.isRequired,\r\n isAssigning: PropTypes.bool,\r\n shouldAssignToday: PropTypes.bool,\r\n orgUnitId: PropTypes.number,\r\n selectedDate: PropTypes.date,\r\n canSaveFromPlanning: PropTypes.func,\r\n getNpaDetails: PropTypes.func,\r\n getNpaSchedule: PropTypes.func,\r\n getNpaAddress: PropTypes.func,\r\n};\r\nexport default NonPatientActivityCreate;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Typography, IconButton, Box, Tooltip } from '@material-ui/core';\r\nimport { Tabs, Tab } from 'material-ui';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport InnerContent from '../../../components/PageStructure/InnerContent/InnerContent';\r\nimport PageContent from '../../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from '../../../components/PageStructure/PageHeader/PageHeader';\r\nimport { actionTypes } from '../Form/NonPatientActivityForm';\r\nimport NonPatientActivityForm from '../../../containers/NonPatientActivities/NonPatientActivityFormContainer';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport Spinner from '../../../components/common/Spinner/Spinner';\r\nimport { NonPatientActivityPropType } from '../../../propTypes/entities/nonPatientActivityType';\r\nimport { doubleActionPrevent } from '../../../utils/helpers';\r\nimport { tabStyles } from '../../../theme/AllocateBaseTheme';\r\nimport AuditTrail from '../../../components/common/AuditTrail/AuditTrail';\r\nimport { AuditTrailType } from '../../../enums/auditTrail';\r\n\r\nconst locale = globals.getArea('activities');\r\n\r\nclass NonPatientActivityEdit extends React.Component {\r\n componentDidMount() {\r\n this.props.getNonPatientActivityData(this.props.match.params.id);\r\n }\r\n handleSave = doubleActionPrevent.bind(this)(\r\n 'Save',\r\n async (details, shedule, address, shouldAssignToday, excludedCliniciansId) => {\r\n const {\r\n submitAction,\r\n nonPatientActivity: { id, rootNpaId },\r\n } = this.props;\r\n await submitAction({\r\n NonPatientActivity: {\r\n id,\r\n rootNpaId,\r\n ...details,\r\n ...shedule,\r\n ...address,\r\n ...excludedCliniciansId,\r\n },\r\n shouldAssignToday,\r\n });\r\n },\r\n () => {\r\n const { navigate } = this.props;\r\n navigate('/NonPatientActivities');\r\n },\r\n );\r\n render() {\r\n const {\r\n nonPatientActivity,\r\n submitAction,\r\n goBack,\r\n navigate,\r\n failureMessage,\r\n dismissError,\r\n isAssigning,\r\n } = this.props;\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n goBack()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('editActivity')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {this.props.isFetching || !this.props.nonPatientActivity ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n {nonPatientActivity && (\r\n \r\n )}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nNonPatientActivityEdit.defaultProps = {\r\n nonPatientActivity: null,\r\n isAssigning: false,\r\n};\r\n\r\nNonPatientActivityEdit.propTypes = {\r\n nonPatientActivity: NonPatientActivityPropType,\r\n isFetching: PropTypes.bool.isRequired,\r\n getNonPatientActivityData: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n }),\r\n }).isRequired,\r\n submitAction: PropTypes.func.isRequired,\r\n goBack: PropTypes.func.isRequired,\r\n navigate: PropTypes.func.isRequired,\r\n dismissError: PropTypes.func.isRequired,\r\n failureMessage: PropTypes.string.isRequired,\r\n isAssigning: PropTypes.bool,\r\n};\r\n\r\nexport default NonPatientActivityEdit;\r\n","/* eslint-disable no-nested-ternary */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Formsy from 'formsy-react';\r\nimport { Typography, Box, CircularProgress } from '@material-ui/core';\r\nimport { RadioButton, RadioButtonGroup } from 'material-ui/RadioButton';\r\nimport { FormsyText } from 'formsy-material-ui/lib';\r\nimport { refSetter } from '../../../../utils/helpers';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport { textFieldStyle, common, multiLineText } from '../../../../theme/AllocateBaseTheme';\r\nimport ApiSelector from '../../../../containers/common/selectors/selectorContainer';\r\nimport AutocompleteWrapper from '../../../../components/common/Autocomplete/AutocompleteWrapper';\r\nimport { teamsEndpoint, cliniciansEndpoint, nonPatientActiviesTypesEndpoint } from '../../../../settings/constants';\r\n\r\nconst locale = globals.getArea('nonPatientActivities');\r\nconst errorsLocale = globals.getArea('error');\r\n\r\nexport const actionTypes = {\r\n create: 'CREATE',\r\n edit: 'EDIT',\r\n};\r\n\r\nexport const selectionTypes = {\r\n teams: 'teams',\r\n clinician: 'clinician',\r\n};\r\n\r\nexport const selectionNPATravelTypes = {\r\n npaWithTravel: 'npaWithTravel',\r\n npaWithoutTravel: 'npaWithoutTravel',\r\n};\r\n\r\nclass NonPatientActivityDetails extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleSelectionNPATravelType.bind(this);\r\n this.handleExcludedClinicians.bind(this);\r\n this.state = {\r\n canSubmit: false,\r\n selectionType:\r\n this.props.values.clinicianIds && this.props.values.clinicianIds.length\r\n ? selectionTypes.clinician\r\n : selectionTypes.teams,\r\n teamIds: this.props.values.actionType === 'EDIT' ? this.props.values.orgUnitIds.map(({ id }) => id) : [],\r\n assignedClinicians: [],\r\n assignedCliniciansData: [],\r\n clinicianOptionsByOrgUnit: [],\r\n isCliniciansFilteringByOrgUnitRequired: true,\r\n };\r\n }\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n getAssignedClinicianByOrgUnit = () => {\r\n const { values } = this.props;\r\n const { teamIds, isCliniciansFilteringByOrgUnitRequired, assignedCliniciansData } = this.state;\r\n\r\n if (isCliniciansFilteringByOrgUnitRequired) {\r\n if (assignedCliniciansData.length > 0)\r\n this.setState({\r\n clinicianOptionsByOrgUnit: [],\r\n isCliniciansFilteringByOrgUnitRequired: false,\r\n assignedClinicians: [],\r\n assignedCliniciansData: [],\r\n });\r\n\r\n const clinicianOptionsByOrgUnit =\r\n teamIds.length > 0\r\n ? values.clinicianOptions.filter(({ orgUnitIds }) =>\r\n orgUnitIds !== undefined ? teamIds.some(teamId => orgUnitIds.includes(teamId)) : false,\r\n )\r\n : [];\r\n\r\n let assignedClinicians = clinicianOptionsByOrgUnit.filter(cli => values.assignedTo.includes(cli.name));\r\n\r\n if (assignedClinicians.length !== values.assignedTo.length) {\r\n assignedClinicians = values.clinicianOptions.filter(cli => values.assignedToIds.includes(cli.id));\r\n }\r\n\r\n if (clinicianOptionsByOrgUnit.length > 0)\r\n this.setState({\r\n clinicianOptionsByOrgUnit,\r\n isCliniciansFilteringByOrgUnitRequired: false,\r\n assignedClinicians,\r\n assignedCliniciansData: assignedClinicians,\r\n });\r\n\r\n return assignedClinicians;\r\n }\r\n return assignedCliniciansData;\r\n };\r\n\r\n handleExcludedClinicians = (event, assignedClinicians) => {\r\n const { values } = this.props;\r\n const { clinicianOptionsByOrgUnit } = this.state;\r\n this.setState({ assignedClinicians });\r\n\r\n const excludedClinicians = clinicianOptionsByOrgUnit.filter(\r\n clinician => !assignedClinicians.some(({ id }) => id === clinician.id),\r\n );\r\n\r\n let excludedCliniciansId = excludedClinicians.map(x => x.id);\r\n if (assignedClinicians.length !== values.assignedTo.length) {\r\n const assignedClinicianIds = assignedClinicians.map(x => x.id);\r\n excludedCliniciansId = values.assignedToIds.filter(x => !assignedClinicianIds.includes(x));\r\n }\r\n\r\n this.props.setExcludedClinicians({ excludedCliniciansId });\r\n };\r\n\r\n handleSelectionTypeSwitch = (event, value) => {\r\n this.setState({\r\n selectionType: value,\r\n });\r\n };\r\n\r\n handleTeamChange = (event, key, newteams) => {\r\n this.setState({ teamIds: newteams || [], isCliniciansFilteringByOrgUnitRequired: true });\r\n };\r\n\r\n handleSelectionNPATravelType = (event, value) => {\r\n this.props.setStateOfNPATravelType(value);\r\n };\r\n\r\n render() {\r\n const { readOnly, innerRef, values, setValidity, shouldAssignToday } = this.props;\r\n const { selectionType, assignedClinicians } = this.state;\r\n const isEdit = values.actionType === 'EDIT';\r\n const errorMessages = {\r\n maxLength: errorsLocale.getMsg('validationMaxLength', ['500']),\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n {locale.getMsg('activityDetails')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n {selectionType === selectionTypes.teams ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {isEdit && selectionType === selectionTypes.teams && values.clinicianIds.length === 0 ? (\r\n values.clinicianOptions.length > 0 ? (\r\n \r\n {`${locale.getMsg(\r\n 'assignedClinicians',\r\n )}`}\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n {!shouldAssignToday && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {shouldAssignToday && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nNonPatientActivityDetails.defaultProps = {\r\n readOnly: false,\r\n innerRef: () => {},\r\n setValidity: () => {},\r\n shouldAssignToday: false,\r\n};\r\n\r\nNonPatientActivityDetails.propTypes = {\r\n readOnly: PropTypes.bool,\r\n innerRef: PropTypes.func,\r\n values: PropTypes.shape({\r\n notes: PropTypes.string,\r\n orgUnitIds: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n ),\r\n clinicianIds: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n ),\r\n excludedCliniciansId: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n ),\r\n nonPatientActivityTypeId: PropTypes.number,\r\n }).isRequired,\r\n setValidity: PropTypes.func,\r\n shouldAssignToday: PropTypes.bool,\r\n};\r\n\r\nexport default NonPatientActivityDetails;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Box } from '@material-ui/core';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { refSetter } from '../../../utils/helpers';\r\nimport NonPatientAddressDetails from '../Form/NonPatientAddressDetails/NonPatientAddressDetails';\r\nimport NonPatientActivityDetails from '../Form/NonPatientActivityDetails/NonPatientActivityDetails';\r\nimport NonPatientActivitySchedule from './NonPatientActivitySchedule/NonPatientActivitySchedule';\r\nimport {\r\n NonPatientActivityPropType,\r\n NonPatientActivityPropTypeDefault,\r\n} from '../../../propTypes/entities/nonPatientActivityType';\r\nimport _ from '../../../utils/lodash';\r\nimport { getDateForApi } from '../../../utils/dates';\r\nimport AlertBox from '../../../components/common/AlertBox/AlertBox';\r\nimport Spinner from '../../../components/common/Spinner/Spinner';\r\n\r\nconst locale = globals.getArea('nonPatientActivities');\r\n\r\nexport const actionTypes = {\r\n edit: 'EDIT',\r\n create: 'CREATE',\r\n view: 'VIEW',\r\n};\r\n\r\nclass NonPatientActivityForm extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.setStateBound = this.setState.bind(this);\r\n const validityDefaults = props.actionType === actionTypes.edit ? true : null;\r\n const mappedSelectedDate = new Date(props.selectedDate).toISOString().slice(0, 19);\r\n this.setStateOfNPATravelType.bind(this);\r\n this.state = {\r\n formsValidity: {\r\n nonPatientAddressIsValid: validityDefaults,\r\n nonPatientActivitySeduleIsValid: validityDefaults,\r\n nonPatientActivityDetailsIsValid: validityDefaults,\r\n },\r\n wholeFormErrorMessage: null,\r\n selectedTab: 0,\r\n isReset: false,\r\n canSave: null,\r\n shouldFocus: true,\r\n selectionNPATravelType:\r\n props.nonPatientActivity.address === null && props.actionType === actionTypes.edit\r\n ? 'npaWithoutTravel'\r\n : 'npaWithTravel',\r\n excludedClinicians: [],\r\n dateTo: this.getParsedDateOrNull(props.shouldAssignToday ? mappedSelectedDate : props.nonPatientActivity.dateTo),\r\n dateFrom: this.getParsedDateOrNull(\r\n props.shouldAssignToday ? mappedSelectedDate : props.nonPatientActivity.dateFrom,\r\n ),\r\n startTime: this.getParsedDateOrNull(props.nonPatientActivity.startTime),\r\n endTime: this.getParsedDateOrNull(props.nonPatientActivity.endTime),\r\n };\r\n }\r\n\r\n componentDidMount = () => {\r\n const data = this.props.actionType === actionTypes.create ? { retrieveOnlyActive: true } : null;\r\n this.props.getClinicianOptions(data);\r\n };\r\n\r\n componentWillReceiveProps = () => {\r\n this.setState({\r\n shouldFocus: true,\r\n });\r\n };\r\n\r\n componentDidUpdate = () => {\r\n const enableSave = this.canSave();\r\n\r\n this.setState({\r\n canSave: enableSave,\r\n });\r\n\r\n if (this.state.shouldFocus && this.props.failureMessage) {\r\n this.alertBox.focus();\r\n this.setState({\r\n shouldFocus: false,\r\n });\r\n }\r\n\r\n this.props.canSaveFromPlanning(enableSave);\r\n\r\n if (this.props.shouldAssignToday && enableSave) {\r\n const { recurEvery = 1 } = this.shedulerForm.getModel();\r\n\r\n const details = this.detailsForm.getModel();\r\n this.props.getNpaDetails(details);\r\n\r\n if (this.state.selectionNPATravelType === 'npaWithTravel') {\r\n const addressForm = this.addressForm.getModel();\r\n this.props.getNpaAddress(addressForm);\r\n } else {\r\n this.props.getNpaAddress(null);\r\n }\r\n\r\n const schedule = {\r\n ...this.shedulerForm.getModel(),\r\n dateFrom: getDateForApi(this.state.dateFrom),\r\n dateTo: getDateForApi(this.state.dateTo),\r\n recurEvery,\r\n startTime: getDateForApi(this.state.startTime),\r\n endTime: getDateForApi(this.state.endTime),\r\n };\r\n this.props.getNpaSchedule(schedule);\r\n }\r\n };\r\n\r\n componentWillUnmount() {\r\n this.props.dismissError();\r\n }\r\n\r\n onStateChange = newScheduleState => {\r\n this.setState({ npActivityScheduleSchedule: { ...this.state.npActivityScheduleSchedule, ...newScheduleState } });\r\n };\r\n\r\n getParsedDateOrNull = value => {\r\n if (value) return new Date(value);\r\n return null;\r\n };\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n setValidity = formName => value => () => {\r\n this.setState({\r\n formsValidity: {\r\n ...this.state.formsValidity,\r\n [`${formName}IsValid`]: value,\r\n },\r\n });\r\n };\r\n\r\n setStateOfNPATravelType = value => {\r\n // eslint-disable-next-line no-unused-expressions\r\n value === 'npaWithTravel'\r\n ? this.setState({ selectionNPATravelType: value })\r\n : this.setState({\r\n selectionNPATravelType: value,\r\n formsValidity: { ...this.state.formsValidity, nonPatientAddressIsValid: true },\r\n });\r\n };\r\n\r\n setExcludedClinicians = excludedClinicians => {\r\n this.setState({\r\n excludedClinicians,\r\n });\r\n };\r\n\r\n handleSave = () => {\r\n if (this.canSave()) {\r\n const { saveCallback, shouldAssignToday } = this.props;\r\n const { selectionNPATravelType, excludedClinicians } = this.state;\r\n const { recurEvery = 1 } = this.shedulerForm.getModel();\r\n\r\n saveCallback(\r\n this.detailsForm.getModel(),\r\n selectionNPATravelType === 'npaWithTravel' ? this.addressForm.getModel() : null,\r\n {\r\n ...this.shedulerForm.getModel(),\r\n dateFrom: getDateForApi(this.state.dateFrom),\r\n dateTo: getDateForApi(this.state.dateTo),\r\n recurEvery,\r\n startTime: getDateForApi(this.state.startTime),\r\n endTime: getDateForApi(this.state.endTime),\r\n },\r\n shouldAssignToday,\r\n excludedClinicians,\r\n );\r\n } else {\r\n this.shedulerForm.submit();\r\n this.detailsForm.submit();\r\n this.addressForm.submit();\r\n this.setState({\r\n wholeFormErrorMessage: locale.getMsg('pleaseCompleteTabs'),\r\n isReset: false,\r\n });\r\n }\r\n };\r\n\r\n canSave = () => {\r\n const formsValidity = _.values(this.state.formsValidity);\r\n return formsValidity.every(el => el === true);\r\n };\r\n\r\n render() {\r\n const { wholeFormErrorMessage, canSave } = this.state;\r\n const {\r\n nonPatientActivity,\r\n failureMessage,\r\n dismissError,\r\n isAssigning,\r\n actionType,\r\n clinicianOptions,\r\n orgUnitId,\r\n shouldAssignToday,\r\n } = this.props;\r\n const mappedSelectedDate = new Date(this.props.selectedDate).toISOString().slice(0, 19);\r\n\r\n const mappedOrgUnit = [{ id: orgUnitId }];\r\n return (\r\n
    \r\n \r\n {isAssigning === true ? : ''}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.selectionNPATravelType === 'npaWithTravel' ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n {!this.props.shouldAssignToday && (\r\n \r\n \r\n {wholeFormErrorMessage && wholeFormErrorMessage.length && (\r\n {wholeFormErrorMessage}\r\n )}\r\n \r\n )}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nNonPatientActivityForm.defaultProps = {\r\n nonPatientActivity: NonPatientActivityPropTypeDefault,\r\n saveCallback: () => {},\r\n getClinicianOptions: () => {},\r\n orgUnitId: null,\r\n selectedDate: null,\r\n shouldAssignToday: false,\r\n canSaveFromPlanning: () => {},\r\n getNpaDetails: () => {},\r\n getNpaSchedule: () => {},\r\n getNpaAddress: () => {},\r\n};\r\n\r\nNonPatientActivityForm.propTypes = {\r\n nonPatientActivity: NonPatientActivityPropType,\r\n actionType: PropTypes.string.isRequired,\r\n saveCallback: PropTypes.func,\r\n getClinicianOptions: PropTypes.func,\r\n failureMessage: PropTypes.string.isRequired,\r\n dismissError: PropTypes.func.isRequired,\r\n isAssigning: PropTypes.bool.isRequired,\r\n orgUnitId: PropTypes.number,\r\n selectedDate: PropTypes.date,\r\n shouldAssignToday: PropTypes.bool,\r\n canSaveFromPlanning: PropTypes.func,\r\n getNpaDetails: PropTypes.func,\r\n getNpaSchedule: PropTypes.func,\r\n getNpaAddress: PropTypes.func,\r\n};\r\n\r\nexport default NonPatientActivityForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Formsy from 'formsy-react';\r\nimport { FormsySelect, FormsyText } from 'formsy-material-ui/lib';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport FormClass from '../../../../components/Treatments/TreatmentSchedule/shared/FormClass';\r\nimport SpecificTimeDetails from '../../../../components/Treatments/TreatmentSchedule/SpecificTime/SpecificTimeDetails';\r\nimport { recurrenceTypes } from '../../../../settings/constants';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport _ from '../../../../utils/lodash';\r\n\r\nimport { textFieldStyle, dropDownStyle, common } from '../../../../theme/AllocateBaseTheme';\r\nimport KeyboardDateSelector from '../../../../components/common/KeyboardDateTimeSelectors/KeyboardDateSelector';\r\nimport KeyboardTimeSelector from '../../../../components/common/KeyboardDateTimeSelectors/KeyboardTimeSelector';\r\nimport { getErrorProps, combineDateTime, checkRequiredOnBlur } from '../../../../utils/keyboardSelectorFunctions';\r\nimport { extractDateOnly, isDateFromBeforeDateTo, isValidDate } from '../../../../utils/dates';\r\n\r\nconst errors = globals.getArea('error');\r\nconst locale = globals.getArea('nonPatientActivities');\r\n\r\nconst recurrenceTextMap = {\r\n [recurrenceTypes.DAILY]: locale.getMsg('days'),\r\n [recurrenceTypes.WEEKLY]: locale.getMsg('weeks'),\r\n};\r\n\r\nclass NonPatientActivitySchedule extends FormClass {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n ...this.state,\r\n validationErrors: {},\r\n };\r\n }\r\n setValidationErrors = newValidationErrors => {\r\n this.setState({\r\n validationErrors: newValidationErrors,\r\n });\r\n };\r\n isSpecific = true;\r\n combineRefs = el => {\r\n this.props.innerRef(el);\r\n this.form = el;\r\n };\r\n calculateEndDateTime = (startTime, endTime) => {\r\n const startDate = new Date(startTime);\r\n const endDate = new Date(endTime);\r\n return endDate < startDate ? endDate.setDate(endDate.getDate() + 1) : endDate;\r\n };\r\n noValidationErrors = () => {\r\n const { validationErrors } = this.state;\r\n const { dateFrom, dateTo, startTime, endTime } = this.props.dateTimeValues;\r\n return (\r\n !validationErrors.dateFrom &&\r\n !validationErrors.dateTo &&\r\n !validationErrors.startTime &&\r\n !validationErrors.endTime &&\r\n isValidDate(dateFrom, true) &&\r\n isValidDate(dateTo, true) &&\r\n isValidDate(startTime, true) &&\r\n isValidDate(endTime, true)\r\n );\r\n };\r\n allDatesAndTimesAreSet = () => {\r\n const { dateFrom, dateTo, startTime, endTime } = this.props.dateTimeValues;\r\n return dateFrom && dateTo && startTime && endTime;\r\n };\r\n formIsSubmittable = () => {\r\n const { dateFrom, dateTo } = this.props.dateTimeValues;\r\n return this.allDatesAndTimesAreSet() && this.noValidationErrors() && isDateFromBeforeDateTo(dateFrom, dateTo);\r\n };\r\n handleDateChange = (fieldName, date) => {\r\n const { setState, setValidity } = this.props;\r\n let errorMsg = null;\r\n\r\n if (!date) {\r\n errorMsg = errors.getMsg('requiredFieldValidationMessage');\r\n } else {\r\n date = extractDateOnly(date);\r\n\r\n if (fieldName === 'dateFrom' && !this.isAtLeastTodayOrUnmodified('dateFrom')({}, date)) {\r\n errorMsg = errors.getMsg('mustBeAtLeastToday', [locale.getMsg('dateFrom')]);\r\n }\r\n\r\n if (!isValidDate(date)) {\r\n errorMsg = null;\r\n }\r\n }\r\n\r\n this.setValidationErrors({ ...this.state.validationErrors, [fieldName]: errorMsg });\r\n setState({ [fieldName]: date }, () => {\r\n this.invokeOnChange();\r\n setValidity(this.formIsSubmittable())();\r\n });\r\n };\r\n handleTimeChange = (fieldName, time) => {\r\n const { setState, setValidity } = this.props;\r\n let errorMsg = null;\r\n\r\n if (!time) {\r\n errorMsg = errors.getMsg('requiredFieldValidationMessage');\r\n }\r\n if (!isValidDate(time)) {\r\n errorMsg = null;\r\n }\r\n\r\n this.setValidationErrors({ ...this.state.validationErrors, [fieldName]: errorMsg });\r\n setState({ [fieldName]: time }, () => {\r\n this.invokeOnChange();\r\n setValidity(this.formIsSubmittable())();\r\n });\r\n };\r\n invokeOnChange = () => {\r\n const { dateFrom, dateTo } = this.props.dateTimeValues;\r\n let { startTime, endTime } = this.props.dateTimeValues;\r\n if (dateFrom && startTime) {\r\n startTime = combineDateTime(dateFrom, startTime);\r\n }\r\n if (dateTo && endTime) {\r\n endTime = combineDateTime(dateTo, endTime);\r\n }\r\n this.handleChange({\r\n dateFrom,\r\n dateTo,\r\n startTime,\r\n endTime,\r\n });\r\n };\r\n render() {\r\n const { values, readOnly, shouldAssignToday, defaultValues } = this.props;\r\n const { dateFrom, dateTo, startTime, endTime } = this.props.dateTimeValues;\r\n const { recurrenceType, recurEvery, duration, validationErrors } = this.state;\r\n const recurrenceTypeOptions = _.filter(recurrenceType.options, item => item.name !== recurrenceTypes.MONTHLY);\r\n\r\n return (\r\n \r\n \r\n \r\n {locale.getMsg('activitySchedule')}\r\n \r\n \r\n \r\n this.handleDateChange('dateFrom', date)}\r\n onBlur={event =>\r\n checkRequiredOnBlur(event.target.value, this.setValidationErrors, 'dateFrom', validationErrors)\r\n }\r\n disabled={shouldAssignToday || readOnly}\r\n errorProps={getErrorProps(validationErrors.dateFrom)}\r\n />\r\n \r\n \r\n this.handleDateChange('dateTo', date)}\r\n onBlur={event =>\r\n checkRequiredOnBlur(event.target.value, this.setValidationErrors, 'dateTo', validationErrors)\r\n }\r\n disabled={readOnly}\r\n errorProps={getErrorProps(validationErrors.dateTo)}\r\n minDate={dateFrom ? dateFrom.toString() : null}\r\n minDateMessage={errors.getMsg('cannotBeEarlier', [locale.getMsg('dateFrom')])}\r\n />\r\n \r\n \r\n this.handleTimeChange('startTime', time)}\r\n onBlur={event =>\r\n checkRequiredOnBlur(event.target.value, this.setValidationErrors, 'startTime', validationErrors)\r\n }\r\n disabled={readOnly}\r\n errorProps={getErrorProps(validationErrors.startTime)}\r\n />\r\n \r\n \r\n this.handleTimeChange('endTime', time)}\r\n onBlur={event => checkRequiredOnBlur(event.target.value, this.setValidationErrors, 'endTime')}\r\n disabled={readOnly}\r\n errorProps={getErrorProps(validationErrors.endTime)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {recurrenceTypeOptions.map(({ value, name }) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {!recurEvery.disabled && (\r\n \r\n {recurEvery.options.map(({ value }) => (\r\n \r\n ))}\r\n \r\n )}\r\n
    \r\n {!recurEvery.disabled && recurEvery.options.length ? recurrenceTextMap[recurrenceType.selected] : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nNonPatientActivitySchedule.defaultProps = {\r\n innerRef: () => {},\r\n setValidity: () => {},\r\n defaultValues: {\r\n recurEvery: 1,\r\n recurrenceType: 'Daily',\r\n dateTo: undefined,\r\n dateFrom: undefined,\r\n startTime: undefined,\r\n endTime: undefined,\r\n duration: undefined,\r\n selectedDays: undefined,\r\n },\r\n readOnly: false,\r\n shouldAssignToday: false,\r\n};\r\n\r\nNonPatientActivitySchedule.propTypes = {\r\n defaultValues: PropTypes.shape({\r\n recurEvery: PropTypes.number,\r\n recurrenceType: PropTypes.string,\r\n selectedDays: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n dateTo: PropTypes.date,\r\n dateFrom: PropTypes.date,\r\n startTime: PropTypes.date,\r\n endTime: PropTypes.date,\r\n duration: PropTypes.string,\r\n }),\r\n values: PropTypes.shape({\r\n recurEvery: PropTypes.number,\r\n recurrenceType: PropTypes.string,\r\n selectedDays: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n dateTo: PropTypes.date,\r\n dateFrom: PropTypes.date,\r\n startTime: PropTypes.date,\r\n endTime: PropTypes.date,\r\n duration: PropTypes.string,\r\n }),\r\n innerRef: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n setValidity: PropTypes.func,\r\n shouldAssignToday: PropTypes.bool,\r\n};\r\n\r\nexport default NonPatientActivitySchedule;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Formsy from 'formsy-react';\r\nimport { Typography, Box } from '@material-ui/core';\r\nimport globals from '../../../../globals/communityGlobals';\r\nimport PostcodeSearch from './../../../../containers/common/PostcodeSearch/PostcodeSearchContainer';\r\nimport AddressForm from '../../../../components/Treatments/AddressDetails/AddressForm';\r\nimport { refSetter } from '../../../../utils/helpers';\r\n\r\nconst locale = globals.getArea('nonPatientActivities');\r\n\r\nexport const actionTypes = {\r\n edit: 'EDIT',\r\n create: 'CREATE',\r\n view: 'VIEW',\r\n};\r\n\r\nclass NonPatientAddressDetails extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isValid: props.actionType === actionTypes.edit ? true : null,\r\n };\r\n }\r\n\r\n setRef = refSetter.bind(this);\r\n\r\n handleChange = () => {\r\n this.setState({\r\n isValid: true,\r\n });\r\n };\r\n\r\n updateAddressFromPostcode = selection => {\r\n this.addressForm.setValue({\r\n addressLine1: selection.lines[0],\r\n addressLine2: selection.lines[1],\r\n addressLine3: selection.lines[2],\r\n townCity: selection.postTown,\r\n postCode: selection.value,\r\n });\r\n };\r\n\r\n render() {\r\n const { isValid } = this.state;\r\n const { innerRef, setValidity, activityAddress } = this.props;\r\n\r\n return (\r\n \r\n \r\n {locale.getMsg('activityAddress')}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nNonPatientAddressDetails.defaultProps = {\r\n onFieldsUpdate: () => {},\r\n innerRef: () => {},\r\n setValidity: () => {},\r\n addressDetails: undefined,\r\n readOnly: false,\r\n activityAddress: undefined,\r\n};\r\n\r\nNonPatientAddressDetails.propTypes = {\r\n innerRef: PropTypes.func,\r\n setValidity: PropTypes.func,\r\n activityAddress: PropTypes.shape({\r\n addressLine1: PropTypes.string,\r\n addressLine2: PropTypes.string,\r\n addressLine3: PropTypes.string,\r\n townCity: PropTypes.string,\r\n postCode: PropTypes.string,\r\n accessDetails: PropTypes.string,\r\n }),\r\n actionType: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default NonPatientAddressDetails;\r\n","import { useDispatch } from 'react-redux';\r\nimport { push } from 'connected-react-router';\r\nimport moment from 'moment';\r\nimport globals from '../../globals/communityGlobals';\r\nimport { recurrenceTypes } from '../../settings/constants';\r\nimport { cancelNonPatientActivity } from '../../actions/entities';\r\n\r\nconst locale = globals.getAreas(['nonPatientActivities', 'error', 'selectableListsValues', 'userActions']);\r\n\r\nexport const eventHandlers = (state, setState) => {\r\n const dispatch = useDispatch();\r\n\r\n const updateTableProps = (currentPage, pageSize) => setState({ ...state, currentPage, pageSize });\r\n const updateTableSort = (sortColumn, sortDirection) => setState({ ...state, sortColumn, sortDirection });\r\n\r\n const onClose = () => {\r\n setState(newState => ({ ...newState, openSidePanel: false }));\r\n };\r\n\r\n const onFiltersChange = model =>\r\n setState({\r\n ...state,\r\n selectedOrgUnits: model.selectedOrgUnits,\r\n selectedClinicians: model.selectedClinicians,\r\n dateFrom: model.dateFrom || null,\r\n dateTo: model.dateTo || null,\r\n currentPage: 1,\r\n });\r\n\r\n const refreshTable = () =>\r\n setState(newState => ({\r\n ...newState,\r\n forceReload: !state.forceReload,\r\n }));\r\n\r\n const handleCreate = () => {\r\n dispatch(push('/NonPatientActivities/Create'));\r\n };\r\n\r\n const handleEdit = (id, recurrence) => {\r\n if (recurrence === recurrenceTypes.MONTHLY) {\r\n setState({ ...state, showEditNpaConfirmation: true });\r\n } else {\r\n dispatch(push(`/NonPatientActivities/Edit/${id}`));\r\n }\r\n };\r\n\r\n const handleDeleteNpaConfirm = async () => {\r\n setState({ ...state, showDeleteNpaConfirmation: !state.showDeleteNpaConfirmation });\r\n await dispatch(\r\n cancelNonPatientActivity({ NonPatientActivityId: state.currentItemId, shouldCreateDeleteEvent: true }),\r\n );\r\n setState({\r\n ...state,\r\n forceReload: !state.forceReload,\r\n showDeleteNpaConfirmation: false,\r\n currentItemId: 0,\r\n });\r\n };\r\n\r\n const confirmDelete = id => {\r\n setState({\r\n ...state,\r\n showDeleteNpaConfirmation: true,\r\n currentItemId: id,\r\n });\r\n };\r\n\r\n const handleDeleteNpaCancel = () => {\r\n setState({ ...state, showDeleteNpaConfirmation: false, currentItemId: 0 });\r\n };\r\n\r\n return {\r\n locale,\r\n addButtonText: locale.getMsg('addButtonText'),\r\n dateFormats: globals.dateFormats.shortWithLongTime,\r\n moment,\r\n updateTableProps,\r\n updateTableSort,\r\n onClose,\r\n onFiltersChange,\r\n handleSidePanel: handleCreate,\r\n handleEdit,\r\n confirmDelete,\r\n handleDeleteNpaCancel,\r\n handleDeleteNpaConfirm,\r\n refreshTable,\r\n };\r\n};\r\n","import React, { useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport LoadingPageText from '../../components/common/Loading/LoadingPageText';\r\nimport SearchFilters from './NPASearchFilters';\r\nimport { useFetchNonPatientActivitiesList } from '../../actions/areas/nonPatientActivities/fetchNonPatientActivities';\r\nimport { eventHandlers } from './NPAHandler';\r\nimport { tableSettings } from './NPATableSettings';\r\nimport ConfirmationDialog from '../../components/common/ConfirmationDialog/ConfirmationDialog';\r\nimport { getDateForApi } from '../../utils/dates';\r\n\r\nexport default function NonPatientActivitiesPage() {\r\n document.title = 'Non Patient Activities';\r\n\r\n const [state, setState] = useState({\r\n forceReload: false,\r\n selectedOrgUnits: [],\r\n selectedClinicians: [],\r\n dateFrom: null,\r\n dateTo: null,\r\n currentPage: 1,\r\n pageSize: 15,\r\n sortColumn: 'DateCreated',\r\n sortDirection: 'desc',\r\n showDeleteNpaConfirmation: false,\r\n showEditNpaConfirmation: false,\r\n currentItemId: 0,\r\n });\r\n\r\n const model = {\r\n OrgUnitIds: state.selectedOrgUnits.map(unit => unit.id),\r\n ClinicianIds: state.selectedClinicians.map(c => c.id),\r\n DateFrom: getDateForApi(state.dateFrom),\r\n DateTo: getDateForApi(state.dateTo),\r\n pageSize: state.pageSize,\r\n currentPage: state.currentPage,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n };\r\n\r\n const { data, isDataLoading, isTableDataLoading } = useFetchNonPatientActivitiesList(model, state.forceReload);\r\n\r\n const events = eventHandlers(state, setState);\r\n const settings = tableSettings({\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n eventHandlers: events,\r\n isTableDataLoading,\r\n currentItemId: state.currentItemId,\r\n });\r\n\r\n if (isDataLoading)\r\n return (\r\n \r\n Wait a moment while we gather Non-Patient Activties list info...\r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n setState({ ...state, showEditNpaConfirmation: false })}\r\n title={events.locale.getMsg('editMonthlyNonPatientActivityConformationTitle')}\r\n text={events.locale.getMsg('editMonthlyNonPatientActivityConformationText')}\r\n />\r\n
    \r\n );\r\n}\r\n","/* eslint-disable jsx-a11y/interactive-supports-focus */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { Box, IconButton, Link } from '@material-ui/core';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport AutocompleteWrapper from '../../components/common/Autocomplete/AutocompleteWrapper';\r\n\r\nimport { useFetchOrgUnitOptions, useFetchClinicianOptionsForUser } from '../../actions/areas/shared/fetchOptions';\r\n\r\nconst defaultState = {\r\n selectedOrgUnits: [],\r\n selectedClinicians: [],\r\n dateFrom: null,\r\n dateTo: null,\r\n reloadCliniciansData: false,\r\n retrieveOnlyActive: true,\r\n};\r\n\r\nconst style = {\r\n maxHeight: '30px',\r\n};\r\n\r\nexport default function NPASearchFilters({ onSubmit, events }) {\r\n const [state, setState] = useState(defaultState);\r\n\r\n const locale = events.locale;\r\n\r\n const clinicianOptionsModel = {\r\n teamIds: state.selectedOrgUnits.map(x => x.id),\r\n RetrieveOnlyActive: state.retrieveOnlyActive,\r\n };\r\n\r\n const { data: teamsOptions } = useFetchOrgUnitOptions(false);\r\n const { data: clinicianOptions } = useFetchClinicianOptionsForUser(clinicianOptionsModel, state.reloadCliniciansData);\r\n\r\n const handleSave = () => {\r\n onSubmit(state);\r\n };\r\n\r\n const handleClear = () => {\r\n setState(defaultState);\r\n onSubmit(defaultState);\r\n };\r\n\r\n const filterSelectedClinicians = () => {\r\n return state.selectedClinicians.filter(item => clinicianOptions.find(i => i.id === item.id));\r\n };\r\n\r\n const selectedClinicians = filterSelectedClinicians();\r\n\r\n useEffect(() => {\r\n setState({\r\n ...state,\r\n selectedClinicians: filterSelectedClinicians(),\r\n });\r\n }, [state.selectedClinicians.length !== selectedClinicians.length]);\r\n\r\n const onChangeDropDown = (key, values) => {\r\n if (key === 'selectedOrgUnits') {\r\n setState({\r\n ...state,\r\n [key]: values,\r\n selectedClinicians,\r\n reloadCliniciansData: !state.reloadCliniciansData,\r\n });\r\n } else {\r\n setState({\r\n ...state,\r\n [key]: values,\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Org Units\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('clinicians')}\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('dateFrom')}\r\n \r\n \r\n setState({ ...state, dateFrom: value })}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className=\"calendar-picker-input\"\r\n />\r\n \r\n \r\n {locale.getMsg('dateTo')}\r\n \r\n \r\n setState({ ...state, dateTo: value })}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className=\"calendar-picker-input\"\r\n />\r\n \r\n \r\n \r\n \r\n Clear\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","/* eslint-disable default-case */\r\n/* eslint-disable no-case-declarations */\r\nimport React from 'react';\r\nimport { Typography, Box, IconButton } from '@material-ui/core';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport CustomToolbar from '../../components/common/CustomToolbar/CustomToolbar';\r\nimport _ from '../../utils/lodash';\r\n\r\nconst mapPropName = (columnName, isEntityToDto = false) => {\r\n const entityNames = ['Activity', 'CreatedBy', 'DateFrom', 'RecurrenceType', 'Assignments'];\r\n const dtoNames = ['activity', 'createdBy', 'dateRange', 'recurrence', 'assignedTo'];\r\n if (isEntityToDto) {\r\n const index = _.indexOf(entityNames, columnName);\r\n return dtoNames[index];\r\n }\r\n\r\n const index = _.indexOf(dtoNames, columnName);\r\n return entityNames[index];\r\n};\r\n\r\nconst setSortDirection = (columnDtoName, options) => {\r\n const entityName = mapPropName(columnDtoName, false);\r\n\r\n return entityName === options.sortColumn ? options.sortDirection : 'none';\r\n};\r\n\r\nexport const tableSettings = options => {\r\n const eventHandlers = options.eventHandlers;\r\n const locale = eventHandlers.locale;\r\n\r\n return {\r\n name: (\r\n \r\n {locale.getMsg('nonPatientActivities')}\r\n \r\n ),\r\n columns: [\r\n {\r\n name: 'id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'activity',\r\n label: locale.getMsg('activity'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'activity',\r\n direction: setSortDirection('activity', options),\r\n },\r\n setCellProps: () => ({ style: { width: '200px' } }),\r\n },\r\n },\r\n {\r\n name: 'assignedTo',\r\n label: locale.getMsg('assignedTo'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'assignedTo',\r\n direction: setSortDirection('assignedTo', options),\r\n },\r\n setCellProps: () => ({ style: { maxWidth: '500px' } }),\r\n },\r\n },\r\n {\r\n name: 'dateRange',\r\n label: 'From - To Date',\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'dateRange',\r\n direction: setSortDirection('dateRange', options),\r\n },\r\n setCellProps: () => ({ style: { width: '180px' } }),\r\n },\r\n },\r\n {\r\n name: 'timeRange',\r\n label: 'Start - End Time',\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({ style: { width: '130px' } }),\r\n },\r\n },\r\n {\r\n name: 'duration',\r\n label: locale.getMsg('duration'),\r\n options: {\r\n sort: false,\r\n setCellProps: () => ({ style: { width: '100px' } }),\r\n },\r\n },\r\n {\r\n name: 'recurrence',\r\n label: locale.getMsg('recurrence'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'recurrence',\r\n direction: setSortDirection('recurrence', options),\r\n },\r\n setCellProps: () => ({ style: { width: '100px' } }),\r\n },\r\n },\r\n {\r\n name: 'createdBy',\r\n label: locale.getMsg('createdBy'),\r\n options: {\r\n sort: true,\r\n sortOrder: {\r\n name: 'createdBy',\r\n direction: setSortDirection('createdBy', options),\r\n setCellProps: () => ({ style: { width: '250px' } }),\r\n },\r\n },\r\n },\r\n {\r\n name: 'Actions',\r\n label: 'Actions',\r\n options: {\r\n sort: false,\r\n setCellHeaderProps: () => ({ className: 'centered' }),\r\n setCellProps: () => ({ style: { width: '100px' } }),\r\n customBodyRender: (value, tableMeta) => (\r\n
    \r\n options.eventHandlers.handleEdit(tableMeta.rowData[0], tableMeta.rowData[6])}\r\n disabled={options.currentItemId !== 0 && options.currentItemId === tableMeta.rowData[0]}\r\n >\r\n \r\n \r\n |\r\n options.eventHandlers.confirmDelete(tableMeta.rowData[0])}\r\n disabled={options.currentItemId !== 0 && options.currentItemId === tableMeta.rowData[0]}\r\n >\r\n \r\n \r\n
    \r\n ),\r\n },\r\n },\r\n ],\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n customToolbar: () => (\r\n \r\n ),\r\n onTableChange: (action, tableState) => {\r\n switch (action) {\r\n case 'changePage':\r\n case 'changeRowsPerPage':\r\n options.eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n break;\r\n case 'sort':\r\n let sortColumn = '';\r\n let sortDirection = '';\r\n\r\n if (tableState.activeColumn > -1) {\r\n sortColumn = mapPropName(tableState.sortOrder.name);\r\n sortDirection = tableState.sortOrder.direction;\r\n options.eventHandlers.updateTableSort(sortColumn, sortDirection);\r\n }\r\n break;\r\n }\r\n },\r\n },\r\n };\r\n};\r\n","import React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\r\nimport Badge from '@material-ui/core/Badge';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\n\r\nimport { getUnsuccessfulSyncPatientById } from '../../../actions/areas/planner/queryActions';\r\n\r\nimport { parseShortDateTime, parseShortDateWithTime } from '../../../utils/dates';\r\n\r\nexport default function AuditDetails({ modelDetails, auth, onClose }) {\r\n const [state, setState] = useState({\r\n model: null,\r\n isLoading: true,\r\n });\r\n\r\n const callback = response => {\r\n if (response !== null) setState({ ...state, model: response.auditDetails });\r\n };\r\n\r\n if (state.model === null) getUnsuccessfulSyncPatientById(auth, modelDetails.id, false, callback);\r\n\r\n const isExcludePropValue = value => value !== '@|@';\r\n\r\n const headerRender = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n Audit Details\r\n \r\n \r\n onClose()}>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {state.model.errorMessage}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {state.model.createdBy}\r\n \r\n \r\n \r\n \r\n {parseShortDateWithTime(state.model.dateCreated)}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const otherPatientDetailsRender = () => {\r\n return (\r\n
    \r\n \r\n Other Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const contactDetailsRender = () => {\r\n return (\r\n
    \r\n \r\n Contact Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const patientAddressRender = () => {\r\n return (\r\n
    \r\n \r\n Address\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}} onClose={onClose}>\r\n
    \r\n {state.model !== null && (\r\n \r\n {headerRender()}\r\n
    \r\n {patientAddressRender()}\r\n {contactDetailsRender()}\r\n {otherPatientDetailsRender()}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-nested-ternary */\r\nimport React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport Badge from '@material-ui/core/Badge';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\r\n\r\nimport { getPatientAuditById } from '../../../actions/areas/planner/queryActions';\r\nimport { parseShortDateTime, isValidDateFormat } from '../../../utils/dates';\r\n\r\nexport default function AuditHistory({ modelDetails, auth, onClose }) {\r\n const [state, setState] = useState({\r\n model: null,\r\n isLoading: true,\r\n });\r\n\r\n const callback = response => {\r\n if (response !== null) setState({ ...state, model: response.variances });\r\n };\r\n\r\n if (state.model === null) getPatientAuditById(auth, modelDetails.id, false, callback);\r\n\r\n const isBoolean = value => typeof value === 'boolean';\r\n\r\n const parseValue = value =>\r\n // eslint-disable-next-line no-use-before-define\r\n isBoolean(value) ? value.toString() : isValidDateFormat(value) ? parseShortDateTime(value) : value;\r\n\r\n const headerRender = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n Patient Audit Details\r\n \r\n \r\n onClose()}>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {modelDetails.fullName}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {modelDetails.eventName}\r\n \r\n \r\n \r\n \r\n {modelDetails.dateOfChange}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const mapData = prop => {\r\n return (\r\n \r\n \r\n {prop.propertyName}\r\n \r\n \r\n {parseValue(prop.oldValue) || '-'}\r\n \r\n \r\n {parseValue(prop.newValue) || '-'}\r\n \r\n \r\n );\r\n };\r\n\r\n const detailsRender = () => {\r\n return (\r\n
    \r\n \r\n Patient Changes\r\n \r\n
    \r\n
    \r\n \r\n \r\n

    Property Name

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

    Old value

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

    New value

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {state.model !== null && (\r\n \r\n \r\n {state.model.map(mapData)}\r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {}} onClose={onClose}>\r\n
    \r\n {state.model !== null && (\r\n \r\n {headerRender()}\r\n
    {detailsRender()}
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Box, IconButton, Link, TextField, Typography } from '@material-ui/core';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport { DropdownFilter } from '../../../components/Planner/Filters/DropdownFilter';\r\n\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('patients');\r\nconst maxChars = 150;\r\nconst defaultState = {\r\n from: globals.now.subtract(3, 'months').format(globals.dateFormats.date),\r\n to: globals.now.format(globals.dateFormats.date),\r\n forename: '',\r\n surname: '',\r\n nhsNumber: '',\r\n dateOfBirth: '',\r\n auditType: 0,\r\n};\r\n\r\nconst auditTypes = [{ id: 0, name: 'Patient Audit' }, { id: 1, name: 'Unsuccessful Sync Patients' }];\r\n\r\nexport default function PatientAuditSearchFilters({ onSubmit, errorProps }) {\r\n const [state, setState] = useState(defaultState);\r\n\r\n const handleClear = () => {\r\n setState(defaultState);\r\n onSubmit(defaultState);\r\n };\r\n\r\n return (\r\n {\r\n e.preventDefault();\r\n onSubmit(state);\r\n }}\r\n noValidate\r\n autoComplete=\"off\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Type\r\n \r\n \r\n \r\n setState({ ...state, auditType: value })}\r\n />\r\n \r\n \r\n {state.auditType === 0 && (\r\n \r\n \r\n \r\n \r\n {locale.getMsg('forename')}\r\n \r\n \r\n \r\n setState({ ...state, forename: e.target.value })}\r\n inputProps={{\r\n maxLength: maxChars,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('surname')}\r\n \r\n \r\n \r\n setState({ ...state, surname: e.target.value })}\r\n inputProps={{\r\n maxLength: maxChars,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('nhsNumber')}\r\n \r\n \r\n \r\n setState({ ...state, nhsNumber: e.target.value })}\r\n />\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {locale.getMsg('from')}\r\n \r\n \r\n \r\n setState({ ...state, from: e.target.value })}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('to')}.\r\n \r\n \r\n \r\n setState({ ...state, to: e.target.value })}\r\n />\r\n \r\n \r\n \r\n \r\n {locale.getMsg('clear')}\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 React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport MUIDataTable from 'mui-datatables';\r\n\r\nimport PatientSearchFilters from './PatientAuditSearchFilters';\r\nimport LoadingPageText from '../../../components/common/Loading/LoadingPageText';\r\nimport AuditDetails from './AuditDetails';\r\nimport AuditHistory from './AuditHistory';\r\n\r\nimport { useFetchPatientAuditSearch } from '../../../actions/entities/patients/fetchHooks';\r\nimport { tableSettings } from './patientAuditSearchTableSettings';\r\nimport { eventHandlers } from './patientAuditSearchHandler';\r\nimport { PATIENT_GET_FAILURE } from '../../../actions/constants/types';\r\n\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nexport default function PatientAuditSearchPage() {\r\n document.title = 'Patient Audit';\r\n\r\n const dispatch = useDispatch();\r\n const [state, setState] = useState({\r\n forceReload: false,\r\n from: globals.now.subtract(3, 'months').format(globals.dateFormats.date),\r\n to: globals.now.format(globals.dateFormats.date),\r\n forename: '',\r\n surname: '',\r\n nhsNumber: '',\r\n currentPage: 1,\r\n pageSize: 15,\r\n sortColumn: '',\r\n sortDirection: '',\r\n auditType: 0,\r\n unsuccessfullyPatientRequest: null,\r\n patientAuditHistory: null,\r\n });\r\n const getModel = {\r\n forceReload: state.forceReload,\r\n from: state.from,\r\n to: state.to,\r\n forename: state.forename,\r\n surname: state.surname,\r\n nhsNumber: state.nhsNumber,\r\n currentPage: state.currentPage,\r\n pageSize: state.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n auditType: state.auditType,\r\n };\r\n const { data, isDataLoading, auth, error, isTableDataLoading } = useFetchPatientAuditSearch(getModel);\r\n const events = eventHandlers(state, setState, auth);\r\n\r\n if (isDataLoading)\r\n return Wait a moment while we gather patients info...;\r\n\r\n if (error && error.message) dispatch({ type: PATIENT_GET_FAILURE, message: error.message });\r\n\r\n const settings = tableSettings({\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n eventHandlers: events,\r\n isTableDataLoading,\r\n auditType: state.auditType,\r\n });\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n {state.unsuccessfullyPatientRequest !== null && (\r\n \r\n )}\r\n {state.patientAuditHistory !== null && (\r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","import { push, goBack } from 'connected-react-router';\r\nimport { useDispatch } from 'react-redux';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nexport const eventHandlers = (state, setState) => {\r\n const dispatch = useDispatch();\r\n\r\n return {\r\n locale: globals.getArea('patients'),\r\n refreshTable: () => setState({ ...state, forceReload: !state.forceReload, mileageCapList: {} }),\r\n updateTableProps: (currentPage, pageSize) => setState({ ...state, currentPage, pageSize }),\r\n updateTableSort: (sortColumn, sortDirection) => setState({ ...state, sortColumn, sortDirection }),\r\n goBack: () => dispatch(goBack()),\r\n go: url => dispatch(push(url)),\r\n handleSidePanel: (selectedEntry, isPatientAudit) => {\r\n setState(newState => ({\r\n ...newState,\r\n unsuccessfullyPatientRequest: isPatientAudit ? null : selectedEntry,\r\n patientAuditHistory: isPatientAudit ? selectedEntry : null,\r\n }));\r\n },\r\n onCloseDetailPanel: () =>\r\n setState({\r\n ...state,\r\n unsuccessfullyPatientRequest: null,\r\n patientAuditHistory: null,\r\n }),\r\n onFiltersChange: model =>\r\n setState({\r\n ...state,\r\n from: model.from,\r\n to: model.to,\r\n forename: model.forename,\r\n surname: model.surname,\r\n nhsNumber: model.nhsNumber.replace(/ /g, ''),\r\n dateOfChange: model.dateOfChange,\r\n auditType: model.auditType,\r\n sortColumn: model.auditType === 1 ? 'DateCreated' : model.sortColumn,\r\n currentPage: 1,\r\n }),\r\n };\r\n};\r\n","/* eslint-disable no-case-declarations */\r\n/* eslint-disable default-case */\r\n/* eslint-disable react/react-in-jsx-scope */\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport { Typography } from '@material-ui/core';\r\nimport CustomToolbar from '../../../components/common/CustomToolbar/CustomToolbar';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { auditActionType } from '../../../settings/other';\r\nimport _ from '../../../utils/lodash';\r\nimport { formatNhs } from '../../../utils/helpers';\r\n\r\nconst locale = globals.getAreas(['patients', 'error']);\r\nconst mapPropName = (columnName, isEntityToDto = false) => {\r\n const entityNames = ['AuditActionType', 'Forename', 'Surname', 'NhsNumber', 'DateOfChange'];\r\n const dtoNames = ['auditActionType', 'forename', 'surname', 'nhsNumber', 'dateOfChange'];\r\n\r\n if (isEntityToDto) {\r\n const index = _.indexOf(entityNames, columnName);\r\n return dtoNames[index];\r\n }\r\n\r\n const index = _.indexOf(dtoNames, columnName);\r\n return entityNames[index];\r\n};\r\n\r\nconst setSortDirection = (columnDtoName, options) => {\r\n const entityName = mapPropName(columnDtoName, false);\r\n\r\n return entityName === options.sortColumn ? options.sortDirection : 'none';\r\n};\r\n\r\nconst mapRowData = (rowData, options) => {\r\n const result =\r\n options.auditType === 1\r\n ? {\r\n id: rowData[0],\r\n errorMessage: rowData[1],\r\n createdBy: rowData[2],\r\n dateCreated: rowData[3],\r\n }\r\n : {\r\n id: rowData[0],\r\n fullName: `${rowData[2]} ${rowData[3]}`,\r\n eventName: rowData[1],\r\n dateOfChange: rowData[5],\r\n };\r\n options.eventHandlers.handleSidePanel(result, options.auditType === 0);\r\n};\r\n\r\nexport const tableSettings = options => {\r\n let columns = [];\r\n if (options.auditType === 1) {\r\n columns = [\r\n {\r\n name: 'id',\r\n label: 'Id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'errorMessage',\r\n label: 'Error Message',\r\n options: {\r\n sortOrder: {\r\n name: 'errorMessage',\r\n direction: setSortDirection('errorMessage', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'createdBy',\r\n label: 'Created By',\r\n options: {\r\n sortOrder: {\r\n name: 'createdBy',\r\n direction: setSortDirection('createdBy', options),\r\n },\r\n customBodyRender: value => (value === 'MessageQueue' ? 'External Provider' : value),\r\n },\r\n },\r\n {\r\n name: 'dateCreated',\r\n label: 'Date Created',\r\n options: {\r\n sortOrder: {\r\n name: 'dateCreated',\r\n direction: setSortDirection('dateCreated', options),\r\n },\r\n empty: true,\r\n customBodyRender: value => (value ? moment(value).format(globals.dateFormats.short) : '-'),\r\n },\r\n },\r\n ];\r\n } else {\r\n columns = [\r\n {\r\n name: 'id',\r\n label: 'Id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'auditActionType',\r\n label: locale.getMsg('auditActionTypeHeading'),\r\n options: {\r\n sortOrder: {\r\n name: 'auditActionType',\r\n direction: setSortDirection('auditActionType', options),\r\n },\r\n empty: true,\r\n customBodyRender: value => (auditActionType[value] ? auditActionType[value] : value),\r\n },\r\n },\r\n {\r\n name: 'forename',\r\n label: locale.getMsg('forenameHeading'),\r\n options: {\r\n sortOrder: {\r\n name: 'forename',\r\n direction: setSortDirection('forename', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'surname',\r\n label: locale.getMsg('surnameHeading'),\r\n options: {\r\n sortOrder: {\r\n name: 'surname',\r\n direction: setSortDirection('surname', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'nhsNumber',\r\n label: locale.getMsg('nhsNumberHeading'),\r\n options: {\r\n sortOrder: {\r\n name: 'nhsNumber',\r\n direction: setSortDirection('nhsNumber', options),\r\n },\r\n customBodyRender: value => (value ? formatNhs(value) : '-'),\r\n },\r\n },\r\n {\r\n name: 'dateOfChange',\r\n label: locale.getMsg('dateOfChange'),\r\n options: {\r\n sortOrder: {\r\n name: 'dateOfChange',\r\n direction: setSortDirection('dateOfChange', options),\r\n },\r\n empty: true,\r\n customBodyRender: value => (value ? moment(value).format(globals.dateFormats.short) : '-'),\r\n },\r\n },\r\n ];\r\n }\r\n return {\r\n name: {locale.getMsg('searchResults')},\r\n columns,\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n print: true,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n onRowClick: rowData => mapRowData(rowData, options),\r\n customToolbar: () => (\r\n \r\n ),\r\n onTableChange: (action, tableState) => {\r\n switch (action) {\r\n case 'changePage':\r\n case 'changeRowsPerPage':\r\n options.eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n break;\r\n case 'sort':\r\n let sortColumn = '';\r\n let sortDirection = '';\r\n\r\n if (tableState.activeColumn > -1) {\r\n sortColumn = mapPropName(tableState.sortOrder.name);\r\n sortDirection = tableState.sortOrder.direction;\r\n options.eventHandlers.updateTableSort(sortColumn, sortDirection);\r\n }\r\n break;\r\n }\r\n },\r\n },\r\n };\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport { Typography, IconButton, Box, Tooltip } from '@material-ui/core';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport InnerContent from '../../components/PageStructure/InnerContent/InnerContent';\r\n\r\nimport PageContent from '../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from '../../components/PageStructure/PageHeader/PageHeader';\r\nimport Table from '../../containers/common/tables/tableContainer';\r\n\r\nimport Spinner from '../../components/common/Spinner/Spinner';\r\nimport globals from '../../globals/communityGlobals';\r\nimport { referralByPatientIdTable } from '../../settings/constants';\r\n\r\nimport { formatNhs } from '../../utils/helpers';\r\nimport NonBlockingLoader from '../../components/common/Loading/NonBlockingLoader';\r\nimport { ExternalProviderType } from '../../enums';\r\nimport { ENABLE_SETTING_PATIENTS_AS_INACTIVE } from '../../settings/constants/appSettings';\r\n\r\nconst locale = globals.getArea('referrals');\r\nconst patientsLocale = globals.getArea('patients');\r\n\r\nconst styles = {\r\n padding: '0',\r\n};\r\n\r\nclass PatientReferrals extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isPatientActive: null,\r\n };\r\n }\r\n\r\n componentDidMount = () => {\r\n const { match, getPatient, getAppSettings, enableSettingPatientsAsInactive } = this.props;\r\n getPatient(match.params.patientId);\r\n if (enableSettingPatientsAsInactive == null) {\r\n getAppSettings(ENABLE_SETTING_PATIENTS_AS_INACTIVE);\r\n }\r\n };\r\n\r\n getIsPatientActiveStatus = patient => {\r\n return this.state.isPatientActive === null ? patient.isActive : this.state.isPatientActive;\r\n };\r\n\r\n handleGoBack = () => {\r\n this.props.goBack();\r\n };\r\n\r\n syncReferrals = (pasNumber, patientId, nhsNumber) => {\r\n const referralData = {\r\n patientId,\r\n nhsNumber,\r\n pasNumber,\r\n };\r\n this.props.updateReferrals(referralData).then(() => {\r\n this.setState({ isPatientActive: this.props.isPatientActive });\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n navigate,\r\n patient,\r\n message,\r\n go,\r\n pageTitle,\r\n canAddReferrals,\r\n enableIntegrationMode,\r\n isFetching,\r\n isSynced,\r\n externalProviderType,\r\n } = this.props;\r\n\r\n const formattedErrorMsg = () => {\r\n return message.split(';').map(item =>

    {item}

    );\r\n };\r\n\r\n const columns = [\r\n {\r\n Header: locale.getMsg('orgUnit'),\r\n id: 'team',\r\n accessor: row => (row.team ? row.team : '-'),\r\n },\r\n {\r\n Header: locale.getMsg('referenceCode'),\r\n id: 'referenceCode',\r\n accessor: row => row.referenceCode,\r\n },\r\n {\r\n id: 'dateReceived',\r\n Header: locale.getMsg('referralReceived'),\r\n accessor: row => moment(row.dateReceived).format(globals.dateFormats.short),\r\n },\r\n {\r\n Header: locale.getMsg('status'),\r\n id: 'status',\r\n accessor: row => locale.getMsg(row.status),\r\n },\r\n {\r\n Header: locale.getMsg('service'),\r\n id: 'serviceName',\r\n accessor: row => row.serviceName,\r\n },\r\n {\r\n Header: locale.getMsg('source'),\r\n id: 'source',\r\n accessor: row => row.source,\r\n show: enableIntegrationMode,\r\n },\r\n ];\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('createPageHeader')}\r\n \r\n \r\n {patient &&\r\n `${patient.forename} ${patient.surname} -\r\n ${patientsLocale.getMsg('nhsNumber')}: ${formatNhs(patient.nhsNumber)}`}\r\n \r\n {patient && patient.importedByExternalProvider ?  (imported) : ''}\r\n {patient &&\r\n this.props.enableSettingPatientsAsInactive === 'true' &&\r\n !this.getIsPatientActiveStatus(patient) ? (\r\n  - Inactive\r\n ) : (\r\n ''\r\n )}\r\n \r\n \r\n \r\n {patient && (\r\n
    \r\n \r\n {canAddReferrals &&\r\n (!enableIntegrationMode ||\r\n (enableIntegrationMode && externalProviderType === ExternalProviderType.Emis)) ? (\r\n go(`/Patients/${patient.id}/Referrals/Create`)}\r\n label={locale.getMsg('createReferral')}\r\n />\r\n ) : (\r\n ''\r\n )}\r\n {enableIntegrationMode &&\r\n patient.importedByExternalProvider &&\r\n externalProviderType !== ExternalProviderType.Emis ? (\r\n this.syncReferrals(patient.pasNumber, patient.id, patient.nhsNumber)}\r\n label={locale.getMsg('syncReferrals')}\r\n disabled={isFetching}\r\n />\r\n ) : (\r\n ''\r\n )}\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {patient ? (\r\n {\r\n navigate(`/Patients/Patient/Referrals/${rowInfo.original.id}`);\r\n }}\r\n noDataText={locale.getMsg('noReferralsInTable')}\r\n noDataComponent={{locale.getMsg('noReferralsInTable')}}\r\n afterReloadCallback={setTimeout(() => this.props.resetSyncStatus(), 5000)}\r\n />\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n
    \r\n {isSynced && }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nPatientReferrals.propTypes = {\r\n navigate: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n patientId: PropTypes.string.isRequired,\r\n }),\r\n }).isRequired,\r\n goBack: PropTypes.func.isRequired,\r\n patient: PropTypes.shape({\r\n address: PropTypes.shape({\r\n latitude: PropTypes.number,\r\n longitude: PropTypes.number,\r\n postCode: PropTypes.string,\r\n }),\r\n patientFullName: PropTypes.string,\r\n }),\r\n go: PropTypes.func.isRequired,\r\n getPatient: PropTypes.func.isRequired,\r\n pageTitle: PropTypes.string.isRequired,\r\n canAddReferrals: PropTypes.bool.isRequired,\r\n enableIntegrationMode: PropTypes.bool.isRequired,\r\n};\r\n\r\nPatientReferrals.defaultProps = {\r\n patient: null,\r\n};\r\n\r\nexport default PatientReferrals;\r\n","import React, { useState } from 'react';\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Box from '@material-ui/core/Box';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\n\r\nimport { getPatientByNhs } from '../../../actions/entities/patients';\r\nimport LoadingPageText from '../../../components/common/Loading/LoadingPageText';\r\nimport ConfirmationDialog from '../../../components/PageStructure/ConfirmationDialog';\r\nimport { parseShortDateTime } from '../../../utils/dates';\r\nimport { removeSpaces } from '../../../utils/helpers';\r\n\r\nexport default function ImportPatientForm({ events }) {\r\n const [state, setState] = useState({\r\n nhsNumber: '',\r\n nhsNumberErrorMessage: null,\r\n selectedPatient: null,\r\n errorMsg: '',\r\n isFeaching: false,\r\n showConfirmationDialog: false,\r\n });\r\n\r\n const validateNhsNumber = () => {\r\n const numberOfChars = 10;\r\n let errorMessage = null;\r\n if (state.nhsNumber) {\r\n state.nhsNumber = removeSpaces(state.nhsNumber);\r\n }\r\n if (isNaN(state.nhsNumber)) {\r\n errorMessage = events.locale.getMsg('nhsNumericError');\r\n } else if (\r\n state.nhsNumber !== null &&\r\n state.nhsNumber.length !== 0 &&\r\n (state.nhsNumber.length > numberOfChars || state.nhsNumber.length < numberOfChars)\r\n ) {\r\n errorMessage = events.locale.getMsg('nhsIncorrectLength');\r\n } else {\r\n errorMessage = null;\r\n }\r\n\r\n setState({ ...state, nhsNumberErrorMessage: errorMessage, errorMsg: '' });\r\n\r\n return errorMessage === null;\r\n };\r\n\r\n const searchPatientByNhs = () => {\r\n if (validateNhsNumber()) {\r\n getPatientByNhs(events.auth, state.nhsNumber, response =>\r\n setState({\r\n ...state,\r\n selectedPatient: response.patient,\r\n errorMsg: response.errorMessage,\r\n isFeaching: false,\r\n nhsNumberErrorMessage: null,\r\n }),\r\n );\r\n setState({ ...state, isFeaching: true, nhsNumberErrorMessage: null, errorMsg: '' });\r\n }\r\n };\r\n\r\n const formattedErrorMsg = () => {\r\n return state.errorMsg.split(';').map(item =>

    {item}

    );\r\n };\r\n\r\n const errorPlaceholder = () => {\r\n if (state.errorMsg === '') return null;\r\n return (\r\n \r\n
    \r\n {formattedErrorMsg()}\r\n
    \r\n );\r\n };\r\n\r\n const resultPatientRender = () => {\r\n if (state.selectedPatient === null) return null;\r\n\r\n return (\r\n
    \r\n \r\n Patient details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const importPatientByNhs = () => {\r\n if (state.selectedPatient != null) {\r\n events.importPatientEvent({ nhsNumber: state.selectedPatient.nhsNumber }, response =>\r\n setState({\r\n ...state,\r\n errorMsg: response.message,\r\n isFeaching: false,\r\n showConfirmationDialog: true,\r\n nhsNumberErrorMessage: null,\r\n }),\r\n );\r\n setState({ ...state, isFeaching: true });\r\n }\r\n };\r\n\r\n const confirmImportPatientByNhs = () => {\r\n if (state.selectedPatient != null) {\r\n events.importPatientEvent({\r\n nhsNumber: state.selectedPatient.nhsNumber,\r\n overwritePatient: true,\r\n nhsNumberErrorMessage: null,\r\n });\r\n setState({ ...state, isFeaching: true });\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n {}} onClose={() => {}}>\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Import patient\r\n \r\n \r\n events.handleImportEvent(false)}>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Find Patient by NHS number\r\n \r\n setState({ ...state, nhsNumber: e.target.value })}\r\n value={state.nhsNumber}\r\n error={state.nhsNumberErrorMessage !== null}\r\n helperText={state.nhsNumberErrorMessage}\r\n />\r\n \r\n \r\n \r\n {state.isFeaching && (\r\n Wait a moment while we gather patient info...\r\n )}\r\n {errorPlaceholder()}\r\n {resultPatientRender()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n events.handleImportEvent(false)}\r\n style={{ marginRight: '10px' }}\r\n disabled={state.isFeaching}\r\n >\r\n Back\r\n \r\n
    \r\n
    \r\n \r\n Import Patient\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {state.errorMsg === 'The patient already exists. Are you sure you want to overwrite the existing patient?' && (\r\n setState({ ...state, showConfirmationDialog: false })}\r\n />\r\n )}\r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Box, IconButton, Link, TextField, CircularProgress, Typography } from '@material-ui/core';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport { DropdownFilter } from '../../../components/Planner/Filters/DropdownFilter';\r\n\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('patients');\r\nconst maxChars = 150;\r\nconst defaultState = {\r\n forename: '',\r\n surname: '',\r\n nhsNumber: '',\r\n dateOfBirth: null,\r\n status: 1,\r\n postCode: '',\r\n};\r\n\r\nconst statusOptions = [{ id: 0, name: 'All' }, { id: 1, name: 'Active' }, { id: 2, name: 'Inactive' }];\r\n\r\nexport default function PatientSearchFilters({ onSubmit, errorProps, events, isTableDataLoading }) {\r\n const [state, setState] = useState(defaultState);\r\n\r\n const handleClear = () => {\r\n setState(defaultState);\r\n onSubmit(defaultState);\r\n };\r\n\r\n return (\r\n {\r\n e.preventDefault();\r\n onSubmit(state);\r\n }}\r\n noValidate\r\n autoComplete=\"off\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('forename')}\r\n \r\n \r\n \r\n setState({ ...state, forename: e.target.value })}\r\n inputProps={{\r\n maxLength: maxChars,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('surname')}\r\n \r\n \r\n \r\n setState({ ...state, surname: e.target.value })}\r\n inputProps={{\r\n maxLength: maxChars,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('nhsNumber')}\r\n \r\n \r\n \r\n setState({ ...state, nhsNumber: e.target.value })}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('dateOfBirth')}\r\n \r\n \r\n \r\n setState({ ...state, dateOfBirth: value })}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className=\"calendar-picker-input\"\r\n />\r\n \r\n \r\n {events.isSettingPatientsAsInactiveEnabled() && (\r\n \r\n \r\n \r\n {locale.getMsg('status')}\r\n \r\n \r\n \r\n setState({ ...state, status: value })}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {locale.getMsg('postcode')}\r\n \r\n \r\n \r\n setState({ ...state, postCode: e.target.value })}\r\n />\r\n \r\n \r\n \r\n \r\n Clear\r\n \r\n \r\n \r\n {isTableDataLoading && (\r\n \r\n \r\n \r\n )}\r\n\r\n {!isTableDataLoading && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport MUIDataTable from 'mui-datatables';\r\n\r\nimport PatientSearchFilters from './PatientSearchFilters';\r\nimport ImportPatientForm from './ImportPatientForm';\r\nimport LoadingPageText from '../../../components/common/Loading/LoadingPageText';\r\n\r\nimport { useFetchPatientSearch } from '../../../actions/entities/patients/fetchHooks';\r\nimport { tableSettings } from './patientSearchTableSettings';\r\nimport { eventHandlers } from './patientSearchHandler';\r\nimport { PATIENT_GET_FAILURE } from '../../../actions/constants/types';\r\n\r\nimport { getDateForApi } from '../../../utils/dates';\r\n\r\nexport default function PatientSearchPage() {\r\n document.title = 'Patient Search';\r\n\r\n const dispatch = useDispatch();\r\n const [state, setState] = useState({\r\n forceReload: false,\r\n forename: '',\r\n surname: '',\r\n nhsNumber: '',\r\n dateOfBirth: '',\r\n postCode: '',\r\n status: 1,\r\n currentPage: 1,\r\n pageSize: 15,\r\n sortColumn: 'Surname',\r\n sortDirection: 'asc',\r\n showImportSidePanel: false,\r\n });\r\n const convertStatusToBool = status => {\r\n return status === 0 ? null : status === 1;\r\n };\r\n const getModel = {\r\n forceReload: state.forceReload,\r\n forename: state.forename,\r\n surname: state.surname,\r\n nhsNumber: state.nhsNumber,\r\n dateOfBirth: getDateForApi(state.dateOfBirth),\r\n postCode: state.postCode,\r\n isActiveInECommunity: convertStatusToBool(state.status),\r\n currentPage: state.currentPage,\r\n pageSize: state.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n };\r\n const { data, isDataLoading, auth, error, isTableDataLoading } = useFetchPatientSearch(getModel);\r\n\r\n const events = eventHandlers(state, setState, auth);\r\n\r\n if (isDataLoading)\r\n return Wait a moment while we gather patients info...;\r\n\r\n if (error && error.message) dispatch({ type: PATIENT_GET_FAILURE, message: error.message });\r\n\r\n const settings = tableSettings({\r\n count: data.totalCount,\r\n page: data.currentPage - 1,\r\n pageSize: data.pageSize,\r\n sortColumn: state.sortColumn,\r\n sortDirection: state.sortDirection,\r\n eventHandlers: events,\r\n isTableDataLoading,\r\n });\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n {state.showImportSidePanel && }\r\n
    \r\n );\r\n}\r\n","import { push, goBack } from 'connected-react-router';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\n\r\nimport { importPatient } from '../../../actions/entities/patients/commandActions';\r\nimport { checkFeatureAccess } from '../../../utils/helpers';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport { getSettings } from '../../../actions/entities';\r\nimport _ from '../../../utils/lodash';\r\nimport { ENABLE_SETTING_PATIENTS_AS_INACTIVE } from '../../../settings/constants/appSettings';\r\n\r\nconst locale = globals.getAreas(['patients', 'error']);\r\nexport const eventHandlers = (state, setState, auth) => {\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(getSettings(ENABLE_SETTING_PATIENTS_AS_INACTIVE));\r\n }, []);\r\n\r\n const faList = useSelector(store => store.global.auth.featureAccessList);\r\n const settingsObject = useSelector(store => store.entities.settings.appSettings);\r\n const enableIntegrationMode = checkFeatureAccess(faList, globals.applicationFeatureAccesses.enableIntegrationMode);\r\n\r\n const handleCreate = () => {\r\n dispatch(push('/Patients/Patient/Create'));\r\n };\r\n\r\n const importPatientEvent = (model, errorCallback) => {\r\n const callback = () => setState({ ...state, forceReload: !state.forceReload, showImportSidePanel: false });\r\n importPatient(auth, model, callback, errorCallback);\r\n };\r\n\r\n return {\r\n locale,\r\n auth,\r\n addButtonText: locale.getMsg('addPatient'),\r\n importButtonText: 'Import Patient',\r\n canAddPatients: checkFeatureAccess(faList, globals.applicationFeatureAccesses.canAddPatients),\r\n canEditPatients: checkFeatureAccess(faList, globals.applicationFeatureAccesses.canEditPatients),\r\n enableIntegrationMode,\r\n refreshTable: () => setState({ ...state, forceReload: !state.forceReload, mileageCapList: {} }),\r\n updateTableProps: (currentPage, pageSize) => setState({ ...state, currentPage, pageSize }),\r\n updateTableSort: (sortColumn, sortDirection) => setState({ ...state, sortColumn, sortDirection }),\r\n goBack: () => dispatch(goBack()),\r\n go: url => dispatch(push(url)),\r\n onFiltersChange: model =>\r\n setState({\r\n ...state,\r\n forename: model.forename,\r\n surname: model.surname,\r\n nhsNumber: model.nhsNumber.replace(/ /g, ''),\r\n dateOfBirth: model.dateOfBirth,\r\n postCode: model.postCode,\r\n status: model.status,\r\n currentPage: 1,\r\n }),\r\n handleSidePanel: !enableIntegrationMode ? handleCreate : null,\r\n handleImportEvent: enableIntegrationMode\r\n ? showPanel => setState({ ...state, showImportSidePanel: showPanel })\r\n : null,\r\n importPatientEvent: enableIntegrationMode ? importPatientEvent : null,\r\n isSettingPatientsAsInactiveEnabled: () => {\r\n const enableSettingPatientsAsInactiveSetting = _.get(settingsObject, ENABLE_SETTING_PATIENTS_AS_INACTIVE, false);\r\n return enableSettingPatientsAsInactiveSetting === 'true';\r\n },\r\n };\r\n};\r\n","/* eslint-disable no-case-declarations */\r\n/* eslint-disable default-case */\r\n/* eslint-disable react/react-in-jsx-scope */\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport CustomToolbar from '../../../../AppSrc/components/common/CustomToolbar/CustomToolbar';\r\nimport globals from '../../../globals/communityGlobals';\r\nimport _ from '../../../utils/lodash';\r\nimport { formatNhs } from '../../../utils/helpers';\r\n\r\nconst locale = globals.getAreas(['patients', 'error', 'userActions']);\r\nconst mapPropName = (columnName, isEntityToDto = false) => {\r\n const entityNames = ['Forename', 'Surname', 'NhsNumber', 'DateOfBirth', 'DateCreated', 'DateModified', 'DateOfDeath'];\r\n const dtoNames = ['forename', 'surname', 'nhsNumber', 'dateOfBirth', 'dateCreated', 'dateModified', 'dateOfDeath'];\r\n\r\n if (isEntityToDto) {\r\n const index = _.indexOf(entityNames, columnName);\r\n return dtoNames[index];\r\n }\r\n\r\n const index = _.indexOf(dtoNames, columnName);\r\n return entityNames[index];\r\n};\r\n\r\nconst setSortDirection = (columnDtoName, options) => {\r\n const entityName = mapPropName(columnDtoName, false);\r\n\r\n return entityName === options.sortColumn ? options.sortDirection : 'none';\r\n};\r\n\r\nexport const tableSettings = options => ({\r\n name: {locale.getMsg('searchResults')},\r\n columns: [\r\n {\r\n name: 'id',\r\n label: 'Id',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n {\r\n name: 'forename',\r\n label: locale.getMsg('forename'),\r\n options: {\r\n sortOrder: {\r\n name: 'forename',\r\n direction: setSortDirection('forename', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'surname',\r\n label: locale.getMsg('surname'),\r\n options: {\r\n sortOrder: {\r\n name: 'surname',\r\n direction: setSortDirection('surname', options),\r\n },\r\n },\r\n },\r\n {\r\n name: 'nhsNumber',\r\n label: locale.getMsg('nhsNumber'),\r\n options: {\r\n sortOrder: {\r\n name: 'nhsNumber',\r\n direction: setSortDirection('nhsNumber', options),\r\n },\r\n customBodyRender: value => (value ? formatNhs(value) : '-'),\r\n },\r\n },\r\n {\r\n name: 'dateOfBirth',\r\n label: locale.getMsg('dateOfBirth'),\r\n options: {\r\n sortOrder: {\r\n name: 'dateOfBirth',\r\n direction: setSortDirection('dateOfBirth', options),\r\n },\r\n empty: true,\r\n customBodyRender: value => (value ? moment(value).format(globals.dateFormats.short) : '-'),\r\n },\r\n },\r\n ...(options.eventHandlers.isSettingPatientsAsInactiveEnabled()\r\n ? [\r\n {\r\n name: 'status',\r\n label: locale.getMsg('status'),\r\n options: {\r\n sort: false,\r\n },\r\n },\r\n ]\r\n : []),\r\n {\r\n name: 'postCode',\r\n label: locale.getMsg('postcode'),\r\n options: {\r\n sort: false,\r\n },\r\n },\r\n {\r\n name: 'dateCreated',\r\n label: locale.getMsg('dateCreated'),\r\n options: {\r\n sortOrder: {\r\n name: 'dateCreated',\r\n direction: setSortDirection('dateCreated', options),\r\n },\r\n empty: true,\r\n customBodyRender: value => (value ? moment(value).format(globals.dateFormats.short) : '-'),\r\n },\r\n },\r\n {\r\n name: 'dateModified',\r\n label: locale.getMsg('dateModified'),\r\n options: {\r\n sortOrder: {\r\n name: 'dateModified',\r\n direction: setSortDirection('dateModified', options),\r\n },\r\n empty: true,\r\n customBodyRender: value => (value ? moment(value).format(globals.dateFormats.short) : '-'),\r\n },\r\n },\r\n {\r\n name: 'dateOfDeath',\r\n label: 'DateOfDeath',\r\n options: {\r\n display: 'excluded',\r\n },\r\n },\r\n ],\r\n\r\n options: {\r\n filterType: 'dropdown',\r\n responsive: 'standard',\r\n selectableRows: 'none',\r\n rowsPerPageOptions: [5, 15, 30, 50, 100],\r\n rowsPerPage: options.pageSize,\r\n print: true,\r\n search: false,\r\n filter: false,\r\n serverSide: true,\r\n count: options.count,\r\n page: options.page,\r\n setRowProps: rowData => {\r\n if (rowData[options.eventHandlers.isSettingPatientsAsInactiveEnabled() ? 9 : 8] !== null) {\r\n return {\r\n style: { backgroundColor: 'rgba(0, 0, 0, 0.13)' },\r\n };\r\n }\r\n return {};\r\n },\r\n onRowClick: rowData => options.eventHandlers.go(`/Patients/${rowData[0]}`),\r\n customToolbar: () => (\r\n \r\n ),\r\n onTableChange: (action, tableState) => {\r\n switch (action) {\r\n case 'changePage':\r\n case 'changeRowsPerPage':\r\n options.eventHandlers.updateTableProps(tableState.page + 1, tableState.rowsPerPage);\r\n break;\r\n case 'sort':\r\n let sortColumn = '';\r\n let sortDirection = '';\r\n\r\n if (tableState.activeColumn > -1) {\r\n sortColumn = mapPropName(tableState.sortOrder.name);\r\n sortDirection = tableState.sortOrder.direction;\r\n options.eventHandlers.updateTableSort(sortColumn, sortDirection);\r\n }\r\n break;\r\n }\r\n },\r\n },\r\n});\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport { Typography, IconButton, Box, Tooltip } from '@material-ui/core';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport moment from 'moment';\r\nimport ReferralDetails from '../../components/Referrals/ReferralDetails/ReferralDetails';\r\nimport PageContent from '../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from '../../components/PageStructure/PageHeader/PageHeader';\r\nimport InnerContent from '../../components/PageStructure/InnerContent/InnerContent';\r\nimport globals from '../../globals/communityGlobals';\r\nimport { doubleActionPrevent, formatNhs } from '../../utils/helpers';\r\n\r\nconst locale = globals.getArea('referrals');\r\n\r\nclass ReferralCreate extends React.Component {\r\n componentDidMount = () => {\r\n const { match, getPatientData } = this.props;\r\n getPatientData(match.params.patientId);\r\n };\r\n\r\n handleGoBack = () => {\r\n this.props.goBack();\r\n };\r\n\r\n handleNavigate = url => () => {\r\n this.props.navigate(url);\r\n };\r\n\r\n handleSave = doubleActionPrevent.bind(this)(\r\n 'Save',\r\n async model => {\r\n const { createReferral, match } = this.props;\r\n await createReferral({\r\n patientId: match.params.patientId,\r\n locationTypeId: model.locationTypeId,\r\n referenceCodeId: model.referenceCodeId,\r\n dateReceived: moment(model.referralReceived).format(globals.dateFormats.date),\r\n priorityId: model.referralPriorityId,\r\n sourceId: model.referralSourceId,\r\n serviceId: model.referralServiceId,\r\n orgUnitIds: [model.allocatedToTeams],\r\n pasReferralId: model.pasReferralId,\r\n });\r\n },\r\n () => {\r\n const { navigate, match } = this.props;\r\n navigate(`/Patients/${match.params.patientId}/Referrals`);\r\n },\r\n );\r\n\r\n render() {\r\n const {\r\n pageTitle,\r\n match,\r\n patient,\r\n navigate,\r\n canAddTreatments,\r\n canAddReferrals,\r\n canEditTreatments,\r\n canEditReferrals,\r\n } = this.props;\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('createPageHeader')}\r\n \r\n {patient && `${patient.patientFullName} - NHS Number: ${formatNhs(patient.nhsNumber)}`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nReferralCreate.defaultProps = {\r\n failureMessage: '',\r\n patient: null,\r\n};\r\n\r\nReferralCreate.propTypes = {\r\n canAddTreatments: PropTypes.bool.isRequired,\r\n canAddReferrals: PropTypes.bool.isRequired,\r\n canEditTreatments: PropTypes.bool.isRequired,\r\n canEditReferrals: PropTypes.bool.isRequired,\r\n pageTitle: PropTypes.string.isRequired,\r\n goBack: PropTypes.func.isRequired,\r\n navigate: PropTypes.func.isRequired,\r\n createReferral: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n referralId: PropTypes.number,\r\n }).isRequired,\r\n }).isRequired,\r\n getPatientData: PropTypes.func.isRequired,\r\n patient: PropTypes.shape({\r\n patientFullName: PropTypes.string,\r\n nhsNumber: PropTypes.string,\r\n addresses: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n addressLine1: PropTypes.string,\r\n addressLine2: PropTypes.string,\r\n addressLine3: PropTypes.string,\r\n postCode: PropTypes.string,\r\n }),\r\n ),\r\n }),\r\n};\r\n\r\nexport default ReferralCreate;\r\n","import React from 'react';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport Paper from 'material-ui/Paper';\r\nimport { Typography, IconButton, Box, Tooltip } from '@material-ui/core';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport PageContent from '../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from '../../components/PageStructure/PageHeader/PageHeader';\r\nimport InnerContent from '../../components/PageStructure/InnerContent/InnerContent';\r\nimport ReferralDetails from '../../components/Referrals/ReferralDetails/ReferralDetails';\r\nimport Spinner from '../../components/common/Spinner/Spinner';\r\nimport globals from '../../globals/communityGlobals';\r\nimport { doubleActionPrevent, formatNhs } from '../../utils/helpers';\r\nimport { Address } from '../../propTypes/entities/address';\r\nimport { paperStyle } from '../../theme/AllocateBaseTheme';\r\nimport { getFilterOptionsByReferralId } from '../../actions/areas/planner';\r\n\r\nconst locale = globals.getArea('referrals');\r\n\r\nclass ReferralView extends React.Component {\r\n state = {\r\n isReferralLoading: true,\r\n isFilterOptionsLoading: true,\r\n filterOptions: {},\r\n };\r\n\r\n componentDidMount = () => {\r\n const { match, getReferral } = this.props;\r\n getReferral(match.params.referralId).finally(() => {\r\n this.setState({ isReferralLoading: false });\r\n });\r\n getFilterOptionsByReferralId(\r\n this.props.auth,\r\n { referralId: match.params.referralId },\r\n false,\r\n this.setFilterOptions,\r\n );\r\n };\r\n\r\n setFilterOptions = response => {\r\n if (response) {\r\n this.setState({ filterOptions: response, isFilterOptionsLoading: false });\r\n }\r\n };\r\n\r\n handleGoBack = () => {\r\n this.props.goBack();\r\n };\r\n\r\n handleNavigate = url => () => {\r\n this.props.navigate(url);\r\n };\r\n\r\n handleSave = doubleActionPrevent.bind(this)(\r\n 'ReferralEdit',\r\n async model => {\r\n const { updateReferral, match } = this.props;\r\n\r\n await updateReferral({\r\n id: match.params.referralId,\r\n dateReceived: moment(model.referralReceived).format(globals.dateFormats.date),\r\n priorityId: model.referralPriorityId,\r\n sourceId: model.referralSourceId,\r\n serviceId: model.referralServiceId,\r\n orgUnitIds: [model.allocatedToTeams],\r\n locationTypeId: model.locationTypeId,\r\n referenceCodeId: model.referenceCodeId,\r\n pasReferralId: model.pasReferralId,\r\n });\r\n },\r\n () => {\r\n const { navigate, referral } = this.props;\r\n navigate(`/Patients/${referral.patient.id}/Referrals`);\r\n },\r\n );\r\n\r\n handleSyncTreatments = doubleActionPrevent.bind(this)('TreatmentsSync', async () => {\r\n const { syncTreatments, referral } = this.props;\r\n\r\n await syncTreatments({\r\n externalReferralId: referral.externalServiceReferralId,\r\n referralId: referral.id,\r\n patientId: referral.patient.id,\r\n });\r\n });\r\n\r\n render() {\r\n const {\r\n pageTitle,\r\n isFetching,\r\n failureMessage,\r\n referral,\r\n match,\r\n navigate,\r\n canAddTreatments,\r\n canEditReferrals,\r\n canEditTreatments,\r\n referralTreatments,\r\n enableIntegrationMode,\r\n externalProviderType,\r\n isFetchingComplete,\r\n areTreatmentsFetching,\r\n messages,\r\n resetSyncStatusMsg,\r\n } = this.props;\r\n const { isFilterOptionsLoading, isReferralLoading } = this.state;\r\n const { patient } = referral || {};\r\n const isClosed = referral && referral.status === 'closed';\r\n let content = null;\r\n const isImported = enableIntegrationMode && referral && referral.isExternalProviderSource;\r\n if (!referral && failureMessage.length > 0) {\r\n content = {failureMessage};\r\n } else if (isFilterOptionsLoading || isReferralLoading || isFetching) {\r\n content = (\r\n \r\n \r\n \r\n );\r\n } else {\r\n content = (\r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('viewPageHeader')}\r\n \r\n {patient && `${patient.patientFullName} - NHS Number: ${formatNhs(patient.nhsNumber)}`}\r\n \r\n \r\n \r\n \r\n \r\n
    {content}
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nReferralView.defaultProps = {\r\n failureMessage: '',\r\n referral: undefined,\r\n};\r\n\r\nReferralView.propTypes = {\r\n updateReferral: PropTypes.func.isRequired,\r\n isFetching: PropTypes.bool.isRequired,\r\n navigate: PropTypes.func.isRequired,\r\n failureMessage: PropTypes.string,\r\n referral: PropTypes.shape({\r\n dateReceived: PropTypes.string,\r\n id: PropTypes.number,\r\n locationType: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n orgUnits: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n ),\r\n patient: PropTypes.shape({\r\n address: PropTypes.shape(Address),\r\n patientFullName: PropTypes.string,\r\n }),\r\n referenceCode: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n referralPriority: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n referralSource: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n referralService: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n treatments: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n address: PropTypes.shape(Address),\r\n id: PropTypes.number,\r\n patientId: PropTypes.string,\r\n }),\r\n ),\r\n }),\r\n pageTitle: PropTypes.string.isRequired,\r\n goBack: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n referralId: PropTypes.string,\r\n }),\r\n }).isRequired,\r\n getReferral: PropTypes.func.isRequired,\r\n canAddTreatments: PropTypes.bool.isRequired,\r\n canEditReferrals: PropTypes.bool.isRequired,\r\n canEditTreatments: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default ReferralView;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\nimport LandingPage from '../../components/PageStructure/LandingPage/LandingPage';\r\n\r\nimport globals from '../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('accountLogin');\r\n\r\nclass SignIn extends React.Component {\r\n componentDidMount = () => {\r\n document.title = this.props.pageTitle;\r\n };\r\n\r\n onLogoutButtonClick = event => {\r\n event.preventDefault();\r\n localStorage.setItem('access_token', null);\r\n this.props.logoutAndRedirect();\r\n };\r\n\r\n reloadPage = () => {\r\n location.reload();\r\n };\r\n\r\n notLoggedIn = () =>

    {locale.getMsg('loginMessage')}

    ;\r\n\r\n notAuthorized = () => {\r\n const { loginName, displayName } = this.props;\r\n\r\n return (\r\n
    \r\n

    {locale.getMsg('unauthorizedMessage')}

    \r\n

    {loginName && locale.getMsg('loggedUserInfo', [displayName, loginName])}

    \r\n \r\n
    \r\n );\r\n };\r\n\r\n logginIn = () => {\r\n const { loginName, displayName } = this.props;\r\n\r\n return (\r\n
    \r\n

    {loginName && locale.getMsg('loggedUserInfo', [displayName, loginName])}

    \r\n

    {locale.getMsg('loading')}

    \r\n
    \r\n );\r\n };\r\n\r\n render() {\r\n const { location, isFetching, notAuthorized, isAuthenticated, failure, success, isExpired } = this.props;\r\n const { from } = location.state || { from: { pathname: '/Planner' } };\r\n\r\n if (isAuthenticated) {\r\n return ;\r\n }\r\n if (isExpired) {\r\n this.reloadPage();\r\n }\r\n return (\r\n \r\n

    {locale.getMsg('login')}

    \r\n {success && success.length > 0 &&
    {success}
    }\r\n {failure && failure.length > 0 &&
    {failure}
    }\r\n {isFetching && this.logginIn()}\r\n {!isFetching && !notAuthorized && this.notLoggedIn()}\r\n {!isFetching && notAuthorized && this.notAuthorized()}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nSignIn.propTypes = {\r\n logoutAndRedirect: PropTypes.func.isRequired,\r\n isExpired: PropTypes.bool.isRequired,\r\n isAuthenticated: PropTypes.bool.isRequired,\r\n notAuthorized: PropTypes.bool.isRequired,\r\n isFetching: PropTypes.bool.isRequired,\r\n failure: PropTypes.string,\r\n success: PropTypes.string,\r\n displayName: PropTypes.string,\r\n loginName: PropTypes.string,\r\n pageTitle: PropTypes.string.isRequired,\r\n location: PropTypes.shape({\r\n hash: PropTypes.string,\r\n pathname: PropTypes.string,\r\n key: PropTypes.string,\r\n search: PropTypes.string,\r\n state: PropTypes.shape({\r\n from: PropTypes.shape({\r\n pathname: PropTypes.string,\r\n }),\r\n }),\r\n }),\r\n};\r\n\r\nSignIn.defaultProps = {\r\n failure: '',\r\n success: '',\r\n displayName: null,\r\n loginName: null,\r\n location: {},\r\n};\r\n\r\nexport default SignIn;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport { Typography, IconButton, Box, Tooltip } from '@material-ui/core';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport TreatmentPreview, { actionTypes } from './../../components/Treatments/Preview/TreatmentPreview';\r\nimport PageContent from '../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from '../../components/PageStructure/PageHeader/PageHeader';\r\nimport InnerContent from '../../components/PageStructure/InnerContent/InnerContent';\r\nimport Spinner from '../../components/common/Spinner/Spinner';\r\nimport globals from '../../globals/communityGlobals';\r\nimport { doubleActionPrevent, formatNhs } from '../../utils/helpers';\r\nimport {\r\n ENABLE_MAPPING_OF_TEAMS,\r\n ENABLE_RECORDING_OF_WEEKLY_REQUESTED_DAYS,\r\n} from '../../settings/constants/appSettings';\r\n\r\nimport { Treatment as treatmentPropType } from '../../propTypes/entities/treatment';\r\nimport timeSlotsPackagePropType from '../../propTypes/entities/timeSlotsPackage';\r\nimport patientPropType from '../../propTypes/entities/patient';\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nclass TreatmentCreate extends React.Component {\r\n state = { showErrorMessage: false };\r\n componentDidMount = () => {\r\n const { match, getReferral, getDefaultTimeSlotsPackage, getSettings } = this.props;\r\n getReferral(match.params.id);\r\n getDefaultTimeSlotsPackage();\r\n getSettings(ENABLE_RECORDING_OF_WEEKLY_REQUESTED_DAYS);\r\n getSettings(ENABLE_MAPPING_OF_TEAMS);\r\n };\r\n\r\n handleGoBack = () => {\r\n this.props.goBack();\r\n };\r\n\r\n validateTimes = (activitiesIds, timeSlotsIds, isMultiple) => {\r\n const { activities, timeSlotsPackage } = this.props;\r\n const selectedActivities = activities.filter(x => activitiesIds.includes(x.id));\r\n const timeSlotList = Object.values(timeSlotsIds);\r\n const timeSlotIdList = Object.keys(timeSlotList[0]);\r\n const activityDuration = selectedActivities.reduce((total, num) => total + parseInt(num.duration, 10), 0);\r\n const sortedTimeSlots = timeSlotsPackage.timeSlots\r\n .filter(ts => timeSlotIdList.includes(ts.id.toString()))\r\n .sort((a, b) => (a.startTime > b.startTime ? 1 : -1));\r\n\r\n if (sortedTimeSlots.length === 0) return true;\r\n let maxDuration = sortedTimeSlots[0].duration;\r\n const minDuration = sortedTimeSlots.reduce((a, b) => (a.duration < b.duration ? a : b));\r\n\r\n if (isMultiple) {\r\n return minDuration.duration >= activityDuration;\r\n }\r\n // eslint-disable-next-line no-plusplus\r\n for (let i = 0; i < sortedTimeSlots.length; i++) {\r\n const shiftedSlots = sortedTimeSlots.slice(i, sortedTimeSlots.length).concat([...sortedTimeSlots].splice(0, i));\r\n let duration = sortedTimeSlots[i].duration;\r\n // eslint-disable-next-line no-plusplus\r\n for (let j = 0; j < shiftedSlots.length - 1; j++) {\r\n if (shiftedSlots[j].endTime === shiftedSlots[j + 1].startTime) {\r\n duration += shiftedSlots[j + 1].duration;\r\n } else break;\r\n }\r\n if (duration > maxDuration) {\r\n maxDuration = duration;\r\n }\r\n }\r\n return maxDuration >= activityDuration;\r\n };\r\n\r\n handleSave = doubleActionPrevent.bind(this)(\r\n 'Save',\r\n async (model, isSpecific) => {\r\n const {\r\n createTreatment,\r\n referral: { id: referralId },\r\n timeSlotsPackage: { id: timeSlotsPackageId },\r\n } = this.props;\r\n\r\n if (model.isSpecific || this.validateTimes(model.activitiesIds, model.timeSlotsMatrix, model.isMultiple)) {\r\n const trimmedDateFrom = model.dateFrom\r\n ? moment(model.dateFrom)\r\n .startOf('day')\r\n .format(globals.dateFormats.localApiFormat)\r\n : undefined;\r\n const trimmedDateTo = model.dateTo\r\n ? moment(model.dateTo)\r\n .startOf('day')\r\n .format(globals.dateFormats.localApiFormat)\r\n : undefined;\r\n const singleOrgUnit = [model.orgUnitIds];\r\n const singleTeam = model.teamIds;\r\n await createTreatment({\r\n treatment: {\r\n referralId,\r\n timeSlotsPackageId,\r\n isSpecific,\r\n ...model,\r\n orgUnitIds: singleOrgUnit,\r\n teamId: singleTeam,\r\n dateFrom: trimmedDateFrom,\r\n dateTo: trimmedDateTo,\r\n },\r\n });\r\n this.setState({ showErrorMessage: false });\r\n } else {\r\n this.setState({ showErrorMessage: true });\r\n }\r\n },\r\n () => {\r\n const {\r\n navigate,\r\n referral: { id: referralId },\r\n } = this.props;\r\n if (!this.state.showErrorMessage) navigate(`/Patients/Patient/Referrals/${referralId}`);\r\n },\r\n );\r\n\r\n render() {\r\n const {\r\n pageTitle,\r\n isFetching,\r\n referral,\r\n jwtToken,\r\n timeSlotsPackage: { timeSlots = [], id: timeSlotsPackageId } = {},\r\n enableRecordingOfWeeklyRequestedDays,\r\n enableMappingOfTeams,\r\n } = this.props;\r\n const { patient } = referral || {};\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('createPageHeader')}\r\n \r\n {patient &&\r\n locale.getMsg('patientInfoHeader', [patient.patientFullName, formatNhs(patient.nhsNumber)])}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {referral && !isFetching ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTreatmentCreate.defaultProps = {\r\n failureMessage: '',\r\n referral: null,\r\n timeSlotsPackage: {\r\n timeSlots: [],\r\n },\r\n activities: [{}],\r\n};\r\n\r\nTreatmentCreate.propTypes = {\r\n getDefaultTimeSlotsPackage: PropTypes.func.isRequired,\r\n pageTitle: PropTypes.string.isRequired,\r\n goBack: PropTypes.func.isRequired,\r\n navigate: PropTypes.func.isRequired,\r\n createTreatment: PropTypes.func.isRequired,\r\n activities: PropTypes.arrayOf(PropTypes.object).isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n Id: PropTypes.string,\r\n }),\r\n }).isRequired,\r\n getReferral: PropTypes.func.isRequired,\r\n referral: PropTypes.shape({\r\n dateReceived: PropTypes.string,\r\n id: PropTypes.number,\r\n locationType: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n orgUnits: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n ),\r\n patient: patientPropType,\r\n referenceCode: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n referralPriority: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n referralSource: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n treatments: PropTypes.arrayOf(treatmentPropType),\r\n }),\r\n isFetching: PropTypes.bool.isRequired,\r\n timeSlotsPackage: timeSlotsPackagePropType,\r\n};\r\n\r\nexport default TreatmentCreate;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport { Typography, IconButton, Box, Tooltip } from '@material-ui/core';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { FormsySelect } from 'formsy-material-ui/lib';\r\nimport { RadioButton, RadioButtonGroup } from 'material-ui/RadioButton';\r\nimport { Prompt } from 'react-router-dom';\r\nimport MenuItem from 'material-ui/MenuItem';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport Formsy from 'formsy-react';\r\nimport InnerContent from '../../components/PageStructure/InnerContent/InnerContent';\r\nimport { FormsyDate, FormsyTime } from '../../components/common/Formsy';\r\nimport { mergeDateWithTime, getDateForApi } from '../../utils/dates';\r\nimport AlertBox from '../../components/common/AlertBox/AlertBox';\r\nimport ConfirmationDialog from '../../components/common/ConfirmationDialog/ConfirmationDialog';\r\nimport PostcodeSearch from '../../containers/common/PostcodeSearch/PostcodeSearchContainer';\r\n\r\nimport PageContent from '../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from '../../components/PageStructure/PageHeader/PageHeader';\r\nimport ApiSelector from '../../containers/common/selectors/selectorContainer';\r\nimport { rosteredCliniciansEndpoint, teamsEndpoint } from '../../settings/constants';\r\n\r\nimport globals from '../../globals/communityGlobals';\r\nimport { formatNhs, doubleActionPrevent } from '../../utils/helpers';\r\nimport { textFieldStyle, datePickerStyle, common, dropDownStyle } from '../../theme/AllocateBaseTheme';\r\nimport VisitActualActivitiesTable from '../../components/VisitActuals/Form/VisitActualActivitiesTable';\r\n\r\nconst locale = globals.getArea('treatments');\r\nconst errors = globals.getArea('error');\r\nconst styles = {\r\n radioButton: { marginBottom: '5px' },\r\n radioButtonGroup: { flexDirection: 'column', width: '250px', marginLeft: 0 },\r\n};\r\nexport const selectionTypes = {\r\n onSite: 'OnSite',\r\n phoneCall: 'PhoneCall',\r\n};\r\n\r\nclass TreatmentCreateRetroVisit extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n const maxDate = globals.now.toDate();\r\n\r\n this.state = {\r\n startAt: null,\r\n endAt: null,\r\n dateOfVisit: new Date(),\r\n maxDate,\r\n clinicianId: null,\r\n orgUnitId: null,\r\n canSubmit: false,\r\n activities: [],\r\n unSavedChanges: false,\r\n showError: false,\r\n selectionType: selectionTypes.onSite,\r\n clearActivities: false,\r\n showWarning: false,\r\n startingPostcode: null,\r\n showSaveConfirmationDialog: false,\r\n treatmentDataModel: null,\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n // preventing navigation from the route\r\n window.onbeforeunload = () => this.state.unSavedChanges;\r\n }\r\n\r\n componentDidMount = () => {\r\n const { match, getReferral } = this.props;\r\n getReferral(match.params.id);\r\n this.setState({ showWarning: this.props.referral && this.props.referral.referralService == null });\r\n };\r\n\r\n componentWillUnmount() {\r\n this.setState({\r\n unSavedChanges: false,\r\n showError: false,\r\n showWarning: false,\r\n });\r\n\r\n window.onbeforeunload = null;\r\n }\r\n\r\n setStartAt = (event, value) => {\r\n const { dateOfVisit } = this.state;\r\n const startAt = mergeDateWithTime(moment(dateOfVisit), moment(value)).seconds(0);\r\n\r\n this.setState({ startAt: value ? startAt.toDate() : null });\r\n };\r\n\r\n setEndAt = (event, value) => {\r\n const { dateOfVisit } = this.state;\r\n const endAt = mergeDateWithTime(moment(dateOfVisit), moment(value)).seconds(0);\r\n\r\n this.setState({ endAt: value ? endAt.toDate() : null });\r\n };\r\n\r\n getDatesValidation = () => ({ validateDates: this.validateDates });\r\n\r\n handleDateChange = (event, value) => {\r\n this.setState({ dateOfVisit: value, startAt: null, endAt: null });\r\n };\r\n\r\n validateDates = (values, value) => {\r\n if (!value) {\r\n return true;\r\n }\r\n\r\n const nowAt = globals.now;\r\n const dateAt = mergeDateWithTime(moment(values.startDate), moment(value)).seconds(0);\r\n const result = dateAt.isBefore(nowAt, 'minute');\r\n\r\n return result ? true : locale.getMsg('dateInThePast');\r\n };\r\n\r\n subtractDates = (date1, date2) => {\r\n if (date1 !== null && date2 !== null) {\r\n if (date1 > date2) {\r\n date2 = moment(date2).add(1, 'days');\r\n }\r\n return moment.duration(Math.abs(moment(date2).diff(moment(date1)))).format('H [hrs]: m [min]');\r\n }\r\n return '-';\r\n };\r\n\r\n handleSelectionTypeSwitch = (event, value) => {\r\n this.setState({\r\n selectionType: value,\r\n activities: [],\r\n clearActivities: true,\r\n });\r\n };\r\n\r\n handleSaveCancel = () => {\r\n this.setState({\r\n showSaveConfirmationDialog: false,\r\n treatmentDataModel: null,\r\n });\r\n };\r\n\r\n handleSaveConfirm = () => {\r\n this.setState({\r\n showSaveConfirmationDialog: false,\r\n });\r\n this.createRetroVisit(this.state.treatmentDataModel);\r\n };\r\n\r\n save = doubleActionPrevent.bind(this)('Save', async model => {\r\n this.setState({ unSavedChanges: false });\r\n const { referral } = this.props;\r\n const { selectionType, startingPostcode } = this.state;\r\n const treatmentData = {\r\n ...model,\r\n referralId: referral.id,\r\n startTime: getDateForApi(model.startTime),\r\n endTime: getDateForApi(model.endTime),\r\n startDate: getDateForApi(model.startDate),\r\n visitType: selectionType,\r\n startingPostcode,\r\n };\r\n\r\n if (startingPostcode !== null && startingPostcode.length > 0) {\r\n this.setState({ showSaveConfirmationDialog: true, treatmentDataModel: treatmentData });\r\n } else {\r\n this.createRetroVisit(treatmentData);\r\n }\r\n });\r\n\r\n createRetroVisit = treatmentData => {\r\n this.props\r\n .createRetrospectiveVisit({ treatment: treatmentData })\r\n .then(() => {\r\n if (this.props.errorMessage === null) {\r\n this.props.goBack();\r\n }\r\n })\r\n .catch(() => this.setState({ showError: true }));\r\n };\r\n\r\n handleClinicianChange = (event, value, payload) => {\r\n this.setState({ clinicianId: payload });\r\n };\r\n\r\n handleOrgUnitChange = (event, value, payload) => {\r\n const filteredActivities =\r\n this.state.activities &&\r\n this.state.activities.filter(a => a.orgUnitsIds.length === 0 || a.orgUnitsIds.some(id => id === payload));\r\n\r\n this.setState({ orgUnitId: payload, activities: filteredActivities });\r\n };\r\n\r\n enableButton = () => {\r\n this.setState({\r\n canSubmit: true,\r\n });\r\n };\r\n\r\n disableButton = () => {\r\n this.setState({\r\n canSubmit: false,\r\n });\r\n };\r\n\r\n handleActivitiesReset = () => {\r\n this.setState({\r\n clearActivities: false,\r\n });\r\n };\r\n\r\n handleAddedActivities = activities => {\r\n this.setState({\r\n activities,\r\n });\r\n };\r\n\r\n handleChange = () => {\r\n this.setState({ unSavedChanges: true });\r\n };\r\n\r\n filterActivitiesByOrgUnit = options => {\r\n if (this.state.orgUnitId === undefined || this.state.orgUnitId === null) {\r\n return options;\r\n }\r\n\r\n return options.filter(o => {\r\n return o.orgUnitsIds.length === 0 || o.orgUnitsIds.some(id => id === this.state.orgUnitId);\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n startAt,\r\n endAt,\r\n dateOfVisit,\r\n maxDate,\r\n clinicianId,\r\n orgUnitId,\r\n canSubmit,\r\n showError,\r\n selectionType,\r\n clearActivities,\r\n showWarning,\r\n } = this.state;\r\n const { pageTitle, goBack, referral, errorMessage } = this.props;\r\n\r\n const { patient } = referral || {};\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n goBack()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {locale.getMsg('createCompletedVisitPageHeader')}\r\n \r\n {patient &&\r\n locale.getMsg('patientInfoHeader', [patient.patientFullName, formatNhs(patient.nhsNumber)])}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {showWarning && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {`${locale.getMsg('visitDuration')}: `}\r\n {this.subtractDates(startAt, endAt)}\r\n \r\n\r\n \r\n \r\n {locale.getMsg('visitActivities')}\r\n \r\n \r\n \r\n this.handleAddedActivities(activities)}\r\n canEdit\r\n visitType={selectionType}\r\n clearActivities={clearActivities}\r\n handleActivitiesReset={this.handleActivitiesReset}\r\n filterActivitiesByOrgUnit={options => this.filterActivitiesByOrgUnit(options)}\r\n filteredActivitiesByOrgUnit={this.state.activities}\r\n />\r\n \r\n\r\n {selectionType === selectionTypes.onSite && (\r\n \r\n
    \r\n \r\n Starting Postcode\r\n \r\n \r\n \r\n \r\n this.setState({\r\n startingPostcode: e.target.value.trim(),\r\n })\r\n }\r\n >\r\n {\r\n this.setState({\r\n startingPostcode: selectedPostcode.trim(),\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n\r\n \r\n {showError && errorMessage &&

    {errors.getMsg(errorMessage)}

    }\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nTreatmentCreateRetroVisit.defaultProps = {\r\n errorMessage: '',\r\n referral: null,\r\n};\r\n\r\nTreatmentCreateRetroVisit.propTypes = {\r\n goBack: PropTypes.func.isRequired,\r\n errorMessage: PropTypes.string,\r\n pageTitle: PropTypes.string.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n referralId: PropTypes.string,\r\n }),\r\n }).isRequired,\r\n getReferral: PropTypes.func.isRequired,\r\n referral: PropTypes.shape({\r\n dateReceived: PropTypes.string,\r\n id: PropTypes.number,\r\n locationType: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n orgUnits: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n ),\r\n referenceCode: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n referralPriority: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n referralSource: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n }),\r\n }),\r\n createRetrospectiveVisit: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default TreatmentCreateRetroVisit;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Typography, IconButton, Box, Tooltip } from '@material-ui/core';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport Dialog from 'material-ui/Dialog';\r\nimport FlatButton from 'material-ui/FlatButton';\r\nimport RaisedButton from 'material-ui/RaisedButton';\r\nimport moment from 'moment';\r\nimport TreatmentPreview, { actionTypes } from './../../components/Treatments/Preview/TreatmentPreview';\r\nimport PageContent from '../../components/PageStructure/PageContent/PageContent';\r\nimport PageHeader from '../../components/PageStructure/PageHeader/PageHeader';\r\nimport InnerContent from '../../components/PageStructure/InnerContent/InnerContent';\r\nimport Spinner from '../../components/common/Spinner/Spinner';\r\nimport AlertBox from '../../components/common/AlertBox/AlertBox';\r\nimport globals from '../../globals/communityGlobals';\r\nimport { doubleActionPrevent, formatNhs } from '../../utils/helpers';\r\nimport { recurrenceTypes } from '../../settings/constants';\r\nimport {\r\n ENABLE_MAPPING_OF_TEAMS,\r\n ENABLE_RECORDING_OF_WEEKLY_REQUESTED_DAYS,\r\n} from '../../settings/constants/appSettings';\r\nimport { Treatment as treatmentPropType } from '../../propTypes/entities/treatment';\r\nimport patientPropType from '../../propTypes/entities/patient';\r\nimport { MonthOption } from '../../enums/monthOption';\r\n\r\nconst locale = globals.getArea('treatments');\r\n\r\nclass TreatmentEdit extends React.Component {\r\n state = {\r\n showConfirmation: false,\r\n showReviewDateWarning: false,\r\n showErrorMessage: false,\r\n willAffectFutureInstances: false,\r\n isDataLoading: false,\r\n isSaveDisabled: false,\r\n isOpenedConfirmationDialog: false,\r\n };\r\n\r\n componentDidMount = () => {\r\n const { match, getTreatmentData, getFutureInstances, getSettings } = this.props;\r\n getTreatmentData(match.params.id);\r\n getFutureInstances(match.params.id);\r\n getSettings(ENABLE_RECORDING_OF_WEEKLY_REQUESTED_DAYS);\r\n getSettings(ENABLE_MAPPING_OF_TEAMS);\r\n };\r\n\r\n getMonthlyValue = value => {\r\n const arr = Object.keys(MonthOption);\r\n const newValue = arr.filter(x => x === value);\r\n return newValue && newValue[0];\r\n };\r\n\r\n validateTimes = (activitiesIds, timeSlotsIds, isMultiple) => {\r\n const { activities, treatment } = this.props;\r\n const selectedActivities = activities.filter(x => activitiesIds.includes(x.id));\r\n const timeSlotList = Object.values(timeSlotsIds);\r\n const timeSlotIdList = Object.keys(timeSlotList[0]);\r\n const activityDuration = selectedActivities.reduce((total, num) => total + parseInt(num.duration, 10), 0);\r\n const sortedTimeSlots = treatment.timeSlotsPackage.timeSlots\r\n .filter(ts => timeSlotIdList.includes(ts.id.toString()))\r\n .sort((a, b) => (a.startTime > b.startTime ? 1 : -1));\r\n\r\n if (sortedTimeSlots.length === 0) return true;\r\n let maxDuration = sortedTimeSlots[0].duration;\r\n const minDuration = sortedTimeSlots.reduce((a, b) => (a.duration < b.duration ? a : b));\r\n\r\n if (isMultiple) {\r\n return minDuration.duration >= activityDuration;\r\n }\r\n\r\n // eslint-disable-next-line no-plusplus\r\n for (let i = 0; i < sortedTimeSlots.length; i++) {\r\n const shiftedSlots = sortedTimeSlots.slice(i, sortedTimeSlots.length).concat([...sortedTimeSlots].splice(0, i));\r\n let duration = sortedTimeSlots[i].duration;\r\n // eslint-disable-next-line no-plusplus\r\n for (let j = 0; j < shiftedSlots.length - 1; j++) {\r\n if (shiftedSlots[j].endTime === shiftedSlots[j + 1].startTime) {\r\n duration += shiftedSlots[j + 1].duration;\r\n } else break;\r\n }\r\n if (duration > maxDuration) {\r\n maxDuration = duration;\r\n }\r\n }\r\n return maxDuration >= activityDuration;\r\n };\r\n\r\n handleSave = doubleActionPrevent.bind(this)(\r\n 'Save',\r\n async model => {\r\n const { editTreatment, treatment, hasCompletedVisitToday } = this.props;\r\n if (model.isSpecific || this.validateTimes(model.activitiesIds, model.timeSlotsMatrix, model.isMultiple)) {\r\n const trimmedDateFrom = model.dateFrom\r\n ? moment(model.dateFrom)\r\n .startOf('day')\r\n .format(globals.dateFormats.localApiFormat)\r\n : undefined;\r\n const trimmedDateTo = model.dateTo\r\n ? moment(model.dateTo)\r\n .startOf('day')\r\n .format(globals.dateFormats.localApiFormat)\r\n : undefined;\r\n const singleOrgUnit = [model.orgUnitIds];\r\n const singleTeam = model.teamIds;\r\n const selectedDays =\r\n model.isSpecific &&\r\n (model.recurrenceType === recurrenceTypes.DAILY || model.recurrenceType === recurrenceTypes.DISABLED)\r\n ? {}\r\n : model.selectedDays;\r\n const treatmentDraft = {\r\n treatment: {\r\n ...treatment,\r\n ...model,\r\n selectedDays,\r\n dateFrom: trimmedDateFrom,\r\n orgUnitIds: singleOrgUnit,\r\n teamId: singleTeam,\r\n dateTo: trimmedDateTo,\r\n timeSlotsPackageId: treatment.timeSlotsPackage.id,\r\n },\r\n };\r\n\r\n if (model.preferredClinician !== null && model.preferredClinician.clinicianBand < model.overriddenBandId) {\r\n await editTreatment(treatmentDraft);\r\n const {\r\n treatment: { referralId },\r\n navigate,\r\n } = this.props;\r\n navigate(`/Patients/Patient/Referrals/${referralId}`);\r\n } else {\r\n const hasFutureAssignedInstances = this.futureAssignedInstancesExist();\r\n this.setState({\r\n isDataLoading: !hasFutureAssignedInstances,\r\n isSaveDisabled: true,\r\n });\r\n\r\n if (hasFutureAssignedInstances || hasCompletedVisitToday) {\r\n this.setState({\r\n showConfirmation: true,\r\n showReviewDateWarning: this.reviewDateSetToAssignedInstance(treatmentDraft),\r\n treatmentDraft,\r\n willAffectFutureInstances: hasFutureAssignedInstances,\r\n });\r\n return;\r\n }\r\n await editTreatment(treatmentDraft);\r\n }\r\n } else {\r\n this.setState({ showErrorMessage: true });\r\n }\r\n },\r\n () => {\r\n const {\r\n treatment: { referralId },\r\n navigate,\r\n hasCompletedVisitToday,\r\n } = this.props;\r\n if (!this.futureAssignedInstancesExist() && !this.state.showErrorMessage && !hasCompletedVisitToday) {\r\n this.setState({ isSaveDisabled: false, isDataLoading: false });\r\n navigate(`/Patients/Patient/Referrals/${referralId}`);\r\n }\r\n },\r\n );\r\n\r\n handleDiscard = doubleActionPrevent.bind(this)(\r\n 'Discard',\r\n async () => {\r\n const { discardTreatment, treatment } = this.props;\r\n const treatmentData = { treatmentId: treatment.id };\r\n\r\n await discardTreatment(treatmentData);\r\n this.setState({ showErrorMessage: false });\r\n },\r\n () => {\r\n const {\r\n treatment: { referralId },\r\n navigate,\r\n } = this.props;\r\n if (!this.state.showErrorMessage) {\r\n navigate(`/Patients/Patient/Referrals/${referralId}`);\r\n }\r\n },\r\n );\r\n\r\n reviewDateSetToAssignedInstance = treatmentDraft => {\r\n const { futureInstances } = this.props;\r\n const { treatment = {} } = treatmentDraft;\r\n return treatment.reviewDate\r\n ? futureInstances.some(instance => moment(instance.startDate).isSame(treatment.reviewDate, 'day'))\r\n : false;\r\n };\r\n\r\n handleGoBack = () => {\r\n this.props.goBack();\r\n };\r\n\r\n handleConfirm = doubleActionPrevent.bind(this)(\r\n 'ConfirmedSave',\r\n async () => {\r\n this.setState({ isDataLoading: true, isOpenedConfirmationDialog: true });\r\n await this.props.editTreatment(this.state.treatmentDraft);\r\n },\r\n () => {\r\n const {\r\n treatment: { referralId },\r\n navigate,\r\n } = this.props;\r\n this.setState({ isDataLoading: false, isOpenedConfirmationDialog: false });\r\n navigate(`/Patients/Patient/Referrals/${referralId}`);\r\n },\r\n );\r\n\r\n handleCancel = () => {\r\n this.setState({\r\n showConfirmation: false,\r\n isDataLoading: false,\r\n isSaveDisabled: false,\r\n isOpenedConfirmationDialog: false,\r\n });\r\n };\r\n\r\n futureAssignedInstancesExist = () => {\r\n const { futureInstances } = this.props;\r\n return futureInstances && Array.isArray(futureInstances) && futureInstances.length > 0;\r\n };\r\n\r\n render() {\r\n const {\r\n pageTitle,\r\n isFetchingTreatment,\r\n treatment,\r\n patient,\r\n futureInstances,\r\n referral,\r\n enableIntegrationMode,\r\n externalProviderType,\r\n enableRecordingOfWeeklyRequestedDays,\r\n enableMappingOfTeams,\r\n } = this.props;\r\n const treatmentDetails = treatment\r\n ? {\r\n orgUnitIds: [treatment.orgUnit],\r\n teamIds: [treatment.team],\r\n activitiesIds: treatment.activities,\r\n communityMatron: treatment.communityMatron,\r\n emergencyUnscheduled: treatment.emergencyUnscheduled,\r\n additionalClinician: treatment.additionalClinician,\r\n weeklyRequestedDays: treatment.weeklyRequestedDays,\r\n }\r\n : {};\r\n let timeSlots = [];\r\n let timeSlotsPackageId;\r\n if (treatment) {\r\n timeSlots = treatment.timeSlotsPackage.timeSlots;\r\n timeSlotsPackageId = treatment.timeSlotsPackage.id;\r\n }\r\n\r\n const treatmentSchedule = treatment\r\n ? {\r\n reviewDate: treatment.reviewDate,\r\n timeSlotsMatrix: treatment.timeSlotsMatrix,\r\n dateFrom: treatment.dateFrom,\r\n dateTo: treatment.dateTo,\r\n recurrenceType: treatment.recurrenceType,\r\n recurEvery: treatment.recurEvery,\r\n selectedDays: treatment.selectedDays,\r\n specificTimeFrom: treatment.specificTimeFrom,\r\n monthlyRecurrenceType: this.getMonthlyValue(treatment.monthlyRecurrenceType),\r\n selectedWeeks: treatment.selectedWeeks.length === 0 ? undefined : treatment.selectedWeeks,\r\n selectedWeekDays: treatment.selectedWeekDays.length === 0 ? undefined : treatment.selectedWeekDays,\r\n }\r\n : {};\r\n\r\n const alertText = this.futureAssignedInstancesExist()\r\n ? `${locale.getMsg('assignedFutureInstancesWarning')}\r\n ${futureInstances.reduce(\r\n (prevValue, curValue) =>\r\n `${prevValue + moment(curValue.startDate).format(globals.dateFormats.shortWithTime)}\\n`,\r\n '',\r\n )}`\r\n : '';\r\n\r\n const confirmationActions = [\r\n ,\r\n ,\r\n ];\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {treatment && treatment.isAddedRetrospectively\r\n ? locale.getMsg('editRestrospectivePageHeader')\r\n : locale.getMsg('editPageHeader')}\r\n \r\n \r\n {patient &&\r\n locale.getMsg('patientInfoHeader', [patient.patientFullName, formatNhs(patient.nhsNumber)])}\r\n \r\n \r\n \r\n \r\n \r\n {!isFetchingTreatment && (\r\n
    \r\n \r\n
    \r\n {treatment && referral ? (\r\n this.props.navigate(url)}\r\n showErrorMessage={this.state.showErrorMessage}\r\n hasBundledOrFutureAssignedInstances={\r\n this.futureAssignedInstancesExist() || treatment.hasBundleTreatmentInstances\r\n }\r\n referralDateReceived={referral.dateReceived}\r\n referralServiceEndDate={referral.referralService ? referral.referralService.endDate : undefined}\r\n jwtToken={this.props.jwtToken}\r\n enableIntegrationMode={enableIntegrationMode}\r\n externalProviderType={externalProviderType}\r\n isSaveDisabled={this.state.isSaveDisabled}\r\n enableRecordingOfWeeklyRequestedDays={enableRecordingOfWeeklyRequestedDays}\r\n enableMappingOfTeams={enableMappingOfTeams}\r\n />\r\n ) : (\r\n \r\n )}\r\n {(this.state.isDataLoading || this.state.isOpenedConfirmationDialog) && }\r\n
    \r\n \r\n {locale.getMsg('confirmationDialogTextLine1')}\r\n
    \r\n {this.futureAssignedInstancesExist() && locale.getMsg('confirmationDialogTextLine2')}\r\n
    \r\n {this.props.hasCompletedVisitToday && locale.getMsg('hasCompletedVisitTodayWarning')}\r\n
    \r\n {this.state.showReviewDateWarning && locale.getMsg('confirmationDialogReviewDateLine')}\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTreatmentEdit.defaultProps = {\r\n failureMessage: '',\r\n treatment: {},\r\n patient: {},\r\n defaultTimeSlotPackage: null,\r\n futureInstances: [],\r\n status: '',\r\n activities: [{}],\r\n hasCompletedVisitToday: false,\r\n};\r\n\r\nTreatmentEdit.propTypes = {\r\n isFetchingTreatment: PropTypes.bool.isRequired,\r\n treatment: treatmentPropType,\r\n pageTitle: PropTypes.string.isRequired,\r\n goBack: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n referralId: PropTypes.number,\r\n }),\r\n }).isRequired,\r\n activities: PropTypes.arrayOf(PropTypes.object).isRequired,\r\n getTreatmentData: PropTypes.func.isRequired,\r\n patient: patientPropType,\r\n editTreatment: PropTypes.func.isRequired,\r\n navigate: PropTypes.func.isRequired,\r\n getFutureInstances: PropTypes.func.isRequired,\r\n hasCompletedVisitToday: PropTypes.bool,\r\n futureInstances: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n treatmentInstanceId: PropTypes.number,\r\n startDate: PropTypes.string,\r\n }),\r\n ),\r\n};\r\n\r\nexport default TreatmentEdit;\r\n","import moment from 'moment';\r\n\r\nexport class MessageArea {\r\n constructor(area) {\r\n this.area = area;\r\n }\r\n getMsg(messageId, formatArray) {\r\n if (typeof messageId !== 'string') {\r\n throw new TypeError(`Message name must be a string. Got ${typeof messageId} instead.`);\r\n }\r\n let message = this.area[messageId];\r\n if (!message) return `Missing text: ${messageId}`;\r\n if (formatArray) {\r\n if (!Array.isArray(formatArray) || !formatArray.every(type => typeof type === 'string')) {\r\n throw new Error('Translation string format error: Expected an array of strings.');\r\n }\r\n formatArray.forEach((el, index) => {\r\n message = message.replace(`{${index}}`, el);\r\n });\r\n }\r\n return message;\r\n }\r\n toObject() {\r\n return this.area;\r\n }\r\n}\r\n\r\nexport class GlobalsHandler {\r\n constructor(globals) {\r\n this.globals = globals;\r\n\r\n const areaKeys = Object.keys(this.globals.messages);\r\n areaKeys.forEach(el => {\r\n this[el] = new MessageArea(this.globals.messages[el]);\r\n });\r\n\r\n this.initializeTimeDifference();\r\n }\r\n // Set the time difference between the server and the browser.\r\n initializeTimeDifference() {\r\n const momentNow = moment();\r\n const serverMomentNow = moment(this.globals.serverNow);\r\n // Difference limited to hours ignores the request time difference.\r\n // Would be wrong if the request took more than an hour, but timeout duration is lower.\r\n this.timeDifferenceInHours = serverMomentNow.diff(momentNow, 'h');\r\n }\r\n\r\n getArea(areaName) {\r\n if (typeof areaName !== 'string') {\r\n throw new TypeError(`Area name must be a string. Got ${typeof areaName} instead.`);\r\n }\r\n if (!this.globals.messages[areaName]) {\r\n throw new ReferenceError(`${areaName} does not exist in Messages!`);\r\n }\r\n return this[areaName];\r\n }\r\n\r\n // If duplicate keys exist, the one from the last area in the list will overwrite the previous\r\n getAreas(areaNames) {\r\n if (!Array.isArray(areaNames)) {\r\n throw new Error('Area names array format error: Expected an array of strings.');\r\n }\r\n let result = {};\r\n areaNames.forEach(areaName => {\r\n result = { ...result, ...this.getArea(areaName).toObject() };\r\n });\r\n return new MessageArea(result);\r\n }\r\n\r\n // Source of current time for all the elements in the application.\r\n // Returns a new moment date everytime, so it stays true even if it's already past midnight\r\n // and the page hasn't been refreshed.\r\n // Considers the time difference between the browser and the server (works with virtual date).\r\n getCurrentDate = (browserTime = false) =>\r\n browserTime ? moment() : moment().add(this.timeDifferenceInHours, 'hours');\r\n\r\n get applicationFeatureAccesses() {\r\n return this.globals.applicationFeatureAccesses;\r\n }\r\n\r\n get urls() {\r\n return this.globals.urls;\r\n }\r\n\r\n get consts() {\r\n return this.globals.consts;\r\n }\r\n\r\n get version() {\r\n return this.globals.version;\r\n }\r\n\r\n get instance() {\r\n return this.globals.instance;\r\n }\r\n\r\n get dateFormats() {\r\n return this.globals.dateFormats;\r\n }\r\n\r\n get timeFormats() {\r\n return this.globals.timeFormats;\r\n }\r\n\r\n get durationFormats() {\r\n return this.globals.durationFormats;\r\n }\r\n\r\n get momentLocale() {\r\n return this.globals.dateFormats.momentLocale;\r\n }\r\n\r\n get weekdayNames() {\r\n return this.globals.dateFormats.weekdaysShort;\r\n }\r\n\r\n get identityProvider() {\r\n return this.globals.identityProvider;\r\n }\r\n\r\n get now() {\r\n return this.getCurrentDate();\r\n }\r\n // In case the actual browser date is ever needed\r\n get browserNow() {\r\n return this.getCurrentDate(true);\r\n }\r\n\r\n get dataDogSettings() {\r\n return this.globals.dataDog;\r\n }\r\n}\r\n\r\nconst CSGlobals = new GlobalsHandler(window.CS.Globals);\r\nexport default CSGlobals;\r\n","import PropTypes from 'prop-types';\r\nimport OptionPropType from './option';\r\n\r\nconst ActivityDefaultProps = {\r\n id: undefined,\r\n duration: null,\r\n band: null,\r\n requiredClinicians: null,\r\n timeAverage: null,\r\n isActive: null,\r\n ragStatus: null,\r\n activityType: null,\r\n};\r\n\r\nconst ActivityPropType = PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string.isRequired,\r\n requiredClinicians: PropTypes.number,\r\n duration: PropTypes.number,\r\n timeAverage: PropTypes.number,\r\n isActive: PropTypes.bool,\r\n\r\n ragStatus: OptionPropType,\r\n activityType: OptionPropType,\r\n band: OptionPropType,\r\n});\r\n\r\nexport { ActivityDefaultProps, ActivityPropType };\r\n","import PropTypes from 'prop-types';\r\n\r\nconst Address = PropTypes.shape({\r\n addressLine1: PropTypes.string,\r\n addressLine2: PropTypes.string,\r\n addressLine3: PropTypes.string,\r\n townCity: PropTypes.string,\r\n postCode: PropTypes.string,\r\n accessDetails: PropTypes.string,\r\n});\r\n\r\nexport default Address;\r\n","import PropTypes from 'prop-types';\r\nimport {\r\n RAGSTATUS_RED_FROMINTERVAL,\r\n RAGSTATUS_AMBER_FROMINTERVAL,\r\n ENABLE_MILEAGE_CAP,\r\n RAGSTATUS_RED_FROMINTERVAL_DEFAULT,\r\n RAGSTATUS_AMBER_FROMINTERVAL_DEFAULT,\r\n ENABLE_MILEAGE_CAP_DEFAULT,\r\n} from '../../settings/constants/appSettings';\r\n\r\nconst appSettingsDefault = {\r\n [RAGSTATUS_AMBER_FROMINTERVAL]: RAGSTATUS_AMBER_FROMINTERVAL_DEFAULT,\r\n [RAGSTATUS_RED_FROMINTERVAL]: RAGSTATUS_RED_FROMINTERVAL_DEFAULT,\r\n [ENABLE_MILEAGE_CAP]: ENABLE_MILEAGE_CAP_DEFAULT,\r\n};\r\n\r\nconst appSettingsPropTypes = PropTypes.shape({\r\n [RAGSTATUS_AMBER_FROMINTERVAL]: PropTypes.string,\r\n [RAGSTATUS_RED_FROMINTERVAL]: PropTypes.string,\r\n});\r\n\r\nexport { appSettingsPropTypes, appSettingsDefault };\r\n","import PropTypes from 'prop-types';\r\n\r\nconst assignment = PropTypes.shape({\r\n assignGuid: PropTypes.number.isRequired,\r\n primaryLabel: PropTypes.string.isRequired,\r\n secondaryLabel: PropTypes.string,\r\n description: PropTypes.string,\r\n assignedCopiesCount: PropTypes.number.isRequired,\r\n startDate: PropTypes.string.isRequired,\r\n endDate: PropTypes.string.isRequired,\r\n visualStartDate: PropTypes.string.isRequired,\r\n visualEndDate: PropTypes.string.isRequired,\r\n visitStarted: PropTypes.string,\r\n visitEnded: PropTypes.string,\r\n totalCopiesCount: PropTypes.number.isRequired,\r\n isCollapsed: PropTypes.bool.isRequired,\r\n isOverlapping: PropTypes.bool.isRequired,\r\n assignmentType: PropTypes.string.isRequired,\r\n postcode: PropTypes.string,\r\n travelTime: PropTypes.number,\r\n});\r\n\r\nexport default assignment;\r\n","import PropTypes from 'prop-types';\r\nimport postCodeAnywhereLocation from '../external/postCodeAnywhereLocation';\r\n\r\nconst assignmentLocation = PropTypes.shape({\r\n title: PropTypes.string.isRequired,\r\n activitiesSummary: PropTypes.string.isRequired,\r\n description: PropTypes.string,\r\n id: PropTypes.number.isRequired,\r\n startDate: PropTypes.string.isRequired,\r\n activitiesTotalDuration: PropTypes.number.isRequired,\r\n location: postCodeAnywhereLocation.isRequired,\r\n});\r\n\r\nexport default assignmentLocation;\r\n","import PropTypes from 'prop-types';\r\nimport assignment from './assignment';\r\n\r\nconst availability = PropTypes.shape({\r\n restStart: PropTypes.string,\r\n restDuration: PropTypes.number,\r\n dropCellTargets: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)),\r\n assignments: PropTypes.arrayOf(assignment),\r\n deletedOn: PropTypes.string,\r\n duration: PropTypes.number.isRequired,\r\n endDate: PropTypes.string.isRequired,\r\n id: PropTypes.number.isRequired,\r\n startDate: PropTypes.string.isRequired,\r\n});\r\n\r\nexport default availability;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst availabilityLocatoins = PropTypes.shape({\r\n duration: PropTypes.number.isRequired,\r\n endDate: PropTypes.string.isRequired,\r\n id: PropTypes.number.isRequired,\r\n startDate: PropTypes.string.isRequired,\r\n});\r\n\r\nexport default availabilityLocatoins;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst clinician = PropTypes.shape({\r\n clinicianFullName: PropTypes.string.isRequired,\r\n clinicianColor: PropTypes.string.isRequired,\r\n id: PropTypes.number,\r\n dateOfBirth: PropTypes.string,\r\n forename: PropTypes.string,\r\n knownAs: PropTypes.string,\r\n maidenName: PropTypes.string,\r\n middleInitials: PropTypes.string,\r\n staffNumber: PropTypes.string.isRequired,\r\n surname: PropTypes.string.isRequired,\r\n});\r\n\r\nexport default clinician;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst contact = PropTypes.shape({\r\n homeTelephone: PropTypes.string,\r\n workTelephone: PropTypes.string,\r\n mobileTelephone: PropTypes.string,\r\n fax: PropTypes.string,\r\n bleeper: PropTypes.string,\r\n email1: PropTypes.string,\r\n email2: PropTypes.string,\r\n webAddress: PropTypes.string,\r\n});\r\n\r\nexport default contact;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst grade = PropTypes.shape({\r\n equivalence: PropTypes.number.isRequired,\r\n name: PropTypes.string.isRequired,\r\n});\r\n\r\nexport default grade;\r\n","import PropTypes from 'prop-types';\r\nimport grade from './grade';\r\nimport availabilityLocations from './availabilityLocations';\r\nimport orgUnit from './orgUnit';\r\nimport assignmentLocation from './assignmentLocation';\r\nimport postCodeAnywhereLocation from '../external/postCodeAnywhereLocation';\r\n\r\nconst locationsForPosting = PropTypes.shape({\r\n assignments: PropTypes.arrayOf(assignmentLocation).isRequired,\r\n availabilities: PropTypes.arrayOf(availabilityLocations).isRequired,\r\n visitsTotal: PropTypes.number.isRequired,\r\n visitsCompleted: PropTypes.number.isRequired,\r\n clinicianLocation: postCodeAnywhereLocation,\r\n clinicianName: PropTypes.string.isRequired,\r\n clinicianPhoneNumber: PropTypes.string,\r\n clinicianColor: PropTypes.string.isRequired,\r\n clinicianId: PropTypes.number.isRequired,\r\n ragCapacity: PropTypes.number.isRequired,\r\n grade: grade.isRequired,\r\n orgUnit: orgUnit.isRequired,\r\n});\r\n\r\nexport default locationsForPosting;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst newTimeSlot = PropTypes.shape({\r\n from: PropTypes.string.isRequired,\r\n to: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n});\r\n\r\nexport default newTimeSlot;\r\n","import PropTypes from 'prop-types';\r\nimport newTimeSlot from './newTimeSlot';\r\n\r\nconst newTimeSlotsPackage = PropTypes.shape({\r\n timeSlots: PropTypes.arrayOf(newTimeSlot),\r\n});\r\n\r\nexport default newTimeSlotsPackage;\r\n","import PropTypes from 'prop-types';\r\nimport orgUnit from './orgUnit';\r\nimport clinician from './clinician';\r\nimport address from './address';\r\n\r\nconst NonPatientActivityPropTypeDefault = {\r\n id: undefined,\r\n name: null,\r\n nonPatientActivityTypeId: null,\r\n clinicianIds: null,\r\n orgUnitIds: null,\r\n startTime: null,\r\n endTime: null,\r\n selectedDays: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n recurrenceType: null,\r\n recurEvery: null,\r\n duration: null,\r\n notes: null,\r\n address: null,\r\n};\r\n\r\nconst NonPatientActivityPropType = PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n nonPatientActivityTypeId: PropTypes.number,\r\n clinicianIds: PropTypes.arrayOf(clinician),\r\n orgUnitIds: PropTypes.arrayOf(orgUnit),\r\n startTime: PropTypes.string,\r\n endTime: PropTypes.string,\r\n selectedDays: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n dateFrom: PropTypes.string,\r\n dateTo: PropTypes.string,\r\n recurrenceType: PropTypes.string,\r\n recurEvery: PropTypes.number,\r\n duration: PropTypes.number,\r\n notes: PropTypes.string,\r\n address,\r\n});\r\n\r\nexport { NonPatientActivityPropTypeDefault, NonPatientActivityPropType };\r\n","import PropTypes from 'prop-types';\r\n\r\nconst OptionPropType = PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n name: PropTypes.string,\r\n});\r\n\r\nexport default OptionPropType;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst orgUnit = PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n name: PropTypes.string.isRequired,\r\n});\r\n\r\nexport default orgUnit;\r\n","import PropTypes from 'prop-types';\r\nimport AddressPropType from './address';\r\nimport ContactPropType from './contact';\r\n\r\nconst patient = PropTypes.shape({\r\n id: PropTypes.string,\r\n pasNumber: PropTypes.string,\r\n nhsNumber: PropTypes.string,\r\n title: PropTypes.string,\r\n forename: PropTypes.string,\r\n surname: PropTypes.string,\r\n gender: PropTypes.string,\r\n dateOfBirth: PropTypes.string,\r\n dateOfDeath: PropTypes.string,\r\n gpPractice: PropTypes.string,\r\n practiceCode: PropTypes.string,\r\n address: AddressPropType,\r\n contact: ContactPropType,\r\n version: PropTypes.number,\r\n});\r\n\r\nexport default patient;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst postcodeMileagesTypes = PropTypes.shape({\r\n postcode: PropTypes.string,\r\n mileages: PropTypes.object,\r\n});\r\n\r\nexport default postcodeMileagesTypes;\r\n","import PropTypes from 'prop-types';\r\nimport clinician from './clinician';\r\nimport grade from './grade';\r\nimport availability from './availability';\r\nimport orgUnit from './orgUnit';\r\nimport timePropTypes from './time';\r\n\r\nconst posting = PropTypes.shape({\r\n availabilities: PropTypes.arrayOf(availability).isRequired,\r\n clinician: clinician.isRequired,\r\n ragCapacity: PropTypes.number.isRequired,\r\n grade: grade.isRequired,\r\n id: PropTypes.number.isRequired,\r\n name: PropTypes.string.isRequired,\r\n orgUnit: orgUnit.isRequired,\r\n workingTime: timePropTypes.isRequired,\r\n assignedTime: timePropTypes.isRequired,\r\n availableTime: timePropTypes.isRequired,\r\n});\r\n\r\nexport default posting;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst ragStatus = PropTypes.shape({\r\n value: PropTypes.number,\r\n name: PropTypes.string,\r\n});\r\n\r\nexport default ragStatus;\r\n","import PropTypes from 'prop-types';\r\nimport { recurrenceTypes } from '../../settings/constants';\r\n\r\nconst RecurrencePatern = PropTypes.shape({\r\n recurEvery: PropTypes.number,\r\n recurrenceType: PropTypes.string,\r\n selectedDays: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n dateTo: PropTypes.string,\r\n dateFrom: PropTypes.string,\r\n specificTimeFrom: PropTypes.string,\r\n});\r\n\r\nconst RecurrencePatternDefaultValues = {\r\n recurEvery: 1,\r\n recurrenceType: recurrenceTypes.DAILY,\r\n dateTo: undefined,\r\n dateFrom: undefined,\r\n specificTimeFrom: undefined,\r\n selectedDays: undefined,\r\n};\r\n\r\nexport { RecurrencePatern, RecurrencePatternDefaultValues };\r\n","import PropTypes from 'prop-types';\r\n\r\nconst TeamAvailabilityDefaultProps = {\r\n totalAvailableHours: null,\r\n treatmentMinutesRequired: null,\r\n TreatmentsCount: null,\r\n relevantDate: null,\r\n};\r\n\r\nconst TeamAvailabilityPropType = PropTypes.shape({\r\n totalAvailableHours: PropTypes.number,\r\n treatmentMinutesRequired: PropTypes.number,\r\n TreatmentsCount: PropTypes.number,\r\n relevantDate: PropTypes.instanceOf(Date),\r\n});\r\n\r\nexport default { TeamAvailabilityDefaultProps, TeamAvailabilityPropType };\r\n","import PropTypes from 'prop-types';\r\nimport TeamAvailabilityPropType from './teamAvailability';\r\n\r\nconst TeamsAvailabilityStructureDefaultProps = {\r\n teamName: '',\r\n teamAvailability: [],\r\n};\r\n\r\nconst TeamsAvailabilityStructurePropType = PropTypes.shape({\r\n teamName: PropTypes.string,\r\n teamAvailability: PropTypes.arrayOf(PropTypes.shape(TeamAvailabilityPropType)),\r\n});\r\n\r\nexport default { TeamsAvailabilityStructurePropType, TeamsAvailabilityStructureDefaultProps };\r\n","import PropTypes from 'prop-types';\r\n\r\nconst timePropTypes = PropTypes.shape({\r\n hours: PropTypes.number,\r\n minutes: PropTypes.number,\r\n});\r\n\r\nexport default timePropTypes;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst timeSlot = PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n from: PropTypes.string.isRequired,\r\n to: PropTypes.string.isRequired,\r\n});\r\n\r\nexport default timeSlot;\r\n","import PropTypes from 'prop-types';\r\nimport timeSlot from './timeSlot';\r\n\r\nconst timeSlotsPackage = PropTypes.shape({\r\n id: PropTypes.number,\r\n timeSlots: PropTypes.arrayOf(timeSlot),\r\n});\r\n\r\nexport default timeSlotsPackage;\r\n","import PropTypes from 'prop-types';\r\nimport orgUnit from './orgUnit';\r\nimport { ActivityPropType } from './activity';\r\nimport address from './address';\r\nimport timeSlotsPackage from './timeSlotsPackage';\r\n\r\nconst TreatmentDefaultProps = {\r\n reviewDate: null,\r\n address: null,\r\n orgUnits: null,\r\n activities: null,\r\n communityMatron: null,\r\n emergencyUnscheduled: null,\r\n patientId: null,\r\n dateFrom: null,\r\n dateTo: null,\r\n specificTimeFrom: null,\r\n specificTimeTo: null,\r\n dateClosed: null,\r\n recurrenceType: null,\r\n recurEvery: null,\r\n timeSlotsPackage: null,\r\n timeSlotsMatrix: null,\r\n description: null,\r\n monthlyRecurrenceType: null,\r\n};\r\n\r\nconst Treatment = PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n reviewDate: PropTypes.string,\r\n address,\r\n orgUnits: PropTypes.arrayOf(orgUnit),\r\n activities: PropTypes.arrayOf(ActivityPropType),\r\n communityMatron: PropTypes.bool,\r\n emergencyUnscheduled: PropTypes.bool,\r\n patientId: PropTypes.string,\r\n dateFrom: PropTypes.string,\r\n dateTo: PropTypes.string,\r\n specificTimeFrom: PropTypes.string,\r\n specificTimeTo: PropTypes.string,\r\n dateClosed: PropTypes.bool,\r\n recurrenceType: PropTypes.string,\r\n recurEvery: PropTypes.number,\r\n timeSlotsPackage,\r\n timeSlotsMatrix: PropTypes.shape({}),\r\n description: PropTypes.string,\r\n monthlyRecurrenceType: PropTypes.string,\r\n selectedWeeks: PropTypes.arrayOf(PropTypes.string),\r\n selectedWeekDays: PropTypes.arrayOf(PropTypes.string),\r\n});\r\n\r\nexport { TreatmentDefaultProps, Treatment };\r\n","import PropTypes from 'prop-types';\r\nimport address from './address';\r\nimport grade from './grade';\r\nimport orgUnit from './orgUnit';\r\nimport { ActivityPropType } from './activity';\r\nimport timeSlot from './timeSlot';\r\nimport ragStatus from './ragStatus';\r\nimport timeSlotPackage from './timeSlotsPackage';\r\n\r\nconst treatmentInstance = PropTypes.shape({\r\n assignGuid: PropTypes.number.isRequired,\r\n activities: PropTypes.arrayOf(ActivityPropType),\r\n activitiesTotalDuration: PropTypes.number,\r\n additionalCliniciansCount: PropTypes.number,\r\n address,\r\n cardType: PropTypes.string,\r\n copiesCount: PropTypes.number,\r\n effectiveTimeSlots: PropTypes.arrayOf(timeSlot),\r\n highestGrade: grade,\r\n highestGradeEquivalence: PropTypes.number,\r\n isFirstChild: PropTypes.bool,\r\n isLastChild: PropTypes.bool,\r\n isMasterAssigned: PropTypes.bool,\r\n isSingleTimeSlot: PropTypes.bool,\r\n isTwilightTreatment: PropTypes.bool,\r\n isSpecificTime: PropTypes.bool,\r\n masterId: PropTypes.number,\r\n occurrence: PropTypes.string,\r\n orgUnits: PropTypes.arrayOf(orgUnit),\r\n patientFullName: PropTypes.string,\r\n ragStatus,\r\n selectedTimeSlots: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\r\n status: PropTypes.string,\r\n timeSlotPackage,\r\n timeSlots: PropTypes.arrayOf(timeSlot),\r\n treatmentId: PropTypes.number,\r\n treatmentInstanceId: PropTypes.number,\r\n wasUnassignedBySynchronization: PropTypes.bool,\r\n hasVarianceFactorChanged: PropTypes.bool,\r\n});\r\n\r\nexport default treatmentInstance;\r\n","import PropTypes from 'prop-types';\r\nimport OptionPropType from './option';\r\n\r\nconst PeriodPropType = PropTypes.shape({\r\n startAt: PropTypes.string,\r\n endAt: PropTypes.string,\r\n});\r\n\r\nconst VisitActualPatientPropType = PropTypes.shape({\r\n NhsNumber: PropTypes.string,\r\n Forename: PropTypes.string,\r\n Surname: PropTypes.string,\r\n});\r\n\r\nconst VisitActualActivityPropType = PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n minutesSpent: PropTypes.number,\r\n isAdditional: PropTypes.bool,\r\n isCompleted: PropTypes.bool,\r\n reason: PropTypes.string, // info: for incompletion\r\n});\r\n\r\nconst VisitActualPropType = PropTypes.shape({\r\n clinicians: PropTypes.arrayOf(OptionPropType),\r\n planned: PeriodPropType,\r\n actual: PeriodPropType,\r\n minutes: PropTypes.number,\r\n activities: PropTypes.arrayOf(VisitActualActivityPropType),\r\n});\r\n\r\nexport { VisitActualActivityPropType, VisitActualPatientPropType, VisitActualPropType };\r\n","import PropTypes from 'prop-types';\r\n\r\nconst postCodeAnywhareLocation = PropTypes.shape({\r\n latitude: PropTypes.number.isRequired,\r\n longitude: PropTypes.number.isRequired,\r\n name: PropTypes.string,\r\n});\r\n\r\nexport default postCodeAnywhareLocation;\r\n","import { SELECTED_AUDIT_OPTIONS_SAVE, SELECTED_AUDIT_OPTIONS_CLEAR } from '../../../actions/constants/types';\r\n\r\nconst initialAuditState = {\r\n options: [],\r\n dateFrom: undefined,\r\n dateTo: undefined,\r\n};\r\n\r\nfunction audit(state = initialAuditState, action) {\r\n switch (action.type) {\r\n case SELECTED_AUDIT_OPTIONS_SAVE: {\r\n return {\r\n ...state,\r\n ...action.data,\r\n };\r\n }\r\n case SELECTED_AUDIT_OPTIONS_CLEAR: {\r\n return {\r\n initialAuditState,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default audit;\r\n","import { combineReducers } from 'redux';\r\nimport systemInfo from './systemInfoReducer';\r\nimport audit from './auditReducer';\r\n\r\nconst admin = combineReducers({\r\n systemInfo,\r\n audit,\r\n});\r\n\r\nexport default admin;\r\n","import admin from './combine';\r\n\r\nexport default admin;\r\n","import {\r\n SYSTEM_INFO_GET_REQUEST,\r\n SYSTEM_INFO_GET_SUCCESS,\r\n SYSTEM_INFO_GET_FAILURE,\r\n SYNCHRONIZATION_DETAILS_GET_REQUEST,\r\n SYNCHRONIZATION_DETAILS_GET_SUCCESS,\r\n SYNCHRONIZATION_DETAILS_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialSystemInfoState = {\r\n isSysInfoFetching: false,\r\n isSyncDetailsFetching: false,\r\n sysInfo: null,\r\n syncDetails: null,\r\n};\r\n\r\nfunction systemInfo(state = initialSystemInfoState, action) {\r\n switch (action.type) {\r\n case SYSTEM_INFO_GET_REQUEST: {\r\n return {\r\n ...state,\r\n isSysInfoFetching: true,\r\n };\r\n }\r\n case SYSTEM_INFO_GET_SUCCESS: {\r\n return {\r\n ...state,\r\n isSysInfoFetching: false,\r\n sysInfo: action.response.data.systemInfo,\r\n };\r\n }\r\n case SYSTEM_INFO_GET_FAILURE: {\r\n return {\r\n ...state,\r\n isSysInfoFetching: false,\r\n sysInfo: null,\r\n };\r\n }\r\n case SYNCHRONIZATION_DETAILS_GET_REQUEST: {\r\n return {\r\n ...state,\r\n isSyncDetailsFetching: true,\r\n };\r\n }\r\n case SYNCHRONIZATION_DETAILS_GET_SUCCESS: {\r\n return {\r\n ...state,\r\n isSyncDetailsFetching: false,\r\n syncDetails: action.response.data.synchronizationDetails,\r\n };\r\n }\r\n case SYNCHRONIZATION_DETAILS_GET_FAILURE: {\r\n return {\r\n ...state,\r\n isSyncDetailsFetching: false,\r\n syncDetails: null,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default systemInfo;\r\n","import { combineReducers } from 'redux';\r\nimport admin from './admin';\r\nimport dailyPlanning from './dailyPlanning';\r\nimport treatments from './treatments';\r\nimport reports from './reports';\r\nimport visitActuals from './visitActuals';\r\nimport dashboard from './dashboard';\r\n\r\nconst areas = combineReducers({\r\n admin,\r\n dailyPlanning,\r\n treatments,\r\n reports,\r\n visitActuals,\r\n dashboard,\r\n});\r\n\r\nexport default areas;\r\n","import {\r\n HOME_TO_VISIT_POSTCODE_DISTANCE_GET_SUCCESS,\r\n HOME_TO_VISIT_POSTCODE_DISTANCE_GET_FAILURE,\r\n HOME_TO_VISIT_POSTCODE_DISTANCE_GET_REQUEST,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n distance: '',\r\n isFetching: false,\r\n};\r\n\r\nconst assignmentDistanceInfo = (state = initialState, action) => {\r\n switch (action.type) {\r\n case HOME_TO_VISIT_POSTCODE_DISTANCE_GET_REQUEST:\r\n return {\r\n ...state,\r\n distance: undefined,\r\n failureMessage: undefined,\r\n isFetching: true,\r\n };\r\n case HOME_TO_VISIT_POSTCODE_DISTANCE_GET_SUCCESS:\r\n return {\r\n ...state,\r\n distance: action.response.data.distance,\r\n isFetching: false,\r\n failureMessage: undefined,\r\n };\r\n case HOME_TO_VISIT_POSTCODE_DISTANCE_GET_FAILURE:\r\n return {\r\n ...state,\r\n distance: undefined,\r\n isFetching: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default assignmentDistanceInfo;\r\n","import {\r\n HOME_TO_VISIT_POSTCODE_DISTANCE_ERROR_DISMISS,\r\n HOME_TO_VISIT_POSTCODE_DISTANCE_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\nimport userMessagesReducerFactory from '../../factories/userMessagesReducerFactory';\r\n\r\nconst assignmentDistanceMessages = userMessagesReducerFactory(\r\n [HOME_TO_VISIT_POSTCODE_DISTANCE_GET_FAILURE],\r\n [],\r\n [HOME_TO_VISIT_POSTCODE_DISTANCE_ERROR_DISMISS],\r\n [],\r\n [],\r\n);\r\n\r\nexport default assignmentDistanceMessages;\r\n","import {\r\n ASSIGNMENT_TREATMENT_INSTANCE_GET_SUCCESS,\r\n RESET_ASSIGNMENT_INFO,\r\n SCHEDULER_MODE_VIEW_CHANGE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n description: '',\r\n timeSlots: [],\r\n};\r\n\r\nconst assignmentInfo = (state = initialState, action) => {\r\n switch (action.type) {\r\n case ASSIGNMENT_TREATMENT_INSTANCE_GET_SUCCESS:\r\n return {\r\n ...state,\r\n description: action.response.data.description,\r\n timeSlots: [...action.response.data.timeSlots],\r\n };\r\n case RESET_ASSIGNMENT_INFO:\r\n return {\r\n ...state,\r\n description: '',\r\n timeSlots: [],\r\n };\r\n case SCHEDULER_MODE_VIEW_CHANGE:\r\n return {\r\n ...state,\r\n description: '',\r\n timeSlots: [],\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default assignmentInfo;\r\n","/* eslint-disable no-plusplus */\r\n/* eslint-disable no-undef */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable no-case-declarations */\r\n/* eslint-disable no-redeclare */\r\n/* eslint-disable prefer-const */\r\nimport {\r\n AUTO_ALLOCATE_REQUEST,\r\n AUTO_ALLOCATE_SUCCESS,\r\n AUTO_ALLOCATE_FAILURE,\r\n AUTO_UNALLOCATE_REQUEST,\r\n AUTO_UNALLOCATE_SUCCESS,\r\n AUTO_UNALLOCATE_FAILURE,\r\n GET_SERVICES_DETAILS_REQUEST,\r\n GET_SERVICES_DETAILS_SUCCESS,\r\n GET_SERVICES_DETAILS_FAILURE,\r\n AUTO_ALLOCATE_UPDATE_DATES,\r\n AUTO_ALLOCATE_LOG,\r\n} from '../../../actions/constants/types';\r\nimport _ from '../../../utils/lodash';\r\n\r\nconst autoAllocateModel = (orgUnitId, selectedDate) => ({\r\n isAllocating: false,\r\n isUnAllocating: false,\r\n status: 'Idle',\r\n progress: 0.0,\r\n date: selectedDate,\r\n teamId: 0,\r\n heartBeat: null,\r\n createLog: false,\r\n syncProgress: 0,\r\n orgUnitId,\r\n});\r\n\r\nconst initialState = {\r\n date: null,\r\n teamId: 0,\r\n heartBeat: null,\r\n createLog: false,\r\n syncProgress: 0,\r\n autoAllocateInProgress: [],\r\n};\r\n\r\n// Check if not exist create Autoallocate request ByUnit\r\nconst ensureAutoallocateRequest = (state, orgUnitId, selectedDate) => {\r\n if (!_.some(state.autoAllocateInProgress, item => item.orgUnitId === orgUnitId && item.date === selectedDate)) {\r\n state.autoAllocateInProgress.push(autoAllocateModel(orgUnitId, selectedDate));\r\n }\r\n\r\n return state;\r\n};\r\n\r\nlet findAutoAllocate = (items, orgUnitId, selectedDate) =>\r\n _.find(items, item => item.orgUnitId === orgUnitId && item.date === selectedDate);\r\n\r\nconst createOrUpdateAutoallocate = (state, orgUnitId, selectedDate, params) => {\r\n state = ensureAutoallocateRequest(state, orgUnitId, selectedDate);\r\n\r\n let model = findAutoAllocate(state.autoAllocateInProgress, orgUnitId, selectedDate);\r\n if (model && params) {\r\n for (let i = 0; i < params.length; i++) {\r\n const propName = Object.keys(params[i])[0];\r\n const propValue = Object.values(params[i])[0];\r\n model[propName] = propValue;\r\n }\r\n }\r\n\r\n return state;\r\n};\r\n\r\nfunction autoAllocate(state = initialState, action) {\r\n let params = [];\r\n switch (action.type) {\r\n case AUTO_ALLOCATE_REQUEST:\r\n params = [{ date: action.date }, { status: 'Running' }, { progress: 0.0 }, { isUnAllocating: false }];\r\n state = createOrUpdateAutoallocate(state, action.orgUnitId, action.date, params);\r\n\r\n return { ...state };\r\n case AUTO_UNALLOCATE_REQUEST:\r\n params = [{ date: action.date }, { status: 'Running' }, { isUnAllocating: true }];\r\n state = createOrUpdateAutoallocate(state, action.orgUnitId, action.date, params);\r\n\r\n return { ...state };\r\n case AUTO_ALLOCATE_SUCCESS:\r\n case AUTO_UNALLOCATE_SUCCESS:\r\n params = [{ status: 'Idle' }, { progress: 0.0 }, { isUnAllocating: false }];\r\n state = createOrUpdateAutoallocate(state, action.orgUnitId, action.date, params);\r\n\r\n return { ...state };\r\n case AUTO_ALLOCATE_FAILURE:\r\n case AUTO_UNALLOCATE_FAILURE:\r\n params = [{ status: 'Idle' }, { progress: 0.0 }, { isUnAllocating: false }];\r\n state = createOrUpdateAutoallocate(state, action.orgUnitId, action.date, params);\r\n\r\n return { ...state };\r\n case GET_SERVICES_DETAILS_REQUEST:\r\n return {\r\n ...state,\r\n };\r\n case GET_SERVICES_DETAILS_SUCCESS:\r\n const orgUnitId = action.response.data.autoAllocationDetails.teamId;\r\n const selectedDate = action.response.data.autoAllocationDetails.dateForWhichAutoAllocationIsRan;\r\n params = [\r\n { progress: parseInt(action.response.data.autoAllocationDetails.progress * 100, 10) },\r\n { syncProgress: parseInt(action.response.data.synchronizationDetails.SynchronizationProgress, 10) },\r\n ];\r\n state = createOrUpdateAutoallocate(state, orgUnitId, selectedDate, params);\r\n\r\n return {\r\n ...state,\r\n ...action.response.data.autoAllocationDetails,\r\n ...action.response.data.synchronizationDetails,\r\n };\r\n case GET_SERVICES_DETAILS_FAILURE:\r\n return {\r\n ...state,\r\n };\r\n case AUTO_ALLOCATE_LOG:\r\n return {\r\n ...state,\r\n createLog: action.createLog,\r\n };\r\n case AUTO_ALLOCATE_UPDATE_DATES:\r\n params = [{ date: action.data.date }];\r\n state = createOrUpdateAutoallocate(state, action.data.orgUnitId, action.data.date, params);\r\n return { ...state };\r\n\r\n // return { ...state, date: action.data.date, teamId: action.data.teamId };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default autoAllocate;\r\n","import {\r\n TREATMENT_DETAILS_GET_REQUEST,\r\n TREATMENT_DETAILS_GET_SUCCESS,\r\n TREATMENT_DETAILS_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n min: null,\r\n max: null,\r\n};\r\n\r\nfunction treatmentInstanceSorting(state = initialState, action) {\r\n switch (action.type) {\r\n case TREATMENT_DETAILS_GET_FAILURE:\r\n case TREATMENT_DETAILS_GET_REQUEST:\r\n return initialState;\r\n case TREATMENT_DETAILS_GET_SUCCESS: {\r\n const data = action.response.data;\r\n return {\r\n min: data.minimumPossibleDate,\r\n max: data.maximumPossibleDate,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default treatmentInstanceSorting;\r\n","import {\r\n DOWNLOAD_CLINICIAN_PLAN,\r\n DOWNLOAD_CLINICIAN_PLAN_FAILURE,\r\n DOWNLOAD_CLINICIAN_PLAN_SUCCESS,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n downloading: false,\r\n};\r\n\r\nconst clinicianPlan = (state = initialState, action) => {\r\n switch (action.type) {\r\n case DOWNLOAD_CLINICIAN_PLAN:\r\n return {\r\n downloading: true,\r\n };\r\n case DOWNLOAD_CLINICIAN_PLAN_SUCCESS:\r\n case DOWNLOAD_CLINICIAN_PLAN_FAILURE:\r\n return {\r\n downloading: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default clinicianPlan;\r\n","import { combineReducers } from 'redux';\r\nimport filters from './filtersReducer';\r\nimport selectedDate from './selectedDateReducer';\r\nimport userMessages from './userMessagesReducer';\r\nimport treatmentInstanceSorting from './treatmentInstanceSortingReducer';\r\nimport availableDatePeriod from './availableDatePeriod';\r\nimport schedulerMapView from './schedulerMapView';\r\nimport clinicianPlan from './clinicianPlan';\r\nimport autoAllocate from './autoAllocateReducer';\r\nimport assignmentInfo from './assignmentInfoReducer';\r\nimport scheduler from './scheduler';\r\nimport assignmentDistanceInfo from './assignmentDistanceInfoReducer';\r\nimport assignmentDistanceMessages from './assignmentDistanceMessagesReducer';\r\nimport moreOptions from './moreOptionsReducer';\r\n\r\nconst dailyPlanning = combineReducers({\r\n selectedDate,\r\n filters,\r\n userMessages,\r\n treatmentInstanceSorting,\r\n availableDatePeriod,\r\n schedulerMapView,\r\n clinicianPlan,\r\n autoAllocate,\r\n assignmentInfo,\r\n assignmentDistanceInfo,\r\n scheduler,\r\n assignmentDistanceMessages,\r\n moreOptions,\r\n});\r\n\r\nexport default dailyPlanning;\r\n","import { FILTERS_UPDATE, ORG_UNITS_DEFAULT_FOR_DAY_SET, LOGOUT } from '../../../actions/constants/types';\r\n\r\nconst initialFiltersState = {\r\n orgUnit: null,\r\n orgStructureDepth: 3,\r\n clinician: '',\r\n grades: [''],\r\n selectedTeam: null,\r\n orgUnitTeam: null,\r\n};\r\n\r\nfunction filters(state = initialFiltersState, action) {\r\n switch (action.type) {\r\n case FILTERS_UPDATE: {\r\n return { ...state, ...action.filter };\r\n }\r\n case ORG_UNITS_DEFAULT_FOR_DAY_SET: {\r\n return {\r\n ...state,\r\n selectedTeam: action.orgUnitId,\r\n };\r\n }\r\n case LOGOUT:\r\n return {\r\n ...state,\r\n selectedTeam: null,\r\n };\r\n default: {\r\n return state;\r\n }\r\n }\r\n}\r\n\r\nexport default filters;\r\n","export { default } from './combine';\r\nexport * from './selectors';\r\n","import { LIVE_TRACKING_UPDATE, BULK_CANCEL_ISINPROGRESS } from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n liveTracking: true,\r\n isBulkCancelInProgress: false,\r\n};\r\n\r\nfunction moreOptions(state = initialState, action) {\r\n switch (action.type) {\r\n case LIVE_TRACKING_UPDATE: {\r\n return {\r\n ...state,\r\n liveTracking: action.value,\r\n };\r\n }\r\n case BULK_CANCEL_ISINPROGRESS: {\r\n return {\r\n ...state,\r\n isBulkCancelInProgress: action.value,\r\n };\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n}\r\n\r\nexport default moreOptions;\r\n","import { SCHEDULER_MODE_VIEW_TOGGLE, SET_SCHEDULER_MODE } from '../../../actions/constants/types';\r\n\r\nconst initialState = { isNightMode: false };\r\n\r\nfunction scheduler(state = initialState, action) {\r\n switch (action.type) {\r\n case SET_SCHEDULER_MODE: {\r\n return {\r\n ...state,\r\n isNightMode: action.payload,\r\n };\r\n }\r\n case SCHEDULER_MODE_VIEW_TOGGLE: {\r\n return {\r\n ...state,\r\n isNightMode: !state.isNightMode,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default scheduler;\r\n","import { SCHEDULER_MAP_CLINICIAN_SELECT, SCHEDULER_MAP_VIEW_CHANGE } from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n mapViewState: false,\r\n selectedClinicianId: null,\r\n};\r\n\r\nfunction schedulerMapView(state = initialState, action) {\r\n switch (action.type) {\r\n case SCHEDULER_MAP_VIEW_CHANGE: {\r\n return {\r\n ...state,\r\n mapViewState: action.isMapView,\r\n };\r\n }\r\n case SCHEDULER_MAP_CLINICIAN_SELECT: {\r\n return {\r\n ...state,\r\n selectedClinicianId: action.clinicianId,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default schedulerMapView;\r\n","import { SELECTED_DATE_UPDATE } from '../../../actions/constants/types';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst initialSelectedDateState = globals.now.format(globals.dateFormats.date);\r\n\r\nfunction selectedDate(state = initialSelectedDateState, action) {\r\n switch (action.type) {\r\n case SELECTED_DATE_UPDATE: {\r\n return action.date;\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n}\r\n\r\nexport default selectedDate;\r\n","import { createSelector } from 'reselect';\r\nimport { createPrimarySelector } from '../../../utils/helpers';\r\nimport { RAG, Name, Postcode, Grade, Duration } from '../../../settings/constants/sorting';\r\n\r\nexport const selectSelectedDate = createPrimarySelector(state => state.areas.dailyPlanning.selectedDate);\r\nexport const selectSelectedTeam = createPrimarySelector(state => state.areas.dailyPlanning.filters.selectedTeam);\r\nexport const autoAllocateDate = createPrimarySelector(state => state.areas.dailyPlanning.autoAllocate.date);\r\nexport const autoAllocateOrgUnitId = createPrimarySelector(state => state.areas.dailyPlanning.autoAllocate.teamId);\r\nexport const selectCliniciansPostcodes = createPrimarySelector(\r\n state => state.entities.postings.general.clinicianBasePostcodes,\r\n);\r\n\r\nexport const selectTreatmentInstanceSorting = createPrimarySelector(\r\n state => state.areas.dailyPlanning.treatmentInstanceSorting,\r\n);\r\n\r\nexport const selectSchedulerMapView = createPrimarySelector(state => state.areas.dailyPlanning.schedulerMapView);\r\nexport const selectSchedulerIsNightMode = createPrimarySelector(\r\n state => state.areas.dailyPlanning.scheduler.isNightMode,\r\n);\r\n\r\nexport const selectJwtToken = createPrimarySelector(state => state.global.auth.jwtToken);\r\n\r\nexport const selectPostcodeDistance = createPrimarySelector(\r\n state => state.entities.treatmentInstances.postcodeDistance,\r\n);\r\n\r\nexport const selectTreatmentInstanceSortingIteratee = createSelector(\r\n selectTreatmentInstanceSorting,\r\n sorting => {\r\n if (!sorting) return null;\r\n switch (sorting.orderBy) {\r\n default:\r\n case RAG:\r\n return [\r\n i => i.ragStatus.value,\r\n i => i.patientFullName,\r\n i => (i.masterId ? i.masterId : i.treatmentInstanceId),\r\n i => i.isFirstChild,\r\n i => i.isLastChild,\r\n ];\r\n case Name:\r\n return [\r\n i => i.patientFullName,\r\n i => i.patientFullName,\r\n i => (i.masterId ? i.masterId : i.treatmentInstanceId),\r\n i => i.isFirstChild,\r\n i => i.isLastChild,\r\n ];\r\n case Postcode:\r\n return [\r\n i => i.address.postCode,\r\n i => i.patientFullName,\r\n i => (i.masterId ? i.masterId : i.treatmentInstanceId),\r\n i => i.isFirstChild,\r\n i => i.isLastChild,\r\n ];\r\n case Grade:\r\n return [\r\n i => i.highestGrade.equivalence,\r\n i => i.patientFullName,\r\n i => (i.masterId ? i.masterId : i.treatmentInstanceId),\r\n i => i.isFirstChild,\r\n i => i.isLastChild,\r\n ];\r\n case Duration:\r\n return [\r\n i => i.activitiesTotalDuration,\r\n i => i.patientFullName,\r\n i => (i.masterId ? i.masterId : i.treatmentInstanceId),\r\n i => i.isFirstChild,\r\n i => i.isLastChild,\r\n ];\r\n }\r\n },\r\n);\r\nexport const selectCurrentPath = createPrimarySelector(state => state.router.location.pathname);\r\n","import { TREATMENT_INSTANCE_SORTING_SET } from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n orderBy: 'RAG',\r\n orderDir: 'desc',\r\n};\r\n\r\nfunction treatmentInstanceSorting(state = initialState, action) {\r\n switch (action.type) {\r\n case TREATMENT_INSTANCE_SORTING_SET:\r\n return { ...action.sorting };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default treatmentInstanceSorting;\r\n","import {\r\n ASSIGNMENT_DELETE_FAILURE,\r\n DAILYPLANNING_ERROR_DISMISS,\r\n DAILYPLANNING_SUCCESS_DISMISS,\r\n SELECTED_DATE_UPDATE,\r\n ASSIGNMENT_CREATE_FAILURE,\r\n ASSIGNMENT_RESCHEDULE_FAILURE,\r\n POSTINGS_GET_FAILURE,\r\n TREATMENT_INSTANCES_GET_FAILURE,\r\n AUTO_ALLOCATE_FAILURE,\r\n AUTO_UNALLOCATE_FAILURE,\r\n TREATMENT_INSTANCES_BY_ASSIGNMEN_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\nimport userMessagesReducerFactory from '../../factories/userMessagesReducerFactory';\r\n\r\nconst userMessages = userMessagesReducerFactory(\r\n [\r\n TREATMENT_INSTANCES_GET_FAILURE,\r\n POSTINGS_GET_FAILURE,\r\n ASSIGNMENT_CREATE_FAILURE,\r\n ASSIGNMENT_DELETE_FAILURE,\r\n ASSIGNMENT_RESCHEDULE_FAILURE,\r\n AUTO_ALLOCATE_FAILURE,\r\n AUTO_UNALLOCATE_FAILURE,\r\n TREATMENT_INSTANCES_BY_ASSIGNMEN_GET_FAILURE,\r\n ],\r\n [],\r\n [DAILYPLANNING_ERROR_DISMISS],\r\n [DAILYPLANNING_SUCCESS_DISMISS],\r\n [SELECTED_DATE_UPDATE],\r\n);\r\n\r\nexport default userMessages;\r\n","import { combineReducers } from 'redux';\r\nimport teamAvailabilityReducer from './teamAvailabilityReducer';\r\n\r\nconst dashboard = combineReducers({\r\n teamAvailabilityReducer,\r\n});\r\n\r\nexport default dashboard;\r\n","import dashboard from './combine';\r\n\r\nexport default dashboard;\r\n","import {\r\n TEAM_AVAILABILITY_REQUEST,\r\n TEAM_AVAILABILITY_SUCCESS,\r\n TEAM_AVAILABILITY_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n isFetching: false,\r\n teamsAvailability: {},\r\n};\r\n\r\nfunction teamsAvailabilities(state = initialState, action) {\r\n switch (action.type) {\r\n case TEAM_AVAILABILITY_REQUEST: {\r\n return {\r\n ...state,\r\n isFetching: true,\r\n };\r\n }\r\n case TEAM_AVAILABILITY_SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n teamsAvailability: action.response.data,\r\n };\r\n }\r\n case TEAM_AVAILABILITY_FAILURE: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n teamsAvailability: null,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default teamsAvailabilities;\r\n","export { default } from './combine';\r\n","import { combineReducers } from 'redux';\r\nimport reportSelection from './reportSelectionReducer';\r\n\r\nconst reports = combineReducers({\r\n reportSelection,\r\n});\r\n\r\nexport default reports;\r\n","import { REPORT_TYPE_SELECT } from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n selectedReportTypeName: undefined,\r\n};\r\n\r\nfunction reportSelectionReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case REPORT_TYPE_SELECT: {\r\n return {\r\n ...state,\r\n selectedReportTypeName: action.typeName,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reportSelectionReducer;\r\n","import { combineReducers } from 'redux';\r\nimport patternDates from './patternDatesReducer';\r\n\r\nconst treatments = combineReducers({\r\n patternDates,\r\n});\r\n\r\nexport default treatments;\r\n","import {\r\n TREATMENTS_PATTERN_DATES_GET_REQUEST,\r\n TREATMENTS_PATTERN_DATES_GET_SUCCESS,\r\n TREATMENTS_PATTERN_DATES_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n isFetching: false,\r\n matchingDates: undefined,\r\n};\r\n\r\nfunction patternDatesReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case TREATMENTS_PATTERN_DATES_GET_REQUEST: {\r\n return {\r\n isFetching: true,\r\n matchingDates: undefined,\r\n };\r\n }\r\n case TREATMENTS_PATTERN_DATES_GET_SUCCESS: {\r\n return {\r\n isFetching: false,\r\n matchingDates: action.response.data.dates,\r\n };\r\n }\r\n case TREATMENTS_PATTERN_DATES_GET_FAILURE:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default patternDatesReducer;\r\n","import { combineReducers } from 'redux';\r\nimport visit from './editVisitReducer';\r\n\r\nconst visitActuals = combineReducers({\r\n visit,\r\n});\r\n\r\nexport default visitActuals;\r\n","import moment from 'moment';\r\nimport {\r\n VISIT_ACTUAL_GET_SUCCESS,\r\n VISIT_ACTUAL_UPDATE_VISIT_TIME,\r\n VISIT_ACTUAL_ADD_ACTIVITY_TIME,\r\n} from '../../../actions/constants/types';\r\nimport { parseDateUtc } from '../../../utils/dates';\r\n\r\nconst initialState = {\r\n activityTime: 0,\r\n duration: 0,\r\n};\r\n\r\nfunction getVisitDuration(value) {\r\n if (!value) {\r\n return 0;\r\n }\r\n\r\n if (!value.startAt || !value.endAt) {\r\n return 0;\r\n }\r\n\r\n const start = parseDateUtc(value.startAt);\r\n const end = parseDateUtc(value.endAt);\r\n\r\n return moment.duration(end.diff(start)).asMinutes();\r\n}\r\n\r\nfunction selectedDate(state = initialState, action) {\r\n switch (action.type) {\r\n case VISIT_ACTUAL_UPDATE_VISIT_TIME: {\r\n return {\r\n ...state,\r\n duration: action.time,\r\n };\r\n }\r\n case VISIT_ACTUAL_ADD_ACTIVITY_TIME: {\r\n return {\r\n ...state,\r\n activityTime: state.activityTime + action.time,\r\n };\r\n }\r\n case VISIT_ACTUAL_GET_SUCCESS: {\r\n const { visit } = action.response.data;\r\n return {\r\n activityTime: visit.minutes,\r\n duration: getVisitDuration(visit.actual),\r\n };\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n}\r\n\r\nexport default selectedDate;\r\n","import visitActuals from './combine';\r\n\r\nexport default visitActuals;\r\n","import { combineReducers } from 'redux';\r\nimport previewed from './previewedActivityReducer';\r\n\r\nconst activity = combineReducers({\r\n previewed,\r\n});\r\n\r\nexport default activity;\r\n","import { ACTIVITY_GET_REQUEST, ACTIVITY_GET_SUCCESS, ACTIVITY_GET_FAILURE } from '../../../actions/constants/types';\r\n\r\nconst initialPreviewedState = {\r\n isFetching: false,\r\n activity: null,\r\n};\r\n\r\nfunction previewActivity(state = initialPreviewedState, action) {\r\n switch (action.type) {\r\n case ACTIVITY_GET_REQUEST:\r\n return {\r\n ...initialPreviewedState,\r\n isFetching: true,\r\n };\r\n case ACTIVITY_GET_SUCCESS:\r\n return {\r\n isFetching: false,\r\n activity: action.response.data.activity,\r\n };\r\n case ACTIVITY_GET_FAILURE:\r\n return {\r\n isFetching: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default previewActivity;\r\n","import { combineReducers } from 'redux';\r\nimport previewed from './previewedActivityTypeReducer';\r\n\r\nconst activityType = combineReducers({\r\n previewed,\r\n});\r\n\r\nexport default activityType;\r\n","import {\r\n ACTIVITY_TYPE_GET_REQUEST,\r\n ACTIVITY_TYPE_GET_SUCCESS,\r\n ACTIVITY_TYPE_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialPreviewedState = {\r\n isFetching: false,\r\n activityType: null,\r\n};\r\n\r\nfunction previewActivityType(state = initialPreviewedState, action) {\r\n switch (action.type) {\r\n case ACTIVITY_TYPE_GET_REQUEST:\r\n return {\r\n ...initialPreviewedState,\r\n isFetching: true,\r\n };\r\n case ACTIVITY_TYPE_GET_SUCCESS:\r\n return {\r\n isFetching: false,\r\n activityType: action.response.data.activityType,\r\n };\r\n case ACTIVITY_TYPE_GET_FAILURE:\r\n return {\r\n isFetching: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default previewActivityType;\r\n","import { combineReducers } from 'redux';\r\nimport general from './generalBandsReducer';\r\n\r\nconst bands = combineReducers({\r\n general,\r\n});\r\n\r\nexport default bands;\r\n","import { normalize } from 'normalizr';\r\nimport { bandsSchema } from '../../../utils/normalizr/bandsSchema';\r\nimport {\r\n SELECTOR_OPTIONS_GET_REQUEST,\r\n SELECTOR_OPTIONS_GET_SUCCESS,\r\n SELECTOR_OPTIONS_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n isFetching: false,\r\n entities: {},\r\n};\r\n\r\nfunction general(state = initialState, action) {\r\n if (action.reduxIdentifier !== 'bands') {\r\n return state;\r\n }\r\n\r\n switch (action.type) {\r\n case SELECTOR_OPTIONS_GET_REQUEST:\r\n return {\r\n ...state,\r\n isFetching: true,\r\n };\r\n case SELECTOR_OPTIONS_GET_SUCCESS: {\r\n const normalizeResult = normalize(action.response.data.options, [bandsSchema]);\r\n return {\r\n entities: {\r\n ...normalize(action.response.data.options, [bandsSchema]).entities.bands,\r\n highestBand: normalizeResult.result.sort((a, b) => b - a)[0],\r\n },\r\n isFetching: false,\r\n };\r\n }\r\n case SELECTOR_OPTIONS_GET_FAILURE:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default general;\r\n","import { createPrimarySelector } from '../../../utils/helpers';\r\n\r\nexport const selectBands = createPrimarySelector(state => state.entities.bands.general.entities);\r\n","import { combineReducers } from 'redux';\r\nimport activities from './activities';\r\nimport activityTypes from './activityTypes';\r\nimport bands from './bands';\r\nimport orgUnits from './orgUnits';\r\nimport patients from './patients';\r\nimport postings from './postings';\r\nimport referrals from './referrals';\r\nimport timeSlots from './timeSlots';\r\nimport treatmentInstances from './treatmentInstances';\r\nimport treatments from './treatments';\r\nimport visitActuals from './visitActuals';\r\nimport settings from './settings';\r\nimport nonPatientActivityTypes from './nonPatientActivityTypes';\r\nimport nonPatientActivities from './nonPatientActivities';\r\nimport referralServices from './referralServices';\r\nimport externalProviders from './externalProviders';\r\n\r\nconst entities = combineReducers({\r\n activities,\r\n activityTypes,\r\n bands,\r\n orgUnits,\r\n patients,\r\n postings,\r\n referrals,\r\n timeSlots,\r\n treatmentInstances,\r\n treatments,\r\n visitActuals,\r\n settings,\r\n nonPatientActivityTypes,\r\n nonPatientActivities,\r\n referralServices,\r\n externalProviders,\r\n});\r\n\r\nexport default entities;\r\n","import { combineReducers } from 'redux';\r\nimport previewed from './previewedExternalProvider';\r\n\r\nconst externalProvider = combineReducers({\r\n previewed,\r\n});\r\n\r\nexport default externalProvider;\r\n","import {\r\n EXTERNAL_PROVIDER_TYPE_GET_REQUEST,\r\n EXTERNAL_PROVIDER_TYPE_GET_SUCCESS,\r\n EXTERNAL_PROVIDER_TYPE_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialPreviewedState = {\r\n isFetching: false,\r\n externalProviderType: null,\r\n};\r\n\r\nfunction previewExternapProvider(state = initialPreviewedState, action) {\r\n switch (action.type) {\r\n case EXTERNAL_PROVIDER_TYPE_GET_REQUEST:\r\n return {\r\n ...initialPreviewedState,\r\n isFetching: true,\r\n };\r\n case EXTERNAL_PROVIDER_TYPE_GET_SUCCESS:\r\n return {\r\n isFetching: false,\r\n externalProviderType: action.response.data.externalProviderType,\r\n };\r\n case EXTERNAL_PROVIDER_TYPE_GET_FAILURE:\r\n return {\r\n isFetching: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default previewExternapProvider;\r\n","import {\r\n NON_PATIENT_ACTIVITY_UPDATE_REQUEST,\r\n NON_PATIENT_ACTIVITY_UPDATE_FAILURE,\r\n NON_PATIENT_ACTIVITY_UPDATE_SUCCESS,\r\n NON_PATIENT_ACTIVITY_CREATE_REQUEST,\r\n NON_PATIENT_ACTIVITY_CREATE_SUCCESS,\r\n NON_PATIENT_ACTIVITY_CREATE_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialUpdateState = {\r\n isAssigning: false,\r\n};\r\n\r\nfunction assignNonPatientActivity(state = initialUpdateState, action) {\r\n switch (action.type) {\r\n case NON_PATIENT_ACTIVITY_UPDATE_REQUEST:\r\n case NON_PATIENT_ACTIVITY_CREATE_REQUEST:\r\n return {\r\n isAssigning: true,\r\n };\r\n case NON_PATIENT_ACTIVITY_UPDATE_FAILURE:\r\n case NON_PATIENT_ACTIVITY_UPDATE_SUCCESS:\r\n case NON_PATIENT_ACTIVITY_CREATE_SUCCESS:\r\n case NON_PATIENT_ACTIVITY_CREATE_FAILURE:\r\n return {\r\n isAssigning: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default assignNonPatientActivity;\r\n","import { combineReducers } from 'redux';\r\nimport previewed from './previewedNonPatientActivityReducer';\r\nimport npaMessages from './npaMessagesReducer';\r\nimport assigned from './assignNonPatientActivityReducer';\r\n\r\nconst nonPatientactivity = combineReducers({\r\n previewed,\r\n npaMessages,\r\n assigned,\r\n});\r\n\r\nexport default nonPatientactivity;\r\n","import {\r\n NON_PATIENT_ACTIVITY_CREATE_FAILURE,\r\n NON_PATIENT_ACTIVITY_ERROR_DISMISS,\r\n NON_PATIENT_ACTIVITY_UPDATE_FAILURE,\r\n} from '../../../actions/constants/types';\r\nimport userMessagesReducerFactory from '../../factories/userMessagesReducerFactory';\r\n\r\nconst npaMessages = userMessagesReducerFactory(\r\n [NON_PATIENT_ACTIVITY_CREATE_FAILURE, NON_PATIENT_ACTIVITY_UPDATE_FAILURE],\r\n [],\r\n [NON_PATIENT_ACTIVITY_ERROR_DISMISS],\r\n [],\r\n [],\r\n);\r\n\r\nexport default npaMessages;\r\n","import {\r\n NON_PATIENT_ACTIVITY_GET_REQUEST,\r\n NON_PATIENT_ACTIVITY_GET_SUCCESS,\r\n NON_PATIENT_ACTIVITY_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialPreviewedState = {\r\n isFetching: false,\r\n nonPatientActivity: null,\r\n};\r\n\r\nfunction previewNonPatientActivity(state = initialPreviewedState, action) {\r\n switch (action.type) {\r\n case NON_PATIENT_ACTIVITY_GET_REQUEST:\r\n return {\r\n ...initialPreviewedState,\r\n isFetching: true,\r\n };\r\n case NON_PATIENT_ACTIVITY_GET_SUCCESS:\r\n return {\r\n isFetching: false,\r\n nonPatientActivity: action.response.data.nonPatientActivity,\r\n };\r\n case NON_PATIENT_ACTIVITY_GET_FAILURE:\r\n return {\r\n isFetching: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default previewNonPatientActivity;\r\n","import { combineReducers } from 'redux';\r\nimport previewed from './previewedNonPatientActivityTypeReducer';\r\n\r\nconst nonPatientactivityType = combineReducers({\r\n previewed,\r\n});\r\n\r\nexport default nonPatientactivityType;\r\n","import {\r\n NON_PATIENT_ACTIVITY_TYPE_GET_REQUEST,\r\n NON_PATIENT_ACTIVITY_TYPE_GET_SUCCESS,\r\n NON_PATIENT_ACTIVITY_TYPE_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialPreviewedState = {\r\n isFetching: false,\r\n activityType: null,\r\n};\r\n\r\nfunction previewNonPatientActivityType(state = initialPreviewedState, action) {\r\n switch (action.type) {\r\n case NON_PATIENT_ACTIVITY_TYPE_GET_REQUEST:\r\n return {\r\n ...initialPreviewedState,\r\n isFetching: true,\r\n };\r\n case NON_PATIENT_ACTIVITY_TYPE_GET_SUCCESS:\r\n return {\r\n isFetching: false,\r\n activityType: action.response.data.activityType,\r\n };\r\n case NON_PATIENT_ACTIVITY_TYPE_GET_FAILURE:\r\n return {\r\n isFetching: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default previewNonPatientActivityType;\r\n","import { combineReducers } from 'redux';\r\nimport general from './generalOrgUnitsReducer';\r\n\r\nconst orgUnits = combineReducers({\r\n general,\r\n});\r\n\r\nexport default orgUnits;\r\n","import {\r\n ORG_UNITS_CURRENT_USER_GET_SUCCESS,\r\n ORG_UNITS_CURRENT_USER_GET_REQUEST,\r\n ORG_UNITS_CURRENT_USER_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n isFetching: false,\r\n teams: [],\r\n};\r\n\r\nfunction general(state = initialState, action) {\r\n switch (action.type) {\r\n case ORG_UNITS_CURRENT_USER_GET_REQUEST:\r\n return {\r\n ...state,\r\n isFetching: true,\r\n };\r\n case ORG_UNITS_CURRENT_USER_GET_SUCCESS:\r\n return {\r\n ...state,\r\n teams: action.response.data.options,\r\n isFetching: false,\r\n };\r\n case ORG_UNITS_CURRENT_USER_GET_FAILURE:\r\n return state;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default general;\r\n","import { combineReducers } from 'redux';\r\nimport previewed from './previewedPatientReducer';\r\n\r\nconst patients = combineReducers({\r\n previewed,\r\n});\r\n\r\nexport default patients;\r\n","import {\r\n PATIENT_GET_REQUEST,\r\n PATIENT_GET_SUCCESS,\r\n PATIENT_GET_FAILURE,\r\n PATIENT_SYNC_REQUEST,\r\n PATIENT_SYNC_SUCCESS,\r\n PATIENT_SYNC_FAILURE,\r\n PATIENT_SYNC_RESET,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialPreviewedState = {\r\n isFetching: false,\r\n patient: null,\r\n toggleReload: false,\r\n message: null,\r\n isSnackBarOpen: false,\r\n};\r\n\r\nfunction previewPatient(state = initialPreviewedState, action) {\r\n switch (action.type) {\r\n case PATIENT_GET_REQUEST:\r\n return {\r\n ...state,\r\n isFetching: true,\r\n toggleReload: false,\r\n };\r\n case PATIENT_GET_SUCCESS:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n patient: action.response.data.patient,\r\n toggleReload: false,\r\n };\r\n case PATIENT_GET_FAILURE:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n toggleReload: false,\r\n };\r\n case PATIENT_SYNC_REQUEST:\r\n return {\r\n ...state,\r\n isFetching: true,\r\n };\r\n case PATIENT_SYNC_SUCCESS:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n toggleReload: true,\r\n message: action.response.data.message,\r\n syncFailed: action.response.data.syncFailed,\r\n };\r\n case PATIENT_SYNC_FAILURE:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n isSnackBarOpen: true,\r\n };\r\n case PATIENT_SYNC_RESET: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n toggleReload: true,\r\n syncFailed: false,\r\n isSnackBarOpen: false,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default previewPatient;\r\n","import { combineReducers } from 'redux';\r\nimport general from './generalPostingsReducer';\r\nimport locations from './locationsForPostingsReducer';\r\n\r\nconst postings = combineReducers({\r\n general,\r\n locations,\r\n});\r\n\r\nexport default postings;\r\n","import { normalize } from 'normalizr';\r\nimport moment from 'moment';\r\nimport { cellLengthInMinutes as cellLength } from '../../../settings/scheduler';\r\nimport { postingSchema, assignmentSchema } from '../../../utils/normalizr/postingSchema';\r\nimport {\r\n POSTINGS_GET_REQUEST,\r\n POSTINGS_GET_SUCCESS,\r\n POSTINGS_GET_FAILURE,\r\n LOGIN_SUCCESS,\r\n TRAVEL_TIME_FOR_TREATMENT_GET_SUCCESS,\r\n TRAVEL_TIME_FOR_TREATMENT_GET_REQUEST,\r\n UPDATE_POSTINGS_SUCCESS,\r\n UPDATE_POSTINGS_AFTER_ASSIGN_SUCCESS,\r\n UPDATE_POSTINGS_AFTER_RESCHEDULE_SUCCESS,\r\n UPDATE_POSTINGS_AFTER_UNASSIGN_SUCCESS,\r\n TEAM_AVAILABILITY_GET_SUCCESS,\r\n POSTINGS_RESET_DATA,\r\n} from '../../../actions/constants/types';\r\nimport { filterResponseBySchedulerModeView } from '../../../actions/entities/postings';\r\n\r\nconst initialPostingsState = {\r\n isFetching: false,\r\n serverDateTime: '',\r\n availableTime: {},\r\n assignedTime: {},\r\n assignedTimeForAssignments: {},\r\n assignedTimeForNonPatientAssignments: {},\r\n travelTimes: {},\r\n travelTimesPostcode: null,\r\n};\r\n\r\nfunction postings(state = initialPostingsState, action) {\r\n switch (action.type) {\r\n case POSTINGS_GET_REQUEST:\r\n return { ...state, isFetching: !action.silent };\r\n case TRAVEL_TIME_FOR_TREATMENT_GET_REQUEST:\r\n return { ...state, travelTimes: {}, travelTimesPostcode: null };\r\n case TRAVEL_TIME_FOR_TREATMENT_GET_SUCCESS:\r\n return {\r\n ...state,\r\n travelTimes: action.response.data.postcodeTravelTimes.travelTimes,\r\n travelTimesPostcode: action.response.data.postcodeTravelTimes.postcode,\r\n };\r\n case POSTINGS_GET_SUCCESS: {\r\n const filteredResponse = filterResponseBySchedulerModeView(\r\n action.response,\r\n action.isNightMode,\r\n action.selectedDate,\r\n action.schedulerModeStartTime,\r\n action.schedulerModeEndTime,\r\n );\r\n const normalizeResult = normalize(filteredResponse.data.postings, [postingSchema]);\r\n const clinicianBasePostcodes = action.response.data.postings\r\n .filter(posting => posting.clinician.hasValidBasePostCode)\r\n .map(posting => posting.clinician.basePostCode);\r\n return {\r\n ...state,\r\n isFetching: false,\r\n dayStart: action.response.data.firstAvailabilityTime,\r\n dayEnd: action.response.data.lastAvailabilityTime,\r\n availableTime: action.response.data.availableTime,\r\n assignedTime: action.response.data.assignedTime,\r\n assignedTimeForAssignments: action.response.data.assignedTimeForAssignments,\r\n assignedTimeForNonPatientAssignments: action.response.data.assignedTimeForNonPatientAssignments,\r\n lastUpdated: action.receivedAt,\r\n serverDateTime: action.response.data.serverDateTime,\r\n entities: normalizeResult.entities,\r\n postingsOrder: normalizeResult.result,\r\n clinicianBasePostcodes,\r\n };\r\n }\r\n case POSTINGS_RESET_DATA: {\r\n return {\r\n ...state,\r\n serverDateTime: '',\r\n availableTime: {},\r\n assignedTime: {},\r\n assignedTimeForAssignments: {},\r\n assignedTimeForNonPatientAssignments: {},\r\n travelTimes: {},\r\n travelTimesPostcode: null,\r\n entities: {},\r\n postingsOrder: {},\r\n };\r\n }\r\n case POSTINGS_GET_FAILURE:\r\n case LOGIN_SUCCESS:\r\n return initialPostingsState;\r\n case UPDATE_POSTINGS_SUCCESS: {\r\n const res = {\r\n ...state.entities,\r\n assignments: {\r\n ...state.entities.assignments,\r\n ...normalize(action.response.data.availabilities.reduce((r, k) => r.concat(k.assignments), []), [\r\n assignmentSchema,\r\n ]).entities.assignments,\r\n },\r\n };\r\n\r\n const availabilities = { ...state.entities.availabilities };\r\n action.response.data.availabilities.forEach(availability => {\r\n const result = normalize(availability.assignments, [assignmentSchema]).entities.assignments;\r\n availabilities[availability.id].assignments = Object.keys(result).map(x => parseInt(x, 10));\r\n });\r\n Object.keys(availabilities).forEach(id => {\r\n availabilities[id].dropCellTargets = availabilities[id].dropCellTargets.map(e =>\r\n e.map(inner =>\r\n inner === action.response.data.oldAssignGuid && action.response.data.newAssignGuid !== 0\r\n ? action.response.data.newAssignGuid\r\n : inner,\r\n ),\r\n );\r\n });\r\n return { ...state, entities: { ...res, assignments: res.assignments } };\r\n }\r\n case UPDATE_POSTINGS_AFTER_ASSIGN_SUCCESS: {\r\n const res = {\r\n ...state.entities,\r\n assignments: {\r\n ...state.entities.assignments,\r\n ...normalize(action.response.data.availabilities.reduce((r, k) => r.concat(k.assignments), []), [\r\n assignmentSchema,\r\n ]).entities.assignments,\r\n },\r\n };\r\n\r\n const availabilities = { ...state.entities.availabilities };\r\n action.response.data.availabilities.forEach(availability => {\r\n const result = normalize(availability.assignments, [assignmentSchema]).entities.assignments;\r\n if (availabilities[availability.id]) {\r\n availabilities[availability.id].assignments = Object.keys(result).map(x => parseInt(x, 10));\r\n }\r\n });\r\n Object.keys(availabilities).forEach(id => {\r\n availabilities[id].dropCellTargets = availabilities[id].dropCellTargets.map(e =>\r\n e.map(inner =>\r\n inner === action.response.data.oldAssignGuid && action.response.data.newAssignGuid !== 0\r\n ? action.response.data.newAssignGuid\r\n : inner,\r\n ),\r\n );\r\n const newGuids = action.response.data.treatmentInstancesCopiesGuids;\r\n if (newGuids && newGuids.length) {\r\n const assignmentStartDate = moment(action.response.data.startDate);\r\n const availabilityStartDate = moment(availabilities[id].startDate);\r\n const availabilityEndDate = moment(availabilities[id].endDate);\r\n\r\n const isBeforeAvailabilityEnd =\r\n moment.duration(availabilityEndDate.diff(assignmentStartDate)).asMinutes() > 0;\r\n const index = moment.duration(assignmentStartDate.diff(availabilityStartDate)).asMinutes() / cellLength;\r\n\r\n if (index >= 0 && isBeforeAvailabilityEnd) {\r\n availabilities[id].dropCellTargets[index] = availabilities[id].dropCellTargets[index].concat(newGuids);\r\n }\r\n }\r\n });\r\n return { ...state, entities: { ...res, assignments: res.assignments, availabilities } };\r\n }\r\n case UPDATE_POSTINGS_AFTER_RESCHEDULE_SUCCESS: {\r\n const res = {\r\n ...state.entities,\r\n assignments: {\r\n ...state.entities.assignments,\r\n ...normalize(action.response.data.availabilities.reduce((r, k) => r.concat(k.assignments), []), [\r\n assignmentSchema,\r\n ]).entities.assignments,\r\n },\r\n };\r\n\r\n const availabilities = { ...state.entities.availabilities };\r\n action.response.data.availabilities.forEach(availability => {\r\n const currentAvailability = availabilities[availability.id];\r\n if (currentAvailability) {\r\n const result = normalize(availability.assignments, [assignmentSchema]).entities.assignments;\r\n if (result) {\r\n availabilities[availability.id].assignments = Object.keys(result).map(x => parseInt(x, 10));\r\n } else {\r\n availabilities[availability.id].assignments = Object.assign([]);\r\n }\r\n }\r\n });\r\n Object.keys(availabilities).forEach(id => {\r\n availabilities[id].dropCellTargets = availabilities[id].dropCellTargets.map(e =>\r\n e.map(inner =>\r\n inner === action.response.data.oldAssignGuid && action.response.data.newAssignGuid !== 0\r\n ? action.response.data.newAssignGuid\r\n : inner,\r\n ),\r\n );\r\n\r\n const newGuids = action.response.data.treatmentInstancesCopiesGuids;\r\n if (newGuids && newGuids.length) {\r\n const assignmentStartDate = moment(action.response.data.startDate);\r\n const oldAssignmentStartDate = moment(action.response.data.oldDate);\r\n const availabilityStartDate = moment(availabilities[id].startDate);\r\n const availabilityEndDate = moment(availabilities[id].endDate);\r\n const isBeforeAvailabilityEnd =\r\n moment.duration(availabilityEndDate.diff(assignmentStartDate)).asMinutes() > 0;\r\n\r\n const isBeforeAvailabilityOldEnd =\r\n moment.duration(availabilityEndDate.diff(oldAssignmentStartDate)).asMinutes() > 0;\r\n\r\n const assignmentOldStartDate = moment(action.response.data.oldDate);\r\n const indexRemove =\r\n moment.duration(assignmentOldStartDate.diff(availabilityStartDate)).asMinutes() / cellLength;\r\n if (indexRemove >= 0 && isBeforeAvailabilityOldEnd) {\r\n availabilities[id].dropCellTargets[indexRemove] = availabilities[id].dropCellTargets[indexRemove].filter(\r\n x => !newGuids.find(y => y === x),\r\n );\r\n }\r\n\r\n const index = moment.duration(assignmentStartDate.diff(availabilityStartDate)).asMinutes() / cellLength;\r\n if (index >= 0 && isBeforeAvailabilityEnd) {\r\n availabilities[id].dropCellTargets[index] = availabilities[id].dropCellTargets[index].concat(newGuids);\r\n }\r\n }\r\n });\r\n return { ...state, entities: { ...res, assignments: res.assignments, availabilities } };\r\n }\r\n case UPDATE_POSTINGS_AFTER_UNASSIGN_SUCCESS: {\r\n const res = {\r\n ...state.entities,\r\n assignments: {\r\n ...state.entities.assignments,\r\n ...normalize(action.response.data.availabilities.reduce((r, k) => r.concat(k.assignments), []), [\r\n assignmentSchema,\r\n ]).entities.assignments,\r\n },\r\n };\r\n\r\n const availabilities = { ...state.entities.availabilities };\r\n action.response.data.availabilities.forEach(availability => {\r\n const currentAvailability = availabilities[availability.id];\r\n if (currentAvailability) {\r\n const result = normalize(availability.assignments, [assignmentSchema]).entities.assignments;\r\n if (result) {\r\n currentAvailability.assignments = Object.keys(result).map(x => parseInt(x, 10));\r\n } else {\r\n currentAvailability.assignments = Object.assign([]);\r\n }\r\n }\r\n });\r\n Object.keys(availabilities).forEach(id => {\r\n availabilities[id].dropCellTargets = availabilities[id].dropCellTargets.map(e =>\r\n e.map(inner =>\r\n inner === action.response.data.oldAssignGuid && action.response.data.newAssignGuid !== 0\r\n ? action.response.data.newAssignGuid\r\n : inner,\r\n ),\r\n );\r\n const newGuids = action.response.data.treatmentInstancesCopiesGuids;\r\n if (newGuids && newGuids.length) {\r\n const oldAssignmentStartDate = moment(action.response.data.oldDate);\r\n const availabilityStartDate = moment(availabilities[id].startDate);\r\n const availabilityEndDate = moment(availabilities[id].endDate);\r\n const isBeforeAvailabilityOldEnd =\r\n moment.duration(availabilityEndDate.diff(oldAssignmentStartDate)).asMinutes() > 0;\r\n\r\n const assignmentOldStartDate = moment(action.response.data.oldDate);\r\n const indexRemove =\r\n moment.duration(assignmentOldStartDate.diff(availabilityStartDate)).asMinutes() / cellLength;\r\n if (indexRemove >= 0 && isBeforeAvailabilityOldEnd) {\r\n availabilities[id].dropCellTargets[indexRemove] = availabilities[id].dropCellTargets[indexRemove].filter(\r\n x => !newGuids.find(y => y === x),\r\n );\r\n }\r\n }\r\n });\r\n return { ...state, entities: { ...res, assignments: res.assignments, availabilities } };\r\n }\r\n case TEAM_AVAILABILITY_GET_SUCCESS: {\r\n return {\r\n ...state,\r\n availableTime: action.response.data.availableTime,\r\n assignedTime: action.response.data.assignedTime,\r\n assignedTimeForAssignments: action.response.data.assignedTimeForAssignments,\r\n assignedTimeForNonPatientAssignments: action.response.data.assignedTimeForNonPatientAssignments,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default postings;\r\n","import {\r\n LOCATIONSFORPOSTINGS_GET_REQUEST,\r\n LOCATIONSFORPOSTINGS_GET_SUCCESS,\r\n LOCATIONSFORPOSTINGS_GET_FAILURE,\r\n LOGIN_SUCCESS,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n isFetching: false,\r\n serverDateTime: '',\r\n items: [],\r\n};\r\n\r\nfunction locationsForPostings(state = initialState, action) {\r\n switch (action.type) {\r\n case LOCATIONSFORPOSTINGS_GET_REQUEST:\r\n return { ...state, isFetching: true };\r\n case LOCATIONSFORPOSTINGS_GET_SUCCESS:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.response.data.postings,\r\n lastUpdated: action.receivedAt,\r\n serverDateTime: action.response.data.serverDateTime,\r\n };\r\n case LOCATIONSFORPOSTINGS_GET_FAILURE:\r\n case LOGIN_SUCCESS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default locationsForPostings;\r\n","import { createSelector } from 'reselect';\r\nimport { denormalize } from 'normalizr';\r\nimport _ from '../../../utils/lodash';\r\nimport { postingSchema } from '../../../utils/normalizr/postingSchema';\r\nimport { createPrimarySelector } from '../../../utils/helpers';\r\nimport { selectBands } from '../bands/selectors';\r\n\r\nexport const selectPostings = createPrimarySelector(state => state.entities.postings.general.entities.postings);\r\nexport const selectPostingsEntities = createPrimarySelector(state => state.entities.postings.general.entities);\r\nexport const selectPostingsOrder = createPrimarySelector(state => state.entities.postings.general.postingsOrder);\r\nexport const selectAvailabilities = createPrimarySelector(\r\n state => state.entities.postings.general.entities.availabilities,\r\n);\r\nexport const selectClinicians = createPrimarySelector(state => state.entities.postings.general.entities.clinicians);\r\nexport const selectAssignments = createPrimarySelector(state => state.entities.postings.general.entities.assignments);\r\nexport const selectTravelTimes = createPrimarySelector(state => state.entities.postings.general.travelTimes);\r\nexport const selectPostingLocations = createPrimarySelector(state => state.entities.postings.locations.items);\r\n\r\nexport const selectSortedPostingsArray = createSelector(\r\n selectPostings,\r\n selectPostingsOrder,\r\n (postings, order) => (postings && order ? order.map(postingId => postings[postingId]) : null),\r\n);\r\n\r\nexport const selectSortedPostingsWithBands = createSelector(\r\n selectSortedPostingsArray,\r\n selectBands,\r\n (postings, bands) => {\r\n if (!postings || !bands) return null;\r\n return postings.map(posting => ({\r\n ...posting,\r\n grade: bands[posting.gradeEquivalence],\r\n }));\r\n },\r\n);\r\n\r\nexport const selectPostingsWithBands = createSelector(\r\n selectPostings,\r\n selectBands,\r\n (postings, bands) => {\r\n const newPostings = {};\r\n _.entries(postings).forEach(([key, value]) => {\r\n newPostings[key] = {\r\n ...value,\r\n grade: bands[value.gradeEquivalence],\r\n };\r\n });\r\n return newPostings;\r\n },\r\n);\r\n\r\nexport const selectAssignmentsWithBands = createSelector(\r\n selectAssignments,\r\n selectBands,\r\n (assignments, bands) => {\r\n const newAssignments = {};\r\n _.entries(assignments).forEach(([key, value]) => {\r\n newAssignments[key] = {\r\n ...value,\r\n requiredGrade: bands[value.highestGradeEquivalence],\r\n };\r\n });\r\n return newAssignments;\r\n },\r\n);\r\n\r\nexport const selectAvailabilitiesByClinicianId = (clinicianId, state) => {\r\n const clinicians = selectClinicians(state);\r\n const availabilities = selectAvailabilities(state);\r\n if (clinicians && clinicians[clinicianId] && availabilities) {\r\n return clinicians[clinicianId].availabilities.map(aviId => availabilities[aviId]);\r\n }\r\n return null;\r\n};\r\n\r\nexport const selectAvailabilityById = (state, props) => {\r\n const availabilities = selectAvailabilities(state);\r\n return availabilities ? availabilities[props.availabilityId] : null;\r\n};\r\n\r\nexport const selectAssignmentById = (state, props) => {\r\n const assignments = selectAssignmentsWithBands(state);\r\n return assignments ? assignments[props.assignGuid] : null;\r\n};\r\n\r\nexport const selectAssignmentsWithTravelTime = createSelector(\r\n selectAssignmentsWithBands,\r\n selectTravelTimes,\r\n (assignments, travelTimes) => {\r\n const newAssignments = {};\r\n _.entries(assignments).forEach(([key, value]) => {\r\n newAssignments[key] = {\r\n ...value,\r\n travelTime: travelTimes[value.postcode],\r\n };\r\n });\r\n return newAssignments;\r\n },\r\n);\r\n\r\nexport const selectAssignmentsArrayByAvailabilityId = createSelector(\r\n selectAvailabilityById,\r\n selectAssignmentsWithTravelTime,\r\n (availability, assignments) => {\r\n return availability ? availability.assignments.map(assignGuid => assignments[assignGuid]) : [];\r\n },\r\n);\r\n\r\n// Used for memoization since it works on props\r\nexport const makeSortedAssignmentsArraySelector = () =>\r\n createSelector(\r\n selectAssignmentsArrayByAvailabilityId,\r\n assignments => _.sortBy(assignments, 'visualStartDate'),\r\n );\r\n\r\nexport const selectDenormalizedPostings = createSelector(\r\n selectPostingsEntities,\r\n selectPostingsWithBands,\r\n selectAssignmentsWithBands,\r\n selectPostingsOrder,\r\n (entities, postings, assignments, postingsOrder) =>\r\n denormalize(postingsOrder, [postingSchema], {\r\n ...entities,\r\n postings,\r\n assignments,\r\n }),\r\n);\r\n\r\nexport const selectPostingLocationsWithBands = createSelector(\r\n selectPostingLocations,\r\n selectBands,\r\n (postingLocations, bands) =>\r\n postingLocations.map(postingLocation => ({\r\n ...postingLocation,\r\n grade: bands[postingLocation.gradeEquivalence],\r\n })),\r\n);\r\n","import { combineReducers } from 'redux';\r\nimport referralService from './referralServicesReducer';\r\n\r\nconst referralServices = combineReducers({\r\n referralService,\r\n});\r\n\r\nexport default referralServices;\r\n","import {\r\n REFERRAL_SERVICE_CREATE_FAILURE,\r\n REFERRAL_SERVICE_UPDATE_FAILURE,\r\n REFERRAL_SERVICE_ERROR_DISMISS,\r\n} from '../../../actions/constants/types';\r\nimport userMessagesReducerFactory from '../../factories/userMessagesReducerFactory';\r\n\r\nconst referralService = userMessagesReducerFactory(\r\n [REFERRAL_SERVICE_CREATE_FAILURE, REFERRAL_SERVICE_UPDATE_FAILURE],\r\n [],\r\n [REFERRAL_SERVICE_ERROR_DISMISS],\r\n [],\r\n [],\r\n);\r\n\r\nexport default referralService;\r\n","import { combineReducers } from 'redux';\r\nimport previewed from './previewedReferralReducer';\r\n\r\nconst referrals = combineReducers({\r\n previewed,\r\n});\r\n\r\nexport default referrals;\r\n","import {\r\n REFERRAL_GET_REQUEST,\r\n REFERRAL_GET_SUCCESS,\r\n REFERRAL_GET_FAILURE,\r\n REFERRAL_GET_CLOSE_DATE_RANGE_REQUEST,\r\n REFERRAL_GET_CLOSE_DATE_RANGE_SUCCESS,\r\n REFERRAL_GET_CLOSE_DATE_RANGE_FAILURE,\r\n REFERRAL_CLOSE_REQUEST,\r\n REFERRAL_CLOSE_SUCCESS,\r\n REFERRAL_CLOSE_FAILURE,\r\n REFERRALS_SYNC_REQUEST,\r\n REFERRALS_SYNC_SUCCESS,\r\n REFERRALS_SYNC_FAILURE,\r\n REFERRALS_SYNC_RESET,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n isFetching: false,\r\n referral: undefined,\r\n isSynced: false,\r\n message: null,\r\n closeDateRange: {\r\n isFetchingDateRange: false,\r\n errorMessage: null,\r\n referralCloseDateRange: {\r\n canCloseReferral: null,\r\n minimumCloseDate: null,\r\n maximumCloseDate: null,\r\n },\r\n },\r\n};\r\n\r\nfunction referral(state = initialState, action) {\r\n switch (action.type) {\r\n case REFERRAL_GET_REQUEST:\r\n return {\r\n ...state,\r\n isFetching: true,\r\n referral: undefined,\r\n };\r\n case REFERRAL_GET_SUCCESS:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n referral: action.response.data.referral,\r\n };\r\n case REFERRAL_GET_FAILURE:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n referral: undefined,\r\n };\r\n case REFERRAL_CLOSE_REQUEST: {\r\n return {\r\n ...state,\r\n closeDateRange: {\r\n ...state.closeDateRange,\r\n isFetching: true,\r\n errorMessage: null,\r\n },\r\n };\r\n }\r\n case REFERRAL_GET_CLOSE_DATE_RANGE_REQUEST: {\r\n return {\r\n ...state,\r\n closeDateRange: {\r\n ...state.closeDateRange,\r\n isFetching: true,\r\n errorMessage: null,\r\n referralCloseDateRange: initialState.closeDateRange.referralCloseDateRange,\r\n },\r\n };\r\n }\r\n case REFERRAL_CLOSE_FAILURE: {\r\n return {\r\n ...state,\r\n closeDateRange: {\r\n ...state.closeDateRange,\r\n isFetching: false,\r\n errorMessage: action.message.translationKey,\r\n },\r\n };\r\n }\r\n case REFERRAL_CLOSE_SUCCESS: {\r\n return {\r\n ...state,\r\n closeDateRange: {\r\n ...state.closeDateRange,\r\n isFetching: false,\r\n },\r\n };\r\n }\r\n case REFERRAL_GET_CLOSE_DATE_RANGE_SUCCESS: {\r\n return {\r\n ...state,\r\n closeDateRange: {\r\n ...state.closeDateRange,\r\n isFetching: false,\r\n referralCloseDateRange: action.response.data.referralCloseDateRange,\r\n },\r\n };\r\n }\r\n case REFERRAL_GET_CLOSE_DATE_RANGE_FAILURE: {\r\n return {\r\n ...state,\r\n closeDateRange: {\r\n ...state.closeDateRange,\r\n isFetching: false,\r\n referralCloseDateRange: initialState.closeDateRange.referralCloseDateRange,\r\n },\r\n };\r\n }\r\n case REFERRALS_SYNC_REQUEST: {\r\n return {\r\n ...state,\r\n isFetching: true,\r\n isSynced: false,\r\n };\r\n }\r\n case REFERRALS_SYNC_SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n isSynced: true,\r\n message: action.response.data.message,\r\n isPatientActive: action.response.data.isPatientActive,\r\n };\r\n }\r\n case REFERRALS_SYNC_FAILURE: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n isSynced: false,\r\n };\r\n }\r\n case REFERRALS_SYNC_RESET: {\r\n return {\r\n ...state,\r\n isSynced: false,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default referral;\r\n","import { combineReducers } from 'redux';\r\nimport appSettings from './generalSettingsReducer';\r\n\r\nconst settings = combineReducers({\r\n appSettings,\r\n});\r\n\r\nexport default settings;\r\n","import { SETTINGS_GET_REQUEST, SETTINGS_GET_SUCCESS, SETTINGS_GET_FAILURE } from '../../../actions/constants/types';\r\nimport { appSettingsDefault } from '../../../propTypes/entities/appSettings';\r\n\r\nfunction settings(state = appSettingsDefault, action) {\r\n switch (action.type) {\r\n case SETTINGS_GET_REQUEST:\r\n return {\r\n ...state,\r\n };\r\n case SETTINGS_GET_SUCCESS:\r\n return {\r\n ...state,\r\n [action.response.data.settings.name]: action.response.data.settings.value,\r\n };\r\n case SETTINGS_GET_FAILURE:\r\n default:\r\n return state;\r\n }\r\n}\r\nexport default settings;\r\n","export { default } from './combine';\r\n","import { combineReducers } from 'redux';\r\nimport defaultPackage from './defaultPackageReducer';\r\n\r\nconst timeSlots = combineReducers({\r\n defaultPackage,\r\n});\r\n\r\nexport default timeSlots;\r\n","import {\r\n TIMESLOTS_DEFAULT_PACKAGE_GET_REQUEST,\r\n TIMESLOTS_DEFAULT_PACKAGE_GET_SUCCESS,\r\n TIMESLOTS_DEFAULT_PACKAGE_GET_FAILURE,\r\n TREATMENT_DETAILS_GET_REQUEST,\r\n TREATMENT_DETAILS_GET_SUCCESS,\r\n TREATMENT_DETAILS_GET_FAILURE,\r\n TIMESLOT_ADD,\r\n TIMESLOT_EDIT,\r\n TIMESLOT_DELETE,\r\n TIMESLOT_SAVE_SUCCESS,\r\n TIMESLOT_SAVE_FAILURE,\r\n TIMESLOT_SAVE_REQUEST,\r\n} from '../../../actions/constants/types';\r\nimport { getPreviousName } from '../../../utils/timeslots';\r\n\r\nconst initialPackagesState = {\r\n validationMessage: '',\r\n isFetching: false,\r\n timeSlotPackage: {\r\n timeSlots: [\r\n {\r\n from: '0001-01-01T00:00:00',\r\n to: '0001-01-01T01:00:00',\r\n startTime: '00:00:00',\r\n duration: 60,\r\n endTime: '01:00:00',\r\n isTwilight: true,\r\n name: 'A',\r\n },\r\n ],\r\n },\r\n};\r\n\r\nfunction packages(state = initialPackagesState, action) {\r\n switch (action.type) {\r\n case TIMESLOTS_DEFAULT_PACKAGE_GET_REQUEST:\r\n case TREATMENT_DETAILS_GET_REQUEST:\r\n return {\r\n ...state,\r\n isFetching: true,\r\n };\r\n case TIMESLOTS_DEFAULT_PACKAGE_GET_SUCCESS:\r\n case TREATMENT_DETAILS_GET_SUCCESS:\r\n return {\r\n isFetching: false,\r\n timeSlotPackage: action.response.data.defaultTimeSlots || initialPackagesState.timeSlotPackage,\r\n };\r\n case TIMESLOTS_DEFAULT_PACKAGE_GET_FAILURE:\r\n case TREATMENT_DETAILS_GET_FAILURE:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n };\r\n case TIMESLOT_ADD:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n timeSlotPackage: { timeSlots: [...state.timeSlotPackage.timeSlots, action.newTimeSlot] },\r\n };\r\n case TIMESLOT_EDIT:\r\n return {\r\n ...state,\r\n timeSlotPackage: {\r\n timeSlots: state.timeSlotPackage.timeSlots.map(item =>\r\n item.name === action.updatedTimeSlot.name ? action.updatedTimeSlot : item,\r\n ),\r\n },\r\n };\r\n case TIMESLOT_DELETE:\r\n return {\r\n ...state,\r\n timeSlotPackage: {\r\n timeSlots: [\r\n ...state.timeSlotPackage.timeSlots.slice(\r\n 0,\r\n state.timeSlotPackage.timeSlots.findIndex(x => x.name === action.timeSlotName),\r\n ),\r\n ...state.timeSlotPackage.timeSlots\r\n .slice(state.timeSlotPackage.timeSlots.findIndex(x => x.name === action.timeSlotName) + 1)\r\n .map(ts => ({\r\n ...ts,\r\n name: getPreviousName(ts.name),\r\n })),\r\n ],\r\n },\r\n };\r\n case TIMESLOT_SAVE_REQUEST:\r\n return {\r\n ...state,\r\n isFetching: true,\r\n };\r\n case TIMESLOT_SAVE_SUCCESS:\r\n return {\r\n ...state,\r\n validationMessage: '',\r\n isFetching: false,\r\n };\r\n case TIMESLOT_SAVE_FAILURE:\r\n return {\r\n ...state,\r\n validationMessage: action.message.translationKey,\r\n isFetching: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default packages;\r\n","import { combineReducers } from 'redux';\r\nimport general from './generalTreatmentInstancesReducer';\r\nimport previewedRescheduledInformation from './previewedRescheduledInformationReducer';\r\nimport postcodeDistance from './mileageCapReducer';\r\n\r\nconst treatmentInstances = combineReducers({\r\n general,\r\n previewedRescheduledInformation,\r\n postcodeDistance,\r\n});\r\n\r\nexport default treatmentInstances;\r\n","import {\r\n LOGIN_SUCCESS,\r\n TREATMENT_INSTANCES_GET_REQUEST,\r\n TREATMENT_INSTANCES_GET_SUCCESS,\r\n TREATMENT_INSTANCES_GET_FAILURE,\r\n REMOVE_TREATMENT_INSTANCE,\r\n TREATMENT_INSTANCES_BY_ASSIGNMEN_GET_SUCCESS,\r\n TREATMENT_INSTANCE_COPY_GET_SUCCESS,\r\n REMOVE_TREATMENT_INSTANCE_COPIES,\r\n UPDATE_TIME_LEFT_TO_ALLOCATE,\r\n REMOVE_COPY_TREATMENT_INSTANCE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialTreatmentsState = {\r\n isFetching: false,\r\n items: [],\r\n unallocatedTime: {},\r\n lastUpdated: null,\r\n};\r\n\r\nfunction treatmentInstances(state = initialTreatmentsState, action) {\r\n switch (action.type) {\r\n case TREATMENT_INSTANCES_GET_REQUEST:\r\n return { ...state, isFetching: !action.silent };\r\n case TREATMENT_INSTANCES_GET_SUCCESS:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.response.data.treatmentInstances,\r\n unallocatedTime: action.response.data.unallocatedTime,\r\n lastUpdated: action.receivedAt,\r\n };\r\n case TREATMENT_INSTANCES_GET_FAILURE:\r\n case LOGIN_SUCCESS:\r\n return initialTreatmentsState;\r\n case REMOVE_TREATMENT_INSTANCE: {\r\n const newItems = [\r\n ...state.items.filter(\r\n v =>\r\n !(\r\n v.treatmentId === action.treatmentId &&\r\n v.occurrence === action.occurrence &&\r\n v.effectiveTimeSlots.every(\r\n ts =>\r\n action.effectiveTimeSlots.map(ats => ats.from).includes(ts.from) &&\r\n action.effectiveTimeSlots.map(ats => ats.to).includes(ts.to),\r\n )\r\n ),\r\n ),\r\n ];\r\n return {\r\n ...state,\r\n items: newItems,\r\n };\r\n }\r\n case REMOVE_COPY_TREATMENT_INSTANCE:\r\n return {\r\n ...state,\r\n items: [...state.items.filter(v => v.assignGuid !== action.assignGuid)],\r\n };\r\n case TREATMENT_INSTANCES_BY_ASSIGNMEN_GET_SUCCESS: {\r\n const items = [...state.items];\r\n const treatmentInstancesMap = [...action.response.data.treatmentInstance];\r\n treatmentInstancesMap.forEach(item => {\r\n if (!items.find(v => v.assignGuid === item.assignGuid)) items.push(item);\r\n });\r\n return {\r\n ...state,\r\n items,\r\n };\r\n }\r\n case TREATMENT_INSTANCE_COPY_GET_SUCCESS: {\r\n const newCopies = action.response.data.treatmentInstance;\r\n return {\r\n ...state,\r\n items: [...state.items, ...newCopies],\r\n };\r\n }\r\n case REMOVE_TREATMENT_INSTANCE_COPIES: {\r\n return {\r\n ...state,\r\n items: [...state.items.filter(v => v.masterId !== action.masterId)],\r\n };\r\n }\r\n case UPDATE_TIME_LEFT_TO_ALLOCATE: {\r\n const times = Object.values(state.unallocatedTime);\r\n const timeInMinutes = times[0] * 60 + (times[1] - action.duration);\r\n const hours = parseInt(timeInMinutes / 60, 10);\r\n const minutes = timeInMinutes - hours * 60;\r\n const unallocatedTime = { hours, minutes };\r\n\r\n return {\r\n ...state,\r\n unallocatedTime,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default treatmentInstances;\r\n","import {\r\n POSTCODE_DISTANCE_GET_REQUEST,\r\n POSTCODE_DISTANCE_GET_SUCCESS,\r\n POSTCODE_DISTANCE_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialMileageState = {\r\n mileages: {},\r\n postcode: null,\r\n};\r\n\r\nfunction postcodeDistance(state = initialMileageState, action) {\r\n switch (action.type) {\r\n case POSTCODE_DISTANCE_GET_REQUEST:\r\n return { ...state, mileages: {}, postcode: null };\r\n case POSTCODE_DISTANCE_GET_SUCCESS:\r\n return {\r\n ...state,\r\n mileages: action.response.data.postcodeMileages.mileages,\r\n postcode: action.response.data.postcodeMileages.postcode,\r\n };\r\n case POSTCODE_DISTANCE_GET_FAILURE:\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default postcodeDistance;\r\n","import {\r\n HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_REQUEST,\r\n HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_SUCCESS,\r\n HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n isFetching: false,\r\n rescheduledInfo: null,\r\n lastUpdated: null,\r\n};\r\n\r\nfunction previewedRescheduledInfo(state = initialState, action) {\r\n switch (action.type) {\r\n case HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_REQUEST:\r\n return { ...state, isFetching: true, rescheduledInfo: null };\r\n case HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_SUCCESS:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n rescheduledInfo: action.response.data.rescheduledInformation,\r\n lastUpdated: action.receivedAt,\r\n };\r\n case HISTORIC_VISITS_GET_RESCHEDULED_INFORMATION_FAILURE:\r\n return { ...state, isFetching: true, rescheduledInfo: null };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default previewedRescheduledInfo;\r\n","import { createSelector } from 'reselect';\r\nimport { createPrimarySelector } from '../../../utils/helpers';\r\nimport { selectBands } from '../bands/selectors';\r\nimport _ from '../../../utils/lodash';\r\nimport {\r\n selectTreatmentInstanceSortingIteratee,\r\n selectTreatmentInstanceSorting,\r\n} from '../../areas/dailyPlanning/index';\r\n\r\nexport const selectTreatmentInstances = createPrimarySelector(state => state.entities.treatmentInstances.general.items);\r\n\r\nexport const selectTreatmentInstancesWithBands = createSelector(\r\n selectTreatmentInstances,\r\n selectBands,\r\n (treatmentInstances, bands) =>\r\n treatmentInstances.map(treatmentInstance => ({\r\n ...treatmentInstance,\r\n highestGrade: bands[treatmentInstance.highestGradeEquivalence],\r\n })),\r\n);\r\n\r\nexport const selectSortedTreatmentInstancesWithBands = createSelector(\r\n selectTreatmentInstancesWithBands,\r\n selectTreatmentInstanceSorting,\r\n selectTreatmentInstanceSortingIteratee,\r\n (treatmentInstances, sorting, sortingIteratee) => {\r\n const instances = treatmentInstances.slice();\r\n const masters = _.remove(instances, i => !i.masterId);\r\n // orphans = copies without master on the list\r\n const orphans = instances.filter(i => masters.every(m => m.treatmentInstanceId !== i.masterId));\r\n if (orphans.length > 0) {\r\n _.remove(instances, i => masters.every(m => m.treatmentInstanceId !== i.masterId));\r\n }\r\n const mastersWithOrphans = masters.concat(orphans);\r\n // copies - copies with master on the list / what's left after the removes\r\n const copies = instances;\r\n const orderedMastersWithOrphans = _.orderBy(mastersWithOrphans, sortingIteratee, [\r\n sorting.orderDir,\r\n 'asc',\r\n 'asc',\r\n 'desc',\r\n 'asc',\r\n ]);\r\n const orderedCopies = _.orderBy(copies, sortingIteratee, [sorting.orderDir, 'asc', 'asc', 'desc', 'asc']);\r\n const results = orderedMastersWithOrphans.reduce(\r\n (orderedItems, master) =>\r\n orderedItems.concat(\r\n master,\r\n orderedCopies.filter(i => i.masterId === master.treatmentInstanceId && i.treatmentId === master.treatmentId),\r\n ),\r\n [],\r\n );\r\n return results;\r\n },\r\n);\r\n","import { combineReducers } from 'redux';\r\nimport previewed from './previewedTreatmentReducer';\r\nimport previewedTreatment from './previewedCompletedTreatmentReducer';\r\nimport previewedImportedTreatments from './previewedImportedTreatmentsReducer';\r\n\r\nconst treatments = combineReducers({\r\n previewed,\r\n previewedTreatment,\r\n previewedImportedTreatments,\r\n});\r\n\r\nexport default treatments;\r\n","import {\r\n TREATMENT_CREATE_RETROSPECTIVE_VISIT_REQUEST,\r\n TREATMENT_CREATE_RETROSPECTIVE_VISIT_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n errorMessage: null,\r\n};\r\n\r\nfunction previewedCompletedTreatment(state = initialState, action) {\r\n switch (action.type) {\r\n case TREATMENT_CREATE_RETROSPECTIVE_VISIT_REQUEST:\r\n return {\r\n ...state,\r\n errorMessage: null,\r\n };\r\n case TREATMENT_CREATE_RETROSPECTIVE_VISIT_FAILURE:\r\n return {\r\n ...state,\r\n errorMessage: action.message.translationKey,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default previewedCompletedTreatment;\r\n","import {\r\n TREATMENTS_SYNC_REQUEST,\r\n TREATMENTS_SYNC_SUCCESS,\r\n TREATMENTS_SYNC_FAILURE,\r\n TREATMENTS_SYNC_RESET,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n areTreatmentsFetching: false,\r\n isFetchingComplete: false,\r\n messages: null,\r\n};\r\n\r\nfunction previewedImportedTreatments(state = initialState, action) {\r\n switch (action.type) {\r\n case TREATMENTS_SYNC_REQUEST:\r\n return {\r\n ...state,\r\n areTreatmentsFetching: true,\r\n isFetchingComplete: false,\r\n };\r\n case TREATMENTS_SYNC_SUCCESS:\r\n return {\r\n ...state,\r\n areTreatmentsFetching: false,\r\n isFetchingComplete: true,\r\n messages: action.response.data.messages,\r\n };\r\n case TREATMENTS_SYNC_FAILURE:\r\n return {\r\n ...state,\r\n areTreatmentsFetching: false,\r\n isFetchingComplete: true,\r\n message: action.message,\r\n };\r\n case TREATMENTS_SYNC_RESET:\r\n return {\r\n ...state,\r\n isFetchingComplete: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default previewedImportedTreatments;\r\n","import {\r\n TREATMENT_GET_REQUEST,\r\n TREATMENT_GET_SUCCESS,\r\n TREATMENT_GET_FAILURE,\r\n TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_REQUEST,\r\n TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_SUCCESS,\r\n TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_FAILURE,\r\n TREATMENT_DETAILS_GET_REQUEST,\r\n TREATMENT_DETAILS_GET_SUCCESS,\r\n TREATMENT_DETAILS_GET_FAILURE,\r\n} from '../../../actions/constants/types';\r\n\r\nconst initialState = {\r\n isFetching: false,\r\n treatment: null,\r\n futureInstances: [],\r\n hasCompletedVisitToday: false,\r\n};\r\n\r\nfunction previewedTreatment(state = initialState, action) {\r\n switch (action.type) {\r\n case TREATMENT_GET_REQUEST:\r\n return {\r\n ...state,\r\n treatment: null,\r\n isFetching: true,\r\n };\r\n case TREATMENT_GET_SUCCESS:\r\n return {\r\n ...state,\r\n treatment: action.response.data.treatment,\r\n isFetching: false,\r\n };\r\n case TREATMENT_GET_FAILURE:\r\n return {\r\n ...state,\r\n treatment: null,\r\n isFetching: false,\r\n };\r\n case TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_REQUEST:\r\n return {\r\n ...state,\r\n isFetching: true,\r\n };\r\n case TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_SUCCESS:\r\n return {\r\n ...state,\r\n futureInstances: action.response.data.futureAssignedTreatmentInstances,\r\n hasCompletedVisitToday: action.response.data.hasCompletedVisitToday,\r\n isFetching: false,\r\n };\r\n case TREATMENT_FUTURE_ASSIGNED_INSTANCES_GET_FAILURE:\r\n return {\r\n ...state,\r\n futureInstances: null,\r\n hasCompletedVisitToday: false,\r\n isFetching: false,\r\n };\r\n case TREATMENT_DETAILS_GET_SUCCESS:\r\n return {\r\n ...state,\r\n futureInstances: action.response.data.futureAssignedTreatmentInstances,\r\n treatment: action.response.data.treatment,\r\n isFetching: false,\r\n };\r\n case TREATMENT_DETAILS_GET_FAILURE:\r\n return {\r\n ...state,\r\n treatment: null,\r\n futureInstances: null,\r\n isFetching: false,\r\n };\r\n case TREATMENT_DETAILS_GET_REQUEST:\r\n return {\r\n ...state,\r\n isFetching: true,\r\n treatment: null,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default previewedTreatment;\r\n","import { combineReducers } from 'redux';\r\nimport previewed from './previewedVisitActualReducer';\r\n\r\nconst visitActual = combineReducers({\r\n previewed,\r\n});\r\n\r\nexport default visitActual;\r\n","import {\r\n VISIT_ACTUAL_GET_REQUEST,\r\n VISIT_ACTUAL_GET_SUCCESS,\r\n VISIT_ACTUAL_GET_FAILURE,\r\n VISIT_ACTUAL_UPDATE_FAILURE,\r\n VISIT_ACTUAL_UPDATE_REQUEST,\r\n VISIT_ACTUAL_ERROR_DISMISS,\r\n} from '../../../actions/constants/types';\r\nimport globals from '../../../globals/communityGlobals';\r\n\r\nconst locale = globals.getAreas(['visitActuals', 'error']);\r\n\r\nconst initialPreviewedState = {\r\n isFetching: false,\r\n visitActual: null,\r\n};\r\n\r\nfunction updateErrror(state, action) {\r\n const { translationKey, parameters } = action.message;\r\n\r\n return {\r\n ...state,\r\n isFetching: false,\r\n failureMessage: locale.getMsg(translationKey, parameters),\r\n };\r\n}\r\n\r\nfunction previewVisitActual(state = initialPreviewedState, action) {\r\n switch (action.type) {\r\n case VISIT_ACTUAL_GET_REQUEST:\r\n return {\r\n ...initialPreviewedState,\r\n failureMessage: '',\r\n isFetching: true,\r\n };\r\n case VISIT_ACTUAL_GET_SUCCESS:\r\n return {\r\n isFetching: false,\r\n visitActual: action.response.data.visit,\r\n patient: action.response.data.patient,\r\n };\r\n case VISIT_ACTUAL_GET_FAILURE:\r\n return {\r\n isFetching: false,\r\n };\r\n case VISIT_ACTUAL_UPDATE_FAILURE:\r\n return updateErrror(state, action);\r\n case VISIT_ACTUAL_UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n failureMessage: '',\r\n };\r\n case VISIT_ACTUAL_ERROR_DISMISS:\r\n return {\r\n ...state,\r\n failureMessage: '',\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default previewVisitActual;\r\n","import globals from '../../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('error');\r\n\r\n// A factory to create reducers for user messages.\r\n// errorCases: which actions should be displayed as errors to the user\r\n// successCases: which actions should be displayed as success messages to the user\r\n// resetErrorCases: which actions should clear error messages\r\n// resetSuccessCases: which actions should clear success messages\r\n// resetCases: which actions should clear both success and error messages\r\nconst userMessagesReducerFactory = (errorCases, successCases, resetErrorCases, resetSuccessCases, resetCases) => {\r\n const initialState = { failure: '', success: '' };\r\n return (state = initialState, action) => {\r\n if (errorCases.includes(action.type)) {\r\n const { translationKey, parameters } = action.message;\r\n return {\r\n ...state,\r\n failure: `${locale.getMsg(translationKey, parameters)}\\n`,\r\n };\r\n } else if (successCases.includes(action.type)) {\r\n return {\r\n ...state,\r\n success: `${state.success + locale.getMsg(action.message)}\\n`,\r\n };\r\n } else if (resetErrorCases.includes(action.type)) {\r\n return {\r\n ...state,\r\n failure: '',\r\n };\r\n } else if (resetSuccessCases.includes(action.type)) {\r\n return {\r\n ...state,\r\n success: '',\r\n };\r\n } else if (resetCases.includes(action.type)) {\r\n return initialState;\r\n }\r\n return state;\r\n };\r\n};\r\n\r\nexport default userMessagesReducerFactory;\r\n","import { REHYDRATE } from 'redux-persist/constants';\r\nimport {\r\n AUTHORIZED,\r\n LOGIN_SUCCESS,\r\n LOGIN_REFRESH,\r\n LOGIN_FAILURE,\r\n LOGIN_PROFILE,\r\n LOGIN_START,\r\n LOGOUT,\r\n NO_USER,\r\n LOGIN_SILENT,\r\n} from '../../actions/constants/types';\r\n\r\nconst initialAuthState = {\r\n failure: null,\r\n success: null,\r\n loginName: null,\r\n displayName: null,\r\n notAuthorized: false,\r\n isAuthenticated: false,\r\n isLoadingUser: false,\r\n isFetching: false,\r\n jwtToken: null,\r\n featureAccessList: [],\r\n defaultOrgUnitId: null,\r\n orgUnitIds: [],\r\n isExpired: false,\r\n clinicianId: [],\r\n tid: null,\r\n externalProviderType: null,\r\n};\r\n\r\nfunction auth(state = initialAuthState, action) {\r\n const { failure = null, success = null } = action;\r\n switch (action.type) {\r\n case REHYDRATE: {\r\n const incoming = action.payload.global ? action.payload.global.auth : null;\r\n if (incoming) return { ...state, ...initialAuthState, ...incoming };\r\n return state;\r\n }\r\n case NO_USER:\r\n return {\r\n ...initialAuthState,\r\n isExpired: true,\r\n jwtToken: null,\r\n };\r\n case LOGIN_START:\r\n return {\r\n ...state,\r\n failure,\r\n success,\r\n isFetching: true,\r\n };\r\n case AUTHORIZED:\r\n return {\r\n ...state,\r\n displayName: action.user.name,\r\n loginName: action.user.email,\r\n failure,\r\n success,\r\n isFetching: true,\r\n };\r\n case LOGIN_SILENT:\r\n return {\r\n ...state,\r\n isLoadingUser: true,\r\n };\r\n case LOGIN_PROFILE:\r\n return {\r\n ...state,\r\n isFetching: true,\r\n };\r\n case LOGIN_REFRESH:\r\n case LOGIN_SUCCESS:\r\n return {\r\n ...state,\r\n ...initialAuthState,\r\n displayName: action.response.displayName,\r\n defaultOrgUnitId: action.response.defaultOrgUnitId,\r\n orgUnitIds: action.response.orgUnitIds,\r\n isAuthenticated: true,\r\n isFetching: false,\r\n isLoadingUser: false,\r\n notAuthorized: false,\r\n jwtToken: action.response.token,\r\n featureAccessList: action.response.featureAccessList,\r\n clinicianId: action.response.clinicianId,\r\n settings: action.response.settings,\r\n tid: action.response.tid,\r\n externalProviderType: action.response.externalProviderType,\r\n tenantCode: action.response.tenantCode,\r\n failure,\r\n success,\r\n };\r\n case LOGIN_FAILURE:\r\n return {\r\n ...state,\r\n ...initialAuthState,\r\n isFetching: false,\r\n isLoadingUser: false,\r\n notAuthorized: true,\r\n failure: action.message,\r\n };\r\n case LOGOUT:\r\n return {\r\n ...state,\r\n ...initialAuthState,\r\n failure,\r\n success,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default auth;\r\n","import { combineReducers } from 'redux';\r\nimport { reducer as oidc } from 'redux-oidc';\r\nimport auth from './authReducer';\r\nimport errors from './errorsReducer';\r\nimport gridFilters from './gridFiltersReducer';\r\n\r\nconst uiElements = combineReducers({\r\n auth,\r\n oidc,\r\n errors,\r\n gridFilters,\r\n});\r\n\r\nexport default uiElements;\r\n","import { GLOBAL_ERROR_DISMISS } from '../../actions/constants/types';\r\nimport { globalErrorList, perErrorConfiguration, defaultConfig } from '../../settings/errorSettings';\r\n\r\nconst initialState = {\r\n lastError: {\r\n errorShown: true,\r\n },\r\n};\r\n\r\nfunction errorsReducer(state = initialState, action) {\r\n if (globalErrorList.includes(action.type)) {\r\n const specificConfig = perErrorConfiguration[action.type] || {};\r\n const errorConfig = { ...defaultConfig, ...specificConfig };\r\n const { message, status } = action;\r\n return {\r\n lastError: {\r\n message,\r\n status,\r\n timeStamp: Date.now().toString(),\r\n ...errorConfig,\r\n errorShown: false,\r\n },\r\n };\r\n } else if (action.type === GLOBAL_ERROR_DISMISS) {\r\n return {\r\n // Leave the error data so it doesn't change what's animated in the snackbar\r\n lastError: {\r\n ...state.lastError,\r\n errorShown: true,\r\n },\r\n };\r\n }\r\n return state;\r\n}\r\n\r\nexport default errorsReducer;\r\n","import { GRID_FILTERS_ADD, GRID_FILTERS_UPDATE, GRID_FILTERS_CLEAR } from '../../actions/constants/types';\r\nimport { GridFilterPages } from '../../enums/gridFilterPages';\r\nimport globals from '../../globals/communityGlobals';\r\n\r\nconst defaultVisitActualsFilters = {\r\n selectedTeams: [],\r\n selectedClinician: null,\r\n dateFrom: globals.now,\r\n dateTo: globals.now,\r\n nhsNumber: null,\r\n filtersRestrictions: {\r\n maxRangeInMonths: 3,\r\n },\r\n};\r\n\r\nconst initialFiltersState = {\r\n items: [\r\n {\r\n key: GridFilterPages.VisitActuals,\r\n filters: defaultVisitActualsFilters,\r\n },\r\n ],\r\n};\r\n\r\nfunction gridFilters(state = initialFiltersState, action) {\r\n switch (action.type) {\r\n case GRID_FILTERS_ADD: {\r\n return {\r\n ...state,\r\n items: [...state.items, [{ [action.state.key]: action.state.filters }]],\r\n };\r\n }\r\n case GRID_FILTERS_UPDATE: {\r\n const index = state.items.findIndex(item => item.key === action.state.key);\r\n\r\n const newArray = [...state.items];\r\n newArray[index].filters = action.state.filters;\r\n\r\n return {\r\n ...state,\r\n items: newArray,\r\n };\r\n }\r\n case GRID_FILTERS_CLEAR: {\r\n const index = state.items.findIndex(item => item.key === action.state.key);\r\n\r\n const newArray = [...state.items];\r\n newArray[index].filters = defaultVisitActualsFilters;\r\n\r\n return {\r\n ...state,\r\n items: newArray,\r\n };\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n}\r\n\r\nexport default gridFilters;\r\n","import { combineReducers } from 'redux';\r\nimport dialogs from './dialogsReducer';\r\nimport selectors from './selectorsReducer';\r\nimport tables from './tablesReducer';\r\n\r\nconst uiElements = combineReducers({\r\n selectors,\r\n tables,\r\n dialogs,\r\n});\r\n\r\nexport default uiElements;\r\n","import { DIALOG_HIDE, DIALOG_SHOW } from '../../actions/constants/types';\r\n\r\nfunction dialogsReducer(state = {}, action) {\r\n switch (action.type) {\r\n case DIALOG_SHOW:\r\n return {\r\n ...state,\r\n [action.identifier]: {\r\n isVisible: true,\r\n },\r\n };\r\n case DIALOG_HIDE:\r\n return {\r\n ...state,\r\n [action.identifier]: {\r\n isVisible: false,\r\n },\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default dialogsReducer;\r\n","function getTableSearchParams(identifier) {\r\n return state => state.uiElements.tables[identifier].searchParams;\r\n}\r\n\r\nexport { getTableSearchParams };\r\n","import {\r\n SELECTOR_OPTIONS_GET_REQUEST,\r\n SELECTOR_OPTIONS_GET_SUCCESS,\r\n SELECTOR_OPTIONS_GET_FAILURE,\r\n} from '../../actions/constants/types';\r\n\r\nfunction selectorReducer(state = {}, action) {\r\n switch (action.type) {\r\n case SELECTOR_OPTIONS_GET_REQUEST:\r\n return {\r\n ...state,\r\n [action.reduxIdentifier]: {\r\n isFetching: true,\r\n options: [],\r\n },\r\n };\r\n case SELECTOR_OPTIONS_GET_SUCCESS:\r\n return {\r\n ...state,\r\n [action.reduxIdentifier]: {\r\n isFetching: false,\r\n options: action.response.data.options,\r\n },\r\n };\r\n case SELECTOR_OPTIONS_GET_FAILURE:\r\n return {\r\n ...state,\r\n [action.reduxIdentifier]: {\r\n isFetching: false,\r\n options: [],\r\n },\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default selectorReducer;\r\n","import {\r\n TABLE_DATA_GET_REQUEST,\r\n TABLE_DATA_GET_SUCCESS,\r\n TABLE_DATA_GET_FAILURE,\r\n LOGIN_SUCCESS,\r\n TABLE_SEARCH_PARAMS_CLEAR,\r\n TABLE_SEARCH_PARAMS_UPDATE,\r\n} from '../../actions/constants/types';\r\n\r\nexport const initialSearchResultsState = {\r\n isFetching: false,\r\n items: [],\r\n pages: 0,\r\n};\r\n\r\nfunction tableReducer(state = {}, action) {\r\n switch (action.type) {\r\n case TABLE_DATA_GET_REQUEST: {\r\n const searchResults =\r\n state[action.reduxIdentifier] && state[action.reduxIdentifier].searchResults\r\n ? {\r\n ...state[action.reduxIdentifier].searchResults,\r\n isFetching: true,\r\n }\r\n : {\r\n ...initialSearchResultsState,\r\n isFetching: true,\r\n };\r\n const previousTableState = state[action.reduxIdentifier]\r\n ? {\r\n ...state[action.reduxIdentifier],\r\n }\r\n : {};\r\n return {\r\n ...state,\r\n [action.reduxIdentifier]: {\r\n ...previousTableState,\r\n searchResults,\r\n },\r\n };\r\n }\r\n case TABLE_DATA_GET_SUCCESS: {\r\n const previousTableState = state[action.reduxIdentifier]\r\n ? {\r\n ...state[action.reduxIdentifier],\r\n }\r\n : {};\r\n return {\r\n ...state,\r\n [action.reduxIdentifier]: {\r\n ...previousTableState,\r\n searchResults: {\r\n isFetching: false,\r\n items: action.response.data[action.responseObjectName ? action.responseObjectName : action.reduxIdentifier],\r\n pages: action.response.data.pages,\r\n },\r\n },\r\n };\r\n }\r\n case TABLE_SEARCH_PARAMS_CLEAR:\r\n case TABLE_DATA_GET_FAILURE: {\r\n const previousTableState = state[action.reduxIdentifier]\r\n ? {\r\n ...state[action.reduxIdentifier],\r\n }\r\n : {};\r\n return {\r\n ...state,\r\n [action.reduxIdentifier]: {\r\n ...previousTableState,\r\n searchResults: initialSearchResultsState,\r\n searchParams: action.initialSearchParams,\r\n },\r\n };\r\n }\r\n case TABLE_SEARCH_PARAMS_UPDATE: {\r\n const previousTableState = state[action.reduxIdentifier]\r\n ? {\r\n ...state[action.reduxIdentifier],\r\n }\r\n : {};\r\n const searchParams =\r\n state[action.reduxIdentifier] && state[action.reduxIdentifier].searchParams\r\n ? {\r\n ...action.initialSearchParams,\r\n ...state[action.reduxIdentifier].searchParams,\r\n ...action.params,\r\n }\r\n : {\r\n ...action.initialSearchParams,\r\n ...action.params,\r\n };\r\n return {\r\n ...state,\r\n [action.reduxIdentifier]: {\r\n ...previousTableState,\r\n searchParams,\r\n },\r\n };\r\n }\r\n case LOGIN_SUCCESS:\r\n return {};\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default tableReducer;\r\n","import { HTTP_METHOD } from '../actions/constants/methods';\r\nimport axios from '../utils/axios';\r\nimport globals from '../globals/communityGlobals';\r\nimport { logoutAndRedirect } from '../actions/global/auth';\r\nimport { authorisationExpiredAction, createAPIErrorHandler } from './errorHandling';\r\n\r\nconst apiUrl = globals.urls.apiUrl;\r\n\r\nconst mapAxiosObject = (url, method, data, isCommand, auth, overrideApiUrl) => {\r\n const timestampPrefix = url.search('\\\\?') >= 0 ? '&' : '?';\r\n const isAuthObject = typeof auth === 'object' && auth !== null;\r\n return axios({\r\n baseURL: overrideApiUrl || apiUrl,\r\n method,\r\n url: isCommand ? url : `${url + timestampPrefix}tid=${isAuthObject ? auth.tid : '0'}&v=${Date.now().toString()}`,\r\n data: isCommand && !data ? {} : data,\r\n headers: {\r\n Authorization: `Bearer ${isAuthObject ? auth.jwtToken : auth}`,\r\n },\r\n });\r\n};\r\n\r\nfunction callAPIMiddleware({ dispatch, getState }) {\r\n return next => action => {\r\n if (action.error) {\r\n // Catches unexpected errors\r\n // eslint-disable-next-line no-console\r\n console.error(action.error);\r\n }\r\n const currentState = getState();\r\n const { types, buildCallParameters, shouldCallAPI = () => true, ...rest } = action;\r\n\r\n if (!types) {\r\n return next(action);\r\n }\r\n if (!Array.isArray(types) || types.length !== 3 || !types.every(type => typeof type === 'string')) {\r\n throw new Error('Expected an array of three string types.');\r\n }\r\n\r\n if (!currentState.global.auth.jwtToken) {\r\n return dispatch(logoutAndRedirect());\r\n }\r\n\r\n if (typeof buildCallParameters !== 'function') {\r\n throw new Error('Expected buildCallParameters to be a function.');\r\n }\r\n\r\n const [requestType, successType, failureType] = types;\r\n\r\n if (!shouldCallAPI(currentState)) {\r\n return false;\r\n }\r\n\r\n dispatch({\r\n type: requestType,\r\n ...rest,\r\n });\r\n\r\n const { method, path: url, data, overrideApiUrl } = buildCallParameters(currentState);\r\n const isCommand = method.toUpperCase() === HTTP_METHOD.POST;\r\n\r\n const apiErrorHandler = createAPIErrorHandler({\r\n unauthorized: () => dispatch(authorisationExpiredAction),\r\n other: error =>\r\n dispatch({\r\n status: error.response ? error.response.status : null,\r\n message: error.response ? error.response.data || error.response.statusText : error.message,\r\n type: failureType,\r\n ...rest,\r\n }),\r\n });\r\n\r\n return mapAxiosObject(url, method, data, isCommand, currentState.global.auth, overrideApiUrl)\r\n .then(response =>\r\n dispatch({\r\n response,\r\n receivedAt: Date.now(),\r\n type: successType,\r\n ...rest,\r\n }),\r\n )\r\n .catch(apiErrorHandler);\r\n };\r\n}\r\n\r\nfunction callAPIMiddlewarePromise(action, dispatch, getState) {\r\n if (action.error) {\r\n // Catches unexpected errors\r\n // eslint-disable-next-line no-console\r\n console.error(action.error);\r\n }\r\n const currentState = getState();\r\n const { types, buildCallParameters, shouldCallAPI = () => true, ...rest } = action;\r\n\r\n if (!currentState.global.auth.jwtToken) {\r\n return dispatch(logoutAndRedirect());\r\n }\r\n\r\n if (typeof buildCallParameters !== 'function') {\r\n throw new Error('Expected buildCallParameters to be a function.');\r\n }\r\n\r\n const [requestType] = types;\r\n\r\n if (!shouldCallAPI(currentState)) {\r\n return false;\r\n }\r\n\r\n dispatch({\r\n type: requestType,\r\n ...rest,\r\n });\r\n\r\n const { method, path: url, data, overrideApiUrl } = buildCallParameters(currentState);\r\n const isCommand = method.toUpperCase() === HTTP_METHOD.POST;\r\n\r\n return mapAxiosObject(url, method, data, isCommand, currentState.global.auth, overrideApiUrl);\r\n}\r\n\r\nfunction callAxios(auth, url, method, data, overrideApiUrl) {\r\n // eslint-disable-next-line no-param-reassign\r\n method = method || HTTP_METHOD.GET;\r\n const isCommand = method.toUpperCase() === HTTP_METHOD.POST;\r\n\r\n return mapAxiosObject(url, method, data, isCommand, auth, overrideApiUrl);\r\n}\r\n\r\nexport { callAPIMiddleware, callAPIMiddlewarePromise, callAxios };\r\n","import { UNAUTHORIZED } from 'http-status-codes';\r\nimport { logoutAndRedirect } from '../actions/global/auth';\r\nimport globals from '../globals/communityGlobals';\r\n\r\nconst locale = globals.getArea('accountLogin');\r\nconst errorMessages = globals.getArea('error');\r\n\r\nexport const authorisationExpiredAction = logoutAndRedirect({ failure: locale.getMsg('authorisationExpired') });\r\n\r\nexport function createAPIErrorHandler(dispatchers) {\r\n return error => {\r\n if (error.response && error.response.status === UNAUTHORIZED) {\r\n dispatchers.unauthorized();\r\n } else if (dispatchers.other && error.message.localeCompare(errorMessages.getMsg('cancelDuplicateRequest')) !== 0) {\r\n dispatchers.other(error);\r\n throw new Error(error);\r\n }\r\n };\r\n}\r\n","import { UNAUTHORIZED } from 'http-status-codes';\r\nimport { USER_FOUND, USER_EXPIRED } from 'redux-oidc';\r\nimport {\r\n AUTHORIZED,\r\n LOGIN_PROFILE,\r\n LOGIN_SUCCESS,\r\n LOGIN_REFRESH,\r\n LOGIN_FAILURE,\r\n NO_USER,\r\n SELECTED_DATE_UPDATE,\r\n OIDC_SESSION_TERMINATED,\r\n} from '../actions/constants/types';\r\nimport axios from '../utils/axios';\r\nimport globals from '../globals/communityGlobals';\r\nimport { parseDateUtc } from '../utils/dates';\r\n\r\nconst locale = globals.getArea('accountLogin');\r\n\r\nfunction loginErrorHandling(errorResponse) {\r\n let error = '';\r\n if (errorResponse.response) {\r\n if (errorResponse.response.status === UNAUTHORIZED) {\r\n const { translationKey } = errorResponse.response.data || { translationKey: '' };\r\n if (translationKey && translationKey !== '') {\r\n error = locale.getMsg(translationKey);\r\n } else {\r\n error = locale.getMsg('unauthorized');\r\n }\r\n } else {\r\n error = `${errorResponse.response.status}: ${errorResponse.message}.`;\r\n }\r\n } else if (errorResponse.request) {\r\n error = locale.getMsg('noErrorResponse');\r\n } else {\r\n error = locale.getMsg('errorLabel', [errorResponse.message]);\r\n }\r\n return error;\r\n}\r\n\r\nfunction profileMiddleware({ dispatch, getState }) {\r\n return next => async action => {\r\n if (action.type === OIDC_SESSION_TERMINATED) {\r\n const date = parseDateUtc(globals.now).format(globals.dateFormats.date);\r\n await dispatch({\r\n type: SELECTED_DATE_UPDATE,\r\n date,\r\n });\r\n }\r\n if (action.type === USER_EXPIRED) {\r\n await dispatch({\r\n type: NO_USER,\r\n });\r\n }\r\n if (action.type === USER_FOUND) {\r\n const currentState = getState();\r\n\r\n if (currentState.global.auth.isFetching) {\r\n return next(action);\r\n }\r\n\r\n const { payload } = action;\r\n const { profile } = payload;\r\n const isRefreshing = currentState.global.auth.isAuthenticated;\r\n const user = {\r\n email: profile.email,\r\n name: `${profile.given_name} ${profile.family_name}`,\r\n };\r\n\r\n if (!isRefreshing) {\r\n await dispatch({\r\n type: AUTHORIZED,\r\n user,\r\n });\r\n }\r\n\r\n try {\r\n await dispatch({\r\n type: LOGIN_PROFILE,\r\n });\r\n\r\n const token = `${payload.token_type} ${payload.access_token}`;\r\n const response = await axios({\r\n url: 'Account/Profile',\r\n headers: {\r\n Authorization: token,\r\n },\r\n });\r\n\r\n const data = response.data;\r\n data.token = payload.access_token;\r\n\r\n await dispatch({\r\n response: data,\r\n type: isRefreshing ? LOGIN_REFRESH : LOGIN_SUCCESS,\r\n });\r\n } catch (error) {\r\n dispatch({\r\n message: loginErrorHandling(error),\r\n type: LOGIN_FAILURE,\r\n });\r\n }\r\n }\r\n return next(action);\r\n };\r\n}\r\n\r\nexport default profileMiddleware;\r\n","const CREATE = 'CREATE';\r\nconst EDIT = 'EDIT';\r\nconst DELETE = 'DELETE';\r\n\r\nconst actionTypes = {\r\n CREATE,\r\n EDIT,\r\n DELETE,\r\n};\r\n\r\nexport default actionTypes;\r\n","export const maxDuration = 1440;\r\n","export const RAGSTATUS_AMBER_FROMINTERVAL = 'RagStatusAmberFromInterval';\r\nexport const RAGSTATUS_RED_FROMINTERVAL = 'RagStatusRedFromInterval';\r\n\r\nexport const RAGSTATUS_AMBER_FROMINTERVAL_DEFAULT = '0.25';\r\nexport const RAGSTATUS_RED_FROMINTERVAL_DEFAULT = '0.75';\r\n\r\nexport const OVERRIDE_CLINICIANS_COUNT = 7;\r\n\r\nexport const SCHEDULER_DAYMODE_STARTTIME = 'SchedulerDayModeStartTime';\r\nexport const SCHEDULER_NIGHTMODE_STARTTIME = 'SchedulerNightModeStartTime';\r\n\r\nexport const ENABLE_MILEAGE_CAP = 'EnableMileageCap';\r\nexport const ENABLE_MILEAGE_CAP_DEFAULT = false;\r\n\r\nexport const ENABLE_RECORDING_OF_WEEKLY_REQUESTED_DAYS = 'EnableRecordingOfWeeklyRequestedDays';\r\n\r\nexport const ENABLE_SETTING_PATIENTS_AS_INACTIVE = 'EnableSettingPatientsAsInactive';\r\n\r\nexport const ENABLE_SENDING_REQUEST_LOGS_TO_RIO = 'EnableSendingRequestLogsToRio';\r\n\r\nexport const ENABLE_MAPPING_OF_TEAMS = 'EnableMappingOfTeams';\r\n","const autoAllocationStatuses = {\r\n IDLE: 'Idle',\r\n RUNNING: 'Running',\r\n LOOKINGFORVALIDPROPOSALS: 'LookingForValidProposals',\r\n LOOKINGFORPOSTINGS: 'LookingForPostings',\r\n VALIDATINGTARGETSFORPROPOSAL: 'ValidatingTargetsForProposal',\r\n TRYINGTOALLOCATE: 'TryingToAllocate',\r\n STOPPED: 'Stopped',\r\n PROCESSINGREDRAGSTATUSES: 'ProcessingRedRagStatuses',\r\n PROCESSINGAMBERRAGSTATUSES: 'ProcessingAmberRagStatuses',\r\n PROCESSINGGREENRAGSTATUSES: 'ProcessingGreenRagStatuses',\r\n CHECKFORNEWPROPOSALSFOREXISTINGVISITSATSAMEPOSTCODE: 'CheckForNewProposalsForExistingVisitsAtSamePostCode',\r\n};\r\n\r\nexport default autoAllocationStatuses;\r\n","const MASTER = 'Master';\r\nconst ADDITIONAL_CLINICIAN = 'AdditionalClinician';\r\nconst OVERRIDDEN_CLINICIAN = 'OverriddenClinician';\r\nconst REVIEW = 'Review';\r\nconst RETROSPECTIVE_VISIT = 'RetrospectiveVisit';\r\n\r\nconst cardTypes = {\r\n MASTER,\r\n ADDITIONAL_CLINICIAN,\r\n OVERRIDDEN_CLINICIAN,\r\n REVIEW,\r\n RETROSPECTIVE_VISIT,\r\n};\r\n\r\nconst careTypes = {\r\n onSite: 'OnSite',\r\n phoneCall: 'PhoneCall',\r\n};\r\n\r\nexport { cardTypes, careTypes };\r\n","export const validFromInitialValue = '1900-01-01T00:00:00';\r\nexport const validToInitialValue = '9999-12-31T00:00:00';\r\n","export * from './selectorEndpoints';\r\nexport * from './tableEndpoints';\r\n","export const teamsEndpoint = 'GetCurrentUserTeamsOptions';\r\nexport const teamsOptionsForOrgUnitEndpoint = 'GetOrgUnitTeamsOptions';\r\nexport const activitiesEndpoint = 'GetActivitiesOptions';\r\nexport const activitiesForTreatmentInstance = 'GetActivitiesOptionsForTreatmentInstance';\r\nexport const activitiesOptionsForReferralEndpoint = 'GetActivityOptionsByReferralId';\r\nexport const treatmentsByReferralIdEndpoint = referralId => `GetTreatmentsByReferralId?referralId=${referralId}`;\r\nexport const activityTypesEndpoint = visitType => `GetActivityTypesByVisitType?visitType=${visitType}`;\r\nexport const skillsEndpoint = 'GetSkillsOptions';\r\nexport const bandsEndpoint = 'GetBandsOptions';\r\nexport const ragsEndpoint = 'GetRagStatusOptions';\r\nexport const cliniciansEndpoint = 'GetCliniciansOptions';\r\nexport const rosteredCliniciansEndpoint = 'GetRosteredCliniciansByTeamIdOptions';\r\nexport const cliniciansForUserEndpoint = 'GetCliniciansOptionsForUser';\r\nexport const cliniciansAssignedToCurrentUserEndpoint = 'GetCurrentUserClinicians';\r\nexport const cancellationReasonsEndpoint = 'GetCancellationReasonsOptions';\r\nexport const cancellationReasonsAllEndpoint = 'GetCancellationReasonsOptionsAll';\r\nexport const movedReasonsEndpoint = 'GetMovedReasonsOptions';\r\nexport const notDoneReasonsEndpoint = 'GetNotDoneReasonsOptions';\r\nexport const locationTypesEndpoint = 'GetLocationTypesOptions';\r\nexport const referenceCodesEndpoint = 'GetReferenceCodesOptions';\r\nexport const referralPrioritiesEndpoint = 'GetReferralPrioritiesOptions';\r\nexport const referralSourcesEndpoint = 'GetReferralSourcesOptions';\r\nexport const referralServiceEndpoint = 'GetReferralServiceOptions';\r\nexport const activityVarianceEndpoint = activityId => `GetActivityVarianceIntervals?activityId=${activityId}`;\r\nexport const activityVariancesOptionsEndpoint = activityId => `GetActivityVariancesOptions?activityId=${activityId}`;\r\nexport const getActivitiesEndpointForTreatmentInstance = treatmentInstanceId =>\r\n `${activitiesForTreatmentInstance}?treatmentInstanceId=${treatmentInstanceId}`;\r\nexport const getActivitiesEndpointUpToBand = band => `${activitiesEndpoint}?MaxBand=${band}`;\r\nexport const getActivitiesEndpointForVisitType = visitType => `${activitiesEndpoint}?VisitType=${visitType}`;\r\nexport const orgUnitsEndpoint = type => `${teamsEndpoint}?type=${type}`;\r\nexport const nonPatientActiviesTypesEndpoint = 'GetNonPatientActivityTypesOptions';\r\nexport const referralPrioritesEndPoint = 'GetReferralPriorities';\r\nexport const referralSourcesEndPoint = 'GetReferralSources';\r\nexport const referralServicesEndPoint = 'GetReferralServices';\r\nexport const mileageCapEndpoint = 'GetCliniciansMileageCap';\r\nexport const autoAllocateWeightingsEndpoint = 'GetAutoAllocateWeightings';\r\nexport const cancellingPartiesEndPoint = 'GetCancellingParties';\r\nexport const outcomeCodesEndpoint = 'GetOutcomeCodesOptions';\r\nexport const getPreferredCliniciansEndpointForTreatment = treatmentId =>\r\n `GetPreferredClinicianByTreatmentId?treatmentId=${treatmentId}`;\r\n","export const referralByPatientIdTable = 'SearchReferralsByPatient';\r\nexport const treatmentsByReferralIdTable = 'GetTreatmentsByReferralId';\r\nexport const patientsTable = 'GetPatients';\r\nexport const synchronizationLogTable = 'GetSynchronizationLog';\r\nexport const patientHistoricVisitsTable = {\r\n unallocated: 'GetPatientHistoryUnallocatedVisits',\r\n allocated: 'GetPatientHistoryAllocatedVisits',\r\n cancelled: 'GetPatientHistoryCanceledVisits',\r\n completed: 'GetPatientHistoryCompletedVisits',\r\n};\r\nexport const getExcludedCliniciansForPatient = 'GetExcludedCliniciansForPatient';\r\n","export { default as recurrenceTypes } from './recurrenceTypes';\r\nexport { cardTypes, careTypes } from './cardTypes';\r\nexport { default as actionTypes } from './actionTypes';\r\nexport { default as autoAllocationStatuses } from './autoAllocationStatuses';\r\nexport * from './sorting';\r\nexport * from './regex';\r\nexport * from './endpoints';\r\nexport * from './dates';\r\nexport * from './appSettings';\r\nexport * from './activityMaxDuration';\r\n","const DAILY = 'Daily';\r\nconst WEEKLY = 'Weekly';\r\nconst MONTHLY = 'Monthly';\r\nconst DISABLED = 'None';\r\n\r\nconst recurrenceTypes = {\r\n DAILY,\r\n WEEKLY,\r\n MONTHLY,\r\n DISABLED,\r\n};\r\n\r\nexport default recurrenceTypes;\r\n","export const positiveNumbers = /^\\d*[1-9]\\d*$/;\r\nexport const phoneNumber = /^(0)([0-9]{9,10})$/;\r\nexport const positiveNumbersWithZero = /(^0|(^\\d*[1-9]\\d*))$/;\r\nexport const numberInRangeFrom0To100 = /^(0|[1-9][0-9]?|100)$/;\r\nexport const numberInRangeFrom0To99 = /^(0?[0-9]|[0-9][0-9])$/;\r\n","const RAG = 'RAG';\r\nconst Name = 'Name';\r\nconst Postcode = 'Postcode';\r\nconst Grade = 'Grade';\r\nconst Duration = 'Duration';\r\nconst options = [RAG, Name, Postcode, Grade, Duration];\r\n\r\nexport { RAG, Name, Postcode, Grade, Duration, options };\r\n","const CLOSED = 'closed';\r\nconst OPEN = 'open';\r\n\r\nconst treatmentStatuses = {\r\n CLOSED,\r\n OPEN,\r\n};\r\n\r\nexport default treatmentStatuses;\r\n","import {\r\n SELECTOR_OPTIONS_GET_FAILURE,\r\n TREATMENT_CREATE_FAILURE,\r\n TREATMENT_UPDATE_FAILURE,\r\n TREATMENT_INSTANCE_CANCEL_FAILURE,\r\n TREATMENT_INSTANCE_UPDATE_FAILURE,\r\n TREATMENT_INSTANCE_ADD_OVERRIDE_FAILURE,\r\n TREATMENT_INSTANCE_REMOVE_OVERRIDE_FAILURE,\r\n VISIT_ACTUAL_UPDATE_FAILURE,\r\n CANCELLATION_REASON_CREATE_FAILURE,\r\n CANCELLATION_REASON_UPDATE_FAILURE,\r\n GENERATE_REPORT_FAILURE,\r\n REFERRAL_CLOSE_FAILURE,\r\n REFERRAL_UPDATE_FAILURE,\r\n REFERRAL_CREATE_FAILURE,\r\n ACTIVITY_UPDATE_FAILURE,\r\n ACTIVITY_DEACTIVATE_FAILURE,\r\n ACTIVITY_CREATE_FAILURE,\r\n ACTIVITY_ACTIVATE_FAILURE,\r\n TIMESLOT_SAVE_FAILURE,\r\n PATIENT_GET_FAILURE,\r\n PATIENT_ADD_FAILURE,\r\n PATIENT_UPDATE_FAILURE,\r\n SYNCHRONIZATION_DETAILS_GET_FAILURE,\r\n SYNCHRONIZE_FAILURE,\r\n SYSTEM_INFO_GET_FAILURE,\r\n PATIENT_EXCLUDED_CLINICIAN_REMOVE_FAILURE,\r\n ACTIVITY_TYPE_CREATE_FAILURE,\r\n ACTIVITY_TYPE_UPDATE_FAILURE,\r\n ACTIVITY_TYPE_GET_FAILURE,\r\n REFERRALS_SYNC_FAILURE,\r\n PATIENT_SYNC_FAILURE,\r\n} from '../actions/constants/types';\r\n\r\n// list of failure action types handled by the global error handler\r\nexport const globalErrorList = [\r\n SELECTOR_OPTIONS_GET_FAILURE,\r\n TREATMENT_CREATE_FAILURE,\r\n TREATMENT_UPDATE_FAILURE,\r\n TREATMENT_INSTANCE_CANCEL_FAILURE,\r\n TREATMENT_INSTANCE_UPDATE_FAILURE,\r\n TREATMENT_INSTANCE_ADD_OVERRIDE_FAILURE,\r\n TREATMENT_INSTANCE_REMOVE_OVERRIDE_FAILURE,\r\n VISIT_ACTUAL_UPDATE_FAILURE,\r\n CANCELLATION_REASON_CREATE_FAILURE,\r\n CANCELLATION_REASON_UPDATE_FAILURE,\r\n GENERATE_REPORT_FAILURE,\r\n REFERRAL_CLOSE_FAILURE,\r\n REFERRAL_UPDATE_FAILURE,\r\n REFERRAL_CREATE_FAILURE,\r\n ACTIVITY_UPDATE_FAILURE,\r\n ACTIVITY_DEACTIVATE_FAILURE,\r\n ACTIVITY_CREATE_FAILURE,\r\n ACTIVITY_ACTIVATE_FAILURE,\r\n TIMESLOT_SAVE_FAILURE,\r\n PATIENT_GET_FAILURE,\r\n PATIENT_ADD_FAILURE,\r\n PATIENT_UPDATE_FAILURE,\r\n SYNCHRONIZATION_DETAILS_GET_FAILURE,\r\n SYNCHRONIZE_FAILURE,\r\n SYSTEM_INFO_GET_FAILURE,\r\n PATIENT_EXCLUDED_CLINICIAN_REMOVE_FAILURE,\r\n ACTIVITY_TYPE_CREATE_FAILURE,\r\n ACTIVITY_TYPE_UPDATE_FAILURE,\r\n ACTIVITY_TYPE_GET_FAILURE,\r\n REFERRALS_SYNC_FAILURE,\r\n PATIENT_SYNC_FAILURE,\r\n];\r\n\r\nexport const defaultConfig = {\r\n // How long should the message stay on screen (in ms)\r\n duration: 5000,\r\n};\r\n// Example: [ACTION_TYPE]: { duration: null } to make a specific ACTION_TYPE stay on screen\r\nexport const perErrorConfiguration = {};\r\n","const ragStatusColors = {\r\n red: '#e84c3d',\r\n amber: '#f39c11',\r\n green: '#18bb9c',\r\n};\r\n\r\nconst maxCredentialsLength = 20;\r\n\r\nconst numOfDaysInA = {\r\n week: 7,\r\n month: 28,\r\n};\r\n\r\nconst numberOf = {\r\n daysInAMonth: 28,\r\n weeksInAYear: 52,\r\n monthsInAYear: 12,\r\n};\r\n\r\nconst auditActionType = {\r\n 0: 'Read',\r\n 1: 'Patient added',\r\n 2: 'Patient edited',\r\n 3: 'Patient removed',\r\n};\r\n\r\nconst logTypeEnums = [\r\n { name: 'Any', id: -1 },\r\n { name: 'In Progress', id: 0 },\r\n { name: 'Successful Allocation', id: 1 },\r\n { name: 'Unsuccessful Allocation', id: 2 },\r\n { name: 'Auto Restarted', id: 3 },\r\n];\r\n\r\nconst epRequestEnums = [\r\n { name: 'All', id: 0, value: 'All' },\r\n { name: 'Not Sent', id: 1, value: 'NotSent' },\r\n { name: 'Sent', id: 2, value: 'Sent' },\r\n { name: 'Failed', id: 3, value: 'Failed' },\r\n { name: 'Discarded', id: 4, value: 'Discarded' },\r\n { name: 'Cancelled', id: 5, value: 'Cancelled' },\r\n];\r\n\r\nexport { ragStatusColors, maxCredentialsLength, numOfDaysInA, numberOf, auditActionType, logTypeEnums, epRequestEnums };\r\n","/* eslint-disable import/extensions */\r\nimport { buildNestedRouting, routeCreator as route } from '../components/Routes/CommunityRoute';\r\nimport globals from '../globals/communityGlobals';\r\n// Page components\r\nimport DailyPlanning from '../containers/DailyPlanning/DailyPlanningContainer';\r\nimport VisitActualsPage from '../components/VisitActuals/VisitActualsPage';\r\nimport VisitActualEdit from '../containers/VisitActuals/Edit/VisitActualsEditContainer';\r\nimport PatientSearchPage from '../features/Patients/Search/PatientSearchPage';\r\nimport PatientAuditSearchPage from '../features/Patients/PatientAudit/PatientAuditSearchPage';\r\nimport PatientDetails from '../containers/Patients/Patient/PatientDetailsContainer';\r\nimport PatientAdd from '../containers/Patients/Add/PatientAddContainer';\r\nimport PatientReferrals from '../containers/Patients/PatientReferrals/PatientReferralsContainer';\r\nimport ReferralCreate from '../containers/Referrals/ReferralCreate/ReferralCreateContainer';\r\nimport ReferralView from '../containers/Referrals/ReferralView/ReferralViewContainer';\r\nimport TreatmentCreate from '../containers/Treatments/TreatmentCreate/TreatmentCreateContainer';\r\nimport TreatmentCreateRetroVisit from '../containers/Treatments/TreatmentCreate/TreatmentCreateRetroVisitContainer';\r\nimport TreatmentEdit from '../containers/Treatments/TreatmentEdit/TreatmentEditContainer';\r\nimport AuditPage from '../components/Admin/Audit/AuditPage';\r\nimport SystemInfo from '../containers/Admin/SystemInfo/SystemInfoContainer';\r\nimport ReasonsPage from '../components/Admin/Reasons/ReasonsPage';\r\nimport ActivityTypePage from '../components/Admin/ActivityTypes/ActivityTypePage';\r\nimport ActivityPage from '../components/Admin/Activities/ActivityPage';\r\nimport ConfigureTimeSlotsContainer from '../containers/Admin/ConfigureTimeSlots/ConfigureTimeSlotsContainer';\r\nimport ReportSelection from '../containers/Reports/ReportSelectionContainer';\r\nimport Dashboard from '../containers/Dashboard/DashboardContainer';\r\nimport NonPatientActivitiesPage from '../features/NonPatientActivities/NPAPage';\r\nimport NonPatientActivityCreate from '../containers/NonPatientActivities/NonPatientActivityCreateContainer';\r\nimport NonPatientActivityEdit from '../containers/NonPatientActivities/NonPatientActivityEditContainer';\r\nimport NonPatientActivityTypesList from '../components/Admin/NonPatientActivityTypes/NPActivityTypesPage';\r\nimport MileageCap from '../components/Admin/MileageCap/MileageCapPage';\r\nimport ConfigureClinician from '../components/Admin/ConfigureClinician/ConfigureClinicianPage';\r\n// eslint-disable-next-line import/no-unresolved\r\nimport { TreatmentViewPage, ClinicianViewPage, MapViewPage, ClinicianGroupPage } from '../components/Planner';\r\nimport { CommunityLayoutCombined } from '../features/Community';\r\nimport AutoAllocateWeightings from '../containers/Admin/AutoAllocateWeightings/AutoAllocateWeightingsContainer';\r\nimport CancellingPartyPage from '../components/Admin/CancellingParties/CancellingPartiesPage';\r\nimport ReferralConfig from '../components/Admin/ReferralConfig/ReferralConfigPage';\r\nimport ExternalProvider from '../components/Admin/ExternalProvider/ExternalProviderPage';\r\nimport RequestLogsPage from '../components/Admin/ExternalProvider/ProviderRequest/RequestLogsPage';\r\n\r\n// Renamed for readability\r\nconst fAs = globals.applicationFeatureAccesses;\r\n\r\n// Any \\ need to be escaped since we're using object keys\r\nconst routingMap = {\r\n '/Planner': {\r\n '/TreatmentView': route(\r\n TreatmentViewPage,\r\n CommunityLayoutCombined,\r\n [fAs.canAllocateWork, fAs.canAccessCliniciansView],\r\n 'planner',\r\n ),\r\n '/ClinicianView': route(\r\n ClinicianViewPage,\r\n CommunityLayoutCombined,\r\n [fAs.canAllocateWork, fAs.canAccessCliniciansView],\r\n 'planner',\r\n ),\r\n '/MapView': route(\r\n MapViewPage,\r\n CommunityLayoutCombined,\r\n [fAs.canAllocateWork, fAs.canAccessCliniciansView],\r\n 'planner',\r\n ),\r\n '/ClinicianGroups': route(\r\n ClinicianGroupPage,\r\n CommunityLayoutCombined,\r\n [fAs.canAllocateWork, fAs.canAccessCliniciansView],\r\n 'planner',\r\n ),\r\n _default: route(\r\n TreatmentViewPage,\r\n CommunityLayoutCombined,\r\n [fAs.canAllocateWork, fAs.canAccessCliniciansView],\r\n 'planner',\r\n ),\r\n },\r\n '/Dashboard': route(Dashboard, CommunityLayoutCombined, [fAs.canAccessDashboard], 'dashboard'),\r\n '/Admin': {\r\n _default: route(ActivityTypePage, CommunityLayoutCombined, [fAs.canTriggerSync], 'activityTypesPage'),\r\n '/Audit': route(AuditPage, CommunityLayoutCombined, [fAs.canTriggerSync], 'auditPage'),\r\n '/Reasons': route(ReasonsPage, CommunityLayoutCombined, [fAs.canTriggerSync], 'reasons'),\r\n '/Activities': route(ActivityPage, CommunityLayoutCombined, [fAs.canTriggerSync], 'activityPage'),\r\n '/SystemInfo': route(SystemInfo, CommunityLayoutCombined, [fAs.canTriggerSync], 'systemInformation'),\r\n '/ReferralConfig': route(ReferralConfig, CommunityLayoutCombined, [fAs.canTriggerSync], 'referralConfig'),\r\n '/MileageCap': route(MileageCap, CommunityLayoutCombined, [fAs.canTriggerSync], 'mileageCap'),\r\n '/ConfigureClinician': route(\r\n ConfigureClinician,\r\n CommunityLayoutCombined,\r\n [fAs.canTriggerSync],\r\n 'configureClinician',\r\n ),\r\n '/ExternalProvider': route(\r\n ExternalProvider,\r\n CommunityLayoutCombined,\r\n [fAs.canTriggerSync, fAs.enableIntegrationMode],\r\n 'externalProvider',\r\n ),\r\n '/AutoAllocateWeightings': route(\r\n AutoAllocateWeightings,\r\n CommunityLayoutCombined,\r\n [fAs.canTriggerSync],\r\n 'autoAllocateWeightings',\r\n ),\r\n '/ActivityTypes': route(ActivityTypePage, CommunityLayoutCombined, [fAs.canTriggerSync], 'activityTypesPage'),\r\n '/NonPatientActivityTypes': {\r\n _default: route(\r\n NonPatientActivityTypesList,\r\n CommunityLayoutCombined,\r\n [fAs.canSetUpTeamMeetings],\r\n 'activityTypesPage',\r\n ),\r\n },\r\n '/ConfigureTimeSlots': route(\r\n ConfigureTimeSlotsContainer,\r\n CommunityLayoutCombined,\r\n [fAs.canTriggerSync],\r\n 'configureTimeSlots',\r\n ),\r\n '/CancellingParties': route(\r\n CancellingPartyPage,\r\n CommunityLayoutCombined,\r\n [fAs.canTriggerSync],\r\n 'cancellingPartyPage',\r\n ),\r\n // '/ConfigureAssistedPlanner': route(\r\n // ConfigureAssistedPlannerPage,\r\n // CommunityLayoutCombined,\r\n // [fAs.canTriggerSync],\r\n // 'configureAssistedPlanner',\r\n // ),\r\n },\r\n '/DailyPlanning': route(DailyPlanning, CommunityLayoutCombined, [fAs.showDailyPlanningView], 'dailyPlanning'),\r\n '/Patients/Patient/Create': route(PatientAdd, CommunityLayoutCombined, [fAs.canAddPatients], 'patientAdd'),\r\n '/Patients': {\r\n '/Search': route(PatientSearchPage, CommunityLayoutCombined, [fAs.canAddReferrals], 'patients'),\r\n '/Audit': route(PatientAuditSearchPage, CommunityLayoutCombined, [fAs.canAddReferrals], 'patients'),\r\n '/ReferralsAudit': route(PatientSearchPage, CommunityLayoutCombined, [fAs.canAddReferrals], 'patients'),\r\n '/:patientId': {\r\n '/Referrals': {\r\n '/Create': route(ReferralCreate, CommunityLayoutCombined, [fAs.canAddReferrals], 'referralCreate'),\r\n _default: route(\r\n PatientReferrals,\r\n CommunityLayoutCombined,\r\n [fAs.canAddReferrals, fAs.canEditReferrals, fAs.canAddTreatments, fAs.canEditTreatments],\r\n 'patientReferrals',\r\n ),\r\n },\r\n _default: route(\r\n PatientDetails,\r\n CommunityLayoutCombined,\r\n [\r\n fAs.canAddPatients,\r\n fAs.canEditPatients,\r\n fAs.canAddReferrals,\r\n fAs.canEditReferrals,\r\n fAs.canAddTreatments,\r\n fAs.canEditTreatments,\r\n ],\r\n 'patient',\r\n ),\r\n },\r\n _default: route(\r\n PatientSearchPage,\r\n CommunityLayoutCombined,\r\n [\r\n fAs.canAddPatients,\r\n fAs.canEditPatients,\r\n fAs.canAddReferrals,\r\n fAs.canEditReferrals,\r\n fAs.canAddTreatments,\r\n fAs.canEditTreatments,\r\n ],\r\n 'patientSearch',\r\n ),\r\n },\r\n '/Patients/Patient/Referrals': {\r\n '/:referralId': route(\r\n ReferralView,\r\n CommunityLayoutCombined,\r\n [fAs.canAddReferrals, fAs.canEditReferrals, fAs.canAddTreatments, fAs.canEditTreatments],\r\n 'referralView',\r\n ),\r\n '/:id(\\\\d+)/Treatments/Create': route(\r\n TreatmentCreate,\r\n CommunityLayoutCombined,\r\n [fAs.canAddTreatments],\r\n 'treatmentCreate',\r\n ),\r\n '/:id(\\\\d+)/Treatments/CreateRetroVisit': route(\r\n TreatmentCreateRetroVisit,\r\n CommunityLayoutCombined,\r\n [fAs.canAddTreatments],\r\n 'treatmentCreateRetroVisit',\r\n ),\r\n },\r\n '/Reports': route(ReportSelection, CommunityLayoutCombined, [fAs.canAccessReports], 'reports'),\r\n '/Treatments/:id(\\\\d+)': route(TreatmentEdit, CommunityLayoutCombined, [fAs.canEditTreatments], 'treatmentEdit'),\r\n '/VisitActuals': {\r\n '/:visitActualId': route(VisitActualEdit, CommunityLayoutCombined, [fAs.canActualisePatientVisits], 'visitActual'),\r\n _default: route(VisitActualsPage, CommunityLayoutCombined, [fAs.canActualisePatientVisits], 'visitActuals'),\r\n },\r\n '/NonPatientActivities': {\r\n '/Create': route(\r\n NonPatientActivityCreate,\r\n CommunityLayoutCombined,\r\n [fAs.canSetUpTeamMeetings],\r\n 'nonPatientActivityCreationPage',\r\n ),\r\n '/Edit/:id(\\\\d+)': route(\r\n NonPatientActivityEdit,\r\n CommunityLayoutCombined,\r\n [fAs.canSetUpTeamMeetings],\r\n 'nonPatientActivityEditionPage',\r\n ),\r\n _default: route(\r\n NonPatientActivitiesPage,\r\n CommunityLayoutCombined,\r\n [fAs.canSetUpTeamMeetings],\r\n 'nonPatientActivities',\r\n ),\r\n },\r\n '/RequestLogs': route(RequestLogsPage, CommunityLayoutCombined, [fAs.enableIntegrationMode], 'providerRequestLogs'),\r\n};\r\n\r\nconst routes = buildNestedRouting(routingMap);\r\nexport default routes;\r\n","const hourWidth = 200;\r\nconst pixelMultiplier = hourWidth / 60;\r\nconst refreshTimeInSeconds = 60;\r\n\r\nconst cellLengthInMinutes = 5;\r\nexport { pixelMultiplier, hourWidth, cellLengthInMinutes, refreshTimeInSeconds };\r\n","import { compose, createStore, applyMiddleware, combineReducers } from 'redux';\r\nimport { autoRehydrate } from 'redux-persist';\r\nimport thunkMiddleware from 'redux-thunk';\r\nimport { routerMiddleware, connectRouter } from 'connected-react-router';\r\nimport areas from '../reducers/areas';\r\nimport entities from '../reducers/entities';\r\nimport uiElements from '../reducers/uiElements';\r\nimport global from '../reducers/global';\r\nimport { callAPIMiddleware } from '../services/callAPIMiddleware';\r\nimport profileMiddleware from '../services/profileMiddleware';\r\nimport production from '../utils/helpers';\r\n\r\nconst composeEnhancers = production\r\n ? compose\r\n : // eslint-disable-next-line no-underscore-dangle\r\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\n\r\nconst communityStore = history =>\r\n combineReducers({\r\n router: connectRouter(history),\r\n areas,\r\n entities,\r\n global,\r\n uiElements,\r\n });\r\n\r\nconst injectHistoryIntoStore = history => {\r\n const middlewares = [thunkMiddleware, routerMiddleware(history), callAPIMiddleware, profileMiddleware];\r\n return createStore(\r\n communityStore(history),\r\n undefined,\r\n composeEnhancers(applyMiddleware(...middlewares), autoRehydrate()),\r\n );\r\n};\r\n\r\nexport default injectHistoryIntoStore;\r\n","import { createTransform } from 'redux-persist';\r\n\r\nfunction pickWhatToStore(inboundState, key) {\r\n const { isAuthenticated } = inboundState.auth ? inboundState.auth : {};\r\n switch (key) {\r\n case 'areas':\r\n return {\r\n dailyPlanning: {\r\n filters: inboundState.dailyPlanning.filters,\r\n selectedDate: inboundState.dailyPlanning.selectedDate,\r\n treatmentInstanceSorting: inboundState.dailyPlanning.treatmentInstanceSorting,\r\n },\r\n };\r\n case 'global':\r\n return {\r\n auth: { isAuthenticated },\r\n };\r\n default:\r\n return undefined;\r\n }\r\n}\r\n\r\nconst persistTransform = createTransform((inboundState, key) => pickWhatToStore(inboundState, key));\r\n\r\nexport default persistTransform;\r\n","import { orange500 } from 'material-ui/styles/colors';\r\nimport { nursing500, grey100, grey300, grey800, white } from '../theme/AllocateColors';\r\n\r\nconst inputHeight = '36px';\r\n\r\nexport const toggleGrey = {\r\n thumbStyle: { backgroundColor: grey100 },\r\n trackStyle: { backgroundColor: grey300 },\r\n};\r\n\r\nexport const popUpModalStyles = {\r\n popUpModal: {\r\n color: grey800,\r\n },\r\n};\r\n\r\nexport const tableStyles = {\r\n headerStyle: {\r\n color: grey800,\r\n },\r\n};\r\n\r\nexport const datePickerStyle = {\r\n textFieldStyle: {\r\n backgroundColor: white,\r\n height: inputHeight,\r\n borderRadius: 4,\r\n width: '100%',\r\n fontSize: 14,\r\n },\r\n\r\n floatingLabelStyle: {\r\n color: nursing500,\r\n left: 8,\r\n top: 0,\r\n transform: 'scale(1) translate(0px, 8px)',\r\n },\r\n\r\n floatingLabelShrinkStyle: {\r\n transform: 'scale(0.75) translate(0px, 0px)',\r\n },\r\n\r\n floatingLabelFocusStyle: {\r\n transform: 'scale(0.75) translate(0px, 0px)',\r\n },\r\n\r\n fillContainerStyle: {\r\n width: '100%',\r\n },\r\n\r\n underlineStyle: {\r\n bottom: 0,\r\n borderWidth: 2,\r\n },\r\n\r\n inputStyle: {\r\n marginTop: 4,\r\n paddingLeft: 8,\r\n },\r\n};\r\n\r\nexport const paperStyle = {\r\n padding: 0,\r\n boxShadow: '0 none',\r\n};\r\n\r\nexport const common = {\r\n floatingLabelStyle: {\r\n color: nursing500,\r\n left: 8,\r\n top: 0,\r\n transform: 'scale(1) translate(0px, 8px)',\r\n },\r\n\r\n floatingLabelShrinkStyle: {\r\n transform: 'scale(0.75) translate(0px, 0px)',\r\n },\r\n\r\n floatingLabelFocusStyle: {\r\n transform: 'scale(0.75) translate(0px, 0px)',\r\n },\r\n underlineStyle: {\r\n bottom: 0,\r\n borderWidth: 2,\r\n },\r\n errorStyle: {\r\n bottom: '3px',\r\n color: orange500,\r\n fontSize: 11,\r\n },\r\n};\r\n\r\n// Textfield\r\n\r\nexport const textFieldStyle = {\r\n style: {\r\n backgroundColor: white,\r\n height: inputHeight,\r\n borderRadius: 4,\r\n width: '100%',\r\n fontSize: 14,\r\n },\r\n\r\n errorStyle: {\r\n bottom: '-5px',\r\n color: orange500,\r\n },\r\n\r\n displayBlock: {\r\n display: 'block',\r\n height: inputHeight,\r\n backgroundColor: grey100,\r\n borderRadius: 2,\r\n fontSize: 14,\r\n },\r\n\r\n underlineStyle: {\r\n bottom: 0,\r\n borderWidth: 2,\r\n borderColor: grey300,\r\n },\r\n\r\n underlineFocusStyle: {\r\n borderColor: nursing500,\r\n borderWidth: 2,\r\n },\r\n\r\n validationColor: 'none',\r\n\r\n floatingLabelStyle: {\r\n color: nursing500,\r\n left: 8,\r\n top: 0,\r\n transform: 'scale(1) translate(0px, 8px)',\r\n },\r\n\r\n floatingLabelShrinkStyle: {\r\n transform: 'scale(0.75) translate(0px, 0px)',\r\n },\r\n\r\n floatingLabelFocusStyle: {\r\n transform: 'scale(0.75) translate(0px, 0px)',\r\n },\r\n\r\n inputStyle: {\r\n marginTop: 0,\r\n paddingLeft: 8,\r\n paddingTop: 4,\r\n },\r\n};\r\n\r\nexport const multiLineText = {\r\n style: {\r\n backgroundColor: grey100,\r\n borderRadius: 2,\r\n width: 'auto',\r\n },\r\n inputStyle: {\r\n padding: '0 8px',\r\n },\r\n underlineStyle: {\r\n left: 0,\r\n },\r\n underlineFocusStyle: {\r\n left: 0,\r\n },\r\n validationColor: 'none',\r\n};\r\n\r\nexport const tabStyles = {\r\n tabItemContainerStyle: {\r\n backgroundColor: '#f5f5f5',\r\n borderBottom: '1px solid',\r\n borderBottomColor: 'transparent',\r\n borderRadius: '4px',\r\n },\r\n inkBarStyle: {\r\n backgroundColor: '#00B1EB',\r\n },\r\n buttonStyle: {\r\n color: '#00B1EB',\r\n textTransform: 'none',\r\n height: '36px',\r\n width: 'auto',\r\n margin: '0 1px',\r\n },\r\n ripple: {\r\n color: 'red',\r\n },\r\n};\r\n\r\nexport const raisedButtonStyle = {\r\n labelStyle: {\r\n textTransform: 'none',\r\n },\r\n\r\n labelStyleSecondary: {\r\n textTransform: 'none',\r\n color: grey800,\r\n },\r\n};\r\n\r\n// Dropdown\r\n\r\nexport const dropDownStyle = {\r\n textFieldStyle: {\r\n backgroundColor: white,\r\n height: inputHeight,\r\n borderRadius: 4,\r\n width: '100%',\r\n fontSize: 14,\r\n },\r\n\r\n style: {\r\n backgroundColor: white,\r\n height: inputHeight,\r\n borderRadius: 2,\r\n fontSize: 14,\r\n width: '100%',\r\n },\r\n\r\n menuStyle: {\r\n marginTop: 0,\r\n fontSize: 14,\r\n },\r\n\r\n labelStyle: {\r\n lineHeight: '46px',\r\n height: inputHeight,\r\n margin: 0,\r\n top: 0,\r\n paddingLeft: 8,\r\n },\r\n\r\n labelStyleNonFormsy: {\r\n lineHeight: '46px',\r\n height: inputHeight,\r\n margin: 0,\r\n top: 0,\r\n paddingLeft: 0,\r\n },\r\n\r\n iconStyle: {\r\n top: 0,\r\n padding: '4px',\r\n width: '36px',\r\n height: '36px',\r\n fill: '#666666',\r\n },\r\n\r\n menuItemStyle: {\r\n fontSize: 14,\r\n },\r\n\r\n errorStyle: {\r\n bottom: '-8px',\r\n color: orange500,\r\n fontSize: 11,\r\n },\r\n};\r\n\r\nexport const autoComp = {\r\n style: {\r\n backgroundColor: grey100,\r\n borderRadius: 2,\r\n },\r\n\r\n textFieldStyle: {\r\n backgroundColor: grey100,\r\n height: inputHeight,\r\n borderRadius: 4,\r\n width: '100%',\r\n fontSize: 14,\r\n },\r\n\r\n listStyle: {\r\n maxHeight: '350px',\r\n overflowY: 'auto',\r\n },\r\n\r\n inputStyle: {\r\n marginTop: 6,\r\n paddingLeft: 8,\r\n },\r\n\r\n labelStyle: {\r\n lineHeight: '36px',\r\n height: inputHeight,\r\n margin: 0,\r\n top: 0,\r\n paddingLeft: 0,\r\n },\r\n};\r\n\r\nexport const chipsStyle = {\r\n style: {\r\n margin: '5px 5px 0 0',\r\n },\r\n};\r\n\r\nexport const PopoverStyle = {\r\n style: {\r\n top: '50px',\r\n background: '#ff0000',\r\n },\r\n\r\n PaperProps: {\r\n background: '#ff0000',\r\n },\r\n};\r\n\r\nexport const textFieldStyleSmall = {\r\n errorStyle: {\r\n color: orange500,\r\n },\r\n underlineStyle: {\r\n bottom: 0,\r\n borderWidth: 2,\r\n borderColor: 'grey300',\r\n },\r\n\r\n underlineFocusStyle: {\r\n borderColor: nursing500,\r\n borderWidth: 2,\r\n },\r\n\r\n validationColor: 'none',\r\n\r\n floatingLabelStyle: {\r\n color: nursing500,\r\n left: 8,\r\n transform: 'scale(1) translate(0px, -30px)',\r\n },\r\n floatingLabelFocusStyle: {\r\n transform: 'scale(0.70) translate(0px, -50px)',\r\n },\r\n floatingLabelShrinkStyle: {\r\n transform: 'scale(0.70) translate(0px, -50px)',\r\n },\r\n inputStyle: {\r\n marginTop: 5,\r\n paddingLeft: 8,\r\n },\r\n style: {\r\n backgroundColor: grey100,\r\n height: 36,\r\n borderRadius: 2,\r\n margin: 10,\r\n },\r\n};\r\n","export const nursing500 = '#00b1eb';\r\nexport const nursing200 = '#65e2ff';\r\nexport const nursing800 = '#0081b7';\r\n\r\nexport const silviaA500 = '#efeeee';\r\nexport const claraA500 = '#706f6f';\r\nexport const amberA500 = '#f7a823';\r\nexport const lilyA500 = '#ec619f';\r\nexport const siennaA500 = '#ec6608';\r\nexport const magentaA500 = '#c7017f';\r\n\r\nexport const grey50 = '#fafafa';\r\nexport const grey100 = '#f5f5f5';\r\nexport const grey200 = '#eeeeee';\r\nexport const grey300 = '#e0e0e0';\r\nexport const grey400 = '#bdbdbd';\r\nexport const grey500 = '#9e9e9e';\r\nexport const grey600 = '#757575';\r\nexport const grey700 = '#616161';\r\nexport const grey800 = '#424242';\r\nexport const grey900 = '#212121';\r\n\r\nexport const black = '#000000';\r\nexport const white = '#ffffff';\r\n\r\nexport const red500 = '#F44336';\r\n\r\nexport const primary = '#ff0000';\r\n","import getMuiTheme from 'material-ui/styles/getMuiTheme';\r\nimport { createMuiTheme } from '@material-ui/core/styles'; // v1.x\r\nimport { blue400, blue300 } from 'material-ui/styles/colors';\r\n// import { white } from '@material-ui/core/colors';\r\nimport { nursing500, nursing200, nursing800, claraA500 } from '../theme/AllocateColors';\r\n// import allocateIconsEot from '../../wwwroot/fonts/allocate-icons/allocateicons-regular-webfont.eot';\r\n\r\nconst communityThemeV0 = getMuiTheme({\r\n palette: {\r\n primary1Color: nursing500,\r\n primary2Color: nursing200,\r\n primary3Color: nursing800,\r\n accent1Color: claraA500,\r\n accent2Color: blue400,\r\n accent3Color: blue300,\r\n },\r\n spacing: {\r\n iconSize: 24,\r\n desktopGutter: 24,\r\n desktopGutterMore: 32,\r\n desktopGutterLess: 16,\r\n desktopGutterMini: 8,\r\n desktopKeylineIncrement: 60, // left-nav width = this * 4\r\n desktopDropDownMenuItemHeight: 32,\r\n desktopDropDownMenuFontSize: 15,\r\n desktopLeftNavMenuItemHeight: 30,\r\n desktopSubheaderHeight: 48,\r\n desktopToolbarHeight: 56,\r\n },\r\n});\r\n\r\nconst communityTheme = createMuiTheme({\r\n typography: {\r\n h1: {\r\n fontSize: 40,\r\n fontFamily: 'Roboto',\r\n fontWeight: '300',\r\n },\r\n\r\n h2: {\r\n fontSize: 22,\r\n lineHeight: 1.2,\r\n fontFamily: 'Roboto',\r\n fontWeight: '500',\r\n },\r\n\r\n h3: {\r\n fontSize: 20,\r\n lineHeight: 1.2,\r\n fontFamily: 'Roboto',\r\n fontWeight: '400',\r\n },\r\n\r\n h4: {\r\n fontSize: 14,\r\n lineHeight: 1.2,\r\n fontFamily: 'Roboto',\r\n fontWeight: '500',\r\n color: '#368EA7',\r\n },\r\n\r\n h5: {\r\n fontSize: 14,\r\n lineHeight: 1.2,\r\n fontFamily: 'Roboto',\r\n fontWeight: '500',\r\n color: '#555555',\r\n },\r\n\r\n h6: {\r\n fontSize: 14,\r\n lineHeight: 1.2,\r\n fontFamily: 'Roboto',\r\n fontWeight: '500',\r\n color: '#666666',\r\n },\r\n\r\n subtitle1: {\r\n fontSize: 13,\r\n lineHeight: 1.2,\r\n fontFamily: 'Roboto',\r\n fontWeight: '400',\r\n color: '#999999',\r\n },\r\n\r\n subtitle2: {\r\n fontSize: 11,\r\n lineHeight: 1.2,\r\n fontFamily: 'Roboto',\r\n fontWeight: '400',\r\n color: '#999999',\r\n },\r\n\r\n body1: {\r\n fontSize: 13,\r\n fontFamily: 'Roboto',\r\n fontWeight: '400',\r\n color: '#000000',\r\n },\r\n\r\n body2: {\r\n fontSize: 14,\r\n fontFamily: 'Roboto',\r\n fontWeight: '400',\r\n color: '#707070',\r\n },\r\n\r\n caption: {\r\n fontSize: 10,\r\n lineHeight: 1.1,\r\n fontFamily: 'Roboto',\r\n fontWeight: '400',\r\n color: '#999999',\r\n },\r\n\r\n // button: {\r\n // fontSize: 14,\r\n // fontFamily: 'robotomedium',\r\n // color: '#666666',\r\n // textDecoration: 'underline',\r\n // height: '36px',\r\n // },\r\n\r\n input: {\r\n fontSize: '0.0rem',\r\n },\r\n },\r\n overrides: {\r\n MUIDataTableToolbar: {\r\n actions: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flex: 'initial',\r\n },\r\n },\r\n },\r\n});\r\n\r\nexport { communityThemeV0, communityTheme };\r\n","import axios from 'axios';\r\nimport _ from './lodash';\r\nimport globals from '../globals/communityGlobals';\r\n\r\nconst errorMessages = globals.getArea('error');\r\n\r\naxios.defaults.withCredentials = 'true';\r\naxios.defaults.headers.common['Content-Type'] = 'application/json';\r\naxios.defaults.headers.common['Cache-Control'] = 'no-cache, no-store';\r\naxios.defaults.headers.common.Pragma = 'no-cache';\r\n\r\nconst requestInProgress = [];\r\nconst excludeEndpoints = ['get_v1/query/GetSettings'];\r\nconst createUniqueKey = (method, baseUrl, uri) => {\r\n const requestUrl = uri.slice(0, uri.indexOf('?'));\r\n const hasBaseUrl = requestUrl.startsWith(baseUrl);\r\n const filteredUrl = hasBaseUrl ? requestUrl.slice(baseUrl.length + 1, requestUrl.length) : requestUrl;\r\n\r\n return `${method}_${filteredUrl}`;\r\n};\r\n\r\naxios.interceptors.request.use(\r\n config => {\r\n const requestKey = createUniqueKey(config.method, config.baseURL, config.url);\r\n if (excludeEndpoints.includes(requestKey)) return config;\r\n\r\n const duplicateRequest = _.find(requestInProgress, { key: requestKey });\r\n const cancelToken = axios.CancelToken.source();\r\n\r\n config.cancelToken = cancelToken.token;\r\n\r\n if (duplicateRequest && config.method.toLowerCase() === 'get') {\r\n duplicateRequest.request.cancel(errorMessages.getMsg('cancelDuplicateRequest'));\r\n _.remove(requestInProgress, { key: requestKey });\r\n }\r\n\r\n requestInProgress.push({ key: requestKey, request: cancelToken });\r\n\r\n return config;\r\n },\r\n error => {\r\n return Promise.reject(error);\r\n },\r\n);\r\n\r\naxios.interceptors.response.use(\r\n response => {\r\n const requestKey = createUniqueKey(response.config.method, response.config.baseURL, response.config.url);\r\n _.remove(requestInProgress, { key: requestKey });\r\n\r\n return response;\r\n },\r\n error => {\r\n return Promise.reject(error);\r\n },\r\n);\r\n\r\nexport default axios;\r\n","/* eslint-disable one-var */\r\nimport moment from 'moment';\r\nimport { validFromInitialValue, validToInitialValue } from '../settings/constants/dates';\r\nimport globals from '../globals/communityGlobals';\r\n\r\nexport const parseDateUtc = date => moment(date).utcOffset(0, true);\r\nconst TODAY = globals.now;\r\n\r\nexport const startEndTimeDisplay = (startDate, endDate) => {\r\n /* splitting startDate, endDate by 'T' to separate the Date and Time values as only Time is needed\r\n yyyy-MM-ddTHH:mm:ss is the format of the DateTime objects we get, that is why there is split by 'T' */\r\n const startTime = startDate.split('T');\r\n const endTime = endDate.split('T');\r\n return `${moment(startTime[1], 'HH:mm:ss').format('HH:mm')} - ${moment(endTime[1], 'HH:mm:ss').format('HH:mm')}`;\r\n};\r\n\r\nexport const startTimeDisplay = startDate => {\r\n const startTime = startDate.split('T');\r\n return `${moment(startTime[1], 'HH:mm:ss').format('HH:mm')}`;\r\n};\r\n\r\nexport const getDateForApi = date =>\r\n date\r\n ? moment(date)\r\n .utcOffset(0, true)\r\n .format(globals.dateFormats.localApiFormat)\r\n : null;\r\n\r\n// eslint-disable-next-line no-confusing-arrow\r\nexport const addDateTimeMinutes = (date, minutes) =>\r\n date\r\n ? moment(date)\r\n .utcOffset(0, true)\r\n .add(minutes, 'minutes')\r\n .format(globals.dateFormats.localApiFormat)\r\n : null;\r\n\r\nexport const clearBorderValues = date => {\r\n const dateString = getDateForApi(date);\r\n return dateString === validFromInitialValue || dateString === validToInitialValue ? null : date;\r\n};\r\n\r\nexport const durationBetweenDates = (start, end) => {\r\n if (end < start) end.setDate(end.getDate() + 1);\r\n return moment(end)\r\n .startOf('minute')\r\n .diff(moment(start).startOf('minute'), 'minutes');\r\n};\r\n\r\nexport const differenceBetweenDates = (start, end) => {\r\n return moment(start).diff(moment(end), 'days');\r\n};\r\n\r\nexport const isBetweenDateRange = (dateRange, compareToDateRange) => {\r\n const startDateIsValid = moment(parseDateUtc(dateRange.startDate)).isBetween(\r\n moment(parseDateUtc(compareToDateRange.startDate)),\r\n moment(parseDateUtc(compareToDateRange.endDate)),\r\n null,\r\n '[]',\r\n );\r\n\r\n const endDateIsValid = moment(parseDateUtc(dateRange.endDate)).isBetween(\r\n moment(parseDateUtc(compareToDateRange.startDate)),\r\n moment(parseDateUtc(compareToDateRange.endDate)),\r\n null,\r\n '[]',\r\n );\r\n\r\n return startDateIsValid && endDateIsValid;\r\n};\r\n\r\nexport function isBetweenFromAndToDates({ dateFrom, dateTo }, value) {\r\n if (typeof value === 'undefined' || typeof dateFrom === 'undefined') return true;\r\n const isDateToSet = typeof dateTo !== 'undefined';\r\n const momentFrom = moment(dateFrom).startOf('day');\r\n if (isDateToSet) {\r\n return moment(value)\r\n .startOf('day')\r\n .isBetween(momentFrom, moment(dateTo).startOf('day'), null, '[]');\r\n }\r\n return moment(value)\r\n .startOf('day')\r\n .isSameOrAfter(momentFrom);\r\n}\r\n\r\nexport function timeIsBetweenDateRange({ dateFrom, dateTo }, value) {\r\n if (typeof value === 'undefined' || typeof dateFrom === 'undefined' || typeof dateTo === 'undefined') return false;\r\n const format = 'YYYY-MM-DDTHH:mm:ss';\r\n const time = moment(value, format).utcOffset(0, true),\r\n beforeTime = moment(dateFrom, format).utcOffset(0, true),\r\n afterTime = moment(dateTo, format).utcOffset(0, true);\r\n\r\n return time.isBetween(beforeTime, afterTime, null, '[]');\r\n}\r\n\r\nexport const mergeDateWithTime = (dateString, timeString) => {\r\n const dateAt = moment(dateString);\r\n const timeAt = moment(timeString);\r\n\r\n return dateAt.set('hours', timeAt.get('hours')).set('minutes', timeAt.get('minutes'));\r\n};\r\n\r\nexport const convertDateFromServer = date => (date ? moment(date).format(globals.dateFormats.localApiFormat) : null);\r\n\r\nexport function getSchedulerModeTimes(\r\n selectedDate,\r\n isNightMode,\r\n schedulerDayModeStartTime,\r\n schedulerNightModeStartTime,\r\n) {\r\n const startHour = isNightMode ? schedulerNightModeStartTime : schedulerDayModeStartTime;\r\n const endHour = isNightMode ? 24 + parseInt(schedulerDayModeStartTime, 10) : schedulerNightModeStartTime;\r\n\r\n const startTime = parseDateUtc(selectedDate)\r\n .set({ hour: startHour })\r\n .format(globals.dateFormats.localApiFormat);\r\n const endTime = parseDateUtc(selectedDate)\r\n .set({ hour: endHour })\r\n .format(globals.dateFormats.localApiFormat);\r\n\r\n return { schedulerStartTime: startTime, schedulerEndTime: endTime };\r\n}\r\n\r\nexport const parseShortDateTime = date => (date ? parseDateUtc(date).format(globals.dateFormats.short) : '-');\r\n\r\nexport const parseShortDateWithTime = date =>\r\n date ? parseDateUtc(date).format(globals.dateFormats.shortWithTime) : '-';\r\n\r\nexport const parseShortDateWithLongTime = date =>\r\n date ? parseDateUtc(date).format(globals.dateFormats.shortWithLongTime) : '-';\r\n\r\nexport const isTodaysDate = date => parseDateUtc(date).isSame(TODAY, 'day');\r\n\r\nexport const parseDateToLongTime = date => parseDateUtc(date).format('HH:mm:ss.SSS');\r\n\r\nexport const startEndTimeGridDisplay = (startDate, endDate) =>\r\n `${parseDateUtc(startDate).format('HH:mm')}\\n${parseDateUtc(endDate).format('HH:mm')}`;\r\n\r\nexport const formatHours = num => {\r\n if (num == null) return '-';\r\n const hours = num / 60;\r\n const rhours = Math.sign(hours) === 1 ? Math.floor(hours) : Math.ceil(hours);\r\n const minutes = (hours - rhours) * 60;\r\n const rminutes = Math.round(minutes);\r\n if (rminutes === 0) return `${rhours}h`;\r\n\r\n return rhours === 0 ? `${rminutes} min` : `${rhours}h ${Math.abs(rminutes)} min`;\r\n};\r\n\r\nexport const secondsToHms = seconds => {\r\n const d = Number(seconds);\r\n const h = Math.floor(d / 3600);\r\n const m = Math.floor((d % 3600) / 60);\r\n const s = Math.floor((d % 3600) % 60);\r\n\r\n const hDisplay = h > 0 ? h + (h === 1 ? ' h ' : ' h ') : '';\r\n const mDisplay = m > 0 ? m + (m === 1 ? ' mins ' : ' mins ') : '';\r\n const sDisplay = s > 0 ? s + (s === 1 ? ' secs' : ' secs') : '';\r\n return hDisplay + mDisplay + sDisplay;\r\n};\r\n\r\nexport const twelveHourTimeFormat = dateTime => parseDateUtc(dateTime).format('hh:mm A');\r\n\r\nexport const minutesOfDay = m => {\r\n return m.minutes() + m.hours() * 60;\r\n};\r\n\r\nexport const compareOnlyTimes = (date1, date2) => {\r\n const date1Moment = moment(date1);\r\n const date2Moment = moment(date2);\r\n\r\n return minutesOfDay(date1Moment) > minutesOfDay(date2Moment);\r\n};\r\n\r\nexport const isValidDate = (value, allowEmpty = false) => {\r\n if (value === null) {\r\n return allowEmpty;\r\n }\r\n return moment(value).isValid();\r\n};\r\n\r\n// works for this format: yyyy-mm-dd -> ex: \"2021-11-27T00:00:00Z\"\r\nexport const isValidDateFormat = dateNumber => {\r\n if (dateNumber === null || dateNumber === undefined || dateNumber === '') {\r\n return false;\r\n }\r\n const dateString = dateNumber.toString();\r\n const year = parseInt(dateString.substring(0, 4), 10);\r\n const month = parseInt(dateString.substring(5, 7), 10);\r\n const day = parseInt(dateString.substring(8, 10), 10);\r\n\r\n const value = moment([year, month, day]);\r\n return value.isValid();\r\n};\r\n\r\nexport const extractDateOnly = date => {\r\n date.setHours(0, 0, 0, 0);\r\n return date;\r\n};\r\n\r\nexport const isDateInPast = dateValue => {\r\n const dateAt = moment(dateValue);\r\n return dateAt.isBefore(globals.now, 'day');\r\n};\r\n\r\nexport const isDateFromBeforeDateTo = (dateFrom, dateTo, allowEmptyDates = false) => {\r\n if (!dateFrom || !dateTo) {\r\n return allowEmptyDates;\r\n }\r\n return dateFrom <= dateTo;\r\n};\r\n\r\nexport const trimmedDateAt = dateAt => {\r\n return moment(dateAt)\r\n .startOf('day')\r\n .format(globals.dateFormats.localApiFormat);\r\n};\r\n","export function convertToHoursAndMin(n) {\r\n if (n === 0) {\r\n return 'N/A';\r\n }\r\n const num = n;\r\n const hours = num / 60;\r\n const rhours = Math.floor(hours);\r\n const minutes = (hours - rhours) * 60;\r\n const rminutes = Math.round(minutes);\r\n const value = `${rhours}h ${rminutes}m`;\r\n\r\n return value;\r\n}\r\n\r\nexport function addDaysToDate(date, days) {\r\n let totalMiliseconds = Date.parse(date);\r\n totalMiliseconds += 86400000 * days;\r\n return new Date(totalMiliseconds);\r\n}\r\n\r\nexport const convertHoursToMinutes = hours => hours * 60;\r\nexport const convertMinutesToHours = minutes => Math.floor(minutes / 60);\r\n","import Formsy from 'formsy-react';\r\nimport moment from 'moment';\r\nimport globals from '../globals/communityGlobals';\r\n\r\nFormsy.addValidationRule('isSameOrBeforeDate', (values, value, date) => {\r\n if (!value || !date) {\r\n return true;\r\n }\r\n\r\n const valueAt = moment(new Date(value));\r\n const dateAt = moment(date);\r\n\r\n return valueAt.isSameOrBefore(dateAt, 'd');\r\n});\r\n\r\nFormsy.addValidationRule('isBeforeDate', (values, value, date) => {\r\n if (!value || !date) {\r\n return true;\r\n }\r\n\r\n const valueAt = moment(new Date(value));\r\n const dateAt = moment(date);\r\n\r\n return valueAt.isBefore(dateAt, 'd');\r\n});\r\n\r\nFormsy.addValidationRule('max', (values, value, max) => value <= max);\r\n\r\nFormsy.addValidationRule('isAfterDateFrom', (values, value) => {\r\n if (typeof value === 'undefined') return true;\r\n return values.dateFrom ? moment(value).isSameOrAfter(values.dateFrom, 'day') : true;\r\n});\r\n\r\nFormsy.addValidationRule('isBeforeEndDate', (values, value, date) => {\r\n if (!value || !date) {\r\n return true;\r\n }\r\n return moment(value).isSameOrBefore(moment(date));\r\n});\r\n\r\nFormsy.addValidationRule('isAfterDifferentField', (values, value, key) => {\r\n if (typeof value === 'undefined' || !values[key]) return true;\r\n return moment(value).isSameOrAfter(values[key], 'day');\r\n});\r\n\r\nFormsy.addValidationRule('isAfterDate', (values, value, date) => {\r\n if (!value || !date) {\r\n return true;\r\n }\r\n\r\n const valueAt = moment(new Date(value));\r\n const dateAt = moment(date);\r\n\r\n return valueAt.isAfter(dateAt, 'd');\r\n});\r\n\r\nFormsy.addValidationRule('isAfterTime', (values, value) => {\r\n if (!value) {\r\n return true;\r\n }\r\n return values.startTime ? moment(value).isSameOrAfter(values.startTime, 'minute') : true;\r\n});\r\n\r\nFormsy.addValidationRule('isInPast', (values, value) => {\r\n if (!value) {\r\n return true;\r\n }\r\n\r\n const nowAt = globals.now;\r\n const dateAt = moment(value);\r\n\r\n return dateAt.isSameOrBefore(nowAt, 'minute');\r\n});\r\n\r\nFormsy.addValidationRule('isInPresentOrFutureOrExact', (values, value, exact) => {\r\n if (!value) {\r\n return true;\r\n }\r\n\r\n const nowAt = globals.now;\r\n const valueAt = moment(new Date(value));\r\n const exactAt = moment(exact);\r\n\r\n return valueAt.isSame(nowAt, 'day') || valueAt.isAfter(nowAt) || valueAt.isSame(exactAt, 'day');\r\n});\r\n\r\nFormsy.addValidationRule('isRequired', (values, value) => {\r\n return value !== '' && value !== null && value !== undefined;\r\n});\r\n","import { pixelMultiplier } from '../settings/scheduler';\r\n\r\nconst capitalFirstLetter = string => string.charAt(0).toUpperCase() + string.slice(1);\r\nconst lowerFirstLetter = string => string.charAt(0).toLowerCase() + string.slice(1);\r\nconst durationToPixels = value => {\r\n return value ? `${value * pixelMultiplier}px` : 'auto';\r\n};\r\nconst cardWidthToPixels = value => `${value * pixelMultiplier}`;\r\nconst checkFeatureAccess = (featureAccesseList, requiredFeatureAccess) => {\r\n if (Array.isArray(requiredFeatureAccess)) {\r\n return requiredFeatureAccess.some(fA => featureAccesseList.includes(fA));\r\n }\r\n return featureAccesseList.includes(requiredFeatureAccess);\r\n};\r\n\r\nconst checkAllFeatureAccess = (requiredFeatureAccess, featureAccesseList) => {\r\n if (Array.isArray(requiredFeatureAccess)) {\r\n return requiredFeatureAccess.every(fA => featureAccesseList.includes(fA));\r\n }\r\n return featureAccesseList.includes(requiredFeatureAccess);\r\n};\r\n\r\nfunction refSetter(name) {\r\n const self = this;\r\n return element => {\r\n self[name] = element;\r\n };\r\n}\r\n\r\nconst paramHasValue = param => param !== null && typeof param !== 'undefined';\r\n\r\nconst querizeSingle = param =>\r\n paramHasValue(param.value) ? `${param.key.toLowerCase()}=${param.value.toString()}` : '';\r\n\r\nconst querizeArray = param =>\r\n param.value.reduce((querizedSoFar, value) => {\r\n const joiner = querizedSoFar ? '&' : '';\r\n const querizedSingle = querizeSingle({ key: param.key, value });\r\n\r\n return querizedSingle ? `${querizedSoFar}${joiner}${querizedSingle}` : querizedSoFar;\r\n }, '');\r\n\r\nconst querize = param => (Array.isArray(param.value) ? querizeArray(param) : querizeSingle(param));\r\n\r\nconst queryStringBuilder = paramsObject => {\r\n const paramsKeys = Object.keys(paramsObject);\r\n const params = paramsKeys.map(key => ({ key, value: paramsObject[key] }));\r\n\r\n return params.reduce((querySoFar, param) => {\r\n const joiner = querySoFar ? '&' : '?';\r\n const paramQuerized = querize(param);\r\n\r\n return paramQuerized ? `${querySoFar}${joiner}${paramQuerized}` : querySoFar;\r\n }, '');\r\n};\r\n\r\nexport function queryStringBuilder1(paramsObject) {\r\n const paramsKeys = Object.keys(paramsObject);\r\n const params = paramsKeys.map(key => ({ key, value: paramsObject[key] }));\r\n\r\n return params.reduce((querySoFar, param) => {\r\n const joiner = querySoFar ? '&' : '?';\r\n const paramQuerized = querize(param);\r\n\r\n return paramQuerized ? `${querySoFar}${joiner}${paramQuerized}` : querySoFar;\r\n }, '');\r\n}\r\n\r\nfunction insertSpaces(string, indexes) {\r\n if (Array.isArray(indexes)) {\r\n if (!indexes.every(value => typeof value === 'number')) {\r\n throw new Error('Indexes must be numbers.');\r\n }\r\n const sortedIndexes = indexes.sort((a, b) => a - b);\r\n let result = string;\r\n for (let i = 0; i < sortedIndexes.length; i += 1) {\r\n result = `${result.slice(0, sortedIndexes[i] + 1 * i)} ${result.slice(sortedIndexes[i] + 1 * i)}`;\r\n }\r\n return result;\r\n }\r\n if (typeof indexes !== 'number') {\r\n throw new Error('Index must be a number.');\r\n }\r\n return `${string.slice(0, indexes)} ${string.slice(indexes)}`;\r\n}\r\n\r\nfunction formatNhs(nhsNumber) {\r\n return nhsNumber ? insertSpaces(nhsNumber, [3, 6]) : '';\r\n}\r\n\r\nfunction doubleActionPrevent(actionIdentifier, actionFunction = () => {}, callback = () => {}) {\r\n if (!actionIdentifier || typeof actionIdentifier !== 'string') {\r\n throw new TypeError('DoubleActionPrevent: Must specify a string action identifier.');\r\n }\r\n const stateIdentifier = `preventDouble${actionIdentifier}`;\r\n return async (...params) => {\r\n if (this.state && this.state[stateIdentifier]) {\r\n return;\r\n }\r\n this.setState({ [stateIdentifier]: true });\r\n try {\r\n await actionFunction(...params);\r\n } catch (err) {\r\n return;\r\n } finally {\r\n this.setState({ [stateIdentifier]: false });\r\n }\r\n await callback(...params);\r\n };\r\n}\r\n\r\nconst createPrimarySelector = selector => state => {\r\n try {\r\n return selector(state);\r\n } catch (err) {\r\n return null;\r\n }\r\n};\r\n\r\nconst stringToArray = string => {\r\n return string.split(', ').map(x => x.trim());\r\n};\r\n\r\nconst removeSpaces = str => {\r\n return str.replace(/\\s/g, '');\r\n};\r\n\r\nconst production = !process.env.NODE_ENV || process.env.NODE_ENV === 'development';\r\n\r\nexport {\r\n capitalFirstLetter,\r\n lowerFirstLetter,\r\n durationToPixels,\r\n cardWidthToPixels,\r\n checkFeatureAccess,\r\n checkAllFeatureAccess,\r\n refSetter,\r\n queryStringBuilder,\r\n production,\r\n doubleActionPrevent,\r\n insertSpaces,\r\n formatNhs,\r\n createPrimarySelector,\r\n stringToArray,\r\n removeSpaces,\r\n};\r\n","import React from 'react';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport CloudIcon from '@material-ui/icons/Cloud';\r\nimport CloudOffIcon from '@material-ui/icons/CloudOff';\r\nimport LocationOnIcon from '@material-ui/icons/LocationOn';\r\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\r\nimport DirectionsCarIcon from '@material-ui/icons/DirectionsCar';\r\nimport DoneAllIcon from '@material-ui/icons/DoneAll';\r\nimport RestoreIcon from '@material-ui/icons/Restore';\r\nimport EmojiTransportation from '@material-ui/icons/EmojiTransportation';\r\nimport CommuteIcon from '@material-ui/icons/Commute';\r\n\r\nexport const legendItemsCards = [\r\n [\r\n { title: 'Card Icons' },\r\n { title: 'Master Visit', iconComponent: },\r\n { title: 'Copy Visit', iconComponent: },\r\n { title: 'Rest Time', iconComponent: },\r\n ],\r\n [\r\n { title: 'Treatment colours' },\r\n { title: 'Multiple Timeslots', iconComponent: },\r\n { title: 'One Timeslot', iconComponent: },\r\n { title: 'Specific Time', iconComponent: },\r\n { title: 'Non-patient Activity', iconComponent: },\r\n ],\r\n [\r\n { title: 'Visit Status Colours' },\r\n { title: 'Late, not started', iconComponent: },\r\n { title: 'Completed', iconComponent: },\r\n { title: 'Started', iconComponent: },\r\n ],\r\n [\r\n { title: 'Treatment RAG Status' },\r\n { title: 'Visit’s RAG Status Green', iconComponent: },\r\n { title: 'Visit’s RAG Status Yellow', iconComponent: },\r\n { title: \"Visit's RAG status Amber\", iconComponent: },\r\n { title: \"Visit's RAG status Red\", iconComponent: },\r\n ],\r\n [],\r\n // [\r\n // { title: 'Complited', iconComponent: },\r\n // { title: 'Retrospective Completed', iconComponent: },\r\n // { title: 'Copy', iconComponent: },\r\n // ],\r\n];\r\n\r\nexport const legendItemsOthers = [\r\n [\r\n { title: 'Other Icons' },\r\n {\r\n title: 'Mileage Cap',\r\n iconComponent: ,\r\n },\r\n { title: 'Review', iconComponent: },\r\n { title: 'Unassigned', iconComponent: },\r\n { title: 'Completed Visit', iconComponent: },\r\n { title: 'Retrospective Visit', iconComponent: },\r\n { title: 'Bundled Visit', iconComponent: },\r\n { title: 'Unbundle Visit', iconComponent: },\r\n { title: 'Assign Visit', iconComponent: },\r\n { title: 'Convert visit', iconComponent: },\r\n ],\r\n [\r\n { title: 'text' },\r\n { title: 'Information', iconComponent: },\r\n { title: 'Treatment Duration', iconComponent: },\r\n { title: 'Travel Duration', iconComponent: },\r\n { title: 'Planned Travel Mileage', iconComponent: },\r\n { title: 'Planned Travel Mileage To Base', iconComponent: },\r\n ],\r\n [\r\n { title: 'text' },\r\n { title: 'Clinician On Time', iconComponent: },\r\n { title: 'Clinician Late', iconComponent: },\r\n {\r\n title: 'Visits Started in Different Order',\r\n iconComponent: ,\r\n },\r\n ],\r\n [\r\n { title: 'text' },\r\n { title: 'Required Clinicians', iconComponent: },\r\n { title: 'Remaining Clinicians', iconComponent: },\r\n { title: 'Multiple times', iconComponent: },\r\n ],\r\n [\r\n { title: 'text' },\r\n {\r\n title: 'Clinician availability status',\r\n iconComponent: ,\r\n },\r\n { title: 'Location', iconComponent: },\r\n\r\n { title: 'Clinician Online', iconComponent: },\r\n { title: 'Clinician Offline', iconComponent: },\r\n ],\r\n];\r\n","import moment from 'moment';\r\nimport globals from '../globals/communityGlobals';\r\n\r\nconst errors = globals.getArea('error');\r\n\r\nconst checkRequiredOnBlur = (value, setValidationErrorsCallback, fieldName, validationErrors) => {\r\n if (!value) {\r\n setValidationErrorsCallback({ ...validationErrors, [fieldName]: errors.getMsg('requiredFieldValidationMessage') });\r\n }\r\n};\r\n\r\nconst getErrorProps = validationErrors => {\r\n return validationErrors\r\n ? {\r\n helperText: validationErrors,\r\n error: true,\r\n }\r\n : null;\r\n};\r\n\r\nconst combineDateTime = (date, time) => {\r\n return new Date(date).setHours(time.getHours(), time.getMinutes());\r\n};\r\n\r\nconst checkEndTimeBeforeNow = date => {\r\n const selectedEndTime = new Date(moment(moment(date).format(globals.dateFormats.localApiFormat)));\r\n selectedEndTime.setSeconds(0, 0);\r\n const now = new Date(globals.now);\r\n now.setSeconds(0, 0);\r\n return !(selectedEndTime < now);\r\n};\r\n\r\nconst checkEndTimeAfterNow = date => {\r\n const selectedEndTime = new Date(moment(moment(date).format(globals.dateFormats.localApiFormat)));\r\n selectedEndTime.setSeconds(0, 0);\r\n const now = new Date(globals.now);\r\n now.setSeconds(0, 0);\r\n return !(selectedEndTime > now);\r\n};\r\n\r\nexport { getErrorProps, combineDateTime, checkRequiredOnBlur, checkEndTimeBeforeNow, checkEndTimeAfterNow };\r\n","import orderBy from 'lodash/orderBy';\r\nimport min from 'lodash/min';\r\nimport map from 'lodash/map';\r\nimport get from 'lodash/get';\r\nimport throttle from 'lodash/throttle';\r\nimport values from 'lodash/values';\r\nimport remove from 'lodash/remove';\r\nimport isEqual from 'lodash/isEqual';\r\nimport sortBy from 'lodash/sortBy';\r\nimport cloneDeep from 'lodash/cloneDeep';\r\nimport entries from 'lodash/toPairs';\r\nimport memoize from 'lodash/memoize';\r\nimport filter from 'lodash/filter';\r\nimport each from 'lodash/each';\r\nimport concat from 'lodash/concat';\r\nimport some from 'lodash/some';\r\nimport merge from 'lodash/merge';\r\nimport find from 'lodash/find';\r\nimport assignIn from 'lodash/assignIn';\r\nimport uniqBy from 'lodash/uniqBy';\r\nimport indexOf from 'lodash/indexOf';\r\nimport first from 'lodash/head';\r\nimport sum from 'lodash/sum';\r\nimport groupBy from 'lodash/groupBy';\r\nimport includes from 'lodash/includes';\r\n\r\nconst isEmpty = value =>\r\n value === undefined ||\r\n value === null ||\r\n // eslint-disable-next-line use-isnan\r\n value === NaN ||\r\n (typeof value === 'object' && Object.keys(value).length === 0) ||\r\n (typeof value === 'string' && value.trim().length === 0);\r\n\r\nexport default {\r\n orderBy,\r\n min,\r\n get,\r\n sortBy,\r\n remove,\r\n throttle,\r\n isEqual,\r\n values,\r\n cloneDeep,\r\n entries,\r\n memoize,\r\n filter,\r\n each,\r\n map,\r\n concat,\r\n some,\r\n merge,\r\n find,\r\n assignIn,\r\n uniqBy,\r\n indexOf,\r\n first,\r\n isEmpty,\r\n sum,\r\n groupBy,\r\n includes,\r\n};\r\n","import { schema } from 'normalizr';\r\n\r\nexport const bandsSchema = new schema.Entity(\r\n 'bands',\r\n {},\r\n {\r\n processStrategy: ({ id, name }) => ({ equivalence: id, name }),\r\n },\r\n);\r\n","import { schema } from 'normalizr';\r\nimport { cardTypes } from '../../settings/constants';\r\n\r\nexport const assignmentSchema = new schema.Entity(\r\n 'assignments',\r\n {},\r\n {\r\n idAttribute: 'assignGuid',\r\n processStrategy: value => ({\r\n ...value,\r\n hasAssignedCopies: value.assignedCopiesCount > 0,\r\n isMasterOrReview: value.cardType === cardTypes.MASTER || value.cardType === cardTypes.REVIEW,\r\n }),\r\n },\r\n);\r\n\r\nconst availabilitySchema = new schema.Entity(\r\n 'availabilities',\r\n {\r\n assignments: [assignmentSchema],\r\n },\r\n {\r\n processStrategy: (value, parent) => ({\r\n ...value,\r\n isFirst: parent.availabilities[0].id === value.id,\r\n postingId: parent.id,\r\n }),\r\n },\r\n);\r\n\r\nconst clinicianSchema = new schema.Entity(\r\n 'clinicians',\r\n {},\r\n {\r\n processStrategy: (value, { availabilities }) => ({ ...value, availabilities }),\r\n },\r\n);\r\n\r\nexport const postingSchema = new schema.Entity('postings', {\r\n availabilities: [availabilitySchema],\r\n clinician: clinicianSchema,\r\n});\r\n","function nexTimeSlotName(c) {\r\n return String.fromCharCode(c.charCodeAt(0) + 1);\r\n}\r\n\r\nfunction prevTimeSlotName(c) {\r\n return String.fromCharCode(c.charCodeAt(0) - 1);\r\n}\r\n\r\nexport function getNextName(name) {\r\n const lastChar = name[name.length - 1];\r\n const shorterByOneArray = name.slice(0, name.length - 1);\r\n\r\n if (lastChar === 'Z') {\r\n return Array(name.length + 2).join('A');\r\n }\r\n\r\n return `${shorterByOneArray}${nexTimeSlotName(lastChar)}`;\r\n}\r\n\r\nexport function getPreviousName(name) {\r\n const lastChar = name[name.length - 1];\r\n const shorterByOneArray = name.slice(0, name.length - 1);\r\n if (lastChar === 'A') {\r\n return Array(shorterByOneArray.length + 1).join('Z');\r\n }\r\n\r\n return `${shorterByOneArray}${prevTimeSlotName(lastChar)}`;\r\n}\r\n","import { createUserManager, loadUser } from 'redux-oidc';\r\nimport { Log, WebStorageStateStore } from 'oidc-client';\r\nimport production from './helpers';\r\nimport globals from '../globals/communityGlobals';\r\nimport { silent } from '../actions/global/auth';\r\n\r\nconst appUrl = globals.urls.webUrl;\r\nconst endSessionEndpoint = globals.identityProvider.auth0Authority\r\n .concat('v2/logout?client_id=')\r\n .concat(globals.identityProvider.auth0ClientId)\r\n .concat('&returnTo=')\r\n .concat(appUrl);\r\n\r\nconst userManagerConfig = {\r\n client_id: globals.identityProvider.auth0ClientId,\r\n scope: globals.identityProvider.auth0Scope,\r\n authority: globals.identityProvider.auth0Authority,\r\n redirect_uri: `${appUrl}/Callback`,\r\n post_logout_redirect_uri: appUrl,\r\n silent_redirect_uri: `${appUrl}/Silent`,\r\n response_type: 'token id_token',\r\n automaticSilentRenew: false,\r\n filterProtocolClaims: true,\r\n loadUserInfo: true,\r\n monitorSession: false,\r\n userStore: new WebStorageStateStore({ store: window.localStorage }),\r\n extraQueryParams: {\r\n audience: globals.identityProvider.auth0Audience,\r\n enable_passwordless: false,\r\n },\r\n metadata: {\r\n end_session_endpoint: endSessionEndpoint,\r\n authorization_endpoint: globals.identityProvider.auth0Authority.concat('authorize'),\r\n issuer: globals.identityProvider.auth0Authority,\r\n jwks_uri: globals.identityProvider.auth0Authority.concat('.well-known/jwks.json'),\r\n userinfo_endpoint: globals.identityProvider.auth0Authority.concat('userinfo'),\r\n },\r\n};\r\n\r\nconst userManager = createUserManager(userManagerConfig);\r\n\r\nif (!production) {\r\n /* eslint-disable no-console */\r\n class OidcLogger {\r\n prefix = 'OIDC -> ';\r\n debug = (value, ...rest) => {\r\n console.debug(this.prefix + value, ...rest);\r\n };\r\n info = (value, ...rest) => {\r\n console.info(this.prefix + value, ...rest);\r\n };\r\n error = (value, ...rest) => {\r\n console.error(this.prefix + value, ...rest);\r\n };\r\n warn = (value, ...rest) => {\r\n console.warn(this.prefix + value, ...rest);\r\n };\r\n }\r\n /* eslint-enable no-console */\r\n\r\n Log.logger = new OidcLogger();\r\n Log.level = Log.INFO;\r\n}\r\n\r\nfunction processUser(store, history) {\r\n // ignore that on callback compoment\r\n if (history.location.pathname.toLowerCase().indexOf('callback') >= 0) {\r\n return Promise.resolve();\r\n }\r\n return userManager.clearStaleState().then(\r\n () => {\r\n const signin = () => userManager.signinRedirect();\r\n const handleUser = user => {\r\n if (!user) {\r\n userManager.removeUser().then(signin, signin);\r\n } else {\r\n loadUser(store, userManager);\r\n }\r\n };\r\n store.dispatch(silent());\r\n return userManager.signinSilent().then(user => handleUser(user), () => handleUser(null));\r\n },\r\n () => {},\r\n );\r\n}\r\n\r\nexport { processUser, userManager };\r\n","module.exports = require(\"core-js-pure/stable/array/is-array\");","module.exports = require(\"core-js-pure/stable/instance/bind\");","module.exports = require(\"core-js-pure/stable/instance/concat\");","module.exports = require(\"core-js-pure/stable/instance/every\");","module.exports = require(\"core-js-pure/stable/instance/filter\");","module.exports = require(\"core-js-pure/stable/instance/find-index\");","module.exports = require(\"core-js-pure/stable/instance/for-each\");","module.exports = require(\"core-js-pure/stable/instance/index-of\");","module.exports = require(\"core-js-pure/stable/instance/map\");","module.exports = require(\"core-js-pure/stable/instance/reduce\");","module.exports = require(\"core-js-pure/stable/instance/slice\");","module.exports = require(\"core-js-pure/stable/instance/some\");","module.exports = require(\"core-js-pure/stable/instance/sort\");","module.exports = require(\"core-js-pure/stable/instance/splice\");","module.exports = require(\"core-js-pure/stable/instance/starts-with\");","module.exports = require(\"core-js-pure/stable/instance/trim\");","module.exports = require(\"core-js-pure/stable/object/assign\");","module.exports = require(\"core-js-pure/stable/object/define-properties\");","module.exports = require(\"core-js-pure/stable/object/define-property\");","module.exports = require(\"core-js-pure/stable/object/entries\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-descriptor\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-descriptors\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-symbols\");","module.exports = require(\"core-js-pure/stable/object/keys\");","module.exports = require(\"core-js-pure/stable/object/values\");","module.exports = require(\"core-js-pure/stable/parse-int\");","module.exports = require(\"core-js-pure/stable/reflect/construct\");","module.exports = require(\"core-js-pure/stable/set-timeout\");","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Array$isArray = require(\"core-js-pure/features/array/is-array.js\");\nfunction _arrayWithHoles(r) {\n if (_Array$isArray(r)) return r;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Array$isArray = require(\"core-js-pure/features/array/is-array.js\");\nvar arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (_Array$isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Object$defineProperty = require(\"core-js-pure/features/object/define-property.js\");\nvar toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), _Object$defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), _Object$defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Object$defineProperty = require(\"core-js-pure/features/object/define-property.js\");\nvar toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? _Object$defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Object$assign = require(\"core-js-pure/features/object/assign.js\");\nvar _bindInstanceProperty = require(\"core-js-pure/features/instance/bind.js\");\nfunction _extends() {\n var _context;\n return module.exports = _extends = _Object$assign ? _bindInstanceProperty(_context = _Object$assign).call(_context) : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Object$setPrototypeOf = require(\"core-js-pure/features/object/set-prototype-of.js\");\nvar _bindInstanceProperty = require(\"core-js-pure/features/instance/bind.js\");\nvar _Object$getPrototypeOf = require(\"core-js-pure/features/object/get-prototype-of.js\");\nfunction _getPrototypeOf(t) {\n var _context;\n return module.exports = _getPrototypeOf = _Object$setPrototypeOf ? _bindInstanceProperty(_context = _Object$getPrototypeOf).call(_context) : function (t) {\n return t.__proto__ || _Object$getPrototypeOf(t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Object$create = require(\"core-js-pure/features/object/create.js\");\nvar _Object$defineProperty = require(\"core-js-pure/features/object/define-property.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = _Object$create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), _Object$defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Symbol = require(\"core-js-pure/features/symbol/index.js\");\nvar _getIteratorMethod = require(\"core-js-pure/features/get-iterator-method.js\");\nvar _Array$from = require(\"core-js-pure/features/array/from.js\");\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof _Symbol && null != _getIteratorMethod(r) || null != r[\"@@iterator\"]) return _Array$from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Symbol = require(\"core-js-pure/features/symbol/index.js\");\nvar _getIteratorMethod = require(\"core-js-pure/features/get-iterator-method.js\");\nvar _pushInstanceProperty = require(\"core-js-pure/features/instance/push.js\");\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof _Symbol && _getIteratorMethod(r) || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (_pushInstanceProperty(a).call(a, e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Object$getOwnPropertySymbols = require(\"core-js-pure/features/object/get-own-property-symbols.js\");\nvar _indexOfInstanceProperty = require(\"core-js-pure/features/instance/index-of.js\");\nvar objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (_Object$getOwnPropertySymbols) {\n var n = _Object$getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === _indexOfInstanceProperty(t).call(t, o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _indexOfInstanceProperty = require(\"core-js-pure/features/instance/index-of.js\");\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== _indexOfInstanceProperty(e).call(e, n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Object$setPrototypeOf = require(\"core-js-pure/features/object/set-prototype-of.js\");\nvar _bindInstanceProperty = require(\"core-js-pure/features/instance/bind.js\");\nfunction _setPrototypeOf(t, e) {\n var _context;\n return module.exports = _setPrototypeOf = _Object$setPrototypeOf ? _bindInstanceProperty(_context = _Object$setPrototypeOf).call(_context) : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Symbol$toPrimitive = require(\"core-js-pure/features/symbol/to-primitive.js\");\nvar _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[_Symbol$toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _Symbol = require(\"core-js-pure/features/symbol/index.js\");\nvar _Symbol$iterator = require(\"core-js-pure/features/symbol/iterator.js\");\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof _Symbol && \"symbol\" == typeof _Symbol$iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof _Symbol && o.constructor === _Symbol && o !== _Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _sliceInstanceProperty = require(\"core-js-pure/features/instance/slice.js\");\nvar _Array$from = require(\"core-js-pure/features/array/from.js\");\nvar arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n var _context;\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = _sliceInstanceProperty(_context = {}.toString.call(r)).call(_context, 8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? _Array$from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nfunction _createForOfIteratorHelper(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (!t) {\n if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var _n = 0,\n F = function F() {};\n return {\n s: F,\n n: function n() {\n return _n >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[_n++]\n };\n },\n e: function e(r) {\n throw r;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var o,\n a = !0,\n u = !1;\n return {\n s: function s() {\n t = t.call(r);\n },\n n: function n() {\n var r = t.next();\n return a = r.done, r;\n },\n e: function e(r) {\n u = !0, o = r;\n },\n f: function f() {\n try {\n a || null == t[\"return\"] || t[\"return\"]();\n } finally {\n if (u) throw o;\n }\n }\n };\n}\nmodule.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn.js\");\nfunction _createSuper(t) {\n var r = isNativeReflectConstruct();\n return function () {\n var e,\n o = getPrototypeOf(t);\n if (r) {\n var s = getPrototypeOf(this).constructor;\n e = Reflect.construct(o, arguments, s);\n } else e = o.apply(this, arguments);\n return possibleConstructorReturn(this, e);\n };\n}\nmodule.exports = _createSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(e) {\n if (\"function\" != typeof WeakMap) return null;\n var r = new WeakMap(),\n t = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {\n return e ? t : r;\n })(e);\n}\nfunction _interopRequireWildcard(e, r) {\n if (!r && e && e.__esModule) return e;\n if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return {\n \"default\": e\n };\n var t = _getRequireWildcardCache(r);\n if (t && t.has(e)) return t.get(e);\n var n = {\n __proto__: null\n },\n a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {\n var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;\n i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];\n }\n return n[\"default\"] = e, t && t.set(e, n), n;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var defineProperty = require(\"./defineProperty.js\");\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(r) {\n return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defineGlobal = exports.makePublicApi = void 0;\nvar catchUserErrors_1 = require(\"../tools/catchUserErrors\");\nvar monitor_1 = require(\"../tools/monitor\");\nvar utils_1 = require(\"../tools/utils\");\nfunction makePublicApi(stub) {\n var publicApi = (0, utils_1.assign)({\n version: \"4.24.1\",\n // This API method is intentionally not monitored, since the only thing executed is the\n // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and\n // we don't want to interfere with the user uncaught exceptions.\n onReady: function (callback) {\n callback();\n },\n }, stub);\n // Add a \"hidden\" property to set debug mode. We define it that way to hide it\n // as much as possible but of course it's not a real protection.\n Object.defineProperty(publicApi, '_setDebug', {\n get: function () {\n return monitor_1.setDebugMode;\n },\n enumerable: false,\n });\n return publicApi;\n}\nexports.makePublicApi = makePublicApi;\nfunction defineGlobal(global, name, api) {\n var existingGlobalVariable = global[name];\n global[name] = api;\n if (existingGlobalVariable && existingGlobalVariable.q) {\n existingGlobalVariable.q.forEach(function (fn) { return (0, catchUserErrors_1.catchUserErrors)(fn, 'onReady callback threw an error:')(); });\n }\n}\nexports.defineGlobal = defineGlobal;\n//# sourceMappingURL=init.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCurrentSite = exports.areCookiesAuthorized = exports.deleteCookie = exports.getCookie = exports.setCookie = exports.COOKIE_ACCESS_DELAY = void 0;\nvar display_1 = require(\"../tools/display\");\nvar utils_1 = require(\"../tools/utils\");\nexports.COOKIE_ACCESS_DELAY = utils_1.ONE_SECOND;\nfunction setCookie(name, value, expireDelay, options) {\n var date = new Date();\n date.setTime(date.getTime() + expireDelay);\n var expires = \"expires=\".concat(date.toUTCString());\n var sameSite = options && options.crossSite ? 'none' : 'strict';\n var domain = options && options.domain ? \";domain=\".concat(options.domain) : '';\n var secure = options && options.secure ? ';secure' : '';\n document.cookie = \"\".concat(name, \"=\").concat(value, \";\").concat(expires, \";path=/;samesite=\").concat(sameSite).concat(domain).concat(secure);\n}\nexports.setCookie = setCookie;\nfunction getCookie(name) {\n return (0, utils_1.findCommaSeparatedValue)(document.cookie, name);\n}\nexports.getCookie = getCookie;\nfunction deleteCookie(name, options) {\n setCookie(name, '', 0, options);\n}\nexports.deleteCookie = deleteCookie;\nfunction areCookiesAuthorized(options) {\n if (document.cookie === undefined || document.cookie === null) {\n return false;\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = \"dd_cookie_test_\".concat((0, utils_1.generateUUID)());\n var testCookieValue = 'test';\n setCookie(testCookieName, testCookieValue, utils_1.ONE_SECOND, options);\n var isCookieCorrectlySet = getCookie(testCookieName) === testCookieValue;\n deleteCookie(testCookieName, options);\n return isCookieCorrectlySet;\n }\n catch (error) {\n display_1.display.error(error);\n return false;\n }\n}\nexports.areCookiesAuthorized = areCookiesAuthorized;\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nvar getCurrentSiteCache;\nfunction getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = \"dd_site_test_\".concat((0, utils_1.generateUUID)());\n var testCookieValue = 'test';\n var domainLevels = window.location.hostname.split('.');\n var candidateDomain = domainLevels.pop();\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = \"\".concat(domainLevels.pop(), \".\").concat(candidateDomain);\n setCookie(testCookieName, testCookieValue, utils_1.ONE_SECOND, { domain: candidateDomain });\n }\n deleteCookie(testCookieName, { domain: candidateDomain });\n getCurrentSiteCache = candidateDomain;\n }\n return getCurrentSiteCache;\n}\nexports.getCurrentSite = getCurrentSite;\n//# sourceMappingURL=cookie.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.initFetchObservable = void 0;\nvar instrumentMethod_1 = require(\"../tools/instrumentMethod\");\nvar monitor_1 = require(\"../tools/monitor\");\nvar observable_1 = require(\"../tools/observable\");\nvar timeUtils_1 = require(\"../tools/timeUtils\");\nvar urlPolyfill_1 = require(\"../tools/urlPolyfill\");\nvar fetchObservable;\nfunction initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable();\n }\n return fetchObservable;\n}\nexports.initFetchObservable = initFetchObservable;\nfunction createFetchObservable() {\n var observable = new observable_1.Observable(function () {\n if (!window.fetch) {\n return;\n }\n var stop = (0, instrumentMethod_1.instrumentMethod)(window, 'fetch', function (originalFetch) {\n return function (input, init) {\n var responsePromise;\n var context = (0, monitor_1.callMonitored)(beforeSend, null, [observable, input, init]);\n if (context) {\n responsePromise = originalFetch.call(this, context.input, context.init);\n (0, monitor_1.callMonitored)(afterSend, null, [observable, responsePromise, context]);\n }\n else {\n responsePromise = originalFetch.call(this, input, init);\n }\n return responsePromise;\n };\n }).stop;\n return stop;\n });\n return observable;\n}\nfunction beforeSend(observable, input, init) {\n var method = (init && init.method) || (typeof input === 'object' && input.method) || 'GET';\n var url = (0, urlPolyfill_1.normalizeUrl)((typeof input === 'object' && input.url) || input);\n var startClocks = (0, timeUtils_1.clocksNow)();\n var context = {\n state: 'start',\n init: init,\n input: input,\n method: method,\n startClocks: startClocks,\n url: url,\n };\n observable.notify(context);\n return context;\n}\nfunction afterSend(observable, responsePromise, startContext) {\n var reportFetch = function (response) {\n var context = startContext;\n context.state = 'complete';\n context.duration = (0, timeUtils_1.elapsed)(context.startClocks.timeStamp, (0, timeUtils_1.timeStampNow)());\n if ('stack' in response || response instanceof Error) {\n context.status = 0;\n context.isAborted = response instanceof DOMException && response.code === DOMException.ABORT_ERR;\n context.error = response;\n observable.notify(context);\n }\n else if ('status' in response) {\n context.response = response;\n context.responseType = response.type;\n context.status = response.status;\n context.isAborted = false;\n observable.notify(context);\n }\n };\n responsePromise.then((0, monitor_1.monitor)(reportFetch), (0, monitor_1.monitor)(reportFetch));\n}\n//# sourceMappingURL=fetchObservable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPageExitObservable = void 0;\nvar observable_1 = require(\"../tools/observable\");\nvar utils_1 = require(\"../tools/utils\");\nfunction createPageExitObservable() {\n var observable = new observable_1.Observable(function () {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n var stopVisibilityChangeListener = (0, utils_1.addEventListener)(document, \"visibilitychange\" /* VISIBILITY_CHANGE */, function () {\n if (document.visibilityState === 'hidden') {\n observable.notify({ reason: \"visibility_hidden\" /* HIDDEN */ });\n }\n }, { capture: true }).stop;\n /**\n * Safari does not support yet to send a request during:\n * - a visibility change during doc unload (cf: https://bugs.webkit.org/show_bug.cgi?id=194897)\n * - a page hide transition (cf: https://bugs.webkit.org/show_bug.cgi?id=188329)\n */\n var stopBeforeUnloadListener = (0, utils_1.addEventListener)(window, \"beforeunload\" /* BEFORE_UNLOAD */, function () {\n observable.notify({ reason: \"before_unload\" /* UNLOADING */ });\n }).stop;\n return function () {\n stopVisibilityChangeListener();\n stopBeforeUnloadListener();\n };\n });\n return observable;\n}\nexports.createPageExitObservable = createPageExitObservable;\n//# sourceMappingURL=pageExitObservable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.initXhrObservable = void 0;\nvar instrumentMethod_1 = require(\"../tools/instrumentMethod\");\nvar monitor_1 = require(\"../tools/monitor\");\nvar observable_1 = require(\"../tools/observable\");\nvar timeUtils_1 = require(\"../tools/timeUtils\");\nvar urlPolyfill_1 = require(\"../tools/urlPolyfill\");\nvar utils_1 = require(\"../tools/utils\");\nvar xhrObservable;\nvar xhrContexts = new WeakMap();\nfunction initXhrObservable() {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable();\n }\n return xhrObservable;\n}\nexports.initXhrObservable = initXhrObservable;\nfunction createXhrObservable() {\n var observable = new observable_1.Observable(function () {\n var stopInstrumentingStart = (0, instrumentMethod_1.instrumentMethodAndCallOriginal)(XMLHttpRequest.prototype, 'open', {\n before: openXhr,\n }).stop;\n var stopInstrumentingSend = (0, instrumentMethod_1.instrumentMethodAndCallOriginal)(XMLHttpRequest.prototype, 'send', {\n before: function () {\n sendXhr.call(this, observable);\n },\n }).stop;\n var stopInstrumentingAbort = (0, instrumentMethod_1.instrumentMethodAndCallOriginal)(XMLHttpRequest.prototype, 'abort', {\n before: abortXhr,\n }).stop;\n return function () {\n stopInstrumentingStart();\n stopInstrumentingSend();\n stopInstrumentingAbort();\n };\n });\n return observable;\n}\nfunction openXhr(method, url) {\n xhrContexts.set(this, {\n state: 'open',\n method: method,\n url: (0, urlPolyfill_1.normalizeUrl)(String(url)),\n });\n}\nfunction sendXhr(observable) {\n var _this = this;\n var context = xhrContexts.get(this);\n if (!context) {\n return;\n }\n var startContext = context;\n startContext.state = 'start';\n startContext.startTime = (0, timeUtils_1.relativeNow)();\n startContext.startClocks = (0, timeUtils_1.clocksNow)();\n startContext.isAborted = false;\n startContext.xhr = this;\n var hasBeenReported = false;\n var stopInstrumentingOnReadyStateChange = (0, instrumentMethod_1.instrumentMethodAndCallOriginal)(this, 'onreadystatechange', {\n before: function () {\n if (this.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during a onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd();\n }\n },\n }).stop;\n var onEnd = (0, monitor_1.monitor)(function () {\n _this.removeEventListener('loadend', onEnd);\n stopInstrumentingOnReadyStateChange();\n if (hasBeenReported) {\n return;\n }\n hasBeenReported = true;\n var completeContext = context;\n completeContext.state = 'complete';\n completeContext.duration = (0, timeUtils_1.elapsed)(startContext.startClocks.timeStamp, (0, timeUtils_1.timeStampNow)());\n completeContext.status = _this.status;\n observable.notify((0, utils_1.shallowClone)(completeContext));\n });\n this.addEventListener('loadend', onEnd);\n observable.notify(startContext);\n}\nfunction abortXhr() {\n var context = xhrContexts.get(this);\n if (context) {\n context.isAborted = true;\n }\n}\n//# sourceMappingURL=xhrObservable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializeConfiguration = exports.buildCookieOptions = exports.validateAndBuildConfiguration = exports.DefaultPrivacyLevel = void 0;\nvar cookie_1 = require(\"../../browser/cookie\");\nvar catchUserErrors_1 = require(\"../../tools/catchUserErrors\");\nvar display_1 = require(\"../../tools/display\");\nvar utils_1 = require(\"../../tools/utils\");\nvar experimentalFeatures_1 = require(\"./experimentalFeatures\");\nvar transportConfiguration_1 = require(\"./transportConfiguration\");\nexports.DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input',\n};\nfunction validateAndBuildConfiguration(initConfiguration) {\n var _a, _b, _c;\n if (!initConfiguration || !initConfiguration.clientToken) {\n display_1.display.error('Client Token is not configured, we will not send any data.');\n return;\n }\n if (initConfiguration.sampleRate !== undefined && !(0, utils_1.isPercentage)(initConfiguration.sampleRate)) {\n display_1.display.error('Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.telemetrySampleRate !== undefined && !(0, utils_1.isPercentage)(initConfiguration.telemetrySampleRate)) {\n display_1.display.error('Telemetry Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.telemetryConfigurationSampleRate !== undefined &&\n !(0, utils_1.isPercentage)(initConfiguration.telemetryConfigurationSampleRate)) {\n display_1.display.error('Telemetry Configuration Sample Rate should be a number between 0 and 100');\n return;\n }\n // Set the experimental feature flags as early as possible, so we can use them in most places\n (0, experimentalFeatures_1.updateExperimentalFeatures)(initConfiguration.enableExperimentalFeatures);\n return (0, utils_1.assign)({\n beforeSend: initConfiguration.beforeSend && (0, catchUserErrors_1.catchUserErrors)(initConfiguration.beforeSend, 'beforeSend threw an error:'),\n cookieOptions: buildCookieOptions(initConfiguration),\n sampleRate: (_a = initConfiguration.sampleRate) !== null && _a !== void 0 ? _a : 100,\n telemetrySampleRate: (_b = initConfiguration.telemetrySampleRate) !== null && _b !== void 0 ? _b : 20,\n telemetryConfigurationSampleRate: (_c = initConfiguration.telemetryConfigurationSampleRate) !== null && _c !== void 0 ? _c : 5,\n service: initConfiguration.service,\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * utils_1.ONE_KIBI_BYTE,\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: 30 * utils_1.ONE_SECOND,\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * utils_1.ONE_KIBI_BYTE,\n }, (0, transportConfiguration_1.computeTransportConfiguration)(initConfiguration));\n}\nexports.validateAndBuildConfiguration = validateAndBuildConfiguration;\nfunction buildCookieOptions(initConfiguration) {\n var cookieOptions = {};\n cookieOptions.secure = mustUseSecureCookie(initConfiguration);\n cookieOptions.crossSite = !!initConfiguration.useCrossSiteSessionCookie;\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = (0, cookie_1.getCurrentSite)();\n }\n return cookieOptions;\n}\nexports.buildCookieOptions = buildCookieOptions;\nfunction mustUseSecureCookie(initConfiguration) {\n return !!initConfiguration.useSecureSessionCookie || !!initConfiguration.useCrossSiteSessionCookie;\n}\nfunction serializeConfiguration(configuration) {\n return {\n session_sample_rate: configuration.sampleRate,\n telemetry_sample_rate: configuration.telemetrySampleRate,\n telemetry_configuration_sample_rate: configuration.telemetryConfigurationSampleRate,\n use_before_send: !!configuration.beforeSend,\n use_cross_site_session_cookie: configuration.useCrossSiteSessionCookie,\n use_secure_session_cookie: configuration.useSecureSessionCookie,\n use_proxy: configuration.proxyUrl !== undefined ? !!configuration.proxyUrl : undefined,\n silent_multiple_init: configuration.silentMultipleInit,\n track_session_across_subdomains: configuration.trackSessionAcrossSubdomains,\n track_resources: configuration.trackResources,\n track_long_task: configuration.trackLongTasks,\n };\n}\nexports.serializeConfiguration = serializeConfiguration;\n//# sourceMappingURL=configuration.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createEndpointBuilder = exports.ENDPOINTS = void 0;\nvar timeUtils_1 = require(\"../../tools/timeUtils\");\nvar urlPolyfill_1 = require(\"../../tools/urlPolyfill\");\nvar utils_1 = require(\"../../tools/utils\");\nvar intakeSites_1 = require(\"./intakeSites\");\nexports.ENDPOINTS = {\n logs: 'logs',\n rum: 'rum',\n sessionReplay: 'session-replay',\n};\nvar INTAKE_TRACKS = {\n logs: 'logs',\n rum: 'rum',\n sessionReplay: 'replay',\n};\nfunction createEndpointBuilder(initConfiguration, endpointType, configurationTags) {\n var _a = initConfiguration.site, site = _a === void 0 ? intakeSites_1.INTAKE_SITE_US1 : _a, clientToken = initConfiguration.clientToken;\n var domainParts = site.split('.');\n var extension = domainParts.pop();\n var host = \"\".concat(exports.ENDPOINTS[endpointType], \".browser-intake-\").concat(domainParts.join('-'), \".\").concat(extension);\n var baseUrl = \"https://\".concat(host, \"/api/v2/\").concat(INTAKE_TRACKS[endpointType]);\n var proxyUrl = initConfiguration.proxyUrl && (0, urlPolyfill_1.normalizeUrl)(initConfiguration.proxyUrl);\n return {\n build: function (retry) {\n var tags = [\"sdk_version:\".concat(\"4.24.1\")].concat(configurationTags);\n if (retry) {\n tags.push(\"retry_count:\".concat(retry.count), \"retry_after:\".concat(retry.lastFailureStatus));\n }\n var parameters = 'ddsource=browser' +\n \"&ddtags=\".concat(encodeURIComponent(tags.join(','))) +\n \"&dd-api-key=\".concat(clientToken) +\n \"&dd-evp-origin-version=\".concat(encodeURIComponent(\"4.24.1\")) +\n '&dd-evp-origin=browser' +\n \"&dd-request-id=\".concat((0, utils_1.generateUUID)());\n if (endpointType === 'rum') {\n parameters += \"&batch_time=\".concat((0, timeUtils_1.timeStampNow)());\n }\n var endpointUrl = \"\".concat(baseUrl, \"?\").concat(parameters);\n return proxyUrl ? \"\".concat(proxyUrl, \"?ddforward=\").concat(encodeURIComponent(endpointUrl)) : endpointUrl;\n },\n buildIntakeUrl: function () {\n return proxyUrl ? \"\".concat(proxyUrl, \"?ddforward\") : baseUrl;\n },\n endpointType: endpointType,\n };\n}\nexports.createEndpointBuilder = createEndpointBuilder;\n//# sourceMappingURL=endpointBuilder.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getExperimentalFeatures = exports.resetExperimentalFeatures = exports.isExperimentalFeatureEnabled = exports.updateExperimentalFeatures = void 0;\n/**\n * LIMITATION:\n * For NPM setup, this feature flag singleton is shared between RUM and Logs product.\n * This means that an experimental flag set on the RUM product will be set on the Logs product.\n * So keep in mind that in certain configurations, your experimental feature flag may affect other products.\n */\nvar utils_1 = require(\"../../tools/utils\");\nvar display_1 = require(\"../../tools/display\");\nvar enabledExperimentalFeatures;\nfunction updateExperimentalFeatures(enabledFeatures) {\n // Safely handle external data\n if (!Array.isArray(enabledFeatures)) {\n return;\n }\n if (!enabledExperimentalFeatures) {\n enabledExperimentalFeatures = new Set(enabledFeatures);\n }\n enabledFeatures\n .filter(function (flag) { return typeof flag === 'string'; })\n .forEach(function (flag) {\n if ((0, utils_1.includes)(flag, '-')) {\n display_1.display.warn(\"please use snake case for '\".concat(flag, \"'\"));\n }\n enabledExperimentalFeatures.add(flag);\n });\n}\nexports.updateExperimentalFeatures = updateExperimentalFeatures;\nfunction isExperimentalFeatureEnabled(featureName) {\n return !!enabledExperimentalFeatures && enabledExperimentalFeatures.has(featureName);\n}\nexports.isExperimentalFeatureEnabled = isExperimentalFeatureEnabled;\nfunction resetExperimentalFeatures() {\n enabledExperimentalFeatures = new Set();\n}\nexports.resetExperimentalFeatures = resetExperimentalFeatures;\nfunction getExperimentalFeatures() {\n return enabledExperimentalFeatures || new Set();\n}\nexports.getExperimentalFeatures = getExperimentalFeatures;\n//# sourceMappingURL=experimentalFeatures.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getExperimentalFeatures = exports.resetExperimentalFeatures = exports.updateExperimentalFeatures = exports.isExperimentalFeatureEnabled = exports.createEndpointBuilder = exports.serializeConfiguration = exports.validateAndBuildConfiguration = exports.DefaultPrivacyLevel = exports.buildCookieOptions = void 0;\nvar configuration_1 = require(\"./configuration\");\nObject.defineProperty(exports, \"buildCookieOptions\", { enumerable: true, get: function () { return configuration_1.buildCookieOptions; } });\nObject.defineProperty(exports, \"DefaultPrivacyLevel\", { enumerable: true, get: function () { return configuration_1.DefaultPrivacyLevel; } });\nObject.defineProperty(exports, \"validateAndBuildConfiguration\", { enumerable: true, get: function () { return configuration_1.validateAndBuildConfiguration; } });\nObject.defineProperty(exports, \"serializeConfiguration\", { enumerable: true, get: function () { return configuration_1.serializeConfiguration; } });\nvar endpointBuilder_1 = require(\"./endpointBuilder\");\nObject.defineProperty(exports, \"createEndpointBuilder\", { enumerable: true, get: function () { return endpointBuilder_1.createEndpointBuilder; } });\nvar experimentalFeatures_1 = require(\"./experimentalFeatures\");\nObject.defineProperty(exports, \"isExperimentalFeatureEnabled\", { enumerable: true, get: function () { return experimentalFeatures_1.isExperimentalFeatureEnabled; } });\nObject.defineProperty(exports, \"updateExperimentalFeatures\", { enumerable: true, get: function () { return experimentalFeatures_1.updateExperimentalFeatures; } });\nObject.defineProperty(exports, \"resetExperimentalFeatures\", { enumerable: true, get: function () { return experimentalFeatures_1.resetExperimentalFeatures; } });\nObject.defineProperty(exports, \"getExperimentalFeatures\", { enumerable: true, get: function () { return experimentalFeatures_1.getExperimentalFeatures; } });\n__exportStar(require(\"./intakeSites\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.INTAKE_SITE_US1_FED = exports.INTAKE_SITE_US1 = exports.INTAKE_SITE_STAGING = void 0;\nexports.INTAKE_SITE_STAGING = 'datad0g.com';\nexports.INTAKE_SITE_US1 = 'datadoghq.com';\nexports.INTAKE_SITE_US1_FED = 'ddog-gov.com';\n//# sourceMappingURL=intakeSites.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildTag = exports.buildTags = exports.TAG_SIZE_LIMIT = void 0;\nvar display_1 = require(\"../../tools/display\");\nexports.TAG_SIZE_LIMIT = 200;\nfunction buildTags(configuration) {\n var env = configuration.env, service = configuration.service, version = configuration.version, datacenter = configuration.datacenter;\n var tags = [];\n if (env) {\n tags.push(buildTag('env', env));\n }\n if (service) {\n tags.push(buildTag('service', service));\n }\n if (version) {\n tags.push(buildTag('version', version));\n }\n if (datacenter) {\n tags.push(buildTag('datacenter', datacenter));\n }\n return tags;\n}\nexports.buildTags = buildTags;\nvar FORBIDDEN_CHARACTERS = /[^a-z0-9_:./-]/;\nfunction buildTag(key, rawValue) {\n // See https://docs.datadoghq.com/getting_started/tagging/#defining-tags for tags syntax. Note\n // that the backend may not follow the exact same rules, so we only want to display an informal\n // warning.\n var valueSizeLimit = exports.TAG_SIZE_LIMIT - key.length - 1;\n if (rawValue.length > valueSizeLimit || FORBIDDEN_CHARACTERS.test(rawValue)) {\n display_1.display.warn(\"\".concat(key, \" value doesn't meet tag requirements and will be sanitized\"));\n }\n // Let the backend do most of the sanitization, but still make sure multiple tags can't be crafted\n // by forging a value containing commas.\n var sanitizedValue = rawValue.replace(/,/g, '_');\n return \"\".concat(key, \":\").concat(sanitizedValue);\n}\nexports.buildTag = buildTag;\n//# sourceMappingURL=tags.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.computeTransportConfiguration = void 0;\nvar utils_1 = require(\"../../tools/utils\");\nvar endpointBuilder_1 = require(\"./endpointBuilder\");\nvar tags_1 = require(\"./tags\");\nvar intakeSites_1 = require(\"./intakeSites\");\nfunction computeTransportConfiguration(initConfiguration) {\n var tags = (0, tags_1.buildTags)(initConfiguration);\n var endpointBuilders = computeEndpointBuilders(initConfiguration, tags);\n var intakeEndpoints = (0, utils_1.objectValues)(endpointBuilders).map(function (builder) { return builder.buildIntakeUrl(); });\n var replicaConfiguration = computeReplicaConfiguration(initConfiguration, intakeEndpoints, tags);\n return (0, utils_1.assign)({\n isIntakeUrl: function (url) { return intakeEndpoints.some(function (intakeEndpoint) { return url.indexOf(intakeEndpoint) === 0; }); },\n replica: replicaConfiguration,\n site: initConfiguration.site || intakeSites_1.INTAKE_SITE_US1,\n }, endpointBuilders);\n}\nexports.computeTransportConfiguration = computeTransportConfiguration;\nfunction computeEndpointBuilders(initConfiguration, tags) {\n return {\n logsEndpointBuilder: (0, endpointBuilder_1.createEndpointBuilder)(initConfiguration, 'logs', tags),\n rumEndpointBuilder: (0, endpointBuilder_1.createEndpointBuilder)(initConfiguration, 'rum', tags),\n sessionReplayEndpointBuilder: (0, endpointBuilder_1.createEndpointBuilder)(initConfiguration, 'sessionReplay', tags),\n };\n}\nfunction computeReplicaConfiguration(initConfiguration, intakeEndpoints, tags) {\n if (!initConfiguration.replica) {\n return;\n }\n var replicaConfiguration = (0, utils_1.assign)({}, initConfiguration, {\n site: intakeSites_1.INTAKE_SITE_US1,\n clientToken: initConfiguration.replica.clientToken,\n });\n var replicaEndpointBuilders = {\n logsEndpointBuilder: (0, endpointBuilder_1.createEndpointBuilder)(replicaConfiguration, 'logs', tags),\n rumEndpointBuilder: (0, endpointBuilder_1.createEndpointBuilder)(replicaConfiguration, 'rum', tags),\n };\n intakeEndpoints.push.apply(intakeEndpoints, (0, utils_1.objectValues)(replicaEndpointBuilders).map(function (builder) { return builder.buildIntakeUrl(); }));\n return (0, utils_1.assign)({ applicationId: initConfiguration.replica.applicationId }, replicaEndpointBuilders);\n}\n//# sourceMappingURL=transportConfiguration.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.initConsoleObservable = void 0;\nvar tracekit_1 = require(\"../tracekit\");\nvar error_1 = require(\"../../tools/error\");\nvar observable_1 = require(\"../../tools/observable\");\nvar utils_1 = require(\"../../tools/utils\");\nvar display_1 = require(\"../../tools/display\");\nvar monitor_1 = require(\"../../tools/monitor\");\nvar consoleObservablesByApi = {};\nfunction initConsoleObservable(apis) {\n var consoleObservables = apis.map(function (api) {\n if (!consoleObservablesByApi[api]) {\n consoleObservablesByApi[api] = createConsoleObservable(api);\n }\n return consoleObservablesByApi[api];\n });\n return observable_1.mergeObservables.apply(void 0, consoleObservables);\n}\nexports.initConsoleObservable = initConsoleObservable;\n/* eslint-disable no-console */\nfunction createConsoleObservable(api) {\n var observable = new observable_1.Observable(function () {\n var originalConsoleApi = console[api];\n console[api] = function () {\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n originalConsoleApi.apply(console, params);\n var handlingStack = (0, error_1.createHandlingStack)();\n (0, monitor_1.callMonitored)(function () {\n observable.notify(buildConsoleLog(params, api, handlingStack));\n });\n };\n return function () {\n console[api] = originalConsoleApi;\n };\n });\n return observable;\n}\nfunction buildConsoleLog(params, api, handlingStack) {\n // Todo: remove console error prefix in the next major version\n var message = params.map(function (param) { return formatConsoleParameters(param); }).join(' ');\n var stack;\n if (api === display_1.ConsoleApiName.error) {\n var firstErrorParam = (0, utils_1.find)(params, function (param) { return param instanceof Error; });\n stack = firstErrorParam ? (0, error_1.toStackTraceString)((0, tracekit_1.computeStackTrace)(firstErrorParam)) : undefined;\n message = \"console error: \".concat(message);\n }\n return {\n api: api,\n message: message,\n stack: stack,\n handlingStack: handlingStack,\n };\n}\nfunction formatConsoleParameters(param) {\n if (typeof param === 'string') {\n return param;\n }\n if (param instanceof Error) {\n return (0, error_1.formatErrorMessage)((0, tracekit_1.computeStackTrace)(param));\n }\n return (0, utils_1.jsonStringify)(param, undefined, 2);\n}\n//# sourceMappingURL=consoleObservable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.trackRuntimeError = void 0;\nvar error_1 = require(\"../../tools/error\");\nvar timeUtils_1 = require(\"../../tools/timeUtils\");\nvar tracekit_1 = require(\"../tracekit\");\nfunction trackRuntimeError(errorObservable) {\n return (0, tracekit_1.startUnhandledErrorCollection)(function (stackTrace, originalError) {\n errorObservable.notify((0, error_1.computeRawError)({\n stackTrace: stackTrace,\n originalError: originalError,\n startClocks: (0, timeUtils_1.clocksNow)(),\n nonErrorPrefix: 'Uncaught',\n source: error_1.ErrorSource.SOURCE,\n handling: \"unhandled\" /* UNHANDLED */,\n }));\n });\n}\nexports.trackRuntimeError = trackRuntimeError;\n//# sourceMappingURL=trackRuntimeError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.initReportObservable = exports.RawReportType = void 0;\nvar error_1 = require(\"../../tools/error\");\nvar monitor_1 = require(\"../../tools/monitor\");\nvar observable_1 = require(\"../../tools/observable\");\nvar utils_1 = require(\"../../tools/utils\");\nexports.RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation',\n};\nfunction initReportObservable(apis) {\n var observables = [];\n if ((0, utils_1.includes)(apis, exports.RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable());\n }\n var reportTypes = apis.filter(function (api) { return api !== exports.RawReportType.cspViolation; });\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes));\n }\n return observable_1.mergeObservables.apply(void 0, observables);\n}\nexports.initReportObservable = initReportObservable;\nfunction createReportObservable(reportTypes) {\n var observable = new observable_1.Observable(function () {\n if (!window.ReportingObserver) {\n return;\n }\n var handleReports = (0, monitor_1.monitor)(function (reports) {\n return reports.forEach(function (report) {\n observable.notify(buildRawReportFromReport(report));\n });\n });\n var observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true,\n });\n observer.observe();\n return function () {\n observer.disconnect();\n };\n });\n return observable;\n}\nfunction createCspViolationReportObservable() {\n var observable = new observable_1.Observable(function () {\n var handleCspViolation = (0, monitor_1.monitor)(function (event) {\n observable.notify(buildRawReportFromCspViolation(event));\n });\n var stop = (0, utils_1.addEventListener)(document, \"securitypolicyviolation\" /* SECURITY_POLICY_VIOLATION */, handleCspViolation).stop;\n return stop;\n });\n return observable;\n}\nfunction buildRawReportFromReport(_a) {\n var type = _a.type, body = _a.body;\n return {\n type: type,\n subtype: body.id,\n message: \"\".concat(type, \": \").concat(body.message),\n stack: buildStack(body.id, body.message, body.sourceFile, body.lineNumber, body.columnNumber),\n };\n}\nfunction buildRawReportFromCspViolation(event) {\n var type = exports.RawReportType.cspViolation;\n var message = \"'\".concat(event.blockedURI, \"' blocked by '\").concat(event.effectiveDirective, \"' directive\");\n return {\n type: exports.RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: \"\".concat(type, \": \").concat(message),\n stack: buildStack(event.effectiveDirective, event.originalPolicy\n ? \"\".concat(message, \" of the policy \\\"\").concat((0, utils_1.safeTruncate)(event.originalPolicy, 100, '...'), \"\\\"\")\n : 'no policy', event.sourceFile, event.lineNumber, event.columnNumber),\n };\n}\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return (sourceFile &&\n (0, error_1.toStackTraceString)({\n name: name,\n message: message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber,\n column: columnNumber,\n },\n ],\n }));\n}\n//# sourceMappingURL=reportObservable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.tryOldCookiesMigration = exports.LOGS_SESSION_KEY = exports.RUM_SESSION_KEY = exports.OLD_LOGS_COOKIE_NAME = exports.OLD_RUM_COOKIE_NAME = exports.OLD_SESSION_COOKIE_NAME = void 0;\nvar cookie_1 = require(\"../../browser/cookie\");\nvar sessionCookieStore_1 = require(\"./sessionCookieStore\");\nexports.OLD_SESSION_COOKIE_NAME = '_dd';\nexports.OLD_RUM_COOKIE_NAME = '_dd_r';\nexports.OLD_LOGS_COOKIE_NAME = '_dd_l';\n// duplicate values to avoid dependency issues\nexports.RUM_SESSION_KEY = 'rum';\nexports.LOGS_SESSION_KEY = 'logs';\n/**\n * This migration should remain in the codebase as long as older versions are available/live\n * to allow older sdk versions to be upgraded to newer versions without compatibility issues.\n */\nfunction tryOldCookiesMigration(options) {\n var sessionString = (0, cookie_1.getCookie)(sessionCookieStore_1.SESSION_COOKIE_NAME);\n var oldSessionId = (0, cookie_1.getCookie)(exports.OLD_SESSION_COOKIE_NAME);\n var oldRumType = (0, cookie_1.getCookie)(exports.OLD_RUM_COOKIE_NAME);\n var oldLogsType = (0, cookie_1.getCookie)(exports.OLD_LOGS_COOKIE_NAME);\n if (!sessionString) {\n var session = {};\n if (oldSessionId) {\n session.id = oldSessionId;\n }\n if (oldLogsType && /^[01]$/.test(oldLogsType)) {\n session[exports.LOGS_SESSION_KEY] = oldLogsType;\n }\n if (oldRumType && /^[012]$/.test(oldRumType)) {\n session[exports.RUM_SESSION_KEY] = oldRumType;\n }\n (0, sessionCookieStore_1.persistSession)(session, options);\n }\n}\nexports.tryOldCookiesMigration = tryOldCookiesMigration;\n//# sourceMappingURL=oldCookiesMigration.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SESSION_EXPIRATION_DELAY = exports.SESSION_TIME_OUT_DELAY = void 0;\nvar utils_1 = require(\"../../tools/utils\");\nexports.SESSION_TIME_OUT_DELAY = 4 * utils_1.ONE_HOUR;\nexports.SESSION_EXPIRATION_DELAY = 15 * utils_1.ONE_MINUTE;\n//# sourceMappingURL=sessionConstants.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retrieveSession = exports.toSessionString = exports.persistSession = exports.withCookieLockAccess = exports.MAX_NUMBER_OF_LOCK_RETRIES = exports.LOCK_RETRY_DELAY = exports.SESSION_COOKIE_NAME = void 0;\nvar cookie_1 = require(\"../../browser/cookie\");\nvar browserDetection_1 = require(\"../../tools/browserDetection\");\nvar monitor_1 = require(\"../../tools/monitor\");\nvar timeUtils_1 = require(\"../../tools/timeUtils\");\nvar utils = __importStar(require(\"../../tools/utils\"));\nvar sessionConstants_1 = require(\"./sessionConstants\");\nvar SESSION_ENTRY_REGEXP = /^([a-z]+)=([a-z0-9-]+)$/;\nvar SESSION_ENTRY_SEPARATOR = '&';\nexports.SESSION_COOKIE_NAME = '_dd_s';\n// arbitrary values\nexports.LOCK_RETRY_DELAY = 10;\nexports.MAX_NUMBER_OF_LOCK_RETRIES = 100;\nvar bufferedOperations = [];\nvar ongoingOperations;\nfunction withCookieLockAccess(operations, numberOfRetries) {\n var _a;\n if (numberOfRetries === void 0) { numberOfRetries = 0; }\n if (!ongoingOperations) {\n ongoingOperations = operations;\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations);\n return;\n }\n if (numberOfRetries >= exports.MAX_NUMBER_OF_LOCK_RETRIES) {\n next();\n return;\n }\n var currentLock;\n var currentSession = retrieveSession();\n if (isCookieLockEnabled()) {\n // if someone has lock, retry later\n if (currentSession.lock) {\n retryLater(operations, numberOfRetries);\n return;\n }\n // acquire lock\n currentLock = utils.generateUUID();\n currentSession.lock = currentLock;\n setSession(currentSession, operations.options);\n // if lock is not acquired, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries);\n return;\n }\n }\n var processedSession = operations.process(currentSession);\n if (isCookieLockEnabled()) {\n // if lock corrupted after process, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries);\n return;\n }\n }\n if (processedSession) {\n persistSession(processedSession, operations.options);\n }\n if (isCookieLockEnabled()) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries);\n return;\n }\n delete currentSession.lock;\n setSession(currentSession, operations.options);\n processedSession = currentSession;\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date cookie value, the value could have been modified by another tab\n (_a = operations.after) === null || _a === void 0 ? void 0 : _a.call(operations, processedSession || currentSession);\n next();\n}\nexports.withCookieLockAccess = withCookieLockAccess;\n/**\n * Cookie lock strategy allows mitigating issues due to concurrent access to cookie.\n * This issue concerns only chromium browsers and enabling this on firefox increase cookie write failures.\n */\nfunction isCookieLockEnabled() {\n return (0, browserDetection_1.isChromium)();\n}\nfunction retryLater(operations, currentNumberOfRetries) {\n setTimeout((0, monitor_1.monitor)(function () {\n withCookieLockAccess(operations, currentNumberOfRetries + 1);\n }), exports.LOCK_RETRY_DELAY);\n}\nfunction next() {\n ongoingOperations = undefined;\n var nextOperations = bufferedOperations.shift();\n if (nextOperations) {\n withCookieLockAccess(nextOperations);\n }\n}\nfunction persistSession(session, options) {\n if (isExpiredState(session)) {\n clearSession(options);\n return;\n }\n session.expire = String((0, timeUtils_1.dateNow)() + sessionConstants_1.SESSION_EXPIRATION_DELAY);\n setSession(session, options);\n}\nexports.persistSession = persistSession;\nfunction setSession(session, options) {\n (0, cookie_1.setCookie)(exports.SESSION_COOKIE_NAME, toSessionString(session), sessionConstants_1.SESSION_EXPIRATION_DELAY, options);\n}\nfunction toSessionString(session) {\n return utils\n .objectEntries(session)\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return \"\".concat(key, \"=\").concat(value);\n })\n .join(SESSION_ENTRY_SEPARATOR);\n}\nexports.toSessionString = toSessionString;\nfunction retrieveSession() {\n var sessionString = (0, cookie_1.getCookie)(exports.SESSION_COOKIE_NAME);\n var session = {};\n if (isValidSessionString(sessionString)) {\n sessionString.split(SESSION_ENTRY_SEPARATOR).forEach(function (entry) {\n var matches = SESSION_ENTRY_REGEXP.exec(entry);\n if (matches !== null) {\n var key = matches[1], value = matches[2];\n session[key] = value;\n }\n });\n }\n return session;\n}\nexports.retrieveSession = retrieveSession;\nfunction isValidSessionString(sessionString) {\n return (sessionString !== undefined &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 || SESSION_ENTRY_REGEXP.test(sessionString)));\n}\nfunction isExpiredState(session) {\n return utils.isEmptyObject(session);\n}\nfunction clearSession(options) {\n (0, cookie_1.setCookie)(exports.SESSION_COOKIE_NAME, '', 0, options);\n}\n//# sourceMappingURL=sessionCookieStore.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stopSessionManager = exports.startSessionManager = exports.VISIBILITY_CHECK_DELAY = void 0;\nvar utils = __importStar(require(\"../../tools/utils\"));\nvar contextHistory_1 = require(\"../../tools/contextHistory\");\nvar timeUtils_1 = require(\"../../tools/timeUtils\");\nvar monitor_1 = require(\"../../tools/monitor\");\nvar oldCookiesMigration_1 = require(\"./oldCookiesMigration\");\nvar sessionStore_1 = require(\"./sessionStore\");\nvar sessionConstants_1 = require(\"./sessionConstants\");\nexports.VISIBILITY_CHECK_DELAY = utils.ONE_MINUTE;\nvar SESSION_CONTEXT_TIMEOUT_DELAY = sessionConstants_1.SESSION_TIME_OUT_DELAY;\nvar stopCallbacks = [];\nfunction startSessionManager(options, productKey, computeSessionState) {\n (0, oldCookiesMigration_1.tryOldCookiesMigration)(options);\n var sessionStore = (0, sessionStore_1.startSessionStore)(options, productKey, computeSessionState);\n stopCallbacks.push(function () { return sessionStore.stop(); });\n var sessionContextHistory = new contextHistory_1.ContextHistory(SESSION_CONTEXT_TIMEOUT_DELAY);\n stopCallbacks.push(function () { return sessionContextHistory.stop(); });\n sessionStore.renewObservable.subscribe(function () {\n sessionContextHistory.add(buildSessionContext(), (0, timeUtils_1.relativeNow)());\n });\n sessionStore.expireObservable.subscribe(function () {\n sessionContextHistory.closeActive((0, timeUtils_1.relativeNow)());\n });\n sessionStore.expandOrRenewSession();\n sessionContextHistory.add(buildSessionContext(), (0, timeUtils_1.clocksOrigin)().relative);\n trackActivity(function () { return sessionStore.expandOrRenewSession(); });\n trackVisibility(function () { return sessionStore.expandSession(); });\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id,\n trackingType: sessionStore.getSession()[productKey],\n };\n }\n return {\n findActiveSession: function (startTime) { return sessionContextHistory.find(startTime); },\n renewObservable: sessionStore.renewObservable,\n expireObservable: sessionStore.expireObservable,\n };\n}\nexports.startSessionManager = startSessionManager;\nfunction stopSessionManager() {\n stopCallbacks.forEach(function (e) { return e(); });\n stopCallbacks = [];\n}\nexports.stopSessionManager = stopSessionManager;\nfunction trackActivity(expandOrRenewSession) {\n var stop = utils.addEventListeners(window, [\"click\" /* CLICK */, \"touchstart\" /* TOUCH_START */, \"keydown\" /* KEY_DOWN */, \"scroll\" /* SCROLL */], expandOrRenewSession, { capture: true, passive: true }).stop;\n stopCallbacks.push(stop);\n}\nfunction trackVisibility(expandSession) {\n var expandSessionWhenVisible = (0, monitor_1.monitor)(function () {\n if (document.visibilityState === 'visible') {\n expandSession();\n }\n });\n var stop = utils.addEventListener(document, \"visibilitychange\" /* VISIBILITY_CHANGE */, expandSessionWhenVisible).stop;\n stopCallbacks.push(stop);\n var visibilityCheckInterval = setInterval(expandSessionWhenVisible, exports.VISIBILITY_CHECK_DELAY);\n stopCallbacks.push(function () {\n clearInterval(visibilityCheckInterval);\n });\n}\n//# sourceMappingURL=sessionManager.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startSessionStore = void 0;\nvar cookie_1 = require(\"../../browser/cookie\");\nvar monitor_1 = require(\"../../tools/monitor\");\nvar observable_1 = require(\"../../tools/observable\");\nvar timeUtils_1 = require(\"../../tools/timeUtils\");\nvar utils = __importStar(require(\"../../tools/utils\"));\nvar sessionConstants_1 = require(\"./sessionConstants\");\nvar sessionCookieStore_1 = require(\"./sessionCookieStore\");\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nfunction startSessionStore(options, productKey, computeSessionState) {\n var renewObservable = new observable_1.Observable();\n var expireObservable = new observable_1.Observable();\n var watchSessionTimeoutId = setInterval((0, monitor_1.monitor)(watchSession), cookie_1.COOKIE_ACCESS_DELAY);\n var sessionCache = retrieveActiveSession();\n function expandOrRenewSession() {\n var isTracked;\n (0, sessionCookieStore_1.withCookieLockAccess)({\n options: options,\n process: function (cookieSession) {\n var synchronizedSession = synchronizeSession(cookieSession);\n isTracked = expandOrRenewCookie(synchronizedSession);\n return synchronizedSession;\n },\n after: function (cookieSession) {\n if (isTracked && !hasSessionInCache()) {\n renewSession(cookieSession);\n }\n sessionCache = cookieSession;\n },\n });\n }\n function expandSession() {\n (0, sessionCookieStore_1.withCookieLockAccess)({\n options: options,\n process: function (cookieSession) { return (hasSessionInCache() ? synchronizeSession(cookieSession) : undefined); },\n });\n }\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session cookie\n * - if the session is not active, clear the session cookie and expire the session cache\n */\n function watchSession() {\n (0, sessionCookieStore_1.withCookieLockAccess)({\n options: options,\n process: function (cookieSession) { return (!isActiveSession(cookieSession) ? {} : undefined); },\n after: synchronizeSession,\n });\n }\n function synchronizeSession(cookieSession) {\n if (!isActiveSession(cookieSession)) {\n cookieSession = {};\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(cookieSession)) {\n expireSession();\n }\n else {\n sessionCache = cookieSession;\n }\n }\n return cookieSession;\n }\n function expandOrRenewCookie(cookieSession) {\n var _a = computeSessionState(cookieSession[productKey]), trackingType = _a.trackingType, isTracked = _a.isTracked;\n cookieSession[productKey] = trackingType;\n if (isTracked && !cookieSession.id) {\n cookieSession.id = utils.generateUUID();\n cookieSession.created = String((0, timeUtils_1.dateNow)());\n }\n return isTracked;\n }\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined;\n }\n function isSessionInCacheOutdated(cookieSession) {\n return sessionCache.id !== cookieSession.id || sessionCache[productKey] !== cookieSession[productKey];\n }\n function expireSession() {\n sessionCache = {};\n expireObservable.notify();\n }\n function renewSession(cookieSession) {\n sessionCache = cookieSession;\n renewObservable.notify();\n }\n function retrieveActiveSession() {\n var session = (0, sessionCookieStore_1.retrieveSession)();\n if (isActiveSession(session)) {\n return session;\n }\n return {};\n }\n function isActiveSession(session) {\n // created and expire can be undefined for versions which was not storing them\n // these checks could be removed when older versions will not be available/live anymore\n return ((session.created === undefined || (0, timeUtils_1.dateNow)() - Number(session.created) < sessionConstants_1.SESSION_TIME_OUT_DELAY) &&\n (session.expire === undefined || (0, timeUtils_1.dateNow)() < Number(session.expire)));\n }\n return {\n expandOrRenewSession: utils.throttle((0, monitor_1.monitor)(expandOrRenewSession), cookie_1.COOKIE_ACCESS_DELAY).throttled,\n expandSession: expandSession,\n getSession: function () { return sessionCache; },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n stop: function () {\n clearInterval(watchSessionTimeoutId);\n },\n };\n}\nexports.startSessionStore = startSessionStore;\n//# sourceMappingURL=sessionStore.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSyntheticsResultId = exports.getSyntheticsTestId = exports.willSyntheticsInjectRum = exports.SYNTHETICS_INJECTS_RUM_COOKIE_NAME = exports.SYNTHETICS_RESULT_ID_COOKIE_NAME = exports.SYNTHETICS_TEST_ID_COOKIE_NAME = void 0;\nvar cookie_1 = require(\"../../browser/cookie\");\nexports.SYNTHETICS_TEST_ID_COOKIE_NAME = 'datadog-synthetics-public-id';\nexports.SYNTHETICS_RESULT_ID_COOKIE_NAME = 'datadog-synthetics-result-id';\nexports.SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'datadog-synthetics-injects-rum';\nfunction willSyntheticsInjectRum() {\n return Boolean(window._DATADOG_SYNTHETICS_INJECTS_RUM || (0, cookie_1.getCookie)(exports.SYNTHETICS_INJECTS_RUM_COOKIE_NAME));\n}\nexports.willSyntheticsInjectRum = willSyntheticsInjectRum;\nfunction getSyntheticsTestId() {\n var value = window._DATADOG_SYNTHETICS_PUBLIC_ID || (0, cookie_1.getCookie)(exports.SYNTHETICS_TEST_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\nexports.getSyntheticsTestId = getSyntheticsTestId;\nfunction getSyntheticsResultId() {\n var value = window._DATADOG_SYNTHETICS_RESULT_ID || (0, cookie_1.getCookie)(exports.SYNTHETICS_RESULT_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\nexports.getSyntheticsResultId = getSyntheticsResultId;\n//# sourceMappingURL=syntheticsWorkerValues.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.addTelemetryConfiguration = exports.isTelemetryReplicationAllowed = exports.startTelemetry = exports.resetTelemetry = exports.startFakeTelemetry = exports.addTelemetryError = exports.addTelemetryDebug = void 0;\nvar telemetry_1 = require(\"./telemetry\");\nObject.defineProperty(exports, \"addTelemetryDebug\", { enumerable: true, get: function () { return telemetry_1.addTelemetryDebug; } });\nObject.defineProperty(exports, \"addTelemetryError\", { enumerable: true, get: function () { return telemetry_1.addTelemetryError; } });\nObject.defineProperty(exports, \"startFakeTelemetry\", { enumerable: true, get: function () { return telemetry_1.startFakeTelemetry; } });\nObject.defineProperty(exports, \"resetTelemetry\", { enumerable: true, get: function () { return telemetry_1.resetTelemetry; } });\nObject.defineProperty(exports, \"startTelemetry\", { enumerable: true, get: function () { return telemetry_1.startTelemetry; } });\nObject.defineProperty(exports, \"isTelemetryReplicationAllowed\", { enumerable: true, get: function () { return telemetry_1.isTelemetryReplicationAllowed; } });\nObject.defineProperty(exports, \"addTelemetryConfiguration\", { enumerable: true, get: function () { return telemetry_1.addTelemetryConfiguration; } });\n__exportStar(require(\"./rawTelemetryEvent.types\"), exports);\n__exportStar(require(\"./telemetryEvent.types\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TelemetryType = void 0;\nexports.TelemetryType = {\n log: 'log',\n configuration: 'configuration',\n};\n//# sourceMappingURL=rawTelemetryEvent.types.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.scrubCustomerFrames = exports.formatError = exports.addTelemetryConfiguration = exports.addTelemetryError = exports.addTelemetryDebug = exports.isTelemetryReplicationAllowed = exports.resetTelemetry = exports.startFakeTelemetry = exports.startTelemetry = void 0;\nvar display_1 = require(\"../../tools/display\");\nvar error_1 = require(\"../../tools/error\");\nvar utils_1 = require(\"../../tools/utils\");\nvar configuration_1 = require(\"../configuration\");\nvar tracekit_1 = require(\"../tracekit\");\nvar observable_1 = require(\"../../tools/observable\");\nvar timeUtils_1 = require(\"../../tools/timeUtils\");\nvar monitor_1 = require(\"../../tools/monitor\");\nvar rawTelemetryEvent_types_1 = require(\"./rawTelemetryEvent.types\");\nvar ALLOWED_FRAME_URLS = [\n 'https://www.datadoghq-browser-agent.com',\n 'https://www.datad0g-browser-agent.com',\n 'http://localhost',\n '',\n];\nvar TELEMETRY_EXCLUDED_SITES = [configuration_1.INTAKE_SITE_US1_FED];\nvar telemetryConfiguration = { maxEventsPerPage: 0, sentEventCount: 0, telemetryEnabled: false, telemetryConfigurationEnabled: false };\nvar onRawTelemetryEventCollected;\nfunction startTelemetry(telemetryService, configuration) {\n var contextProvider;\n var observable = new observable_1.Observable();\n telemetryConfiguration.telemetryEnabled = (0, utils_1.performDraw)(configuration.telemetrySampleRate);\n telemetryConfiguration.telemetryConfigurationEnabled =\n telemetryConfiguration.telemetryEnabled && (0, utils_1.performDraw)(configuration.telemetryConfigurationSampleRate);\n onRawTelemetryEventCollected = function (event) {\n if (!(0, utils_1.includes)(TELEMETRY_EXCLUDED_SITES, configuration.site) && telemetryConfiguration.telemetryEnabled) {\n observable.notify(toTelemetryEvent(telemetryService, event));\n }\n };\n (0, monitor_1.startMonitorErrorCollection)(addTelemetryError);\n (0, utils_1.assign)(telemetryConfiguration, {\n maxEventsPerPage: configuration.maxTelemetryEventsPerPage,\n sentEventCount: 0,\n });\n function toTelemetryEvent(telemetryService, event) {\n return (0, utils_1.combine)({\n type: 'telemetry',\n date: (0, timeUtils_1.timeStampNow)(),\n service: telemetryService,\n version: \"4.24.1\",\n source: 'browser',\n _dd: {\n format_version: 2,\n },\n telemetry: event,\n experimental_features: (0, utils_1.arrayFrom)((0, configuration_1.getExperimentalFeatures)()),\n }, contextProvider !== undefined ? contextProvider() : {});\n }\n return {\n setContextProvider: function (provider) {\n contextProvider = provider;\n },\n observable: observable,\n };\n}\nexports.startTelemetry = startTelemetry;\nfunction startFakeTelemetry() {\n var events = [];\n (0, utils_1.assign)(telemetryConfiguration, {\n maxEventsPerPage: Infinity,\n sentEventCount: 0,\n });\n onRawTelemetryEventCollected = function (event) {\n events.push(event);\n };\n return events;\n}\nexports.startFakeTelemetry = startFakeTelemetry;\nfunction resetTelemetry() {\n onRawTelemetryEventCollected = undefined;\n}\nexports.resetTelemetry = resetTelemetry;\n/**\n * Avoid mixing telemetry events from different data centers\n * but keep replicating staging events for reliability\n */\nfunction isTelemetryReplicationAllowed(configuration) {\n return configuration.site === configuration_1.INTAKE_SITE_STAGING;\n}\nexports.isTelemetryReplicationAllowed = isTelemetryReplicationAllowed;\nfunction addTelemetryDebug(message, context) {\n (0, monitor_1.displayIfDebugEnabled)(display_1.ConsoleApiName.debug, message, context);\n addTelemetry((0, utils_1.assign)({\n type: rawTelemetryEvent_types_1.TelemetryType.log,\n message: message,\n status: \"debug\" /* debug */,\n }, context));\n}\nexports.addTelemetryDebug = addTelemetryDebug;\nfunction addTelemetryError(e) {\n addTelemetry((0, utils_1.assign)({\n type: rawTelemetryEvent_types_1.TelemetryType.log,\n status: \"error\" /* error */,\n }, formatError(e)));\n}\nexports.addTelemetryError = addTelemetryError;\nfunction addTelemetryConfiguration(configuration) {\n if (telemetryConfiguration.telemetryConfigurationEnabled) {\n addTelemetry({\n type: rawTelemetryEvent_types_1.TelemetryType.configuration,\n configuration: configuration,\n });\n }\n}\nexports.addTelemetryConfiguration = addTelemetryConfiguration;\nfunction addTelemetry(event) {\n if (onRawTelemetryEventCollected && telemetryConfiguration.sentEventCount < telemetryConfiguration.maxEventsPerPage) {\n telemetryConfiguration.sentEventCount += 1;\n onRawTelemetryEventCollected(event);\n }\n}\nfunction formatError(e) {\n if (e instanceof Error) {\n var stackTrace = (0, tracekit_1.computeStackTrace)(e);\n return {\n error: {\n kind: stackTrace.name,\n stack: (0, error_1.toStackTraceString)(scrubCustomerFrames(stackTrace)),\n },\n message: stackTrace.message,\n };\n }\n return {\n error: {\n stack: 'Not an instance of error',\n },\n message: \"Uncaught \".concat((0, utils_1.jsonStringify)(e)),\n };\n}\nexports.formatError = formatError;\nfunction scrubCustomerFrames(stackTrace) {\n stackTrace.stack = stackTrace.stack.filter(function (frame) { return !frame.url || ALLOWED_FRAME_URLS.some(function (allowedFrameUrl) { return (0, utils_1.startsWith)(frame.url, allowedFrameUrl); }); });\n return stackTrace;\n}\nexports.scrubCustomerFrames = scrubCustomerFrames;\n//# sourceMappingURL=telemetry.js.map","\"use strict\";\n/* eslint-disable */\n/**\n * DO NOT MODIFY IT BY HAND. Run `yarn rum-events-format:sync` instead.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=telemetryEvent.types.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.computeStackTrace = void 0;\nvar utils_1 = require(\"../../tools/utils\");\nvar UNKNOWN_FUNCTION = '?';\n/**\n * Computes a stack trace for an exception.\n */\nfunction computeStackTrace(ex) {\n var stack = [];\n var stackProperty = tryToGetString(ex, 'stack');\n var exString = String(ex);\n if (stackProperty && (0, utils_1.startsWith)(stackProperty, exString)) {\n stackProperty = stackProperty.slice(exString.length);\n }\n if (stackProperty) {\n stackProperty.split('\\n').forEach(function (line) {\n var stackFrame = parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line);\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION;\n }\n stack.push(stackFrame);\n }\n });\n }\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack: stack,\n };\n}\nexports.computeStackTrace = computeStackTrace;\nvar fileUrl = '((?:file|https?|blob|chrome-extension|native|eval|webpack||\\\\w+\\\\.|\\\\/).*?)';\nvar filePosition = '(?::(\\\\d+))';\nvar CHROME_LINE_RE = new RegExp(\"^\\\\s*at (.*?) ?\\\\(\".concat(fileUrl).concat(filePosition, \"?\").concat(filePosition, \"?\\\\)?\\\\s*$\"), 'i');\nvar CHROME_EVAL_RE = new RegExp(\"\\\\((\\\\S*)\".concat(filePosition).concat(filePosition, \"\\\\)\"));\nfunction parseChromeLine(line) {\n var parts = CHROME_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n var submatch = CHROME_EVAL_RE.exec(parts[2]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n };\n}\nvar CHROME_ANONYMOUS_FUNCTION_RE = new RegExp(\"^\\\\s*at ?\".concat(fileUrl).concat(filePosition, \"?\").concat(filePosition, \"??\\\\s*$\"), 'i');\nfunction parseChromeAnonymousLine(line) {\n var parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[3] ? +parts[3] : undefined,\n func: UNKNOWN_FUNCTION,\n line: parts[2] ? +parts[2] : undefined,\n url: parts[1],\n };\n}\nvar WINJS_LINE_RE = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nfunction parseWinLine(line) {\n var parts = WINJS_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n };\n}\nvar GECKO_LINE_RE = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nfunction parseGeckoLine(line) {\n var parts = GECKO_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = GECKO_EVAL_RE.exec(parts[3]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = undefined; // no column when eval\n }\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n };\n}\nfunction tryToGetString(candidate, property) {\n if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {\n return undefined;\n }\n var value = candidate[property];\n return typeof value === 'string' ? value : undefined;\n}\n//# sourceMappingURL=computeStackTrace.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startUnhandledErrorCollection = exports.computeStackTrace = void 0;\nvar computeStackTrace_1 = require(\"./computeStackTrace\");\nObject.defineProperty(exports, \"computeStackTrace\", { enumerable: true, get: function () { return computeStackTrace_1.computeStackTrace; } });\nvar tracekit_1 = require(\"./tracekit\");\nObject.defineProperty(exports, \"startUnhandledErrorCollection\", { enumerable: true, get: function () { return tracekit_1.startUnhandledErrorCollection; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startUnhandledErrorCollection = void 0;\nvar instrumentMethod_1 = require(\"../../tools/instrumentMethod\");\nvar computeStackTrace_1 = require(\"./computeStackTrace\");\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nvar ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;\n/**\n * Cross-browser collection of unhandled errors\n *\n * Supports:\n * - Firefox: full stack trace with line numbers, plus column number\n * on top frame; column number is not guaranteed\n * - Opera: full stack trace with line and column numbers\n * - Chrome: full stack trace with line and column numbers\n * - Safari: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n * - IE: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n *\n * In theory, TraceKit should work on all of the following versions:\n * - IE5.5+ (only 8.0 tested)\n * - Firefox 0.9+ (only 3.5+ tested)\n * - Opera 7+ (only 10.50 tested; versions 9 and earlier may require\n * Exceptions Have Stacktrace to be enabled in opera:config)\n * - Safari 3+ (only 4+ tested)\n * - Chrome 1+ (only 5+ tested)\n * - Konqueror 3.5+ (untested)\n *\n * Tries to catch all unhandled errors and report them to the\n * callback.\n *\n * Callbacks receive a StackTrace object as described in the\n * computeStackTrace docs.\n *\n * @memberof TraceKit\n * @namespace\n */\nfunction startUnhandledErrorCollection(callback) {\n var stopInstrumentingOnError = instrumentOnError(callback).stop;\n var stopInstrumentingOnUnhandledRejection = instrumentUnhandledRejection(callback).stop;\n return {\n stop: function () {\n stopInstrumentingOnError();\n stopInstrumentingOnUnhandledRejection();\n },\n };\n}\nexports.startUnhandledErrorCollection = startUnhandledErrorCollection;\n/**\n * Install a global onerror handler\n */\nfunction instrumentOnError(callback) {\n return (0, instrumentMethod_1.instrumentMethodAndCallOriginal)(window, 'onerror', {\n before: function (message, url, lineNo, columnNo, errorObj) {\n var stack;\n if (errorObj) {\n stack = (0, computeStackTrace_1.computeStackTrace)(errorObj);\n callback(stack, errorObj);\n }\n else {\n var location_1 = {\n url: url,\n column: columnNo,\n line: lineNo,\n };\n var name_1;\n var msg = message;\n if ({}.toString.call(message) === '[object String]') {\n var groups = ERROR_TYPES_RE.exec(msg);\n if (groups) {\n name_1 = groups[1];\n msg = groups[2];\n }\n }\n stack = {\n name: name_1,\n message: typeof msg === 'string' ? msg : undefined,\n stack: [location_1],\n };\n callback(stack, message);\n }\n },\n });\n}\n/**\n * Install a global onunhandledrejection handler\n */\nfunction instrumentUnhandledRejection(callback) {\n return (0, instrumentMethod_1.instrumentMethodAndCallOriginal)(window, 'onunhandledrejection', {\n before: function (e) {\n var reason = e.reason || 'Empty reason';\n var stack = (0, computeStackTrace_1.computeStackTrace)(reason);\n callback(stack, reason);\n },\n });\n}\n//# sourceMappingURL=tracekit.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./user.types\"), exports);\n__exportStar(require(\"./user\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkUser = exports.sanitizeUser = void 0;\nvar display_1 = require(\"../../tools/display\");\nvar utils_1 = require(\"../../tools/utils\");\n/**\n * Clone input data and ensure known user properties (id, name, email)\n * are strings, as defined here:\n * https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#user-related-attributes\n */\nfunction sanitizeUser(newUser) {\n // We shallow clone only to prevent mutation of user data.\n var user = (0, utils_1.assign)({}, newUser);\n var keys = ['id', 'name', 'email'];\n keys.forEach(function (key) {\n if (key in user) {\n user[key] = String(user[key]);\n }\n });\n return user;\n}\nexports.sanitizeUser = sanitizeUser;\n/**\n * Simple check to ensure user is valid\n */\nfunction checkUser(newUser) {\n var isValid = (0, utils_1.getType)(newUser) === 'object';\n if (!isValid) {\n display_1.display.error('Unsupported user:', newUser);\n }\n return isValid;\n}\nexports.checkUser = checkUser;\n//# sourceMappingURL=user.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=user.types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.initConsoleObservable = exports.createPageExitObservable = exports.initFetchObservable = exports.initXhrObservable = exports.COOKIE_ACCESS_DELAY = exports.deleteCookie = exports.setCookie = exports.getCookie = exports.areCookiesAuthorized = exports.getFileFromStackTraceString = exports.toStackTraceString = exports.createHandlingStack = exports.computeRawError = exports.ErrorSource = exports.instrumentSetter = exports.instrumentMethodAndCallOriginal = exports.instrumentMethod = exports.startBatchWithReplica = exports.getEventBridge = exports.canUseEventBridge = exports.Batch = exports.createHttpRequest = exports.SESSION_TIME_OUT_DELAY = exports.stopSessionManager = exports.startSessionManager = exports.Observable = exports.setDebugMode = exports.callMonitored = exports.monitor = exports.monitored = exports.addTelemetryConfiguration = exports.isTelemetryReplicationAllowed = exports.resetTelemetry = exports.startFakeTelemetry = exports.addTelemetryError = exports.addTelemetryDebug = exports.startTelemetry = exports.RawReportType = exports.initReportObservable = exports.makePublicApi = exports.defineGlobal = exports.computeStackTrace = exports.trackRuntimeError = exports.serializeConfiguration = exports.resetExperimentalFeatures = exports.updateExperimentalFeatures = exports.isExperimentalFeatureEnabled = exports.DefaultPrivacyLevel = exports.validateAndBuildConfiguration = exports.buildCookieOptions = void 0;\nexports.sanitizeUser = exports.checkUser = exports.getSyntheticsResultId = exports.getSyntheticsTestId = exports.willSyntheticsInjectRum = exports.SESSION_COOKIE_NAME = exports.CLEAR_OLD_CONTEXTS_INTERVAL = exports.ContextHistory = exports.limitModification = exports.createContextManager = exports.catchUserErrors = exports.BoundedBuffer = void 0;\nvar configuration_1 = require(\"./domain/configuration\");\nObject.defineProperty(exports, \"buildCookieOptions\", { enumerable: true, get: function () { return configuration_1.buildCookieOptions; } });\nObject.defineProperty(exports, \"validateAndBuildConfiguration\", { enumerable: true, get: function () { return configuration_1.validateAndBuildConfiguration; } });\nObject.defineProperty(exports, \"DefaultPrivacyLevel\", { enumerable: true, get: function () { return configuration_1.DefaultPrivacyLevel; } });\nObject.defineProperty(exports, \"isExperimentalFeatureEnabled\", { enumerable: true, get: function () { return configuration_1.isExperimentalFeatureEnabled; } });\nObject.defineProperty(exports, \"updateExperimentalFeatures\", { enumerable: true, get: function () { return configuration_1.updateExperimentalFeatures; } });\nObject.defineProperty(exports, \"resetExperimentalFeatures\", { enumerable: true, get: function () { return configuration_1.resetExperimentalFeatures; } });\nObject.defineProperty(exports, \"serializeConfiguration\", { enumerable: true, get: function () { return configuration_1.serializeConfiguration; } });\nvar trackRuntimeError_1 = require(\"./domain/error/trackRuntimeError\");\nObject.defineProperty(exports, \"trackRuntimeError\", { enumerable: true, get: function () { return trackRuntimeError_1.trackRuntimeError; } });\nvar tracekit_1 = require(\"./domain/tracekit\");\nObject.defineProperty(exports, \"computeStackTrace\", { enumerable: true, get: function () { return tracekit_1.computeStackTrace; } });\nvar init_1 = require(\"./boot/init\");\nObject.defineProperty(exports, \"defineGlobal\", { enumerable: true, get: function () { return init_1.defineGlobal; } });\nObject.defineProperty(exports, \"makePublicApi\", { enumerable: true, get: function () { return init_1.makePublicApi; } });\nvar reportObservable_1 = require(\"./domain/report/reportObservable\");\nObject.defineProperty(exports, \"initReportObservable\", { enumerable: true, get: function () { return reportObservable_1.initReportObservable; } });\nObject.defineProperty(exports, \"RawReportType\", { enumerable: true, get: function () { return reportObservable_1.RawReportType; } });\nvar telemetry_1 = require(\"./domain/telemetry\");\nObject.defineProperty(exports, \"startTelemetry\", { enumerable: true, get: function () { return telemetry_1.startTelemetry; } });\nObject.defineProperty(exports, \"addTelemetryDebug\", { enumerable: true, get: function () { return telemetry_1.addTelemetryDebug; } });\nObject.defineProperty(exports, \"addTelemetryError\", { enumerable: true, get: function () { return telemetry_1.addTelemetryError; } });\nObject.defineProperty(exports, \"startFakeTelemetry\", { enumerable: true, get: function () { return telemetry_1.startFakeTelemetry; } });\nObject.defineProperty(exports, \"resetTelemetry\", { enumerable: true, get: function () { return telemetry_1.resetTelemetry; } });\nObject.defineProperty(exports, \"isTelemetryReplicationAllowed\", { enumerable: true, get: function () { return telemetry_1.isTelemetryReplicationAllowed; } });\nObject.defineProperty(exports, \"addTelemetryConfiguration\", { enumerable: true, get: function () { return telemetry_1.addTelemetryConfiguration; } });\nvar monitor_1 = require(\"./tools/monitor\");\nObject.defineProperty(exports, \"monitored\", { enumerable: true, get: function () { return monitor_1.monitored; } });\nObject.defineProperty(exports, \"monitor\", { enumerable: true, get: function () { return monitor_1.monitor; } });\nObject.defineProperty(exports, \"callMonitored\", { enumerable: true, get: function () { return monitor_1.callMonitored; } });\nObject.defineProperty(exports, \"setDebugMode\", { enumerable: true, get: function () { return monitor_1.setDebugMode; } });\nvar observable_1 = require(\"./tools/observable\");\nObject.defineProperty(exports, \"Observable\", { enumerable: true, get: function () { return observable_1.Observable; } });\nvar sessionManager_1 = require(\"./domain/session/sessionManager\");\nObject.defineProperty(exports, \"startSessionManager\", { enumerable: true, get: function () { return sessionManager_1.startSessionManager; } });\n// Exposed for tests\nObject.defineProperty(exports, \"stopSessionManager\", { enumerable: true, get: function () { return sessionManager_1.stopSessionManager; } });\nvar sessionConstants_1 = require(\"./domain/session/sessionConstants\");\nObject.defineProperty(exports, \"SESSION_TIME_OUT_DELAY\", { enumerable: true, get: function () { return sessionConstants_1.SESSION_TIME_OUT_DELAY; } });\nvar transport_1 = require(\"./transport\");\nObject.defineProperty(exports, \"createHttpRequest\", { enumerable: true, get: function () { return transport_1.createHttpRequest; } });\nObject.defineProperty(exports, \"Batch\", { enumerable: true, get: function () { return transport_1.Batch; } });\nObject.defineProperty(exports, \"canUseEventBridge\", { enumerable: true, get: function () { return transport_1.canUseEventBridge; } });\nObject.defineProperty(exports, \"getEventBridge\", { enumerable: true, get: function () { return transport_1.getEventBridge; } });\nObject.defineProperty(exports, \"startBatchWithReplica\", { enumerable: true, get: function () { return transport_1.startBatchWithReplica; } });\n__exportStar(require(\"./tools/display\"), exports);\n__exportStar(require(\"./tools/urlPolyfill\"), exports);\n__exportStar(require(\"./tools/timeUtils\"), exports);\n__exportStar(require(\"./tools/utils\"), exports);\n__exportStar(require(\"./tools/createEventRateLimiter\"), exports);\n__exportStar(require(\"./tools/browserDetection\"), exports);\nvar instrumentMethod_1 = require(\"./tools/instrumentMethod\");\nObject.defineProperty(exports, \"instrumentMethod\", { enumerable: true, get: function () { return instrumentMethod_1.instrumentMethod; } });\nObject.defineProperty(exports, \"instrumentMethodAndCallOriginal\", { enumerable: true, get: function () { return instrumentMethod_1.instrumentMethodAndCallOriginal; } });\nObject.defineProperty(exports, \"instrumentSetter\", { enumerable: true, get: function () { return instrumentMethod_1.instrumentSetter; } });\nvar error_1 = require(\"./tools/error\");\nObject.defineProperty(exports, \"ErrorSource\", { enumerable: true, get: function () { return error_1.ErrorSource; } });\nObject.defineProperty(exports, \"computeRawError\", { enumerable: true, get: function () { return error_1.computeRawError; } });\nObject.defineProperty(exports, \"createHandlingStack\", { enumerable: true, get: function () { return error_1.createHandlingStack; } });\nObject.defineProperty(exports, \"toStackTraceString\", { enumerable: true, get: function () { return error_1.toStackTraceString; } });\nObject.defineProperty(exports, \"getFileFromStackTraceString\", { enumerable: true, get: function () { return error_1.getFileFromStackTraceString; } });\nvar cookie_1 = require(\"./browser/cookie\");\nObject.defineProperty(exports, \"areCookiesAuthorized\", { enumerable: true, get: function () { return cookie_1.areCookiesAuthorized; } });\nObject.defineProperty(exports, \"getCookie\", { enumerable: true, get: function () { return cookie_1.getCookie; } });\nObject.defineProperty(exports, \"setCookie\", { enumerable: true, get: function () { return cookie_1.setCookie; } });\nObject.defineProperty(exports, \"deleteCookie\", { enumerable: true, get: function () { return cookie_1.deleteCookie; } });\nObject.defineProperty(exports, \"COOKIE_ACCESS_DELAY\", { enumerable: true, get: function () { return cookie_1.COOKIE_ACCESS_DELAY; } });\nvar xhrObservable_1 = require(\"./browser/xhrObservable\");\nObject.defineProperty(exports, \"initXhrObservable\", { enumerable: true, get: function () { return xhrObservable_1.initXhrObservable; } });\nvar fetchObservable_1 = require(\"./browser/fetchObservable\");\nObject.defineProperty(exports, \"initFetchObservable\", { enumerable: true, get: function () { return fetchObservable_1.initFetchObservable; } });\nvar pageExitObservable_1 = require(\"./browser/pageExitObservable\");\nObject.defineProperty(exports, \"createPageExitObservable\", { enumerable: true, get: function () { return pageExitObservable_1.createPageExitObservable; } });\nvar consoleObservable_1 = require(\"./domain/console/consoleObservable\");\nObject.defineProperty(exports, \"initConsoleObservable\", { enumerable: true, get: function () { return consoleObservable_1.initConsoleObservable; } });\nvar boundedBuffer_1 = require(\"./tools/boundedBuffer\");\nObject.defineProperty(exports, \"BoundedBuffer\", { enumerable: true, get: function () { return boundedBuffer_1.BoundedBuffer; } });\nvar catchUserErrors_1 = require(\"./tools/catchUserErrors\");\nObject.defineProperty(exports, \"catchUserErrors\", { enumerable: true, get: function () { return catchUserErrors_1.catchUserErrors; } });\nvar contextManager_1 = require(\"./tools/contextManager\");\nObject.defineProperty(exports, \"createContextManager\", { enumerable: true, get: function () { return contextManager_1.createContextManager; } });\nvar limitModification_1 = require(\"./tools/limitModification\");\nObject.defineProperty(exports, \"limitModification\", { enumerable: true, get: function () { return limitModification_1.limitModification; } });\nvar contextHistory_1 = require(\"./tools/contextHistory\");\nObject.defineProperty(exports, \"ContextHistory\", { enumerable: true, get: function () { return contextHistory_1.ContextHistory; } });\nObject.defineProperty(exports, \"CLEAR_OLD_CONTEXTS_INTERVAL\", { enumerable: true, get: function () { return contextHistory_1.CLEAR_OLD_CONTEXTS_INTERVAL; } });\nvar sessionCookieStore_1 = require(\"./domain/session/sessionCookieStore\");\nObject.defineProperty(exports, \"SESSION_COOKIE_NAME\", { enumerable: true, get: function () { return sessionCookieStore_1.SESSION_COOKIE_NAME; } });\nvar syntheticsWorkerValues_1 = require(\"./domain/synthetics/syntheticsWorkerValues\");\nObject.defineProperty(exports, \"willSyntheticsInjectRum\", { enumerable: true, get: function () { return syntheticsWorkerValues_1.willSyntheticsInjectRum; } });\nObject.defineProperty(exports, \"getSyntheticsTestId\", { enumerable: true, get: function () { return syntheticsWorkerValues_1.getSyntheticsTestId; } });\nObject.defineProperty(exports, \"getSyntheticsResultId\", { enumerable: true, get: function () { return syntheticsWorkerValues_1.getSyntheticsResultId; } });\nvar user_1 = require(\"./domain/user\");\nObject.defineProperty(exports, \"checkUser\", { enumerable: true, get: function () { return user_1.checkUser; } });\nObject.defineProperty(exports, \"sanitizeUser\", { enumerable: true, get: function () { return user_1.sanitizeUser; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BoundedBuffer = void 0;\nvar BUFFER_LIMIT = 500;\nvar BoundedBuffer = /** @class */ (function () {\n function BoundedBuffer() {\n this.buffer = [];\n }\n BoundedBuffer.prototype.add = function (callback) {\n var length = this.buffer.push(callback);\n if (length > BUFFER_LIMIT) {\n this.buffer.splice(0, 1);\n }\n };\n BoundedBuffer.prototype.drain = function () {\n this.buffer.forEach(function (callback) { return callback(); });\n this.buffer.length = 0;\n };\n return BoundedBuffer;\n}());\nexports.BoundedBuffer = BoundedBuffer;\n//# sourceMappingURL=boundedBuffer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isChromium = exports.isIE = void 0;\nfunction isIE() {\n return Boolean(document.documentMode);\n}\nexports.isIE = isIE;\nfunction isChromium() {\n return !!window.chrome || /HeadlessChrome/.test(window.navigator.userAgent);\n}\nexports.isChromium = isChromium;\n//# sourceMappingURL=browserDetection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.catchUserErrors = void 0;\nvar display_1 = require(\"./display\");\nfunction catchUserErrors(fn, errorMsg) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n try {\n return fn.apply(void 0, args);\n }\n catch (err) {\n display_1.display.error(errorMsg, err);\n }\n };\n}\nexports.catchUserErrors = catchUserErrors;\n//# sourceMappingURL=catchUserErrors.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContextHistory = exports.CLEAR_OLD_CONTEXTS_INTERVAL = void 0;\nvar timeUtils_1 = require(\"./timeUtils\");\nvar utils_1 = require(\"./utils\");\nvar END_OF_TIMES = Infinity;\nexports.CLEAR_OLD_CONTEXTS_INTERVAL = utils_1.ONE_MINUTE;\n/**\n * Store and keep track of contexts spans. This whole class assumes that contexts are added in\n * chronological order (i.e. all entries have an increasing start time).\n */\nvar ContextHistory = /** @class */ (function () {\n function ContextHistory(expireDelay) {\n var _this = this;\n this.expireDelay = expireDelay;\n this.entries = [];\n this.clearOldContextsInterval = setInterval(function () { return _this.clearOldContexts(); }, exports.CLEAR_OLD_CONTEXTS_INTERVAL);\n }\n /**\n * Add a context to the history associated with a start time. Returns a reference to this newly\n * added entry that can be removed or closed.\n */\n ContextHistory.prototype.add = function (context, startTime) {\n var _this = this;\n var entry = {\n context: context,\n startTime: startTime,\n endTime: END_OF_TIMES,\n remove: function () {\n var index = _this.entries.indexOf(entry);\n if (index >= 0) {\n _this.entries.splice(index, 1);\n }\n },\n close: function (endTime) {\n entry.endTime = endTime;\n },\n };\n this.entries.unshift(entry);\n return entry;\n };\n /**\n * Return the latest context that was active during `startTime`, or the currently active context\n * if no `startTime` is provided. This method assumes that entries are not overlapping.\n */\n ContextHistory.prototype.find = function (startTime) {\n if (startTime === void 0) { startTime = END_OF_TIMES; }\n for (var _i = 0, _a = this.entries; _i < _a.length; _i++) {\n var entry = _a[_i];\n if (entry.startTime <= startTime) {\n if (startTime <= entry.endTime) {\n return entry.context;\n }\n break;\n }\n }\n };\n /**\n * Helper function to close the currently active context, if any. This method assumes that entries\n * are not overlapping.\n */\n ContextHistory.prototype.closeActive = function (endTime) {\n var latestEntry = this.entries[0];\n if (latestEntry && latestEntry.endTime === END_OF_TIMES) {\n latestEntry.close(endTime);\n }\n };\n /**\n * Return all contexts that were active during `startTime`, or all currently active contexts if no\n * `startTime` is provided.\n */\n ContextHistory.prototype.findAll = function (startTime) {\n if (startTime === void 0) { startTime = END_OF_TIMES; }\n return this.entries\n .filter(function (entry) { return entry.startTime <= startTime && startTime <= entry.endTime; })\n .map(function (entry) { return entry.context; });\n };\n /**\n * Remove all entries from this collection.\n */\n ContextHistory.prototype.reset = function () {\n this.entries = [];\n };\n /**\n * Stop internal garbage collection of past entries.\n */\n ContextHistory.prototype.stop = function () {\n clearInterval(this.clearOldContextsInterval);\n };\n ContextHistory.prototype.clearOldContexts = function () {\n var oldTimeThreshold = (0, timeUtils_1.relativeNow)() - this.expireDelay;\n while (this.entries.length > 0 && this.entries[this.entries.length - 1].endTime < oldTimeThreshold) {\n this.entries.pop();\n }\n };\n return ContextHistory;\n}());\nexports.ContextHistory = ContextHistory;\n//# sourceMappingURL=contextHistory.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createContextManager = void 0;\nvar utils_1 = require(\"./utils\");\nfunction createContextManager() {\n var context = {};\n return {\n /** @deprecated use getContext instead */\n get: function () { return context; },\n /** @deprecated use setContextProperty instead */\n add: function (key, value) {\n context[key] = value;\n },\n /** @deprecated renamed to removeContextProperty */\n remove: function (key) {\n delete context[key];\n },\n /** @deprecated use setContext instead */\n set: function (newContext) {\n context = newContext;\n },\n getContext: function () { return (0, utils_1.deepClone)(context); },\n setContext: function (newContext) {\n context = (0, utils_1.deepClone)(newContext);\n },\n setContextProperty: function (key, property) {\n context[key] = (0, utils_1.deepClone)(property);\n },\n removeContextProperty: function (key) {\n delete context[key];\n },\n clearContext: function () {\n context = {};\n },\n };\n}\nexports.createContextManager = createContextManager;\n//# sourceMappingURL=contextManager.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createEventRateLimiter = void 0;\nvar error_1 = require(\"./error\");\nvar timeUtils_1 = require(\"./timeUtils\");\nvar utils_1 = require(\"./utils\");\nfunction createEventRateLimiter(eventType, limit, onLimitReached) {\n var eventCount = 0;\n var allowNextEvent = false;\n return {\n isLimitReached: function () {\n if (eventCount === 0) {\n setTimeout(function () {\n eventCount = 0;\n }, utils_1.ONE_MINUTE);\n }\n eventCount += 1;\n if (eventCount <= limit || allowNextEvent) {\n allowNextEvent = false;\n return false;\n }\n if (eventCount === limit + 1) {\n allowNextEvent = true;\n try {\n onLimitReached({\n message: \"Reached max number of \".concat(eventType, \"s by minute: \").concat(limit),\n source: error_1.ErrorSource.AGENT,\n startClocks: (0, timeUtils_1.clocksNow)(),\n });\n }\n finally {\n allowNextEvent = false;\n }\n }\n return true;\n },\n };\n}\nexports.createEventRateLimiter = createEventRateLimiter;\n//# sourceMappingURL=createEventRateLimiter.js.map","\"use strict\";\n/* eslint-disable no-console, local-rules/disallow-side-effects */\n/**\n * Keep references on console methods to avoid triggering patched behaviors\n *\n * NB: in some setup, console could already be patched by another SDK.\n * In this case, some display messages can be sent by the other SDK\n * but we should be safe from infinite loop nonetheless.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.display = exports.ConsoleApiName = void 0;\nexports.ConsoleApiName = {\n log: 'log',\n debug: 'debug',\n info: 'info',\n warn: 'warn',\n error: 'error',\n};\nvar display = function (api) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!Object.prototype.hasOwnProperty.call(exports.ConsoleApiName, api)) {\n api = exports.ConsoleApiName.log;\n }\n exports.display[api].apply(exports.display, args);\n};\nexports.display = display;\nexports.display.debug = console.debug.bind(console);\nexports.display.log = console.log.bind(console);\nexports.display.info = console.info.bind(console);\nexports.display.warn = console.warn.bind(console);\nexports.display.error = console.error.bind(console);\n//# sourceMappingURL=display.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.flattenErrorCauses = exports.createHandlingStack = exports.formatErrorMessage = exports.getFileFromStackTraceString = exports.toStackTraceString = exports.computeRawError = exports.ErrorSource = void 0;\nvar tracekit_1 = require(\"../domain/tracekit\");\nvar monitor_1 = require(\"./monitor\");\nvar utils_1 = require(\"./utils\");\nexports.ErrorSource = {\n AGENT: 'agent',\n CONSOLE: 'console',\n CUSTOM: 'custom',\n LOGGER: 'logger',\n NETWORK: 'network',\n SOURCE: 'source',\n REPORT: 'report',\n};\nfunction computeRawError(_a) {\n var stackTrace = _a.stackTrace, originalError = _a.originalError, handlingStack = _a.handlingStack, startClocks = _a.startClocks, nonErrorPrefix = _a.nonErrorPrefix, source = _a.source, handling = _a.handling;\n if (!stackTrace || (stackTrace.message === undefined && !(originalError instanceof Error))) {\n return {\n startClocks: startClocks,\n source: source,\n handling: handling,\n originalError: originalError,\n message: \"\".concat(nonErrorPrefix, \" \").concat((0, utils_1.jsonStringify)(originalError)),\n stack: 'No stack, consider using an instance of Error',\n handlingStack: handlingStack,\n type: stackTrace && stackTrace.name,\n };\n }\n return {\n startClocks: startClocks,\n source: source,\n handling: handling,\n originalError: originalError,\n message: stackTrace.message || 'Empty message',\n stack: toStackTraceString(stackTrace),\n handlingStack: handlingStack,\n type: stackTrace.name,\n causes: flattenErrorCauses(originalError, source),\n };\n}\nexports.computeRawError = computeRawError;\nfunction toStackTraceString(stack) {\n var result = formatErrorMessage(stack);\n stack.stack.forEach(function (frame) {\n var func = frame.func === '?' ? '' : frame.func;\n var args = frame.args && frame.args.length > 0 ? \"(\".concat(frame.args.join(', '), \")\") : '';\n var line = frame.line ? \":\".concat(frame.line) : '';\n var column = frame.line && frame.column ? \":\".concat(frame.column) : '';\n result += \"\\n at \".concat(func).concat(args, \" @ \").concat(frame.url).concat(line).concat(column);\n });\n return result;\n}\nexports.toStackTraceString = toStackTraceString;\nfunction getFileFromStackTraceString(stack) {\n var _a;\n return (_a = /@ (.+)/.exec(stack)) === null || _a === void 0 ? void 0 : _a[1];\n}\nexports.getFileFromStackTraceString = getFileFromStackTraceString;\nfunction formatErrorMessage(stack) {\n return \"\".concat(stack.name || 'Error', \": \").concat(stack.message);\n}\nexports.formatErrorMessage = formatErrorMessage;\n/**\n Creates a stacktrace without SDK internal frames.\n \n Constraints:\n - Has to be called at the utmost position of the call stack.\n - No monitored function should encapsulate it, that is why we need to use callMonitored inside it.\n */\nfunction createHandlingStack() {\n /**\n * Skip the two internal frames:\n * - SDK API (console.error, ...)\n * - this function\n * in order to keep only the user calls\n */\n var internalFramesToSkip = 2;\n var error = new Error();\n var formattedStack;\n // IE needs to throw the error to fill in the stack trace\n if (!error.stack) {\n try {\n throw error;\n }\n catch (e) {\n (0, utils_1.noop)();\n }\n }\n (0, monitor_1.callMonitored)(function () {\n var stackTrace = (0, tracekit_1.computeStackTrace)(error);\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);\n formattedStack = toStackTraceString(stackTrace);\n });\n return formattedStack;\n}\nexports.createHandlingStack = createHandlingStack;\nfunction flattenErrorCauses(error, parentSource) {\n var currentError = error;\n var causes = [];\n while ((currentError === null || currentError === void 0 ? void 0 : currentError.cause) instanceof Error && causes.length < 10) {\n var stackTrace = (0, tracekit_1.computeStackTrace)(currentError.cause);\n causes.push({\n message: currentError.cause.message,\n source: parentSource,\n type: stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name,\n stack: stackTrace && toStackTraceString(stackTrace),\n });\n currentError = currentError.cause;\n }\n return causes.length ? causes : undefined;\n}\nexports.flattenErrorCauses = flattenErrorCauses;\n//# sourceMappingURL=error.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.instrumentSetter = exports.instrumentMethodAndCallOriginal = exports.instrumentMethod = void 0;\nvar monitor_1 = require(\"./monitor\");\nvar utils_1 = require(\"./utils\");\nfunction instrumentMethod(object, method, instrumentationFactory) {\n var original = object[method];\n var instrumentation = instrumentationFactory(original);\n var instrumentationWrapper = function () {\n if (typeof instrumentation !== 'function') {\n return undefined;\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return instrumentation.apply(this, arguments);\n };\n object[method] = instrumentationWrapper;\n return {\n stop: function () {\n if (object[method] === instrumentationWrapper) {\n object[method] = original;\n }\n else {\n instrumentation = original;\n }\n },\n };\n}\nexports.instrumentMethod = instrumentMethod;\nfunction instrumentMethodAndCallOriginal(object, method, _a) {\n var before = _a.before, after = _a.after;\n return instrumentMethod(object, method, function (original) {\n return function () {\n var args = arguments;\n var result;\n if (before) {\n (0, monitor_1.callMonitored)(before, this, args);\n }\n if (typeof original === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n result = original.apply(this, args);\n }\n if (after) {\n (0, monitor_1.callMonitored)(after, this, args);\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return result;\n };\n });\n}\nexports.instrumentMethodAndCallOriginal = instrumentMethodAndCallOriginal;\nfunction instrumentSetter(object, property, after) {\n var originalDescriptor = Object.getOwnPropertyDescriptor(object, property);\n if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {\n return { stop: utils_1.noop };\n }\n var instrumentation = function (thisObject, value) {\n // put hooked setter into event loop to avoid of set latency\n setTimeout((0, monitor_1.monitor)(function () {\n after(thisObject, value);\n }), 0);\n };\n var instrumentationWrapper = function (value) {\n originalDescriptor.set.call(this, value);\n instrumentation(this, value);\n };\n Object.defineProperty(object, property, {\n set: instrumentationWrapper,\n });\n return {\n stop: function () {\n var _a;\n if (((_a = Object.getOwnPropertyDescriptor(object, property)) === null || _a === void 0 ? void 0 : _a.set) === instrumentationWrapper) {\n Object.defineProperty(object, property, originalDescriptor);\n }\n else {\n instrumentation = utils_1.noop;\n }\n },\n };\n}\nexports.instrumentSetter = instrumentSetter;\n//# sourceMappingURL=instrumentMethod.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.limitModification = void 0;\nvar utils_1 = require(\"./utils\");\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nfunction limitModification(object, modifiableFieldPaths, modifier) {\n var clone = (0, utils_1.deepClone)(object);\n var result = modifier(clone);\n modifiableFieldPaths.forEach(function (path) {\n var originalValue = get(object, path);\n var newValue = get(clone, path);\n var originalType = (0, utils_1.getType)(originalValue);\n var newType = (0, utils_1.getType)(newValue);\n if (newType === originalType) {\n set(object, path, newValue);\n }\n else if (originalType === 'object' && (newType === 'undefined' || newType === 'null')) {\n set(object, path, {});\n }\n });\n return result;\n}\nexports.limitModification = limitModification;\nfunction get(object, path) {\n var current = object;\n for (var _i = 0, _a = path.split('.'); _i < _a.length; _i++) {\n var field = _a[_i];\n if (!isValidObjectContaining(current, field)) {\n return;\n }\n current = current[field];\n }\n return current;\n}\nfunction set(object, path, value) {\n var current = object;\n var fields = path.split('.');\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i];\n if (!isValidObjectContaining(current, field)) {\n return;\n }\n if (i !== fields.length - 1) {\n current = current[field];\n }\n else {\n current[field] = value;\n }\n }\n}\nfunction isValidObjectContaining(object, field) {\n return typeof object === 'object' && object !== null && Object.prototype.hasOwnProperty.call(object, field);\n}\n//# sourceMappingURL=limitModification.js.map","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.displayIfDebugEnabled = exports.callMonitored = exports.monitor = exports.monitored = exports.resetMonitor = exports.setDebugMode = exports.startMonitorErrorCollection = void 0;\nvar display_1 = require(\"./display\");\nvar onMonitorErrorCollected;\nvar debugMode = false;\nfunction startMonitorErrorCollection(newOnMonitorErrorCollected) {\n onMonitorErrorCollected = newOnMonitorErrorCollected;\n}\nexports.startMonitorErrorCollection = startMonitorErrorCollection;\nfunction setDebugMode(newDebugMode) {\n debugMode = newDebugMode;\n}\nexports.setDebugMode = setDebugMode;\nfunction resetMonitor() {\n onMonitorErrorCollected = undefined;\n debugMode = false;\n}\nexports.resetMonitor = resetMonitor;\nfunction monitored(_, __, descriptor) {\n var originalMethod = descriptor.value;\n descriptor.value = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var decorated = onMonitorErrorCollected ? monitor(originalMethod) : originalMethod;\n return decorated.apply(this, args);\n };\n}\nexports.monitored = monitored;\nfunction monitor(fn) {\n return function () {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return callMonitored(fn, this, arguments);\n }; // consider output type has input type\n}\nexports.monitor = monitor;\nfunction callMonitored(fn, context, args) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return fn.apply(context, args);\n }\n catch (e) {\n displayIfDebugEnabled(display_1.ConsoleApiName.error, e);\n if (onMonitorErrorCollected) {\n try {\n onMonitorErrorCollected(e);\n }\n catch (e) {\n displayIfDebugEnabled(display_1.ConsoleApiName.error, e);\n }\n }\n }\n}\nexports.callMonitored = callMonitored;\nfunction displayIfDebugEnabled(api) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (debugMode) {\n display_1.display.apply(void 0, __spreadArray([api, '[MONITOR]'], args, false));\n }\n}\nexports.displayIfDebugEnabled = displayIfDebugEnabled;\n//# sourceMappingURL=monitor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeObservables = exports.Observable = void 0;\nvar Observable = /** @class */ (function () {\n function Observable(onFirstSubscribe) {\n this.onFirstSubscribe = onFirstSubscribe;\n this.observers = [];\n }\n Observable.prototype.subscribe = function (f) {\n var _this = this;\n if (!this.observers.length && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe() || undefined;\n }\n this.observers.push(f);\n return {\n unsubscribe: function () {\n _this.observers = _this.observers.filter(function (other) { return f !== other; });\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe();\n }\n },\n };\n };\n Observable.prototype.notify = function (data) {\n this.observers.forEach(function (observer) { return observer(data); });\n };\n return Observable;\n}());\nexports.Observable = Observable;\nfunction mergeObservables() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var globalObservable = new Observable(function () {\n var subscriptions = observables.map(function (observable) {\n return observable.subscribe(function (data) { return globalObservable.notify(data); });\n });\n return function () { return subscriptions.forEach(function (subscription) { return subscription.unsubscribe(); }); };\n });\n return globalObservable;\n}\nexports.mergeObservables = mergeObservables;\n//# sourceMappingURL=observable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resetNavigationStart = exports.looksLikeRelativeTime = exports.getTimeStamp = exports.getRelativeTime = exports.addDuration = exports.elapsed = exports.clocksOrigin = exports.clocksNow = exports.relativeNow = exports.timeStampNow = exports.dateNow = exports.toServerDuration = exports.currentDrift = exports.relativeToClocks = void 0;\nvar utils_1 = require(\"./utils\");\nfunction relativeToClocks(relative) {\n return { relative: relative, timeStamp: getCorrectedTimeStamp(relative) };\n}\nexports.relativeToClocks = relativeToClocks;\nfunction getCorrectedTimeStamp(relativeTime) {\n var correctedOrigin = (dateNow() - performance.now());\n // apply correction only for positive drift\n if (correctedOrigin > getNavigationStart()) {\n return Math.round(addDuration(correctedOrigin, relativeTime));\n }\n return getTimeStamp(relativeTime);\n}\nfunction currentDrift() {\n return Math.round(dateNow() - addDuration(getNavigationStart(), performance.now()));\n}\nexports.currentDrift = currentDrift;\nfunction toServerDuration(duration) {\n if (!(0, utils_1.isNumber)(duration)) {\n return duration;\n }\n return (0, utils_1.round)(duration * 1e6, 0);\n}\nexports.toServerDuration = toServerDuration;\nfunction dateNow() {\n // Do not use `Date.now` because sometimes websites are wrongly \"polyfilling\" it. For example, we\n // had some users using a very old version of `datejs`, which patched `Date.now` to return a Date\n // instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this\n // case ourselves.\n // [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16\n return new Date().getTime();\n}\nexports.dateNow = dateNow;\nfunction timeStampNow() {\n return dateNow();\n}\nexports.timeStampNow = timeStampNow;\nfunction relativeNow() {\n return performance.now();\n}\nexports.relativeNow = relativeNow;\nfunction clocksNow() {\n return { relative: relativeNow(), timeStamp: timeStampNow() };\n}\nexports.clocksNow = clocksNow;\nfunction clocksOrigin() {\n return { relative: 0, timeStamp: getNavigationStart() };\n}\nexports.clocksOrigin = clocksOrigin;\nfunction elapsed(start, end) {\n return (end - start);\n}\nexports.elapsed = elapsed;\nfunction addDuration(a, b) {\n return a + b;\n}\nexports.addDuration = addDuration;\n/**\n * Get the time since the navigation was started.\n *\n * Note: this does not use `performance.timeOrigin` because it doesn't seem to reflect the actual\n * time on which the navigation has started: it may be much farther in the past, at least in Firefox 71.\n * Related issue in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1429926\n */\nfunction getRelativeTime(timestamp) {\n return (timestamp - getNavigationStart());\n}\nexports.getRelativeTime = getRelativeTime;\nfunction getTimeStamp(relativeTime) {\n return Math.round(addDuration(getNavigationStart(), relativeTime));\n}\nexports.getTimeStamp = getTimeStamp;\nfunction looksLikeRelativeTime(time) {\n return time < utils_1.ONE_YEAR;\n}\nexports.looksLikeRelativeTime = looksLikeRelativeTime;\n/**\n * Navigation start slightly change on some rare cases\n */\nvar navigationStart;\nfunction getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart;\n }\n return navigationStart;\n}\nfunction resetNavigationStart() {\n navigationStart = undefined;\n}\nexports.resetNavigationStart = resetNavigationStart;\n//# sourceMappingURL=timeUtils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildUrl = exports.getHash = exports.getSearch = exports.getPathName = exports.getOrigin = exports.haveSameOrigin = exports.isValidUrl = exports.normalizeUrl = void 0;\nvar utils_1 = require(\"./utils\");\nfunction normalizeUrl(url) {\n return buildUrl(url, (0, utils_1.getLocationOrigin)()).href;\n}\nexports.normalizeUrl = normalizeUrl;\nfunction isValidUrl(url) {\n try {\n return !!buildUrl(url);\n }\n catch (_a) {\n return false;\n }\n}\nexports.isValidUrl = isValidUrl;\nfunction haveSameOrigin(url1, url2) {\n return getOrigin(url1) === getOrigin(url2);\n}\nexports.haveSameOrigin = haveSameOrigin;\nfunction getOrigin(url) {\n return (0, utils_1.getLinkElementOrigin)(buildUrl(url));\n}\nexports.getOrigin = getOrigin;\nfunction getPathName(url) {\n var pathname = buildUrl(url).pathname;\n return pathname[0] === '/' ? pathname : \"/\".concat(pathname);\n}\nexports.getPathName = getPathName;\nfunction getSearch(url) {\n return buildUrl(url).search;\n}\nexports.getSearch = getSearch;\nfunction getHash(url) {\n return buildUrl(url).hash;\n}\nexports.getHash = getHash;\nfunction buildUrl(url, base) {\n if (checkURLSupported()) {\n return base !== undefined ? new URL(url, base) : new URL(url);\n }\n if (base === undefined && !/:/.test(url)) {\n throw new Error(\"Invalid URL: '\".concat(url, \"'\"));\n }\n var doc = document;\n var anchorElement = doc.createElement('a');\n if (base !== undefined) {\n doc = document.implementation.createHTMLDocument('');\n var baseElement = doc.createElement('base');\n baseElement.href = base;\n doc.head.appendChild(baseElement);\n doc.body.appendChild(anchorElement);\n }\n anchorElement.href = url;\n return anchorElement;\n}\nexports.buildUrl = buildUrl;\nvar isURLSupported;\nfunction checkURLSupported() {\n if (isURLSupported !== undefined) {\n return isURLSupported;\n }\n try {\n var url = new URL('http://test/path');\n isURLSupported = url.href === 'http://test/path';\n return isURLSupported;\n }\n catch (_a) {\n isURLSupported = false;\n }\n return isURLSupported;\n}\n//# sourceMappingURL=urlPolyfill.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cssEscape = exports.matchList = exports.removeDuplicates = exports.requestIdleCallback = exports.combine = exports.deepClone = exports.mergeInto = exports.getType = exports.runOnReadyState = exports.elementMatches = exports.addEventListeners = exports.addEventListener = exports.safeTruncate = exports.findCommaSeparatedValue = exports.getLinkElementOrigin = exports.getLocationOrigin = exports.getGlobalObject = exports.endsWith = exports.startsWith = exports.mapValues = exports.isEmptyObject = exports.objectEntries = exports.objectHasValue = exports.objectValues = exports.isNumber = exports.isPercentage = exports.findLast = exports.find = exports.arrayFrom = exports.includes = exports.jsonStringify = exports.noop = exports.round = exports.performDraw = exports.generateUUID = exports.shallowClone = exports.assign = exports.throttle = exports.ONE_MEBI_BYTE = exports.ONE_KIBI_BYTE = exports.ONE_YEAR = exports.ONE_DAY = exports.ONE_HOUR = exports.ONE_MINUTE = exports.ONE_SECOND = void 0;\nvar display_1 = require(\"./display\");\nvar monitor_1 = require(\"./monitor\");\nexports.ONE_SECOND = 1000;\nexports.ONE_MINUTE = 60 * exports.ONE_SECOND;\nexports.ONE_HOUR = 60 * exports.ONE_MINUTE;\nexports.ONE_DAY = 24 * exports.ONE_HOUR;\nexports.ONE_YEAR = 365 * exports.ONE_DAY;\nexports.ONE_KIBI_BYTE = 1024;\nexports.ONE_MEBI_BYTE = 1024 * exports.ONE_KIBI_BYTE;\n// use lodash API\nfunction throttle(fn, wait, options) {\n var needLeadingExecution = options && options.leading !== undefined ? options.leading : true;\n var needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true;\n var inWaitPeriod = false;\n var pendingExecutionWithParameters;\n var pendingTimeoutId;\n return {\n throttled: function () {\n var parameters = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n parameters[_i] = arguments[_i];\n }\n if (inWaitPeriod) {\n pendingExecutionWithParameters = parameters;\n return;\n }\n if (needLeadingExecution) {\n fn.apply(void 0, parameters);\n }\n else {\n pendingExecutionWithParameters = parameters;\n }\n inWaitPeriod = true;\n pendingTimeoutId = setTimeout(function () {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn.apply(void 0, pendingExecutionWithParameters);\n }\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n }, wait);\n },\n cancel: function () {\n clearTimeout(pendingTimeoutId);\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n },\n };\n}\nexports.throttle = throttle;\nfunction assign(target) {\n var toAssign = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n toAssign[_i - 1] = arguments[_i];\n }\n toAssign.forEach(function (source) {\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n });\n return target;\n}\nexports.assign = assign;\nfunction shallowClone(object) {\n return assign({}, object);\n}\nexports.shallowClone = shallowClone;\n/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nfunction generateUUID(placeholder) {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)\n : \"\".concat(1e7, \"-\").concat(1e3, \"-\").concat(4e3, \"-\").concat(8e3, \"-\").concat(1e11).replace(/[018]/g, generateUUID);\n}\nexports.generateUUID = generateUUID;\n/**\n * Return true if the draw is successful\n * @param threshold between 0 and 100\n */\nfunction performDraw(threshold) {\n return threshold !== 0 && Math.random() * 100 <= threshold;\n}\nexports.performDraw = performDraw;\nfunction round(num, decimals) {\n return +num.toFixed(decimals);\n}\nexports.round = round;\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() { }\nexports.noop = noop;\n/**\n * Custom implementation of JSON.stringify that ignores some toJSON methods. We need to do that\n * because some sites badly override toJSON on certain objects. Removing all toJSON methods from\n * nested values would be too costly, so we just detach them from the root value, and native classes\n * used to build JSON values (Array and Object).\n *\n * Note: this still assumes that JSON.stringify is correct.\n */\nfunction jsonStringify(value, replacer, space) {\n if (typeof value !== 'object' || value === null) {\n return JSON.stringify(value);\n }\n // Note: The order matter here. We need to detach toJSON methods on parent classes before their\n // subclasses.\n var restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n var restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n var restoreValuePrototypeToJson = detachToJsonMethod(Object.getPrototypeOf(value));\n var restoreValueToJson = detachToJsonMethod(value);\n try {\n return JSON.stringify(value, replacer, space);\n }\n catch (_a) {\n return '';\n }\n finally {\n restoreObjectPrototypeToJson();\n restoreArrayPrototypeToJson();\n restoreValuePrototypeToJson();\n restoreValueToJson();\n }\n}\nexports.jsonStringify = jsonStringify;\nfunction detachToJsonMethod(value) {\n var object = value;\n var objectToJson = object.toJSON;\n if (objectToJson) {\n delete object.toJSON;\n return function () {\n object.toJSON = objectToJson;\n };\n }\n return noop;\n}\nfunction includes(candidate, search) {\n return candidate.indexOf(search) !== -1;\n}\nexports.includes = includes;\nfunction arrayFrom(arrayLike) {\n if (Array.from) {\n return Array.from(arrayLike);\n }\n var array = [];\n if (arrayLike instanceof Set) {\n arrayLike.forEach(function (item) { return array.push(item); });\n }\n else {\n for (var i = 0; i < arrayLike.length; i++) {\n array.push(arrayLike[i]);\n }\n }\n return array;\n}\nexports.arrayFrom = arrayFrom;\nfunction find(array, predicate) {\n for (var i = 0; i < array.length; i += 1) {\n var item = array[i];\n if (predicate(item, i)) {\n return item;\n }\n }\n return undefined;\n}\nexports.find = find;\nfunction findLast(array, predicate) {\n for (var i = array.length - 1; i >= 0; i -= 1) {\n var item = array[i];\n if (predicate(item, i, array)) {\n return item;\n }\n }\n return undefined;\n}\nexports.findLast = findLast;\nfunction isPercentage(value) {\n return isNumber(value) && value >= 0 && value <= 100;\n}\nexports.isPercentage = isPercentage;\nfunction isNumber(value) {\n return typeof value === 'number';\n}\nexports.isNumber = isNumber;\nfunction objectValues(object) {\n return Object.keys(object).map(function (key) { return object[key]; });\n}\nexports.objectValues = objectValues;\nfunction objectHasValue(object, value) {\n return Object.keys(object).some(function (key) { return object[key] === value; });\n}\nexports.objectHasValue = objectHasValue;\nfunction objectEntries(object) {\n return Object.keys(object).map(function (key) { return [key, object[key]]; });\n}\nexports.objectEntries = objectEntries;\nfunction isEmptyObject(object) {\n return Object.keys(object).length === 0;\n}\nexports.isEmptyObject = isEmptyObject;\nfunction mapValues(object, fn) {\n var newObject = {};\n for (var _i = 0, _a = Object.keys(object); _i < _a.length; _i++) {\n var key = _a[_i];\n newObject[key] = fn(object[key]);\n }\n return newObject;\n}\nexports.mapValues = mapValues;\nfunction startsWith(candidate, search) {\n return candidate.slice(0, search.length) === search;\n}\nexports.startsWith = startsWith;\nfunction endsWith(candidate, search) {\n return candidate.slice(-search.length) === search;\n}\nexports.endsWith = endsWith;\n/**\n * inspired by https://mathiasbynens.be/notes/globalthis\n */\nfunction getGlobalObject() {\n if (typeof globalThis === 'object') {\n return globalThis;\n }\n Object.defineProperty(Object.prototype, '_dd_temp_', {\n get: function () {\n return this;\n },\n configurable: true,\n });\n // @ts-ignore _dd_temp is defined using defineProperty\n var globalObject = _dd_temp_;\n // @ts-ignore _dd_temp is defined using defineProperty\n delete Object.prototype._dd_temp_;\n if (typeof globalObject !== 'object') {\n // on safari _dd_temp_ is available on window but not globally\n // fallback on other browser globals check\n if (typeof self === 'object') {\n globalObject = self;\n }\n else if (typeof window === 'object') {\n globalObject = window;\n }\n else {\n globalObject = {};\n }\n }\n return globalObject;\n}\nexports.getGlobalObject = getGlobalObject;\nfunction getLocationOrigin() {\n return getLinkElementOrigin(window.location);\n}\nexports.getLocationOrigin = getLocationOrigin;\n/**\n * IE fallback\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin\n */\nfunction getLinkElementOrigin(element) {\n if (element.origin) {\n return element.origin;\n }\n var sanitizedHost = element.host.replace(/(:80|:443)$/, '');\n return \"\".concat(element.protocol, \"//\").concat(sanitizedHost);\n}\nexports.getLinkElementOrigin = getLinkElementOrigin;\nfunction findCommaSeparatedValue(rawString, name) {\n var regex = new RegExp(\"(?:^|;)\\\\s*\".concat(name, \"\\\\s*=\\\\s*([^;]+)\"));\n var matches = regex.exec(rawString);\n return matches ? matches[1] : undefined;\n}\nexports.findCommaSeparatedValue = findCommaSeparatedValue;\nfunction safeTruncate(candidate, length, suffix) {\n if (suffix === void 0) { suffix = ''; }\n var lastChar = candidate.charCodeAt(length - 1);\n var isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff;\n var correctedLength = isLastCharSurrogatePair ? length + 1 : length;\n if (candidate.length <= correctedLength)\n return candidate;\n return \"\".concat(candidate.slice(0, correctedLength)).concat(suffix);\n}\nexports.safeTruncate = safeTruncate;\n/**\n * Add an event listener to an event emitter object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n */\nfunction addEventListener(emitter, event, listener, options) {\n return addEventListeners(emitter, [event], listener, options);\n}\nexports.addEventListener = addEventListener;\n/**\n * Add event listeners to an event emitter object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are listened\n */\nfunction addEventListeners(emitter, events, listener, _a) {\n var _b = _a === void 0 ? {} : _a, once = _b.once, capture = _b.capture, passive = _b.passive;\n var wrappedListener = (0, monitor_1.monitor)(once\n ? function (event) {\n stop();\n listener(event);\n }\n : listener);\n var options = passive ? { capture: capture, passive: passive } : capture;\n events.forEach(function (event) { return emitter.addEventListener(event, wrappedListener, options); });\n var stop = function () { return events.forEach(function (event) { return emitter.removeEventListener(event, wrappedListener, options); }); };\n return {\n stop: stop,\n };\n}\nexports.addEventListeners = addEventListeners;\nfunction elementMatches(element, selector) {\n if (element.matches) {\n return element.matches(selector);\n }\n // IE11 support\n if (element.msMatchesSelector) {\n return element.msMatchesSelector(selector);\n }\n return false;\n}\nexports.elementMatches = elementMatches;\nfunction runOnReadyState(expectedReadyState, callback) {\n if (document.readyState === expectedReadyState || document.readyState === 'complete') {\n callback();\n }\n else {\n var eventName = expectedReadyState === 'complete' ? \"load\" /* LOAD */ : \"DOMContentLoaded\" /* DOM_CONTENT_LOADED */;\n addEventListener(window, eventName, callback, { once: true });\n }\n}\nexports.runOnReadyState = runOnReadyState;\n/**\n * Similar to `typeof`, but distinguish plain objects from `null` and arrays\n */\nfunction getType(value) {\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return 'array';\n }\n return typeof value;\n}\nexports.getType = getType;\nfunction createCircularReferenceChecker() {\n if (typeof WeakSet !== 'undefined') {\n var set_1 = new WeakSet();\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = set_1.has(value);\n if (!has) {\n set_1.add(value);\n }\n return has;\n },\n };\n }\n var array = [];\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = array.indexOf(value) >= 0;\n if (!has) {\n array.push(value);\n }\n return has;\n },\n };\n}\n/**\n * Iterate over source and affect its sub values into destination, recursively.\n * If the source and destination can't be merged, return source.\n */\nfunction mergeInto(destination, source, circularReferenceChecker) {\n if (circularReferenceChecker === void 0) { circularReferenceChecker = createCircularReferenceChecker(); }\n // ignore the source if it is undefined\n if (source === undefined) {\n return destination;\n }\n if (typeof source !== 'object' || source === null) {\n // primitive values - just return source\n return source;\n }\n else if (source instanceof Date) {\n return new Date(source.getTime());\n }\n else if (source instanceof RegExp) {\n var flags = source.flags ||\n // old browsers compatibility\n [\n source.global ? 'g' : '',\n source.ignoreCase ? 'i' : '',\n source.multiline ? 'm' : '',\n source.sticky ? 'y' : '',\n source.unicode ? 'u' : '',\n ].join('');\n return new RegExp(source.source, flags);\n }\n if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {\n // remove circular references\n return undefined;\n }\n else if (Array.isArray(source)) {\n var merged_1 = Array.isArray(destination) ? destination : [];\n for (var i = 0; i < source.length; ++i) {\n merged_1[i] = mergeInto(merged_1[i], source[i], circularReferenceChecker);\n }\n return merged_1;\n }\n var merged = getType(destination) === 'object' ? destination : {};\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker);\n }\n }\n return merged;\n}\nexports.mergeInto = mergeInto;\n/**\n * A simplistic implementation of a deep clone algorithm.\n * Caveats:\n * - It doesn't maintain prototype chains - don't use with instances of custom classes.\n * - It doesn't handle Map and Set\n */\nfunction deepClone(value) {\n return mergeInto(undefined, value);\n}\nexports.deepClone = deepClone;\nfunction combine() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var destination;\n for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {\n var source = sources_1[_a];\n // Ignore any undefined or null sources.\n if (source === undefined || source === null) {\n continue;\n }\n destination = mergeInto(destination, source);\n }\n return destination;\n}\nexports.combine = combine;\nfunction requestIdleCallback(callback, opts) {\n // Use 'requestIdleCallback' when available: it will throttle the mutation processing if the\n // browser is busy rendering frames (ex: when frames are below 60fps). When not available, the\n // fallback on 'requestAnimationFrame' will still ensure the mutations are processed after any\n // browser rendering process (Layout, Recalculate Style, etc.), so we can serialize DOM nodes\n // efficiently.\n if (window.requestIdleCallback) {\n var id_1 = window.requestIdleCallback((0, monitor_1.monitor)(callback), opts);\n return function () { return window.cancelIdleCallback(id_1); };\n }\n var id = window.requestAnimationFrame((0, monitor_1.monitor)(callback));\n return function () { return window.cancelAnimationFrame(id); };\n}\nexports.requestIdleCallback = requestIdleCallback;\nfunction removeDuplicates(array) {\n var set = new Set();\n array.forEach(function (item) { return set.add(item); });\n return arrayFrom(set);\n}\nexports.removeDuplicates = removeDuplicates;\nfunction matchList(list, value) {\n return list.some(function (item) {\n if (typeof item === 'function') {\n try {\n return item(value);\n }\n catch (e) {\n display_1.display.error(e);\n return false;\n }\n }\n if (item instanceof RegExp) {\n return item.test(value);\n }\n return item === value;\n });\n}\nexports.matchList = matchList;\n// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js\nfunction cssEscape(str) {\n if (window.CSS && window.CSS.escape) {\n return window.CSS.escape(str);\n }\n // eslint-disable-next-line no-control-regex\n return str.replace(/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g, function (ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === '\\0') {\n return '\\uFFFD';\n }\n // Control characters and (dependent upon position) numbers get escaped as code points\n return \"\".concat(ch.slice(0, -1), \"\\\\\").concat(ch.charCodeAt(ch.length - 1).toString(16), \" \");\n }\n // Other potentially-special ASCII characters get backslash-escaped\n return \"\\\\\".concat(ch);\n });\n}\nexports.cssEscape = cssEscape;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Batch = void 0;\nvar display_1 = require(\"../tools/display\");\nvar utils_1 = require(\"../tools/utils\");\nvar monitor_1 = require(\"../tools/monitor\");\n// https://en.wikipedia.org/wiki/UTF-8\n// eslint-disable-next-line no-control-regex\nvar HAS_MULTI_BYTES_CHARACTERS = /[^\\u0000-\\u007F]/;\nvar Batch = /** @class */ (function () {\n function Batch(request, batchMessagesLimit, batchBytesLimit, messageBytesLimit, flushTimeout, pageExitObservable) {\n var _this = this;\n this.request = request;\n this.batchMessagesLimit = batchMessagesLimit;\n this.batchBytesLimit = batchBytesLimit;\n this.messageBytesLimit = messageBytesLimit;\n this.flushTimeout = flushTimeout;\n this.pageExitObservable = pageExitObservable;\n this.pushOnlyBuffer = [];\n this.upsertBuffer = {};\n this.bufferBytesCount = 0;\n this.bufferMessagesCount = 0;\n pageExitObservable.subscribe(function () { return _this.flush(_this.request.sendOnExit); });\n this.flushPeriodically();\n }\n Batch.prototype.add = function (message) {\n this.addOrUpdate(message);\n };\n Batch.prototype.upsert = function (message, key) {\n this.addOrUpdate(message, key);\n };\n Batch.prototype.flush = function (sendFn) {\n if (sendFn === void 0) { sendFn = this.request.send; }\n if (this.bufferMessagesCount !== 0) {\n var messages = this.pushOnlyBuffer.concat((0, utils_1.objectValues)(this.upsertBuffer));\n var bytesCount = this.bufferBytesCount;\n this.pushOnlyBuffer = [];\n this.upsertBuffer = {};\n this.bufferBytesCount = 0;\n this.bufferMessagesCount = 0;\n sendFn({ data: messages.join('\\n'), bytesCount: bytesCount });\n }\n };\n Batch.prototype.computeBytesCount = function (candidate) {\n // Accurate bytes count computations can degrade performances when there is a lot of events to process\n if (!HAS_MULTI_BYTES_CHARACTERS.test(candidate)) {\n return candidate.length;\n }\n if (window.TextEncoder !== undefined) {\n return new TextEncoder().encode(candidate).length;\n }\n return new Blob([candidate]).size;\n };\n Batch.prototype.addOrUpdate = function (message, key) {\n var _a = this.process(message), processedMessage = _a.processedMessage, messageBytesCount = _a.messageBytesCount;\n if (messageBytesCount >= this.messageBytesLimit) {\n display_1.display.warn(\"Discarded a message whose size was bigger than the maximum allowed size \".concat(this.messageBytesLimit, \"KB.\"));\n return;\n }\n if (this.hasMessageFor(key)) {\n this.remove(key);\n }\n if (this.willReachedBytesLimitWith(messageBytesCount)) {\n this.flush();\n }\n this.push(processedMessage, messageBytesCount, key);\n if (this.isFull()) {\n this.flush();\n }\n };\n Batch.prototype.process = function (message) {\n var processedMessage = (0, utils_1.jsonStringify)(message);\n var messageBytesCount = this.computeBytesCount(processedMessage);\n return { processedMessage: processedMessage, messageBytesCount: messageBytesCount };\n };\n Batch.prototype.push = function (processedMessage, messageBytesCount, key) {\n if (this.bufferMessagesCount > 0) {\n // \\n separator at serialization\n this.bufferBytesCount += 1;\n }\n if (key !== undefined) {\n this.upsertBuffer[key] = processedMessage;\n }\n else {\n this.pushOnlyBuffer.push(processedMessage);\n }\n this.bufferBytesCount += messageBytesCount;\n this.bufferMessagesCount += 1;\n };\n Batch.prototype.remove = function (key) {\n var removedMessage = this.upsertBuffer[key];\n delete this.upsertBuffer[key];\n var messageBytesCount = this.computeBytesCount(removedMessage);\n this.bufferBytesCount -= messageBytesCount;\n this.bufferMessagesCount -= 1;\n if (this.bufferMessagesCount > 0) {\n this.bufferBytesCount -= 1;\n }\n };\n Batch.prototype.hasMessageFor = function (key) {\n return key !== undefined && this.upsertBuffer[key] !== undefined;\n };\n Batch.prototype.willReachedBytesLimitWith = function (messageBytesCount) {\n // byte of the separator at the end of the message\n return this.bufferBytesCount + messageBytesCount + 1 >= this.batchBytesLimit;\n };\n Batch.prototype.isFull = function () {\n return this.bufferMessagesCount === this.batchMessagesLimit || this.bufferBytesCount >= this.batchBytesLimit;\n };\n Batch.prototype.flushPeriodically = function () {\n var _this = this;\n setTimeout((0, monitor_1.monitor)(function () {\n _this.flush();\n _this.flushPeriodically();\n }), this.flushTimeout);\n };\n return Batch;\n}());\nexports.Batch = Batch;\n//# sourceMappingURL=batch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.canUseEventBridge = exports.getEventBridge = void 0;\nvar utils_1 = require(\"../tools/utils\");\nfunction getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal();\n if (!eventBridgeGlobal) {\n return;\n }\n return {\n getAllowedWebViewHosts: function () {\n return JSON.parse(eventBridgeGlobal.getAllowedWebViewHosts());\n },\n send: function (eventType, event) {\n eventBridgeGlobal.send(JSON.stringify({ eventType: eventType, event: event }));\n },\n };\n}\nexports.getEventBridge = getEventBridge;\nfunction canUseEventBridge(currentHost) {\n var _a;\n if (currentHost === void 0) { currentHost = (_a = (0, utils_1.getGlobalObject)().location) === null || _a === void 0 ? void 0 : _a.hostname; }\n var bridge = getEventBridge();\n return (!!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some(function (allowedHost) { return currentHost === allowedHost || (0, utils_1.endsWith)(currentHost, \".\".concat(allowedHost)); }));\n}\nexports.canUseEventBridge = canUseEventBridge;\nfunction getEventBridgeGlobal() {\n return (0, utils_1.getGlobalObject)().DatadogEventBridge;\n}\n//# sourceMappingURL=eventBridge.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sendXHR = exports.fetchKeepAliveStrategy = exports.createHttpRequest = void 0;\nvar telemetry_1 = require(\"../domain/telemetry\");\nvar monitor_1 = require(\"../tools/monitor\");\nvar sendWithRetryStrategy_1 = require(\"./sendWithRetryStrategy\");\nfunction createHttpRequest(endpointBuilder, bytesLimit, reportError) {\n var retryState = (0, sendWithRetryStrategy_1.newRetryState)();\n var sendStrategyForRetry = function (payload, onResponse) {\n return fetchKeepAliveStrategy(endpointBuilder, bytesLimit, payload, onResponse);\n };\n return {\n send: function (payload) {\n (0, sendWithRetryStrategy_1.sendWithRetryStrategy)(payload, retryState, sendStrategyForRetry, endpointBuilder.endpointType, reportError);\n },\n /**\n * Since fetch keepalive behaves like regular fetch on Firefox,\n * keep using sendBeaconStrategy on exit\n */\n sendOnExit: function (payload) {\n sendBeaconStrategy(endpointBuilder, bytesLimit, payload);\n },\n };\n}\nexports.createHttpRequest = createHttpRequest;\nfunction sendBeaconStrategy(endpointBuilder, bytesLimit, _a) {\n var data = _a.data, bytesCount = _a.bytesCount;\n var url = endpointBuilder.build();\n var canUseBeacon = !!navigator.sendBeacon && bytesCount < bytesLimit;\n if (canUseBeacon) {\n try {\n var isQueued = navigator.sendBeacon(url, data);\n if (isQueued) {\n return;\n }\n }\n catch (e) {\n reportBeaconError(e);\n }\n }\n sendXHR(url, data);\n}\nvar hasReportedBeaconError = false;\nfunction reportBeaconError(e) {\n if (!hasReportedBeaconError) {\n hasReportedBeaconError = true;\n (0, telemetry_1.addTelemetryError)(e);\n }\n}\nfunction fetchKeepAliveStrategy(endpointBuilder, bytesLimit, _a, onResponse) {\n var data = _a.data, bytesCount = _a.bytesCount, retry = _a.retry;\n var url = endpointBuilder.build(retry);\n var canUseKeepAlive = isKeepAliveSupported() && bytesCount < bytesLimit;\n if (canUseKeepAlive) {\n fetch(url, { method: 'POST', body: data, keepalive: true }).then((0, monitor_1.monitor)(function (response) { return onResponse === null || onResponse === void 0 ? void 0 : onResponse({ status: response.status }); }), (0, monitor_1.monitor)(function () {\n // failed to queue the request\n sendXHR(url, data, onResponse);\n }));\n }\n else {\n sendXHR(url, data, onResponse);\n }\n}\nexports.fetchKeepAliveStrategy = fetchKeepAliveStrategy;\nfunction isKeepAliveSupported() {\n // Request can throw, cf https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#errors\n try {\n return window.Request && 'keepalive' in new Request('http://a');\n }\n catch (_a) {\n return false;\n }\n}\nfunction sendXHR(url, data, onResponse) {\n var request = new XMLHttpRequest();\n var onLoadEnd = (0, monitor_1.monitor)(function () {\n // prevent multiple onResponse callbacks\n // if the xhr instance is reused by a third party\n request.removeEventListener('loadend', onLoadEnd);\n onResponse === null || onResponse === void 0 ? void 0 : onResponse({ status: request.status });\n });\n request.open('POST', url, true);\n request.addEventListener('loadend', onLoadEnd);\n request.send(data);\n}\nexports.sendXHR = sendXHR;\n//# sourceMappingURL=httpRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startBatchWithReplica = exports.getEventBridge = exports.canUseEventBridge = exports.Batch = exports.createHttpRequest = void 0;\nvar httpRequest_1 = require(\"./httpRequest\");\nObject.defineProperty(exports, \"createHttpRequest\", { enumerable: true, get: function () { return httpRequest_1.createHttpRequest; } });\nvar batch_1 = require(\"./batch\");\nObject.defineProperty(exports, \"Batch\", { enumerable: true, get: function () { return batch_1.Batch; } });\nvar eventBridge_1 = require(\"./eventBridge\");\nObject.defineProperty(exports, \"canUseEventBridge\", { enumerable: true, get: function () { return eventBridge_1.canUseEventBridge; } });\nObject.defineProperty(exports, \"getEventBridge\", { enumerable: true, get: function () { return eventBridge_1.getEventBridge; } });\nvar startBatchWithReplica_1 = require(\"./startBatchWithReplica\");\nObject.defineProperty(exports, \"startBatchWithReplica\", { enumerable: true, get: function () { return startBatchWithReplica_1.startBatchWithReplica; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.newRetryState = exports.sendWithRetryStrategy = exports.INITIAL_BACKOFF_TIME = exports.MAX_BACKOFF_TIME = exports.MAX_QUEUE_BYTES_COUNT = exports.MAX_ONGOING_REQUESTS = exports.MAX_ONGOING_BYTES_COUNT = void 0;\nvar monitor_1 = require(\"../tools/monitor\");\nvar timeUtils_1 = require(\"../tools/timeUtils\");\nvar utils_1 = require(\"../tools/utils\");\nvar error_1 = require(\"../tools/error\");\nexports.MAX_ONGOING_BYTES_COUNT = 80 * utils_1.ONE_KIBI_BYTE;\nexports.MAX_ONGOING_REQUESTS = 32;\nexports.MAX_QUEUE_BYTES_COUNT = 3 * utils_1.ONE_MEBI_BYTE;\nexports.MAX_BACKOFF_TIME = utils_1.ONE_MINUTE;\nexports.INITIAL_BACKOFF_TIME = utils_1.ONE_SECOND;\nfunction sendWithRetryStrategy(payload, state, sendStrategy, endpointType, reportError) {\n if (state.transportStatus === 0 /* UP */ &&\n state.queuedPayloads.size() === 0 &&\n state.bandwidthMonitor.canHandle(payload)) {\n send(payload, state, sendStrategy, {\n onSuccess: function () { return retryQueuedPayloads(0 /* AFTER_SUCCESS */, state, sendStrategy, endpointType, reportError); },\n onFailure: function () {\n state.queuedPayloads.enqueue(payload);\n scheduleRetry(state, sendStrategy, endpointType, reportError);\n },\n });\n }\n else {\n state.queuedPayloads.enqueue(payload);\n }\n}\nexports.sendWithRetryStrategy = sendWithRetryStrategy;\nfunction scheduleRetry(state, sendStrategy, endpointType, reportError) {\n if (state.transportStatus !== 2 /* DOWN */) {\n return;\n }\n setTimeout((0, monitor_1.monitor)(function () {\n var payload = state.queuedPayloads.first();\n send(payload, state, sendStrategy, {\n onSuccess: function () {\n state.queuedPayloads.dequeue();\n state.currentBackoffTime = exports.INITIAL_BACKOFF_TIME;\n retryQueuedPayloads(1 /* AFTER_RESUME */, state, sendStrategy, endpointType, reportError);\n },\n onFailure: function () {\n state.currentBackoffTime = Math.min(exports.MAX_BACKOFF_TIME, state.currentBackoffTime * 2);\n scheduleRetry(state, sendStrategy, endpointType, reportError);\n },\n });\n }), state.currentBackoffTime);\n}\nfunction send(payload, state, sendStrategy, _a) {\n var onSuccess = _a.onSuccess, onFailure = _a.onFailure;\n state.bandwidthMonitor.add(payload);\n sendStrategy(payload, function (response) {\n state.bandwidthMonitor.remove(payload);\n if (!shouldRetryRequest(response)) {\n state.transportStatus = 0 /* UP */;\n onSuccess();\n }\n else {\n // do not consider transport down if another ongoing request could succeed\n state.transportStatus =\n state.bandwidthMonitor.ongoingRequestCount > 0 ? 1 /* FAILURE_DETECTED */ : 2 /* DOWN */;\n payload.retry = {\n count: payload.retry ? payload.retry.count + 1 : 1,\n lastFailureStatus: response.status,\n };\n onFailure();\n }\n });\n}\nfunction retryQueuedPayloads(reason, state, sendStrategy, endpointType, reportError) {\n if (reason === 0 /* AFTER_SUCCESS */ && state.queuedPayloads.isFull() && !state.queueFullReported) {\n reportError({\n message: \"Reached max \".concat(endpointType, \" events size queued for upload: \").concat(exports.MAX_QUEUE_BYTES_COUNT / utils_1.ONE_MEBI_BYTE, \"MiB\"),\n source: error_1.ErrorSource.AGENT,\n startClocks: (0, timeUtils_1.clocksNow)(),\n });\n state.queueFullReported = true;\n }\n var previousQueue = state.queuedPayloads;\n state.queuedPayloads = newPayloadQueue();\n while (previousQueue.size() > 0) {\n sendWithRetryStrategy(previousQueue.dequeue(), state, sendStrategy, endpointType, reportError);\n }\n}\nfunction shouldRetryRequest(response) {\n return response.status === 0 || response.status === 408 || response.status === 429 || response.status >= 500;\n}\nfunction newRetryState() {\n return {\n transportStatus: 0 /* UP */,\n currentBackoffTime: exports.INITIAL_BACKOFF_TIME,\n bandwidthMonitor: newBandwidthMonitor(),\n queuedPayloads: newPayloadQueue(),\n queueFullReported: false,\n };\n}\nexports.newRetryState = newRetryState;\nfunction newPayloadQueue() {\n var queue = [];\n return {\n bytesCount: 0,\n enqueue: function (payload) {\n if (this.isFull()) {\n return;\n }\n queue.push(payload);\n this.bytesCount += payload.bytesCount;\n },\n first: function () {\n return queue[0];\n },\n dequeue: function () {\n var payload = queue.shift();\n if (payload) {\n this.bytesCount -= payload.bytesCount;\n }\n return payload;\n },\n size: function () {\n return queue.length;\n },\n isFull: function () {\n return this.bytesCount >= exports.MAX_QUEUE_BYTES_COUNT;\n },\n };\n}\nfunction newBandwidthMonitor() {\n return {\n ongoingRequestCount: 0,\n ongoingByteCount: 0,\n canHandle: function (payload) {\n return (this.ongoingRequestCount === 0 ||\n (this.ongoingByteCount + payload.bytesCount <= exports.MAX_ONGOING_BYTES_COUNT &&\n this.ongoingRequestCount < exports.MAX_ONGOING_REQUESTS));\n },\n add: function (payload) {\n this.ongoingRequestCount += 1;\n this.ongoingByteCount += payload.bytesCount;\n },\n remove: function (payload) {\n this.ongoingRequestCount -= 1;\n this.ongoingByteCount -= payload.bytesCount;\n },\n };\n}\n//# sourceMappingURL=sendWithRetryStrategy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startBatchWithReplica = void 0;\nvar batch_1 = require(\"./batch\");\nvar httpRequest_1 = require(\"./httpRequest\");\nfunction startBatchWithReplica(configuration, endpoint, reportError, pageExitObservable, replicaEndpoint) {\n var primaryBatch = createBatch(endpoint);\n var replicaBatch;\n if (replicaEndpoint) {\n replicaBatch = createBatch(replicaEndpoint);\n }\n function createBatch(endpointBuilder) {\n return new batch_1.Batch((0, httpRequest_1.createHttpRequest)(endpointBuilder, configuration.batchBytesLimit, reportError), configuration.batchMessagesLimit, configuration.batchBytesLimit, configuration.messageBytesLimit, configuration.flushTimeout, pageExitObservable);\n }\n return {\n add: function (message, replicated) {\n if (replicated === void 0) { replicated = true; }\n primaryBatch.add(message);\n if (replicaBatch && replicated) {\n replicaBatch.add(message);\n }\n },\n };\n}\nexports.startBatchWithReplica = startBatchWithReplica;\n//# sourceMappingURL=startBatchWithReplica.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.makeRumPublicApi = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar configuration_1 = require(\"../domain/configuration\");\nfunction makeRumPublicApi(startRumImpl, recorderApi, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.ignoreInitIfSyntheticsWillInjectRum, ignoreInitIfSyntheticsWillInjectRum = _c === void 0 ? true : _c;\n var isAlreadyInitialized = false;\n var globalContextManager = (0, browser_core_1.createContextManager)();\n var userContextManager = (0, browser_core_1.createContextManager)();\n var getInternalContextStrategy = function () { return undefined; };\n var getInitConfigurationStrategy = function () { return undefined; };\n var bufferApiCalls = new browser_core_1.BoundedBuffer();\n var addTimingStrategy = function (name, time) {\n if (time === void 0) { time = (0, browser_core_1.timeStampNow)(); }\n bufferApiCalls.add(function () { return addTimingStrategy(name, time); });\n };\n var startViewStrategy = function (options, startClocks) {\n if (startClocks === void 0) { startClocks = (0, browser_core_1.clocksNow)(); }\n bufferApiCalls.add(function () { return startViewStrategy(options, startClocks); });\n };\n var addActionStrategy = function (action, commonContext) {\n if (commonContext === void 0) { commonContext = {\n context: globalContextManager.getContext(),\n user: userContextManager.getContext(),\n }; }\n bufferApiCalls.add(function () { return addActionStrategy(action, commonContext); });\n };\n var addErrorStrategy = function (providedError, commonContext) {\n if (commonContext === void 0) { commonContext = {\n context: globalContextManager.getContext(),\n user: userContextManager.getContext(),\n }; }\n bufferApiCalls.add(function () { return addErrorStrategy(providedError, commonContext); });\n };\n function initRum(initConfiguration) {\n // If we are in a Synthetics test configured to automatically inject a RUM instance, we want to\n // completely discard the customer application RUM instance by ignoring their init() call. But,\n // we should not ignore the init() call from the Synthetics-injected RUM instance, so the\n // internal `ignoreInitIfSyntheticsWillInjectRum` option is here to bypass this condition.\n if (ignoreInitIfSyntheticsWillInjectRum && (0, browser_core_1.willSyntheticsInjectRum)()) {\n return;\n }\n if ((0, browser_core_1.canUseEventBridge)()) {\n initConfiguration = overrideInitConfigurationForBridge(initConfiguration);\n }\n else if (!canHandleSession(initConfiguration)) {\n return;\n }\n if (!canInitRum(initConfiguration)) {\n return;\n }\n var configuration = (0, configuration_1.validateAndBuildRumConfiguration)(initConfiguration);\n if (!configuration) {\n return;\n }\n if (!configuration.trackViewsManually) {\n doStartRum(initConfiguration, configuration);\n }\n else {\n // drain beforeInitCalls by buffering them until we start RUM\n // if we get a startView, drain re-buffered calls before continuing to drain beforeInitCalls\n // in order to ensure that calls are processed in order\n var beforeInitCalls = bufferApiCalls;\n bufferApiCalls = new browser_core_1.BoundedBuffer();\n startViewStrategy = function (options) {\n doStartRum(initConfiguration, configuration, options);\n };\n beforeInitCalls.drain();\n }\n getInitConfigurationStrategy = function () { return (0, browser_core_1.deepClone)(initConfiguration); };\n isAlreadyInitialized = true;\n }\n function doStartRum(initConfiguration, configuration, initialViewOptions) {\n var startRumResults = startRumImpl(initConfiguration, configuration, function () { return ({\n user: userContextManager.getContext(),\n context: globalContextManager.getContext(),\n hasReplay: recorderApi.isRecording() ? true : undefined,\n }); }, recorderApi, initialViewOptions);\n (startViewStrategy = startRumResults.startView, addActionStrategy = startRumResults.addAction, addErrorStrategy = startRumResults.addError, addTimingStrategy = startRumResults.addTiming, getInternalContextStrategy = startRumResults.getInternalContext);\n bufferApiCalls.drain();\n recorderApi.onRumStart(startRumResults.lifeCycle, configuration, startRumResults.session, startRumResults.viewContexts);\n }\n var startView = (0, browser_core_1.monitor)(function (options) {\n var sanitizedOptions = typeof options === 'object' ? options : { name: options };\n startViewStrategy(sanitizedOptions);\n });\n var rumPublicApi = (0, browser_core_1.makePublicApi)({\n init: (0, browser_core_1.monitor)(initRum),\n /** @deprecated: use setGlobalContextProperty instead */\n addRumGlobalContext: (0, browser_core_1.monitor)(globalContextManager.add),\n setGlobalContextProperty: (0, browser_core_1.monitor)(globalContextManager.setContextProperty),\n /** @deprecated: use removeGlobalContextProperty instead */\n removeRumGlobalContext: (0, browser_core_1.monitor)(globalContextManager.remove),\n removeGlobalContextProperty: (0, browser_core_1.monitor)(globalContextManager.removeContextProperty),\n /** @deprecated: use getGlobalContext instead */\n getRumGlobalContext: (0, browser_core_1.monitor)(globalContextManager.get),\n getGlobalContext: (0, browser_core_1.monitor)(globalContextManager.getContext),\n /** @deprecated: use setGlobalContext instead */\n setRumGlobalContext: (0, browser_core_1.monitor)(globalContextManager.set),\n setGlobalContext: (0, browser_core_1.monitor)(globalContextManager.setContext),\n clearGlobalContext: (0, browser_core_1.monitor)(globalContextManager.clearContext),\n getInternalContext: (0, browser_core_1.monitor)(function (startTime) { return getInternalContextStrategy(startTime); }),\n getInitConfiguration: (0, browser_core_1.monitor)(function () { return getInitConfigurationStrategy(); }),\n addAction: (0, browser_core_1.monitor)(function (name, context) {\n addActionStrategy({\n name: name,\n context: (0, browser_core_1.deepClone)(context),\n startClocks: (0, browser_core_1.clocksNow)(),\n type: \"custom\" /* CUSTOM */,\n });\n }),\n addError: function (error, context) {\n var handlingStack = (0, browser_core_1.createHandlingStack)();\n (0, browser_core_1.callMonitored)(function () {\n addErrorStrategy({\n error: error,\n handlingStack: handlingStack,\n context: (0, browser_core_1.deepClone)(context),\n startClocks: (0, browser_core_1.clocksNow)(),\n });\n });\n },\n addTiming: (0, browser_core_1.monitor)(function (name, time) {\n addTimingStrategy(name, time);\n }),\n setUser: (0, browser_core_1.monitor)(function (newUser) {\n if ((0, browser_core_1.checkUser)(newUser)) {\n userContextManager.setContext((0, browser_core_1.sanitizeUser)(newUser));\n }\n }),\n getUser: (0, browser_core_1.monitor)(userContextManager.getContext),\n setUserProperty: (0, browser_core_1.monitor)(function (key, property) {\n var _a;\n var sanitizedProperty = (0, browser_core_1.sanitizeUser)((_a = {}, _a[key] = property, _a))[key];\n userContextManager.setContextProperty(key, sanitizedProperty);\n }),\n removeUserProperty: (0, browser_core_1.monitor)(userContextManager.removeContextProperty),\n /** @deprecated: renamed to clearUser */\n removeUser: (0, browser_core_1.monitor)(userContextManager.clearContext),\n clearUser: (0, browser_core_1.monitor)(userContextManager.clearContext),\n startView: startView,\n startSessionReplayRecording: (0, browser_core_1.monitor)(recorderApi.start),\n stopSessionReplayRecording: (0, browser_core_1.monitor)(recorderApi.stop),\n });\n return rumPublicApi;\n function canHandleSession(initConfiguration) {\n if (!(0, browser_core_1.areCookiesAuthorized)((0, browser_core_1.buildCookieOptions)(initConfiguration))) {\n browser_core_1.display.warn('Cookies are not authorized, we will not send any data.');\n return false;\n }\n if (isLocalFile()) {\n browser_core_1.display.error('Execution is not allowed in the current context.');\n return false;\n }\n return true;\n }\n function canInitRum(initConfiguration) {\n if (isAlreadyInitialized) {\n if (!initConfiguration.silentMultipleInit) {\n browser_core_1.display.error('DD_RUM is already initialized.');\n }\n return false;\n }\n return true;\n }\n function overrideInitConfigurationForBridge(initConfiguration) {\n return (0, browser_core_1.assign)({}, initConfiguration, {\n applicationId: '00000000-aaaa-0000-aaaa-000000000000',\n clientToken: 'empty',\n sampleRate: 100,\n });\n }\n function isLocalFile() {\n return window.location.protocol === 'file:';\n }\n}\nexports.makeRumPublicApi = makeRumPublicApi;\n//# sourceMappingURL=rumPublicApi.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startRumEventCollection = exports.startRum = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar domMutationObservable_1 = require(\"../browser/domMutationObservable\");\nvar performanceCollection_1 = require(\"../browser/performanceCollection\");\nvar assembly_1 = require(\"../domain/assembly\");\nvar foregroundContexts_1 = require(\"../domain/contexts/foregroundContexts\");\nvar internalContext_1 = require(\"../domain/contexts/internalContext\");\nvar lifeCycle_1 = require(\"../domain/lifeCycle\");\nvar viewContexts_1 = require(\"../domain/contexts/viewContexts\");\nvar requestCollection_1 = require(\"../domain/requestCollection\");\nvar actionCollection_1 = require(\"../domain/rumEventsCollection/action/actionCollection\");\nvar errorCollection_1 = require(\"../domain/rumEventsCollection/error/errorCollection\");\nvar longTaskCollection_1 = require(\"../domain/rumEventsCollection/longTask/longTaskCollection\");\nvar resourceCollection_1 = require(\"../domain/rumEventsCollection/resource/resourceCollection\");\nvar viewCollection_1 = require(\"../domain/rumEventsCollection/view/viewCollection\");\nvar rumSessionManager_1 = require(\"../domain/rumSessionManager\");\nvar startRumBatch_1 = require(\"../transport/startRumBatch\");\nvar startRumEventBridge_1 = require(\"../transport/startRumEventBridge\");\nvar urlContexts_1 = require(\"../domain/contexts/urlContexts\");\nvar locationChangeObservable_1 = require(\"../browser/locationChangeObservable\");\nvar configuration_1 = require(\"../domain/configuration\");\nfunction startRum(initConfiguration, configuration, getCommonContext, recorderApi, initialViewOptions) {\n var lifeCycle = new lifeCycle_1.LifeCycle();\n var telemetry = startRumTelemetry(configuration);\n telemetry.setContextProvider(function () {\n var _a, _b;\n return ({\n application: {\n id: configuration.applicationId,\n },\n session: {\n id: (_a = session.findTrackedSession()) === null || _a === void 0 ? void 0 : _a.id,\n },\n view: {\n id: (_b = viewContexts.findView()) === null || _b === void 0 ? void 0 : _b.id,\n },\n action: {\n id: actionContexts.findActionId(),\n },\n });\n });\n var reportError = function (error) {\n lifeCycle.notify(12 /* RAW_ERROR_COLLECTED */, { error: error });\n };\n if (!(0, browser_core_1.canUseEventBridge)()) {\n var pageExitObservable = (0, browser_core_1.createPageExitObservable)();\n pageExitObservable.subscribe(function (event) {\n lifeCycle.notify(9 /* PAGE_EXITED */, event);\n });\n (0, startRumBatch_1.startRumBatch)(configuration, lifeCycle, telemetry.observable, reportError, pageExitObservable);\n }\n else {\n (0, startRumEventBridge_1.startRumEventBridge)(lifeCycle);\n }\n var session = !(0, browser_core_1.canUseEventBridge)() ? (0, rumSessionManager_1.startRumSessionManager)(configuration, lifeCycle) : (0, rumSessionManager_1.startRumSessionManagerStub)();\n var domMutationObservable = (0, domMutationObservable_1.createDOMMutationObservable)();\n var locationChangeObservable = (0, locationChangeObservable_1.createLocationChangeObservable)(location);\n var _a = startRumEventCollection(lifeCycle, configuration, location, session, locationChangeObservable, domMutationObservable, getCommonContext, reportError), viewContexts = _a.viewContexts, foregroundContexts = _a.foregroundContexts, urlContexts = _a.urlContexts, actionContexts = _a.actionContexts, addAction = _a.addAction;\n (0, browser_core_1.addTelemetryConfiguration)((0, configuration_1.serializeRumConfiguration)(initConfiguration));\n (0, longTaskCollection_1.startLongTaskCollection)(lifeCycle, session);\n (0, resourceCollection_1.startResourceCollection)(lifeCycle, configuration, session);\n var _b = (0, viewCollection_1.startViewCollection)(lifeCycle, configuration, location, domMutationObservable, locationChangeObservable, foregroundContexts, recorderApi, initialViewOptions), addTiming = _b.addTiming, startView = _b.startView;\n var addError = (0, errorCollection_1.startErrorCollection)(lifeCycle, foregroundContexts).addError;\n (0, requestCollection_1.startRequestCollection)(lifeCycle, configuration, session);\n (0, performanceCollection_1.startPerformanceCollection)(lifeCycle, configuration);\n var internalContext = (0, internalContext_1.startInternalContext)(configuration.applicationId, session, viewContexts, actionContexts, urlContexts);\n return {\n addAction: addAction,\n addError: addError,\n addTiming: addTiming,\n startView: startView,\n lifeCycle: lifeCycle,\n viewContexts: viewContexts,\n session: session,\n getInternalContext: internalContext.get,\n };\n}\nexports.startRum = startRum;\nfunction startRumTelemetry(configuration) {\n var telemetry = (0, browser_core_1.startTelemetry)(\"browser-rum-sdk\" /* RUM */, configuration);\n if ((0, browser_core_1.canUseEventBridge)()) {\n var bridge_1 = (0, browser_core_1.getEventBridge)();\n telemetry.observable.subscribe(function (event) { return bridge_1.send('internal_telemetry', event); });\n }\n return telemetry;\n}\nfunction startRumEventCollection(lifeCycle, configuration, location, sessionManager, locationChangeObservable, domMutationObservable, getCommonContext, reportError) {\n var viewContexts = (0, viewContexts_1.startViewContexts)(lifeCycle);\n var urlContexts = (0, urlContexts_1.startUrlContexts)(lifeCycle, locationChangeObservable, location);\n var foregroundContexts = (0, foregroundContexts_1.startForegroundContexts)();\n var _a = (0, actionCollection_1.startActionCollection)(lifeCycle, domMutationObservable, configuration, foregroundContexts), addAction = _a.addAction, actionContexts = _a.actionContexts;\n (0, assembly_1.startRumAssembly)(configuration, lifeCycle, sessionManager, viewContexts, urlContexts, actionContexts, getCommonContext, reportError);\n return {\n viewContexts: viewContexts,\n foregroundContexts: foregroundContexts,\n urlContexts: urlContexts,\n addAction: addAction,\n actionContexts: actionContexts,\n stop: function () {\n viewContexts.stop();\n foregroundContexts.stop();\n },\n };\n}\nexports.startRumEventCollection = startRumEventCollection;\n//# sourceMappingURL=startRum.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMutationObserverConstructor = exports.createDOMMutationObservable = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nfunction createDOMMutationObservable() {\n var MutationObserver = getMutationObserverConstructor();\n var observable = new browser_core_1.Observable(function () {\n if (!MutationObserver) {\n return;\n }\n var observer = new MutationObserver((0, browser_core_1.monitor)(function () { return observable.notify(); }));\n observer.observe(document, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n });\n return function () { return observer.disconnect(); };\n });\n return observable;\n}\nexports.createDOMMutationObservable = createDOMMutationObservable;\nfunction getMutationObserverConstructor() {\n var constructor;\n var browserWindow = window;\n // Angular uses Zone.js to provide a context persisting across async tasks. Zone.js replaces the\n // global MutationObserver constructor with a patched version to support the context propagation.\n // There is an ongoing issue[1][2] with this setup when using a MutationObserver within a Angular\n // component: on some occasions, the callback is being called in an infinite loop, causing the\n // page to freeze (even if the callback is completely empty).\n //\n // To work around this issue, we try to get the original MutationObserver constructor stored by\n // Zone.js.\n //\n // [1] https://github.com/angular/angular/issues/26948\n // [2] https://github.com/angular/angular/issues/31712\n if (browserWindow.Zone) {\n var zoneSymbol = browserWindow.Zone.__symbol__;\n // Zone.js 0.8.6+ is storing original class constructors into the browser 'window' object[3].\n //\n // [3] https://github.com/angular/angular/blob/6375fa79875c0fe7b815efc45940a6e6f5c9c9eb/packages/zone.js/lib/common/utils.ts#L288\n constructor = browserWindow[zoneSymbol('MutationObserver')];\n if (!constructor && browserWindow.MutationObserver) {\n // Anterior Zone.js versions (used in Angular 2) does not expose the original MutationObserver\n // in the 'window' object. Luckily, the patched MutationObserver class is storing an original\n // instance in its properties[4]. Let's get the original MutationObserver constructor from\n // there.\n //\n // [4] https://github.com/angular/zone.js/blob/v0.8.5/lib/common/utils.ts#L412\n var patchedInstance = new browserWindow.MutationObserver(browser_core_1.noop);\n var originalInstance = patchedInstance[zoneSymbol('originalInstance')];\n constructor = originalInstance && originalInstance.constructor;\n }\n }\n if (!constructor) {\n constructor = browserWindow.MutationObserver;\n }\n return constructor;\n}\nexports.getMutationObserverConstructor = getMutationObserverConstructor;\n//# sourceMappingURL=domMutationObservable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createLocationChangeObservable = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nfunction createLocationChangeObservable(location) {\n var currentLocation = (0, browser_core_1.shallowClone)(location);\n var observable = new browser_core_1.Observable(function () {\n var stopHistoryTracking = trackHistory(onLocationChange).stop;\n var stopHashTracking = trackHash(onLocationChange).stop;\n return function () {\n stopHistoryTracking();\n stopHashTracking();\n };\n });\n function onLocationChange() {\n if (currentLocation.href === location.href) {\n return;\n }\n var newLocation = (0, browser_core_1.shallowClone)(location);\n observable.notify({\n newLocation: newLocation,\n oldLocation: currentLocation,\n });\n currentLocation = newLocation;\n }\n return observable;\n}\nexports.createLocationChangeObservable = createLocationChangeObservable;\nfunction trackHistory(onHistoryChange) {\n var stopInstrumentingPushState = (0, browser_core_1.instrumentMethodAndCallOriginal)(history, 'pushState', {\n after: onHistoryChange,\n }).stop;\n var stopInstrumentingReplaceState = (0, browser_core_1.instrumentMethodAndCallOriginal)(history, 'replaceState', {\n after: onHistoryChange,\n }).stop;\n var removeListener = (0, browser_core_1.addEventListener)(window, \"popstate\" /* POP_STATE */, onHistoryChange).stop;\n return {\n stop: function () {\n stopInstrumentingPushState();\n stopInstrumentingReplaceState();\n removeListener();\n },\n };\n}\nfunction trackHash(onHashChange) {\n return (0, browser_core_1.addEventListener)(window, \"hashchange\" /* HASH_CHANGE */, onHashChange);\n}\n//# sourceMappingURL=locationChangeObservable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retrieveInitialDocumentResourceTiming = exports.startPerformanceCollection = exports.supportPerformanceTimingEvent = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar resourceUtils_1 = require(\"../domain/rumEventsCollection/resource/resourceUtils\");\nvar getDocumentTraceId_1 = require(\"../domain/tracing/getDocumentTraceId\");\nfunction supportPerformanceObject() {\n return window.performance !== undefined && 'getEntries' in performance;\n}\nfunction supportPerformanceTimingEvent(entryType) {\n return (window.PerformanceObserver &&\n PerformanceObserver.supportedEntryTypes !== undefined &&\n PerformanceObserver.supportedEntryTypes.includes(entryType));\n}\nexports.supportPerformanceTimingEvent = supportPerformanceTimingEvent;\nfunction startPerformanceCollection(lifeCycle, configuration) {\n retrieveInitialDocumentResourceTiming(function (timing) {\n handleRumPerformanceEntries(lifeCycle, configuration, [timing]);\n });\n if (supportPerformanceObject()) {\n var performanceEntries_1 = performance.getEntries();\n // Because the performance entry list can be quite large\n // delay the computation to prevent the SDK from blocking the main thread on init\n setTimeout((0, browser_core_1.monitor)(function () { return handleRumPerformanceEntries(lifeCycle, configuration, performanceEntries_1); }));\n }\n if (window.PerformanceObserver) {\n var handlePerformanceEntryList_1 = (0, browser_core_1.monitor)(function (entries) {\n return handleRumPerformanceEntries(lifeCycle, configuration, entries.getEntries());\n });\n var mainEntries = ['resource', 'navigation', 'longtask', 'paint'];\n var experimentalEntries = ['largest-contentful-paint', 'first-input', 'layout-shift'];\n try {\n // Experimental entries are not retrieved by performance.getEntries()\n // use a single PerformanceObserver with buffered flag by type\n // to get values that could happen before SDK init\n experimentalEntries.forEach(function (type) {\n var observer = new PerformanceObserver(handlePerformanceEntryList_1);\n observer.observe({ type: type, buffered: true });\n });\n }\n catch (e) {\n // Some old browser versions (ex: chrome 67) don't support the PerformanceObserver type and buffered options\n // In these cases, fallback to PerformanceObserver with entryTypes\n mainEntries.push.apply(mainEntries, experimentalEntries);\n }\n var mainObserver = new PerformanceObserver(handlePerformanceEntryList_1);\n mainObserver.observe({ entryTypes: mainEntries });\n if (supportPerformanceObject() && 'addEventListener' in performance) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1559377\n performance.addEventListener('resourcetimingbufferfull', function () {\n performance.clearResourceTimings();\n });\n }\n }\n if (!supportPerformanceTimingEvent('navigation')) {\n retrieveNavigationTiming(function (timing) {\n handleRumPerformanceEntries(lifeCycle, configuration, [timing]);\n });\n }\n if (!supportPerformanceTimingEvent('first-input')) {\n retrieveFirstInputTiming(function (timing) {\n handleRumPerformanceEntries(lifeCycle, configuration, [timing]);\n });\n }\n}\nexports.startPerformanceCollection = startPerformanceCollection;\nfunction retrieveInitialDocumentResourceTiming(callback) {\n (0, browser_core_1.runOnReadyState)('interactive', function () {\n var timing;\n var forcedAttributes = {\n entryType: 'resource',\n initiatorType: resourceUtils_1.FAKE_INITIAL_DOCUMENT,\n traceId: (0, getDocumentTraceId_1.getDocumentTraceId)(document),\n };\n if (supportPerformanceTimingEvent('navigation') && performance.getEntriesByType('navigation').length > 0) {\n var navigationEntry = performance.getEntriesByType('navigation')[0];\n timing = (0, browser_core_1.assign)(navigationEntry.toJSON(), forcedAttributes);\n }\n else {\n var relativePerformanceTiming = computeRelativePerformanceTiming();\n timing = (0, browser_core_1.assign)(relativePerformanceTiming, {\n decodedBodySize: 0,\n duration: relativePerformanceTiming.responseEnd,\n name: window.location.href,\n startTime: 0,\n }, forcedAttributes);\n }\n callback(timing);\n });\n}\nexports.retrieveInitialDocumentResourceTiming = retrieveInitialDocumentResourceTiming;\nfunction retrieveNavigationTiming(callback) {\n function sendFakeTiming() {\n callback((0, browser_core_1.assign)(computeRelativePerformanceTiming(), {\n entryType: 'navigation',\n }));\n }\n (0, browser_core_1.runOnReadyState)('complete', function () {\n // Send it a bit after the actual load event, so the \"loadEventEnd\" timing is accurate\n setTimeout((0, browser_core_1.monitor)(sendFakeTiming));\n });\n}\n/**\n * first-input timing entry polyfill based on\n * https://github.com/GoogleChrome/web-vitals/blob/master/src/lib/polyfills/firstInputPolyfill.ts\n */\nfunction retrieveFirstInputTiming(callback) {\n var startTimeStamp = (0, browser_core_1.dateNow)();\n var timingSent = false;\n var removeEventListeners = (0, browser_core_1.addEventListeners)(window, [\"click\" /* CLICK */, \"mousedown\" /* MOUSE_DOWN */, \"keydown\" /* KEY_DOWN */, \"touchstart\" /* TOUCH_START */, \"pointerdown\" /* POINTER_DOWN */], function (evt) {\n // Only count cancelable events, which should trigger behavior important to the user.\n if (!evt.cancelable) {\n return;\n }\n // This timing will be used to compute the \"first Input delay\", which is the delta between\n // when the system received the event (e.g. evt.timeStamp) and when it could run the callback\n // (e.g. performance.now()).\n var timing = {\n entryType: 'first-input',\n processingStart: (0, browser_core_1.relativeNow)(),\n startTime: evt.timeStamp,\n };\n if (evt.type === \"pointerdown\" /* POINTER_DOWN */) {\n sendTimingIfPointerIsNotCancelled(timing);\n }\n else {\n sendTiming(timing);\n }\n }, { passive: true, capture: true }).stop;\n /**\n * Pointer events are a special case, because they can trigger main or compositor thread behavior.\n * We differentiate these cases based on whether or not we see a pointercancel event, which are\n * fired when we scroll. If we're scrolling we don't need to report input delay since FID excludes\n * scrolling and pinch/zooming.\n */\n function sendTimingIfPointerIsNotCancelled(timing) {\n (0, browser_core_1.addEventListeners)(window, [\"pointerup\" /* POINTER_UP */, \"pointercancel\" /* POINTER_CANCEL */], function (event) {\n if (event.type === \"pointerup\" /* POINTER_UP */) {\n sendTiming(timing);\n }\n }, { once: true });\n }\n function sendTiming(timing) {\n if (!timingSent) {\n timingSent = true;\n removeEventListeners();\n // In some cases the recorded delay is clearly wrong, e.g. it's negative or it's larger than\n // the time between now and when the page was loaded.\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/4\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/6\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/7\n var delay = timing.processingStart - timing.startTime;\n if (delay >= 0 && delay < (0, browser_core_1.dateNow)() - startTimeStamp) {\n callback(timing);\n }\n }\n }\n}\nfunction computeRelativePerformanceTiming() {\n var result = {};\n var timing = performance.timing;\n for (var key in timing) {\n if ((0, browser_core_1.isNumber)(timing[key])) {\n var numberKey = key;\n var timingElement = timing[numberKey];\n result[numberKey] = timingElement === 0 ? 0 : (0, browser_core_1.getRelativeTime)(timingElement);\n }\n }\n return result;\n}\nfunction handleRumPerformanceEntries(lifeCycle, configuration, entries) {\n var rumPerformanceEntries = entries.filter(function (entry) {\n return entry.entryType === 'resource' ||\n entry.entryType === 'navigation' ||\n entry.entryType === 'paint' ||\n entry.entryType === 'longtask' ||\n entry.entryType === 'largest-contentful-paint' ||\n entry.entryType === 'first-input' ||\n entry.entryType === 'layout-shift';\n });\n var rumAllowedPerformanceEntries = rumPerformanceEntries.filter(function (entry) { return !isIncompleteNavigation(entry) && !isForbiddenResource(configuration, entry); });\n if (rumAllowedPerformanceEntries.length) {\n lifeCycle.notify(0 /* PERFORMANCE_ENTRIES_COLLECTED */, rumAllowedPerformanceEntries);\n }\n}\nfunction isIncompleteNavigation(entry) {\n return entry.entryType === 'navigation' && entry.loadEventEnd <= 0;\n}\nfunction isForbiddenResource(configuration, entry) {\n return entry.entryType === 'resource' && !(0, resourceUtils_1.isAllowedRequestUrl)(configuration, entry.name);\n}\n//# sourceMappingURL=performanceCollection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getViewportDimension = exports.createViewportObservable = exports.initViewportObservable = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar viewportObservable;\nfunction initViewportObservable() {\n if (!viewportObservable) {\n viewportObservable = createViewportObservable();\n }\n return viewportObservable;\n}\nexports.initViewportObservable = initViewportObservable;\nfunction createViewportObservable() {\n var observable = new browser_core_1.Observable(function () {\n var updateDimension = (0, browser_core_1.throttle)((0, browser_core_1.monitor)(function () {\n observable.notify(getViewportDimension());\n }), 200).throttled;\n return (0, browser_core_1.addEventListener)(window, \"resize\" /* RESIZE */, updateDimension, { capture: true, passive: true }).stop;\n });\n return observable;\n}\nexports.createViewportObservable = createViewportObservable;\n// excludes the width and height of any rendered classic scrollbar that is fixed to the visual viewport\nfunction getViewportDimension() {\n var visual = window.visualViewport;\n if (visual) {\n return {\n width: Number(visual.width * visual.scale),\n height: Number(visual.height * visual.scale),\n };\n }\n return {\n width: Number(window.innerWidth || 0),\n height: Number(window.innerHeight || 0),\n };\n}\nexports.getViewportDimension = getViewportDimension;\n//# sourceMappingURL=viewportObservable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startRumAssembly = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar syntheticsContext_1 = require(\"./contexts/syntheticsContext\");\nvar ciTestContext_1 = require(\"./contexts/ciTestContext\");\nvar displayContext_1 = require(\"./contexts/displayContext\");\nvar VIEW_EVENTS_MODIFIABLE_FIELD_PATHS = [\n // Fields with sensitive data\n 'view.url',\n 'view.referrer',\n 'action.target.name',\n 'error.message',\n 'error.stack',\n 'error.resource.url',\n 'resource.url',\n];\nvar OTHER_EVENTS_MODIFIABLE_FIELD_PATHS = VIEW_EVENTS_MODIFIABLE_FIELD_PATHS.concat([\n // User-customizable field\n 'context',\n]);\nfunction startRumAssembly(configuration, lifeCycle, sessionManager, viewContexts, urlContexts, actionContexts, getCommonContext, reportError) {\n var _a;\n var eventRateLimiters = (_a = {},\n _a[\"error\" /* ERROR */] = (0, browser_core_1.createEventRateLimiter)(\"error\" /* ERROR */, configuration.eventRateLimiterThreshold, reportError),\n _a[\"action\" /* ACTION */] = (0, browser_core_1.createEventRateLimiter)(\"action\" /* ACTION */, configuration.eventRateLimiterThreshold, reportError),\n _a);\n var syntheticsContext = (0, syntheticsContext_1.getSyntheticsContext)();\n var ciTestContext = (0, ciTestContext_1.getCiTestContext)();\n lifeCycle.subscribe(10 /* RAW_RUM_EVENT_COLLECTED */, function (_a) {\n var startTime = _a.startTime, rawRumEvent = _a.rawRumEvent, domainContext = _a.domainContext, savedCommonContext = _a.savedCommonContext, customerContext = _a.customerContext;\n var viewContext = viewContexts.findView(startTime);\n var urlContext = urlContexts.findUrl(startTime);\n // allow to send events if the session was tracked when they start\n // except for views which are continuously updated\n // TODO: stop sending view updates when session is expired\n var session = sessionManager.findTrackedSession(rawRumEvent.type !== \"view\" /* VIEW */ ? startTime : undefined);\n if (session && viewContext && urlContext) {\n var commonContext = savedCommonContext || getCommonContext();\n var actionId = actionContexts.findActionId(startTime);\n var rumContext = {\n _dd: {\n format_version: 2,\n drift: (0, browser_core_1.currentDrift)(),\n session: {\n plan: session.plan,\n },\n browser_sdk_version: (0, browser_core_1.canUseEventBridge)() ? \"4.24.1\" : undefined,\n },\n application: {\n id: configuration.applicationId,\n },\n date: (0, browser_core_1.timeStampNow)(),\n service: viewContext.service || configuration.service,\n version: viewContext.version || configuration.version,\n source: 'browser',\n session: {\n id: session.id,\n type: syntheticsContext ? \"synthetics\" /* SYNTHETICS */ : ciTestContext ? \"ci_test\" /* CI_TEST */ : \"user\" /* USER */,\n },\n view: {\n id: viewContext.id,\n name: viewContext.name,\n url: urlContext.url,\n referrer: urlContext.referrer,\n },\n action: needToAssembleWithAction(rawRumEvent) && actionId ? { id: actionId } : undefined,\n synthetics: syntheticsContext,\n ci_test: ciTestContext,\n display: (0, displayContext_1.getDisplayContext)(),\n };\n var serverRumEvent = (0, browser_core_1.combine)(rumContext, rawRumEvent);\n serverRumEvent.context = (0, browser_core_1.combine)(commonContext.context, customerContext);\n if (!('has_replay' in serverRumEvent.session)) {\n ;\n serverRumEvent.session.has_replay = commonContext.hasReplay;\n }\n if (!(0, browser_core_1.isEmptyObject)(commonContext.user)) {\n ;\n serverRumEvent.usr = commonContext.user;\n }\n if (shouldSend(serverRumEvent, configuration.beforeSend, domainContext, eventRateLimiters)) {\n if ((0, browser_core_1.isEmptyObject)(serverRumEvent.context)) {\n delete serverRumEvent.context;\n }\n lifeCycle.notify(11 /* RUM_EVENT_COLLECTED */, serverRumEvent);\n }\n }\n });\n}\nexports.startRumAssembly = startRumAssembly;\nfunction shouldSend(event, beforeSend, domainContext, eventRateLimiters) {\n var _a;\n if (beforeSend) {\n var result = (0, browser_core_1.limitModification)(event, event.type === \"view\" /* VIEW */ ? VIEW_EVENTS_MODIFIABLE_FIELD_PATHS : OTHER_EVENTS_MODIFIABLE_FIELD_PATHS, function (event) { return beforeSend(event, domainContext); });\n if (result === false && event.type !== \"view\" /* VIEW */) {\n return false;\n }\n if (result === false) {\n browser_core_1.display.warn(\"Can't dismiss view events using beforeSend!\");\n }\n }\n var rateLimitReached = (_a = eventRateLimiters[event.type]) === null || _a === void 0 ? void 0 : _a.isLimitReached();\n return !rateLimitReached;\n}\nfunction needToAssembleWithAction(event) {\n return [\"error\" /* ERROR */, \"resource\" /* RESOURCE */, \"long_task\" /* LONG_TASK */].indexOf(event.type) !== -1;\n}\n//# sourceMappingURL=assembly.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializeRumConfiguration = exports.validateAndBuildRumConfiguration = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nfunction validateAndBuildRumConfiguration(initConfiguration) {\n var _a, _b, _c, _d, _e;\n if (!initConfiguration.applicationId) {\n browser_core_1.display.error('Application ID is not configured, no RUM data will be collected.');\n return;\n }\n if (initConfiguration.sessionReplaySampleRate !== undefined &&\n !(0, browser_core_1.isPercentage)(initConfiguration.sessionReplaySampleRate)) {\n browser_core_1.display.error('Session Replay Sample Rate should be a number between 0 and 100');\n return;\n }\n // TODO remove fallback in next major\n var premiumSampleRate = (_a = initConfiguration.premiumSampleRate) !== null && _a !== void 0 ? _a : initConfiguration.replaySampleRate;\n if (premiumSampleRate !== undefined && initConfiguration.sessionReplaySampleRate !== undefined) {\n browser_core_1.display.warn('Ignoring Premium Sample Rate because Session Replay Sample Rate is set');\n premiumSampleRate = undefined;\n }\n if (premiumSampleRate !== undefined && !(0, browser_core_1.isPercentage)(premiumSampleRate)) {\n browser_core_1.display.error('Premium Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.tracingSampleRate !== undefined && !(0, browser_core_1.isPercentage)(initConfiguration.tracingSampleRate)) {\n browser_core_1.display.error('Tracing Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.allowedTracingOrigins !== undefined) {\n if (!Array.isArray(initConfiguration.allowedTracingOrigins)) {\n browser_core_1.display.error('Allowed Tracing Origins should be an array');\n return;\n }\n if (initConfiguration.allowedTracingOrigins.length !== 0 && initConfiguration.service === undefined) {\n browser_core_1.display.error('Service need to be configured when tracing is enabled');\n return;\n }\n }\n if (initConfiguration.excludedActivityUrls !== undefined && !Array.isArray(initConfiguration.excludedActivityUrls)) {\n browser_core_1.display.error('Excluded Activity Urls should be an array');\n return;\n }\n var baseConfiguration = (0, browser_core_1.validateAndBuildConfiguration)(initConfiguration);\n if (!baseConfiguration) {\n return;\n }\n var trackFrustrations = !!initConfiguration.trackFrustrations;\n return (0, browser_core_1.assign)({\n applicationId: initConfiguration.applicationId,\n version: initConfiguration.version,\n actionNameAttribute: initConfiguration.actionNameAttribute,\n sessionReplaySampleRate: (_c = (_b = initConfiguration.sessionReplaySampleRate) !== null && _b !== void 0 ? _b : premiumSampleRate) !== null && _c !== void 0 ? _c : 100,\n oldPlansBehavior: initConfiguration.sessionReplaySampleRate === undefined,\n allowedTracingOrigins: (_d = initConfiguration.allowedTracingOrigins) !== null && _d !== void 0 ? _d : [],\n tracingSampleRate: initConfiguration.tracingSampleRate,\n excludedActivityUrls: (_e = initConfiguration.excludedActivityUrls) !== null && _e !== void 0 ? _e : [],\n trackInteractions: !!initConfiguration.trackInteractions || trackFrustrations,\n trackFrustrations: trackFrustrations,\n trackViewsManually: !!initConfiguration.trackViewsManually,\n trackResources: initConfiguration.trackResources,\n trackLongTasks: initConfiguration.trackLongTasks,\n defaultPrivacyLevel: (0, browser_core_1.objectHasValue)(browser_core_1.DefaultPrivacyLevel, initConfiguration.defaultPrivacyLevel)\n ? initConfiguration.defaultPrivacyLevel\n : browser_core_1.DefaultPrivacyLevel.MASK_USER_INPUT,\n }, baseConfiguration);\n}\nexports.validateAndBuildRumConfiguration = validateAndBuildRumConfiguration;\nfunction serializeRumConfiguration(configuration) {\n var baseSerializedConfiguration = (0, browser_core_1.serializeConfiguration)(configuration);\n return (0, browser_core_1.assign)({\n premium_sample_rate: configuration.premiumSampleRate,\n replay_sample_rate: configuration.replaySampleRate,\n session_replay_sample_rate: configuration.sessionReplaySampleRate,\n trace_sample_rate: configuration.tracingSampleRate,\n action_name_attribute: configuration.actionNameAttribute,\n use_allowed_tracing_origins: Array.isArray(configuration.allowedTracingOrigins) && configuration.allowedTracingOrigins.length > 0,\n default_privacy_level: configuration.defaultPrivacyLevel,\n use_excluded_activity_urls: Array.isArray(configuration.allowedTracingOrigins) && configuration.allowedTracingOrigins.length > 0,\n track_frustrations: configuration.trackFrustrations,\n track_views_manually: configuration.trackViewsManually,\n track_interactions: configuration.trackInteractions,\n }, baseSerializedConfiguration);\n}\nexports.serializeRumConfiguration = serializeRumConfiguration;\n//# sourceMappingURL=configuration.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCiTestContext = void 0;\nfunction getCiTestContext() {\n var _a;\n var testExecutionId = (_a = window.Cypress) === null || _a === void 0 ? void 0 : _a.env('traceId');\n if (typeof testExecutionId === 'string') {\n return {\n test_execution_id: testExecutionId,\n };\n }\n}\nexports.getCiTestContext = getCiTestContext;\n//# sourceMappingURL=ciTestContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resetDisplayContext = exports.getDisplayContext = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar viewportObservable_1 = require(\"../../browser/viewportObservable\");\nvar viewport;\nvar stopListeners;\nfunction getDisplayContext() {\n if (!(0, browser_core_1.isExperimentalFeatureEnabled)('clickmap'))\n return;\n if (!viewport) {\n viewport = (0, viewportObservable_1.getViewportDimension)();\n stopListeners = (0, viewportObservable_1.initViewportObservable)().subscribe(function (viewportDimension) {\n viewport = viewportDimension;\n }).unsubscribe;\n }\n return {\n viewport: viewport,\n };\n}\nexports.getDisplayContext = getDisplayContext;\nfunction resetDisplayContext() {\n if (stopListeners)\n stopListeners();\n viewport = undefined;\n}\nexports.resetDisplayContext = resetDisplayContext;\n//# sourceMappingURL=displayContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.closeForegroundPeriod = exports.addNewForegroundPeriod = exports.startForegroundContexts = exports.MAX_NUMBER_OF_STORED_FOREGROUND_PERIODS = exports.MAX_NUMBER_OF_SELECTABLE_FOREGROUND_PERIODS = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\n// Arbitrary value to cap number of element mostly for backend & to save bandwidth\nexports.MAX_NUMBER_OF_SELECTABLE_FOREGROUND_PERIODS = 500;\n// Arbitrary value to cap number of element mostly for memory consumption in the browser\nexports.MAX_NUMBER_OF_STORED_FOREGROUND_PERIODS = 2500;\nvar foregroundPeriods = [];\nfunction startForegroundContexts() {\n if (document.hasFocus()) {\n addNewForegroundPeriod();\n }\n var stopForegroundTracking = trackFocus(addNewForegroundPeriod).stop;\n var stopBlurTracking = trackBlur(closeForegroundPeriod).stop;\n return {\n isInForegroundAt: isInForegroundAt,\n selectInForegroundPeriodsFor: selectInForegroundPeriodsFor,\n stop: function () {\n foregroundPeriods = [];\n stopForegroundTracking();\n stopBlurTracking();\n },\n };\n}\nexports.startForegroundContexts = startForegroundContexts;\nfunction addNewForegroundPeriod() {\n if (foregroundPeriods.length > exports.MAX_NUMBER_OF_STORED_FOREGROUND_PERIODS) {\n return;\n }\n var currentForegroundPeriod = foregroundPeriods[foregroundPeriods.length - 1];\n var now = (0, browser_core_1.relativeNow)();\n if (currentForegroundPeriod !== undefined && currentForegroundPeriod.end === undefined) {\n return;\n }\n foregroundPeriods.push({\n start: now,\n });\n}\nexports.addNewForegroundPeriod = addNewForegroundPeriod;\nfunction closeForegroundPeriod() {\n if (foregroundPeriods.length === 0) {\n return;\n }\n var currentForegroundPeriod = foregroundPeriods[foregroundPeriods.length - 1];\n var now = (0, browser_core_1.relativeNow)();\n if (currentForegroundPeriod.end !== undefined) {\n return;\n }\n currentForegroundPeriod.end = now;\n}\nexports.closeForegroundPeriod = closeForegroundPeriod;\nfunction trackFocus(onFocusChange) {\n return (0, browser_core_1.addEventListener)(window, \"focus\" /* FOCUS */, function (event) {\n if (!event.isTrusted) {\n return;\n }\n onFocusChange();\n });\n}\nfunction trackBlur(onBlurChange) {\n return (0, browser_core_1.addEventListener)(window, \"blur\" /* BLUR */, function (event) {\n if (!event.isTrusted) {\n return;\n }\n onBlurChange();\n });\n}\nfunction isInForegroundAt(startTime) {\n for (var i = foregroundPeriods.length - 1; i >= 0; i--) {\n var foregroundPeriod = foregroundPeriods[i];\n if (foregroundPeriod.end !== undefined && startTime > foregroundPeriod.end) {\n break;\n }\n if (startTime > foregroundPeriod.start &&\n (foregroundPeriod.end === undefined || startTime < foregroundPeriod.end)) {\n return true;\n }\n }\n return false;\n}\nfunction selectInForegroundPeriodsFor(eventStartTime, duration) {\n var eventEndTime = (0, browser_core_1.addDuration)(eventStartTime, duration);\n var filteredForegroundPeriods = [];\n var earliestIndex = Math.max(0, foregroundPeriods.length - exports.MAX_NUMBER_OF_SELECTABLE_FOREGROUND_PERIODS);\n for (var i = foregroundPeriods.length - 1; i >= earliestIndex; i--) {\n var foregroundPeriod = foregroundPeriods[i];\n if (foregroundPeriod.end !== undefined && eventStartTime > foregroundPeriod.end) {\n // event starts after the end of the current focus period\n // since the array is sorted, we can stop looking for foreground periods\n break;\n }\n if (eventEndTime < foregroundPeriod.start) {\n // event ends before the start of the current focus period\n // continue to previous one\n continue;\n }\n var startTime = eventStartTime > foregroundPeriod.start ? eventStartTime : foregroundPeriod.start;\n var startDuration = (0, browser_core_1.elapsed)(eventStartTime, startTime);\n var endTime = foregroundPeriod.end === undefined || eventEndTime < foregroundPeriod.end ? eventEndTime : foregroundPeriod.end;\n var endDuration = (0, browser_core_1.elapsed)(startTime, endTime);\n filteredForegroundPeriods.unshift({\n start: (0, browser_core_1.toServerDuration)(startDuration),\n duration: (0, browser_core_1.toServerDuration)(endDuration),\n });\n }\n return filteredForegroundPeriods;\n}\n//# sourceMappingURL=foregroundContexts.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startInternalContext = void 0;\n/**\n * Internal context keep returning v1 format\n * to not break compatibility with logs data format\n */\nfunction startInternalContext(applicationId, sessionManager, viewContexts, actionContexts, urlContexts) {\n return {\n get: function (startTime) {\n var viewContext = viewContexts.findView(startTime);\n var urlContext = urlContexts.findUrl(startTime);\n var session = sessionManager.findTrackedSession(startTime);\n if (session && viewContext && urlContext) {\n var actionId = actionContexts.findActionId(startTime);\n return {\n application_id: applicationId,\n session_id: session.id,\n user_action: actionId ? { id: actionId } : undefined,\n view: { id: viewContext.id, name: viewContext.name, referrer: urlContext.referrer, url: urlContext.url },\n };\n }\n },\n };\n}\nexports.startInternalContext = startInternalContext;\n//# sourceMappingURL=internalContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSyntheticsContext = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nfunction getSyntheticsContext() {\n var testId = (0, browser_core_1.getSyntheticsTestId)();\n var resultId = (0, browser_core_1.getSyntheticsResultId)();\n if (testId && resultId) {\n return {\n test_id: testId,\n result_id: resultId,\n injected: (0, browser_core_1.willSyntheticsInjectRum)(),\n };\n }\n}\nexports.getSyntheticsContext = getSyntheticsContext;\n//# sourceMappingURL=syntheticsContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startUrlContexts = exports.URL_CONTEXT_TIME_OUT_DELAY = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\n/**\n * We want to attach to an event:\n * - the url corresponding to its start\n * - the referrer corresponding to the previous view url (or document referrer for initial view)\n */\nexports.URL_CONTEXT_TIME_OUT_DELAY = browser_core_1.SESSION_TIME_OUT_DELAY;\nfunction startUrlContexts(lifeCycle, locationChangeObservable, location) {\n var urlContextHistory = new browser_core_1.ContextHistory(exports.URL_CONTEXT_TIME_OUT_DELAY);\n var previousViewUrl;\n lifeCycle.subscribe(4 /* VIEW_ENDED */, function (_a) {\n var endClocks = _a.endClocks;\n urlContextHistory.closeActive(endClocks.relative);\n });\n lifeCycle.subscribe(2 /* VIEW_CREATED */, function (_a) {\n var startClocks = _a.startClocks;\n var viewUrl = location.href;\n urlContextHistory.add(buildUrlContext({\n url: viewUrl,\n referrer: !previousViewUrl ? document.referrer : previousViewUrl,\n }), startClocks.relative);\n previousViewUrl = viewUrl;\n });\n var locationChangeSubscription = locationChangeObservable.subscribe(function (_a) {\n var newLocation = _a.newLocation;\n var current = urlContextHistory.find();\n if (current) {\n var changeTime = (0, browser_core_1.relativeNow)();\n urlContextHistory.closeActive(changeTime);\n urlContextHistory.add(buildUrlContext({\n url: newLocation.href,\n referrer: current.referrer,\n }), changeTime);\n }\n });\n function buildUrlContext(_a) {\n var url = _a.url, referrer = _a.referrer;\n return {\n url: url,\n referrer: referrer,\n };\n }\n return {\n findUrl: function (startTime) { return urlContextHistory.find(startTime); },\n stop: function () {\n locationChangeSubscription.unsubscribe();\n urlContextHistory.stop();\n },\n };\n}\nexports.startUrlContexts = startUrlContexts;\n//# sourceMappingURL=urlContexts.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startViewContexts = exports.VIEW_CONTEXT_TIME_OUT_DELAY = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nexports.VIEW_CONTEXT_TIME_OUT_DELAY = browser_core_1.SESSION_TIME_OUT_DELAY;\nfunction startViewContexts(lifeCycle) {\n var viewContextHistory = new browser_core_1.ContextHistory(exports.VIEW_CONTEXT_TIME_OUT_DELAY);\n lifeCycle.subscribe(2 /* VIEW_CREATED */, function (view) {\n viewContextHistory.add(buildViewContext(view), view.startClocks.relative);\n });\n lifeCycle.subscribe(4 /* VIEW_ENDED */, function (_a) {\n var endClocks = _a.endClocks;\n viewContextHistory.closeActive(endClocks.relative);\n });\n lifeCycle.subscribe(8 /* SESSION_RENEWED */, function () {\n viewContextHistory.reset();\n });\n function buildViewContext(view) {\n return {\n service: view.service,\n version: view.version,\n id: view.id,\n name: view.name,\n };\n }\n return {\n findView: function (startTime) { return viewContextHistory.find(startTime); },\n stop: function () {\n viewContextHistory.stop();\n },\n };\n}\nexports.startViewContexts = startViewContexts;\n//# sourceMappingURL=viewContexts.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LifeCycle = void 0;\nvar LifeCycle = /** @class */ (function () {\n function LifeCycle() {\n this.callbacks = {};\n }\n LifeCycle.prototype.notify = function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType];\n if (eventCallbacks) {\n eventCallbacks.forEach(function (callback) { return callback(data); });\n }\n };\n LifeCycle.prototype.subscribe = function (eventType, callback) {\n var _this = this;\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = [];\n }\n this.callbacks[eventType].push(callback);\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = _this.callbacks[eventType].filter(function (other) { return callback !== other; });\n },\n };\n };\n return LifeCycle;\n}());\nexports.LifeCycle = LifeCycle;\n//# sourceMappingURL=lifeCycle.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.trackFetch = exports.trackXhr = exports.startRequestCollection = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar resourceUtils_1 = require(\"./rumEventsCollection/resource/resourceUtils\");\nvar tracer_1 = require(\"./tracing/tracer\");\nvar nextRequestIndex = 1;\nfunction startRequestCollection(lifeCycle, configuration, sessionManager) {\n var tracer = (0, tracer_1.startTracer)(configuration, sessionManager);\n trackXhr(lifeCycle, configuration, tracer);\n trackFetch(lifeCycle, configuration, tracer);\n}\nexports.startRequestCollection = startRequestCollection;\nfunction trackXhr(lifeCycle, configuration, tracer) {\n var subscription = (0, browser_core_1.initXhrObservable)().subscribe(function (rawContext) {\n var context = rawContext;\n if (!(0, resourceUtils_1.isAllowedRequestUrl)(configuration, context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceXhr(context, context.xhr);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(5 /* REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'complete':\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(6 /* REQUEST_COMPLETED */, {\n duration: context.duration,\n method: context.method,\n requestIndex: context.requestIndex,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: \"xhr\" /* XHR */,\n url: context.url,\n xhr: context.xhr,\n });\n break;\n }\n });\n return { stop: function () { return subscription.unsubscribe(); } };\n}\nexports.trackXhr = trackXhr;\nfunction trackFetch(lifeCycle, configuration, tracer) {\n var subscription = (0, browser_core_1.initFetchObservable)().subscribe(function (rawContext) {\n var context = rawContext;\n if (!(0, resourceUtils_1.isAllowedRequestUrl)(configuration, context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceFetch(context);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(5 /* REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'complete':\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(6 /* REQUEST_COMPLETED */, {\n duration: context.duration,\n method: context.method,\n requestIndex: context.requestIndex,\n responseType: context.responseType,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: \"fetch\" /* FETCH */,\n url: context.url,\n response: context.response,\n init: context.init,\n input: context.input,\n });\n break;\n }\n });\n return { stop: function () { return subscription.unsubscribe(); } };\n}\nexports.trackFetch = trackFetch;\nfunction getNextRequestIndex() {\n var result = nextRequestIndex;\n nextRequestIndex += 1;\n return result;\n}\n//# sourceMappingURL=requestCollection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startActionCollection = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar trackClickActions_1 = require(\"./trackClickActions\");\nfunction startActionCollection(lifeCycle, domMutationObservable, configuration, foregroundContexts) {\n lifeCycle.subscribe(1 /* AUTO_ACTION_COMPLETED */, function (action) {\n return lifeCycle.notify(10 /* RAW_RUM_EVENT_COLLECTED */, processAction(action, foregroundContexts));\n });\n var actionContexts = { findActionId: browser_core_1.noop };\n if (configuration.trackInteractions) {\n actionContexts = (0, trackClickActions_1.trackClickActions)(lifeCycle, domMutationObservable, configuration).actionContexts;\n }\n return {\n addAction: function (action, savedCommonContext) {\n lifeCycle.notify(10 /* RAW_RUM_EVENT_COLLECTED */, (0, browser_core_1.assign)({\n savedCommonContext: savedCommonContext,\n }, processAction(action, foregroundContexts)));\n },\n actionContexts: actionContexts,\n };\n}\nexports.startActionCollection = startActionCollection;\nfunction processAction(action, foregroundContexts) {\n var autoActionProperties = isAutoAction(action)\n ? {\n action: {\n id: action.id,\n loading_time: (0, browser_core_1.toServerDuration)(action.duration),\n frustration: {\n type: action.frustrationTypes,\n },\n error: {\n count: action.counts.errorCount,\n },\n long_task: {\n count: action.counts.longTaskCount,\n },\n resource: {\n count: action.counts.resourceCount,\n },\n },\n _dd: {\n action: {\n target: action.target,\n position: action.position,\n },\n },\n }\n : undefined;\n var customerContext = !isAutoAction(action) ? action.context : undefined;\n var actionEvent = (0, browser_core_1.combine)({\n action: {\n id: (0, browser_core_1.generateUUID)(),\n target: {\n name: action.name,\n },\n type: action.type,\n },\n date: action.startClocks.timeStamp,\n type: \"action\" /* ACTION */,\n }, autoActionProperties);\n var inForeground = foregroundContexts.isInForegroundAt(action.startClocks.relative);\n if (inForeground !== undefined) {\n actionEvent.view = { in_foreground: inForeground };\n }\n return {\n customerContext: customerContext,\n rawRumEvent: actionEvent,\n startTime: action.startClocks.relative,\n domainContext: isAutoAction(action) ? { event: action.event, events: action.events } : {},\n };\n}\nfunction isAutoAction(action) {\n return action.type !== \"custom\" /* CUSTOM */;\n}\n//# sourceMappingURL=actionCollection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createClickChain = exports.MAX_DISTANCE_BETWEEN_CLICKS = exports.MAX_DURATION_BETWEEN_CLICKS = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nexports.MAX_DURATION_BETWEEN_CLICKS = browser_core_1.ONE_SECOND;\nexports.MAX_DISTANCE_BETWEEN_CLICKS = 100;\nfunction createClickChain(firstClick, onFinalize) {\n var bufferedClicks = [];\n var status = 0 /* WaitingForMoreClicks */;\n var maxDurationBetweenClicksTimeout;\n appendClick(firstClick);\n function appendClick(click) {\n click.stopObservable.subscribe(tryFinalize);\n bufferedClicks.push(click);\n clearTimeout(maxDurationBetweenClicksTimeout);\n maxDurationBetweenClicksTimeout = setTimeout((0, browser_core_1.monitor)(dontAcceptMoreClick), exports.MAX_DURATION_BETWEEN_CLICKS);\n }\n function tryFinalize() {\n if (status === 1 /* WaitingForClicksToStop */ && bufferedClicks.every(function (click) { return click.isStopped(); })) {\n status = 2 /* Finalized */;\n onFinalize(bufferedClicks);\n }\n }\n function dontAcceptMoreClick() {\n clearTimeout(maxDurationBetweenClicksTimeout);\n if (status === 0 /* WaitingForMoreClicks */) {\n status = 1 /* WaitingForClicksToStop */;\n tryFinalize();\n }\n }\n return {\n tryAppend: function (click) {\n if (status !== 0 /* WaitingForMoreClicks */) {\n return false;\n }\n if (bufferedClicks.length > 0 &&\n !areEventsSimilar(bufferedClicks[bufferedClicks.length - 1].event, click.event)) {\n dontAcceptMoreClick();\n return false;\n }\n appendClick(click);\n return true;\n },\n stop: function () {\n dontAcceptMoreClick();\n },\n };\n}\nexports.createClickChain = createClickChain;\n/**\n * Checks whether two events are similar by comparing their target, position and timestamp\n */\nfunction areEventsSimilar(first, second) {\n return (first.target === second.target &&\n mouseEventDistance(first, second) <= exports.MAX_DISTANCE_BETWEEN_CLICKS &&\n first.timeStamp - second.timeStamp <= exports.MAX_DURATION_BETWEEN_CLICKS);\n}\nfunction mouseEventDistance(origin, other) {\n return Math.sqrt(Math.pow(origin.clientX - other.clientX, 2) + Math.pow(origin.clientY - other.clientY, 2));\n}\n//# sourceMappingURL=clickChain.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isDead = exports.isRage = exports.computeFrustration = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar MIN_CLICKS_PER_SECOND_TO_CONSIDER_RAGE = 3;\nfunction computeFrustration(clicks, rageClick) {\n if (isRage(clicks)) {\n rageClick.addFrustration(\"rage_click\" /* RAGE_CLICK */);\n if (clicks.some(isDead)) {\n rageClick.addFrustration(\"dead_click\" /* DEAD_CLICK */);\n }\n if (rageClick.hasError) {\n rageClick.addFrustration(\"error_click\" /* ERROR_CLICK */);\n }\n return { isRage: true };\n }\n var hasSelectionChanged = clicks.some(function (click) { return click.getUserActivity().selection; });\n clicks.forEach(function (click) {\n if (click.hasError) {\n click.addFrustration(\"error_click\" /* ERROR_CLICK */);\n }\n if (isDead(click) &&\n // Avoid considering clicks part of a double-click or triple-click selections as dead clicks\n !hasSelectionChanged) {\n click.addFrustration(\"dead_click\" /* DEAD_CLICK */);\n }\n });\n return { isRage: false };\n}\nexports.computeFrustration = computeFrustration;\nfunction isRage(clicks) {\n if (clicks.some(function (click) { return click.getUserActivity().selection; })) {\n return false;\n }\n for (var i = 0; i < clicks.length - (MIN_CLICKS_PER_SECOND_TO_CONSIDER_RAGE - 1); i += 1) {\n if (clicks[i + MIN_CLICKS_PER_SECOND_TO_CONSIDER_RAGE - 1].event.timeStamp - clicks[i].event.timeStamp <=\n browser_core_1.ONE_SECOND) {\n return true;\n }\n }\n return false;\n}\nexports.isRage = isRage;\nvar DEAD_CLICK_EXCLUDE_SELECTOR = \n// inputs that don't trigger a meaningful event like \"input\" when clicked, including textual\n// inputs (using a negative selector is shorter here)\n'input:not([type=\"checkbox\"]):not([type=\"radio\"]):not([type=\"button\"]):not([type=\"submit\"]):not([type=\"reset\"]):not([type=\"range\"]),' +\n 'textarea,' +\n 'select,' +\n // canvas, as there is no good way to detect activity occurring on them\n 'canvas,' +\n // links that are interactive (have an href attribute) or any of their descendants, as they can\n // open a new tab or navigate to a hash without triggering a meaningful event\n 'a[href],' +\n 'a[href] *';\nfunction isDead(click) {\n if (click.hasPageActivity || click.getUserActivity().input) {\n return false;\n }\n return !(0, browser_core_1.elementMatches)(click.event.target, DEAD_CLICK_EXCLUDE_SELECTOR);\n}\nexports.isDead = isDead;\n//# sourceMappingURL=computeFrustration.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getActionNameFromElement = exports.DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\n/**\n * Get the action name from the attribute 'data-dd-action-name' on the element or any of its parent.\n * It can also be retrieved from a user defined attribute.\n */\nexports.DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE = 'data-dd-action-name';\nfunction getActionNameFromElement(element, userProgrammaticAttribute) {\n // Proceed to get the action name in two steps:\n // * first, get the name programmatically, explicitly defined by the user.\n // * then, use strategies that are known to return good results. Those strategies will be used on\n // the element and a few parents, but it's likely that they won't succeed at all.\n // * if no name is found this way, use strategies returning less accurate names as a fallback.\n // Those are much likely to succeed.\n return (getActionNameFromElementProgrammatically(element, exports.DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE) ||\n (userProgrammaticAttribute && getActionNameFromElementProgrammatically(element, userProgrammaticAttribute)) ||\n getActionNameFromElementForStrategies(element, userProgrammaticAttribute, priorityStrategies) ||\n getActionNameFromElementForStrategies(element, userProgrammaticAttribute, fallbackStrategies) ||\n '');\n}\nexports.getActionNameFromElement = getActionNameFromElement;\nfunction getActionNameFromElementProgrammatically(targetElement, programmaticAttribute) {\n var elementWithAttribute;\n // We don't use getActionNameFromElementForStrategies here, because we want to consider all parents,\n // without limit. It is up to the user to declare a relevant naming strategy.\n // If available, use element.closest() to match get the attribute from the element or any of its\n // parent. Else fallback to a more traditional implementation.\n if (supportsElementClosest()) {\n elementWithAttribute = targetElement.closest(\"[\".concat(programmaticAttribute, \"]\"));\n }\n else {\n var element = targetElement;\n while (element) {\n if (element.hasAttribute(programmaticAttribute)) {\n elementWithAttribute = element;\n break;\n }\n element = element.parentElement;\n }\n }\n if (!elementWithAttribute) {\n return;\n }\n var name = elementWithAttribute.getAttribute(programmaticAttribute);\n return truncate(normalizeWhitespace(name.trim()));\n}\nvar priorityStrategies = [\n // associated LABEL text\n function (element, userProgrammaticAttribute) {\n // IE does not support element.labels, so we fallback to a CSS selector based on the element id\n // instead\n if (supportsLabelProperty()) {\n if ('labels' in element && element.labels && element.labels.length > 0) {\n return getTextualContent(element.labels[0], userProgrammaticAttribute);\n }\n }\n else if (element.id) {\n var label = element.ownerDocument &&\n (0, browser_core_1.find)(element.ownerDocument.querySelectorAll('label'), function (label) { return label.htmlFor === element.id; });\n return label && getTextualContent(label, userProgrammaticAttribute);\n }\n },\n // INPUT button (and associated) value\n function (element) {\n if (element.nodeName === 'INPUT') {\n var input = element;\n var type = input.getAttribute('type');\n if (type === 'button' || type === 'submit' || type === 'reset') {\n return input.value;\n }\n }\n },\n // BUTTON, LABEL or button-like element text\n function (element, userProgrammaticAttribute) {\n if (element.nodeName === 'BUTTON' || element.nodeName === 'LABEL' || element.getAttribute('role') === 'button') {\n return getTextualContent(element, userProgrammaticAttribute);\n }\n },\n function (element) { return element.getAttribute('aria-label'); },\n // associated element text designated by the aria-labelledby attribute\n function (element, userProgrammaticAttribute) {\n var labelledByAttribute = element.getAttribute('aria-labelledby');\n if (labelledByAttribute) {\n return labelledByAttribute\n .split(/\\s+/)\n .map(function (id) { return getElementById(element, id); })\n .filter(function (label) { return Boolean(label); })\n .map(function (element) { return getTextualContent(element, userProgrammaticAttribute); })\n .join(' ');\n }\n },\n function (element) { return element.getAttribute('alt'); },\n function (element) { return element.getAttribute('name'); },\n function (element) { return element.getAttribute('title'); },\n function (element) { return element.getAttribute('placeholder'); },\n // SELECT first OPTION text\n function (element, userProgrammaticAttribute) {\n if ('options' in element && element.options.length > 0) {\n return getTextualContent(element.options[0], userProgrammaticAttribute);\n }\n },\n];\nvar fallbackStrategies = [\n function (element, userProgrammaticAttribute) { return getTextualContent(element, userProgrammaticAttribute); },\n];\n/**\n * Iterates over the target element and its parent, using the strategies list to get an action name.\n * Each strategies are applied on each element, stopping as soon as a non-empty value is returned.\n */\nvar MAX_PARENTS_TO_CONSIDER = 10;\nfunction getActionNameFromElementForStrategies(targetElement, userProgrammaticAttribute, strategies) {\n var element = targetElement;\n var recursionCounter = 0;\n while (recursionCounter <= MAX_PARENTS_TO_CONSIDER &&\n element &&\n element.nodeName !== 'BODY' &&\n element.nodeName !== 'HTML' &&\n element.nodeName !== 'HEAD') {\n for (var _i = 0, strategies_1 = strategies; _i < strategies_1.length; _i++) {\n var strategy = strategies_1[_i];\n var name_1 = strategy(element, userProgrammaticAttribute);\n if (typeof name_1 === 'string') {\n var trimmedName = name_1.trim();\n if (trimmedName) {\n return truncate(normalizeWhitespace(trimmedName));\n }\n }\n }\n // Consider a FORM as a contextual limit to get the action name. This is experimental and may\n // be reconsidered in the future.\n if (element.nodeName === 'FORM') {\n break;\n }\n element = element.parentElement;\n recursionCounter += 1;\n }\n}\nfunction normalizeWhitespace(s) {\n return s.replace(/\\s+/g, ' ');\n}\nfunction truncate(s) {\n return s.length > 100 ? \"\".concat((0, browser_core_1.safeTruncate)(s, 100), \" [...]\") : s;\n}\nfunction getElementById(refElement, id) {\n // Use the element ownerDocument here, because tests are executed in an iframe, so\n // document.getElementById won't work.\n return refElement.ownerDocument ? refElement.ownerDocument.getElementById(id) : null;\n}\nfunction getTextualContent(element, userProgrammaticAttribute) {\n if (element.isContentEditable) {\n return;\n }\n if ('innerText' in element) {\n var text_1 = element.innerText;\n var removeTextFromElements = function (query) {\n var list = element.querySelectorAll(query);\n for (var index = 0; index < list.length; index += 1) {\n var element_1 = list[index];\n if ('innerText' in element_1) {\n var textToReplace = element_1.innerText;\n if (textToReplace && textToReplace.trim().length > 0) {\n text_1 = text_1.replace(textToReplace, '');\n }\n }\n }\n };\n if (!supportsInnerTextScriptAndStyleRemoval()) {\n // remove the inner text of SCRIPT and STYLES from the result. This is a bit dirty, but should\n // be relatively fast and work in most cases.\n removeTextFromElements('script, style');\n }\n // remove the text of elements with programmatic attribute value\n removeTextFromElements(\"[\".concat(exports.DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE, \"]\"));\n if (userProgrammaticAttribute) {\n removeTextFromElements(\"[\".concat(userProgrammaticAttribute, \"]\"));\n }\n return text_1;\n }\n return element.textContent;\n}\n/**\n * Returns true if element.innerText excludes the text from inline SCRIPT and STYLE element. This\n * should be the case everywhere except on Internet Explorer 10 and 11 (see [1])\n *\n * The innerText property relies on what is actually rendered to compute its output, so to check if\n * it actually excludes SCRIPT and STYLE content, a solution would be to create a style element, set\n * its content to '*', inject it in the document body, and check if the style element innerText\n * property returns '*'. Using a new `document` instance won't work as it is not rendered.\n *\n * This solution requires specific CSP rules (see [2]) to be set by the customer. We want to avoid\n * this, so instead we rely on browser detection. In case of false negative, the impact should be\n * low, since we rely on this result to remove the SCRIPT and STYLE innerText (which will be empty)\n * from a parent element innerText.\n *\n * [1]: https://web.archive.org/web/20210602165716/http://perfectionkills.com/the-poor-misunderstood-innerText/#diff-with-textContent\n * [2]: https://github.com/DataDog/browser-sdk/issues/1084\n */\nfunction supportsInnerTextScriptAndStyleRemoval() {\n return !(0, browser_core_1.isIE)();\n}\n/**\n * Returns true if the browser supports the element.labels property. This should be the case\n * everywhere except on Internet Explorer.\n * Note: The result is computed lazily, because we don't want any DOM access when the SDK is\n * evaluated.\n */\nvar supportsLabelPropertyResult;\nfunction supportsLabelProperty() {\n if (supportsLabelPropertyResult === undefined) {\n supportsLabelPropertyResult = 'labels' in HTMLInputElement.prototype;\n }\n return supportsLabelPropertyResult;\n}\n/**\n * Returns true if the browser supports the element.closest method. This should be the case\n * everywhere except on Internet Explorer.\n * Note: The result is computed lazily, because we don't want any DOM access when the SDK is\n * evaluated.\n */\nvar supportsElementClosestResult;\nfunction supportsElementClosest() {\n if (supportsElementClosestResult === undefined) {\n supportsElementClosestResult = 'closest' in HTMLElement.prototype;\n }\n return supportsElementClosestResult;\n}\n//# sourceMappingURL=getActionNameFromElement.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.supportScopeSelector = exports.getSelectorFromElement = exports.STABLE_ATTRIBUTES = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar getActionNameFromElement_1 = require(\"./getActionNameFromElement\");\n/**\n * Stable attributes are attributes that are commonly used to identify parts of a UI (ex:\n * component). Those attribute values should not be generated randomly (hardcoded most of the time)\n * and stay the same across deploys. They are not necessarily unique across the document.\n */\nexports.STABLE_ATTRIBUTES = [\n getActionNameFromElement_1.DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE,\n // Common test attributes (list provided by google recorder)\n 'data-testid',\n 'data-test',\n 'data-qa',\n 'data-cy',\n 'data-test-id',\n 'data-qa-id',\n 'data-testing',\n // FullStory decorator attributes:\n 'data-component',\n 'data-element',\n 'data-source-file',\n];\n// Selectors to use if they target a single element on the whole document. Those selectors are\n// considered as \"stable\" and uniquely identify an element regardless of the page state. If we find\n// one, we should consider the selector \"complete\" and stop iterating over ancestors.\nvar GLOBALLY_UNIQUE_SELECTOR_GETTERS = [getStableAttributeSelector, getIDSelector];\n// Selectors to use if they target a single element among an element descendants. Those selectors\n// are more brittle than \"globally unique\" selectors and should be combined with ancestor selectors\n// to improve specificity.\nvar UNIQUE_AMONG_CHILDREN_SELECTOR_GETTERS = [\n getStableAttributeSelector,\n getClassSelector,\n getTagNameSelector,\n];\nfunction getSelectorFromElement(targetElement, actionNameAttribute) {\n var targetElementSelector = '';\n var element = targetElement;\n while (element && element.nodeName !== 'HTML') {\n var globallyUniqueSelector = findSelector(element, GLOBALLY_UNIQUE_SELECTOR_GETTERS, isSelectorUniqueGlobally, actionNameAttribute, targetElementSelector);\n if (globallyUniqueSelector) {\n return globallyUniqueSelector;\n }\n var uniqueSelectorAmongChildren = findSelector(element, UNIQUE_AMONG_CHILDREN_SELECTOR_GETTERS, isSelectorUniqueAmongSiblings, actionNameAttribute, targetElementSelector);\n targetElementSelector =\n uniqueSelectorAmongChildren || combineSelector(getPositionSelector(element), targetElementSelector);\n element = element.parentElement;\n }\n return targetElementSelector;\n}\nexports.getSelectorFromElement = getSelectorFromElement;\nfunction isGeneratedValue(value) {\n // To compute the \"URL path group\", the backend replaces every URL path parts as a question mark\n // if it thinks the part is an identifier. The condition it uses is to checks whether a digit is\n // present.\n //\n // Here, we use the same strategy: if a the value contains a digit, we consider it generated. This\n // strategy might be a bit naive and fail in some cases, but there are many fallbacks to generate\n // CSS selectors so it should be fine most of the time. We might want to allow customers to\n // provide their own `isGeneratedValue` at some point.\n return /[0-9]/.test(value);\n}\nfunction getIDSelector(element) {\n if (element.id && !isGeneratedValue(element.id)) {\n return \"#\".concat((0, browser_core_1.cssEscape)(element.id));\n }\n}\nfunction getClassSelector(element) {\n if (element.tagName === 'BODY') {\n return;\n }\n if (element.classList.length > 0) {\n for (var i = 0; i < element.classList.length; i += 1) {\n var className = element.classList[i];\n if (isGeneratedValue(className)) {\n continue;\n }\n return \"\".concat(element.tagName, \".\").concat((0, browser_core_1.cssEscape)(className));\n }\n }\n}\nfunction getTagNameSelector(element) {\n return element.tagName;\n}\nfunction getStableAttributeSelector(element, actionNameAttribute) {\n if (actionNameAttribute) {\n var selector = getAttributeSelector(actionNameAttribute);\n if (selector)\n return selector;\n }\n for (var _i = 0, STABLE_ATTRIBUTES_1 = exports.STABLE_ATTRIBUTES; _i < STABLE_ATTRIBUTES_1.length; _i++) {\n var attributeName = STABLE_ATTRIBUTES_1[_i];\n var selector = getAttributeSelector(attributeName);\n if (selector)\n return selector;\n }\n function getAttributeSelector(attributeName) {\n if (element.hasAttribute(attributeName)) {\n return \"\".concat(element.tagName, \"[\").concat(attributeName, \"=\\\"\").concat((0, browser_core_1.cssEscape)(element.getAttribute(attributeName)), \"\\\"]\");\n }\n }\n}\nfunction getPositionSelector(element) {\n var sibling = element.parentElement.firstElementChild;\n var elementIndex = 1;\n while (sibling && sibling !== element) {\n if (sibling.tagName === element.tagName) {\n elementIndex += 1;\n }\n sibling = sibling.nextElementSibling;\n }\n return \"\".concat(element.tagName, \":nth-of-type(\").concat(elementIndex, \")\");\n}\nfunction findSelector(element, selectorGetters, predicate, actionNameAttribute, childSelector) {\n for (var _i = 0, selectorGetters_1 = selectorGetters; _i < selectorGetters_1.length; _i++) {\n var selectorGetter = selectorGetters_1[_i];\n var elementSelector = selectorGetter(element, actionNameAttribute);\n if (!elementSelector) {\n continue;\n }\n var fullSelector = combineSelector(elementSelector, childSelector);\n if (predicate(element, fullSelector)) {\n return fullSelector;\n }\n }\n}\n/**\n * Check whether the selector is unique among the whole document.\n */\nfunction isSelectorUniqueGlobally(element, selector) {\n return element.ownerDocument.querySelectorAll(selector).length === 1;\n}\n/**\n * Check whether the selector is unique among the element siblings. In other words, it returns true\n * if \"ELEMENT_PARENT > SELECTOR\" returns a single element.\n *\n * The result will be less accurate on browsers that don't support :scope (i. e. IE): it will check\n * for any element matching the selector contained in the parent (in other words,\n * \"ELEMENT_PARENT SELECTOR\" returns a single element), regardless of whether the selector is a\n * direct descendent of the element parent. This should not impact results too much: if it\n * inaccurately returns false, we'll just fall back to another strategy.\n */\nfunction isSelectorUniqueAmongSiblings(element, selector) {\n return (element.parentElement.querySelectorAll(supportScopeSelector() ? combineSelector(':scope', selector) : selector)\n .length === 1);\n}\nfunction combineSelector(parent, child) {\n return child ? \"\".concat(parent, \">\").concat(child) : parent;\n}\nvar supportScopeSelectorCache;\nfunction supportScopeSelector() {\n if (supportScopeSelectorCache === undefined) {\n try {\n document.querySelector(':scope');\n supportScopeSelectorCache = true;\n }\n catch (_a) {\n supportScopeSelectorCache = false;\n }\n }\n return supportScopeSelectorCache;\n}\nexports.supportScopeSelector = supportScopeSelector;\n//# sourceMappingURL=getSelectorFromElement.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.listenActionEvents = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nfunction listenActionEvents(_a) {\n var onPointerDown = _a.onPointerDown, onClick = _a.onClick;\n var hasSelectionChanged = false;\n var selectionEmptyAtPointerDown;\n var hasInputChanged = false;\n var clickContext;\n var listeners = [\n (0, browser_core_1.addEventListener)(window, \"pointerdown\" /* POINTER_DOWN */, function (event) {\n hasSelectionChanged = false;\n selectionEmptyAtPointerDown = isSelectionEmpty();\n if (isMouseEventOnElement(event)) {\n clickContext = onPointerDown(event);\n }\n }, { capture: true }),\n (0, browser_core_1.addEventListener)(window, \"selectionchange\" /* SELECTION_CHANGE */, function () {\n if (!selectionEmptyAtPointerDown || !isSelectionEmpty()) {\n hasSelectionChanged = true;\n }\n }, { capture: true }),\n (0, browser_core_1.addEventListener)(window, \"click\" /* CLICK */, function (clickEvent) {\n if (isMouseEventOnElement(clickEvent) && clickContext) {\n // Use a scoped variable to make sure the value is not changed by other clicks\n var userActivity_1 = {\n selection: hasSelectionChanged,\n input: hasInputChanged,\n };\n if (!hasInputChanged) {\n setTimeout((0, browser_core_1.monitor)(function () {\n userActivity_1.input = hasInputChanged;\n }));\n }\n onClick(clickContext, clickEvent, function () { return userActivity_1; });\n clickContext = undefined;\n }\n }, { capture: true }),\n (0, browser_core_1.addEventListener)(window, \"input\" /* INPUT */, function () {\n hasInputChanged = true;\n }, { capture: true }),\n ];\n return {\n stop: function () {\n listeners.forEach(function (listener) { return listener.stop(); });\n },\n };\n}\nexports.listenActionEvents = listenActionEvents;\nfunction isSelectionEmpty() {\n var selection = window.getSelection();\n return !selection || selection.isCollapsed;\n}\nfunction isMouseEventOnElement(event) {\n return event.target instanceof Element;\n}\n//# sourceMappingURL=listenActionEvents.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.finalizeClicks = exports.trackClickActions = exports.ACTION_CONTEXT_TIME_OUT_DELAY = exports.CLICK_ACTION_MAX_DURATION = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar trackEventCounts_1 = require(\"../../trackEventCounts\");\nvar waitPageActivityEnd_1 = require(\"../../waitPageActivityEnd\");\nvar clickChain_1 = require(\"./clickChain\");\nvar getActionNameFromElement_1 = require(\"./getActionNameFromElement\");\nvar getSelectorFromElement_1 = require(\"./getSelectorFromElement\");\nvar listenActionEvents_1 = require(\"./listenActionEvents\");\nvar computeFrustration_1 = require(\"./computeFrustration\");\n// Maximum duration for click actions\nexports.CLICK_ACTION_MAX_DURATION = 10 * browser_core_1.ONE_SECOND;\nexports.ACTION_CONTEXT_TIME_OUT_DELAY = 5 * browser_core_1.ONE_MINUTE; // arbitrary\nfunction trackClickActions(lifeCycle, domMutationObservable, configuration) {\n var history = new browser_core_1.ContextHistory(exports.ACTION_CONTEXT_TIME_OUT_DELAY);\n var stopObservable = new browser_core_1.Observable();\n var currentClickChain;\n lifeCycle.subscribe(8 /* SESSION_RENEWED */, function () {\n history.reset();\n });\n lifeCycle.subscribe(4 /* VIEW_ENDED */, stopClickChain);\n var stopActionEventsListener = (0, listenActionEvents_1.listenActionEvents)({\n onPointerDown: function (pointerDownEvent) { return processPointerDown(configuration, history, pointerDownEvent); },\n onClick: function (clickActionBase, clickEvent, getUserActivity) {\n return processClick(configuration, lifeCycle, domMutationObservable, history, stopObservable, appendClickToClickChain, clickActionBase, clickEvent, getUserActivity);\n },\n }).stop;\n var actionContexts = {\n findActionId: function (startTime) {\n return configuration.trackFrustrations ? history.findAll(startTime) : history.find(startTime);\n },\n };\n return {\n stop: function () {\n stopClickChain();\n stopObservable.notify();\n stopActionEventsListener();\n },\n actionContexts: actionContexts,\n };\n function appendClickToClickChain(click) {\n if (!currentClickChain || !currentClickChain.tryAppend(click)) {\n var rageClick_1 = click.clone();\n currentClickChain = (0, clickChain_1.createClickChain)(click, function (clicks) {\n finalizeClicks(clicks, rageClick_1);\n });\n }\n }\n function stopClickChain() {\n if (currentClickChain) {\n currentClickChain.stop();\n }\n }\n}\nexports.trackClickActions = trackClickActions;\nfunction processPointerDown(configuration, history, pointerDownEvent) {\n if (!configuration.trackFrustrations && history.find()) {\n // TODO: remove this in a future major version. To keep retrocompatibility, ignore any new\n // action if another one is already occurring.\n return;\n }\n var clickActionBase = computeClickActionBase(pointerDownEvent, configuration.actionNameAttribute);\n if (!configuration.trackFrustrations && !clickActionBase.name) {\n // TODO: remove this in a future major version. To keep retrocompatibility, ignore any action\n // with a blank name\n return;\n }\n return clickActionBase;\n}\nfunction processClick(configuration, lifeCycle, domMutationObservable, history, stopObservable, appendClickToClickChain, clickActionBase, clickEvent, getUserActivity) {\n var click = newClick(lifeCycle, history, getUserActivity, clickActionBase, clickEvent);\n if (configuration.trackFrustrations) {\n appendClickToClickChain(click);\n }\n var stopWaitPageActivityEnd = (0, waitPageActivityEnd_1.waitPageActivityEnd)(lifeCycle, domMutationObservable, configuration, function (pageActivityEndEvent) {\n if (pageActivityEndEvent.hadActivity && pageActivityEndEvent.end < click.startClocks.timeStamp) {\n // If the clock is looking weird, just discard the click\n click.discard();\n }\n else {\n click.stop(pageActivityEndEvent.hadActivity ? pageActivityEndEvent.end : undefined);\n // Validate or discard the click only if we don't track frustrations. It'll be done when\n // the click chain is finalized.\n if (!configuration.trackFrustrations) {\n if (!pageActivityEndEvent.hadActivity) {\n // If we are not tracking frustrations, we should discard the click to keep backward\n // compatibility.\n click.discard();\n }\n else {\n click.validate();\n }\n }\n }\n }, exports.CLICK_ACTION_MAX_DURATION).stop;\n var viewEndedSubscription = lifeCycle.subscribe(4 /* VIEW_ENDED */, function (_a) {\n var endClocks = _a.endClocks;\n click.stop(endClocks.timeStamp);\n });\n var stopSubscription = stopObservable.subscribe(function () {\n click.stop();\n });\n click.stopObservable.subscribe(function () {\n viewEndedSubscription.unsubscribe();\n stopWaitPageActivityEnd();\n stopSubscription.unsubscribe();\n });\n}\nfunction computeClickActionBase(event, actionNameAttribute) {\n var target;\n var position;\n if ((0, browser_core_1.isExperimentalFeatureEnabled)('clickmap')) {\n var rect = event.target.getBoundingClientRect();\n target = {\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n selector: (0, getSelectorFromElement_1.getSelectorFromElement)(event.target, actionNameAttribute),\n };\n position = {\n // Use clientX and Y because for SVG element offsetX and Y are relatives to the element\n x: Math.round(event.clientX - rect.left),\n y: Math.round(event.clientY - rect.top),\n };\n }\n return {\n type: \"click\" /* CLICK */,\n target: target,\n position: position,\n name: (0, getActionNameFromElement_1.getActionNameFromElement)(event.target, actionNameAttribute),\n };\n}\nfunction newClick(lifeCycle, history, getUserActivity, clickActionBase, clickEvent) {\n var id = (0, browser_core_1.generateUUID)();\n var startClocks = (0, browser_core_1.clocksNow)();\n var historyEntry = history.add(id, startClocks.relative);\n var eventCountsSubscription = (0, trackEventCounts_1.trackEventCounts)(lifeCycle);\n var status = 0 /* ONGOING */;\n var activityEndTime;\n var frustrationTypes = [];\n var stopObservable = new browser_core_1.Observable();\n function stop(newActivityEndTime) {\n if (status !== 0 /* ONGOING */) {\n return;\n }\n activityEndTime = newActivityEndTime;\n status = 1 /* STOPPED */;\n if (activityEndTime) {\n historyEntry.close((0, browser_core_1.getRelativeTime)(activityEndTime));\n }\n else {\n historyEntry.remove();\n }\n eventCountsSubscription.stop();\n stopObservable.notify();\n }\n return {\n event: clickEvent,\n stop: stop,\n stopObservable: stopObservable,\n get hasError() {\n return eventCountsSubscription.eventCounts.errorCount > 0;\n },\n get hasPageActivity() {\n return activityEndTime !== undefined;\n },\n getUserActivity: getUserActivity,\n addFrustration: function (frustrationType) {\n frustrationTypes.push(frustrationType);\n },\n startClocks: startClocks,\n isStopped: function () { return status === 1 /* STOPPED */ || status === 2 /* FINALIZED */; },\n clone: function () { return newClick(lifeCycle, history, getUserActivity, clickActionBase, clickEvent); },\n validate: function (domEvents) {\n stop();\n if (status !== 1 /* STOPPED */) {\n return;\n }\n var _a = eventCountsSubscription.eventCounts, resourceCount = _a.resourceCount, errorCount = _a.errorCount, longTaskCount = _a.longTaskCount;\n var clickAction = (0, browser_core_1.assign)({\n type: \"click\" /* CLICK */,\n duration: activityEndTime && (0, browser_core_1.elapsed)(startClocks.timeStamp, activityEndTime),\n startClocks: startClocks,\n id: id,\n frustrationTypes: frustrationTypes,\n counts: {\n resourceCount: resourceCount,\n errorCount: errorCount,\n longTaskCount: longTaskCount,\n },\n events: domEvents !== null && domEvents !== void 0 ? domEvents : [clickEvent],\n event: clickEvent,\n }, clickActionBase);\n lifeCycle.notify(1 /* AUTO_ACTION_COMPLETED */, clickAction);\n status = 2 /* FINALIZED */;\n },\n discard: function () {\n stop();\n status = 2 /* FINALIZED */;\n },\n };\n}\nfunction finalizeClicks(clicks, rageClick) {\n var isRage = (0, computeFrustration_1.computeFrustration)(clicks, rageClick).isRage;\n if (isRage) {\n clicks.forEach(function (click) { return click.discard(); });\n rageClick.stop((0, browser_core_1.timeStampNow)());\n rageClick.validate(clicks.map(function (click) { return click.event; }));\n }\n else {\n rageClick.discard();\n clicks.forEach(function (click) { return click.validate(); });\n }\n}\nexports.finalizeClicks = finalizeClicks;\n//# sourceMappingURL=trackClickActions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.doStartErrorCollection = exports.startErrorCollection = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar trackConsoleError_1 = require(\"./trackConsoleError\");\nvar trackReportError_1 = require(\"./trackReportError\");\nfunction startErrorCollection(lifeCycle, foregroundContexts) {\n var errorObservable = new browser_core_1.Observable();\n (0, trackConsoleError_1.trackConsoleError)(errorObservable);\n (0, browser_core_1.trackRuntimeError)(errorObservable);\n (0, trackReportError_1.trackReportError)(errorObservable);\n errorObservable.subscribe(function (error) { return lifeCycle.notify(12 /* RAW_ERROR_COLLECTED */, { error: error }); });\n return doStartErrorCollection(lifeCycle, foregroundContexts);\n}\nexports.startErrorCollection = startErrorCollection;\nfunction doStartErrorCollection(lifeCycle, foregroundContexts) {\n lifeCycle.subscribe(12 /* RAW_ERROR_COLLECTED */, function (_a) {\n var error = _a.error, customerContext = _a.customerContext, savedCommonContext = _a.savedCommonContext;\n lifeCycle.notify(10 /* RAW_RUM_EVENT_COLLECTED */, (0, browser_core_1.assign)({\n customerContext: customerContext,\n savedCommonContext: savedCommonContext,\n }, processError(error, foregroundContexts)));\n });\n return {\n addError: function (_a, savedCommonContext) {\n var error = _a.error, handlingStack = _a.handlingStack, startClocks = _a.startClocks, customerContext = _a.context;\n var stackTrace = error instanceof Error ? (0, browser_core_1.computeStackTrace)(error) : undefined;\n var rawError = (0, browser_core_1.computeRawError)({\n stackTrace: stackTrace,\n originalError: error,\n handlingStack: handlingStack,\n startClocks: startClocks,\n nonErrorPrefix: 'Provided',\n source: browser_core_1.ErrorSource.CUSTOM,\n handling: \"handled\" /* HANDLED */,\n });\n lifeCycle.notify(12 /* RAW_ERROR_COLLECTED */, {\n customerContext: customerContext,\n savedCommonContext: savedCommonContext,\n error: rawError,\n });\n },\n };\n}\nexports.doStartErrorCollection = doStartErrorCollection;\nfunction processError(error, foregroundContexts) {\n var rawRumEvent = {\n date: error.startClocks.timeStamp,\n error: {\n id: (0, browser_core_1.generateUUID)(),\n message: error.message,\n source: error.source,\n stack: error.stack,\n handling_stack: error.handlingStack,\n type: error.type,\n handling: error.handling,\n causes: error.causes,\n source_type: 'browser',\n },\n type: \"error\" /* ERROR */,\n };\n var inForeground = foregroundContexts.isInForegroundAt(error.startClocks.relative);\n if (inForeground !== undefined) {\n rawRumEvent.view = { in_foreground: inForeground };\n }\n return {\n rawRumEvent: rawRumEvent,\n startTime: error.startClocks.relative,\n domainContext: {\n error: error.originalError,\n },\n };\n}\n//# sourceMappingURL=errorCollection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.trackConsoleError = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nfunction trackConsoleError(errorObservable) {\n var subscription = (0, browser_core_1.initConsoleObservable)([browser_core_1.ConsoleApiName.error]).subscribe(function (consoleError) {\n return errorObservable.notify({\n startClocks: (0, browser_core_1.clocksNow)(),\n message: consoleError.message,\n stack: consoleError.stack,\n source: browser_core_1.ErrorSource.CONSOLE,\n handling: \"handled\" /* HANDLED */,\n handlingStack: consoleError.handlingStack,\n });\n });\n return {\n stop: function () {\n subscription.unsubscribe();\n },\n };\n}\nexports.trackConsoleError = trackConsoleError;\n//# sourceMappingURL=trackConsoleError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.trackReportError = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nfunction trackReportError(errorObservable) {\n var subscription = (0, browser_core_1.initReportObservable)([browser_core_1.RawReportType.cspViolation, browser_core_1.RawReportType.intervention]).subscribe(function (reportError) {\n return errorObservable.notify({\n startClocks: (0, browser_core_1.clocksNow)(),\n message: reportError.message,\n stack: reportError.stack,\n type: reportError.subtype,\n source: browser_core_1.ErrorSource.REPORT,\n handling: \"unhandled\" /* UNHANDLED */,\n });\n });\n return {\n stop: function () {\n subscription.unsubscribe();\n },\n };\n}\nexports.trackReportError = trackReportError;\n//# sourceMappingURL=trackReportError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startLongTaskCollection = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nfunction startLongTaskCollection(lifeCycle, sessionManager) {\n lifeCycle.subscribe(0 /* PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n if (entry.entryType !== 'longtask') {\n break;\n }\n var session = sessionManager.findTrackedSession(entry.startTime);\n if (!session || !session.longTaskAllowed) {\n break;\n }\n var startClocks = (0, browser_core_1.relativeToClocks)(entry.startTime);\n var rawRumEvent = {\n date: startClocks.timeStamp,\n long_task: {\n id: (0, browser_core_1.generateUUID)(),\n duration: (0, browser_core_1.toServerDuration)(entry.duration),\n },\n type: \"long_task\" /* LONG_TASK */,\n _dd: {\n discarded: false,\n },\n };\n lifeCycle.notify(10 /* RAW_RUM_EVENT_COLLECTED */, {\n rawRumEvent: rawRumEvent,\n startTime: startClocks.relative,\n domainContext: { performanceEntry: entry.toJSON() },\n });\n }\n });\n}\nexports.startLongTaskCollection = startLongTaskCollection;\n//# sourceMappingURL=longTaskCollection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.matchRequestTiming = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar resourceUtils_1 = require(\"./resourceUtils\");\n/**\n * Look for corresponding timing in resource timing buffer\n *\n * Observations:\n * - Timing (start, end) are nested inside the request (start, end)\n * - Some timing can be not exactly nested, being off by < 1 ms\n *\n * Strategy:\n * - from valid nested entries (with 1 ms error margin)\n * - if a single timing match, return the timing\n * - otherwise we can't decide, return undefined\n */\nfunction matchRequestTiming(request) {\n if (!performance || !('getEntriesByName' in performance)) {\n return;\n }\n var sameNameEntries = performance.getEntriesByName(request.url, 'resource');\n if (!sameNameEntries.length || !('toJSON' in sameNameEntries[0])) {\n return;\n }\n var candidates = sameNameEntries\n .map(function (entry) { return entry.toJSON(); })\n .filter(resourceUtils_1.toValidEntry)\n .filter(function (entry) {\n return isBetween(entry, request.startClocks.relative, endTime({ startTime: request.startClocks.relative, duration: request.duration }));\n });\n if (candidates.length === 1) {\n return candidates[0];\n }\n return;\n}\nexports.matchRequestTiming = matchRequestTiming;\nfunction endTime(timing) {\n return (0, browser_core_1.addDuration)(timing.startTime, timing.duration);\n}\nfunction isBetween(timing, start, end) {\n var errorMargin = 1;\n return timing.startTime >= start - errorMargin && endTime(timing) <= (0, browser_core_1.addDuration)(end, errorMargin);\n}\n//# sourceMappingURL=matchRequestTiming.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startResourceCollection = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar matchRequestTiming_1 = require(\"./matchRequestTiming\");\nvar resourceUtils_1 = require(\"./resourceUtils\");\nfunction startResourceCollection(lifeCycle, configuration, sessionManager) {\n lifeCycle.subscribe(6 /* REQUEST_COMPLETED */, function (request) {\n lifeCycle.notify(10 /* RAW_RUM_EVENT_COLLECTED */, processRequest(request, configuration, sessionManager));\n });\n lifeCycle.subscribe(0 /* PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n if (entry.entryType === 'resource' && !(0, resourceUtils_1.isRequestKind)(entry)) {\n lifeCycle.notify(10 /* RAW_RUM_EVENT_COLLECTED */, processResourceEntry(entry, configuration, sessionManager));\n }\n }\n });\n}\nexports.startResourceCollection = startResourceCollection;\nfunction processRequest(request, configuration, sessionManager) {\n var type = request.type === \"xhr\" /* XHR */ ? \"xhr\" /* XHR */ : \"fetch\" /* FETCH */;\n var matchingTiming = (0, matchRequestTiming_1.matchRequestTiming)(request);\n var startClocks = matchingTiming ? (0, browser_core_1.relativeToClocks)(matchingTiming.startTime) : request.startClocks;\n var correspondingTimingOverrides = matchingTiming ? computePerformanceEntryMetrics(matchingTiming) : undefined;\n var tracingInfo = computeRequestTracingInfo(request, configuration);\n var indexingInfo = computeIndexingInfo(sessionManager, startClocks);\n var resourceEvent = (0, browser_core_1.combine)({\n date: startClocks.timeStamp,\n resource: {\n id: (0, browser_core_1.generateUUID)(),\n type: type,\n duration: (0, browser_core_1.toServerDuration)(request.duration),\n method: request.method,\n status_code: request.status,\n url: request.url,\n },\n type: \"resource\" /* RESOURCE */,\n }, tracingInfo, correspondingTimingOverrides, indexingInfo);\n return {\n startTime: startClocks.relative,\n rawRumEvent: resourceEvent,\n domainContext: {\n performanceEntry: matchingTiming && toPerformanceEntryRepresentation(matchingTiming),\n xhr: request.xhr,\n response: request.response,\n requestInput: request.input,\n requestInit: request.init,\n error: request.error,\n },\n };\n}\nfunction processResourceEntry(entry, configuration, sessionManager) {\n var type = (0, resourceUtils_1.computeResourceKind)(entry);\n var entryMetrics = computePerformanceEntryMetrics(entry);\n var startClocks = (0, browser_core_1.relativeToClocks)(entry.startTime);\n var tracingInfo = computeEntryTracingInfo(entry, configuration);\n var indexingInfo = computeIndexingInfo(sessionManager, startClocks);\n var resourceEvent = (0, browser_core_1.combine)({\n date: startClocks.timeStamp,\n resource: {\n id: (0, browser_core_1.generateUUID)(),\n type: type,\n url: entry.name,\n },\n type: \"resource\" /* RESOURCE */,\n }, tracingInfo, entryMetrics, indexingInfo);\n return {\n startTime: startClocks.relative,\n rawRumEvent: resourceEvent,\n domainContext: {\n performanceEntry: toPerformanceEntryRepresentation(entry),\n },\n };\n}\nfunction computePerformanceEntryMetrics(timing) {\n return {\n resource: (0, browser_core_1.assign)({\n duration: (0, resourceUtils_1.computePerformanceResourceDuration)(timing),\n size: (0, resourceUtils_1.computeSize)(timing),\n }, (0, resourceUtils_1.computePerformanceResourceDetails)(timing)),\n };\n}\nfunction computeRequestTracingInfo(request, configuration) {\n var hasBeenTraced = request.traceSampled && request.traceId && request.spanId;\n if (!hasBeenTraced) {\n return undefined;\n }\n return {\n _dd: {\n span_id: request.spanId.toDecimalString(),\n trace_id: request.traceId.toDecimalString(),\n rule_psr: getRulePsr(configuration),\n },\n };\n}\nfunction computeEntryTracingInfo(entry, configuration) {\n var hasBeenTraced = entry.traceId;\n if (!hasBeenTraced) {\n return undefined;\n }\n return {\n _dd: {\n trace_id: entry.traceId,\n rule_psr: getRulePsr(configuration),\n },\n };\n}\n// TODO next major: use directly PerformanceEntry type in domain context\nfunction toPerformanceEntryRepresentation(entry) {\n return entry;\n}\n/**\n * @returns number between 0 and 1 which represents tracing sample rate\n */\nfunction getRulePsr(configuration) {\n return (0, browser_core_1.isNumber)(configuration.tracingSampleRate) ? configuration.tracingSampleRate / 100 : undefined;\n}\nfunction computeIndexingInfo(sessionManager, resourceStart) {\n var session = sessionManager.findTrackedSession(resourceStart.relative);\n return {\n _dd: {\n discarded: !session || !session.resourceAllowed,\n },\n };\n}\n//# sourceMappingURL=resourceCollection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAllowedRequestUrl = exports.computeSize = exports.toValidEntry = exports.computePerformanceResourceDetails = exports.computePerformanceResourceDuration = exports.isRequestKind = exports.computeResourceKind = exports.FAKE_INITIAL_DOCUMENT = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nexports.FAKE_INITIAL_DOCUMENT = 'initial_document';\nvar RESOURCE_TYPES = [\n [\"document\" /* DOCUMENT */, function (initiatorType) { return exports.FAKE_INITIAL_DOCUMENT === initiatorType; }],\n [\"xhr\" /* XHR */, function (initiatorType) { return 'xmlhttprequest' === initiatorType; }],\n [\"fetch\" /* FETCH */, function (initiatorType) { return 'fetch' === initiatorType; }],\n [\"beacon\" /* BEACON */, function (initiatorType) { return 'beacon' === initiatorType; }],\n [\"css\" /* CSS */, function (_, path) { return /\\.css$/i.test(path); }],\n [\"js\" /* JS */, function (_, path) { return /\\.js$/i.test(path); }],\n [\n \"image\" /* IMAGE */,\n function (initiatorType, path) {\n return (0, browser_core_1.includes)(['image', 'img', 'icon'], initiatorType) || /\\.(gif|jpg|jpeg|tiff|png|svg|ico)$/i.exec(path) !== null;\n },\n ],\n [\"font\" /* FONT */, function (_, path) { return /\\.(woff|eot|woff2|ttf)$/i.exec(path) !== null; }],\n [\n \"media\" /* MEDIA */,\n function (initiatorType, path) {\n return (0, browser_core_1.includes)(['audio', 'video'], initiatorType) || /\\.(mp3|mp4)$/i.exec(path) !== null;\n },\n ],\n];\nfunction computeResourceKind(timing) {\n var url = timing.name;\n if (!(0, browser_core_1.isValidUrl)(url)) {\n (0, browser_core_1.addTelemetryDebug)(\"Failed to construct URL for \\\"\".concat(timing.name, \"\\\"\"));\n return \"other\" /* OTHER */;\n }\n var path = (0, browser_core_1.getPathName)(url);\n for (var _i = 0, RESOURCE_TYPES_1 = RESOURCE_TYPES; _i < RESOURCE_TYPES_1.length; _i++) {\n var _a = RESOURCE_TYPES_1[_i], type = _a[0], isType = _a[1];\n if (isType(timing.initiatorType, path)) {\n return type;\n }\n }\n return \"other\" /* OTHER */;\n}\nexports.computeResourceKind = computeResourceKind;\nfunction areInOrder() {\n var numbers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n numbers[_i] = arguments[_i];\n }\n for (var i = 1; i < numbers.length; i += 1) {\n if (numbers[i - 1] > numbers[i]) {\n return false;\n }\n }\n return true;\n}\nfunction isRequestKind(timing) {\n return timing.initiatorType === 'xmlhttprequest' || timing.initiatorType === 'fetch';\n}\nexports.isRequestKind = isRequestKind;\nfunction computePerformanceResourceDuration(entry) {\n var duration = entry.duration, startTime = entry.startTime, responseEnd = entry.responseEnd;\n // Safari duration is always 0 on timings blocked by cross origin policies.\n if (duration === 0 && startTime < responseEnd) {\n return (0, browser_core_1.toServerDuration)((0, browser_core_1.elapsed)(startTime, responseEnd));\n }\n return (0, browser_core_1.toServerDuration)(duration);\n}\nexports.computePerformanceResourceDuration = computePerformanceResourceDuration;\nfunction computePerformanceResourceDetails(entry) {\n var validEntry = toValidEntry(entry);\n if (!validEntry) {\n return undefined;\n }\n var startTime = validEntry.startTime, fetchStart = validEntry.fetchStart, redirectStart = validEntry.redirectStart, redirectEnd = validEntry.redirectEnd, domainLookupStart = validEntry.domainLookupStart, domainLookupEnd = validEntry.domainLookupEnd, connectStart = validEntry.connectStart, secureConnectionStart = validEntry.secureConnectionStart, connectEnd = validEntry.connectEnd, requestStart = validEntry.requestStart, responseStart = validEntry.responseStart, responseEnd = validEntry.responseEnd;\n var details = {\n download: formatTiming(startTime, responseStart, responseEnd),\n first_byte: formatTiming(startTime, requestStart, responseStart),\n };\n // Make sure a connection occurred\n if (connectEnd !== fetchStart) {\n details.connect = formatTiming(startTime, connectStart, connectEnd);\n // Make sure a secure connection occurred\n if (areInOrder(connectStart, secureConnectionStart, connectEnd)) {\n details.ssl = formatTiming(startTime, secureConnectionStart, connectEnd);\n }\n }\n // Make sure a domain lookup occurred\n if (domainLookupEnd !== fetchStart) {\n details.dns = formatTiming(startTime, domainLookupStart, domainLookupEnd);\n }\n if (hasRedirection(entry)) {\n details.redirect = formatTiming(startTime, redirectStart, redirectEnd);\n }\n return details;\n}\nexports.computePerformanceResourceDetails = computePerformanceResourceDetails;\nfunction toValidEntry(entry) {\n // Ensure timings are in the right order. On top of filtering out potential invalid\n // RumPerformanceResourceTiming, it will ignore entries from requests where timings cannot be\n // collected, for example cross origin requests without a \"Timing-Allow-Origin\" header allowing\n // it.\n if (!areInOrder(entry.startTime, entry.fetchStart, entry.domainLookupStart, entry.domainLookupEnd, entry.connectStart, entry.connectEnd, entry.requestStart, entry.responseStart, entry.responseEnd)) {\n return undefined;\n }\n if (!hasRedirection(entry)) {\n return entry;\n }\n var redirectStart = entry.redirectStart, redirectEnd = entry.redirectEnd;\n // Firefox doesn't provide redirect timings on cross origin requests.\n // Provide a default for those.\n if (redirectStart < entry.startTime) {\n redirectStart = entry.startTime;\n }\n if (redirectEnd < entry.startTime) {\n redirectEnd = entry.fetchStart;\n }\n // Make sure redirect timings are in order\n if (!areInOrder(entry.startTime, redirectStart, redirectEnd, entry.fetchStart)) {\n return undefined;\n }\n return (0, browser_core_1.assign)({}, entry, {\n redirectEnd: redirectEnd,\n redirectStart: redirectStart,\n });\n}\nexports.toValidEntry = toValidEntry;\nfunction hasRedirection(entry) {\n // The only time fetchStart is different than startTime is if a redirection occurred.\n return entry.fetchStart !== entry.startTime;\n}\nfunction formatTiming(origin, start, end) {\n return {\n duration: (0, browser_core_1.toServerDuration)((0, browser_core_1.elapsed)(start, end)),\n start: (0, browser_core_1.toServerDuration)((0, browser_core_1.elapsed)(origin, start)),\n };\n}\nfunction computeSize(entry) {\n // Make sure a request actually occurred\n if (entry.startTime < entry.responseStart) {\n return entry.decodedBodySize;\n }\n return undefined;\n}\nexports.computeSize = computeSize;\nfunction isAllowedRequestUrl(configuration, url) {\n return url && !configuration.isIntakeUrl(url);\n}\nexports.isAllowedRequestUrl = isAllowedRequestUrl;\n//# sourceMappingURL=resourceUtils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resetFirstHidden = exports.trackFirstHidden = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar trackFirstHiddenSingleton;\nvar stopListeners;\nfunction trackFirstHidden(emitter) {\n if (emitter === void 0) { emitter = window; }\n if (!trackFirstHiddenSingleton) {\n if (document.visibilityState === 'hidden') {\n trackFirstHiddenSingleton = {\n timeStamp: 0,\n };\n }\n else {\n trackFirstHiddenSingleton = {\n timeStamp: Infinity,\n };\n (stopListeners = (0, browser_core_1.addEventListeners)(emitter, [\"pagehide\" /* PAGE_HIDE */, \"visibilitychange\" /* VISIBILITY_CHANGE */], function (event) {\n if (event.type === 'pagehide' || document.visibilityState === 'hidden') {\n trackFirstHiddenSingleton.timeStamp = event.timeStamp;\n stopListeners();\n }\n }, { capture: true }).stop);\n }\n }\n return trackFirstHiddenSingleton;\n}\nexports.trackFirstHidden = trackFirstHidden;\nfunction resetFirstHidden() {\n if (stopListeners) {\n stopListeners();\n }\n trackFirstHiddenSingleton = undefined;\n}\nexports.resetFirstHidden = resetFirstHidden;\n//# sourceMappingURL=trackFirstHidden.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.trackFirstInputTimings = exports.trackLargestContentfulPaintTiming = exports.trackFirstContentfulPaintTiming = exports.trackNavigationTimings = exports.trackInitialViewTimings = exports.TIMING_MAXIMUM_DELAY = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar trackFirstHidden_1 = require(\"./trackFirstHidden\");\n// Discard LCP and FCP timings above a certain delay to avoid incorrect data\n// It happens in some cases like sleep mode or some browser implementations\nexports.TIMING_MAXIMUM_DELAY = 10 * browser_core_1.ONE_MINUTE;\nfunction trackInitialViewTimings(lifeCycle, callback) {\n var timings = {};\n function setTimings(newTimings) {\n (0, browser_core_1.assign)(timings, newTimings);\n callback(timings);\n }\n var stopNavigationTracking = trackNavigationTimings(lifeCycle, setTimings).stop;\n var stopFCPTracking = trackFirstContentfulPaintTiming(lifeCycle, function (firstContentfulPaint) {\n return setTimings({ firstContentfulPaint: firstContentfulPaint });\n }).stop;\n var stopLCPTracking = trackLargestContentfulPaintTiming(lifeCycle, window, function (largestContentfulPaint) {\n setTimings({\n largestContentfulPaint: largestContentfulPaint,\n });\n }).stop;\n var stopFIDTracking = trackFirstInputTimings(lifeCycle, function (_a) {\n var firstInputDelay = _a.firstInputDelay, firstInputTime = _a.firstInputTime;\n setTimings({\n firstInputDelay: firstInputDelay,\n firstInputTime: firstInputTime,\n });\n }).stop;\n return {\n stop: function () {\n stopNavigationTracking();\n stopFCPTracking();\n stopLCPTracking();\n stopFIDTracking();\n },\n };\n}\nexports.trackInitialViewTimings = trackInitialViewTimings;\nfunction trackNavigationTimings(lifeCycle, callback) {\n var stop = lifeCycle.subscribe(0 /* PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n if (entry.entryType === 'navigation') {\n callback({\n domComplete: entry.domComplete,\n domContentLoaded: entry.domContentLoadedEventEnd,\n domInteractive: entry.domInteractive,\n loadEvent: entry.loadEventEnd,\n // In some cases the value reported is negative or is larger\n // than the current page time. Ignore these cases:\n // https://github.com/GoogleChrome/web-vitals/issues/137\n // https://github.com/GoogleChrome/web-vitals/issues/162\n firstByte: entry.responseStart >= 0 && entry.responseStart <= (0, browser_core_1.relativeNow)() ? entry.responseStart : undefined,\n });\n }\n }\n }).unsubscribe;\n return { stop: stop };\n}\nexports.trackNavigationTimings = trackNavigationTimings;\nfunction trackFirstContentfulPaintTiming(lifeCycle, callback) {\n var firstHidden = (0, trackFirstHidden_1.trackFirstHidden)();\n var stop = lifeCycle.subscribe(0 /* PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n var fcpEntry = (0, browser_core_1.find)(entries, function (entry) {\n return entry.entryType === 'paint' &&\n entry.name === 'first-contentful-paint' &&\n entry.startTime < firstHidden.timeStamp &&\n entry.startTime < exports.TIMING_MAXIMUM_DELAY;\n });\n if (fcpEntry) {\n callback(fcpEntry.startTime);\n }\n }).unsubscribe;\n return { stop: stop };\n}\nexports.trackFirstContentfulPaintTiming = trackFirstContentfulPaintTiming;\n/**\n * Track the largest contentful paint (LCP) occurring during the initial View. This can yield\n * multiple values, only the most recent one should be used.\n * Documentation: https://web.dev/lcp/\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/master/src/getLCP.ts\n */\nfunction trackLargestContentfulPaintTiming(lifeCycle, emitter, callback) {\n var firstHidden = (0, trackFirstHidden_1.trackFirstHidden)();\n // Ignore entries that come after the first user interaction. According to the documentation, the\n // browser should not send largest-contentful-paint entries after a user interact with the page,\n // but the web-vitals reference implementation uses this as a safeguard.\n var firstInteractionTimestamp = Infinity;\n var stopEventListener = (0, browser_core_1.addEventListeners)(emitter, [\"pointerdown\" /* POINTER_DOWN */, \"keydown\" /* KEY_DOWN */], function (event) {\n firstInteractionTimestamp = event.timeStamp;\n }, { capture: true, once: true }).stop;\n var unsubscribeLifeCycle = lifeCycle.subscribe(0 /* PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n var lcpEntry = (0, browser_core_1.findLast)(entries, function (entry) {\n return entry.entryType === 'largest-contentful-paint' &&\n entry.startTime < firstInteractionTimestamp &&\n entry.startTime < firstHidden.timeStamp &&\n entry.startTime < exports.TIMING_MAXIMUM_DELAY;\n });\n if (lcpEntry) {\n callback(lcpEntry.startTime);\n }\n }).unsubscribe;\n return {\n stop: function () {\n stopEventListener();\n unsubscribeLifeCycle();\n },\n };\n}\nexports.trackLargestContentfulPaintTiming = trackLargestContentfulPaintTiming;\n/**\n * Track the first input occurring during the initial View to return:\n * - First Input Delay\n * - First Input Time\n * Callback is called at most one time.\n * Documentation: https://web.dev/fid/\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/master/src/getFID.ts\n */\nfunction trackFirstInputTimings(lifeCycle, callback) {\n var firstHidden = (0, trackFirstHidden_1.trackFirstHidden)();\n var stop = lifeCycle.subscribe(0 /* PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n var firstInputEntry = (0, browser_core_1.find)(entries, function (entry) {\n return entry.entryType === 'first-input' && entry.startTime < firstHidden.timeStamp;\n });\n if (firstInputEntry) {\n var firstInputDelay = (0, browser_core_1.elapsed)(firstInputEntry.startTime, firstInputEntry.processingStart);\n callback({\n // Ensure firstInputDelay to be positive, see\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1185815\n firstInputDelay: firstInputDelay >= 0 ? firstInputDelay : 0,\n firstInputTime: firstInputEntry.startTime,\n });\n }\n }).unsubscribe;\n return {\n stop: stop,\n };\n}\nexports.trackFirstInputTimings = trackFirstInputTimings;\n//# sourceMappingURL=trackInitialViewTimings.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.trackViewMetrics = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar performanceCollection_1 = require(\"../../../browser/performanceCollection\");\nvar trackEventCounts_1 = require(\"../../trackEventCounts\");\nvar waitPageActivityEnd_1 = require(\"../../waitPageActivityEnd\");\nfunction trackViewMetrics(lifeCycle, domMutationObservable, configuration, scheduleViewUpdate, loadingType, viewStart) {\n var viewMetrics = {\n eventCounts: {\n errorCount: 0,\n longTaskCount: 0,\n resourceCount: 0,\n actionCount: 0,\n frustrationCount: 0,\n },\n };\n var stopEventCountsTracking = (0, trackEventCounts_1.trackEventCounts)(lifeCycle, function (newEventCounts) {\n viewMetrics.eventCounts = newEventCounts;\n scheduleViewUpdate();\n }).stop;\n var _a = trackLoadingTime(lifeCycle, domMutationObservable, configuration, loadingType, viewStart, function (newLoadingTime) {\n viewMetrics.loadingTime = newLoadingTime;\n scheduleViewUpdate();\n }), stopLoadingTimeTracking = _a.stop, setLoadEvent = _a.setLoadEvent;\n var stopCLSTracking;\n if (isLayoutShiftSupported()) {\n viewMetrics.cumulativeLayoutShift = 0;\n (stopCLSTracking = trackCumulativeLayoutShift(lifeCycle, function (cumulativeLayoutShift) {\n viewMetrics.cumulativeLayoutShift = cumulativeLayoutShift;\n scheduleViewUpdate();\n }).stop);\n }\n else {\n stopCLSTracking = browser_core_1.noop;\n }\n return {\n stop: function () {\n stopEventCountsTracking();\n stopLoadingTimeTracking();\n stopCLSTracking();\n },\n setLoadEvent: setLoadEvent,\n viewMetrics: viewMetrics,\n };\n}\nexports.trackViewMetrics = trackViewMetrics;\nfunction trackLoadingTime(lifeCycle, domMutationObservable, configuration, loadType, viewStart, callback) {\n var isWaitingForLoadEvent = loadType === \"initial_load\" /* INITIAL_LOAD */;\n var isWaitingForActivityLoadingTime = true;\n var loadingTimeCandidates = [];\n function invokeCallbackIfAllCandidatesAreReceived() {\n if (!isWaitingForActivityLoadingTime && !isWaitingForLoadEvent && loadingTimeCandidates.length > 0) {\n callback(Math.max.apply(Math, loadingTimeCandidates));\n }\n }\n var stop = (0, waitPageActivityEnd_1.waitPageActivityEnd)(lifeCycle, domMutationObservable, configuration, function (event) {\n if (isWaitingForActivityLoadingTime) {\n isWaitingForActivityLoadingTime = false;\n if (event.hadActivity) {\n loadingTimeCandidates.push((0, browser_core_1.elapsed)(viewStart.timeStamp, event.end));\n }\n invokeCallbackIfAllCandidatesAreReceived();\n }\n }).stop;\n return {\n stop: stop,\n setLoadEvent: function (loadEvent) {\n if (isWaitingForLoadEvent) {\n isWaitingForLoadEvent = false;\n loadingTimeCandidates.push(loadEvent);\n invokeCallbackIfAllCandidatesAreReceived();\n }\n },\n };\n}\n/**\n * Track the cumulative layout shifts (CLS).\n * Layout shifts are grouped into session windows.\n * The minimum gap between session windows is 1 second.\n * The maximum duration of a session window is 5 second.\n * The session window layout shift value is the sum of layout shifts inside it.\n * The CLS value is the max of session windows values.\n *\n * This yields a new value whenever the CLS value is updated (a higher session window value is computed).\n *\n * See isLayoutShiftSupported to check for browser support.\n *\n * Documentation:\n * https://web.dev/cls/\n * https://web.dev/evolving-cls/\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/master/src/getCLS.ts\n */\nfunction trackCumulativeLayoutShift(lifeCycle, callback) {\n var maxClsValue = 0;\n var window = slidingSessionWindow();\n var stop = lifeCycle.subscribe(0 /* PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n if (entry.entryType === 'layout-shift' && !entry.hadRecentInput) {\n window.update(entry);\n if (window.value() > maxClsValue) {\n maxClsValue = window.value();\n callback((0, browser_core_1.round)(maxClsValue, 4));\n }\n }\n }\n }).unsubscribe;\n return {\n stop: stop,\n };\n}\nfunction slidingSessionWindow() {\n var value = 0;\n var startTime;\n var endTime;\n return {\n update: function (entry) {\n var shouldCreateNewWindow = startTime === undefined ||\n entry.startTime - endTime >= browser_core_1.ONE_SECOND ||\n entry.startTime - startTime >= 5 * browser_core_1.ONE_SECOND;\n if (shouldCreateNewWindow) {\n startTime = endTime = entry.startTime;\n value = entry.value;\n }\n else {\n value += entry.value;\n endTime = entry.startTime;\n }\n },\n value: function () { return value; },\n };\n}\n/**\n * Check whether `layout-shift` is supported by the browser.\n */\nfunction isLayoutShiftSupported() {\n return (0, performanceCollection_1.supportPerformanceTimingEvent)('layout-shift');\n}\n//# sourceMappingURL=trackViewMetrics.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.trackViews = exports.SESSION_KEEP_ALIVE_INTERVAL = exports.THROTTLE_VIEW_UPDATE_PERIOD = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar trackInitialViewTimings_1 = require(\"./trackInitialViewTimings\");\nvar trackViewMetrics_1 = require(\"./trackViewMetrics\");\nexports.THROTTLE_VIEW_UPDATE_PERIOD = 3000;\nexports.SESSION_KEEP_ALIVE_INTERVAL = 5 * browser_core_1.ONE_MINUTE;\nfunction trackViews(location, lifeCycle, domMutationObservable, configuration, locationChangeObservable, areViewsTrackedAutomatically, initialViewOptions) {\n var _a = trackInitialView(initialViewOptions), stopInitialViewTracking = _a.stop, initialView = _a.initialView;\n var currentView = initialView;\n var stopViewLifeCycle = startViewLifeCycle().stop;\n var locationChangeSubscription;\n if (areViewsTrackedAutomatically) {\n locationChangeSubscription = renewViewOnLocationChange(locationChangeObservable);\n }\n function trackInitialView(options) {\n var initialView = newView(lifeCycle, domMutationObservable, configuration, location, \"initial_load\" /* INITIAL_LOAD */, (0, browser_core_1.clocksOrigin)(), options);\n var stop = (0, trackInitialViewTimings_1.trackInitialViewTimings)(lifeCycle, function (timings) {\n initialView.updateTimings(timings);\n initialView.scheduleUpdate();\n }).stop;\n return { initialView: initialView, stop: stop };\n }\n function trackViewChange(startClocks, viewOptions) {\n return newView(lifeCycle, domMutationObservable, configuration, location, \"route_change\" /* ROUTE_CHANGE */, startClocks, viewOptions);\n }\n function startViewLifeCycle() {\n lifeCycle.subscribe(8 /* SESSION_RENEWED */, function () {\n // do not trigger view update to avoid wrong data\n currentView.end();\n // Renew view on session renewal\n currentView = trackViewChange(undefined, {\n name: currentView.name,\n service: currentView.service,\n version: currentView.version,\n });\n });\n // End the current view on page unload\n lifeCycle.subscribe(9 /* PAGE_EXITED */, function (pageExitEvent) {\n if (pageExitEvent.reason === \"before_unload\" /* UNLOADING */) {\n currentView.end();\n currentView.triggerUpdate();\n }\n });\n // Session keep alive\n var keepAliveInterval = window.setInterval((0, browser_core_1.monitor)(function () {\n currentView.triggerUpdate();\n }), exports.SESSION_KEEP_ALIVE_INTERVAL);\n return {\n stop: function () {\n clearInterval(keepAliveInterval);\n },\n };\n }\n function renewViewOnLocationChange(locationChangeObservable) {\n return locationChangeObservable.subscribe(function (_a) {\n var oldLocation = _a.oldLocation, newLocation = _a.newLocation;\n if (areDifferentLocation(oldLocation, newLocation)) {\n currentView.end();\n currentView.triggerUpdate();\n currentView = trackViewChange();\n return;\n }\n });\n }\n return {\n addTiming: function (name, time) {\n if (time === void 0) { time = (0, browser_core_1.timeStampNow)(); }\n currentView.addTiming(name, time);\n currentView.scheduleUpdate();\n },\n startView: function (options, startClocks) {\n currentView.end(startClocks);\n currentView.triggerUpdate();\n currentView = trackViewChange(startClocks, options);\n },\n stop: function () {\n locationChangeSubscription === null || locationChangeSubscription === void 0 ? void 0 : locationChangeSubscription.unsubscribe();\n stopInitialViewTracking();\n stopViewLifeCycle();\n currentView.end();\n },\n };\n}\nexports.trackViews = trackViews;\nfunction newView(lifeCycle, domMutationObservable, configuration, initialLocation, loadingType, startClocks, viewOptions) {\n if (startClocks === void 0) { startClocks = (0, browser_core_1.clocksNow)(); }\n // Setup initial values\n var id = (0, browser_core_1.generateUUID)();\n var timings = {};\n var customTimings = {};\n var documentVersion = 0;\n var endClocks;\n var location = (0, browser_core_1.shallowClone)(initialLocation);\n var name;\n var service;\n var version;\n if (viewOptions) {\n name = viewOptions.name;\n service = viewOptions.service;\n version = viewOptions.version;\n }\n lifeCycle.notify(2 /* VIEW_CREATED */, { id: id, name: name, startClocks: startClocks, service: service, version: version });\n // Update the view every time the measures are changing\n var _a = (0, browser_core_1.throttle)((0, browser_core_1.monitor)(triggerViewUpdate), exports.THROTTLE_VIEW_UPDATE_PERIOD, {\n leading: false,\n }), scheduleViewUpdate = _a.throttled, cancelScheduleViewUpdate = _a.cancel;\n var _b = (0, trackViewMetrics_1.trackViewMetrics)(lifeCycle, domMutationObservable, configuration, scheduleViewUpdate, loadingType, startClocks), setLoadEvent = _b.setLoadEvent, stopViewMetricsTracking = _b.stop, viewMetrics = _b.viewMetrics;\n // Initial view update\n triggerViewUpdate();\n function triggerViewUpdate() {\n documentVersion += 1;\n var currentEnd = endClocks === undefined ? (0, browser_core_1.timeStampNow)() : endClocks.timeStamp;\n lifeCycle.notify(3 /* VIEW_UPDATED */, (0, browser_core_1.assign)({\n customTimings: customTimings,\n documentVersion: documentVersion,\n id: id,\n name: name,\n service: service,\n version: version,\n loadingType: loadingType,\n location: location,\n startClocks: startClocks,\n timings: timings,\n duration: (0, browser_core_1.elapsed)(startClocks.timeStamp, currentEnd),\n isActive: endClocks === undefined,\n }, viewMetrics));\n }\n return {\n name: name,\n service: service,\n version: version,\n scheduleUpdate: scheduleViewUpdate,\n end: function (clocks) {\n if (clocks === void 0) { clocks = (0, browser_core_1.clocksNow)(); }\n endClocks = clocks;\n lifeCycle.notify(4 /* VIEW_ENDED */, { endClocks: endClocks });\n stopViewMetricsTracking();\n },\n triggerUpdate: function () {\n // cancel any pending view updates execution\n cancelScheduleViewUpdate();\n triggerViewUpdate();\n },\n updateTimings: function (newTimings) {\n timings = newTimings;\n if (newTimings.loadEvent !== undefined) {\n setLoadEvent(newTimings.loadEvent);\n }\n },\n addTiming: function (name, time) {\n var relativeTime = (0, browser_core_1.looksLikeRelativeTime)(time) ? time : (0, browser_core_1.elapsed)(startClocks.timeStamp, time);\n customTimings[sanitizeTiming(name)] = relativeTime;\n },\n };\n}\n/**\n * Timing name is used as facet path that must contain only letters, digits, or the characters - _ . @ $\n */\nfunction sanitizeTiming(name) {\n var sanitized = name.replace(/[^a-zA-Z0-9-_.@$]/g, '_');\n if (sanitized !== name) {\n browser_core_1.display.warn(\"Invalid timing name: \".concat(name, \", sanitized to: \").concat(sanitized));\n }\n return sanitized;\n}\nfunction areDifferentLocation(currentLocation, otherLocation) {\n return (currentLocation.pathname !== otherLocation.pathname ||\n (!isHashAnAnchor(otherLocation.hash) &&\n getPathFromHash(otherLocation.hash) !== getPathFromHash(currentLocation.hash)));\n}\nfunction isHashAnAnchor(hash) {\n var correspondingId = hash.substr(1);\n return !!document.getElementById(correspondingId);\n}\nfunction getPathFromHash(hash) {\n var index = hash.indexOf('?');\n return index < 0 ? hash : hash.slice(0, index);\n}\n//# sourceMappingURL=trackViews.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startViewCollection = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar trackViews_1 = require(\"./trackViews\");\nfunction startViewCollection(lifeCycle, configuration, location, domMutationObservable, locationChangeObservable, foregroundContexts, recorderApi, initialViewOptions) {\n lifeCycle.subscribe(3 /* VIEW_UPDATED */, function (view) {\n return lifeCycle.notify(10 /* RAW_RUM_EVENT_COLLECTED */, processViewUpdate(view, foregroundContexts, recorderApi));\n });\n return (0, trackViews_1.trackViews)(location, lifeCycle, domMutationObservable, configuration, locationChangeObservable, !configuration.trackViewsManually, initialViewOptions);\n}\nexports.startViewCollection = startViewCollection;\nfunction processViewUpdate(view, foregroundContexts, recorderApi) {\n var replayStats = recorderApi.getReplayStats(view.id);\n var viewEvent = {\n _dd: {\n document_version: view.documentVersion,\n replay_stats: replayStats,\n },\n date: view.startClocks.timeStamp,\n type: \"view\" /* VIEW */,\n view: {\n action: {\n count: view.eventCounts.actionCount,\n },\n frustration: {\n count: view.eventCounts.frustrationCount,\n },\n cumulative_layout_shift: view.cumulativeLayoutShift,\n first_byte: (0, browser_core_1.toServerDuration)(view.timings.firstByte),\n dom_complete: (0, browser_core_1.toServerDuration)(view.timings.domComplete),\n dom_content_loaded: (0, browser_core_1.toServerDuration)(view.timings.domContentLoaded),\n dom_interactive: (0, browser_core_1.toServerDuration)(view.timings.domInteractive),\n error: {\n count: view.eventCounts.errorCount,\n },\n first_contentful_paint: (0, browser_core_1.toServerDuration)(view.timings.firstContentfulPaint),\n first_input_delay: (0, browser_core_1.toServerDuration)(view.timings.firstInputDelay),\n first_input_time: (0, browser_core_1.toServerDuration)(view.timings.firstInputTime),\n is_active: view.isActive,\n name: view.name,\n largest_contentful_paint: (0, browser_core_1.toServerDuration)(view.timings.largestContentfulPaint),\n load_event: (0, browser_core_1.toServerDuration)(view.timings.loadEvent),\n loading_time: discardNegativeDuration((0, browser_core_1.toServerDuration)(view.loadingTime)),\n loading_type: view.loadingType,\n long_task: {\n count: view.eventCounts.longTaskCount,\n },\n resource: {\n count: view.eventCounts.resourceCount,\n },\n time_spent: (0, browser_core_1.toServerDuration)(view.duration),\n in_foreground_periods: foregroundContexts.selectInForegroundPeriodsFor(view.startClocks.relative, view.duration),\n },\n session: {\n has_replay: replayStats ? true : undefined,\n },\n };\n if (!(0, browser_core_1.isEmptyObject)(view.customTimings)) {\n viewEvent.view.custom_timings = (0, browser_core_1.mapValues)(view.customTimings, browser_core_1.toServerDuration);\n }\n return {\n rawRumEvent: viewEvent,\n startTime: view.startClocks.relative,\n domainContext: {\n location: view.location,\n },\n };\n}\nfunction discardNegativeDuration(duration) {\n return (0, browser_core_1.isNumber)(duration) && duration < 0 ? undefined : duration;\n}\n//# sourceMappingURL=viewCollection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startRumSessionManagerStub = exports.startRumSessionManager = exports.RUM_SESSION_KEY = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nexports.RUM_SESSION_KEY = 'rum';\nfunction startRumSessionManager(configuration, lifeCycle) {\n var sessionManager = (0, browser_core_1.startSessionManager)(configuration.cookieOptions, exports.RUM_SESSION_KEY, function (rawTrackingType) {\n return computeSessionState(configuration, rawTrackingType);\n });\n sessionManager.expireObservable.subscribe(function () {\n lifeCycle.notify(7 /* SESSION_EXPIRED */);\n });\n sessionManager.renewObservable.subscribe(function () {\n lifeCycle.notify(8 /* SESSION_RENEWED */);\n });\n return {\n findTrackedSession: function (startTime) {\n var session = sessionManager.findActiveSession(startTime);\n if (!session || !isTypeTracked(session.trackingType)) {\n return;\n }\n var plan = session.trackingType === \"1\" /* TRACKED_WITH_SESSION_REPLAY */\n ? 2 /* WITH_SESSION_REPLAY */\n : 1 /* WITHOUT_SESSION_REPLAY */;\n return {\n id: session.id,\n plan: plan,\n sessionReplayAllowed: plan === 2 /* WITH_SESSION_REPLAY */,\n longTaskAllowed: configuration.trackLongTasks !== undefined\n ? configuration.trackLongTasks\n : configuration.oldPlansBehavior && plan === 2 /* WITH_SESSION_REPLAY */,\n resourceAllowed: configuration.trackResources !== undefined\n ? configuration.trackResources\n : configuration.oldPlansBehavior && plan === 2 /* WITH_SESSION_REPLAY */,\n };\n },\n };\n}\nexports.startRumSessionManager = startRumSessionManager;\n/**\n * Start a tracked replay session stub\n */\nfunction startRumSessionManagerStub() {\n var session = {\n id: '00000000-aaaa-0000-aaaa-000000000000',\n plan: 1 /* WITHOUT_SESSION_REPLAY */,\n sessionReplayAllowed: false,\n longTaskAllowed: true,\n resourceAllowed: true,\n };\n return {\n findTrackedSession: function () { return session; },\n };\n}\nexports.startRumSessionManagerStub = startRumSessionManagerStub;\nfunction computeSessionState(configuration, rawTrackingType) {\n var trackingType;\n if (hasValidRumSession(rawTrackingType)) {\n trackingType = rawTrackingType;\n }\n else if (!(0, browser_core_1.performDraw)(configuration.sampleRate)) {\n trackingType = \"0\" /* NOT_TRACKED */;\n }\n else if (!(0, browser_core_1.performDraw)(configuration.sessionReplaySampleRate)) {\n trackingType = \"2\" /* TRACKED_WITHOUT_SESSION_REPLAY */;\n }\n else {\n trackingType = \"1\" /* TRACKED_WITH_SESSION_REPLAY */;\n }\n return {\n trackingType: trackingType,\n isTracked: isTypeTracked(trackingType),\n };\n}\nfunction hasValidRumSession(trackingType) {\n return (trackingType === \"0\" /* NOT_TRACKED */ ||\n trackingType === \"1\" /* TRACKED_WITH_SESSION_REPLAY */ ||\n trackingType === \"2\" /* TRACKED_WITHOUT_SESSION_REPLAY */);\n}\nfunction isTypeTracked(rumSessionType) {\n return (rumSessionType === \"2\" /* TRACKED_WITHOUT_SESSION_REPLAY */ ||\n rumSessionType === \"1\" /* TRACKED_WITH_SESSION_REPLAY */);\n}\n//# sourceMappingURL=rumSessionManager.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findTraceComment = exports.createDocumentTraceData = exports.getDocumentTraceDataFromComment = exports.getDocumentTraceDataFromMeta = exports.getDocumentTraceId = exports.INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nexports.INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD = 2 * browser_core_1.ONE_MINUTE;\nfunction getDocumentTraceId(document) {\n var data = getDocumentTraceDataFromMeta(document) || getDocumentTraceDataFromComment(document);\n if (!data || data.traceTime <= (0, browser_core_1.dateNow)() - exports.INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD) {\n return undefined;\n }\n return data.traceId;\n}\nexports.getDocumentTraceId = getDocumentTraceId;\nfunction getDocumentTraceDataFromMeta(document) {\n var traceIdMeta = document.querySelector('meta[name=dd-trace-id]');\n var traceTimeMeta = document.querySelector('meta[name=dd-trace-time]');\n return createDocumentTraceData(traceIdMeta && traceIdMeta.content, traceTimeMeta && traceTimeMeta.content);\n}\nexports.getDocumentTraceDataFromMeta = getDocumentTraceDataFromMeta;\nfunction getDocumentTraceDataFromComment(document) {\n var comment = findTraceComment(document);\n if (!comment) {\n return undefined;\n }\n return createDocumentTraceData((0, browser_core_1.findCommaSeparatedValue)(comment, 'trace-id'), (0, browser_core_1.findCommaSeparatedValue)(comment, 'trace-time'));\n}\nexports.getDocumentTraceDataFromComment = getDocumentTraceDataFromComment;\nfunction createDocumentTraceData(traceId, rawTraceTime) {\n var traceTime = rawTraceTime && Number(rawTraceTime);\n if (!traceId || !traceTime) {\n return undefined;\n }\n return {\n traceId: traceId,\n traceTime: traceTime,\n };\n}\nexports.createDocumentTraceData = createDocumentTraceData;\nfunction findTraceComment(document) {\n // 1. Try to find the comment as a direct child of the document\n // Note: TSLint advises to use a 'for of', but TS doesn't allow to use 'for of' if the iterated\n // value is not an array or string (here, a NodeList).\n for (var i = 0; i < document.childNodes.length; i += 1) {\n var comment = getTraceCommentFromNode(document.childNodes[i]);\n if (comment) {\n return comment;\n }\n }\n // 2. If the comment is placed after the tag, but have some space or new lines before or\n // after, the DOM parser will lift it (and the surrounding text) at the end of the tag.\n // Try to look for the comment at the end of the by by iterating over its child nodes in\n // reverse order, stopping if we come across a non-text node.\n if (document.body) {\n for (var i = document.body.childNodes.length - 1; i >= 0; i -= 1) {\n var node = document.body.childNodes[i];\n var comment = getTraceCommentFromNode(node);\n if (comment) {\n return comment;\n }\n if (!isTextNode(node)) {\n break;\n }\n }\n }\n}\nexports.findTraceComment = findTraceComment;\nfunction getTraceCommentFromNode(node) {\n if (node && isCommentNode(node)) {\n var match = /^\\s*DATADOG;(.*?)\\s*$/.exec(node.data);\n if (match) {\n return match[1];\n }\n }\n}\nfunction isCommentNode(node) {\n return node.nodeName === '#comment';\n}\nfunction isTextNode(node) {\n return node.nodeName === '#text';\n}\n//# sourceMappingURL=getDocumentTraceId.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TraceIdentifier = exports.isTracingSupported = exports.startTracer = exports.clearTracingIfNeeded = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\n/**\n * Clear tracing information to avoid incomplete traces. Ideally, we should do it when the\n * request did not reach the server, but the browser does not expose this. So, we clear tracing\n * information if the request ended with status 0 without being aborted by the application.\n *\n * Reasoning:\n *\n * * Applications are usually aborting requests after a bit of time, for example when the user is\n * typing (autocompletion) or navigating away (in a SPA). With a performant device and good\n * network conditions, the request is likely to reach the server before being canceled.\n *\n * * Requests aborted otherwise (ex: lack of internet, CORS issue, blocked by a privacy extension)\n * are likely to finish quickly and without reaching the server.\n *\n * Of course, it might not be the case every time, but it should limit having incomplete traces a\n * bit.\n * */\nfunction clearTracingIfNeeded(context) {\n if (context.status === 0 && !context.isAborted) {\n context.traceId = undefined;\n context.spanId = undefined;\n context.traceSampled = undefined;\n }\n}\nexports.clearTracingIfNeeded = clearTracingIfNeeded;\nfunction startTracer(configuration, sessionManager) {\n return {\n clearTracingIfNeeded: clearTracingIfNeeded,\n traceFetch: function (context) {\n return injectHeadersIfTracingAllowed(configuration, context, sessionManager, function (tracingHeaders) {\n var _a;\n if (context.input instanceof Request && !((_a = context.init) === null || _a === void 0 ? void 0 : _a.headers)) {\n context.input = new Request(context.input);\n Object.keys(tracingHeaders).forEach(function (key) {\n ;\n context.input.headers.append(key, tracingHeaders[key]);\n });\n }\n else {\n context.init = (0, browser_core_1.shallowClone)(context.init);\n var headers_1 = [];\n if (context.init.headers instanceof Headers) {\n context.init.headers.forEach(function (value, key) {\n headers_1.push([key, value]);\n });\n }\n else if (Array.isArray(context.init.headers)) {\n context.init.headers.forEach(function (header) {\n headers_1.push(header);\n });\n }\n else if (context.init.headers) {\n Object.keys(context.init.headers).forEach(function (key) {\n headers_1.push([key, context.init.headers[key]]);\n });\n }\n context.init.headers = headers_1.concat((0, browser_core_1.objectEntries)(tracingHeaders));\n }\n });\n },\n traceXhr: function (context, xhr) {\n return injectHeadersIfTracingAllowed(configuration, context, sessionManager, function (tracingHeaders) {\n Object.keys(tracingHeaders).forEach(function (name) {\n xhr.setRequestHeader(name, tracingHeaders[name]);\n });\n });\n },\n };\n}\nexports.startTracer = startTracer;\nfunction injectHeadersIfTracingAllowed(configuration, context, sessionManager, inject) {\n if (!isTracingSupported() || !isAllowedUrl(configuration, context.url) || !sessionManager.findTrackedSession()) {\n return;\n }\n context.traceId = new TraceIdentifier();\n context.spanId = new TraceIdentifier();\n context.traceSampled = !(0, browser_core_1.isNumber)(configuration.tracingSampleRate) || (0, browser_core_1.performDraw)(configuration.tracingSampleRate);\n inject(makeTracingHeaders(context.traceId, context.spanId, context.traceSampled));\n}\nfunction isAllowedUrl(configuration, requestUrl) {\n return (0, browser_core_1.matchList)(configuration.allowedTracingOrigins, (0, browser_core_1.getOrigin)(requestUrl));\n}\nfunction isTracingSupported() {\n return getCrypto() !== undefined;\n}\nexports.isTracingSupported = isTracingSupported;\nfunction getCrypto() {\n return window.crypto || window.msCrypto;\n}\n/**\n * When trace is not sampled, set priority to '0' instead of not adding the tracing headers\n * to prepare the implementation for sampling delegation.\n */\nfunction makeTracingHeaders(traceId, spanId, traceSampled) {\n return {\n 'x-datadog-origin': 'rum',\n 'x-datadog-parent-id': spanId.toDecimalString(),\n 'x-datadog-sampling-priority': traceSampled ? '1' : '0',\n 'x-datadog-trace-id': traceId.toDecimalString(),\n };\n}\n/* eslint-disable no-bitwise */\nvar TraceIdentifier = /** @class */ (function () {\n function TraceIdentifier() {\n this.buffer = new Uint8Array(8);\n getCrypto().getRandomValues(this.buffer);\n this.buffer[0] = this.buffer[0] & 0x7f; // force 63-bit\n }\n TraceIdentifier.prototype.toString = function (radix) {\n var high = this.readInt32(0);\n var low = this.readInt32(4);\n var str = '';\n do {\n var mod = (high % radix) * 4294967296 + low;\n high = Math.floor(high / radix);\n low = Math.floor(mod / radix);\n str = (mod % radix).toString(radix) + str;\n } while (high || low);\n return str;\n };\n /**\n * Format used everywhere except the trace intake\n */\n TraceIdentifier.prototype.toDecimalString = function () {\n return this.toString(10);\n };\n TraceIdentifier.prototype.readInt32 = function (offset) {\n return (this.buffer[offset] * 16777216 +\n (this.buffer[offset + 1] << 16) +\n (this.buffer[offset + 2] << 8) +\n this.buffer[offset + 3]);\n };\n return TraceIdentifier;\n}());\nexports.TraceIdentifier = TraceIdentifier;\n/* eslint-enable no-bitwise */\n//# sourceMappingURL=tracer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.trackEventCounts = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nfunction trackEventCounts(lifeCycle, callback) {\n if (callback === void 0) { callback = browser_core_1.noop; }\n var eventCounts = {\n errorCount: 0,\n longTaskCount: 0,\n resourceCount: 0,\n actionCount: 0,\n frustrationCount: 0,\n };\n var subscription = lifeCycle.subscribe(11 /* RUM_EVENT_COLLECTED */, function (event) {\n switch (event.type) {\n case \"error\" /* ERROR */:\n eventCounts.errorCount += 1;\n callback(eventCounts);\n break;\n case \"action\" /* ACTION */:\n eventCounts.actionCount += 1;\n if (event.action.frustration) {\n eventCounts.frustrationCount += event.action.frustration.type.length;\n }\n callback(eventCounts);\n break;\n case \"long_task\" /* LONG_TASK */:\n eventCounts.longTaskCount += 1;\n callback(eventCounts);\n break;\n case \"resource\" /* RESOURCE */:\n eventCounts.resourceCount += 1;\n callback(eventCounts);\n break;\n }\n });\n return {\n stop: function () {\n subscription.unsubscribe();\n },\n eventCounts: eventCounts,\n };\n}\nexports.trackEventCounts = trackEventCounts;\n//# sourceMappingURL=trackEventCounts.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPageActivityObservable = exports.doWaitPageActivityEnd = exports.waitPageActivityEnd = exports.PAGE_ACTIVITY_END_DELAY = exports.PAGE_ACTIVITY_VALIDATION_DELAY = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\n// Delay to wait for a page activity to validate the tracking process\nexports.PAGE_ACTIVITY_VALIDATION_DELAY = 100;\n// Delay to wait after a page activity to end the tracking process\nexports.PAGE_ACTIVITY_END_DELAY = 100;\n/**\n * Wait for the page activity end\n *\n * Detection lifecycle:\n * ```\n * Wait page activity end\n * .-------------------'--------------------.\n * v v\n * [Wait for a page activity ] [Wait for a maximum duration]\n * [timeout: VALIDATION_DELAY] [ timeout: maxDuration ]\n * / \\ |\n * v v |\n * [No page activity] [Page activity] |\n * | |,----------------------. |\n * v v | |\n * (Discard) [Wait for a page activity] | |\n * [ timeout: END_DELAY ] | |\n * / \\ | |\n * v v | |\n * [No page activity] [Page activity] | |\n * | | | |\n * | '------------' |\n * '-----------. ,--------------------'\n * v\n * (End)\n * ```\n *\n * Note: by assuming that maxDuration is greater than VALIDATION_DELAY, we are sure that if the\n * process is still alive after maxDuration, it has been validated.\n */\nfunction waitPageActivityEnd(lifeCycle, domMutationObservable, configuration, pageActivityEndCallback, maxDuration) {\n var pageActivityObservable = createPageActivityObservable(lifeCycle, domMutationObservable, configuration);\n return doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration);\n}\nexports.waitPageActivityEnd = waitPageActivityEnd;\nfunction doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration) {\n var pageActivityEndTimeoutId;\n var hasCompleted = false;\n var validationTimeoutId = setTimeout((0, browser_core_1.monitor)(function () { return complete({ hadActivity: false }); }), exports.PAGE_ACTIVITY_VALIDATION_DELAY);\n var maxDurationTimeoutId = maxDuration &&\n setTimeout((0, browser_core_1.monitor)(function () { return complete({ hadActivity: true, end: (0, browser_core_1.timeStampNow)() }); }), maxDuration);\n var pageActivitySubscription = pageActivityObservable.subscribe(function (_a) {\n var isBusy = _a.isBusy;\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n var lastChangeTime = (0, browser_core_1.timeStampNow)();\n if (!isBusy) {\n pageActivityEndTimeoutId = setTimeout((0, browser_core_1.monitor)(function () { return complete({ hadActivity: true, end: lastChangeTime }); }), exports.PAGE_ACTIVITY_END_DELAY);\n }\n });\n var stop = function () {\n hasCompleted = true;\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n clearTimeout(maxDurationTimeoutId);\n pageActivitySubscription.unsubscribe();\n };\n function complete(event) {\n if (hasCompleted) {\n return;\n }\n stop();\n pageActivityEndCallback(event);\n }\n return { stop: stop };\n}\nexports.doWaitPageActivityEnd = doWaitPageActivityEnd;\nfunction createPageActivityObservable(lifeCycle, domMutationObservable, configuration) {\n var observable = new browser_core_1.Observable(function () {\n var subscriptions = [];\n var firstRequestIndex;\n var pendingRequestsCount = 0;\n subscriptions.push(domMutationObservable.subscribe(notifyPageActivity), lifeCycle.subscribe(0 /* PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n if (entries.some(function (entry) { return entry.entryType === 'resource' && !isExcludedUrl(configuration, entry.name); })) {\n notifyPageActivity();\n }\n }), lifeCycle.subscribe(5 /* REQUEST_STARTED */, function (startEvent) {\n if (isExcludedUrl(configuration, startEvent.url)) {\n return;\n }\n if (firstRequestIndex === undefined) {\n firstRequestIndex = startEvent.requestIndex;\n }\n pendingRequestsCount += 1;\n notifyPageActivity();\n }), lifeCycle.subscribe(6 /* REQUEST_COMPLETED */, function (request) {\n if (isExcludedUrl(configuration, request.url) ||\n firstRequestIndex === undefined ||\n // If the request started before the tracking start, ignore it\n request.requestIndex < firstRequestIndex) {\n return;\n }\n pendingRequestsCount -= 1;\n notifyPageActivity();\n }));\n var stopTrackingWindowOpen = trackWindowOpen(notifyPageActivity).stop;\n return function () {\n stopTrackingWindowOpen();\n subscriptions.forEach(function (s) { return s.unsubscribe(); });\n };\n function notifyPageActivity() {\n observable.notify({ isBusy: pendingRequestsCount > 0 });\n }\n });\n return observable;\n}\nexports.createPageActivityObservable = createPageActivityObservable;\nfunction isExcludedUrl(configuration, requestUrl) {\n return (0, browser_core_1.matchList)(configuration.excludedActivityUrls, requestUrl);\n}\nfunction trackWindowOpen(callback) {\n return (0, browser_core_1.instrumentMethodAndCallOriginal)(window, 'open', { before: callback });\n}\n//# sourceMappingURL=waitPageActivityEnd.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.STABLE_ATTRIBUTES = exports.DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE = exports.getViewportDimension = exports.initViewportObservable = exports.getMutationObserverConstructor = exports.LifeCycle = exports.startRum = exports.makeRumPublicApi = void 0;\nvar rumPublicApi_1 = require(\"./boot/rumPublicApi\");\nObject.defineProperty(exports, \"makeRumPublicApi\", { enumerable: true, get: function () { return rumPublicApi_1.makeRumPublicApi; } });\nvar startRum_1 = require(\"./boot/startRum\");\nObject.defineProperty(exports, \"startRum\", { enumerable: true, get: function () { return startRum_1.startRum; } });\nvar lifeCycle_1 = require(\"./domain/lifeCycle\");\nObject.defineProperty(exports, \"LifeCycle\", { enumerable: true, get: function () { return lifeCycle_1.LifeCycle; } });\nvar domMutationObservable_1 = require(\"./browser/domMutationObservable\");\nObject.defineProperty(exports, \"getMutationObserverConstructor\", { enumerable: true, get: function () { return domMutationObservable_1.getMutationObserverConstructor; } });\nvar viewportObservable_1 = require(\"./browser/viewportObservable\");\nObject.defineProperty(exports, \"initViewportObservable\", { enumerable: true, get: function () { return viewportObservable_1.initViewportObservable; } });\nObject.defineProperty(exports, \"getViewportDimension\", { enumerable: true, get: function () { return viewportObservable_1.getViewportDimension; } });\nvar getActionNameFromElement_1 = require(\"./domain/rumEventsCollection/action/getActionNameFromElement\");\nObject.defineProperty(exports, \"DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE\", { enumerable: true, get: function () { return getActionNameFromElement_1.DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE; } });\nvar getSelectorFromElement_1 = require(\"./domain/rumEventsCollection/action/getSelectorFromElement\");\nObject.defineProperty(exports, \"STABLE_ATTRIBUTES\", { enumerable: true, get: function () { return getSelectorFromElement_1.STABLE_ATTRIBUTES; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startRumBatch = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nfunction startRumBatch(configuration, lifeCycle, telemetryEventObservable, reportError, pageExitObservable) {\n var batch = makeRumBatch(configuration, reportError, pageExitObservable);\n lifeCycle.subscribe(11 /* RUM_EVENT_COLLECTED */, function (serverRumEvent) {\n if (serverRumEvent.type === \"view\" /* VIEW */) {\n batch.upsert(serverRumEvent, serverRumEvent.view.id);\n }\n else {\n batch.add(serverRumEvent);\n }\n });\n telemetryEventObservable.subscribe(function (event) { return batch.add(event, (0, browser_core_1.isTelemetryReplicationAllowed)(configuration)); });\n}\nexports.startRumBatch = startRumBatch;\nfunction makeRumBatch(configuration, reportError, pageExitObservable) {\n var primaryBatch = createRumBatch(configuration.rumEndpointBuilder);\n var replicaBatch;\n var replica = configuration.replica;\n if (replica !== undefined) {\n replicaBatch = createRumBatch(replica.rumEndpointBuilder);\n }\n function createRumBatch(endpointBuilder) {\n return new browser_core_1.Batch((0, browser_core_1.createHttpRequest)(endpointBuilder, configuration.batchBytesLimit, reportError), configuration.batchMessagesLimit, configuration.batchBytesLimit, configuration.messageBytesLimit, configuration.flushTimeout, pageExitObservable);\n }\n function withReplicaApplicationId(message) {\n return (0, browser_core_1.combine)(message, { application: { id: replica.applicationId } });\n }\n return {\n add: function (message, replicated) {\n if (replicated === void 0) { replicated = true; }\n primaryBatch.add(message);\n if (replicaBatch && replicated) {\n replicaBatch.add(withReplicaApplicationId(message));\n }\n },\n upsert: function (message, key) {\n primaryBatch.upsert(message, key);\n if (replicaBatch) {\n replicaBatch.upsert(withReplicaApplicationId(message), key);\n }\n },\n };\n}\n//# sourceMappingURL=startRumBatch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startRumEventBridge = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nfunction startRumEventBridge(lifeCycle) {\n var bridge = (0, browser_core_1.getEventBridge)();\n lifeCycle.subscribe(11 /* RUM_EVENT_COLLECTED */, function (serverRumEvent) {\n bridge.send('rum', serverRumEvent);\n });\n}\nexports.startRumEventBridge = startRumEventBridge;\n//# sourceMappingURL=startRumEventBridge.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.makeRecorderApi = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar replayStats_1 = require(\"../domain/replayStats\");\nvar segmentCollection_1 = require(\"../domain/segmentCollection\");\nfunction makeRecorderApi(startRecordingImpl, startDeflateWorkerImpl) {\n if (startDeflateWorkerImpl === void 0) { startDeflateWorkerImpl = segmentCollection_1.startDeflateWorker; }\n if ((0, browser_core_1.canUseEventBridge)() || !isBrowserSupported()) {\n return {\n start: browser_core_1.noop,\n stop: browser_core_1.noop,\n getReplayStats: function () { return undefined; },\n onRumStart: browser_core_1.noop,\n isRecording: function () { return false; },\n };\n }\n var state = {\n status: 0 /* Stopped */,\n };\n var startStrategy = function () {\n state = { status: 1 /* IntentToStart */ };\n };\n var stopStrategy = function () {\n state = { status: 0 /* Stopped */ };\n };\n return {\n start: function () { return startStrategy(); },\n stop: function () { return stopStrategy(); },\n getReplayStats: replayStats_1.getReplayStats,\n onRumStart: function (lifeCycle, configuration, sessionManager, viewContexts) {\n lifeCycle.subscribe(7 /* SESSION_EXPIRED */, function () {\n if (state.status === 2 /* Starting */ || state.status === 3 /* Started */) {\n stopStrategy();\n state = { status: 1 /* IntentToStart */ };\n }\n });\n lifeCycle.subscribe(8 /* SESSION_RENEWED */, function () {\n if (state.status === 1 /* IntentToStart */) {\n startStrategy();\n }\n });\n startStrategy = function () {\n var session = sessionManager.findTrackedSession();\n if (!session || !session.sessionReplayAllowed) {\n state = { status: 1 /* IntentToStart */ };\n return;\n }\n if (state.status === 2 /* Starting */ || state.status === 3 /* Started */) {\n return;\n }\n state = { status: 2 /* Starting */ };\n (0, browser_core_1.runOnReadyState)('interactive', function () {\n if (state.status !== 2 /* Starting */) {\n return;\n }\n startDeflateWorkerImpl(function (worker) {\n if (state.status !== 2 /* Starting */) {\n return;\n }\n if (!worker) {\n state = {\n status: 0 /* Stopped */,\n };\n return;\n }\n var stopRecording = startRecordingImpl(lifeCycle, configuration, sessionManager, viewContexts, worker).stop;\n state = {\n status: 3 /* Started */,\n stopRecording: stopRecording,\n };\n });\n });\n };\n stopStrategy = function () {\n if (state.status === 0 /* Stopped */) {\n return;\n }\n if (state.status === 3 /* Started */) {\n state.stopRecording();\n }\n state = {\n status: 0 /* Stopped */,\n };\n };\n if (state.status === 1 /* IntentToStart */) {\n startStrategy();\n }\n },\n isRecording: function () { return state.status === 3 /* Started */; },\n };\n}\nexports.makeRecorderApi = makeRecorderApi;\n/**\n * Test for Browser features used while recording\n */\nfunction isBrowserSupported() {\n return (\n // Array.from is a bit less supported by browsers than CSSSupportsRule, but has higher chances\n // to be polyfilled. Test for both to be more confident. We could add more things if we find out\n // this test is not sufficient.\n typeof Array.from === 'function' && typeof CSSSupportsRule === 'function');\n}\n//# sourceMappingURL=recorderApi.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startRecording = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar record_1 = require(\"../domain/record\");\nvar segmentCollection_1 = require(\"../domain/segmentCollection\");\nvar types_1 = require(\"../types\");\nfunction startRecording(lifeCycle, configuration, sessionManager, viewContexts, worker, httpRequest) {\n var reportError = function (error) {\n lifeCycle.notify(12 /* RAW_ERROR_COLLECTED */, { error: error });\n };\n var replayRequest = httpRequest || (0, browser_core_1.createHttpRequest)(configuration.sessionReplayEndpointBuilder, segmentCollection_1.SEGMENT_BYTES_LIMIT, reportError);\n var _a = (0, segmentCollection_1.startSegmentCollection)(lifeCycle, configuration.applicationId, sessionManager, viewContexts, replayRequest, worker), addRecord = _a.addRecord, stopSegmentCollection = _a.stop;\n var _b = (0, record_1.record)({\n emit: addRecord,\n configuration: configuration,\n lifeCycle: lifeCycle,\n }), stopRecording = _b.stop, takeSubsequentFullSnapshot = _b.takeSubsequentFullSnapshot, flushMutations = _b.flushMutations;\n var unsubscribeViewEnded = lifeCycle.subscribe(4 /* VIEW_ENDED */, function () {\n flushMutations();\n addRecord({\n timestamp: (0, browser_core_1.timeStampNow)(),\n type: types_1.RecordType.ViewEnd,\n });\n }).unsubscribe;\n var unsubscribeViewCreated = lifeCycle.subscribe(2 /* VIEW_CREATED */, function (view) {\n takeSubsequentFullSnapshot(view.startClocks.timeStamp);\n }).unsubscribe;\n return {\n stop: function () {\n unsubscribeViewEnded();\n unsubscribeViewCreated();\n stopRecording();\n stopSegmentCollection();\n },\n };\n}\nexports.startRecording = startRecording;\n//# sourceMappingURL=startRecording.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FORM_PRIVATE_TAG_NAMES = exports.CENSORED_IMG_MARK = exports.CENSORED_STRING_MARK = exports.PRIVACY_CLASS_HIDDEN = exports.PRIVACY_CLASS_MASK_USER_INPUT = exports.PRIVACY_CLASS_MASK = exports.PRIVACY_CLASS_ALLOW = exports.PRIVACY_ATTR_VALUE_HIDDEN = exports.PRIVACY_ATTR_VALUE_MASK_USER_INPUT = exports.PRIVACY_ATTR_VALUE_MASK = exports.PRIVACY_ATTR_VALUE_ALLOW = exports.PRIVACY_ATTR_NAME = exports.NodePrivacyLevel = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nexports.NodePrivacyLevel = {\n IGNORE: 'ignore',\n HIDDEN: 'hidden',\n ALLOW: browser_core_1.DefaultPrivacyLevel.ALLOW,\n MASK: browser_core_1.DefaultPrivacyLevel.MASK,\n MASK_USER_INPUT: browser_core_1.DefaultPrivacyLevel.MASK_USER_INPUT,\n};\nexports.PRIVACY_ATTR_NAME = 'data-dd-privacy';\n// Privacy Attrs\nexports.PRIVACY_ATTR_VALUE_ALLOW = 'allow';\nexports.PRIVACY_ATTR_VALUE_MASK = 'mask';\nexports.PRIVACY_ATTR_VALUE_MASK_USER_INPUT = 'mask-user-input';\nexports.PRIVACY_ATTR_VALUE_HIDDEN = 'hidden';\n// Privacy Classes - not all customers can set plain HTML attributes, so support classes too\nexports.PRIVACY_CLASS_ALLOW = 'dd-privacy-allow';\nexports.PRIVACY_CLASS_MASK = 'dd-privacy-mask';\nexports.PRIVACY_CLASS_MASK_USER_INPUT = 'dd-privacy-mask-user-input';\nexports.PRIVACY_CLASS_HIDDEN = 'dd-privacy-hidden';\n// Private Replacement Templates\nexports.CENSORED_STRING_MARK = '***';\nexports.CENSORED_IMG_MARK = 'data:image/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==';\nexports.FORM_PRIVATE_TAG_NAMES = {\n INPUT: true,\n OUTPUT: true,\n TEXTAREA: true,\n SELECT: true,\n OPTION: true,\n DATALIST: true,\n OPTGROUP: true,\n};\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createElementsScrollPositions = void 0;\nfunction createElementsScrollPositions() {\n var scrollPositionsByElement = new WeakMap();\n return {\n set: function (element, scrollPositions) {\n if (element === document && !document.scrollingElement) {\n // cf https://drafts.csswg.org/cssom-view/#dom-document-scrollingelement,\n // in some cases scrolling elements can not be defined, we don't support those for now\n return;\n }\n scrollPositionsByElement.set(element === document ? document.scrollingElement : element, scrollPositions);\n },\n get: function (element) {\n return scrollPositionsByElement.get(element);\n },\n has: function (element) {\n return scrollPositionsByElement.has(element);\n },\n };\n}\nexports.createElementsScrollPositions = createElementsScrollPositions;\n//# sourceMappingURL=elementsScrollPositions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createElementsScrollPositions = exports.serializeDocument = exports.serializeNodeWithId = exports.record = void 0;\nvar record_1 = require(\"./record\");\nObject.defineProperty(exports, \"record\", { enumerable: true, get: function () { return record_1.record; } });\nvar serialize_1 = require(\"./serialize\");\nObject.defineProperty(exports, \"serializeNodeWithId\", { enumerable: true, get: function () { return serialize_1.serializeNodeWithId; } });\nObject.defineProperty(exports, \"serializeDocument\", { enumerable: true, get: function () { return serialize_1.serializeDocument; } });\nvar elementsScrollPositions_1 = require(\"./elementsScrollPositions\");\nObject.defineProperty(exports, \"createElementsScrollPositions\", { enumerable: true, get: function () { return elementsScrollPositions_1.createElementsScrollPositions; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createMutationBatch = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\n/**\n * Maximum duration to wait before processing mutations. If the browser is idle, mutations will be\n * processed more quickly. If the browser is busy executing small tasks (ex: rendering frames), the\n * mutations will wait MUTATION_PROCESS_MAX_DELAY milliseconds before being processed. If the\n * browser is busy executing a longer task, mutations will be processed after this task.\n */\nvar MUTATION_PROCESS_MAX_DELAY = 100;\nfunction createMutationBatch(processMutationBatch) {\n var cancelScheduledFlush = browser_core_1.noop;\n var pendingMutations = [];\n function flush() {\n cancelScheduledFlush();\n processMutationBatch(pendingMutations);\n pendingMutations = [];\n }\n return {\n addMutations: function (mutations) {\n if (pendingMutations.length === 0) {\n cancelScheduledFlush = (0, browser_core_1.requestIdleCallback)(flush, { timeout: MUTATION_PROCESS_MAX_DELAY });\n }\n pendingMutations.push.apply(pendingMutations, mutations);\n },\n flush: flush,\n stop: function () {\n cancelScheduledFlush();\n },\n };\n}\nexports.createMutationBatch = createMutationBatch;\n//# sourceMappingURL=mutationBatch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sortAddedAndMovedNodes = exports.MutationController = exports.startMutationObserver = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar browser_rum_core_1 = require(\"@datadog/browser-rum-core\");\nvar constants_1 = require(\"../../constants\");\nvar privacy_1 = require(\"./privacy\");\nvar serializationUtils_1 = require(\"./serializationUtils\");\nvar serialize_1 = require(\"./serialize\");\nvar utils_1 = require(\"./utils\");\nvar mutationBatch_1 = require(\"./mutationBatch\");\n/**\n * Buffers and aggregate mutations generated by a MutationObserver into MutationPayload\n */\nfunction startMutationObserver(controller, mutationCallback, configuration) {\n var MutationObserver = (0, browser_rum_core_1.getMutationObserverConstructor)();\n if (!MutationObserver) {\n return { stop: browser_core_1.noop };\n }\n var mutationBatch = (0, mutationBatch_1.createMutationBatch)(function (mutations) {\n processMutations(mutations.concat(observer.takeRecords()), mutationCallback, configuration);\n });\n var observer = new MutationObserver((0, browser_core_1.monitor)(mutationBatch.addMutations));\n observer.observe(document, {\n attributeOldValue: true,\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true,\n });\n controller.onFlush(mutationBatch.flush);\n return {\n stop: function () {\n observer.disconnect();\n mutationBatch.stop();\n },\n };\n}\nexports.startMutationObserver = startMutationObserver;\n/**\n * Controls how mutations are processed, allowing to flush pending mutations.\n */\nvar MutationController = /** @class */ (function () {\n function MutationController() {\n }\n MutationController.prototype.flush = function () {\n var _a;\n (_a = this.flushListener) === null || _a === void 0 ? void 0 : _a.call(this);\n };\n MutationController.prototype.onFlush = function (listener) {\n this.flushListener = listener;\n };\n return MutationController;\n}());\nexports.MutationController = MutationController;\nfunction processMutations(mutations, mutationCallback, configuration) {\n // Discard any mutation with a 'target' node that:\n // * isn't injected in the current document or isn't known/serialized yet: those nodes are likely\n // part of a mutation occurring in a parent Node\n // * should be hidden or ignored\n var filteredMutations = mutations.filter(function (mutation) {\n return document.contains(mutation.target) &&\n (0, serializationUtils_1.nodeAndAncestorsHaveSerializedNode)(mutation.target) &&\n (0, privacy_1.getNodePrivacyLevel)(mutation.target, configuration.defaultPrivacyLevel) !== constants_1.NodePrivacyLevel.HIDDEN;\n });\n var _a = processChildListMutations(filteredMutations.filter(function (mutation) { return mutation.type === 'childList'; }), configuration), adds = _a.adds, removes = _a.removes, hasBeenSerialized = _a.hasBeenSerialized;\n var texts = processCharacterDataMutations(filteredMutations.filter(function (mutation) {\n return mutation.type === 'characterData' && !hasBeenSerialized(mutation.target);\n }), configuration);\n var attributes = processAttributesMutations(filteredMutations.filter(function (mutation) {\n return mutation.type === 'attributes' && !hasBeenSerialized(mutation.target);\n }), configuration);\n if (!texts.length && !attributes.length && !removes.length && !adds.length) {\n return;\n }\n mutationCallback({\n adds: adds,\n removes: removes,\n texts: texts,\n attributes: attributes,\n });\n}\nfunction processChildListMutations(mutations, configuration) {\n // First, we iterate over mutations to collect:\n //\n // * nodes that have been added in the document and not removed by a subsequent mutation\n // * nodes that have been removed from the document but were not added in a previous mutation\n //\n // For this second category, we also collect their previous parent (mutation.target) because we'll\n // need it to emit a 'remove' mutation.\n //\n // Those two categories may overlap: if a node moved from a position to another, it is reported as\n // two mutation records, one with a \"removedNodes\" and the other with \"addedNodes\". In this case,\n // the node will be in both sets.\n var addedAndMovedNodes = new Set();\n var removedNodes = new Map();\n var _loop_1 = function (mutation) {\n (0, utils_1.forEach)(mutation.addedNodes, function (node) {\n addedAndMovedNodes.add(node);\n });\n (0, utils_1.forEach)(mutation.removedNodes, function (node) {\n if (!addedAndMovedNodes.has(node)) {\n removedNodes.set(node, mutation.target);\n }\n addedAndMovedNodes.delete(node);\n });\n };\n for (var _i = 0, mutations_1 = mutations; _i < mutations_1.length; _i++) {\n var mutation = mutations_1[_i];\n _loop_1(mutation);\n }\n // Then, we sort nodes that are still in the document by topological order, for two reasons:\n //\n // * We will serialize each added nodes with their descendants. We don't want to serialize a node\n // twice, so we need to iterate over the parent nodes first and skip any node that is contained in\n // a precedent node.\n //\n // * To emit \"add\" mutations, we need references to the parent and potential next sibling of each\n // added node. So we need to iterate over the parent nodes first, and when multiple nodes are\n // siblings, we want to iterate from last to first. This will ensure that any \"next\" node is\n // already serialized and have an id.\n var sortedAddedAndMovedNodes = Array.from(addedAndMovedNodes);\n sortAddedAndMovedNodes(sortedAddedAndMovedNodes);\n // Then, we iterate over our sorted node sets to emit mutations. We collect the newly serialized\n // node ids in a set to be able to skip subsequent related mutations.\n var serializedNodeIds = new Set();\n var addedNodeMutations = [];\n for (var _a = 0, sortedAddedAndMovedNodes_1 = sortedAddedAndMovedNodes; _a < sortedAddedAndMovedNodes_1.length; _a++) {\n var node = sortedAddedAndMovedNodes_1[_a];\n if (hasBeenSerialized(node)) {\n continue;\n }\n var parentNodePrivacyLevel = (0, privacy_1.getNodePrivacyLevel)(node.parentNode, configuration.defaultPrivacyLevel);\n if (parentNodePrivacyLevel === constants_1.NodePrivacyLevel.HIDDEN || parentNodePrivacyLevel === constants_1.NodePrivacyLevel.IGNORE) {\n continue;\n }\n var serializedNode = (0, serialize_1.serializeNodeWithId)(node, {\n serializedNodeIds: serializedNodeIds,\n parentNodePrivacyLevel: parentNodePrivacyLevel,\n serializationContext: { status: 2 /* MUTATION */ },\n configuration: configuration,\n });\n if (!serializedNode) {\n continue;\n }\n addedNodeMutations.push({\n nextId: getNextSibling(node),\n parentId: (0, serializationUtils_1.getSerializedNodeId)(node.parentNode),\n node: serializedNode,\n });\n }\n // Finally, we emit remove mutations.\n var removedNodeMutations = [];\n removedNodes.forEach(function (parent, node) {\n if ((0, serializationUtils_1.hasSerializedNode)(node)) {\n removedNodeMutations.push({\n parentId: (0, serializationUtils_1.getSerializedNodeId)(parent),\n id: (0, serializationUtils_1.getSerializedNodeId)(node),\n });\n }\n });\n return { adds: addedNodeMutations, removes: removedNodeMutations, hasBeenSerialized: hasBeenSerialized };\n function hasBeenSerialized(node) {\n return (0, serializationUtils_1.hasSerializedNode)(node) && serializedNodeIds.has((0, serializationUtils_1.getSerializedNodeId)(node));\n }\n function getNextSibling(node) {\n var nextSibling = node.nextSibling;\n while (nextSibling) {\n if ((0, serializationUtils_1.hasSerializedNode)(nextSibling)) {\n return (0, serializationUtils_1.getSerializedNodeId)(nextSibling);\n }\n nextSibling = nextSibling.nextSibling;\n }\n return null;\n }\n}\nfunction processCharacterDataMutations(mutations, configuration) {\n var _a;\n var textMutations = [];\n // Deduplicate mutations based on their target node\n var handledNodes = new Set();\n var filteredMutations = mutations.filter(function (mutation) {\n if (handledNodes.has(mutation.target)) {\n return false;\n }\n handledNodes.add(mutation.target);\n return true;\n });\n // Emit mutations\n for (var _i = 0, filteredMutations_1 = filteredMutations; _i < filteredMutations_1.length; _i++) {\n var mutation = filteredMutations_1[_i];\n var value = mutation.target.textContent;\n if (value === mutation.oldValue) {\n continue;\n }\n var parentNodePrivacyLevel = (0, privacy_1.getNodePrivacyLevel)(mutation.target.parentNode, configuration.defaultPrivacyLevel);\n if (parentNodePrivacyLevel === constants_1.NodePrivacyLevel.HIDDEN || parentNodePrivacyLevel === constants_1.NodePrivacyLevel.IGNORE) {\n continue;\n }\n textMutations.push({\n id: (0, serializationUtils_1.getSerializedNodeId)(mutation.target),\n // TODO: pass a valid \"ignoreWhiteSpace\" argument\n value: (_a = (0, privacy_1.getTextContent)(mutation.target, false, parentNodePrivacyLevel)) !== null && _a !== void 0 ? _a : null,\n });\n }\n return textMutations;\n}\nfunction processAttributesMutations(mutations, configuration) {\n var attributeMutations = [];\n // Deduplicate mutations based on their target node and changed attribute\n var handledElements = new Map();\n var filteredMutations = mutations.filter(function (mutation) {\n var handledAttributes = handledElements.get(mutation.target);\n if (handledAttributes === null || handledAttributes === void 0 ? void 0 : handledAttributes.has(mutation.attributeName)) {\n return false;\n }\n if (!handledAttributes) {\n handledElements.set(mutation.target, new Set([mutation.attributeName]));\n }\n else {\n handledAttributes.add(mutation.attributeName);\n }\n return true;\n });\n // Emit mutations\n var emittedMutations = new Map();\n for (var _i = 0, filteredMutations_2 = filteredMutations; _i < filteredMutations_2.length; _i++) {\n var mutation = filteredMutations_2[_i];\n var uncensoredValue = mutation.target.getAttribute(mutation.attributeName);\n if (uncensoredValue === mutation.oldValue) {\n continue;\n }\n var privacyLevel = (0, privacy_1.getNodePrivacyLevel)(mutation.target, configuration.defaultPrivacyLevel);\n var attributeValue = (0, serialize_1.serializeAttribute)(mutation.target, privacyLevel, mutation.attributeName, configuration);\n var transformedValue = void 0;\n if (mutation.attributeName === 'value') {\n var inputValue = (0, serializationUtils_1.getElementInputValue)(mutation.target, privacyLevel);\n if (inputValue === undefined) {\n continue;\n }\n transformedValue = inputValue;\n }\n else if (typeof attributeValue === 'string') {\n transformedValue = attributeValue;\n }\n else {\n transformedValue = null;\n }\n var emittedMutation = emittedMutations.get(mutation.target);\n if (!emittedMutation) {\n emittedMutation = {\n id: (0, serializationUtils_1.getSerializedNodeId)(mutation.target),\n attributes: {},\n };\n attributeMutations.push(emittedMutation);\n emittedMutations.set(mutation.target, emittedMutation);\n }\n emittedMutation.attributes[mutation.attributeName] = transformedValue;\n }\n return attributeMutations;\n}\nfunction sortAddedAndMovedNodes(nodes) {\n nodes.sort(function (a, b) {\n var position = a.compareDocumentPosition(b);\n /* eslint-disable no-bitwise */\n if (position & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return -1;\n }\n else if (position & Node.DOCUMENT_POSITION_CONTAINS) {\n return 1;\n }\n else if (position & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n else if (position & Node.DOCUMENT_POSITION_PRECEDING) {\n return -1;\n }\n /* eslint-enable no-bitwise */\n return 0;\n });\n}\nexports.sortAddedAndMovedNodes = sortAddedAndMovedNodes;\n//# sourceMappingURL=mutationObserver.js.map","\"use strict\";\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.initFrustrationObserver = exports.initStyleSheetObserver = exports.initInputObserver = exports.initObservers = void 0;\nvar browser_core_1 = require(\"@datadog/browser-core\");\nvar browser_rum_core_1 = require(\"@datadog/browser-rum-core\");\nvar constants_1 = require(\"../../constants\");\nvar types_1 = require(\"../../types\");\nvar privacy_1 = require(\"./privacy\");\nvar serializationUtils_1 = require(\"./serializationUtils\");\nvar utils_1 = require(\"./utils\");\nvar mutationObserver_1 = require(\"./mutationObserver\");\nvar viewports_1 = require(\"./viewports\");\nvar MOUSE_MOVE_OBSERVER_THRESHOLD = 50;\nvar SCROLL_OBSERVER_THRESHOLD = 100;\nvar VISUAL_VIEWPORT_OBSERVER_THRESHOLD = 200;\nvar recordIds = new WeakMap();\nvar nextId = 1;\nfunction getRecordIdForEvent(event) {\n if (!recordIds.has(event)) {\n recordIds.set(event, nextId++);\n }\n return recordIds.get(event);\n}\nfunction initObservers(o) {\n var mutationHandler = initMutationObserver(o.mutationController, o.mutationCb, o.configuration);\n var mousemoveHandler = initMoveObserver(o.mousemoveCb);\n var mouseInteractionHandler = initMouseInteractionObserver(o.mouseInteractionCb, o.configuration.defaultPrivacyLevel);\n var scrollHandler = initScrollObserver(o.scrollCb, o.configuration.defaultPrivacyLevel, o.elementsScrollPositions);\n var viewportResizeHandler = initViewportResizeObserver(o.viewportResizeCb);\n var inputHandler = initInputObserver(o.inputCb, o.configuration.defaultPrivacyLevel);\n var mediaInteractionHandler = initMediaInteractionObserver(o.mediaInteractionCb, o.configuration.defaultPrivacyLevel);\n var styleSheetObserver = initStyleSheetObserver(o.styleSheetCb);\n var focusHandler = initFocusObserver(o.focusCb);\n var visualViewportResizeHandler = initVisualViewportResizeObserver(o.visualViewportResizeCb);\n var frustrationHandler = initFrustrationObserver(o.lifeCycle, o.frustrationCb);\n return function () {\n mutationHandler();\n mousemoveHandler();\n mouseInteractionHandler();\n scrollHandler();\n viewportResizeHandler();\n inputHandler();\n mediaInteractionHandler();\n styleSheetObserver();\n focusHandler();\n visualViewportResizeHandler();\n frustrationHandler();\n };\n}\nexports.initObservers = initObservers;\nfunction initMutationObserver(mutationController, cb, configuration) {\n return (0, mutationObserver_1.startMutationObserver)(mutationController, cb, configuration).stop;\n}\nfunction initMoveObserver(cb) {\n var updatePosition = (0, browser_core_1.throttle)((0, browser_core_1.monitor)(function (event) {\n var target = event.target;\n if ((0, serializationUtils_1.hasSerializedNode)(target)) {\n var _a = (0, utils_1.isTouchEvent)(event) ? event.changedTouches[0] : event, clientX = _a.clientX, clientY = _a.clientY;\n var position = {\n id: (0, serializationUtils_1.getSerializedNodeId)(target),\n timeOffset: 0,\n x: clientX,\n y: clientY,\n };\n if (window.visualViewport) {\n var _b = (0, viewports_1.convertMouseEventToLayoutCoordinates)(clientX, clientY), visualViewportX = _b.visualViewportX, visualViewportY = _b.visualViewportY;\n position.x = visualViewportX;\n position.y = visualViewportY;\n }\n cb([position], (0, utils_1.isTouchEvent)(event) ? types_1.IncrementalSource.TouchMove : types_1.IncrementalSource.MouseMove);\n }\n }), MOUSE_MOVE_OBSERVER_THRESHOLD, {\n trailing: false,\n }).throttled;\n return (0, browser_core_1.addEventListeners)(document, [\"mousemove\" /* MOUSE_MOVE */, \"touchmove\" /* TOUCH_MOVE */], updatePosition, {\n capture: true,\n passive: true,\n }).stop;\n}\nvar eventTypeToMouseInteraction = (_a = {},\n _a[\"mouseup\" /* MOUSE_UP */] = types_1.MouseInteractionType.MouseUp,\n _a[\"mousedown\" /* MOUSE_DOWN */] = types_1.MouseInteractionType.MouseDown,\n _a[\"click\" /* CLICK */] = types_1.MouseInteractionType.Click,\n _a[\"contextmenu\" /* CONTEXT_MENU */] = types_1.MouseInteractionType.ContextMenu,\n _a[\"dblclick\" /* DBL_CLICK */] = types_1.MouseInteractionType.DblClick,\n _a[\"focus\" /* FOCUS */] = types_1.MouseInteractionType.Focus,\n _a[\"blur\" /* BLUR */] = types_1.MouseInteractionType.Blur,\n _a[\"touchstart\" /* TOUCH_START */] = types_1.MouseInteractionType.TouchStart,\n _a[\"touchend\" /* TOUCH_END */] = types_1.MouseInteractionType.TouchEnd,\n _a);\nfunction initMouseInteractionObserver(cb, defaultPrivacyLevel) {\n var handler = function (event) {\n var target = event.target;\n if ((0, privacy_1.getNodePrivacyLevel)(target, defaultPrivacyLevel) === constants_1.NodePrivacyLevel.HIDDEN || !(0, serializationUtils_1.hasSerializedNode)(target)) {\n return;\n }\n var _a = (0, utils_1.isTouchEvent)(event) ? event.changedTouches[0] : event, clientX = _a.clientX, clientY = _a.clientY;\n var position = {\n id: (0, serializationUtils_1.getSerializedNodeId)(target),\n type: eventTypeToMouseInteraction[event.type],\n x: clientX,\n y: clientY,\n };\n if (window.visualViewport) {\n var _b = (0, viewports_1.convertMouseEventToLayoutCoordinates)(clientX, clientY), visualViewportX = _b.visualViewportX, visualViewportY = _b.visualViewportY;\n position.x = visualViewportX;\n position.y = visualViewportY;\n }\n var record = (0, browser_core_1.assign)({ id: getRecordIdForEvent(event) }, (0, utils_1.assembleIncrementalSnapshot)(types_1.IncrementalSource.MouseInteraction, position));\n cb(record);\n };\n return (0, browser_core_1.addEventListeners)(document, Object.keys(eventTypeToMouseInteraction), handler, {\n capture: true,\n passive: true,\n }).stop;\n}\nfunction initScrollObserver(cb, defaultPrivacyLevel, elementsScrollPositions) {\n var updatePosition = (0, browser_core_1.throttle)((0, browser_core_1.monitor)(function (event) {\n var target = event.target;\n if (!target ||\n (0, privacy_1.getNodePrivacyLevel)(target, defaultPrivacyLevel) === constants_1.NodePrivacyLevel.HIDDEN ||\n !(0, serializationUtils_1.hasSerializedNode)(target)) {\n return;\n }\n var id = (0, serializationUtils_1.getSerializedNodeId)(target);\n var scrollPositions = target === document\n ? {\n scrollTop: (0, viewports_1.getScrollY)(),\n scrollLeft: (0, viewports_1.getScrollX)(),\n }\n : {\n scrollTop: Math.round(target.scrollTop),\n scrollLeft: Math.round(target.scrollLeft),\n };\n elementsScrollPositions.set(target, scrollPositions);\n cb({\n id: id,\n x: scrollPositions.scrollLeft,\n y: scrollPositions.scrollTop,\n });\n }), SCROLL_OBSERVER_THRESHOLD).throttled;\n return (0, browser_core_1.addEventListener)(document, \"scroll\" /* SCROLL */, updatePosition, { capture: true, passive: true }).stop;\n}\nfunction initViewportResizeObserver(cb) {\n return (0, browser_rum_core_1.initViewportObservable)().subscribe(cb).unsubscribe;\n}\nfunction initInputObserver(cb, defaultPrivacyLevel) {\n var lastInputStateMap = new WeakMap();\n function onElementChange(target) {\n var nodePrivacyLevel = (0, privacy_1.getNodePrivacyLevel)(target, defaultPrivacyLevel);\n if (nodePrivacyLevel === constants_1.NodePrivacyLevel.HIDDEN) {\n return;\n }\n var type = target.type;\n var inputState;\n if (type === 'radio' || type === 'checkbox') {\n if ((0, privacy_1.shouldMaskNode)(target, nodePrivacyLevel)) {\n return;\n }\n inputState = { isChecked: target.checked };\n }\n else {\n var value = (0, serializationUtils_1.getElementInputValue)(target, nodePrivacyLevel);\n if (value === undefined) {\n return;\n }\n inputState = { text: value };\n }\n // Can be multiple changes on the same node within the same batched mutation observation.\n cbWithDedup(target, inputState);\n // If a radio was checked, other radios with the same name attribute will be unchecked.\n var name = target.name;\n if (type === 'radio' && name && target.checked) {\n (0, utils_1.forEach)(document.querySelectorAll(\"input[type=\\\"radio\\\"][name=\\\"\".concat(name, \"\\\"]\")), function (el) {\n if (el !== target) {\n // TODO: Consider the privacy implications for various differing input privacy levels\n cbWithDedup(el, { isChecked: false });\n }\n });\n }\n }\n /**\n * There can be multiple changes on the same node within the same batched mutation observation.\n */\n function cbWithDedup(target, inputState) {\n if (!(0, serializationUtils_1.hasSerializedNode)(target)) {\n return;\n }\n var lastInputState = lastInputStateMap.get(target);\n if (!lastInputState ||\n lastInputState.text !== inputState.text ||\n lastInputState.isChecked !== inputState.isChecked) {\n lastInputStateMap.set(target, inputState);\n cb((0, browser_core_1.assign)({\n id: (0, serializationUtils_1.getSerializedNodeId)(target),\n }, inputState));\n }\n }\n var stopEventListeners = (0, browser_core_1.addEventListeners)(document, [\"input\" /* INPUT */, \"change\" /* CHANGE */], function (event) {\n if (event.target instanceof HTMLInputElement ||\n event.target instanceof HTMLTextAreaElement ||\n event.target instanceof HTMLSelectElement) {\n onElementChange(event.target);\n }\n }, {\n capture: true,\n passive: true,\n }).stop;\n var instrumentationStoppers = [\n (0, browser_core_1.instrumentSetter)(HTMLInputElement.prototype, 'value', onElementChange),\n (0, browser_core_1.instrumentSetter)(HTMLInputElement.prototype, 'checked', onElementChange),\n (0, browser_core_1.instrumentSetter)(HTMLSelectElement.prototype, 'value', onElementChange),\n (0, browser_core_1.instrumentSetter)(HTMLTextAreaElement.prototype, 'value', onElementChange),\n (0, browser_core_1.instrumentSetter)(HTMLSelectElement.prototype, 'selectedIndex', onElementChange),\n ];\n return function () {\n instrumentationStoppers.forEach(function (stopper) { return stopper.stop(); });\n stopEventListeners();\n };\n}\nexports.initInputObserver = initInputObserver;\nfunction initStyleSheetObserver(cb) {\n function checkStyleSheetAndCallback(styleSheet, callback) {\n if (styleSheet && (0, serializationUtils_1.hasSerializedNode)(styleSheet.ownerNode)) {\n callback((0, serializationUtils_1.getSerializedNodeId)(styleSheet.ownerNode));\n }\n }\n var instrumentationStoppers = [\n (0, browser_core_1.instrumentMethodAndCallOriginal)(CSSStyleSheet.prototype, 'insertRule', {\n before: function (rule, index) {\n checkStyleSheetAndCallback(this, function (id) { return cb({ id: id, adds: [{ rule: rule, index: index }] }); });\n },\n }),\n (0, browser_core_1.instrumentMethodAndCallOriginal)(CSSStyleSheet.prototype, 'deleteRule', {\n before: function (index) {\n checkStyleSheetAndCallback(this, function (id) { return cb({ id: id, removes: [{ index: index }] }); });\n },\n }),\n ];\n if (typeof CSSGroupingRule !== 'undefined') {\n instrumentGroupingCSSRuleClass(CSSGroupingRule);\n }\n else {\n instrumentGroupingCSSRuleClass(CSSMediaRule);\n instrumentGroupingCSSRuleClass(CSSSupportsRule);\n }\n function instrumentGroupingCSSRuleClass(cls) {\n instrumentationStoppers.push((0, browser_core_1.instrumentMethodAndCallOriginal)(cls.prototype, 'insertRule', {\n before: function (rule, index) {\n var _this = this;\n checkStyleSheetAndCallback(this.parentStyleSheet, function (id) {\n var path = (0, utils_1.getPathToNestedCSSRule)(_this);\n if (path) {\n path.push(index || 0);\n cb({ id: id, adds: [{ rule: rule, index: path }] });\n }\n });\n },\n }), (0, browser_core_1.instrumentMethodAndCallOriginal)(cls.prototype, 'deleteRule', {\n before: function (index) {\n var _this = this;\n checkStyleSheetAndCallback(this.parentStyleSheet, function (id) {\n var path = (0, utils_1.getPathToNestedCSSRule)(_this);\n if (path) {\n path.push(index);\n cb({ id: id, removes: [{ index: path }] });\n }\n });\n },\n }));\n }\n return function () { return instrumentationStoppers.forEach(function (stopper) { return stopper.stop(); }); };\n}\nexports.initStyleSheetObserver = initStyleSheetObserver;\nfunction initMediaInteractionObserver(mediaInteractionCb, defaultPrivacyLevel) {\n var handler = function (event) {\n var target = event.target;\n if (!target ||\n (0, privacy_1.getNodePrivacyLevel)(target, defaultPrivacyLevel) === constants_1.NodePrivacyLevel.HIDDEN ||\n !(0, serializationUtils_1.hasSerializedNode)(target)) {\n return;\n }\n mediaInteractionCb({\n id: (0, serializationUtils_1.getSerializedNodeId)(target),\n type: event.type === \"play\" /* PLAY */ ? types_1.MediaInteractionType.Play : types_1.MediaInteractionType.Pause,\n });\n };\n return (0, browser_core_1.addEventListeners)(document, [\"play\" /* PLAY */, \"pause\" /* PAUSE */], handler, { capture: true, passive: true }).stop;\n}\nfunction initFocusObserver(focusCb) {\n return (0, browser_core_1.addEventListeners)(window, [\"focus\" /* FOCUS */, \"blur\" /* BLUR */], function () {\n focusCb({ has_focus: document.hasFocus() });\n }).stop;\n}\nfunction initVisualViewportResizeObserver(cb) {\n if (!window.visualViewport) {\n return browser_core_1.noop;\n }\n var _a = (0, browser_core_1.throttle)((0, browser_core_1.monitor)(function () {\n cb((0, viewports_1.getVisualViewport)());\n }), VISUAL_VIEWPORT_OBSERVER_THRESHOLD, {\n trailing: false,\n }), updateDimension = _a.throttled, cancelThrottle = _a.cancel;\n var removeListener = (0, browser_core_1.addEventListeners)(window.visualViewport, [\"resize\" /* RESIZE */, \"scroll\" /* SCROLL */], updateDimension, {\n capture: true,\n passive: true,\n }).stop;\n return function stop() {\n removeListener();\n cancelThrottle();\n };\n}\nfunction initFrustrationObserver(lifeCycle, frustrationCb) {\n return lifeCycle.subscribe(10 /* RAW_RUM_EVENT_COLLECTED */, function (data) {\n var _a, _b, _c;\n if (data.rawRumEvent.type === \"action\" /* ACTION */ &&\n data.rawRumEvent.action.type === \"click\" /* CLICK */ &&\n ((_b = (_a = data.rawRumEvent.action.frustration) === null || _a === void 0 ? void 0 : _a.type) === null || _b === void 0 ? void 0 : _b.length) &&\n 'events' in data.domainContext &&\n ((_c = data.domainContext.events) === null || _c === void 0 ? void 0 : _c.length)) {\n frustrationCb({\n timestamp: data.rawRumEvent.date,\n type: types_1.RecordType.FrustrationRecord,\n data: {\n frustrationTypes: data.rawRumEvent.action.frustration.type,\n recordIds: data.domainContext.events.map(function (e) { return getRecordIdForEvent(e); }),\n },\n });\n }\n }).unsubscribe;\n}\nexports.initFrustrationObserver = initFrustrationObserver;\n//# sourceMappingURL=observers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shouldIgnoreElement = exports.getTextContent = exports.censorText = exports.shouldMaskNode = exports.getNodeSelfPrivacyLevel = exports.reducePrivacyLevel = exports.getNodePrivacyLevel = exports.MAX_ATTRIBUTE_VALUE_CHAR_LENGTH = void 0;\nvar constants_1 = require(\"../../constants\");\nexports.MAX_ATTRIBUTE_VALUE_CHAR_LENGTH = 100000;\nvar TEXT_MASKING_CHAR = 'x';\n/**\n * Get node privacy level by iterating over its ancestors. When the direct parent privacy level is\n * know, it is best to use something like:\n *\n * derivePrivacyLevelGivenParent(getNodeSelfPrivacyLevel(node), parentNodePrivacyLevel)\n */\nfunction getNodePrivacyLevel(node, defaultPrivacyLevel) {\n var parentNodePrivacyLevel = node.parentNode\n ? getNodePrivacyLevel(node.parentNode, defaultPrivacyLevel)\n : defaultPrivacyLevel;\n var selfNodePrivacyLevel = getNodeSelfPrivacyLevel(node);\n return reducePrivacyLevel(selfNodePrivacyLevel, parentNodePrivacyLevel);\n}\nexports.getNodePrivacyLevel = getNodePrivacyLevel;\n/**\n * Reduces the next privacy level based on self + parent privacy levels\n */\nfunction reducePrivacyLevel(childPrivacyLevel, parentNodePrivacyLevel) {\n switch (parentNodePrivacyLevel) {\n // These values cannot be overridden\n case constants_1.NodePrivacyLevel.HIDDEN:\n case constants_1.NodePrivacyLevel.IGNORE:\n return parentNodePrivacyLevel;\n }\n switch (childPrivacyLevel) {\n case constants_1.NodePrivacyLevel.ALLOW:\n case constants_1.NodePrivacyLevel.MASK:\n case constants_1.NodePrivacyLevel.MASK_USER_INPUT:\n case constants_1.NodePrivacyLevel.HIDDEN:\n case constants_1.NodePrivacyLevel.IGNORE:\n return childPrivacyLevel;\n default:\n return parentNodePrivacyLevel;\n }\n}\nexports.reducePrivacyLevel = reducePrivacyLevel;\n/**\n * Determines the node's own privacy level without checking for ancestors.\n */\nfunction getNodeSelfPrivacyLevel(node) {\n // Only Element types can have a privacy level set\n if (!isElement(node)) {\n return;\n }\n var privAttr = node.getAttribute(constants_1.PRIVACY_ATTR_NAME);\n // Overrules for replay purpose\n if (node.tagName === 'BASE') {\n return constants_1.NodePrivacyLevel.ALLOW;\n }\n // Overrules to enforce end-user protection\n if (node.tagName === 'INPUT') {\n var inputElement = node;\n if (inputElement.type === 'password' || inputElement.type === 'email' || inputElement.type === 'tel') {\n return constants_1.NodePrivacyLevel.MASK;\n }\n if (inputElement.type === 'hidden') {\n return constants_1.NodePrivacyLevel.MASK;\n }\n var autocomplete = inputElement.getAttribute('autocomplete');\n // Handle input[autocomplete=cc-number/cc-csc/cc-exp/cc-exp-month/cc-exp-year]\n if (autocomplete && autocomplete.indexOf('cc-') === 0) {\n return constants_1.NodePrivacyLevel.MASK;\n }\n }\n // Check HTML privacy attributes and classes\n if (privAttr === constants_1.PRIVACY_ATTR_VALUE_HIDDEN || node.classList.contains(constants_1.PRIVACY_CLASS_HIDDEN)) {\n return constants_1.NodePrivacyLevel.HIDDEN;\n }\n if (privAttr === constants_1.PRIVACY_ATTR_VALUE_MASK || node.classList.contains(constants_1.PRIVACY_CLASS_MASK)) {\n return constants_1.NodePrivacyLevel.MASK;\n }\n if (privAttr === constants_1.PRIVACY_ATTR_VALUE_MASK_USER_INPUT || node.classList.contains(constants_1.PRIVACY_CLASS_MASK_USER_INPUT)) {\n return constants_1.NodePrivacyLevel.MASK_USER_INPUT;\n }\n if (privAttr === constants_1.PRIVACY_ATTR_VALUE_ALLOW || node.classList.contains(constants_1.PRIVACY_CLASS_ALLOW)) {\n return constants_1.NodePrivacyLevel.ALLOW;\n }\n if (shouldIgnoreElement(node)) {\n return constants_1.NodePrivacyLevel.IGNORE;\n }\n}\nexports.getNodeSelfPrivacyLevel = getNodeSelfPrivacyLevel;\n/**\n * Helper aiming to unify `mask` and `mask-user-input` privacy levels:\n *\n * In the `mask` case, it is trivial: we should mask the element.\n *\n * In the `mask-user-input` case, we should mask the element only if it is a \"form\" element or the\n * direct parent is a form element for text nodes).\n *\n * Other `shouldMaskNode` cases are edge cases that should not matter too much (ex: should we mask a\n * node if it is ignored or hidden? it doesn't matter since it won't be serialized).\n */\nfunction shouldMaskNode(node, privacyLevel) {\n switch (privacyLevel) {\n case constants_1.NodePrivacyLevel.MASK:\n case constants_1.NodePrivacyLevel.HIDDEN:\n case constants_1.NodePrivacyLevel.IGNORE:\n return true;\n case constants_1.NodePrivacyLevel.MASK_USER_INPUT:\n return isTextNode(node) ? isFormElement(node.parentNode) : isFormElement(node);\n default:\n return false;\n }\n}\nexports.shouldMaskNode = shouldMaskNode;\nfunction isElement(node) {\n return node.nodeType === node.ELEMENT_NODE;\n}\nfunction isTextNode(node) {\n return node.nodeType === node.TEXT_NODE;\n}\nfunction isFormElement(node) {\n if (!node || node.nodeType !== node.ELEMENT_NODE) {\n return false;\n }\n var element = node;\n if (element.tagName === 'INPUT') {\n switch (element.type) {\n case 'button':\n case 'color':\n case 'reset':\n case 'submit':\n return false;\n }\n }\n return !!constants_1.FORM_PRIVATE_TAG_NAMES[element.tagName];\n}\n/**\n * Text censoring non-destructively maintains whitespace characters in order to preserve text shape\n * during replay.\n */\nvar censorText = function (text) { return text.replace(/\\S/g, TEXT_MASKING_CHAR); };\nexports.censorText = censorText;\nfunction getTextContent(textNode, ignoreWhiteSpace, parentNodePrivacyLevel) {\n var _a;\n // The parent node may not be a html element which has a tagName attribute.\n // So just let it be undefined which is ok in this use case.\n var parentTagName = (_a = textNode.parentElement) === null || _a === void 0 ? void 0 : _a.tagName;\n var textContent = textNode.textContent || '';\n if (ignoreWhiteSpace && !textContent.trim()) {\n return;\n }\n var nodePrivacyLevel = parentNodePrivacyLevel;\n var isStyle = parentTagName === 'STYLE' ? true : undefined;\n var isScript = parentTagName === 'SCRIPT';\n if (isScript) {\n // For perf reasons, we don't record script (heuristic)\n textContent = constants_1.CENSORED_STRING_MARK;\n }\n else if (nodePrivacyLevel === constants_1.NodePrivacyLevel.HIDDEN) {\n // Should never occur, but just in case, we set to CENSORED_MARK.\n textContent = constants_1.CENSORED_STRING_MARK;\n }\n else if (shouldMaskNode(textNode, nodePrivacyLevel) &&\n // Style tags are `overruled` (Use `hide` to enforce privacy)\n !isStyle) {\n if (\n // Scrambling the child list breaks text nodes for DATALIST/SELECT/OPTGROUP\n parentTagName === 'DATALIST' ||\n parentTagName === 'SELECT' ||\n parentTagName === 'OPTGROUP') {\n if (!textContent.trim()) {\n return;\n }\n }\n else if (parentTagName === 'OPTION') {\n //