diff --git a/agenda-services/pom.xml b/agenda-services/pom.xml index 9052224b2..ab57c3756 100644 --- a/agenda-services/pom.xml +++ b/agenda-services/pom.xml @@ -68,6 +68,11 @@ test-jar test + + io.meeds.pwa + pwa-service + provided + agenda-services diff --git a/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/AgendaCancelledNotificationPwaPlugin.java b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/AgendaCancelledNotificationPwaPlugin.java new file mode 100644 index 000000000..2e97cc51b --- /dev/null +++ b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/AgendaCancelledNotificationPwaPlugin.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2024 eXo Platform SAS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package org.exoplatform.agenda.notification.pwa; + +import org.exoplatform.container.xml.InitParams; +import org.exoplatform.services.resources.ResourceBundleService; +import org.exoplatform.social.core.space.spi.SpaceService; + +public class AgendaCancelledNotificationPwaPlugin extends AgendaNotificationPwaPlugin { + public AgendaCancelledNotificationPwaPlugin(InitParams initParams, + ResourceBundleService resourceBundleService, SpaceService spaceService) { + super(initParams, resourceBundleService, spaceService); + } + + +} diff --git a/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/AgendaCreatedNotificationPwaPlugin.java b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/AgendaCreatedNotificationPwaPlugin.java new file mode 100644 index 000000000..a0af74dd9 --- /dev/null +++ b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/AgendaCreatedNotificationPwaPlugin.java @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2024 eXo Platform SAS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package org.exoplatform.agenda.notification.pwa; + +import org.exoplatform.container.xml.InitParams; +import org.exoplatform.services.resources.ResourceBundleService; +import org.exoplatform.social.core.space.spi.SpaceService; + +public class AgendaCreatedNotificationPwaPlugin extends AgendaNotificationPwaPlugin { + public AgendaCreatedNotificationPwaPlugin(InitParams initParams, + ResourceBundleService resourceBundleService, SpaceService spaceService) { + super(initParams, resourceBundleService, spaceService); + } + + +} diff --git a/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/AgendaNotificationPwaPlugin.java b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/AgendaNotificationPwaPlugin.java new file mode 100644 index 000000000..1fd7f1c50 --- /dev/null +++ b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/AgendaNotificationPwaPlugin.java @@ -0,0 +1,117 @@ +/* + * Copyright (C) 2024 eXo Platform SAS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package org.exoplatform.agenda.notification.pwa; + +import io.meeds.pwa.model.PwaNotificationMessage; +import io.meeds.pwa.plugin.PwaNotificationPlugin; +import org.apache.commons.lang3.StringUtils; +import org.exoplatform.commons.api.notification.model.NotificationInfo; +import org.exoplatform.commons.utils.CommonsUtils; +import org.exoplatform.container.xml.InitParams; +import org.exoplatform.container.xml.ValueParam; +import org.exoplatform.services.log.ExoLogger; +import org.exoplatform.services.log.Log; +import org.exoplatform.services.resources.LocaleConfig; +import org.exoplatform.services.resources.ResourceBundleService; +import org.exoplatform.social.core.space.spi.SpaceService; + +import static org.exoplatform.agenda.util.NotificationUtils.STORED_EVENT_MODIFICATION_TYPE; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_STATUS; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_TITLE; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_URL; + + +public class AgendaNotificationPwaPlugin implements PwaNotificationPlugin { + private static final String AGENDA_NOTIFICATION_PLUGIN_NAME = "agenda.notification.plugin.key"; + private static final String TITLE_LABEL_KEY = "pwa.notification.AgendaNotificationPwaPlugin.title"; + + private static final Log LOG = ExoLogger.getLogger(AgendaNotificationPwaPlugin.class); + + private String notificationId; + + private ResourceBundleService resourceBundleService; + + public AgendaNotificationPwaPlugin(InitParams initParams, + ResourceBundleService resourceBundleService, SpaceService spaceService) { + this.resourceBundleService = resourceBundleService; + ValueParam notificationIdParam = initParams.getValueParam(AGENDA_NOTIFICATION_PLUGIN_NAME); + if (notificationIdParam == null || StringUtils.isBlank(notificationIdParam.getValue())) { + throw new IllegalStateException("'agenda.notification.plugin.key' parameter is mandatory"); + } + this.notificationId = notificationIdParam.getValue(); + } + + @Override + public String getId() { + return this.notificationId; + } + + @Override + public PwaNotificationMessage process(NotificationInfo notification, LocaleConfig localeConfig) { + PwaNotificationMessage notificationMessage = new PwaNotificationMessage(); + + String key = TITLE_LABEL_KEY; + String type = notification.getValueOwnerParameter(STORED_EVENT_MODIFICATION_TYPE); + String eventStatus = notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_STATUS); + switch (type) { + case "ADDED": + key += ".created"; + break; + case "DATES_UPDATED": + if (eventStatus.equals("CONFIRMED")) { + key += ".dates.updated"; + } else if (eventStatus.equals("TENTATIVE")){ + key += ".datePoll.dates.updated"; + } else { + key += ".canceled"; + } + break; + case "UPDATED": + if (eventStatus.equals("TENTATIVE")) { + key += ".datePoll.updated"; + } else { + key += ".updated"; + } + break; + case "SWITCHED_EVENT_TO_DATE_POLL": + key += ".switchedToDatePoll"; + break; + case "SWITCHED_DATE_POLL_TO_EVENT": + key += ".switchedToEvent"; + break; + case "DELETED": + if (eventStatus.equals("TENTATIVE")) { + key += ".datePoll.updated"; + } else { + key += ".canceled"; + } + break; + default: + key += ".canceled"; + break; + } + String title = resourceBundleService.getSharedString(key, localeConfig.getLocale()) + .replace("{0}",notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_TITLE)); + + notificationMessage.setTitle(title); + notificationMessage.setBody(notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_TITLE)); + + String url = notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_URL).replace(CommonsUtils.getCurrentDomain(), ""); + notificationMessage.setUrl(url); + return notificationMessage; + } +} diff --git a/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/AgendaUpdatedNotificationPwaPlugin.java b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/AgendaUpdatedNotificationPwaPlugin.java new file mode 100644 index 000000000..719dce2ca --- /dev/null +++ b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/AgendaUpdatedNotificationPwaPlugin.java @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2024 eXo Platform SAS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package org.exoplatform.agenda.notification.pwa; + +import org.exoplatform.container.xml.InitParams; +import org.exoplatform.services.resources.ResourceBundleService; +import org.exoplatform.social.core.space.spi.SpaceService; + +public class AgendaUpdatedNotificationPwaPlugin extends AgendaNotificationPwaPlugin { + public AgendaUpdatedNotificationPwaPlugin(InitParams initParams, + ResourceBundleService resourceBundleService, SpaceService spaceService) { + super(initParams, resourceBundleService, spaceService); + } + + +} diff --git a/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/DatePollNotificationPwaPlugin.java b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/DatePollNotificationPwaPlugin.java new file mode 100644 index 000000000..05d325d44 --- /dev/null +++ b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/DatePollNotificationPwaPlugin.java @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2024 eXo Platform SAS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package org.exoplatform.agenda.notification.pwa; + +import io.meeds.pwa.model.PwaNotificationMessage; +import io.meeds.pwa.plugin.PwaNotificationPlugin; +import org.exoplatform.commons.api.notification.model.NotificationInfo; +import org.exoplatform.commons.utils.CommonsUtils; +import org.exoplatform.services.log.ExoLogger; +import org.exoplatform.services.log.Log; +import org.exoplatform.services.resources.LocaleConfig; +import org.exoplatform.services.resources.ResourceBundleService; + +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_CREATOR; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_TITLE; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_URL; + +public class DatePollNotificationPwaPlugin implements PwaNotificationPlugin { + private static final Log LOG = ExoLogger.getLogger(DatePollNotificationPwaPlugin.class); + + private static final String TITLE_LABEL_KEY = "pwa.notification.DatePollNotificationPwaPlugin.title"; + + private String notificationId = "DatePollNotificationPlugin"; + + private ResourceBundleService resourceBundleService; + + + public DatePollNotificationPwaPlugin(ResourceBundleService resourceBundleService) { + this.resourceBundleService = resourceBundleService; + } + + @Override + public String getId() { + return this.notificationId; + } + + + @Override + public PwaNotificationMessage process(NotificationInfo notification, LocaleConfig localeConfig) { + PwaNotificationMessage notificationMessage = new PwaNotificationMessage(); + + String key = TITLE_LABEL_KEY; + String creatorName = notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_CREATOR); + + String title = resourceBundleService.getSharedString(key, localeConfig.getLocale()) + .replace("{0}",creatorName); + + notificationMessage.setTitle(title); + notificationMessage.setBody(notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_TITLE)); + + String url = notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_URL).replace(CommonsUtils.getCurrentDomain(), ""); + notificationMessage.setUrl(url); + return notificationMessage; + } +} diff --git a/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/EventReminderNotificationPwaPlugin.java b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/EventReminderNotificationPwaPlugin.java new file mode 100644 index 000000000..73d82e729 --- /dev/null +++ b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/EventReminderNotificationPwaPlugin.java @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2024 eXo Platform SAS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package org.exoplatform.agenda.notification.pwa; + +import io.meeds.pwa.model.PwaNotificationMessage; +import io.meeds.pwa.plugin.PwaNotificationPlugin; +import org.apache.commons.lang3.StringUtils; +import org.exoplatform.agenda.model.Calendar; +import org.exoplatform.agenda.model.Event; +import org.exoplatform.agenda.model.EventReminder; +import org.exoplatform.agenda.service.AgendaCalendarService; +import org.exoplatform.agenda.service.AgendaEventService; +import org.exoplatform.commons.api.notification.NotificationContext; +import org.exoplatform.commons.api.notification.model.NotificationInfo; +import org.exoplatform.commons.utils.CommonsUtils; +import org.exoplatform.container.xml.InitParams; +import org.exoplatform.container.xml.ValueParam; +import org.exoplatform.services.log.ExoLogger; +import org.exoplatform.services.log.Log; +import org.exoplatform.services.resources.LocaleConfig; +import org.exoplatform.services.resources.ResourceBundleService; +import org.exoplatform.social.core.space.spi.SpaceService; + +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_OWNER_ID; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_TITLE; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_URL; + +public class EventReminderNotificationPwaPlugin implements PwaNotificationPlugin { + private static final Log LOG = ExoLogger.getLogger(EventReminderNotificationPwaPlugin.class); + + private String notificationId = "EventReminderNotificationPlugin"; + private static final String TITLE_LABEL_KEY = "pwa.notification.EventReminderNotificationPwaPlugin.title"; + + private ResourceBundleService resourceBundleService; + private SpaceService spaceService; + + public EventReminderNotificationPwaPlugin(ResourceBundleService resourceBundleService, SpaceService spaceService) { + this.spaceService = spaceService; + this.resourceBundleService = resourceBundleService; + } + + @Override + public SpaceService getSpaceService() { + return this.spaceService; + } + + @Override + public String getId() { + return this.notificationId; + } + + @Override + public PwaNotificationMessage process(NotificationInfo notification, LocaleConfig localeConfig) { + PwaNotificationMessage notificationMessage = new PwaNotificationMessage(); + + String key = TITLE_LABEL_KEY; + String spaceId = notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_OWNER_ID); + String title = resourceBundleService.getSharedString(key, localeConfig.getLocale()) + .replace("{0}",getSpaceName(spaceId)); + + notificationMessage.setTitle(title); + notificationMessage.setBody(notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_TITLE)); + + String url = notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_URL).replace(CommonsUtils.getCurrentDomain(), ""); + notificationMessage.setUrl(url); + return notificationMessage; + } + +} diff --git a/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/EventReplyNotificationPwaPlugin.java b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/EventReplyNotificationPwaPlugin.java new file mode 100644 index 000000000..13aedf616 --- /dev/null +++ b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/EventReplyNotificationPwaPlugin.java @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2024 eXo Platform SAS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package org.exoplatform.agenda.notification.pwa; + +import io.meeds.pwa.model.PwaNotificationMessage; +import io.meeds.pwa.plugin.PwaNotificationPlugin; +import org.exoplatform.commons.api.notification.model.NotificationInfo; +import org.exoplatform.commons.utils.CommonsUtils; +import org.exoplatform.services.log.ExoLogger; +import org.exoplatform.services.log.Log; +import org.exoplatform.services.resources.LocaleConfig; +import org.exoplatform.services.resources.ResourceBundleService; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_IS_CREATOR; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_PARTICIPANT_NAME; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_RESPONSE; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_TITLE; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_URL; + +public class EventReplyNotificationPwaPlugin implements PwaNotificationPlugin { + private static final Log LOG = ExoLogger.getLogger(EventReplyNotificationPwaPlugin.class); + + + private String notificationId = "EventReplyNotificationPlugin"; + private static final String TITLE_LABEL_KEY = "pwa.notification.EventReplyNotificationPwaPlugin.title"; + private ResourceBundleService resourceBundleService; + + public EventReplyNotificationPwaPlugin(ResourceBundleService resourceBundleService) { + this.resourceBundleService = resourceBundleService; + } + + @Override + public String getId() { + return this.notificationId; + } + + @Override + public PwaNotificationMessage process(NotificationInfo notification, LocaleConfig localeConfig) { + PwaNotificationMessage notificationMessage = new PwaNotificationMessage(); + + String key = TITLE_LABEL_KEY; + + if ("true".equals(notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_IS_CREATOR))) { + key += ".creator"; + } else { + key += ".participant"; + } + key += ".response"; + + String status = notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_RESPONSE); + switch (status) { + case "ACCEPTED": + key += ".accepted"; + break; + case "DECLINED": + key += ".declined"; + break; + default: + key+= ".mayBe"; + } + + String title = resourceBundleService.getSharedString(key, localeConfig.getLocale()) + .replace("{0}",notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_PARTICIPANT_NAME)); + + notificationMessage.setTitle(title); + notificationMessage.setBody(notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_TITLE)); + + String url = notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_URL).replace(CommonsUtils.getCurrentDomain(), ""); + notificationMessage.setUrl(url); + return notificationMessage; + } +} diff --git a/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/EventVoteNotificationPwaPlugin.java b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/EventVoteNotificationPwaPlugin.java new file mode 100644 index 000000000..578f03747 --- /dev/null +++ b/agenda-services/src/main/java/org/exoplatform/agenda/notification/pwa/EventVoteNotificationPwaPlugin.java @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2024 eXo Platform SAS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package org.exoplatform.agenda.notification.pwa; + +import io.meeds.pwa.model.PwaNotificationMessage; +import io.meeds.pwa.plugin.PwaNotificationPlugin; +import org.apache.commons.lang3.StringUtils; +import org.exoplatform.agenda.constant.EventAttendeeResponse; +import org.exoplatform.agenda.model.Calendar; +import org.exoplatform.agenda.model.Event; +import org.exoplatform.agenda.service.AgendaCalendarService; +import org.exoplatform.agenda.service.AgendaEventAttendeeService; +import org.exoplatform.commons.api.notification.NotificationContext; +import org.exoplatform.commons.api.notification.model.NotificationInfo; +import org.exoplatform.commons.api.notification.plugin.BaseNotificationPlugin; +import org.exoplatform.commons.utils.CommonsUtils; +import org.exoplatform.container.xml.InitParams; +import org.exoplatform.container.xml.ValueParam; +import org.exoplatform.services.log.ExoLogger; +import org.exoplatform.services.log.Log; +import org.exoplatform.services.resources.LocaleConfig; +import org.exoplatform.services.resources.ResourceBundleService; +import org.exoplatform.social.core.manager.IdentityManager; +import org.exoplatform.social.core.space.spi.SpaceService; + +import static org.exoplatform.agenda.util.NotificationUtils.EVENT_AGENDA; +import static org.exoplatform.agenda.util.NotificationUtils.EVENT_PARTICIPANT_ID; +import static org.exoplatform.agenda.util.NotificationUtils.EVENT_RESPONSE; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_IS_CREATOR; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_OWNER_ID; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_PARTICIPANT_NAME; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_RESPONSE; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_TITLE; +import static org.exoplatform.agenda.util.NotificationUtils.STORED_PARAMETER_EVENT_URL; +import static org.exoplatform.agenda.util.NotificationUtils.getEventId; +import static org.exoplatform.agenda.util.NotificationUtils.setEventReminderNotificationRecipients; +import static org.exoplatform.agenda.util.NotificationUtils.storeEventParameters; + +public class EventVoteNotificationPwaPlugin implements PwaNotificationPlugin { + private static final Log LOG = ExoLogger.getLogger(EventVoteNotificationPwaPlugin.class); + + private String notificationId = "VoteNotificationPlugin"; + private static final String TITLE_LABEL_KEY = "pwa.notification.EventVoteNotificationPwaPlugin.title"; + private ResourceBundleService resourceBundleService; + + public EventVoteNotificationPwaPlugin(ResourceBundleService resourceBundleService) { + this.resourceBundleService = resourceBundleService; + } + + @Override + public String getId() { + return this.notificationId; + } + + @Override + public PwaNotificationMessage process(NotificationInfo notification, LocaleConfig localeConfig) { + PwaNotificationMessage notificationMessage = new PwaNotificationMessage(); + String title = resourceBundleService.getSharedString(TITLE_LABEL_KEY, localeConfig.getLocale()) + .replace("{0}",notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_PARTICIPANT_NAME)); + + notificationMessage.setTitle(title); + notificationMessage.setBody(notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_TITLE)); + + String url = notification.getValueOwnerParameter(STORED_PARAMETER_EVENT_URL).replace(CommonsUtils.getCurrentDomain(), ""); + notificationMessage.setUrl(url); + return notificationMessage; + } +} diff --git a/agenda-services/src/main/java/org/exoplatform/agenda/service/AgendaCalendarServiceImpl.java b/agenda-services/src/main/java/org/exoplatform/agenda/service/AgendaCalendarServiceImpl.java index efea9db30..9ce5c02df 100644 --- a/agenda-services/src/main/java/org/exoplatform/agenda/service/AgendaCalendarServiceImpl.java +++ b/agenda-services/src/main/java/org/exoplatform/agenda/service/AgendaCalendarServiceImpl.java @@ -61,7 +61,7 @@ public List getCalendars(int offset, int limit, String username) throw if (username == null) { throw new IllegalArgumentException("Username is mandatory"); } - Identity identity = identityManager.getOrCreateIdentity(OrganizationIdentityProvider.NAME, username); + Identity identity = identityManager.getOrCreateUserIdentity(username); if (identity == null) { throw new IllegalStateException("User with name " + username + " is not found"); } @@ -89,7 +89,7 @@ public List getCalendarsByOwnerIds(List ownerIds, String usernam if (username == null) { throw new IllegalArgumentException("Username is mandatory"); } - Identity identity = identityManager.getOrCreateIdentity(OrganizationIdentityProvider.NAME, username); + Identity identity = identityManager.getOrCreateUserIdentity(username); if (identity == null) { throw new IllegalStateException("User with name " + username + " is not found"); } @@ -115,7 +115,7 @@ public int countCalendars(String username) throws Exception { if (username == null) { throw new IllegalArgumentException("Username is mandatory"); } - Identity identity = identityManager.getOrCreateIdentity(OrganizationIdentityProvider.NAME, username); + Identity identity = identityManager.getOrCreateUserIdentity(username); if (identity == null) { throw new IllegalStateException("User with name " + username + " is not found"); } @@ -137,7 +137,7 @@ public Calendar getCalendarById(long calendarId, String username) throws Illegal if (username == null) { throw new IllegalArgumentException("Username is mandatory"); } - Identity userIdentity = identityManager.getOrCreateIdentity(OrganizationIdentityProvider.NAME, username); + Identity userIdentity = identityManager.getOrCreateUserIdentity(username); if (userIdentity == null) { throw new IllegalStateException("User with name " + username + " is not found"); } @@ -151,11 +151,25 @@ public Calendar getCalendarById(long calendarId, String username) throws Illegal calendar.setDeleted(true); calendar.setAcl(new CalendarPermission()); } else { - boolean canEditCalendar = Utils.checkAclByCalendarOwner(identityManager, spaceService, ownerId, username, true); - boolean canCreateEvent = Utils.canCreateEvent(identityManager, spaceService, ownerId, Long.parseLong(userIdentity.getId())); - boolean hasRedactor = Utils.canInviteeEdit(identityManager, spaceService, ownerId); - calendar.setAcl(new CalendarPermission(canCreateEvent, canEditCalendar, hasRedactor)); - fillCalendarTitleByOwnerName(calendar); + long userIdentityId = Long.parseLong(userIdentity.getId()); + if (!Utils.canAccessCalendar(identityManager, spaceService, ownerId, userIdentityId)) { + throw new IllegalAccessException("User " + username + " is not allowed to retrieve calendar data of space " + + calendar.getTitle()); + } else { + boolean canEditCalendar = Utils.canEditCalendar(identityManager, + spaceService, + ownerId, + Long.parseLong(userIdentity.getId())); + boolean canCreateEvent = Utils.canCreateEvent(identityManager, + spaceService, + ownerId, + Long.parseLong(userIdentity.getId())); + boolean hasRedactor = Utils.canInviteeEdit(identityManager, + spaceService, + ownerId); + calendar.setAcl(new CalendarPermission(canCreateEvent, canEditCalendar, hasRedactor)); + fillCalendarTitleByOwnerName(calendar); + } } return calendar; } @@ -247,13 +261,13 @@ public Calendar createCalendar(Calendar calendar, String username) throws Illega if (ownerId <= 0) { // Automatically set owner of calendar, the currently authenticated user // if no owner has been specified - Identity userIdentity = identityManager.getOrCreateIdentity(OrganizationIdentityProvider.NAME, username); + Identity userIdentity = identityManager.getOrCreateUserIdentity(username); if (userIdentity == null) { throw new IllegalStateException("User with name " + username + " is not found"); } calendar.setOwnerId(Long.parseLong(userIdentity.getId())); } else { - Utils.checkAclByCalendarOwner(identityManager, spaceService, calendar.getOwnerId(), username, false); + Utils.checkAclByCalendarOwner(identityManager, spaceService, calendar.getOwnerId(), username); } // User had created the calendar manually @@ -309,7 +323,7 @@ public void updateCalendar(Calendar calendar, String username) throws IllegalAcc // Refill readonly fields from Database to avoid letting users modifying // data using UI or REST calls refillReadOnlyFields(calendar); - Utils.checkAclByCalendarOwner(identityManager, spaceService, calendar.getOwnerId(), username, false); + Utils.checkAclByCalendarOwner(identityManager, spaceService, calendar.getOwnerId(), username); agendaCalendarStorage.updateCalendar(calendar); } @@ -346,7 +360,7 @@ public void deleteCalendarById(long calendarId, String username) throws IllegalA if (calendar.isSystem()) { throw new IllegalStateException("Calendar with id " + calendarId + " is a system calendar, thus it couldn't be deleted"); } - Utils.checkAclByCalendarOwner(identityManager, spaceService, calendar.getOwnerId(), username, false); + Utils.checkAclByCalendarOwner(identityManager, spaceService, calendar.getOwnerId(), username); deleteCalendarById(calendarId); } diff --git a/agenda-services/src/main/java/org/exoplatform/agenda/util/NotificationUtils.java b/agenda-services/src/main/java/org/exoplatform/agenda/util/NotificationUtils.java index fa7710d9f..7611d006a 100644 --- a/agenda-services/src/main/java/org/exoplatform/agenda/util/NotificationUtils.java +++ b/agenda-services/src/main/java/org/exoplatform/agenda/util/NotificationUtils.java @@ -179,7 +179,7 @@ public class NotificationUtils { public static final String STORED_PARAMETER_EVENT_STATUS = "eventStatus"; - private static final String STORED_PARAMETER_EVENT_IS_CREATOR = "isCreator"; + public static final String STORED_PARAMETER_EVENT_IS_CREATOR = "isCreator"; private static final String TEMPLATE_VARIABLE_EVENT_START_DATE = "startDate"; diff --git a/agenda-services/src/main/java/org/exoplatform/agenda/util/Utils.java b/agenda-services/src/main/java/org/exoplatform/agenda/util/Utils.java index 61138395f..d1101447a 100644 --- a/agenda-services/src/main/java/org/exoplatform/agenda/util/Utils.java +++ b/agenda-services/src/main/java/org/exoplatform/agenda/util/Utils.java @@ -22,7 +22,6 @@ import java.util.stream.Collectors; import net.fortuna.ical4j.model.Month; -import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.exoplatform.agenda.constant.AgendaEventModificationType; @@ -288,45 +287,29 @@ public static Recur getICalendarRecur(EventRecurrence recurrence, ZoneId zoneId) * @param spaceService {@link SpaceService} service instance * @param ownerId calendar owner {@link Identity} technical identifier * @param username name of user accessing calendar data - * @param readonly whether the access is to read or to write - * @return true if user can modify calendar, else return false * @throws IllegalAccessException when the user ACL fails */ - public static boolean checkAclByCalendarOwner(IdentityManager identityManager, - SpaceService spaceService, - long ownerId, - String username, - boolean readonly) throws IllegalAccessException { + public static void checkAclByCalendarOwner(IdentityManager identityManager, + SpaceService spaceService, + long ownerId, + String username) throws IllegalAccessException { Identity requestedOwner = identityManager.getIdentity(String.valueOf(ownerId)); if (requestedOwner == null) { throw new IllegalStateException("Calendar owner with id " + ownerId + " wasn't found"); - } - - if (StringUtils.equals(OrganizationIdentityProvider.NAME, requestedOwner.getProviderId())) { + } else if (requestedOwner.isUser()) { if (!StringUtils.equals(requestedOwner.getRemoteId(), username)) { - throw new IllegalAccessException("User " + username + " is not allowed to retrieve calendar data of user " - + requestedOwner.getRemoteId()); + throw new IllegalAccessException("User " + username + " is not allowed to retrieve calendar data of user " + + requestedOwner.getRemoteId()); } - return true; - } else if (StringUtils.equals(SpaceIdentityProvider.NAME, requestedOwner.getProviderId())) { - if (spaceService.isSuperManager(username)) { - return true; - } else { - Space space = spaceService.getSpaceByPrettyName(requestedOwner.getRemoteId()); - if (!spaceService.isMember(space, username)) { - throw new IllegalAccessException("User " + username + " is not allowed to retrieve calendar data of space " - + requestedOwner.getRemoteId()); - } - boolean isManager = spaceService.isManager(space, username); - if (!readonly && !isManager) { - throw new IllegalAccessException("User " + username + " is not allowed to write calendar data of space " - + space.getDisplayName()); - } - return isManager; + } else if (requestedOwner.isSpace()) { + Space space = spaceService.getSpaceByPrettyName(requestedOwner.getRemoteId()); + if (!spaceService.canManageSpace(space, username)) { + throw new IllegalAccessException("User " + username + " is not allowed to write calendar data of space " + + space.getDisplayName()); } } else { - throw new IllegalStateException("Identity with provider type '" + requestedOwner.getProviderId() - + "' is not managed in calendar owner field"); + throw new IllegalStateException("Identity with provider type '" + requestedOwner.getProviderId() + + "' is not managed in calendar owner field"); } } @@ -349,23 +332,11 @@ public static boolean canCreateEvent(IdentityManager identityManager, Identity userIdentity = identityManager.getIdentity(String.valueOf(userIdentityId)); if (userIdentity == null) { throw new IllegalStateException("User with id " + userIdentity + " wasn't found"); - } - - if (StringUtils.equals(OrganizationIdentityProvider.NAME, requestedOwner.getProviderId())) { + } else if (requestedOwner.isUser()) { return userIdentityId == Long.parseLong(requestedOwner.getId()); - } else if (StringUtils.equals(SpaceIdentityProvider.NAME, requestedOwner.getProviderId())) { - boolean superManager = spaceService.isSuperManager(userIdentity.getRemoteId()); + } else if (requestedOwner.isSpace()) { Space space = spaceService.getSpaceByPrettyName(requestedOwner.getRemoteId()); - if (spaceService.isSuperManager(userIdentity.getRemoteId())) { - return true; - } else if (space == null) { - return false; - } - boolean isManager = space != null && spaceService.isManager(space, userIdentity.getRemoteId()); - boolean isMember = space != null && spaceService.isMember(space, userIdentity.getRemoteId()); - boolean isRedactor = space != null && spaceService.isRedactor(space, userIdentity.getRemoteId()); - boolean spaceHasARedactor = space != null && space.getRedactors() != null && space.getRedactors().length > 0; - return isMember && (!spaceHasARedactor || isRedactor || isManager); + return spaceService.canRedactOnSpace(space, userIdentity.getRemoteId()); } else { return false; } @@ -386,9 +357,9 @@ public static boolean canInviteeEdit(IdentityManager identityManager, return false; } - if (StringUtils.equals(OrganizationIdentityProvider.NAME, requestedOwner.getProviderId())) { + if (requestedOwner.isUser()) { return false; - } else if (StringUtils.equals(SpaceIdentityProvider.NAME, requestedOwner.getProviderId())) { + } else if (requestedOwner.isSpace()) { Space space = spaceService.getSpaceByPrettyName(requestedOwner.getRemoteId()); return space != null && (space.getRedactors() == null || space.getRedactors().length == 0); } else { @@ -417,15 +388,11 @@ public static boolean canEditCalendar(IdentityManager identityManager, throw new IllegalStateException("User with id " + userIdentity + " wasn't found"); } - if (StringUtils.equals(OrganizationIdentityProvider.NAME, requestedOwner.getProviderId())) { + if (requestedOwner.isUser()) { return userIdentityId == Long.parseLong(requestedOwner.getId()); - } else if (StringUtils.equals(SpaceIdentityProvider.NAME, requestedOwner.getProviderId())) { - boolean superManager = spaceService.isSuperManager(userIdentity.getRemoteId()); + } else if (requestedOwner.isSpace()) { Space space = spaceService.getSpaceByPrettyName(requestedOwner.getRemoteId()); - boolean isManager = space != null && spaceService.isManager(space, userIdentity.getRemoteId()); - boolean isRedactor = space != null && spaceService.isRedactor(space, userIdentity.getRemoteId()); - boolean spaceHasARedactor = space != null && space.getRedactors() != null && space.getRedactors().length > 0; - return (spaceHasARedactor && isRedactor) || superManager || isManager; + return spaceService.canManageSpace(space, userIdentity.getRemoteId()); } else { return false; } @@ -451,17 +418,11 @@ public static boolean canAccessCalendar(IdentityManager identityManager, Identity userIdentity = identityManager.getIdentity(String.valueOf(userIdentityId)); if (userIdentity == null) { throw new IllegalStateException("User with id " + userIdentity + " wasn't found"); - } - - if (StringUtils.equals(OrganizationIdentityProvider.NAME, requestedOwner.getProviderId())) { + } else if (requestedOwner.isUser()) { return userIdentityId == Long.parseLong(requestedOwner.getId()); - } else if (StringUtils.equals(SpaceIdentityProvider.NAME, requestedOwner.getProviderId())) { - if (spaceService.isSuperManager(userIdentity.getRemoteId())) { - return true; - } else { - Space space = spaceService.getSpaceByPrettyName(requestedOwner.getRemoteId()); - return space != null && spaceService.isMember(space, userIdentity.getRemoteId()); - } + } else if (requestedOwner.isSpace()) { + Space space = spaceService.getSpaceByPrettyName(requestedOwner.getRemoteId()); + return spaceService.canViewSpace(space, userIdentity.getRemoteId()); } else { return false; } @@ -511,25 +472,22 @@ public static boolean isEventAttendee(IdentityManager identityManager, Identity userIdentity = identityManager.getIdentity(String.valueOf(identityId)); if (userIdentity == null) { return false; + } else { + return eventAttendees != null + && eventAttendees.stream() + .anyMatch(eventAttendee -> { + if (identityId == eventAttendee.getIdentityId()) { + return true; + } else if (userIdentity.isUser()) { + Identity identity = identityManager.getIdentity(String.valueOf(eventAttendee.getIdentityId())); + if (identity.isSpace()) { + Space space = spaceService.getSpaceByPrettyName(identity.getRemoteId()); + return spaceService.canViewSpace(space, userIdentity.getRemoteId()); + } + } + return false; + }); } - - return eventAttendees != null - && eventAttendees.stream().anyMatch(eventAttendee -> { - if (identityId == eventAttendee.getIdentityId()) { - return true; - } else if (StringUtils.equals(userIdentity.getProviderId(), OrganizationIdentityProvider.NAME)) { - Identity identity = identityManager.getIdentity(String.valueOf(eventAttendee.getIdentityId())); - if (StringUtils.equals(identity.getProviderId(), SpaceIdentityProvider.NAME)) { - if (spaceService.isSuperManager(userIdentity.getRemoteId())) { - return true; - } else { - Space space = spaceService.getSpaceByPrettyName(identity.getRemoteId()); - return spaceService.isMember(space, userIdentity.getRemoteId()); - } - } - } - return false; - }); } public static net.fortuna.ical4j.model.TimeZone getICalTimeZone(ZoneId zoneId) { @@ -605,7 +563,7 @@ public static void detectEventModifiedFields(Event newEvent, Event oldEvent, Age if (!newEvent.getTimeZoneId().equals(oldEvent.getTimeZoneId())) { eventModification.addModificationType(AgendaEventModificationType.TIMEZONE_UPDATED); } - if (!ObjectUtils.equals(newEvent.getRecurrence(), oldEvent.getRecurrence())) { + if (!Objects.equals(newEvent.getRecurrence(), oldEvent.getRecurrence())) { eventModification.addModificationType(AgendaEventModificationType.RECURRENCE_UPDATED); } } diff --git a/agenda-services/src/main/resources/conf/portal/configuration.xml b/agenda-services/src/main/resources/conf/portal/configuration.xml index 38d903cd5..d82428a8f 100644 --- a/agenda-services/src/main/resources/conf/portal/configuration.xml +++ b/agenda-services/src/main/resources/conf/portal/configuration.xml @@ -45,6 +45,49 @@ org.exoplatform.agenda.storage.AgendaEventDatePollStorage + + org.exoplatform.agenda.notification.pwa.AgendaCreatedNotificationPwaPlugin + + + agenda.notification.plugin.key + EventAddedNotificationPlugin + + + + + org.exoplatform.agenda.notification.pwa.AgendaUpdatedNotificationPwaPlugin + + + agenda.notification.plugin.key + EventModifiedNotificationPlugin + + + + + org.exoplatform.agenda.notification.pwa.AgendaCancelledNotificationPwaPlugin + + + agenda.notification.plugin.key + EventCancelledNotificationPlugin + + + + + + org.exoplatform.agenda.notification.pwa.DatePollNotificationPwaPlugin + + + + org.exoplatform.agenda.notification.pwa.EventReminderNotificationPwaPlugin + + + + org.exoplatform.agenda.notification.pwa.EventReplyNotificationPwaPlugin + + + + org.exoplatform.agenda.notification.pwa.EventVoteNotificationPwaPlugin + org.exoplatform.agenda.service.AgendaCalendarService org.exoplatform.agenda.service.AgendaCalendarServiceImpl diff --git a/agenda-services/src/test/java/org/exoplatform/agenda/service/AgendaCalendarServiceTest.java b/agenda-services/src/test/java/org/exoplatform/agenda/service/AgendaCalendarServiceTest.java index 3dd52fb6a..cfa322ac3 100644 --- a/agenda-services/src/test/java/org/exoplatform/agenda/service/AgendaCalendarServiceTest.java +++ b/agenda-services/src/test/java/org/exoplatform/agenda/service/AgendaCalendarServiceTest.java @@ -89,8 +89,7 @@ public void testGetCalendarById() { null); when(agendaCalendarStorage.getCalendarById(eq(calendarId))).thenReturn(calendar); when(identityManager.getIdentity(eq(String.valueOf(calendarOwnerId)))).thenReturn(calendarOwnerIdentity); - when(identityManager.getOrCreateIdentity(eq(OrganizationIdentityProvider.NAME), - eq(username))).thenReturn(calendarOwnerIdentity); + when(identityManager.getOrCreateUserIdentity(eq(username))).thenReturn(calendarOwnerIdentity); // 0. Arguments validation tests try { @@ -187,8 +186,7 @@ public void testGetCalendarByIdAndUsername() throws Exception { // NOSONAR null); when(agendaCalendarStorage.getCalendarById(eq(calendarId))).thenReturn(calendar); when(identityManager.getIdentity(eq(String.valueOf(calendarOwnerId)))).thenReturn(calendarOwnerIdentity); - when(identityManager.getOrCreateIdentity(eq(OrganizationIdentityProvider.NAME), - eq(username))).thenReturn(calendarOwnerIdentity); + when(identityManager.getOrCreateUserIdentity(eq(username))).thenReturn(calendarOwnerIdentity); // 0. Arguments validation tests try { @@ -233,14 +231,17 @@ public void testGetCalendarByIdAndUsername() throws Exception { // NOSONAR // 4. When a member user is accessing space calendar, no error // should be thrown and the ACL.canEdit should equal to false - calendarOwnerIdentity.setProviderId(SpaceIdentityProvider.NAME); String spacePrettyName = "spacetest"; - calendarOwnerIdentity.setRemoteId(spacePrettyName); + calendarOwnerIdentity = new Identity(SpaceIdentityProvider.NAME, spacePrettyName); + calendarOwnerIdentity.setId(String.valueOf(++calendarOwnerId)); + calendar.setOwnerId(calendarOwnerId); + when(identityManager.getIdentity(calendarOwnerIdentity.getId())).thenReturn(calendarOwnerIdentity); + Space space = new Space(); when(spaceService.getSpaceByPrettyName(eq(spacePrettyName))).thenReturn(space); // 4.1 when user is not member - when(spaceService.isMember(eq(space), eq(username))).thenReturn(false); + when(spaceService.canViewSpace(eq(space), eq(username))).thenReturn(false); try { agendaCalendarService.getCalendarById(calendarId, username); fail("User shouldn't acces calendar of a space where he don't belong"); @@ -249,7 +250,7 @@ public void testGetCalendarByIdAndUsername() throws Exception { // NOSONAR } // 4.2 when user is member only of the space - when(spaceService.isMember(eq(space), eq(username))).thenReturn(true); + when(spaceService.canViewSpace(eq(space), eq(username))).thenReturn(true); retrievedCalendar = agendaCalendarService.getCalendarById(calendarId, username); assertNotNull("User should be able to access his own calendar", retrievedCalendar); @@ -262,23 +263,8 @@ public void testGetCalendarByIdAndUsername() throws Exception { // NOSONAR assertEquals("Retrieved calendar should be the same as the retrieved from storage", calendar, retrievedCalendar); // 4.3 when user is member and manager of the space - when(spaceService.isManager(eq(space), eq(username))).thenReturn(true); - retrievedCalendar = agendaCalendarService.getCalendarById(calendarId, username); - assertNotNull("User should be able to access his own calendar", retrievedCalendar); - - // check ACL - assertNotNull("ACL of calendar should have been computed", retrievedCalendar.getAcl()); - assertTrue("User should be able to modify calendar", retrievedCalendar.getAcl().isCanEdit()); - - // Check retrieved attributes - retrievedCalendar.setAcl(null); - assertEquals("Retrieved calendar should be the same as the retrieved from storage", calendar, retrievedCalendar); - - // 4.4 when user is super spaces manager but not member neither manager of - // the space itself - when(spaceService.isMember(eq(space), eq(username))).thenReturn(false); - when(spaceService.isManager(eq(space), eq(username))).thenReturn(false); - when(spaceService.isSuperManager(eq(username))).thenReturn(true); + when(spaceService.canViewSpace(eq(space), eq(username))).thenReturn(true); + when(spaceService.canManageSpace(eq(space), eq(username))).thenReturn(true); retrievedCalendar = agendaCalendarService.getCalendarById(calendarId, username); assertNotNull("User should be able to access his own calendar", retrievedCalendar); @@ -444,9 +430,8 @@ public Calendar answer(InvocationOnMock invocation) throws Throwable { calendar.setOwnerId(calendarOwnerId); } - when(identityManager.getIdentity(eq(String.valueOf(calendarOwnerId)))).thenReturn(calendarOwnerIdentity); - when(identityManager.getOrCreateIdentity(eq(OrganizationIdentityProvider.NAME), - eq(username))).thenReturn(calendarOwnerIdentity); + when(identityManager.getIdentity(calendarOwnerIdentity.getId())).thenReturn(calendarOwnerIdentity); + when(identityManager.getOrCreateUserIdentity(username)).thenReturn(calendarOwnerIdentity); try { calendarOwnerIdentity.setProviderId("NotManagerProviderByCalendarAPI"); @@ -471,14 +456,17 @@ public Calendar answer(InvocationOnMock invocation) throws Throwable { // 3. Shouldn't be able to create calendar of space if user isn't manager or // super manager - calendarOwnerIdentity.setProviderId(SpaceIdentityProvider.NAME); String spacePrettyName = "spacetest"; - calendarOwnerIdentity.setRemoteId(spacePrettyName); + calendarOwnerIdentity = new Identity(SpaceIdentityProvider.NAME, spacePrettyName); + calendarOwnerIdentity.setId(String.valueOf(++calendarOwnerId)); + calendar.setOwnerId(calendarOwnerId); + when(identityManager.getIdentity(calendarOwnerIdentity.getId())).thenReturn(calendarOwnerIdentity); + Space space = new Space(); when(spaceService.getSpaceByPrettyName(eq(spacePrettyName))).thenReturn(space); // 3.1 when user is not member - when(spaceService.isMember(eq(space), eq(username))).thenReturn(false); + when(spaceService.canViewSpace(eq(space), eq(username))).thenReturn(false); try { agendaCalendarService.createCalendar(calendar, username); fail("User shouldn't be able to create space calendar"); @@ -486,7 +474,7 @@ public Calendar answer(InvocationOnMock invocation) throws Throwable { // Expected } // 3.2 When user is member only - when(spaceService.isMember(eq(space), eq(username))).thenReturn(true); + when(spaceService.canViewSpace(eq(space), eq(username))).thenReturn(true); try { agendaCalendarService.createCalendar(calendar, username); fail("User shouldn't be able to create space calendar even when member"); @@ -494,7 +482,8 @@ public Calendar answer(InvocationOnMock invocation) throws Throwable { // Expected } // 3.3 When user is manager of the space - when(spaceService.isManager(eq(space), eq(username))).thenReturn(true); + when(spaceService.canViewSpace(eq(space), eq(username))).thenReturn(true); + when(spaceService.canManageSpace(eq(space), eq(username))).thenReturn(true); createdCalendar = agendaCalendarService.createCalendar(calendar, username); assertNotNull(createdCalendar); assertEquals(calendarId, createdCalendar.getId()); @@ -503,14 +492,6 @@ public Calendar answer(InvocationOnMock invocation) throws Throwable { createdCalendar.setCreated(null); createdCalendar.setId(0); assertEquals(calendar, createdCalendar); - // 3.3 When user is super manager - when(spaceService.isMember(eq(space), eq(username))).thenReturn(false); - when(spaceService.isManager(eq(space), eq(username))).thenReturn(false); - when(spaceService.isSuperManager(eq(username))).thenReturn(true); - createdCalendar = agendaCalendarService.createCalendar(calendar, username); - assertNotNull(createdCalendar); - assertEquals(calendarId, createdCalendar.getId()); - assertNotNull(createdCalendar.getCreated()); } @Test @@ -667,7 +648,7 @@ public Object answer(InvocationOnMock invocation) { when(spaceService.getSpaceByPrettyName(eq(spacePrettyName))).thenReturn(space); // 4.1 when user is not member - when(spaceService.isMember(eq(space), eq(username))).thenReturn(false); + when(spaceService.canViewSpace(eq(space), eq(username))).thenReturn(false); try { agendaCalendarService.updateCalendar(calendar, username); fail("User shouldn't be able to update space calendar"); @@ -675,7 +656,7 @@ public Object answer(InvocationOnMock invocation) { // Expected } // 4.2 When user is member only - when(spaceService.isMember(eq(space), eq(username))).thenReturn(true); + when(spaceService.canViewSpace(eq(space), eq(username))).thenReturn(true); try { agendaCalendarService.updateCalendar(calendar, username); fail("User shouldn't be able to update space calendar even when member"); @@ -683,15 +664,7 @@ public Object answer(InvocationOnMock invocation) { // Expected } // 4.3 When user is manager of the space - when(spaceService.isManager(eq(space), eq(username))).thenReturn(true); - calendar.setUpdated(null); - agendaCalendarService.updateCalendar(calendar, username); - assertNotNull(calendar.getUpdated()); - - // 4.3 When user is super manager - when(spaceService.isMember(eq(space), eq(username))).thenReturn(false); - when(spaceService.isManager(eq(space), eq(username))).thenReturn(false); - when(spaceService.isSuperManager(eq(username))).thenReturn(true); + when(spaceService.canManageSpace(eq(space), eq(username))).thenReturn(true); calendar.setUpdated(null); agendaCalendarService.updateCalendar(calendar, username); assertNotNull(calendar.getUpdated()); @@ -812,7 +785,7 @@ public void testDeleteCalendarByIdAndUsername() throws Exception { // NOSONAR when(spaceService.getSpaceByPrettyName(eq(spacePrettyName))).thenReturn(space); // 5.1 when user is not member - when(spaceService.isMember(eq(space), eq(username))).thenReturn(false); + when(spaceService.canViewSpace(eq(space), eq(username))).thenReturn(false); try { agendaCalendarService.deleteCalendarById(calendarId, username); fail("User shouldn't be able to delete space calendar"); @@ -821,7 +794,7 @@ public void testDeleteCalendarByIdAndUsername() throws Exception { // NOSONAR } // 5.2 When user is member only - when(spaceService.isMember(eq(space), eq(username))).thenReturn(true); + when(spaceService.canViewSpace(eq(space), eq(username))).thenReturn(true); try { agendaCalendarService.deleteCalendarById(calendarId, username); fail("User shouldn't be able to delete space calendar even when member"); @@ -830,14 +803,12 @@ public void testDeleteCalendarByIdAndUsername() throws Exception { // NOSONAR } // 5.3 When user is manager of the space - when(spaceService.isManager(eq(space), eq(username))).thenReturn(true); + when(spaceService.canManageSpace(eq(space), eq(username))).thenReturn(true); agendaCalendarService.deleteCalendarById(calendarId, username); verify(agendaCalendarStorage, times(2)).deleteCalendarById(eq(calendarId)); // 5.4 When user is super manager - when(spaceService.isMember(eq(space), eq(username))).thenReturn(false); - when(spaceService.isManager(eq(space), eq(username))).thenReturn(false); - when(spaceService.isSuperManager(eq(username))).thenReturn(true); + when(spaceService.canViewSpace(eq(space), eq(username))).thenReturn(false); agendaCalendarService.deleteCalendarById(calendarId, username); verify(agendaCalendarStorage, times(3)).deleteCalendarById(eq(calendarId)); } @@ -866,8 +837,7 @@ public void testGetCalendars() throws Exception { // NOSONAR Identity calendarOwnerIdentity = new Identity(OrganizationIdentityProvider.NAME, username); calendarOwnerIdentity.setId(String.valueOf(calendarOwnerId)); when(identityManager.getIdentity(eq(String.valueOf(calendarOwnerId)))).thenReturn(calendarOwnerIdentity); - when(identityManager.getOrCreateIdentity(eq(OrganizationIdentityProvider.NAME), - eq(username))).thenReturn(calendarOwnerIdentity); + when(identityManager.getOrCreateUserIdentity(eq(username))).thenReturn(calendarOwnerIdentity); when(spaceService.getMemberSpaces(eq(username))).thenAnswer(new Answer>() { @Override public ListAccess answer(InvocationOnMock invocation) throws Throwable { @@ -896,7 +866,7 @@ public Space[] answer(InvocationOnMock invocation) throws Throwable { eq(prettyName))).thenReturn(spaceIdentity); when(identityManager.getIdentity(spaceIdentity.getId())).thenReturn(spaceIdentity); when(spaceService.getSpaceByPrettyName(eq(prettyName))).thenReturn(spaces[i]); - when(spaceService.isMember(eq(spaces[i]), eq(username))).thenReturn(true); + when(spaceService.canViewSpace(eq(spaces[i]), eq(username))).thenReturn(true); } return spaces; } @@ -974,8 +944,7 @@ public void testCountCalendars() throws Exception { // NOSONAR Identity calendarOwnerIdentity = new Identity(OrganizationIdentityProvider.NAME, username); calendarOwnerIdentity.setId(String.valueOf(calendarOwnerId)); when(identityManager.getIdentity(eq(String.valueOf(calendarOwnerId)))).thenReturn(calendarOwnerIdentity); - when(identityManager.getOrCreateIdentity(eq(OrganizationIdentityProvider.NAME), - eq(username))).thenReturn(calendarOwnerIdentity); + when(identityManager.getOrCreateUserIdentity(eq(username))).thenReturn(calendarOwnerIdentity); when(spaceService.getMemberSpaces(eq(username))).thenAnswer(new Answer>() { @Override public ListAccess answer(InvocationOnMock invocation) throws Throwable { @@ -1040,16 +1009,14 @@ public void testGetCalendarsByOwnerIds() throws Exception { // NOSONAR Identity calendarOwnerIdentity = new Identity(OrganizationIdentityProvider.NAME, username); calendarOwnerIdentity.setId(String.valueOf(calendarOwnerId)); when(identityManager.getIdentity(eq(String.valueOf(calendarOwnerId)))).thenReturn(calendarOwnerIdentity); - when(identityManager.getOrCreateIdentity(eq(OrganizationIdentityProvider.NAME), - eq(username))).thenReturn(calendarOwnerIdentity); + when(identityManager.getOrCreateUserIdentity(eq(username))).thenReturn(calendarOwnerIdentity); long anotherCalendarOwnerId = 3; String anotherUser = "username2"; Identity anotherCalendarOwnerIdentity = new Identity(OrganizationIdentityProvider.NAME, anotherUser); anotherCalendarOwnerIdentity.setId(String.valueOf(anotherCalendarOwnerId)); when(identityManager.getIdentity(eq(String.valueOf(anotherCalendarOwnerId)))).thenReturn(anotherCalendarOwnerIdentity); - when(identityManager.getOrCreateIdentity(eq(OrganizationIdentityProvider.NAME), - eq(anotherUser))).thenReturn(anotherCalendarOwnerIdentity); + when(identityManager.getOrCreateUserIdentity(eq(anotherUser))).thenReturn(anotherCalendarOwnerIdentity); // 3. Retrieve calendars with pagination when(agendaCalendarStorage.getCalendarIdsByOwnerIds(anyInt(), anyInt(), anyVararg())).thenAnswer(new Answer>() { diff --git a/agenda-webapps/package-lock.json b/agenda-webapps/package-lock.json index c2515c68e..52fbef754 100644 --- a/agenda-webapps/package-lock.json +++ b/agenda-webapps/package-lock.json @@ -18,7 +18,7 @@ "vue": "^2.6.14", "vue-loader": "^15.10.1", "vue-template-compiler": "^2.6.14", - "webpack": "^5.76.0", + "webpack": "^5.94.0", "webpack-cli": "^4.9.2", "webpack-merge": "^5.8.0" } @@ -38,13 +38,14 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, "peer": true, "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -92,14 +93,15 @@ } }, "node_modules/@babel/generator": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz", - "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", "dev": true, "peer": true, "dependencies": { - "@babel/types": "^7.20.2", - "@jridgewell/gen-mapping": "^0.3.2", + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -107,15 +109,15 @@ } }, "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "peer": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -150,33 +152,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", @@ -237,21 +212,19 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, - "peer": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, - "peer": true, "engines": { "node": ">=6.9.0" } @@ -282,25 +255,29 @@ } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, "peer": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz", - "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", "dev": true, + "dependencies": { + "@babel/types": "^7.25.6" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -309,36 +286,33 @@ } }, "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dev": true, "peer": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", "dev": true, "peer": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", - "debug": "^4.1.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -346,14 +320,13 @@ } }, "node_modules/@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "dev": true, - "peer": true, "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -464,33 +437,33 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -503,13 +476,13 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@nodelib/fs.scandir": { @@ -557,20 +530,10 @@ "@types/json-schema": "*" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "node_modules/@types/json-schema": { @@ -639,148 +602,148 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -833,9 +796,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -844,10 +807,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -1006,21 +969,21 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -1030,13 +993,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -1074,9 +1041,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001434", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", - "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==", + "version": "1.0.30001655", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz", + "integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==", "dev": true, "funding": [ { @@ -1086,6 +1053,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -1369,9 +1340,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", "dev": true }, "node_modules/emoji-regex": { @@ -1390,9 +1361,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -1435,15 +1406,15 @@ } }, "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", "dev": true }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "engines": { "node": ">=6" @@ -2002,9 +1973,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -2181,9 +2152,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "node_modules/grapheme-splitter": { @@ -3003,9 +2974,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "node_modules/normalize-path": { @@ -3192,9 +3163,9 @@ "dev": true }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "node_modules/picomatch": { @@ -3642,9 +3613,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -3796,13 +3767,13 @@ } }, "node_modules/terser": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", - "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -3814,16 +3785,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.14", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -3871,9 +3842,9 @@ } }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -3914,7 +3885,6 @@ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "peer": true, "engines": { "node": ">=4" } @@ -3956,9 +3926,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -3968,14 +3938,18 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -4173,9 +4147,9 @@ "dev": true }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -4186,34 +4160,33 @@ } }, "node_modules/webpack": { - "version": "5.76.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.0.tgz", - "integrity": "sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -4310,12 +4283,6 @@ "node": ">=10.13.0" } }, - "node_modules/webpack/node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -4339,9 +4306,9 @@ } }, "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -4475,13 +4442,14 @@ } }, "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, "peer": true, "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" } }, "@babel/compat-data": { @@ -4516,27 +4484,28 @@ } }, "@babel/generator": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz", - "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", "dev": true, "peer": true, "requires": { - "@babel/types": "^7.20.2", - "@jridgewell/gen-mapping": "^0.3.2", + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "dependencies": { "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "peer": true, "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" } } } @@ -4561,27 +4530,6 @@ "dev": true, "peer": true }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "peer": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "peer": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, "@babel/helper-module-imports": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", @@ -4630,18 +4578,16 @@ } }, "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true, - "peer": true + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true, - "peer": true + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true }, "@babel/helper-validator-option": { "version": "7.18.6", @@ -4663,63 +4609,63 @@ } }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, "peer": true, "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" } }, "@babel/parser": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz", - "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==", - "dev": true + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.25.6" + } }, "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dev": true, "peer": true, "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" } }, "@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", "dev": true, "peer": true, "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", - "debug": "^4.1.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "dev": true, - "peer": true, "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" } }, @@ -4798,30 +4744,30 @@ "dev": true }, "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" }, "dependencies": { "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" } } } @@ -4833,13 +4779,13 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@nodelib/fs.scandir": { @@ -4878,20 +4824,10 @@ "@types/json-schema": "*" } }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "@types/json-schema": { @@ -4953,148 +4889,148 @@ } }, "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" } }, "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -5134,15 +5070,15 @@ "dev": true }, "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, "requires": {} }, @@ -5266,24 +5202,24 @@ } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" } }, "buffer-from": { @@ -5309,9 +5245,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001434", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", - "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==", + "version": "1.0.30001655", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz", + "integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==", "dev": true }, "chalk": { @@ -5536,9 +5472,9 @@ } }, "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", "dev": true }, "emoji-regex": { @@ -5554,9 +5490,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -5587,15 +5523,15 @@ } }, "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", "dev": true }, "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true }, "escape-string-regexp": { @@ -5879,7 +5815,9 @@ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, - "requires": {} + "requires": { + "ajv": "^8.0.0" + } }, "ajv-keywords": { "version": "5.1.0", @@ -6000,9 +5938,9 @@ } }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -6137,9 +6075,9 @@ } }, "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "grapheme-splitter": { @@ -6724,9 +6662,9 @@ "dev": true }, "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "normalize-path": { @@ -6859,9 +6797,9 @@ "dev": true }, "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "picomatch": { @@ -7140,9 +7078,9 @@ "dev": true }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -7252,28 +7190,28 @@ "dev": true }, "terser": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", - "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "dev": true, "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" } }, "terser-webpack-plugin": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.14", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" }, "dependencies": { "has-flag": { @@ -7294,9 +7232,9 @@ } }, "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", @@ -7325,8 +7263,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "peer": true + "dev": true }, "to-regex-range": { "version": "5.0.1", @@ -7353,13 +7290,13 @@ "dev": true }, "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" } }, "uri-js": { @@ -7518,9 +7455,9 @@ "dev": true }, "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -7528,43 +7465,36 @@ } }, "webpack": { - "version": "5.76.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.0.tgz", - "integrity": "sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "dependencies": { - "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -7582,9 +7512,9 @@ "dev": true }, "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", diff --git a/agenda-webapps/package.json b/agenda-webapps/package.json index 213000a58..b08ce963d 100644 --- a/agenda-webapps/package.json +++ b/agenda-webapps/package.json @@ -24,7 +24,7 @@ "vue": "^2.6.14", "vue-loader": "^15.10.1", "vue-template-compiler": "^2.6.14", - "webpack": "^5.76.0", + "webpack": "^5.94.0", "webpack-cli": "^4.9.2", "webpack-merge": "^5.8.0" } diff --git a/agenda-webapps/src/main/resources/locale/addon/Gamification_sq.properties b/agenda-webapps/src/main/resources/locale/addon/Gamification_sq.properties index 68f539e4f..402ca75bf 100644 --- a/agenda-webapps/src/main/resources/locale/addon/Gamification_sq.properties +++ b/agenda-webapps/src/main/resources/locale/addon/Gamification_sq.properties @@ -1,5 +1,10 @@ gamification.event.title.CreateEvent=crwdns7096663:0crwdne7096663:0 +gamification.event.description.CreateEvent=crwdns7101314:0crwdne7101314:0 gamification.event.title.UpdateEvent=crwdns7096665:0crwdne7096665:0 +gamification.event.description.UpdateEvent=crwdns7101316:0crwdne7101316:0 gamification.event.title.ReplyToEvent=crwdns7096667:0crwdne7096667:0 +gamification.event.description.ReplyToEvent=crwdns7101318:0crwdne7101318:0 gamification.event.title.CreateDatePoll=crwdns7096669:0crwdne7096669:0 +gamification.event.description.CreateDatePoll=crwdns7101320:0crwdne7101320:0 gamification.event.title.VoteDatePoll=crwdns7096671:0crwdne7096671:0 +gamification.event.description.VoteDatePoll=crwdns7101322:0crwdne7101322:0 diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_ar.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_ar.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_ar.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_aro.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_aro.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_aro.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_az.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_az.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_az.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_ca.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_ca.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_ca.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_ceb.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_ceb.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_ceb.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_co.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_co.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_co.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_cs.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_cs.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_cs.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_de.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_de.properties new file mode 100644 index 000000000..83a041c4c --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_de.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=Sie haben eine Einladung erhalten: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=Ein Termin wurde aktualisiert: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Die Zeit f\u00fcr die Veranstaltung wurde aktualisiert. Bitte nehmen Sie sich die Zeit, um erneut zu antworten: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=\ Eine Terminumfrage wurde erstellt. Bitte nehmen Sie sich die Zeit zur Abstimmung.: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Ein Termin wurde mittels der Terminumfrage erstellt. Bitte nehmen Sie sich die Zeit, um zu antworten. : +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=Dieser Termin wurde abgesagt: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Eine Terminumfrage wurde aktualisiert. Bitte nehmen Sie sich die Zeit, um erneut abzustimmen. : +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Die Datumsumfrage wurde aktualisiert. Bitte nehmen Sie sich die Zeit, um erneut abzustimmen. : + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} hat Sie eingeladen, ein Datum f\u00fcr das folgende Ereignis auszuw\u00e4hlen: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Ereigniserinnerung im Raum {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} hat Ihre Einladung angenommen: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} hat Ihre Einladung abgelehnt: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} hat auf Ihre Einladung zum Event {1} mit "vielleicht" geantwortet +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} hat Ihre Einladung angenommen: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} hat Ihre Einladung abgelehnt: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} hat auf die Einladung {1} mit "vielleicht" geantwortet + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} hat f\u00fcr das folgende Ereignis abgestimmt: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_el.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_el.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_el.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_en.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_en.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_en.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_es_ES.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_es_ES.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_es_ES.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_eu.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_eu.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_eu.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_fa.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_fa.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_fa.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_fi.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_fi.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_fi.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_fil.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_fil.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_fil.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_fr.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_fr.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_fr.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_hi.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_hi.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_hi.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_hu.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_hu.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_hu.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_id.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_id.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_id.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_it.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_it.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_it.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_ja.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_ja.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_ja.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_ko.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_ko.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_ko.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_lt.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_lt.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_lt.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_ms.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_ms.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_ms.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_nl.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_nl.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_nl.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_no.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_no.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_no.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_pcm.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_pcm.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_pcm.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_pl.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_pl.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_pl.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_pt_BR.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_pt_BR.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_pt_BR.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_pt_PT.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_pt_PT.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_pt_PT.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_ro.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_ro.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_ro.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_ru.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_ru.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_ru.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_sk.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_sk.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_sk.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_sl.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_sl.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_sl.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_sq.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_sq.properties new file mode 100644 index 000000000..f417cd908 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_sq.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=crwdns7166226:0crwdne7166226:0 +pwa.notification.AgendaNotificationPwaPlugin.title.updated=crwdns7166228:0crwdne7166228:0 +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=crwdns7166230:0crwdne7166230:0 +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=crwdns7166232:0crwdne7166232:0 +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=crwdns7166234:0crwdne7166234:0 +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=crwdns7166236:0crwdne7166236:0 +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=crwdns7166238:0crwdne7166238:0 +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=crwdns7166240:0crwdne7166240:0 + + +pwa.notification.DatePollNotificationPwaPlugin.title=crwdns7166242:0{0}crwdne7166242:0 + +pwa.notification.EventReminderNotificationPwaPlugin.title=crwdns7166244:0{0}crwdne7166244:0 + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted=crwdns7166246:0{0}crwdne7166246:0 +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined=crwdns7166248:0{0}crwdne7166248:0 +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe=crwdns7166250:0{0}crwdne7166250:0 +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted=crwdns7166252:0{0}crwdne7166252:0 +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined=crwdns7166254:0{0}crwdne7166254:0 +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe=crwdns7166256:0{0}crwdne7166256:0 + + +pwa.notification.EventVoteNotificationPwaPlugin.title=crwdns7166258:0{0}crwdne7166258:0 diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_sv_SE.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_sv_SE.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_sv_SE.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_th.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_th.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_th.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_tl.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_tl.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_tl.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_tr.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_tr.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_tr.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_uk.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_uk.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_uk.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_ur_IN.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_ur_IN.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_ur_IN.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_vi.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_vi.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_vi.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_zh_CN.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_zh_CN.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_zh_CN.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/commons/Commons_zh_TW.properties b/agenda-webapps/src/main/resources/locale/commons/Commons_zh_TW.properties new file mode 100644 index 000000000..137307fa8 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/commons/Commons_zh_TW.properties @@ -0,0 +1,26 @@ +pwa.notification.AgendaNotificationPwaPlugin.title.created=You are invited to participate to: +pwa.notification.AgendaNotificationPwaPlugin.title.updated=An event has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.dates.updated=Please take the time to answer again : the time has been updated for the event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToDatePoll=Please take the time to vote. A date poll has been created from event: +pwa.notification.AgendaNotificationPwaPlugin.title.switchedToEvent=Please take the time to answer. An event has been created from the date poll: +pwa.notification.AgendaNotificationPwaPlugin.title.canceled=An event has been canceled: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.updated=Please take the time to vote again. A date poll has been updated: +pwa.notification.AgendaNotificationPwaPlugin.title.datePoll.dates.updated=Date poll has been updated. Please take the time to vote again. + + +pwa.notification.DatePollNotificationPwaPlugin.title={0} invited you to choose a date for the following event: + +pwa.notification.EventReminderNotificationPwaPlugin.title=Event reminder in space {0}: + + + + +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.accepted={0} has accepted your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.declined={0} has declined your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.creator.response.mayBe={0} has replied "Maybe" to your invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.accepted={0} has accepted the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.declined={0} has declined the invitation to the event: +pwa.notification.EventReplyNotificationPwaPlugin.title.participant.response.mayBe={0} has replied "Maybe" to the invitation to the event: + + +pwa.notification.EventVoteNotificationPwaPlugin.title={0} voted for a date for the following event: diff --git a/agenda-webapps/src/main/resources/locale/portlet/Agenda_de.properties b/agenda-webapps/src/main/resources/locale/portlet/Agenda_de.properties index 5f2ffd4b9..81a6bd086 100644 --- a/agenda-webapps/src/main/resources/locale/portlet/Agenda_de.properties +++ b/agenda-webapps/src/main/resources/locale/portlet/Agenda_de.properties @@ -158,7 +158,7 @@ agenda.deleteEventConference=Konferenz l\u00f6schen agenda.createEventConference=Konferenz erstellen agenda.webConferenceScheduled=Webkonferenz geplant agenda.webConferenceURL=Geben Sie einen Link zum Aufruf des Events ein -agenda.webConferenceURL.warning=To avoid any video conference conflicts, we recommend to create a different link on your external video conference software. +agenda.webConferenceURL.warning=Um Videokonferenzkonflikte zu vermeiden, empfehlen wir Ihnen, einen anderen Link zu Ihrer externen Videokonferenz-Software zu erstellen. agenda.emptyWebConferenceProvider=Kein Webkonferenz-Anbieter agenda.webConferencingProviderSaved=Webkonferenz-Anbieter gespeichert. agenda.connectoInitializationFailed=Initialisierung des pers\u00f6nlichen Kalender-Connectors fehlgeschlagen diff --git a/agenda-webapps/src/main/resources/locale/portlet/Agenda_sq.properties b/agenda-webapps/src/main/resources/locale/portlet/Agenda_sq.properties index 5129164de..ef5f3ff90 100644 --- a/agenda-webapps/src/main/resources/locale/portlet/Agenda_sq.properties +++ b/agenda-webapps/src/main/resources/locale/portlet/Agenda_sq.properties @@ -158,6 +158,7 @@ agenda.deleteEventConference=crwdns6967056:0crwdne6967056:0 agenda.createEventConference=crwdns6967058:0crwdne6967058:0 agenda.webConferenceScheduled=crwdns6967060:0crwdne6967060:0 agenda.webConferenceURL=crwdns6967138:0crwdne6967138:0 +agenda.webConferenceURL.warning=crwdns7164750:0crwdne7164750:0 agenda.emptyWebConferenceProvider=crwdns6967062:0crwdne6967062:0 agenda.webConferencingProviderSaved=crwdns6967064:0crwdne6967064:0 agenda.connectoInitializationFailed=crwdns6967066:0crwdne6967066:0 diff --git a/agenda-webapps/src/main/resources/locale/portlet/LayoutEditor_sq.properties b/agenda-webapps/src/main/resources/locale/portlet/LayoutEditor_sq.properties new file mode 100644 index 000000000..217eb8269 --- /dev/null +++ b/agenda-webapps/src/main/resources/locale/portlet/LayoutEditor_sq.properties @@ -0,0 +1,4 @@ +layout.portletInstance.Agenda.name=crwdns7161730:0crwdne7161730:0 +layout.portletInstance.Agenda.description=crwdns7161732:0crwdne7161732:0 +layout.portletInstance.AgendaTimeline.name=crwdns7161734:0crwdne7161734:0 +layout.portletInstance.AgendaTimeline.description=crwdns7161736:0crwdne7161736:0 diff --git a/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventQuickFormDrawer.vue b/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventQuickFormDrawer.vue index dbcb57506..ab8c44869 100644 --- a/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventQuickFormDrawer.vue +++ b/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventQuickFormDrawer.vue @@ -183,8 +183,6 @@ export default { } }, created() { - - console.log('providers',this.conferenceProvider); this.$root.$on('agenda-event-quick-form', event => { this.event = null; this.$nextTick().then(() => { diff --git a/crowdin.yml b/crowdin.yml index 268aabfde..00fab0065 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -15,6 +15,24 @@ # Files configuration # files: [ + { + "source": "/agenda-webapps/src/main/resources/locale/commons/Commons_en.properties", + + "translation": "%original_path%/%file_name%!_%locale_with_underscore%.%file_extension%", + "translation_replace": { + "_en!": "","ar_SA": "ar","ar_OM": "aro","az_AZ": "az","ca_ES": "ca","ceb_PH": "ceb", + "co_FR": "co","cs_CZ": "cs","de_DE": "de","el_GR": "el","en_US": "en","es_ES": "es_ES","eu_ES": "eu","fa_IR": "fa", + "fi_FI": "fi","fil_PH": "fil","fr_FR": "fr","hi_IN": "hi","hu_HU": "hu","id_ID": "id","it_IT": "it","ja_JP": "ja", + "kab_KAB": "kab","ko_KR": "ko","lt_LT": "lt","ms_MY": "ms","nl_NL": "nl","no_NO": "no","pcm_NG": "pcm","pl_PL": "pl", + "pt_BR": "pt_BR","pt_PT": "pt_PT","ro_RO": "ro","ru_RU": "ru","sk_SK": "sk","sl_SI": "sl","sq_AL": "sq", + "sv_SE": "sv_SE","th_TH": "th","tl_PH": "tl","tr_TR": "tr","uk_UA": "uk","ur_IN": "ur_IN","vi_VN": "vi", + "zh_CN": "zh_CN","zh_TW": "zh_TW", + }, + "dest": "add__ons/agenda/Commons.properties", + "update_option": "update_as_unapproved", + "escape_special_characters": 0, + "escape_quotes": 0, + }, { "source" : "/agenda-webapps/src/main/resources/locale/navigation/portal/global_en.properties", @@ -159,4 +177,4 @@ files: [ "escape_special_characters": 0, "escape_quotes" : 0, }, -] \ No newline at end of file +]