<commit_before>package fape.core.planning.planninggraph;

import fape.util.Pair;
import planstack.anml.model.abs.AbstractAction;

import java.util.*;

public class DisjunctiveAction {

    public final Set<GroundAction> actions;

    public DisjunctiveAction(Collection<GroundAction> actions) {
        this.actions = new HashSet<>(actions);
    }

    public DisjunctiveAction() {
        this.actions = new HashSet<>();
    }
<commit_msg>Changes on the handover problems: Introduced handover2.anml which is much more complicated and as temporal constraints on action durations.<commit_after>package fape.core.planning.planninggraph;

import fape.util.Pair;
import planstack.anml.model.abs.AbstractAction;

import java.util.*;

/**
 * A disjunctive action is a set of ground actions.
 */
public class DisjunctiveAction {

    public final Set<GroundAction> actions;

    public DisjunctiveAction(Collection<GroundAction> actions) {
        this.actions = new HashSet<>(actions);
    }

    public DisjunctiveAction() {
        this.actions = new HashSet<>();
    }

    /**
     * Extracts all abstracts actions together with a set of values for each parameter.
     *
     * Invoked on a disjunctive action <code>{Move(a,b), Move(a,c) Pick(r, i, a)}</code>, it would return
     * <code>[ (Move, [{a}, {b,c}]), (Pick, [{r}, {i}, {a}]) ]</code>
     *
     * @param pb Problem in which the actions are defined.
     * @return All abstract actions with a list of set of values for each action.
     */
{'fraction_non_alphanumeric': 0.1145902731512325, 'fraction_numerical': 0.0006662225183211193, 'mean_word_length': 3.5240963855421685, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3111683', 'n_tokens_mistral': 461, 'n_tokens_neox': 443, 'n_words': 137}