Author: fdesbois Date: 2010-02-24 14:18:29 +0100 (Wed, 24 Feb 2010) New Revision: 2882 Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/ConverterHelper.java trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataChoiceConverter.java trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataCommentConverter.java trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataPollConverter.java trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataPreventRuleConverter.java trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataVoteConverter.java trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/ChoiceDTO.java trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/CommentDTO.java trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/PollDTO.java trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/PreventRuleDTO.java trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/VoteDTO.java trunk/pollen-business/src/main/java/org/chorem/pollen/business/services/ServicePollImpl.java trunk/pollen-business/src/main/xmi/pollen.zargo Log: - Add some conversions in ConverterHelper + depreciate older methods - The fucking DTOs are not very well formed for ui module, may be suppress them and refactor UI is needed Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/ConverterHelper.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/ConverterHelper.java 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/ConverterHelper.java 2010-02-24 13:18:29 UTC (rev 2882) @@ -4,18 +4,25 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.pollen.business.dto.ChoiceDTO; +import org.chorem.pollen.business.dto.CommentDTO; import org.chorem.pollen.business.dto.PollAccountDTO; import org.chorem.pollen.business.dto.PollDTO; import org.chorem.pollen.business.dto.PreventRuleDTO; +import org.chorem.pollen.business.dto.VoteDTO; import org.chorem.pollen.business.dto.VotingListDTO; import org.chorem.pollen.business.persistence.Choice; +import org.chorem.pollen.business.persistence.Comment; import org.chorem.pollen.business.persistence.Poll; import org.chorem.pollen.business.persistence.PollAccount; import org.chorem.pollen.business.persistence.PreventRule; +import org.chorem.pollen.business.persistence.UserAccount; +import org.chorem.pollen.business.persistence.Vote; +import org.chorem.pollen.business.persistence.VoteToChoice; import org.chorem.pollen.business.persistence.VotingList; import org.chorem.pollen.common.ChoiceType; import org.chorem.pollen.common.PollType; import org.chorem.pollen.common.VoteCountingType; +import org.chorem.pollen.votecounting.business.NumberMethod; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.beans.BinderBuilder; import org.nuiton.util.beans.BinderProvider; @@ -113,6 +120,25 @@ prepare(PreventRule.class, PreventRuleDTO.class, properties); } + public static void prepareVoteConverters() { + String[] properties = new String[] { + Vote.WEIGHT, + Vote.COMMENT, + Vote.ANONYMOUS + }; + + prepare(Vote.class, VoteDTO.class, properties); + } + + public static void prepareCommentConverters() { + String[] properties = new String[] { + Comment.TEXT, + Comment.POST_DATE + }; + + prepare(Comment.class, CommentDTO.class, properties); + } + public static Choice convert(ChoiceDTO dto, Choice entity) { BinderProvider.getBinder(ChoiceDTO.class, Choice.class).copy(dto, entity); return entity; @@ -121,6 +147,10 @@ public static ChoiceDTO convert(Choice entity, ChoiceDTO dto) { BinderProvider.getBinder(Choice.class, ChoiceDTO.class).copy(entity, dto); dto.setId(entity.getTopiaId()); + String name = entity.getName(); + dto.setHidden(name != null + && name.startsWith(NumberMethod.HIDDEN_PREFIX)); + dto.setPollId(entity.getPoll().getTopiaId()); return dto; } @@ -139,6 +169,14 @@ dto.setChoiceType(ChoiceType.valueOf(entity.getChoiceType())); dto.setPollType(PollType.valueOf(entity.getPollType())); dto.setVoteCounting(VoteCountingType.valueOf(entity.getVoteCounting())); + + PollAccount creator = entity.getCreator(); + UserAccount user = creator.getUserAccount(); + dto.setCreatorId(creator.getTopiaId()); + dto.setCreatorEmail(creator.getEmail()); + if (creator.getUserAccount() != null) { + dto.setUserId(user.getTopiaId()); + } return dto; } @@ -173,8 +211,70 @@ public static PreventRuleDTO convert(PreventRule entity, PreventRuleDTO dto) { BinderProvider.getBinder(PreventRule.class, PreventRuleDTO.class).copy(entity, dto); dto.setId(entity.getTopiaId()); + Poll poll = entity.getPoll(); + dto.setPollId(poll.getTopiaId()); return dto; } + public static Vote convert(VoteDTO dto, Vote entity) { + BinderProvider.getBinder(VoteDTO.class, Vote.class).copy(dto, entity); + return entity; + } + /** + * Convert a Vote entity to a VoteDTO. + * Add pollId in the DTO corresponding to the poll topiaId owner of the + * vote. Add choices (ChoiceDTO) for vote values. + * The user linked with the vote may be a votingList (group voteCounting) + * or a pollAccount (other voteCounting type). + * + * @param entity Vote + * @param dto VoteDTO + * @return VoteDTO + */ + public static VoteDTO convert(Vote entity, VoteDTO dto) { + BinderProvider.getBinder(Vote.class, VoteDTO.class).copy(entity, dto); + dto.setId(entity.getTopiaId()); + Poll poll = entity.getPoll(); + dto.setPollId(poll.getTopiaId()); + + // Set reference only if not anonymous + //if (!entity.getAnonymous()) { + PollAccount account = entity.getPollAccount(); + VotingList list = entity.getVotingList(); + // vote for a list + if (list != null) { + dto.setVotingListId(list.getTopiaId()); + // vote for a person (pollAccount) + } else if (account != null) { + dto.setPollAccountId(account.getTopiaId()); + } + //} + + // Choices for voteValues + for (VoteToChoice choice : entity.getChoiceVoteToChoice()) { + ChoiceDTO choiceDTO = + convert(choice.getChoice(), new ChoiceDTO()); + choiceDTO.setValue(choice.getVoteValue()); + dto.addChoice(choiceDTO); + } + return dto; + } + + public static Comment convert(CommentDTO dto, Comment entity) { + BinderProvider.getBinder(CommentDTO.class, Comment.class).copy(dto, entity); + return entity; + } + + public static CommentDTO convert(Comment entity, CommentDTO dto) { + BinderProvider.getBinder(Comment.class, CommentDTO.class).copy(entity, dto); + dto.setId(entity.getTopiaId()); + Poll poll = entity.getPoll(); + dto.setPollId(poll.getTopiaId()); + PollAccount account = entity.getPollAccount(); + dto.setPollAccountId(account.getTopiaId()); + return dto; + } + + } Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataChoiceConverter.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataChoiceConverter.java 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataChoiceConverter.java 2010-02-24 13:18:29 UTC (rev 2882) @@ -61,7 +61,9 @@ * * @param eChoice L'entité choix * @return Le dto choix + * @deprecated use {@link ConverterHelper} */ + @Deprecated public ChoiceDTO createChoiceDTO(Choice eChoice) { ChoiceDTO choiceDTO = new ChoiceDTO(); choiceDTO.setId(eChoice.getTopiaId()); @@ -84,7 +86,9 @@ * * @param cChoices Les entités choix * @return la liste des dtos choix + * @deprecated use {@link ConverterHelper} */ + @Deprecated public List<ChoiceDTO> createChoiceDTOs(Collection<Choice> cChoices) { List<ChoiceDTO> results = new ArrayList<ChoiceDTO>(); ChoiceDTO dto; Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataCommentConverter.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataCommentConverter.java 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataCommentConverter.java 2010-02-24 13:18:29 UTC (rev 2882) @@ -68,7 +68,9 @@ * * @param eComment l'objet comment à transformer * @return le commentDTO créé + * @deprecated use {@link ConverterHelper} */ + @Deprecated public CommentDTO createCommentDTO(Comment eComment) { CommentDTO commentDTO = new CommentDTO(); commentDTO.setId(eComment.getTopiaId()); @@ -91,7 +93,9 @@ * * @param cComments collection des entités comment * @return la liste des dtos comment + * @deprecated use {@link ConverterHelper} */ + @Deprecated public List<CommentDTO> createCommentDTOs(Collection<Comment> cComments) { List<CommentDTO> results = new ArrayList<CommentDTO>(); CommentDTO dto; Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataPollConverter.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataPollConverter.java 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataPollConverter.java 2010-02-24 13:18:29 UTC (rev 2882) @@ -27,14 +27,13 @@ import org.chorem.pollen.business.dto.PreventRuleDTO; import org.chorem.pollen.business.persistence.Choice; import org.chorem.pollen.business.persistence.Poll; +import org.chorem.pollen.business.persistence.PollAccount; import org.chorem.pollen.business.persistence.PreventRule; +import org.chorem.pollen.business.persistence.UserAccount; import org.chorem.pollen.business.services.ServiceChoice; import org.chorem.pollen.business.services.ServiceChoiceImpl; import org.chorem.pollen.business.services.ServicePreventRule; import org.chorem.pollen.business.services.ServicePreventRuleImpl; -import org.chorem.pollen.common.ChoiceType; -import org.chorem.pollen.common.PollType; -import org.chorem.pollen.common.VoteCountingType; import org.nuiton.topia.TopiaException; /** @@ -58,7 +57,9 @@ * * @param ePoll l'entité sondage * @return le dto sondage + * @deprecated use {@link ConverterHelper} */ + @Deprecated public PollDTO createPollDTO(Poll ePoll) { PollDTO pollDTO = ConverterHelper.convert(ePoll, new PollDTO()); @@ -113,7 +114,9 @@ * * @param lPolls liste de entités sondages * @return la liste des dtos sondages + * @deprecated use {@link ConverterHelper} */ + @Deprecated public List<PollDTO> createPollDTOs(List<Poll> lPolls) { ArrayList<PollDTO> results = new ArrayList<PollDTO>(); PollDTO dto; Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataPreventRuleConverter.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataPreventRuleConverter.java 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataPreventRuleConverter.java 2010-02-24 13:18:29 UTC (rev 2882) @@ -63,8 +63,10 @@ * Création d'un dto à partir d'une entité règle. * * @param preventRule l'entité de la règle - * @return Le dto règle créé + * @return Le dto règle créé * + * @deprecated use {@link ConverterHelper} */ + @Deprecated public PreventRuleDTO createPreventRuleDTO(PreventRule preventRule) { PreventRuleDTO preventRuleDTO = new PreventRuleDTO(); preventRuleDTO.setId(preventRule.getTopiaId()); @@ -87,7 +89,9 @@ * * @param cPreventRules collection des entités règle * @return la liste des dtos règle + * @deprecated use {@link ConverterHelper} */ + @Deprecated public List<PreventRuleDTO> createPreventRuleDTOs( Collection<PreventRule> cPreventRules) { List<PreventRuleDTO> results = new ArrayList<PreventRuleDTO>(); Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataVoteConverter.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataVoteConverter.java 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/converters/DataVoteConverter.java 2010-02-24 13:18:29 UTC (rev 2882) @@ -83,7 +83,9 @@ * * @param eVote L'entité vote * @return Le dto vote + * @deprecated use {@link ConverterHelper} */ + @Deprecated public VoteDTO createVoteDTO(Vote eVote) { VoteDTO voteDTO = new VoteDTO(); voteDTO.setId(eVote.getTopiaId()); @@ -122,7 +124,9 @@ * * @param cVotes collection des entités vote * @return la liste des dtos vote + * @deprecated use {@link ConverterHelper} */ + @Deprecated public List<VoteDTO> createVoteDTOs(Collection<Vote> cVotes) { List<VoteDTO> results = new ArrayList<VoteDTO>(); VoteDTO dto; Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/ChoiceDTO.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/ChoiceDTO.java 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/ChoiceDTO.java 2010-02-24 13:18:29 UTC (rev 2882) @@ -31,20 +31,37 @@ private static final long serialVersionUID = 1L; + /** main id (topiaId) **/ private String id = ""; + /** name of the choice **/ private String name = ""; + /** description of the choice **/ private String description = ""; + /** ?? **/ + private Boolean validate = false; + + /** + * VOTE context : value of the choice in a vote. + * Not fill by servicePoll + **/ private Integer value = 0; - private Boolean validate = false; - + /** + * VOTE context : topiaId of the vote where the choice is done + * FIXME-FD20100224 Is it really needed ?? + **/ private String voteId = ""; + /** + * topiaId of the poll owner of this choice + * FIXME-FD20100224 Is it really needed ?? + */ private String pollId = ""; + /** used for specific choice in Number VoteCounting **/ private Boolean hidden = false; public ChoiceDTO() { Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/CommentDTO.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/CommentDTO.java 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/CommentDTO.java 2010-02-24 13:18:29 UTC (rev 2882) @@ -28,14 +28,26 @@ */ public class CommentDTO implements Serializable { + /** main id (topiaId) **/ private String id = ""; + /** content of the comment **/ private String text = ""; + /** date where the comment were created **/ private Date postDate = null; + /** + * topiaId of the poll owner of this comment + * FIXME-FD20100224 Is it really needed ?? + **/ private String pollId = ""; + /** + * topiaId of the pollAccount which has created this comment + * FIXME-FD20100224 What is needed in pollAccount ? if only votingId, + * may be this will be refactored. + **/ private String pollAccountId = ""; public CommentDTO() { Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/PollDTO.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/PollDTO.java 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/PollDTO.java 2010-02-24 13:18:29 UTC (rev 2882) @@ -72,7 +72,8 @@ private String userId = ""; - // Carefull, not TopiaId but pollAccount.votingId = creator name + // Carefull, not TopiaId but pollAccount.votingId = creator name depends + // on case : for saving, it's the votingId, for display it's the topiaId private String creatorId = ""; private String creatorEmail = ""; @@ -317,6 +318,13 @@ this.commentDTOs = commentDTOs; } + public void addComment(CommentDTO comment) { + if (commentDTOs == null) { + commentDTOs = new ArrayList<CommentDTO>(); + } + commentDTOs.add(comment); + } + public List<VotingListDTO> getVotingListDTOs() { return votingListDTOs; } @@ -333,6 +341,13 @@ this.voteDTOs = voteDTOs; } + public void addVote(VoteDTO vote) { + if (voteDTOs == null) { + voteDTOs = new ArrayList<VoteDTO>(); + } + voteDTOs.add(vote); + } + public List<PreventRuleDTO> getPreventRuleDTOs() { return preventRuleDTOs; } @@ -341,6 +356,13 @@ this.preventRuleDTOs = preventRuleDTOs; } + public void addPreventRule(PreventRuleDTO rule) { + if (preventRuleDTOs == null) { + preventRuleDTOs = new ArrayList<PreventRuleDTO>(); + } + preventRuleDTOs.add(rule); + } + public List<ChoiceDTO> getChoiceDTOs() { return choiceDTOs; } @@ -349,6 +371,13 @@ this.choiceDTOs = choiceDTOs; } + public void addChoice(ChoiceDTO choice) { + if (choiceDTOs == null) { + choiceDTOs = new ArrayList<ChoiceDTO>(); + } + choiceDTOs.add(choice); + } + public List<ResultDTO> getResultDTOs() { return resultDTOs; } Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/PreventRuleDTO.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/PreventRuleDTO.java 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/PreventRuleDTO.java 2010-02-24 13:18:29 UTC (rev 2882) @@ -27,8 +27,13 @@ */ public class PreventRuleDTO implements Serializable { + /** main id (topiaId) **/ private String id = ""; + /** + * topiaId of the poll owner of this preventRule + * FIXME-FD20100224 Is it really needed ?? + **/ private String pollId = ""; private String scope = ""; Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/VoteDTO.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/VoteDTO.java 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/dto/VoteDTO.java 2010-02-24 13:18:29 UTC (rev 2882) @@ -29,20 +29,33 @@ */ public class VoteDTO implements Serializable { + /** main id (topiaId) **/ private String id = ""; - private double weight = 0; + /** weight of the person who has voted depends on poll context **/ + private Double weight = 0.; + /** + * FIXME-FD20100224 comment on the vote. Where is it used in ui ? + **/ private String comment = ""; - private boolean anonymous = false; + /** the vote is anonymous or not **/ + private Boolean anonymous = false; + /** topiaId of the account who has voted**/ private String pollAccountId = ""; + /** + * topiaId of the poll where the vote is done + * FIXME-FD20100224 Is it really needed ?? + **/ private String pollId = ""; + /** topiaId of the list corresponding to this vote **/ private String votingListId = ""; + /** choices made by this vote **/ private List<ChoiceDTO> choiceDTOs = new ArrayList<ChoiceDTO>(); public VoteDTO() { @@ -66,11 +79,11 @@ this.id = id; } - public double getWeight() { + public Double getWeight() { return weight; } - public void setWeight(double weight) { + public void setWeight(Double weight) { this.weight = weight; } @@ -82,11 +95,15 @@ this.comment = comment; } - public boolean isAnonymous() { + public Boolean isAnonymous() { return anonymous; } - public void setAnonymous(boolean anonymous) { + public Boolean getAnonymous() { + return isAnonymous(); + } + + public void setAnonymous(Boolean anonymous) { this.anonymous = anonymous; } @@ -122,4 +139,11 @@ this.choiceDTOs = choiceDTOs; } + public void addChoice(ChoiceDTO choice) { + if (choiceDTOs == null) { + choiceDTOs = new ArrayList<ChoiceDTO>(); + } + choiceDTOs.add(choice); + } + } \ No newline at end of file Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/services/ServicePollImpl.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/services/ServicePollImpl.java 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/services/ServicePollImpl.java 2010-02-24 13:18:29 UTC (rev 2882) @@ -27,13 +27,18 @@ import org.apache.commons.logging.LogFactory; import org.chorem.pollen.business.converters.ConverterHelper; import org.chorem.pollen.business.converters.DataPollConverter; +import org.chorem.pollen.business.converters.DataPreventRuleConverter; +import org.chorem.pollen.business.converters.DataVotingListConverter; import org.chorem.pollen.business.dto.ChoiceDTO; +import org.chorem.pollen.business.dto.CommentDTO; import org.chorem.pollen.business.dto.PollAccountDTO; import org.chorem.pollen.business.dto.PollDTO; import org.chorem.pollen.business.dto.PreventRuleDTO; +import org.chorem.pollen.business.dto.VoteDTO; import org.chorem.pollen.business.dto.VotingListDTO; import org.chorem.pollen.business.persistence.Choice; import org.chorem.pollen.business.persistence.ChoiceDAO; +import org.chorem.pollen.business.persistence.Comment; import org.chorem.pollen.business.persistence.PersonToList; import org.chorem.pollen.business.persistence.Poll; import org.chorem.pollen.business.persistence.PollAccount; @@ -85,10 +90,11 @@ pollDAO = PollenModelDAOHelper.getPollDAO(transaction); - String pollId = ContextUtil.createPollenUrlId(); - Poll entity = ConverterHelper.convert(pollDTO, pollDAO.create(pollId)); - - // ** Creator managment + // Create with a new pollId generated for links + Poll entity = pollDAO.create(ContextUtil.createPollenUrlId()); + ConverterHelper.convert(pollDTO, entity); + + // ** Manage the poll creator PollAccount creator = prepareCreator(transaction, pollDTO); entity.setCreator(creator); @@ -107,7 +113,8 @@ } // ** Create new preventRules - PreventRuleDAO ruleDAO = PollenModelDAOHelper.getPreventRuleDAO(transaction); + PreventRuleDAO ruleDAO = + PollenModelDAOHelper.getPreventRuleDAO(transaction); for (PreventRuleDTO ruleDTO : pollDTO.getPreventRuleDTOs()) { PreventRule rule = ConverterHelper.convert(ruleDTO, ruleDAO.create()); @@ -167,7 +174,8 @@ } // Create new account if account properties changed or no user found if (creator == null) { - accountProperties.put(PollAccount.ACCOUNT_ID, ContextUtil.createPollenUrlId()); + accountProperties.put( + PollAccount.ACCOUNT_ID, ContextUtil.createPollenUrlId()); creator = accountDAO.create(accountProperties); } return creator; @@ -286,8 +294,17 @@ } } + /** + * This method must be deleted after ui refactor in PollCreation page. + * Only used for CreationValidation page that not need complete poll data. + * Only main and creator params will be load in dto using + * {@link ConverterHelper#convert(Poll, PollDTO) } + * + * @param id topiaId of the poll + * @return the PollDTO corresponding + */ @Override - public PollDTO findPollById(String pollId) { + public PollDTO findPollById(String id) { TopiaContext transaction = null; PollDTO result = null; try { @@ -295,13 +312,17 @@ pollDAO = PollenModelDAOHelper.getPollDAO(transaction); - Poll pollEntity = pollDAO.findByTopiaId(pollId); + Poll pollEntity = pollDAO.findByTopiaId(id); if (pollEntity != null) { - converter.setTransaction(transaction); - result = converter.createPollDTO(pollEntity); + result = ConverterHelper.convert(pollEntity, new PollDTO()); } +// if (pollEntity != null) { +// converter.setTransaction(transaction); +// result = converter.createPollDTO(pollEntity); +// } + //transaction.commitTransaction(); if (log.isDebugEnabled()) { @@ -330,8 +351,62 @@ Poll pollEntity = pollDAO.findByPollId(pollId); if (pollEntity != null) { - converter.setTransaction(transaction); - result = converter.createPollDTO(pollEntity); +// converter.setTransaction(transaction); +// result = converter.createPollDTO(pollEntity); + + result = ConverterHelper.convert(pollEntity, new PollDTO()); + + // Load choices + for (Choice choice : pollEntity.getChoice()) { + ChoiceDTO dto = + ConverterHelper.convert(choice, new ChoiceDTO()); + result.addChoice(dto); + } + + // Load votes + for (Vote vote : pollEntity.getVote()) { + VoteDTO dto = + ConverterHelper.convert(vote, new VoteDTO()); + result.addVote(dto); + } + + // Load comments + for (Comment comment : pollEntity.getComment()) { + CommentDTO dto = + ConverterHelper.convert(comment, new CommentDTO()); + result.addComment(dto); + } + + // Load preventRules + for (PreventRule rule : pollEntity.getPreventRule()) { + PreventRuleDTO dto = + ConverterHelper.convert(rule, new PreventRuleDTO()); + result.addPreventRule(dto); + } + +// if (ePoll.getChoice().size() > 0) { +// pollDTO.setChoiceDTOs(choiceConverter.createChoiceDTOs(ePoll +// .getChoice())); +// } +// if (pollEntity.getVote().size() > 0) { +// DataVoteConverter voteConverter = new DataVoteConverter(); +// result.setVoteDTOs(voteConverter.createVoteDTOs(pollEntity.getVote())); +// } +// if (pollEntity.getComment().size() > 0) { +// DataCommentConverter commentConverter = new DataCommentConverter(); +// result.setCommentDTOs(commentConverter.createCommentDTOs(pollEntity +// .getComment())); +// } +// if (pollEntity.getPreventRule().size() > 0) { +// DataPreventRuleConverter preventRuleConverter = new DataPreventRuleConverter(); +// result.setPreventRuleDTOs(preventRuleConverter +// .createPreventRuleDTOs(pollEntity.getPreventRule())); +// } + if (pollEntity.getVotingList().size() > 0) { + DataVotingListConverter votingListConverter = new DataVotingListConverter(); + result.setVotingListDTOs(votingListConverter + .createVotingListDTOs(pollEntity.getVotingList())); + } } //transaction.commitTransaction(); Modified: trunk/pollen-business/src/main/xmi/pollen.zargo =================================================================== --- trunk/pollen-business/src/main/xmi/pollen.zargo 2010-02-23 18:49:41 UTC (rev 2881) +++ trunk/pollen-business/src/main/xmi/pollen.zargo 2010-02-24 13:18:29 UTC (rev 2882) @@ -1,95 +1,99 @@ -PK�yW<pollen.argo}Tˎ�0��W >�LFU�a�tѪUG�v9pW�1�4�����v2$�����uMe/��B1n��e�Tu'Z�a�T[�!�FB��CSW����)�����C�晼|!���ڞ�@���(<Q�0�M�V�5�� +PKI_X<pollen.argo}Tˎ�0��W >�LFU�a�tѪUG�v9pW�1�4�����v2$�����uMe/��B1n��e�Tu'Z�a�T[�!�FB��CSW����)�����C�晼|!���ڞ�@���(<Q�0�M�V�5�� �F�9F����??��@ �|�sը�D����A/4 -z��z�`�H�-.�-M�{G�S3*<"C}II�(�i��7��rQ#e3eRy�G�$�Rcޑ�R}���y�A��h�+����aT&U`����z�N��j��8���C�qw���;8b�Z7j�J!D{���y�^v`o;(��Z��+����s����vaF87�1ۜ[f3��C�Kʛ���*����eIJ(�Z���&��b�pږ�o����>쿽�E�h8����[�K`[ڹ��Av��PK-��\��筟�� �}���s�A��^z�2�u�RȞ��pF�X������|��b��wc�N���]�>�5������u/tB�L��O�������̎ۖ�<�PKptB�PK�yW<pollen_DC_Pollen.pgml�]k��6���_�۸�O��!JJffя�E�$;H&��Bm�=���{&sq��d�d��lZf$y�dۖ��ê��b��_�x\N>'��"]��@W��$YM��b5s��������o�y�_w�����&Os~ï���㻟&�W���_�0K6���i�[��_��y��/���-��:~��l��b���v�<�>������o?�x��7���5�w���e^"��y�2������;��D��C��e�y�w^�u㱋o&�k?&o.�n��!].���7o������i�����{���?�K���a���PL_M��a�_O������~��y������6Y'���S��"����>}J�q�k7/�oO�������y���.��O����š8�����%�����t���\|���&�|���ꥻw��/�������~Z/>��d�ӷ�wﭓ�6^͗IeB��)���&�ˏ_�\pl_~���m?����O�b�i��S|�02��^�����5�|��hDW%"�����_[��-�Jل�U��ޔ˓��vh����_R�~��&�2T��d�)@�P1��|O�z���U#.�f��������q��80��qx&�L����!]���e:/�]l��b��"�m����r&��}�f���|��7���b��6Yq�x���_���������O����f��Xro�� �_�" ��@u0��؎%j�!�A��!�5�͞���i����@�"9,���x�ݦ�O�z���>��(܇9�;�<�S�9��8Ffaw�0�њ�8*���y��q��ܦb��=��l��Qc2 -�o�k^?���m*O�0%���b�ra��n;(tI.Gs��8�.Gٻ�?T���̢:�:����rt .�MG[���Su9�"�+�d�T3������a[�e�#?�&�M~�g5��n�wIpGшv���t�n6m;�m;$2����P�N��D���3ų���Q�Q��@�7*Fe"�(�� -M��W�8�@~�="�&V��S�41�+�ı��'�5E'[�*41dQLȪ&V%Nkb��H%��M2741hb���q `�&�ZC�&V&�L��I�5��6��@C�5�,��K�#ȩ0�����8Ffa�Ѡ�:�&V�a:����c��!ۚX�,|��Y���,�����T ��gu�ީb -��棭���ѪbP�$���pq��4�W-Vf -1�ɾ�#��O�f�%]*bP�D�C�]�j���z����i���;� ���2n�6k@R��-����v<{\������4]&��sY�?Z�$����9����m -В1���}DB -tw �����^MhVK�Q��_���g�/�T>��ъ-Q_�%\��/��Q������Z:C0 �ٌ��Ţ��,e3*f d -n$3��̠U>�C�e`=��\F�\��2�@�� ��=�����r�n#�m!%/��� -n]�X�a���cd�<iQН����èM�0 -5��SW�b���v3;2�{�#t�'&0$6����8��t���/T�MGK��ߢ�^`){!��`��(�<q�`Za��셈��d�+�D9Ҝ�. -�/,%.$�1 �":"�!]���x�z�) �R(�PJ�O����t1M��#�c���q�GP�Y�Po�u���9G#�9��j��P4�n&P�y�H?������V�d�����30�<�@s���t��s��jE��+��h�;�sӾ�ͮ���K;�E�Y�J9�{�{�JW_�����69z�ʒ�g�G��C�o���1���h�9�O����I6��m+��KM�3��V�1��߹X=s#?w���E���K�w���/8�~�xP05�����y�m�Z��� -ү;l���x��~���B2D��g@ ��C����s%ލ%s�V2g�ʩ����s_1�� �y�/���"g+�H�b�#Z��2cYL,�G�nK'��#�*�D�X1w��4���T1W1� Sp�b�Hsa Ð�� -tc�\���b��*�@R.�ԁ��s���~\l�{��ݺ�<����#�NE���x�T6'F8�Y��.��.�!}���͂0�"��ӕ�W��Us;B{w�n���M,��E��܍G(�t���̩�-����V�E[3G��9�dz�ZX�z�2ޤK��9�!�ɵ��!Zn�����c�����{n+=���k������,�1,ۀ���qRw��JնSz��1L��*Ej�Z����1ԮS1 ���Z��C��C\�xF=�6�1���J��Z��=�I;�@�w=�C�ޤ�&=��@��1k��1�G����Q��6�p��c�P��l6T�j��c=��@�a�.�a�[�ÀM���@���èr7f���6�1���k7�zL�J@5*�a+��T�2:� ɛM:]� �so�o:f1ίM����C���?T< -��q[��=w���~NgI�L����d�����2���ȧm^"|8��k��+�K5������|�I��_���w��#7�|y�����*YۛZ�{�7�W}�I���&�XW � -�Mp�@����v��_����F� �M�o�;p���W�ֻ��z�J��v�9�֧����th��c����(�g2��9@42���IVG�B¯=�a:3O�s�������.S�ͽ -��7g���UWM��+ -�+Y��n��&twV}��f�X�]"|yI��p����"�fS��w�e�u*ĄV������byHo�Z`^�bO�b;YG�:|�O1��em�N=�&C[�ΘbrK�����b��1�:Ą&�����\9��=��է��0�],_M|��q�j��<�u�E3��e-"�����F�xH6�[��z?�À�~�n1N�0��+��=��ӂaz�ܺ���@��ଞֳ���Ӳ�h�i�[�9��la,�=��M+�03��ݙ�s�V�h]Y�;��--s�X����l���"Ҙ�d�&���� }��lf�oV��m��]�=�s�X��d�\&��U��P_Q+q=�e>���d�̠�̶��k��z3�w����b��b��NkO����ô?���}3p=� �ΐw��p������(Y��x]���C���Ph��yjrGt�vW���f����䮳��\�`�h��һ�D���M4Bg�^Wf�Nc�{�/eF��wW �9�`ZS��p�콛��'�ICM��p1����ur��/��w����4�V.7bwe�Hv�S:���yA��yY��|/&q�<�bN��E��ЊLJmWNr��YH�hO^�Y+P��^�Z-�8]�I%jU3 -�!�u�"�H*R�� �8����Y����,S�jejb( -�P�����Z|L��Dv��vQ��p�0u(�uUFIkR��H3CQN�0�]!MԷ���4ӡ*�A�x�{���"�Uk{ZE{�#� N�[�iET��g.G�t��U�).���W�G[�I�kr�d� u6��5�Ά Ԥj� -v����g�)N}k���j5UV��UUUll��ɟ.W�D�\���p�]Տ���v����@X��U��ҿ��Y�l+��rv��XY轚,?����)�$!�����ԓ�8�!S����H�PM%�V�Y��θ�#�|�L���&�����)w\&�}�DS��� -�0Ɓ�q@�n>ʄ9����_� �`�'�H���2!_/fkE�B�A�*�!.�l�f��B\W�E�jC��ӛ��ϸ�.G�4��4ӡ�,*�Ds��D�1���<������q�J(y��<�"a>�ax�����8�x�k�#n��dP -w�[/s0��\�@=�8ffs����Vq�x�:ȡ�ʃ6V���%@'h!��W������XW�_ -W�0X����RM��-�?���a�+�N�����ju���4� ' o}W�ժ|��4�N��|\��������Z߄Ɂw�0�L��< ��a"�z*X��]Q�Ϫ;x�Y"���g&{�F�.ɞw�+n2�2x�gо�>�##�{h0=�##�k; �����@c�'#{d${m'�6�#��� ��e�LA�P�������S\O�ƕ��fl���,����,a����\����ky����GT�Z�*GV���\�ʺ����Q-����� w��K>�� e�C�L���.��j&����&�cI�%]�C��PI�Tˡ��%]��g��/�K�9��1�y��9{?-��JL�S�� T��6ȝs�'��1�L�-�U�I�8ٺv�yQ��s�sc���[dm���ߤ�.������%]�;�Z�o�t����-��.��j�����m,��L��հ���5]"�j�b��aP'+��_,9�����<Y7#N��C�h�Ӝ#��1V���p~��;���v�YqN�5�c -i��п��������Vhz�#3˖�(��1�~Jg�S�����q-��㖞ut7E�g;�X&�V0�?뗃�-����l��l�B$C�0��r�_��+�5��2�"w�+�'�^N�����r�q�����KRz��j���SJ�%)��0�s�x����c�t�&�a�ܧ�#}�ҳ�<��39�V��<�J��z�D��t=_�����1�pT����z~�tt��w1 -]�@Eg�-�:�oWG���7d_5t�?���LCW�����<��A�@��e{��%��q��g�~��� ��6k~M#����P#( -�nC��B����n~�|�84�����v�-,e��$E��?��(�/'a�]D-����}R꽚�w -�y?��O��d���i�S���.c�[BUP�h��g\�3+��"�ZIJ2ەPX�Dj��<d�]�I��븺�P6GĪ@�(E�8��76J�bU�N� -jb�J"��9�A�ҊT�]�*�n$ ���\��at�l�HB��H,���vւϠoBUm��P,�}&�dn1��B���P��7��&�U��!��.�o�y��gb��ߐ���!�s>r����.�*���꜏j����Z�'��k��Nˆ嵁T�)�����(�ƫt��1}�x� -ǿ*��.:aK#8����,S7ҩjN�˪�����Y���� -���tZw�8dj���|�f.��]t��gq���q �m�Ӊ��5"n��K�l�� -��֭[�w�N�0͞y'���'�a��Z�]B3t=���d -yB�)�j���X>�'^�-���Y�X��%�A�&�d�h�ۇˇ�mڇu�OM�p��cH_�,�k�>��i�^��9���`-@�9ώ�ez�h�U����Y�ɿk�3֙v�,�����4��M�_�:��Q;:^ޚ�UR霗ۃ��Fa��0��@�([�wH����|�]7l����<���dt�#�3:��f�:��������~����3>�s�����Ǽ�|�:���^c�u6�Y!�9D���:�z��z]�ތ.�t�����^M�c���:j��μoJ�����Q�G�W� `r)�)*J������!X��G�������Kq[�W���pВln�{��!4��0h��c���z�ǿ֤�G�}r����_� -籺�C��9����>�a�Jp�;�!�qx̂[u�T�e��8zU�]�a:T=0��n1���1�۟#w6��l��?G��Mj�!:��r��b��ֳ=JgS�yP:����G��`�C�esb~��Y~4� -�x@Б5DzG�^z��N��C��>�;���o�>�9ھm��bu��g�~n�g��[�k�g���ǂF��.�rYy����YJ -��^��t�ξ��>�����9G�!G|���3r���9��� -9��NNߜ�ؐc>&��Ʈ'���*�T<��DŽ4]n�;.ðm:G�:���5ܣ�MC -Y�tʱޱ18�ְ\�YlH�G��X�u::GzI��A�<�OF�H��M���9�K:g9�PH��>�#��s6�M��t�gұ�y�+U�`�����SܲsrE�=��>�VD���~�fa���]�e� 6��6�l����6���|�@:lxs��&t$�-�M���l�T[�kg�Nk���nʁw���At�xj���?`6wc�ʶ���a��i)�n_��G2��d�8�k·�'s�H�Z�o���N2�c���0�Ŀ��fd�c�쒹�r��L�jٜ:9ےαӹ[�5�}:džM�n5�v2:�F:��t� -���6����96ҹ�ۦsΟR�H�R�)�nu9��(m[���P��ϟ��CE����(�Bޝ.5K�̣ջ�(�����V�u:������~�.�A﹟M�/ �&@Zdƃ^�?c�ߝ#5������6�\�QԔk���aj��Ӷ�v�Ц$t,�Q�b�Y�, �{|��Pܺ�w�NK|�ݓ��s�̪�:�s�\�#l�7�m����=���s�&�օ<w�e���g���}"��Yl�|3��y��g�a� -��D������˷��?PKN7g����PK�yW<pollen.todo�����Q(K-*���S�UP2�3PRH�K�O��K ����Z()��q�(��;�D�*���+G���*(�8z)%)J -@% ���,.2���E���9e�)�E�%��� Y,B3PK4�[-m�PK�yW<pollen_profile.profile�����Q(K-*���S�UP2�3PRH�K�O��K ����Z()��qq��e��q��ÙPK7Rp:BPK�yW< -pollen.xmi�]m��8��>��5�U=S����KW&[����j�JM2��U�p������/��m��H�E�E2�n[��#��9GGG����y;y�Q���Ƀ8&0pB�6�}YO���?�����~�|�g���C��6�����G�Imf��f��3�w����ˇI⧿&�y������5�'�<�'QyR��r�e" ������${��.��O&������A�@V�� -���$-;�6a��}���G���$C���9�o����{,�F����{a&3���I_������@�R>ԩ(M�)�;�!�t��g���$�����u�I�����B�h���]������m>m��~g�Ϗ�wza!Q'�����L�>}8��w���j�tjSQ�NEA��n;��Dz�n�3��� O����W�e��[} -�[�x����t|�w�ʾ��6��7�aR����^o��s;N"���=���UV[�In����_�v�B�ž�}�xo��^]�%۔<�I�DC���֒%�ǻO�_��I�s3$�T����n�I�cW*�VĂ��9���F�#��z��XBR\�R���f�m-��G* ���Z��]?�?`sڦ�����8��$خ�vbO�M�� D��((���,:r�jη0�ϳ]ާgvF/0�g�l���r`C/u�������ȱ�r���S�Hө,؆+�v>�M�t]GE���r�P���p��B?{��}���ɏ������ΰ?�}+�d:��ђ: -����֊`X/�ҟ���;MM[U�>��'M0GFQP��`�������0�!�f�>�C>O�ȷ� zL5�b��@SLW:�i�7�i�g��w�O��N�����.� -�s�o �@�v��mz�D�T�S�ȱ5����l��͞���ߥp�ۣ���ص�4�����E���GT�3+-�9�!�k���M٭&�ݮ��ҳ�q^�Zٖ�d�Y����X�5���Tu��j��^$I� DU7Qz��K���^���K���h�.����e���X��Ӏ�i���р���]״��d�A6C�\to��&x[?5M�^��|p�Ç$���p -, ��ח셓R�Y�k��e�1�W�w�؍�I��8t�@Gf����'�a�%�Ïj�r���I�f��:����«�����(~�o����d�`�iJ٬�0zu��?C�,��Dps�c -Si�\˲e�u�g����:��i�b�()���G�n_Ϟ�2�b6%��w J� -;p�,Uj�hqW"��i�Ł��1S�$�5�.��S=����)�R�y�'���Tʄ�6�>�Pm�g -��DmH���i�?���cY��d�� -��7���}Y��ܗ��Lqqs�s͜��������I�*p���>�=Z\�n��w���sxt.���ɗ�G�0��"i{d@7_�g�3��]�͘&��MOrmSAIZt�!�^g�f��<��]$\���+z��!P�A�[��.�7��4-�z� -U1M�ѐ\1�5N��Kotx��Zj��M^�R��ҹϫT�C��D�,M/D�ɋ^��]����)��x�*&OA$W�~���*�{����;���A{� �wa�'���)�#�E�8� ��D�ՇA�X���f_l!1���;r��7�*%[+h������I���a��U�p��wq#��.���J� -)i�=91s=�[��A��L��Y��x�jgu��H��k4�,���q�}�7FQ�e�l�I�䨮+gc:��k�/��C��~�1��r2�)F�s�T�� -`q�RI0�]'K���x�D@"Rk�m���!��� �a � #w�$����_ ��[I1��.9P�}�!��YcI~͵�a�Cr����MeÔ$��S����)D��z��R�W�t�ucl�2�;N+�6w�3#e�)�����]�ud�bV�?���+$��cF��t"g�k`�]��'�� ����VU�FL�Sl�7��dA*T"w8�*�6et�46�s�����D:�60L�|X�� -ٍg�E�m�QRܲd��"��t;F#a��9���KĂqB{�ܑT�p˹��^�X.j!��a���(�'IR�!M��շ�ƿ��r��IyD��<���t���H������ߥ��;��>| -O�� �X\��'����F_��Gq����:|~~L�ܑ\�p�$и�%� -�|��~x��7��*�&�^X0�i��^d����'��'�8�!�^l���VD��tN���W�][�2�}�ߛ.l�`�u���a���8�*ܤ&о7 �b��l��2{9 >�C��h����LbO.*�Ig� 㴥��1���x��D����k��T(w-��ʧ J���ǿոnt`|~ -�Xi_9���Q��MҀL�R��g��&���K��̅S����_Q��q����w ��$�eq�S�,�OCPtU� Ȳ�i�-�:�Q;OEaݸ� ;�j������YS�Cn= ȷ�*����{���V����O|�A��~�7�S�=:�� -T:Z~r����֜�Ԙ�$���~�b����$�|R����т0����$��\��8#�JV�?���� ����|0�٦�с� 7�"�ޡ؆$�y�ѱ�]����$b��q�.H���Jn��Dz�BcL�M4N�B20�#N*U�T�> -���0�_�{�=!��xzAk����ȹ�Z3A7]�Iqж0���$���O�0�r#_�c��$_�*U`͉HUޫum�rv�#_{�u�$��h\wڥ��lÔ�H����N� -��]3@c���OH� -�Fʚ� Ϛ\�p�иyɅ���l|s�+�{����T�h�|�(�,�Y,�`@�)��>��j�e�q����[�;�'� n]C���x�כ[�DF��khaE-�F$5f��Y��nF= ��ٱI1�٥ -� -��,�0p9�Hu�D٤y��R�����:�7W������Ѿ_. ��Ew�|����p��N�Cj̏�l�����I$:V���y~�R� -<#ɗ<o pr`��m�3��f|�D�)��=@JP�pC\p�[���gd�c�U=(5ۙ� ��~ -x��@,�!#�A�(�R�����H��2_'�9� -r�bqq`�ʸe]Sd��fV%�5��"g�jz��:����/����P�C�!DN� -7D%W�� -�Yw�tWS4�Y���0K��O�RB�C�H�ï$`�K � -7GyM���J�YI5F��=���1��+"oF3 �I���W� -7W��L��xeb����r(U�� - Dݡ1�8ۚ���=g�%��!�Dy�q�½s@c��!����T�6&�#�KXc���Xfe��1� -��0�Ï�q�,$�i��h!Ò�q���4)_f��jBq�����T6dG����@�#����Y0�2|���O�NE�O��ɵ��MIr��?DC�����]� �N��2a�t��6�Ar�c�kG��$��kت��@�Liz��i��1N�{�T����#��P���:dZ�<�C�?�.|�����)�0�ē$�Q+�bE��*�H5��=gN��~��«��D.��_9W�h����Ɉ2Wۢ=:,ra����>��6���&���=�0h��F���e9�`ț�/cd$�fK�Z�$��AB���y�Z ��C��;��{�%���zu�)�Y!n��i��Q��&�Pɔs Ƣʀ\R)S��TJ���Hr!,*~炆�R�V�^�����Q�O;c\'|N�s?a�v�#^\�͌���hӓ\�D�ՆLB -RE����������D��FD�-��F{�`FI�f�1O�j -�]*��Vш�٠LA�v�U�L���(?1{�a��D�Ȟ�T�ˈ�0�{4�q Oo�6�v!����w����rj -��~���wL9�vin�x�[���#�*�L����9Sss�{�UYp�)�o\q# -�Hq# -d��ۿ��:X�ĩ�$���9�5����*S�}ilhۙkl������:�LE�^�}X�dUAg�CR.@��qV�kjU�@��<��v�l1��+xW<��\���Z.�����r -�zѫ#CιJ�CL�%�!g���Y�m�J���N= �*��:� -v�j>(��BȜt\'�.4袒\���K�\7�Z7�׆�ݼn6Gƫ�Ŋ�Zs��Bx���)"Lr.��i�Ic�}�u�k�X���9���A�0�d�6\A<t�l���"]Ԓ���pj�ݼ��@��� -�[�*VC�-�vT��;Ŭ�2~C�� ҄#��;�~2���I~hUɖ�nT�%2��/Qtγß�� �����-d.��z�,1ҁ[�"W����W��1�5t�4͜kdCM;���Z7������[��M��=��7X�+�����X�5˺��%K��o�G�s�'K�����1��ˮ-��]E�JZdƕ��o��S -²�OOT�t�����(��uL���,|�W�n[;|�1U��p�,;��}=��ܡ�'���6o.��i�g�"�Q�'� -.��6zW)m/)tg/4�A�j���3��g��,��V�����̙࿀�=?���rP��N -��YL���T���J�/0���74@�K��n��ݶ�` U�Yk���m� �%k�kDZ��z��M� J�u�W��an|���o�^��������'�lӦ%}w)םJ�-��R�b�[���>ȅ�pj��ޭD���d��} ��\4+���ޑ@��Dտ ܐ39�Dک�o%+j�Q�RreM��>�wD���l���h����媯�Z����-�`� -L��`��ok�Cij��Yh�r��>dgP ;)����d���N�Az�(ԑ�w��]���G��SG����Ԩ��:�����$�e�^�.�� \��F��r���0/[J�ׇ��������,*�gѢ��/�� ���b��-}��(���˔vhߜc���ߒ��gѠ�,k��GE�V���d[È�+�]�ɂ�\�B~2�s�J�B|������ƽL���" -�[��7��p���X_��(�.+�G�նf�j[S�7��V.�^���(�v���1Ǘ�U�����h�?K`��b�Tt?���'�T�Obs��D7Kd�p�D�Kd��gI�[�*>|��Ī�Ԓ�L�A1v`9r*&�r���!���.O���O�BwVк�ӇBÒ��\�?J�gR!>�����B��@��6����0=V�. +z��z�`�H�-.�-M�{G�S3*<"C}II�(�i��7��rQ#e3eRy�G�$�Rcޑ�R}���y�A��h�+����aT&U`����z�N��j��8���C�qw���;8b�Z7j�J!D{���y�^v`o;(��Z��+����s����vaF87�1ۜ[f3��C�Kʛ���*����eIJ(�Z���&��b�pږ�o����>쿽�E�h8����[�K`[ڹ��Av��PK-��\��筟�� �}���s�A��^z�2�u�RȞ��pF�X������|��b��wc�N���]�>�5������u/tB�L��O�������̎ۖ�<�PKptB�PKI_X<pollen_DC_Pollen.pgml�]k��6���_�۸�O��!J����3�Iv�LX,������j������m=�Eٴ�H�"ɶ-���U��S�⛿��}�W�y�|{����Q��$��r������/Ë�_��{�_������F�3~�o���㻟G�W���_!>����j��ߖ�fW��,y���L���j�t�ތ7�ɿכ��d^�W�����b�^�o���KF//������×&��_#?� ?>��/C��^{��.���r��������d����]���V�������?��������^�(��F�����������z����>�����&^����s�i}���<ǫq�k�����?�7����e�����ϫ���š8��������ϓd���^|�<���|�����wv?,Ɠ��]���<��_ƛx��������f��-�\eS��M�����^pl�?}�O7��^��s<�}ޤ�d� ��j`�qy�7�a�F���"�U���!m����K�R5��_�o�7��k���j��w���_1�� T��@1� c(�C����z����F���&�cS��H���q0`�Q��L�1�?��c���ϋd��;ߌ�������Ty3����SPq�����7���d�u��xɝb���_�����ͷ���O��7ߧߵ,�w?��g�&4�:���lǒj�!�A��!�5_��ƛ�$yYnJ�*����=���j���.��(܅9�;�<�S�9R�8Ffa��0�Қ�8 +���y��r��ܦ`��>ca6��1����7Oɗx��� MG�g1_��!����c�.���a.w�G��(#;����r��Y�Q�r�Y]������h�r�{�.Pz�����j*E�����q���xK~��^�~�g9+�nRw)pG��/Ɇ#�lZv��v�T�1����x��.?���Lf��T�ҏ��*�Q�b� 3�|�mhb�1Ĺ�S�a�5��7��Đ��\�&��lM>Q�):�:�BC51Ʉ�jbE��&�M�"Y� cpCC�&F�4��T4���4�r0�g�:�t]�}�41d[K�\��AN�����Ĥ0�12sD!��-�Q�4��4H�Q�@��=ƚ��� f��{f���s�(&SHS��B])��t�S�*�.���NW�G��!@S,B��ADe���K3����t�T�3Kw���z�5Y*bP�d�C�]ho�~��֛_8��p�z�2n:��½7E�ՠ +)��N�O���9�{�>��6I�xY�yP�9�,����/g/�YkЦ�� �-�G$4��а A�����9>�A=�Ո����E��|��|�N�3p)��-��e[¹��%�zٖN������Y�f�/.��f`%�Q0� Sp#���d-�Y15���Q9Ð��kr��ːI �2�@��TFZޫ�a`�9�BJ���� +nm�X�a���cd܊��m˩�k9��4H�Q���rꕷg0��ƖLD������� �MDj�t8�9�c��*�K���Õo�f/���P�P I&}]?s�`Za��셌��T�+��>"�)��P��J�B�.�t�t!�����K�"�~�g����d>���#�c���q�GP�TQ�&Xz���s4@-����&@�z��t3������� ��G���&�ūZ�#-�L8)P�d���a�S�V��.�"� +ֽ[���tz�X$_��.���P�9��S���d��)yYJ6���W��?#<X|�&x�ח��NSx?�<�o�5^�,6�0�/5T�φ-�� ����7�p�/9Y�����sV�|���+��������ϻt��|93U�~����k�ُߞH�H�������r[z^�wm�.��٨rj�b.�\�W̅a�jD������P�l��}�y�T�)U�qD���g,���,\��lK'��#�*�d�X1w��4���R1W0�j +��X1G���0��a��)�P1'�T̑RŜH�%\u �z��'�a��Z���ح��'t�v*µU�C��99�q��"\qQ�v�Z�\i�٨(≊1���9b�jnK(�`�n�-Bў��Es +��><����ő�ֱ��*wKg����o����fN��^5s�u�4ޤK��9�!穵�������W1�T�M^��6�cHI����nO�����n@C�`��]=�P��C5zS��B�Z����m��z����&}*�黭��Z=��+�Q���zv0�/���F��=�);�@�u=�C�Z'�:=��@��1k��1�G����V��6�p��ch_��t6���ʑ�[��z=�����nuz61:�n=�cX��*wc�{i���0�Q'��cjU�Q [ٵ��ѡIH^���\���~l̽;��8�6yYM��j��P�(>�M�B������%���3-һ�d��w�R�S���ħm�#|8��5I����?�����>�8�q�_���w��#7q�<�����2^ٛZ�%<�Ǜ�+>ǔ���qo�+��ԁ&�N����b3恌/�N�]-��&�7�8^� �A��rz�\&�r;�P�S�rvb +Z4���1[��w�3�~� ��E�$H�#i!��0��ŏ��wu��w|H�)��^��蛳�xy�̊����������F7�W#�=�>]}����.��$�C8�Ѓ���D��ć���]z�J1��ea�@=%��қ��W�ؓ灘�N�%�Ѥ��lǓ@hcYZ�S����V�3怘��Rjb�%�:�cH5N1��e1�`�"W +!]�mw��?�v�W#�]\����[�kmi��`Y�>.x�.��3�ͺ�����MF�a@X?*�'~�����ƞ`�iA?=Mm]Y~�R � +yZpVO�Xҧ����h�i�[�9���la(�=��M+�03�wh��ùq+E��,�@���9}�d~�_>�v���Ԧ3�� ���8H�h/��?��f3�2���{l�2qu.��r��xW�L�;�V�:��<|b���2�A�2�MaW��<f��<��������l��&֞*�t;�ii8�f�z8�At��p������(���x��\�!w�y(�M�jrGt�tW��f����䮵�[_�`�h��һ�D���M4Bg�^[f�Nc�;�/eF��wW �9�`S��p�콛�ē~Mc����]�:�C�W��%hUuH����P���N�x�D^�6�b^�4R��$����ϩ�T��Z�I��fI� )ʻ��T�Y+PS�^�Z)�8]�)%jE3� +27��"�H���H��Gg-�>>�L-*��ɡ$�,�:�t�Pm۪�cR �[���r���(��CQ��2�H)XS�%@��r��m�D]+Y+O�4U�4��^�㪵�n�ڎVD���H�K����TZU�����9�c�k��NGS�+ߣ-^���55{*τ:���J�����@��V!�î�5U���췊S�jk��RM��Eu{UU�źY��K�$Q9�=p��tW�쮝���A�9/�vpe�{U�_���X��BX8��� +�,�^�&�a�hf�.IH&hL�0�8Fc<C������)���J�!-ij���q�G����"dM%�M����aS�L�*��!Ȧ�2��Ɓ�q@���2��\#r��:�LB��%�t]&���t��S9�V%B�B�v!k6ڝ!ĵ%Y��ք�:� +q�����8:�Y��A�� +ɢJ4�K�S����`�q:���'����yPa���)�q���� +���op8�{PIfQ��F(�4�s)�&z�1p�� +�������Zu�C_�m��[Ts�N�B��3.��[�jz�b]i~.\��`������;[�L��fWy�l�%�����#{i6A8(NB�����U��iڝ�#��Z�ߢ���ﵾ ��ja����~,��D��T���T�v�r�D\��L��bm�=�0���d����dϠ}�}�G��>�`z2�G��t��=2�����OF��@��N�m�G\'{A��Y�C��_�c��z�6���7c�6Ϩfi��� kq +'su��{����*�*Q�JE�YY��j�*k{�'�wF�l@�v~'���.��j&��2GJ��3������$%]�t���BI�R�����t}X�_�Ͽ�,�� ��T� �r�6~Zr�����T�A.(�n��sn�D�;��U�CK����$�8ٺt�yQ��s���1���-������oJI��o�{�[tΒ�ΝS]�o�t4���-��.��j�����n���z=�VÚ.��t�H����x�W��g��9}�ūzĩq�` +{��+Ǖ�la�}=�@��a���d3�RqN�5�c +i��п,��Fhz�#������rܧx�9��O��r\Z.ǵ���X��{�������b�X�]����_f���#�i�0f�z$a�ǩ,���\�����^������\fFX:I��r�oMN���ӏ�lץt_��K�U�FP�|�R��H���q@�c��~�+��%)] +#�>��0�u)=m��1�?�#iUK�P��p�s$µ�����.G8��Y��%mU�}�����Tt��b���vu���y}�5YCW|��s�Z�4�J_���W�k+�5t� v9������Ƌ��u�5���Xܵ��b���q!��FM7�|>�}�~~�};;��2�K R"Qڟϯ(�/'a�]D +����}R��w +¢�y�r�'f�[�����4�� �V���-�*( U�t�3���ezg��b +�F{z�*�&T�T[�yȄ�.V�XE�#�qqáj +��U�"VQ��q ol��*�N� +Jb�J"��5��A�ҊT�]�JD7�]t�/�l1���x�J�n$�Pt;k�g�5��4 +�tT,�}��dn1��B���P��7���&�U��!��.�o�y��cbU���ʃ>*� +��!p�z{�*���ī�9j����Zo(�XO��� +�k��S�7\5�Q�/�巧�e}�*��kC�hQ�͍�V:�����NQsRXV��$�fϢ�G�+��v�i������5s ���sT?���o��K�l+�V��q� +\Bg;�n���7n�b���s҄i��;��=A +��������� M�k MV��$Pc��ˁ�8�2l���'�J��v.Y��5��SF��>�?�l�>��}դo:��EΒ�f���V�u�Ή��������3���Y�g�vX��:ю�e}����8c�iG�R��M��K� �ؔ�E��?5�s���\!ua��y��qHi�knSoT���-�9m;�J>6�:E��V�u2:���kz��a��q�;L���o?EM���k��A�q�|�c�a>g�]���:���,����Dylp= +�u�.^oFs:s���y�F��XDĿXK-:���m��S[0*����L� �;YA� ���#{=:$���q�l;��!�R�V�~�&��ځ��8�&���{��o��{����t�㈺�A�#]���k��<V��ch�=G܂0�7�\ nm�a���7�Yp+n�j�[��Seإi����g���-��8�v�sgC{g*�st�ٔ��A{ g+.��l��P�l�{*��|σ�����b��X���hV�/�&z��:���Ho�پ�)�T8��a����X|�h�z�����}�}�c�6��K^��n9;�0��R�Q{�L�e��rӷg)5,J{ +�ӹ���Q���=�Nߞ�ؐ#������ +9�Cv��ņ�^'�o�Pl�1�����NNcד�TU��1!u����0l�Α��N����4��IH!k��N9�;6���#� +I���!��NG�H'�9�'����<����u:G:I��! +I�ۧs��t�&���q���L9�T����,5W?�z�vN.��g�7g�j��Ar^���,L�l6���7&�MBБ���O�uH�Moϱل��� u�MX����Y���f|��Z���|�-�9r�˞Zf>���������9��l�VYE*��W����5��:��{N�����ɜ?����&s������bgoB�_�r32wбzv��]>�m&g�l�:9ېαӹ;�5�}:��M��4�v2:�:��t����������96й�ۦsΟR[��������0���ii^�Cm�?�Q �!��Qv��?]j�X�G�wQ�t��2���t�/�$�3�]��s?��_�M&�4Ȍ��ƨ�;Gj6�<����m��N���.�Z���>��٧Mk�=���б�F!����>��1l +����y����=��P>wȬ*���9w�e;��f�y���l����,=�l�o]�s�\�V^y*��'r��ֺ���o�ǹ6��`��ȁ��9���iq���PK��A����PKI_X<pollen.todo�����Q(K-*���S�UP2�3PRH�K�O��K ����Z()��q�(��;�D�*���+G���*(�8z)%)J +@% ���,.2���E���9e�)�E�%��� Y,B3PK4�[-m�PKI_X<pollen_profile.profile�����Q(K-*���S�UP2�3PRH�K�O��K ����Z()��qq��e��q��ÙPK7Rp:BPKI_X< +pollen.xmi�]m��8��>��5�U=S����KW&[ncoM�$��d��U�p������_������Ɉ��Il���G��s��ߟv�g�~�~�݉�n't�`�}�ח�ܸ����O�������'Q�]�K?���_��> ��"|�.���=p�"��n���_����7tgh�$e&��� �����LD���O�Y�s�o�0z?���� +������N����0J�{��6̰�r��W�� �e����-��M_��w��֨G~=��^XH�B�E�u�g?N_ }�?,������u.J3�x������~:��3H�w�~���o�u��Y�W�����EsLO0`��ݬ�o?�o��y�����P~�|ҋ�:a���}yd�����q����\S�sØ��|. +�\�tۑ5� �Гux��07AxίGA�{_�+{ԧp��A�w3?������N�R����0���0LJ������c�xi�I��{O=vz��f�[$`���W�;�⦗۾�~�xo��^]�%۔<�A�DC���֒%�w����_���M� .H�����������Ǿt��-�����_7���6��� +�2����>�o�i�[|<QI�wݗ�/��p���}*J�L��Г�MiF�T�TB�ˉ��xޝ�@�X��F�i���������b�M�8�Sl�!re�7���9ݸځ8F��T*�|.�� +���nS6]�QQ�{�Zݕ��*�շ��^>�D��w~�#�t�w��3�/�J,هN�?C��NB( +���"V����ϧ��u8�M[U�1��'M0GFNQP��d����^�0�!��!�C�L�ȷ z�5�b��@SLW:�i\v�y�g����l�F��p�?�R] �4��q��`��Ëv�cmaR}NU"�ތN*3��e�x:���M�jV����*O��S�({ٺ� +���+�%�#�k���M٣�f����sed� ��T�nd_ޓuf�@O�S�s�D.�sՁN���z�$�&U�D�E�j�Ђ�{�b�/����c��wa�D�>�ߜ�ĺ��,N� +n����uMhN6d�0�E��lb�g��S�d��H��3>$�'����p����pvWo�F��G�b����=5v�=B�8?Бm��� Fq| ����ܢ1}֩�;4�ι7���u�v������G��o�e0�4��lU�\����?C�[`������ �����e�B�N�VMѵu ���4�pQRy=��� ��=e���JT��A�� +���=Yj���D������@L��8SԴ�����T�J���J�橞�*6R)��(�8@�S�)���!��rO��ѕ�����&��o�o��6�e�ns_F.2���������}h�����@�5LRU��H��D��!����pK��Ko�Ë`pi���H��<r�gI�# +��Z��\����n�4Y<�hz�k� +J��K1H��h����Q��"� +���\�W�B��4wy�r��i���#W��i����堮q�^z���9�R�Xtn��Ȕr���}^���&�fiz!�L^�V�f�P=���]M1ud��T1y +"yS���|ԫtb�a�:r��\�;�u8'|ڇ��ܦ"�,(r�8i�㰃6�ViTb�}=���[("7�ʍn����ZA#��U\ML�h�o?�ޮ��+������t�W�nHI#!ȅ��i�z�ʽf:��ʍX���V;�ˋ" گ�̲2BK� O����H���Q]W�<�:t�a� _5�^�}�1��r��)F^s���� +`q�R)0�]g[���8e" �5Ndk|HwDqq`�k��l����w�eR���H���uə�R&��IRg�%�5�"x� +ɹ���6� +S�\//]&����5�K�KV�I�c�c����qހ����)COqT'��*�c ������s�� Q}3�=@���8����b�hN�L���SU��1�N���0�łT�8D�p(5`m��Xil�s§���KD"> + �+5�!���(ۢ-:J�[�]Ӏ�VdБn�h� ~<��x�D@,�ڃ䎤R�[����&��v�F<��r{���Ҥ(z}n�ɟ��'O�#�e��(�ŗ��G�рf,f�>��a4��5<�>RNȈ����<����6��=?�����B ����1rGr���I�1�%� +�|��~x��YJ +n�Zo,ȲG'/���~�IV�ϐE���+aÉ�Rr+"�`�&�@�F��ˮ-�c�>��U����H��0@{|�J +nRh?�U1y6�<��^N���>�)��}l �ؓ��Ȥ�3��q�S|ۘ�mc��^!�Nx��<��E�vG��e��e���o5���B�/V�w�,�sTjp�4�S����ٮ�I�b蒤#k�,`��W��p$:d�]|#�wY��T8���]5�jx�gK�eT�(ls���VYȰl���r2�� O;(5`M�?{�uV�T{��>� ���I��z�.���Ն����"h�)�5�,5�<�3���A,�!����OJ +X[;Z���T +�d`P�g\ɪ���P�+Aqq>xr�i{�@t�lB�͖�tt(�!Ihkt,Ep��NL"��g;�4������|L��.4�$��D�d�+�!�H1��RN�� *�şr� �T��Zcd��G�o5tӅ����m�HO�ڸ���o!7�:��ۭA� +�R֜�Tս���.g�8�'Z��H"،�}�}����6L��Tj�=@��Tj��Z�54�MN��$�`�0R���y��R��@c�c'�����4�%V�s���TjpC4p��O��,I0 �MG��V������~�����I:�G��t@,^y���� ��G��i�-����p#��b�@�7���u��ؤy��R�Jc�l��H�:d�lR��Xv�� +qA�t9N�����R�hO�H�j�]0��^\���cG����c:�0�r\:�D�*�� ��YjpC�g$����N�,]w��F>܌ϐH�#���C J +n�.pK@�����qU +BM:sc8���կa'� �22$�2(5�!n Z*��d~.�ۄ��]A@�*'�I��[�5Ey6�*ٮ �*T�e�)�8���z��B�I�9���\I�*�f�A�]M�l$fQj�Bp¬T�!U +H �f"���� �o%���54E��#*)f%�[�ltBsc�+�o�<�̀H�C�"�+^��d\F1�F"�U���:��y������Cc�q����ǔ���tȐc"�<�`��l|�.�,�-�!����H�R�X��r6�Y�s=���Q�1?����6�w-dX?��X�&���RM(.�^��B�ˆ�@���BH}�V�;�X�O��ł�Ţ��v��v�)I���h�"@t�������}~+�L�8k$w9���p��O� +������T�T��gj�6{�d�;��b�(��y6C�k��]h��8�8y��=T�^˦��`ϒGq���M��8"լ��\8a@'�c���N����s%���<�ی(s�-:�C�"F~���9�߲$��Fp{zf +t�Hҵ3�,�ys�-`L�����IT��A�� +� H�8�����D�8�P-��Ɯs<���@R�.6�0K ����>�v�g���9�`l��%�{ju�ʝ�u<�Z��sACoR�V�^�����(h�_�`\'|J�s?a�v�#^\�͌���hӓ\�D��jC!�"�����ۛ���D��FDȔ��I�=e0��a�Ř�V�ٮ�дU4�y6(SЪ�i'�)p0�O�~����H"�d�C��UDx��Mg\���K���.{ڬ<a%No��SkȽ���d�c�1@�+� p+�ċ�ܚnG�Wٰg��F��ȕ����Ӯʂ�Mi�|�iX0E��k #/����U����'Ne��7=�A��G��VY�����mg��]s�Ӈu虊 +�<}X�dUAW6CR.@��qшkjU�@��<��v�l1��+x�<��܈��Zn�����r +�zѫ#CιJֆdu�tmU6s +�L�1]�q��=>��]4j��㱡����S�dž��i�*�NX/e�^(Y��kb]��8�Xk|+|��d9��ad�Ԇ�ݼ�DƦ��VoL(,��(���$�R�֚4�?�n�t�k���7�f�,؆+�G3ΔM�uT�;Z2���Nmq��W���q���ڪ�M���tK��r�l���0��7��M�!M8"����UȰ�p����U%[Ul�ɨd+�ߘ�xcb5�2���;Y�����j����s�8�X{|<'�܈+b-1�5t�4͜idCMU �!�nn���ӷy��bؓ�G��y"U��E'���5߯�(]���~D?w��P�t�iP1 +hӸ��ڒ��ZW�3���s�75�Z�o>X��-7���Hhy�W�:&���o��Q\|�r����ˏ����qD������������EX9U��^�8R�W���0�N�t�5���6��������b@~��!������<���[z~�_(��R%]L�s�xRC��"�/�6k���a��o�ʫ�p5�����m���.��̋���K��;֎c����m�nA�y1�^8�>~��1y&j��x���k��Ǜמ��K�v�2�m�p����il9 m�B�a�� ���\��F���J����I�hOK ��Y�!?(vB1R�$pKv��pi�r��YQ;OB퐒+{��H���%#�9�7�Ӡ[o���7}Q�B�^>h��%/����*���^\����g�Y˭�n���A��t���6���~1:���PG�ߙkN3t ��~tAWSL Z�RtD�R�~�Z��3�R���h��f3��6�pu�Hv:�eod��¼:m)_Z +> +��B�賨�E����YC��V���o���ʁ�b��ڱJi��-�\;V+� +�} +�˪f�`@|T�>kͨ���F_9wat'r� +�Ɍ�k� +���^*֎�2��ۈ4�oê��ه�BcU|}�n�@��VۆU�mC�A[m��z���@���/�_~V�~��,�Q��%R1�Df��(S!?����i0�,�Q��iP^,�Q��% T�oê�h�Z�>SK�/0 +�i�ȩX<��.�ʏ�hK���R*?� +�YA�~�/ -nSK��6�S|*S��芥�Q�9k��]4*�Oc��bа^n���[��`u��I��ϼ쵢T|T,x���&��d4�ŚS1x��9 -a��=�nL��.���(]J�G��e�h����b�m�����TXV��%��%���%3�� -�E�R�u9��Bq��3/�[Q!��������="#3 �N�2�0�Ӥ.ԈRUQ���%��%6nJ�>|y�(q�����C���@�6���D�kJ2�fu_tk�Q�Q���f����e�.JB-pa�h����0Lؽw�b`��:5%1�iM��>�xp1P� [�ci%۸���I�ŀζL��(�&T6� ��iB�d��N��ifyr����+��ࠠ�o���XT���/c -��k�r��ѫ�:z{�Y�QP����D�_2 -J<R������ᠠ*xqd8(��#��_$��w}���ˮk�@sRȞl��胼�.�\��<ے@�RK&y���1 �.,H�?�bd�KF#y��Q�$�� k�|j��ZC����H�?v�K�#�L���٩_����i���H�Ϟ�ѩ����c{�H0w�� y��iI0w�������d�vA���� k#�f5���CS�Md#�2��^62�i#�y>@�@OUStm�f��4�pQ�� wohb�(ߓ�@:�LE�ޓ(i��ɪb�6�B�'Y9��~�'j��1wz�"����w������ �����_���_PK �;���PK�yW<ptB�pollen.argoPK�yW<N7g����Gpollen_DC_Pollen.pgmlPK�yW<4�[-m�4pollen.todoPK�yW<7Rp:B�pollen_profile.profilePK�yW< �;��� -Xpollen.xmiPK1;5 \ No newline at end of file +[F�r��(�I���[F�[ +~�۔V���PX��(4�M-�۔N�T,�*�;��F�欱�vѨ�>�U��A�~�e0�_nTL^��� +��y�kE�����0Y5zM*&��h����b�.Y��K�L�%z�=OL��.���(]J�G��e�h���H�v�#:Ğ~�{���xd��XQ�_��_Q��M�,*�ʭ�5p(���^yߚ +OR�G�����x$�;�� ��H���P#*UE�fn��>� +\���%�����b�� +�[�}%�.l + +in(��[�m|�mFEGAQ��,!�E�K�.JB-pa�h����0Lؽw�b`��:5%1�iMl�>�xp1P� [�ck%۸���I�ŀ��L��(X&T6� ��eB�d��.��ieyr����+��ࠠ�o���XT���b +��+w +�J��UY����,�((�Z�O��/%)l�z�g8(� +���_ +���p��Ƀ�b����y�uMhN +ٓ +�P<}����K��#��$��ԒI~d��r�$�?�fd�KF#����I � �����k +Y�Rk#���+\�`yfJ���N�r$�Ϟ�ѩ/�����2:�����؞7�]z=H~�2�$���{ ���zu2S��� ���� k#�f5���SS�Md#�2��Q62�i#�y>B�@�UStm�f��4�pQ�� wohb�(߳L z��B�A�4O�dU�Q�z���I�DF.�B������F{̝��H�w{���>��p� �A�������PK�\��tPKI_X<ptB�pollen.argoPKI_X<��A����Gpollen_DC_Pollen.pgmlPKI_X<4�[-m�(pollen.todoPKI_X<7Rp:B�pollen_profile.profilePKI_X<�\��t +Lpollen.xmiPK1D5 \ No newline at end of file