diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 916963dd5..4f570c255 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -16,11 +16,27 @@ concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true +defaults: + run: + shell: bash + env: - GAMS_VERSION: 43.4.1 # First version including a macOS arm64 distribution + GAMS_VERSION: 45.7.0 # Oldest version of gamsapi allowed by pyproject.toml depth: 100 # Must be large enough to include the most recent release label: "safe to test" # Label that must be applied to run on PRs from forks python-version: "3.13" # For non-matrixed jobs + # Install: + # - ixmp: from its `main` branch. + # - all other dependencies from PyPI. + # + # To test against other code, such as other branches for open PRs, temporarily + # add lines as appropriate. These lines SHOULD NOT be merged to `main`. + # + # - ixmp4: pending https://github.com/iiasa/ixmp4/pull/171. + # TODO Remove once the PR is merged and a new version is released. + upstream-versions: | + "ixmp4 @ git+https://github.com/iiasa/ixmp4@enh/remove-linked-items-when-removing-indexset-items; python_version > '3.9'" \ + "ixmp @ git+https://github.com/iiasa/ixmp.git@main" \ jobs: check: @@ -113,12 +129,7 @@ jobs: license: ${{ secrets.GAMS_LICENSE }} - name: Install the package and dependencies - # By default, the below installs ixmp from the main branch. To run against - # other code, e.g. other branches for open PRs), temporarily edit as - # appropriate. DO NOT merge such changes to `main`. - run: | - uv pip install --upgrade "ixmp @ git+https://github.com/iiasa/ixmp.git@main" - uv pip install .[tests] + run: uv pip install --upgrade ${{ env.upstream-versions }} .[tests] - name: Run test suite using pytest env: @@ -130,7 +141,6 @@ jobs: --color=yes --durations=20 -rA --verbose \ --cov-report=xml \ --numprocesses=auto --dist=loadgroup - shell: bash - name: Upload test coverage to Codecov.io uses: codecov/codecov-action@v5 @@ -169,7 +179,6 @@ jobs: - name: Set RETICULATE_PYTHON # Retrieve the Python executable set up above run: echo "RETICULATE_PYTHON=$(uv python find)" >> "$GITHUB_ENV" - shell: bash - uses: r-lib/actions/setup-r@v2 id: setup-r @@ -193,12 +202,7 @@ jobs: license: ${{ secrets.GAMS_LICENSE }} - name: Install the package and dependencies - # By default, the below installs ixmp from the main branch. To run against - # other code, e.g. other branches for open PRs), temporarily edit as - # appropriate. DO NOT merge such changes to `main`. - run: | - uv pip install --upgrade "ixmp @ git+https://github.com/iiasa/ixmp.git@main" - uv pip install .[tests] + run: uv pip install --upgrade ${{ env.upstream-versions }} .[tests] - name: Install R dependencies and tutorial requirements run: | @@ -213,7 +217,6 @@ jobs: --color=yes --durations=20 -rA --verbose \ --cov-report=xml \ --numprocesses=auto --dist=loadgroup - shell: bash - name: Upload test coverage to Codecov.io uses: codecov/codecov-action@v5 diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst index 22ad5ad09..7421205ae 100644 --- a/RELEASE_NOTES.rst +++ b/RELEASE_NOTES.rst @@ -28,6 +28,8 @@ Users **should**: All changes ----------- +- Some MESSAGEix :doc:`tutorials ` are runnable with the :class:`.IXMP4Backend` introduced in :mod:`ixmp` version 3.11 (:pull:`894`). + See `Support roadmap for ixmp4 `__ for details. - Adjust use of :ref:`type_tec ` in :ref:`equation_emission_equivalence` (:pull:`930`, :issue:`929`, :pull:`935`). This change reduces the size of the ``EMISS`` variable, diff --git a/ci/rtd-requirements.txt b/ci/rtd-requirements.txt index c95d06bc9..7ed6ace09 100644 --- a/ci/rtd-requirements.txt +++ b/ci/rtd-requirements.txt @@ -1 +1,11 @@ +# Requirements for documentation build on RTD +# +# These *should* generally align with env.upstream-versions +# in .github/workflows/pytest.yaml + +# Temporary, pending https://github.com/iiasa/ixmp4/pull/171. +# TODO Remove once the PR is merged and a new version is released. +git+https://github.com/iiasa/ixmp4@enh/remove-linked-items-when-removing-indexset-items + +gamsapi [core,transfer] >= 45.7.0 git+https://github.com/iiasa/ixmp.git@main#egg=ixmp diff --git a/message_ix/core.py b/message_ix/core.py index 652b64d13..b6ba47762 100755 --- a/message_ix/core.py +++ b/message_ix/core.py @@ -3,15 +3,20 @@ from collections.abc import Iterable, Mapping, Sequence from functools import lru_cache, partial from itertools import chain, product, zip_longest -from typing import Optional, Union +from typing import Optional, TypeVar, Union from warnings import warn import ixmp import numpy as np import pandas as pd from ixmp.backend import ItemType +from ixmp.backend.jdbc import JDBCBackend from ixmp.util import as_str_list, maybe_check_out, maybe_commit +from message_ix.util.ixmp4 import on_ixmp4backend + +# from message_ix.util.scenario_data import PARAMETERS + log = logging.getLogger(__name__) # Also print warnings to stderr @@ -62,7 +67,7 @@ def __init__( # Utility methods used by .equ(), .par(), .set(), and .var() @lru_cache() - def _year_idx(self, name): + def _year_idx(self, name: str): """Return a sequence of (idx_set, idx_name) for 'year'-indexed dims. Since item dimensionality does not change, the the return value is @@ -78,7 +83,10 @@ def _year_idx(self, name): ) ) - def _year_as_int(self, name, df): + data_type = TypeVar("data_type", pd.Series, pd.DataFrame, dict) + + # NOTE super().equ() etc hint that pd objects return, but they may also return dict + def _year_as_int(self, name: str, data: data_type) -> data_type: """Convert 'year'-indexed columns of *df* to :obj:`int` dtypes. :meth:`_year_idx` is used to retrieve a sequence of (idx_set, idx_name) @@ -90,12 +98,18 @@ def _year_as_int(self, name, df): year_idx = self._year_idx(name) if len(year_idx): - return df.astype({col_name: "int" for _, col_name in year_idx}) + assert isinstance(data, pd.DataFrame) + # NOTE With the IXMP4Backend, we call scenario.par() for parameters that + # might be empty, which fails df.astype() below. + if data.empty: + return data + return data.astype({col_name: "int" for _, col_name in year_idx}) elif name == "year": # The 'year' set itself - return df.astype(int) + assert isinstance(data, pd.Series) + return data.astype(int) else: - return df + return data # Override ixmp methods to convert 'year'-indexed columns to int @@ -251,6 +265,28 @@ def add_par( # accepts int for "year"-like dimensions. Proxy the call to avoid type check # failures. # TODO Move this upstream, to ixmp + + if on_ixmp4backend(self): + from message_ix.util.scenario_setup import check_existence_of_units + + # Check for existence of required units + # NOTE these checks are similar to those in super().add_par(), but we + # need them here for access to self + # NOTE it seems to me that only dict or pd.DataFrame key_or_data could + # contain 'unit' already, else it's supplied by keyword or defaults to + # "???" + if isinstance(key_or_data, dict): + _data = pd.DataFrame.from_dict(key_or_data, orient="columns") + elif isinstance(key_or_data, pd.DataFrame): + _data = key_or_data + else: + _data = pd.DataFrame() + + if "unit" not in _data.columns: + _data["unit"] = unit or "???" + + check_existence_of_units(platform=self.platform, data=_data) + super().add_par(name, key_or_data, value, unit, comment) # type: ignore [arg-type] add_par.__doc__ = ixmp.Scenario.add_par.__doc__ @@ -323,6 +359,7 @@ def recurse(k, v, parent="World"): recurse(k, v) self.add_set("node", nodes) + # TODO do we handle levels being added multiple times correctly for ixmp4? self.add_set("lvl_spatial", levels) self.add_set("map_spatial_hierarchy", hierarchy) @@ -420,8 +457,11 @@ def add_horizon( # Add the year set elements and first model year year = sorted(year) self.add_set("year", year) + + # Avoid removing default data on IXMP4Backend + is_unique = True if isinstance(self.platform._backend, JDBCBackend) else False self.add_cat( - "year", "firstmodelyear", firstmodelyear or year[0], is_unique=True + "year", "firstmodelyear", firstmodelyear or year[0], is_unique=is_unique ) # Calculate the duration of all periods @@ -560,7 +600,7 @@ def vintage_and_active_years( vintages = sorted( self.par( "technical_lifetime", - filters={"node_loc": ya_args[0], "technology": ya_args[1]}, + filters={"node_loc": [ya_args[0]], "technology": [ya_args[1]]}, )["year_vtg"].unique() ) ya_max = max(vintages) if tl_only else np.inf @@ -585,6 +625,7 @@ def vintage_and_active_years( # Minimum value for year_act if "in_horizon" in kwargs: + # FIXME I don't receive this in the tutorials warn( "'in_horizon' argument to .vintage_and_active_years() will be removed " "in message_ix>=4.0. Use .query(…) instead per documentation examples.", @@ -842,3 +883,16 @@ def rename(self, name: str, mapping: Mapping[str, str], keep: bool = False) -> N self.remove_set(name, list(mapping.keys())) maybe_commit(self, commit, f"Rename {name!r} using mapping {mapping}") + + def commit(self, comment: str) -> None: + from message_ix.util.scenario_setup import compose_maps + + # JDBCBackend calls these functions as part of every commit, but they have moved + # to message_ix because they handle message-specific data + + # The sanity checks fail for some tests (e.g. 'node' being empty) + # ensure_required_indexsets_have_data(scenario=self) + + compose_maps(self) + + return super().commit(comment) diff --git a/message_ix/model/includes/period_parameter_assignment.gms b/message_ix/model/includes/period_parameter_assignment.gms index 37a26cd75..94a0e9c74 100644 --- a/message_ix/model/includes/period_parameter_assignment.gms +++ b/message_ix/model/includes/period_parameter_assignment.gms @@ -18,7 +18,7 @@ Sets Parameter duration_period_sum(year_all,year_all2) number of years between two periods ('year_all' must precede 'year_all2') - duration_time_rel(time,time2) relative duration of subannual time slice 'time2' relative to parent 'time' (only for 'time' specified in set 'time_relative')') + duration_time_rel(time,time2) relative duration of subannual time slice 'time2' relative to parent 'time' (only for 'time' specified in set 'time_relative') elapsed_years(year_all) elapsed years since the start of the model horizon (not including 'year_all' period) remaining_years(year_all) remaining years until the end of the model horizon (including last period) year_order(year_all) order for members of set 'year_all' diff --git a/message_ix/models.py b/message_ix/models.py index 057f50e94..e19c0b789 100644 --- a/message_ix/models.py +++ b/message_ix/models.py @@ -5,14 +5,24 @@ from dataclasses import InitVar, dataclass, field from functools import partial from pathlib import Path -from typing import Optional +from typing import TYPE_CHECKING, Optional from warnings import warn import ixmp.model.gams from ixmp import config from ixmp.backend import ItemType +from ixmp.backend.jdbc import JDBCBackend from ixmp.util import maybe_check_out, maybe_commit +from message_ix.util.ixmp4 import on_ixmp4backend +from message_ix.util.scenario_data import REQUIRED_EQUATIONS, REQUIRED_VARIABLES + +if TYPE_CHECKING: + import ixmp.core.scenario + + import message_ix.core + + log = logging.getLogger(__name__) #: Solver options used by :meth:`.Scenario.solve`. @@ -29,11 +39,15 @@ #: 2. the full dimension name. DIMS = { "c": ("commodity", "commodity"), + "c2": ("commodity", "commodity2"), "e": ("emission", "emission"), + "first_period": ("year", "first_period"), "g": ("grade", "grade"), "h": ("time", "time"), + "h2": ("time", "time2"), "hd": ("time", "time_dest"), "ho": ("time", "time_origin"), + "inv_tec": ("technology", "inv_tec"), "l": ("level", "level"), "m": ("mode", "mode"), "ms": ("mode", "storage_mode"), @@ -46,6 +60,7 @@ "ns": ("node", "node_share"), "q": ("rating", "rating"), "r": ("relation", "relation"), + "renewable_tec": ("technology", "renewable_tec"), "s": ("land_scenario", "land_scenario"), "t": ("technology", "technology"), "ta": ("technology", "technology_addon"), @@ -178,6 +193,9 @@ class GAMSModel(ixmp.model.gams.GAMSModel): #: :class:`.Item` describing the item. items: Mapping[str, Item] + # Make default model options known to the class + model_dir: Path + def __init__(self, name=None, **model_options): # Update the default options with any user-provided options model_options.setdefault("model_dir", config.get("message model dir")) @@ -187,7 +205,7 @@ def __init__(self, name=None, **model_options): super().__init__(name, **model_options) - def run(self, scenario): + def run(self, scenario: "ixmp.core.scenario.Scenario") -> None: """Execute the model. GAMSModel creates a file named ``cplex.opt`` in the model directory containing @@ -226,7 +244,7 @@ def run(self, scenario): return result -def _check_structure(scenario): +def _check_structure(scenario: "ixmp.core.scenario.Scenario"): """Check dimensionality of some items related to the storage representation. Yields a sequence of 4-tuples: @@ -245,13 +263,14 @@ def _check_structure(scenario): for name in ("storage_initial", "storage_self_discharge", "map_tec_storage"): info = MESSAGE.items[name] message = "" + N = -1 # Item does not exist; default try: # Retrieve the index names and data length of the item idx_names = tuple(scenario.idx_names(name)) N = len(getattr(scenario, info.ix_type)(name)) except KeyError: - N = -1 # Item does not exist + pass else: # Item exists expected_names = info.dims or info.coords @@ -273,11 +292,13 @@ class MESSAGE(GAMSModel): items: MutableMapping[str, Item] = dict() @staticmethod - def enforce(scenario): + def enforce(scenario: "message_ix.core.Scenario") -> None: """Enforce data consistency in `scenario`.""" # Raise an exception if any of the storage items have incorrect dimensions, i.e. # non-empty error messages - messages = list(filter(None, [msg for *_, msg in _check_structure(scenario)])) + messages: list[str] = list( + filter(None, [msg for *_, msg in _check_structure(scenario)]) + ) if messages: raise ValueError("\n".join(messages)) @@ -303,13 +324,22 @@ def enforce(scenario): scenario.add_set(set_name, expected) @classmethod - def initialize(cls, scenario): + def initialize(cls, scenario: "ixmp.core.scenario.Scenario") -> None: """Set up `scenario` with required sets and parameters for MESSAGE. See Also -------- :attr:`items` """ + from message_ix.core import Scenario + from message_ix.util.ixmp4 import platform_compat + from message_ix.util.scenario_setup import add_default_data + + # Adjust the Platform on which `scenario` is stored for compatibility between + # ixmp.{IXMP4,JDBC}Backend. Because message_ix does not subclass Platform, this + # is the earliest opportunity to make these adjustments. + platform_compat(scenario.platform) + # Check for storage items that may contain incompatible data or need to be # re-initialized state = None @@ -321,12 +351,111 @@ def initialize(cls, scenario): state = maybe_check_out(scenario, state) getattr(scenario, f"remove_{ix_type}")(name) + # Collect items to initialize + items = {k: v.to_dict() for k, v in cls.items.items()} + + # Remove balance_equality for JDBC, where it seems to cause errors + if isinstance(scenario.platform._backend, JDBCBackend): + items.pop("balance_equality") + # Initialize the ixmp items for MESSAGE - cls.initialize_items(scenario, {k: v.to_dict() for k, v in cls.items.items()}) + cls.initialize_items(scenario, items) + + if not isinstance(scenario, Scenario): + # Narrow type of `scenario` + # NB This should only occur if code constructs ixmp.Scenario(…, + # scheme="MESSAGE"), instead of message_ix.Scenario directly. User code + # *should* never do this, but it occurs in .test_models.test_initialize() + return + + # NOTE I tried transcribing this from ixmp_source as-is, but the MESSAGE class + # defined in models.py takes care of setting up the Scenario -- except for + # adding default data. + # ixmp_source does other things, too, which I don't think we need here, but I've + # kept them in for completeness for now. + + # ixmp_source first sets up a Scenario and adds default data + # models.MESSAGE seems to do the setup for us in all cases, while + # add_default_data() only adds missing items, so can always run. + # TODO Is this correct? + # if version == "new": + # # If the Scenario already exists, we don't need these two + # set_up_scenario(s=self) + add_default_data(scenario=scenario) + + # TODO We don't seem to need this, but if we do, give them better names + # self.tecParList = [ + # parameter_info for parameter_info in PARAMETERS if parameter_info.is_tec + # ] + # self.tecActParList = [ + # parameter_info + # for parameter_info in PARAMETERS + # if parameter_info.is_tec_act + # ] + + # TODO the following could be activated in ixmp_source through the flag + # parameter `sanity_checks`. This 'sanity_check' (there are more, s.b.) is + # generally only active when loading a scenario from the DB (unless explicitly + # loading via ID, in which case it's also inactive). We don't distinguish + # loading from the DB and some tutorials failed, so disable. + # ensure_required_indexsets_have_data(s=self) + + # TODO It does not seem useful to construct these because some required + # indexsets won't have any data in them yet. They do get run in imxp_source at + # this point, though. + # compose_maps(scenario=scenario) # Commit if anything was removed maybe_commit(scenario, state, f"{cls.__name__}.initialize") + def run(self, scenario: "ixmp.core.scenario.Scenario") -> None: + from message_ix.core import Scenario + from message_ix.util.gams_io import ( + add_auxiliary_items_to_container_data_list, + add_default_data_to_container_data_list, + store_message_version, + ) + from message_ix.util.scenario_setup import ( + compose_maps, + ensure_required_indexsets_have_data, + ) + + assert isinstance(scenario, Scenario) # Narrow type + + # Run the sanity checks + ensure_required_indexsets_have_data(scenario=scenario) + + compose_maps(scenario=scenario) + + if on_ixmp4backend(scenario): + # ixmp.model.gams.GAMSModel.__init__() creates the container_data attribute + # from its .defaults and any user kwargs + + # Add `MESSAGE_ix_version` parameter for validation by GAMS + store_message_version(container_data=self.container_data) + + # TODO Why is this a dedicated function? + # Add default data for some `Table`s to container data + for name in ("cat_tec", "type_tec_land"): + add_default_data_to_container_data_list( + container_data=self.container_data, name=name, scenario=scenario + ) + + # Add automatically created helper items to container data + add_auxiliary_items_to_container_data_list( + container_data=self.container_data, scenario=scenario + ) + + # Request only required Equations per default + self.equ_list = self.equ_list or [] + self.equ_list.extend(equation.gams_name for equation in REQUIRED_EQUATIONS) + + # Request only required Variables per default + self.var_list = self.var_list or [] + self.var_list.extend(variable.gams_name for variable in REQUIRED_VARIABLES) + + super().run(scenario) + equ = partial(_item_shorthand, MESSAGE, ItemType.EQU) par = partial(_item_shorthand, MESSAGE, ItemType.PAR) @@ -363,7 +492,7 @@ def initialize(cls, scenario): # Indexed sets _set("addon", "t") -# _set("balance_equality", "c l") +_set("balance_equality", "c l") _set("cat_addon", "type_addon ta") _set("cat_emission", "type_emission e") _set("cat_node", "type_node n") @@ -666,7 +795,6 @@ def initialize(cls, scenario): ) # Equations -# FIXME Many of these lack coords and dims; transcribe from the GAMS code equ( "ACTIVITY_BOUND_ALL_MODES_LO", "n t y h", @@ -677,91 +805,106 @@ def initialize(cls, scenario): "n t y h", "Upper bound on activity summed over all vintages and modes", ) -equ("ACTIVITY_BOUND_LO", "", "Lower bound on activity summed over all vintages") -equ("ACTIVITY_BOUND_UP", "", "Upper bound on activity summed over all vintages") +equ( + "ACTIVITY_BOUND_LO", "n t y m h", "Lower bound on activity summed over all vintages" +) +equ( + "ACTIVITY_BOUND_UP", "n t y m h", "Upper bound on activity summed over all vintages" +) equ( "ACTIVITY_BY_RATING", - "", + "n t y c l h q", "Constraint on auxiliary rating-specific activity variable by rating bin", ) equ( "ACTIVITY_CONSTRAINT_LO", - "", + "n t y h", "Dynamic constraint on the market penetration of a technology activity" " (lower bound)", ) equ( "ACTIVITY_CONSTRAINT_UP", - "", + "n t y h", "Dynamic constraint on the market penetration of a technology activity" " (upper bound)", ) -equ("ACTIVITY_RATING_TOTAL", "", "Equivalence of `ACT_RATING` to `ACT`") +equ("ACTIVITY_RATING_TOTAL", "n t yv y c l h", "Equivalence of `ACT_RATING` to `ACT`") equ( "ACTIVITY_SOFT_CONSTRAINT_LO", - "", + "n t y h", "Bound on relaxation of the dynamic constraint on market penetration (lower bound)", ) equ( "ACTIVITY_SOFT_CONSTRAINT_UP", - "", + "n t y h", "Bound on relaxation of the dynamic constraint on market penetration (upper bound)", ) -equ("ADDON_ACTIVITY_LO", "", "Addon technology activity lower constraint") -equ("ADDON_ACTIVITY_UP", "", "Addon-technology activity upper constraint") +equ( + "ADDON_ACTIVITY_LO", + "n type_addon y m h", + "Addon technology activity lower constraint", +) +equ( + "ADDON_ACTIVITY_UP", + "n type_addon y m h", + "Addon-technology activity upper constraint", +) +# TODO I think inv_tec is defined only when writing out to GAMS, while this equation +# will need it to exist first -- but not populated, so just create it as a required set +# without data? equ( "CAPACITY_CONSTRAINT", - "", + "n inv_tec yv y h", "Capacity constraint for technology (by sub-annual time slice)", ) equ( "CAPACITY_MAINTENANCE_HIST", - "", + "n inv_tec yv first_period", "Constraint for capacity maintenance historical installation (built before " "start of model horizon)", ) equ( "CAPACITY_MAINTENANCE_NEW", - "", + "n inv_tec yv ya", "Constraint for capacity maintenance of new capacity built in the current " "period (vintage == year)", ) equ( "CAPACITY_MAINTENANCE", - "", + "n inv_tec yv y", "Constraint for capacity maintenance over the technical lifetime", ) -# equ("COMMODITY_BALANCE_GT", "", "Commodity supply greater than or equal demand") -equ("COMMODITY_BALANCE_LT", "", "Commodity supply lower than or equal demand") +# equ("COMMODITY_BALANCE_GT", "n c l y h", "Commodity supply greater than or equal demand") # noqa: E501 +equ("COMMODITY_BALANCE_LT", "n c l y h", "Commodity supply lower than or equal demand") equ( "COMMODITY_USE_LEVEL", - "", + "n c l y h", "Aggregate use of commodity by level as defined by total input into technologies", ) equ("COST_ACCOUNTING_NODAL", "n y", "Cost accounting aggregated to the node") equ( "DYNAMIC_LAND_SCEN_CONSTRAINT_LO", - "", + "n s y", "Dynamic constraint on land scenario change (lower bound)", ) equ( "DYNAMIC_LAND_SCEN_CONSTRAINT_UP", - "", + "n s y", "Dynamic constraint on land scenario change (upper bound)", ) equ( "DYNAMIC_LAND_TYPE_CONSTRAINT_LO", - "", + "n y u", "Dynamic constraint on land-use change (lower bound)", ) equ( "DYNAMIC_LAND_TYPE_CONSTRAINT_UP", - "", + "n y u", "Dynamic constraint on land-use change (upper bound)", ) equ( "EMISSION_CONSTRAINT", - "", + "n type_emission type_tec type_year", "Nodal-regional-global constraints on emissions (by category)", ) equ( @@ -769,72 +912,88 @@ def initialize(cls, scenario): "n e type_tec y", "Auxiliary equation to simplify the notation of emissions", ) -equ("EXTRACTION_BOUND_UP", "", "Upper bound on extraction (by grade)") +equ("EXTRACTION_BOUND_UP", "n c g y", "Upper bound on extraction (by grade)") equ( "EXTRACTION_EQUIVALENCE", - "", + "n c y", "Auxiliary equation to simplify the resource extraction formulation", ) equ( "FIRM_CAPACITY_PROVISION", - "", + "n inv_tec y c l h", "Contribution of dispatchable technologies to auxiliary firm-capacity variable", ) equ( "LAND_CONSTRAINT", - "", + "n y", "Constraint on total land use (partial sum of `LAND` on `land_scenario` is 1)", ) equ( "MIN_UTILIZATION_CONSTRAINT", - "", + "n inv_tec yv y", "Constraint for minimum yearly operation (aggregated over the course of a year)", ) -equ("NEW_CAPACITY_BOUND_LO", "", "Lower bound on technology capacity investment") -equ("NEW_CAPACITY_BOUND_UP", "", "Upper bound on technology capacity investment") +equ( + "NEW_CAPACITY_BOUND_LO", + "n inv_tec y", + "Lower bound on technology capacity investment", +) +equ( + "NEW_CAPACITY_BOUND_UP", + "n inv_tec y", + "Upper bound on technology capacity investment", +) equ( "NEW_CAPACITY_CONSTRAINT_LO", - "", + "n inv_tec y", "Dynamic constraint on capacity investment (lower bound)", ) equ( "NEW_CAPACITY_CONSTRAINT_UP", - "", + "n inv_tec y", "Dynamic constraint for capacity investment (learning and spillovers upper bound)", ) equ( "NEW_CAPACITY_SOFT_CONSTRAINT_LO", - "", + "n inv_tec y", "Bound on soft relaxation of dynamic new capacity constraints (downwards)", ) equ( "NEW_CAPACITY_SOFT_CONSTRAINT_UP", - "", + "n inv_tec y", "Bound on soft relaxation of dynamic new capacity constraints (upwards)", ) equ("OBJECTIVE", "", "Objective value of the optimisation problem") equ( "OPERATION_CONSTRAINT", - "", + "n inv_tec yv y", "Constraint on maximum yearly operation (scheduled down-time for maintenance)", ) -equ("RELATION_CONSTRAINT_LO", "", "Lower bound of relations (linear constraints)") -equ("RELATION_CONSTRAINT_UP", "", "Upper bound of relations (linear constraints)") +equ("RELATION_CONSTRAINT_LO", "r n y", "Lower bound of relations (linear constraints)") +equ("RELATION_CONSTRAINT_UP", "r n y", "Upper bound of relations (linear constraints)") equ( "RELATION_EQUIVALENCE", - "", + "r n y", "Auxiliary equation to simplify the implementation of relations", ) equ( "RENEWABLES_CAPACITY_REQUIREMENT", - "", + "n inv_tec c y", "Lower bound on required overcapacity when using lower grade potentials", ) -equ("RENEWABLES_EQUIVALENCE", "", "Equation to define the renewables extraction") -equ("RENEWABLES_POTENTIAL_CONSTRAINT", "", "Constraint on renewable resource potential") +equ( + "RENEWABLES_EQUIVALENCE", + "n renewable_tec c y h", + "Equation to define the renewables extraction", +) +equ( + "RENEWABLES_POTENTIAL_CONSTRAINT", + "n c g y", + "Constraint on renewable resource potential", +) equ( "RESOURCE_CONSTRAINT", - "", + "n c g y", "Constraint on resources remaining in each period (maximum extraction per period)", ) equ( @@ -844,47 +1003,61 @@ def initialize(cls, scenario): ) equ( "SHARE_CONSTRAINT_COMMODITY_LO", - "", + "shares ns y h", "Lower bounds on share constraints for commodities", ) equ( "SHARE_CONSTRAINT_COMMODITY_UP", - "", + "shares ns y h", "Upper bounds on share constraints for commodities", ) equ( "SHARE_CONSTRAINT_MODE_LO", - "", + "shares n t m y h", "Lower bounds on share constraints for modes of a given technology", ) equ( "SHARE_CONSTRAINT_MODE_UP", - "", + "shares n t m y h", "Upper bounds on share constraints for modes of a given technology", ) -equ("STOCKS_BALANCE", "", "Commodity inter-temporal balance of stocks") +equ("STOCKS_BALANCE", "n c l y", "Commodity inter-temporal balance of stocks") +# FIXME 'h2' or 'time2' are not indicative names, come up with better ones equ( "STORAGE_BALANCE_INIT", - "", + "n ts m l c y h h2", "Balance of the state of charge of storage at sub-annual time slices with " "initial storage content", ) -equ("STORAGE_BALANCE", "", "Balance of the state of charge of storage") -equ("STORAGE_CHANGE", "", "Change in the state of charge of storage") +# TODO Why is this using h2 and not h? +equ( + "STORAGE_BALANCE", + "n ts m l c y h2 lvl_temporal", + "Balance of the state of charge of storage", +) +equ( + "STORAGE_CHANGE", + "n ts m level_storage c y h", + "Change in the state of charge of storage", +) equ( "STORAGE_INPUT", - "", + "n ts l c level_storage c2 m y h", "Connecting an input commodity to maintain the activity of storage container " "(not stored commodity)", ) -equ("SYSTEM_FLEXIBILITY_CONSTRAINT", "", "Constraint on total system flexibility") +equ( + "SYSTEM_FLEXIBILITY_CONSTRAINT", + "n c l y h", + "Constraint on total system flexibility", +) equ( "SYSTEM_RELIABILITY_CONSTRAINT", - "", + "n c l y h", "Constraint on total system reliability (firm capacity)", ) -equ("TOTAL_CAPACITY_BOUND_LO", "", "Lower bound on total installed capacity") -equ("TOTAL_CAPACITY_BOUND_UP", "", "Upper bound on total installed capacity") +equ("TOTAL_CAPACITY_BOUND_LO", "n inv_tec y", "Lower bound on total installed capacity") +equ("TOTAL_CAPACITY_BOUND_UP", "n inv_tec y", "Upper bound on total installed capacity") #: ixmp items (sets, parameters, variables, and equations) for :class:`.MESSAGE`. diff --git a/message_ix/testing/__init__.py b/message_ix/testing/__init__.py index 698c47c2e..7fb69f57f 100644 --- a/message_ix/testing/__init__.py +++ b/message_ix/testing/__init__.py @@ -9,30 +9,30 @@ import numpy as np import pandas as pd import pytest -from click.testing import CliRunner +from click.testing import CliRunner, Result from ixmp import IAMC_IDX from message_ix import Scenario, cli, make_df from message_ix.report import Reporter if TYPE_CHECKING: - import pathlib - from ixmp import Platform from pint import UnitRegistry +GHA = "GITHUB_ACTIONS" in os.environ + # Pytest hooks -def pytest_report_header(config, start_path): +def pytest_report_header(config: pytest.Config, start_path: Path) -> str: """Add the message_ix import path to the pytest report header.""" import message_ix return f"message_ix location: {Path(message_ix.__file__).parent}" -def pytest_sessionstart(): +def pytest_sessionstart() -> None: """Use only 2 threads for CPLEX on GitHub Actions runners with 2 CPU cores.""" import message_ix.models @@ -43,13 +43,24 @@ def pytest_sessionstart(): # Data for testing SCENARIO = { - "austria": dict(model="Austrian energy model", scenario="baseline"), - "dantzig": {"model": "Canning problem (MESSAGE scheme)", "scenario": "standard"}, + "austria": dict( + model="Austrian energy model", scenario="baseline", scheme="MESSAGE" + ), + "dantzig": { + "model": "Canning problem (MESSAGE scheme)", + "scenario": "standard", + "scheme": "MESSAGE", + }, "dantzig multi-year": { "model": "Canning problem (MESSAGE scheme)", "scenario": "multi-year", + "scheme": "MESSAGE", + }, + "westeros": { + "model": "Westeros Electrified", + "scenario": "baseline", + "scheme": "MESSAGE", }, - "westeros": {"model": "Westeros Electrified", "scenario": "baseline"}, } #: Model names, scenario names, and file hashes for 'snapshots' of scenarios used in @@ -850,8 +861,8 @@ def make_subannual( @pytest.fixture def dantzig_reporter( - request, message_test_mp, ureg -) -> Generator["Reporter", None, None]: + request: pytest.FixtureRequest, message_test_mp: "Platform", ureg: "UnitRegistry" +) -> Generator[Reporter, Any, None]: """A :class:`.Reporter` with a solved :func:`.make_dantzig` scenario.""" scen = Scenario(message_test_mp, **SCENARIO["dantzig"]).clone( scenario=request.node.name @@ -871,14 +882,16 @@ def dantzig_reporter( @pytest.fixture(scope="session") -def message_ix_cli(tmp_env) -> Generator[Callable, None, None]: +def message_ix_cli( + tmp_env: os._Environ[str], +) -> Generator[Callable[..., Result], Any, None]: """A CliRunner object that invokes the message_ix command-line interface. :obj:`None` in *args* is automatically discarded. """ class Runner(CliRunner): - def invoke(self, *args, **kwargs): + def invoke(self, *args, **kwargs) -> Result: return super().invoke( cli.main, list(filter(None, args)), @@ -892,7 +905,7 @@ def invoke(self, *args, **kwargs): @pytest.fixture(scope="class") -def message_test_mp(test_mp) -> Generator["Platform", None, None]: +def message_test_mp(test_mp: "Platform") -> Generator["Platform", Any, None]: """A test platform with two versions of the :func:`.make_dantzig` scenario. One version has :py:`multi_year=False`, and the other :py:`multi_year=True`. @@ -903,7 +916,9 @@ def message_test_mp(test_mp) -> Generator["Platform", None, None]: @pytest.fixture(scope="session") -def snapshots_from_zenodo(pytestconfig) -> "Platform": # pragma: no cover +def snapshots_from_zenodo( + pytestconfig: pytest.Config, +) -> "Platform": # pragma: no cover """Platform with Scenarios from :data:`.SNAPSHOTS`. This fixture: @@ -919,6 +934,7 @@ def snapshots_from_zenodo(pytestconfig) -> "Platform": # pragma: no cover from message_ix.models import MACRO # Create a pooch 'registry' from `SCENARIOS` + assert pytestconfig.cache, "Pytest config does not have `.cache` set!" cache_dir = pytestconfig.cache.mkdir("snapshots") filename = "{0[model]}_{0[scenario]}_v1.xlsx" p = Pooch( @@ -955,13 +971,13 @@ def zenodo_token_download(url, output_file, pooch): @pytest.fixture(scope="session") -def test_data_path(request) -> Path: +def test_data_path(request: pytest.FixtureRequest) -> Path: """Path to the directory containing test data.""" return Path(__file__).parents[1] / "tests" / "data" @pytest.fixture(scope="function") -def tmp_model_dir(tmp_path) -> Generator["pathlib.Path", None, None]: +def tmp_model_dir(tmp_path: Path) -> Generator[Path, Any, None]: """Temporary directory containing a copy of the MESSAGE model files. This may be used, among other purposes, to isolate the writing/reading of @@ -979,13 +995,13 @@ def tmp_model_dir(tmp_path) -> Generator["pathlib.Path", None, None]: @pytest.fixture(scope="session") -def tutorial_path(request) -> Path: +def tutorial_path(request: pytest.FixtureRequest) -> Path: """Path to the directory containing the tutorials.""" return Path(__file__).parents[2] / "tutorial" @pytest.fixture(scope="session") -def ureg() -> Generator["UnitRegistry", None, None]: +def ureg() -> Generator["UnitRegistry", Any, None]: """Session-scoped :class:`pint.UnitRegistry` with units needed by tests.""" import pint diff --git a/message_ix/tests/data/reportergraph.txt b/message_ix/tests/data/reportergraph.txt new file mode 100644 index 000000000..3a8411976 --- /dev/null +++ b/message_ix/tests/data/reportergraph.txt @@ -0,0 +1,16010 @@ +ACT: +ACT:h +ACT:m-h +ACT:nl-m-h +ACT:nl-t-m-h +ACT:nl-t-ya-m-h +ACT:nl-t-yv-ya-m-h +ACT:nl-t-yv-m-h +ACT:nl-ya-m-h +ACT:nl-yv-ya-m-h +ACT:nl-yv-m-h +ACT:t-m-h +ACT:t-ya-m-h +ACT:t-yv-ya-m-h +ACT:t-yv-m-h +ACT:ya-m-h +ACT:yv-ya-m-h +ACT:yv-m-h +ACT:nl-h +ACT:nl-t-h +ACT:nl-t-ya-h +ACT:nl-t-yv-ya-h +ACT:nl-t-yv-h +ACT:nl-ya-h +ACT:nl-yv-ya-h +ACT:nl-yv-h +ACT:t-h +ACT:t-ya-h +ACT:t-yv-ya-h +ACT:t-yv-h +ACT:ya-h +ACT:yv-ya-h +ACT:yv-h +ACT:m +ACT:nl-m +ACT:nl-t-m +ACT:nl-t-ya-m +ACT:nl-t-yv-ya-m +ACT:nl-t-yv-m +ACT:nl-ya-m +ACT:nl-yv-ya-m +ACT:nl-yv-m +ACT:t-m +ACT:t-ya-m +ACT:t-yv-ya-m +ACT:t-yv-m +ACT:ya-m +ACT:yv-ya-m +ACT:yv-m +ACT:nl +ACT:nl-t +ACT:nl-t-ya +ACT:nl-t-yv-ya +ACT:nl-t-yv +ACT:nl-ya +ACT:nl-yv-ya +ACT:nl-yv +ACT:t +ACT:t-ya +ACT:t-yv-ya +ACT:t-yv +ACT:ya +ACT:yv-ya +ACT:yv +ACTIVITY_BOUND_ALL_MODES_LO-margin:n-t-y-h +ACTIVITY_BOUND_ALL_MODES_LO: +ACTIVITY_BOUND_ALL_MODES_LO:h +ACTIVITY_BOUND_ALL_MODES_LO:n-h +ACTIVITY_BOUND_ALL_MODES_LO:n-t-h +ACTIVITY_BOUND_ALL_MODES_LO:n-t-y-h +ACTIVITY_BOUND_ALL_MODES_LO:n-y-h +ACTIVITY_BOUND_ALL_MODES_LO:t-h +ACTIVITY_BOUND_ALL_MODES_LO:t-y-h +ACTIVITY_BOUND_ALL_MODES_LO:y-h +ACTIVITY_BOUND_ALL_MODES_LO:n +ACTIVITY_BOUND_ALL_MODES_LO:n-t +ACTIVITY_BOUND_ALL_MODES_LO:n-t-y +ACTIVITY_BOUND_ALL_MODES_LO:n-y +ACTIVITY_BOUND_ALL_MODES_LO:t +ACTIVITY_BOUND_ALL_MODES_LO:t-y +ACTIVITY_BOUND_ALL_MODES_LO:y +ACTIVITY_BOUND_ALL_MODES_UP-margin:n-t-y-h +ACTIVITY_BOUND_ALL_MODES_UP: +ACTIVITY_BOUND_ALL_MODES_UP:h +ACTIVITY_BOUND_ALL_MODES_UP:n-h +ACTIVITY_BOUND_ALL_MODES_UP:n-t-h +ACTIVITY_BOUND_ALL_MODES_UP:n-t-y-h +ACTIVITY_BOUND_ALL_MODES_UP:n-y-h +ACTIVITY_BOUND_ALL_MODES_UP:t-h +ACTIVITY_BOUND_ALL_MODES_UP:t-y-h +ACTIVITY_BOUND_ALL_MODES_UP:y-h +ACTIVITY_BOUND_ALL_MODES_UP:n +ACTIVITY_BOUND_ALL_MODES_UP:n-t +ACTIVITY_BOUND_ALL_MODES_UP:n-t-y +ACTIVITY_BOUND_ALL_MODES_UP:n-y +ACTIVITY_BOUND_ALL_MODES_UP:t +ACTIVITY_BOUND_ALL_MODES_UP:t-y +ACTIVITY_BOUND_ALL_MODES_UP:y +ACTIVITY_BOUND_LO-margin:n-t-y-m-h +ACTIVITY_BOUND_LO: +ACTIVITY_BOUND_LO:h +ACTIVITY_BOUND_LO:m-h +ACTIVITY_BOUND_LO:n-m-h +ACTIVITY_BOUND_LO:n-t-m-h +ACTIVITY_BOUND_LO:n-t-y-m-h +ACTIVITY_BOUND_LO:n-y-m-h +ACTIVITY_BOUND_LO:t-m-h +ACTIVITY_BOUND_LO:t-y-m-h +ACTIVITY_BOUND_LO:y-m-h +ACTIVITY_BOUND_LO:n-h +ACTIVITY_BOUND_LO:n-t-h +ACTIVITY_BOUND_LO:n-t-y-h +ACTIVITY_BOUND_LO:n-y-h +ACTIVITY_BOUND_LO:t-h +ACTIVITY_BOUND_LO:t-y-h +ACTIVITY_BOUND_LO:y-h +ACTIVITY_BOUND_LO:m +ACTIVITY_BOUND_LO:n-m +ACTIVITY_BOUND_LO:n-t-m +ACTIVITY_BOUND_LO:n-t-y-m +ACTIVITY_BOUND_LO:n-y-m +ACTIVITY_BOUND_LO:t-m +ACTIVITY_BOUND_LO:t-y-m +ACTIVITY_BOUND_LO:y-m +ACTIVITY_BOUND_LO:n +ACTIVITY_BOUND_LO:n-t +ACTIVITY_BOUND_LO:n-t-y +ACTIVITY_BOUND_LO:n-y +ACTIVITY_BOUND_LO:t +ACTIVITY_BOUND_LO:t-y +ACTIVITY_BOUND_LO:y +ACTIVITY_BOUND_UP-margin:n-t-y-m-h +ACTIVITY_BOUND_UP: +ACTIVITY_BOUND_UP:h +ACTIVITY_BOUND_UP:m-h +ACTIVITY_BOUND_UP:n-m-h +ACTIVITY_BOUND_UP:n-t-m-h +ACTIVITY_BOUND_UP:n-t-y-m-h +ACTIVITY_BOUND_UP:n-y-m-h +ACTIVITY_BOUND_UP:t-m-h +ACTIVITY_BOUND_UP:t-y-m-h +ACTIVITY_BOUND_UP:y-m-h +ACTIVITY_BOUND_UP:n-h +ACTIVITY_BOUND_UP:n-t-h +ACTIVITY_BOUND_UP:n-t-y-h +ACTIVITY_BOUND_UP:n-y-h +ACTIVITY_BOUND_UP:t-h +ACTIVITY_BOUND_UP:t-y-h +ACTIVITY_BOUND_UP:y-h +ACTIVITY_BOUND_UP:m +ACTIVITY_BOUND_UP:n-m +ACTIVITY_BOUND_UP:n-t-m +ACTIVITY_BOUND_UP:n-t-y-m +ACTIVITY_BOUND_UP:n-y-m +ACTIVITY_BOUND_UP:t-m +ACTIVITY_BOUND_UP:t-y-m +ACTIVITY_BOUND_UP:y-m +ACTIVITY_BOUND_UP:n +ACTIVITY_BOUND_UP:n-t +ACTIVITY_BOUND_UP:n-t-y +ACTIVITY_BOUND_UP:n-y +ACTIVITY_BOUND_UP:t +ACTIVITY_BOUND_UP:t-y +ACTIVITY_BOUND_UP:y +ACTIVITY_BY_RATING-margin:n-t-y-c-l-h-q +ACTIVITY_BY_RATING: +ACTIVITY_BY_RATING:c +ACTIVITY_BY_RATING:c-h +ACTIVITY_BY_RATING:c-l-h +ACTIVITY_BY_RATING:n-c-l-h +ACTIVITY_BY_RATING:n-c-l-h-q +ACTIVITY_BY_RATING:n-t-c-l-h-q +ACTIVITY_BY_RATING:n-t-y-c-l-h-q +ACTIVITY_BY_RATING:n-y-c-l-h-q +ACTIVITY_BY_RATING:n-t-c-l-h +ACTIVITY_BY_RATING:n-t-y-c-l-h +ACTIVITY_BY_RATING:n-y-c-l-h +ACTIVITY_BY_RATING:c-l-h-q +ACTIVITY_BY_RATING:t-c-l-h-q +ACTIVITY_BY_RATING:t-y-c-l-h-q +ACTIVITY_BY_RATING:y-c-l-h-q +ACTIVITY_BY_RATING:t-c-l-h +ACTIVITY_BY_RATING:t-y-c-l-h +ACTIVITY_BY_RATING:y-c-l-h +ACTIVITY_BY_RATING:n-c-h +ACTIVITY_BY_RATING:n-c-h-q +ACTIVITY_BY_RATING:n-t-c-h-q +ACTIVITY_BY_RATING:n-t-y-c-h-q +ACTIVITY_BY_RATING:n-y-c-h-q +ACTIVITY_BY_RATING:n-t-c-h +ACTIVITY_BY_RATING:n-t-y-c-h +ACTIVITY_BY_RATING:n-y-c-h +ACTIVITY_BY_RATING:c-h-q +ACTIVITY_BY_RATING:t-c-h-q +ACTIVITY_BY_RATING:t-y-c-h-q +ACTIVITY_BY_RATING:y-c-h-q +ACTIVITY_BY_RATING:t-c-h +ACTIVITY_BY_RATING:t-y-c-h +ACTIVITY_BY_RATING:y-c-h +ACTIVITY_BY_RATING:c-l +ACTIVITY_BY_RATING:n-c-l +ACTIVITY_BY_RATING:n-c-l-q +ACTIVITY_BY_RATING:n-t-c-l-q +ACTIVITY_BY_RATING:n-t-y-c-l-q +ACTIVITY_BY_RATING:n-y-c-l-q +ACTIVITY_BY_RATING:n-t-c-l +ACTIVITY_BY_RATING:n-t-y-c-l +ACTIVITY_BY_RATING:n-y-c-l +ACTIVITY_BY_RATING:c-l-q +ACTIVITY_BY_RATING:t-c-l-q +ACTIVITY_BY_RATING:t-y-c-l-q +ACTIVITY_BY_RATING:y-c-l-q +ACTIVITY_BY_RATING:t-c-l +ACTIVITY_BY_RATING:t-y-c-l +ACTIVITY_BY_RATING:y-c-l +ACTIVITY_BY_RATING:n-c +ACTIVITY_BY_RATING:n-c-q +ACTIVITY_BY_RATING:n-t-c-q +ACTIVITY_BY_RATING:n-t-y-c-q +ACTIVITY_BY_RATING:n-y-c-q +ACTIVITY_BY_RATING:n-t-c +ACTIVITY_BY_RATING:n-t-y-c +ACTIVITY_BY_RATING:n-y-c +ACTIVITY_BY_RATING:c-q +ACTIVITY_BY_RATING:t-c-q +ACTIVITY_BY_RATING:t-y-c-q +ACTIVITY_BY_RATING:y-c-q +ACTIVITY_BY_RATING:t-c +ACTIVITY_BY_RATING:t-y-c +ACTIVITY_BY_RATING:y-c +ACTIVITY_BY_RATING:h +ACTIVITY_BY_RATING:l-h +ACTIVITY_BY_RATING:n-l-h +ACTIVITY_BY_RATING:n-l-h-q +ACTIVITY_BY_RATING:n-t-l-h-q +ACTIVITY_BY_RATING:n-t-y-l-h-q +ACTIVITY_BY_RATING:n-y-l-h-q +ACTIVITY_BY_RATING:n-t-l-h +ACTIVITY_BY_RATING:n-t-y-l-h +ACTIVITY_BY_RATING:n-y-l-h +ACTIVITY_BY_RATING:l-h-q +ACTIVITY_BY_RATING:t-l-h-q +ACTIVITY_BY_RATING:t-y-l-h-q +ACTIVITY_BY_RATING:y-l-h-q +ACTIVITY_BY_RATING:t-l-h +ACTIVITY_BY_RATING:t-y-l-h +ACTIVITY_BY_RATING:y-l-h +ACTIVITY_BY_RATING:n-h +ACTIVITY_BY_RATING:n-h-q +ACTIVITY_BY_RATING:n-t-h-q +ACTIVITY_BY_RATING:n-t-y-h-q +ACTIVITY_BY_RATING:n-y-h-q +ACTIVITY_BY_RATING:n-t-h +ACTIVITY_BY_RATING:n-t-y-h +ACTIVITY_BY_RATING:n-y-h +ACTIVITY_BY_RATING:h-q +ACTIVITY_BY_RATING:t-h-q +ACTIVITY_BY_RATING:t-y-h-q +ACTIVITY_BY_RATING:y-h-q +ACTIVITY_BY_RATING:t-h +ACTIVITY_BY_RATING:t-y-h +ACTIVITY_BY_RATING:y-h +ACTIVITY_BY_RATING:l +ACTIVITY_BY_RATING:n-l +ACTIVITY_BY_RATING:n-l-q +ACTIVITY_BY_RATING:n-t-l-q +ACTIVITY_BY_RATING:n-t-y-l-q +ACTIVITY_BY_RATING:n-y-l-q +ACTIVITY_BY_RATING:n-t-l +ACTIVITY_BY_RATING:n-t-y-l +ACTIVITY_BY_RATING:n-y-l +ACTIVITY_BY_RATING:l-q +ACTIVITY_BY_RATING:t-l-q +ACTIVITY_BY_RATING:t-y-l-q +ACTIVITY_BY_RATING:y-l-q +ACTIVITY_BY_RATING:t-l +ACTIVITY_BY_RATING:t-y-l +ACTIVITY_BY_RATING:y-l +ACTIVITY_BY_RATING:n +ACTIVITY_BY_RATING:n-q +ACTIVITY_BY_RATING:n-t-q +ACTIVITY_BY_RATING:n-t-y-q +ACTIVITY_BY_RATING:n-y-q +ACTIVITY_BY_RATING:n-t +ACTIVITY_BY_RATING:n-t-y +ACTIVITY_BY_RATING:n-y +ACTIVITY_BY_RATING:q +ACTIVITY_BY_RATING:t-q +ACTIVITY_BY_RATING:t-y-q +ACTIVITY_BY_RATING:y-q +ACTIVITY_BY_RATING:t +ACTIVITY_BY_RATING:t-y +ACTIVITY_BY_RATING:y +ACTIVITY_CONSTRAINT_LO-margin:n-t-y-h +ACTIVITY_CONSTRAINT_LO: +ACTIVITY_CONSTRAINT_LO:h +ACTIVITY_CONSTRAINT_LO:n-h +ACTIVITY_CONSTRAINT_LO:n-t-h +ACTIVITY_CONSTRAINT_LO:n-t-y-h +ACTIVITY_CONSTRAINT_LO:n-y-h +ACTIVITY_CONSTRAINT_LO:t-h +ACTIVITY_CONSTRAINT_LO:t-y-h +ACTIVITY_CONSTRAINT_LO:y-h +ACTIVITY_CONSTRAINT_LO:n +ACTIVITY_CONSTRAINT_LO:n-t +ACTIVITY_CONSTRAINT_LO:n-t-y +ACTIVITY_CONSTRAINT_LO:n-y +ACTIVITY_CONSTRAINT_LO:t +ACTIVITY_CONSTRAINT_LO:t-y +ACTIVITY_CONSTRAINT_LO:y +ACTIVITY_CONSTRAINT_UP-margin:n-t-y-h +ACTIVITY_CONSTRAINT_UP: +ACTIVITY_CONSTRAINT_UP:h +ACTIVITY_CONSTRAINT_UP:n-h +ACTIVITY_CONSTRAINT_UP:n-t-h +ACTIVITY_CONSTRAINT_UP:n-t-y-h +ACTIVITY_CONSTRAINT_UP:n-y-h +ACTIVITY_CONSTRAINT_UP:t-h +ACTIVITY_CONSTRAINT_UP:t-y-h +ACTIVITY_CONSTRAINT_UP:y-h +ACTIVITY_CONSTRAINT_UP:n +ACTIVITY_CONSTRAINT_UP:n-t +ACTIVITY_CONSTRAINT_UP:n-t-y +ACTIVITY_CONSTRAINT_UP:n-y +ACTIVITY_CONSTRAINT_UP:t +ACTIVITY_CONSTRAINT_UP:t-y +ACTIVITY_CONSTRAINT_UP:y +ACTIVITY_RATING_TOTAL-margin:n-t-yv-y-c-l-h +ACTIVITY_RATING_TOTAL: +ACTIVITY_RATING_TOTAL:c +ACTIVITY_RATING_TOTAL:c-h +ACTIVITY_RATING_TOTAL:c-l-h +ACTIVITY_RATING_TOTAL:n-c-l-h +ACTIVITY_RATING_TOTAL:n-t-c-l-h +ACTIVITY_RATING_TOTAL:n-t-y-c-l-h +ACTIVITY_RATING_TOTAL:n-t-yv-y-c-l-h +ACTIVITY_RATING_TOTAL:n-t-yv-c-l-h +ACTIVITY_RATING_TOTAL:n-y-c-l-h +ACTIVITY_RATING_TOTAL:n-yv-y-c-l-h +ACTIVITY_RATING_TOTAL:n-yv-c-l-h +ACTIVITY_RATING_TOTAL:t-c-l-h +ACTIVITY_RATING_TOTAL:t-y-c-l-h +ACTIVITY_RATING_TOTAL:t-yv-y-c-l-h +ACTIVITY_RATING_TOTAL:t-yv-c-l-h +ACTIVITY_RATING_TOTAL:y-c-l-h +ACTIVITY_RATING_TOTAL:yv-y-c-l-h +ACTIVITY_RATING_TOTAL:yv-c-l-h +ACTIVITY_RATING_TOTAL:n-c-h +ACTIVITY_RATING_TOTAL:n-t-c-h +ACTIVITY_RATING_TOTAL:n-t-y-c-h +ACTIVITY_RATING_TOTAL:n-t-yv-y-c-h +ACTIVITY_RATING_TOTAL:n-t-yv-c-h +ACTIVITY_RATING_TOTAL:n-y-c-h +ACTIVITY_RATING_TOTAL:n-yv-y-c-h +ACTIVITY_RATING_TOTAL:n-yv-c-h +ACTIVITY_RATING_TOTAL:t-c-h +ACTIVITY_RATING_TOTAL:t-y-c-h +ACTIVITY_RATING_TOTAL:t-yv-y-c-h +ACTIVITY_RATING_TOTAL:t-yv-c-h +ACTIVITY_RATING_TOTAL:y-c-h +ACTIVITY_RATING_TOTAL:yv-y-c-h +ACTIVITY_RATING_TOTAL:yv-c-h +ACTIVITY_RATING_TOTAL:c-l +ACTIVITY_RATING_TOTAL:n-c-l +ACTIVITY_RATING_TOTAL:n-t-c-l +ACTIVITY_RATING_TOTAL:n-t-y-c-l +ACTIVITY_RATING_TOTAL:n-t-yv-y-c-l +ACTIVITY_RATING_TOTAL:n-t-yv-c-l +ACTIVITY_RATING_TOTAL:n-y-c-l +ACTIVITY_RATING_TOTAL:n-yv-y-c-l +ACTIVITY_RATING_TOTAL:n-yv-c-l +ACTIVITY_RATING_TOTAL:t-c-l +ACTIVITY_RATING_TOTAL:t-y-c-l +ACTIVITY_RATING_TOTAL:t-yv-y-c-l +ACTIVITY_RATING_TOTAL:t-yv-c-l +ACTIVITY_RATING_TOTAL:y-c-l +ACTIVITY_RATING_TOTAL:yv-y-c-l +ACTIVITY_RATING_TOTAL:yv-c-l +ACTIVITY_RATING_TOTAL:n-c +ACTIVITY_RATING_TOTAL:n-t-c +ACTIVITY_RATING_TOTAL:n-t-y-c +ACTIVITY_RATING_TOTAL:n-t-yv-y-c +ACTIVITY_RATING_TOTAL:n-t-yv-c +ACTIVITY_RATING_TOTAL:n-y-c +ACTIVITY_RATING_TOTAL:n-yv-y-c +ACTIVITY_RATING_TOTAL:n-yv-c +ACTIVITY_RATING_TOTAL:t-c +ACTIVITY_RATING_TOTAL:t-y-c +ACTIVITY_RATING_TOTAL:t-yv-y-c +ACTIVITY_RATING_TOTAL:t-yv-c +ACTIVITY_RATING_TOTAL:y-c +ACTIVITY_RATING_TOTAL:yv-y-c +ACTIVITY_RATING_TOTAL:yv-c +ACTIVITY_RATING_TOTAL:h +ACTIVITY_RATING_TOTAL:l-h +ACTIVITY_RATING_TOTAL:n-l-h +ACTIVITY_RATING_TOTAL:n-t-l-h +ACTIVITY_RATING_TOTAL:n-t-y-l-h +ACTIVITY_RATING_TOTAL:n-t-yv-y-l-h +ACTIVITY_RATING_TOTAL:n-t-yv-l-h +ACTIVITY_RATING_TOTAL:n-y-l-h +ACTIVITY_RATING_TOTAL:n-yv-y-l-h +ACTIVITY_RATING_TOTAL:n-yv-l-h +ACTIVITY_RATING_TOTAL:t-l-h +ACTIVITY_RATING_TOTAL:t-y-l-h +ACTIVITY_RATING_TOTAL:t-yv-y-l-h +ACTIVITY_RATING_TOTAL:t-yv-l-h +ACTIVITY_RATING_TOTAL:y-l-h +ACTIVITY_RATING_TOTAL:yv-y-l-h +ACTIVITY_RATING_TOTAL:yv-l-h +ACTIVITY_RATING_TOTAL:n-h +ACTIVITY_RATING_TOTAL:n-t-h +ACTIVITY_RATING_TOTAL:n-t-y-h +ACTIVITY_RATING_TOTAL:n-t-yv-y-h +ACTIVITY_RATING_TOTAL:n-t-yv-h +ACTIVITY_RATING_TOTAL:n-y-h +ACTIVITY_RATING_TOTAL:n-yv-y-h +ACTIVITY_RATING_TOTAL:n-yv-h +ACTIVITY_RATING_TOTAL:t-h +ACTIVITY_RATING_TOTAL:t-y-h +ACTIVITY_RATING_TOTAL:t-yv-y-h +ACTIVITY_RATING_TOTAL:t-yv-h +ACTIVITY_RATING_TOTAL:y-h +ACTIVITY_RATING_TOTAL:yv-y-h +ACTIVITY_RATING_TOTAL:yv-h +ACTIVITY_RATING_TOTAL:l +ACTIVITY_RATING_TOTAL:n-l +ACTIVITY_RATING_TOTAL:n-t-l +ACTIVITY_RATING_TOTAL:n-t-y-l +ACTIVITY_RATING_TOTAL:n-t-yv-y-l +ACTIVITY_RATING_TOTAL:n-t-yv-l +ACTIVITY_RATING_TOTAL:n-y-l +ACTIVITY_RATING_TOTAL:n-yv-y-l +ACTIVITY_RATING_TOTAL:n-yv-l +ACTIVITY_RATING_TOTAL:t-l +ACTIVITY_RATING_TOTAL:t-y-l +ACTIVITY_RATING_TOTAL:t-yv-y-l +ACTIVITY_RATING_TOTAL:t-yv-l +ACTIVITY_RATING_TOTAL:y-l +ACTIVITY_RATING_TOTAL:yv-y-l +ACTIVITY_RATING_TOTAL:yv-l +ACTIVITY_RATING_TOTAL:n +ACTIVITY_RATING_TOTAL:n-t +ACTIVITY_RATING_TOTAL:n-t-y +ACTIVITY_RATING_TOTAL:n-t-yv-y +ACTIVITY_RATING_TOTAL:n-t-yv +ACTIVITY_RATING_TOTAL:n-y +ACTIVITY_RATING_TOTAL:n-yv-y +ACTIVITY_RATING_TOTAL:n-yv +ACTIVITY_RATING_TOTAL:t +ACTIVITY_RATING_TOTAL:t-y +ACTIVITY_RATING_TOTAL:t-yv-y +ACTIVITY_RATING_TOTAL:t-yv +ACTIVITY_RATING_TOTAL:y +ACTIVITY_RATING_TOTAL:yv-y +ACTIVITY_RATING_TOTAL:yv +ACTIVITY_SOFT_CONSTRAINT_LO-margin:n-t-y-h +ACTIVITY_SOFT_CONSTRAINT_LO: +ACTIVITY_SOFT_CONSTRAINT_LO:h +ACTIVITY_SOFT_CONSTRAINT_LO:n-h +ACTIVITY_SOFT_CONSTRAINT_LO:n-t-h +ACTIVITY_SOFT_CONSTRAINT_LO:n-t-y-h +ACTIVITY_SOFT_CONSTRAINT_LO:n-y-h +ACTIVITY_SOFT_CONSTRAINT_LO:t-h +ACTIVITY_SOFT_CONSTRAINT_LO:t-y-h +ACTIVITY_SOFT_CONSTRAINT_LO:y-h +ACTIVITY_SOFT_CONSTRAINT_LO:n +ACTIVITY_SOFT_CONSTRAINT_LO:n-t +ACTIVITY_SOFT_CONSTRAINT_LO:n-t-y +ACTIVITY_SOFT_CONSTRAINT_LO:n-y +ACTIVITY_SOFT_CONSTRAINT_LO:t +ACTIVITY_SOFT_CONSTRAINT_LO:t-y +ACTIVITY_SOFT_CONSTRAINT_LO:y +ACTIVITY_SOFT_CONSTRAINT_UP-margin:n-t-y-h +ACTIVITY_SOFT_CONSTRAINT_UP: +ACTIVITY_SOFT_CONSTRAINT_UP:h +ACTIVITY_SOFT_CONSTRAINT_UP:n-h +ACTIVITY_SOFT_CONSTRAINT_UP:n-t-h +ACTIVITY_SOFT_CONSTRAINT_UP:n-t-y-h +ACTIVITY_SOFT_CONSTRAINT_UP:n-y-h +ACTIVITY_SOFT_CONSTRAINT_UP:t-h +ACTIVITY_SOFT_CONSTRAINT_UP:t-y-h +ACTIVITY_SOFT_CONSTRAINT_UP:y-h +ACTIVITY_SOFT_CONSTRAINT_UP:n +ACTIVITY_SOFT_CONSTRAINT_UP:n-t +ACTIVITY_SOFT_CONSTRAINT_UP:n-t-y +ACTIVITY_SOFT_CONSTRAINT_UP:n-y +ACTIVITY_SOFT_CONSTRAINT_UP:t +ACTIVITY_SOFT_CONSTRAINT_UP:t-y +ACTIVITY_SOFT_CONSTRAINT_UP:y +ACT_LO: +ACT_LO:h +ACT_LO:n-h +ACT_LO:n-t-h +ACT_LO:n-t-y-h +ACT_LO:n-y-h +ACT_LO:t-h +ACT_LO:t-y-h +ACT_LO:y-h +ACT_LO:n +ACT_LO:n-t +ACT_LO:n-t-y +ACT_LO:n-y +ACT_LO:t +ACT_LO:t-y +ACT_LO:y +ACT_RATING: +ACT_RATING:c +ACT_RATING:c-h +ACT_RATING:c-l-h +ACT_RATING:n-c-l-h +ACT_RATING:n-c-l-h-q +ACT_RATING:n-t-c-l-h-q +ACT_RATING:n-t-ya-c-l-h-q +ACT_RATING:n-t-yv-ya-c-l-h-q +ACT_RATING:n-t-yv-c-l-h-q +ACT_RATING:n-ya-c-l-h-q +ACT_RATING:n-yv-ya-c-l-h-q +ACT_RATING:n-yv-c-l-h-q +ACT_RATING:n-t-c-l-h +ACT_RATING:n-t-ya-c-l-h +ACT_RATING:n-t-yv-ya-c-l-h +ACT_RATING:n-t-yv-c-l-h +ACT_RATING:n-ya-c-l-h +ACT_RATING:n-yv-ya-c-l-h +ACT_RATING:n-yv-c-l-h +ACT_RATING:c-l-h-q +ACT_RATING:t-c-l-h-q +ACT_RATING:t-ya-c-l-h-q +ACT_RATING:t-yv-ya-c-l-h-q +ACT_RATING:t-yv-c-l-h-q +ACT_RATING:ya-c-l-h-q +ACT_RATING:yv-ya-c-l-h-q +ACT_RATING:yv-c-l-h-q +ACT_RATING:t-c-l-h +ACT_RATING:t-ya-c-l-h +ACT_RATING:t-yv-ya-c-l-h +ACT_RATING:t-yv-c-l-h +ACT_RATING:ya-c-l-h +ACT_RATING:yv-ya-c-l-h +ACT_RATING:yv-c-l-h +ACT_RATING:n-c-h +ACT_RATING:n-c-h-q +ACT_RATING:n-t-c-h-q +ACT_RATING:n-t-ya-c-h-q +ACT_RATING:n-t-yv-ya-c-h-q +ACT_RATING:n-t-yv-c-h-q +ACT_RATING:n-ya-c-h-q +ACT_RATING:n-yv-ya-c-h-q +ACT_RATING:n-yv-c-h-q +ACT_RATING:n-t-c-h +ACT_RATING:n-t-ya-c-h +ACT_RATING:n-t-yv-ya-c-h +ACT_RATING:n-t-yv-c-h +ACT_RATING:n-ya-c-h +ACT_RATING:n-yv-ya-c-h +ACT_RATING:n-yv-c-h +ACT_RATING:c-h-q +ACT_RATING:t-c-h-q +ACT_RATING:t-ya-c-h-q +ACT_RATING:t-yv-ya-c-h-q +ACT_RATING:t-yv-c-h-q +ACT_RATING:ya-c-h-q +ACT_RATING:yv-ya-c-h-q +ACT_RATING:yv-c-h-q +ACT_RATING:t-c-h +ACT_RATING:t-ya-c-h +ACT_RATING:t-yv-ya-c-h +ACT_RATING:t-yv-c-h +ACT_RATING:ya-c-h +ACT_RATING:yv-ya-c-h +ACT_RATING:yv-c-h +ACT_RATING:c-l +ACT_RATING:n-c-l +ACT_RATING:n-c-l-q +ACT_RATING:n-t-c-l-q +ACT_RATING:n-t-ya-c-l-q +ACT_RATING:n-t-yv-ya-c-l-q +ACT_RATING:n-t-yv-c-l-q +ACT_RATING:n-ya-c-l-q +ACT_RATING:n-yv-ya-c-l-q +ACT_RATING:n-yv-c-l-q +ACT_RATING:n-t-c-l +ACT_RATING:n-t-ya-c-l +ACT_RATING:n-t-yv-ya-c-l +ACT_RATING:n-t-yv-c-l +ACT_RATING:n-ya-c-l +ACT_RATING:n-yv-ya-c-l +ACT_RATING:n-yv-c-l +ACT_RATING:c-l-q +ACT_RATING:t-c-l-q +ACT_RATING:t-ya-c-l-q +ACT_RATING:t-yv-ya-c-l-q +ACT_RATING:t-yv-c-l-q +ACT_RATING:ya-c-l-q +ACT_RATING:yv-ya-c-l-q +ACT_RATING:yv-c-l-q +ACT_RATING:t-c-l +ACT_RATING:t-ya-c-l +ACT_RATING:t-yv-ya-c-l +ACT_RATING:t-yv-c-l +ACT_RATING:ya-c-l +ACT_RATING:yv-ya-c-l +ACT_RATING:yv-c-l +ACT_RATING:n-c +ACT_RATING:n-c-q +ACT_RATING:n-t-c-q +ACT_RATING:n-t-ya-c-q +ACT_RATING:n-t-yv-ya-c-q +ACT_RATING:n-t-yv-c-q +ACT_RATING:n-ya-c-q +ACT_RATING:n-yv-ya-c-q +ACT_RATING:n-yv-c-q +ACT_RATING:n-t-c +ACT_RATING:n-t-ya-c +ACT_RATING:n-t-yv-ya-c +ACT_RATING:n-t-yv-c +ACT_RATING:n-ya-c +ACT_RATING:n-yv-ya-c +ACT_RATING:n-yv-c +ACT_RATING:c-q +ACT_RATING:t-c-q +ACT_RATING:t-ya-c-q +ACT_RATING:t-yv-ya-c-q +ACT_RATING:t-yv-c-q +ACT_RATING:ya-c-q +ACT_RATING:yv-ya-c-q +ACT_RATING:yv-c-q +ACT_RATING:t-c +ACT_RATING:t-ya-c +ACT_RATING:t-yv-ya-c +ACT_RATING:t-yv-c +ACT_RATING:ya-c +ACT_RATING:yv-ya-c +ACT_RATING:yv-c +ACT_RATING:h +ACT_RATING:l-h +ACT_RATING:n-l-h +ACT_RATING:n-l-h-q +ACT_RATING:n-t-l-h-q +ACT_RATING:n-t-ya-l-h-q +ACT_RATING:n-t-yv-ya-l-h-q +ACT_RATING:n-t-yv-l-h-q +ACT_RATING:n-ya-l-h-q +ACT_RATING:n-yv-ya-l-h-q +ACT_RATING:n-yv-l-h-q +ACT_RATING:n-t-l-h +ACT_RATING:n-t-ya-l-h +ACT_RATING:n-t-yv-ya-l-h +ACT_RATING:n-t-yv-l-h +ACT_RATING:n-ya-l-h +ACT_RATING:n-yv-ya-l-h +ACT_RATING:n-yv-l-h +ACT_RATING:l-h-q +ACT_RATING:t-l-h-q +ACT_RATING:t-ya-l-h-q +ACT_RATING:t-yv-ya-l-h-q +ACT_RATING:t-yv-l-h-q +ACT_RATING:ya-l-h-q +ACT_RATING:yv-ya-l-h-q +ACT_RATING:yv-l-h-q +ACT_RATING:t-l-h +ACT_RATING:t-ya-l-h +ACT_RATING:t-yv-ya-l-h +ACT_RATING:t-yv-l-h +ACT_RATING:ya-l-h +ACT_RATING:yv-ya-l-h +ACT_RATING:yv-l-h +ACT_RATING:n-h +ACT_RATING:n-h-q +ACT_RATING:n-t-h-q +ACT_RATING:n-t-ya-h-q +ACT_RATING:n-t-yv-ya-h-q +ACT_RATING:n-t-yv-h-q +ACT_RATING:n-ya-h-q +ACT_RATING:n-yv-ya-h-q +ACT_RATING:n-yv-h-q +ACT_RATING:n-t-h +ACT_RATING:n-t-ya-h +ACT_RATING:n-t-yv-ya-h +ACT_RATING:n-t-yv-h +ACT_RATING:n-ya-h +ACT_RATING:n-yv-ya-h +ACT_RATING:n-yv-h +ACT_RATING:h-q +ACT_RATING:t-h-q +ACT_RATING:t-ya-h-q +ACT_RATING:t-yv-ya-h-q +ACT_RATING:t-yv-h-q +ACT_RATING:ya-h-q +ACT_RATING:yv-ya-h-q +ACT_RATING:yv-h-q +ACT_RATING:t-h +ACT_RATING:t-ya-h +ACT_RATING:t-yv-ya-h +ACT_RATING:t-yv-h +ACT_RATING:ya-h +ACT_RATING:yv-ya-h +ACT_RATING:yv-h +ACT_RATING:l +ACT_RATING:n-l +ACT_RATING:n-l-q +ACT_RATING:n-t-l-q +ACT_RATING:n-t-ya-l-q +ACT_RATING:n-t-yv-ya-l-q +ACT_RATING:n-t-yv-l-q +ACT_RATING:n-ya-l-q +ACT_RATING:n-yv-ya-l-q +ACT_RATING:n-yv-l-q +ACT_RATING:n-t-l +ACT_RATING:n-t-ya-l +ACT_RATING:n-t-yv-ya-l +ACT_RATING:n-t-yv-l +ACT_RATING:n-ya-l +ACT_RATING:n-yv-ya-l +ACT_RATING:n-yv-l +ACT_RATING:l-q +ACT_RATING:t-l-q +ACT_RATING:t-ya-l-q +ACT_RATING:t-yv-ya-l-q +ACT_RATING:t-yv-l-q +ACT_RATING:ya-l-q +ACT_RATING:yv-ya-l-q +ACT_RATING:yv-l-q +ACT_RATING:t-l +ACT_RATING:t-ya-l +ACT_RATING:t-yv-ya-l +ACT_RATING:t-yv-l +ACT_RATING:ya-l +ACT_RATING:yv-ya-l +ACT_RATING:yv-l +ACT_RATING:n +ACT_RATING:n-q +ACT_RATING:n-t-q +ACT_RATING:n-t-ya-q +ACT_RATING:n-t-yv-ya-q +ACT_RATING:n-t-yv-q +ACT_RATING:n-ya-q +ACT_RATING:n-yv-ya-q +ACT_RATING:n-yv-q +ACT_RATING:n-t +ACT_RATING:n-t-ya +ACT_RATING:n-t-yv-ya +ACT_RATING:n-t-yv +ACT_RATING:n-ya +ACT_RATING:n-yv-ya +ACT_RATING:n-yv +ACT_RATING:q +ACT_RATING:t-q +ACT_RATING:t-ya-q +ACT_RATING:t-yv-ya-q +ACT_RATING:t-yv-q +ACT_RATING:ya-q +ACT_RATING:yv-ya-q +ACT_RATING:yv-q +ACT_RATING:t +ACT_RATING:t-ya +ACT_RATING:t-yv-ya +ACT_RATING:t-yv +ACT_RATING:ya +ACT_RATING:yv-ya +ACT_RATING:yv +ACT_UP: +ACT_UP:h +ACT_UP:n-h +ACT_UP:n-t-h +ACT_UP:n-t-y-h +ACT_UP:n-y-h +ACT_UP:t-h +ACT_UP:t-y-h +ACT_UP:y-h +ACT_UP:n +ACT_UP:n-t +ACT_UP:n-t-y +ACT_UP:n-y +ACT_UP:t +ACT_UP:t-y +ACT_UP:y +ADDON_ACTIVITY_LO-margin:n-type_addon-y-m-h +ADDON_ACTIVITY_LO: +ADDON_ACTIVITY_LO:h +ADDON_ACTIVITY_LO:m-h +ADDON_ACTIVITY_LO:n-m-h +ADDON_ACTIVITY_LO:n-type_addon-m-h +ADDON_ACTIVITY_LO:n-type_addon-y-m-h +ADDON_ACTIVITY_LO:n-y-m-h +ADDON_ACTIVITY_LO:type_addon-m-h +ADDON_ACTIVITY_LO:type_addon-y-m-h +ADDON_ACTIVITY_LO:y-m-h +ADDON_ACTIVITY_LO:n-h +ADDON_ACTIVITY_LO:n-type_addon-h +ADDON_ACTIVITY_LO:n-type_addon-y-h +ADDON_ACTIVITY_LO:n-y-h +ADDON_ACTIVITY_LO:type_addon-h +ADDON_ACTIVITY_LO:type_addon-y-h +ADDON_ACTIVITY_LO:y-h +ADDON_ACTIVITY_LO:m +ADDON_ACTIVITY_LO:n-m +ADDON_ACTIVITY_LO:n-type_addon-m +ADDON_ACTIVITY_LO:n-type_addon-y-m +ADDON_ACTIVITY_LO:n-y-m +ADDON_ACTIVITY_LO:type_addon-m +ADDON_ACTIVITY_LO:type_addon-y-m +ADDON_ACTIVITY_LO:y-m +ADDON_ACTIVITY_LO:n +ADDON_ACTIVITY_LO:n-type_addon +ADDON_ACTIVITY_LO:n-type_addon-y +ADDON_ACTIVITY_LO:n-y +ADDON_ACTIVITY_LO:type_addon +ADDON_ACTIVITY_LO:type_addon-y +ADDON_ACTIVITY_LO:y +ADDON_ACTIVITY_UP-margin:n-type_addon-y-m-h +ADDON_ACTIVITY_UP: +ADDON_ACTIVITY_UP:h +ADDON_ACTIVITY_UP:m-h +ADDON_ACTIVITY_UP:n-m-h +ADDON_ACTIVITY_UP:n-type_addon-m-h +ADDON_ACTIVITY_UP:n-type_addon-y-m-h +ADDON_ACTIVITY_UP:n-y-m-h +ADDON_ACTIVITY_UP:type_addon-m-h +ADDON_ACTIVITY_UP:type_addon-y-m-h +ADDON_ACTIVITY_UP:y-m-h +ADDON_ACTIVITY_UP:n-h +ADDON_ACTIVITY_UP:n-type_addon-h +ADDON_ACTIVITY_UP:n-type_addon-y-h +ADDON_ACTIVITY_UP:n-y-h +ADDON_ACTIVITY_UP:type_addon-h +ADDON_ACTIVITY_UP:type_addon-y-h +ADDON_ACTIVITY_UP:y-h +ADDON_ACTIVITY_UP:m +ADDON_ACTIVITY_UP:n-m +ADDON_ACTIVITY_UP:n-type_addon-m +ADDON_ACTIVITY_UP:n-type_addon-y-m +ADDON_ACTIVITY_UP:n-y-m +ADDON_ACTIVITY_UP:type_addon-m +ADDON_ACTIVITY_UP:type_addon-y-m +ADDON_ACTIVITY_UP:y-m +ADDON_ACTIVITY_UP:n +ADDON_ACTIVITY_UP:n-type_addon +ADDON_ACTIVITY_UP:n-type_addon-y +ADDON_ACTIVITY_UP:n-y +ADDON_ACTIVITY_UP:type_addon +ADDON_ACTIVITY_UP:type_addon-y +ADDON_ACTIVITY_UP:y +C: +C:n +C:n-y +C:y +CAP: +CAP::pyam +CAP:nl +CAP:nl-t +CAP:nl-t-ya +CAP:nl-t-yv-ya +CAP:nl-t-yv +CAP:nl-ya +CAP:nl-yv-ya +CAP:nl-yv +CAP:t +CAP:t-ya +CAP:t-yv-ya +CAP:t-yv +CAP:ya +CAP:yv-ya +CAP:yv +CAPACITY_CONSTRAINT-margin:n-inv_tec-yv-y-h +CAPACITY_CONSTRAINT: +CAPACITY_CONSTRAINT:h +CAPACITY_CONSTRAINT:inv_tec-h +CAPACITY_CONSTRAINT:n-inv_tec-h +CAPACITY_CONSTRAINT:n-inv_tec-y-h +CAPACITY_CONSTRAINT:n-inv_tec-yv-y-h +CAPACITY_CONSTRAINT:n-inv_tec-yv-h +CAPACITY_CONSTRAINT:inv_tec-y-h +CAPACITY_CONSTRAINT:inv_tec-yv-y-h +CAPACITY_CONSTRAINT:inv_tec-yv-h +CAPACITY_CONSTRAINT:n-h +CAPACITY_CONSTRAINT:n-y-h +CAPACITY_CONSTRAINT:n-yv-y-h +CAPACITY_CONSTRAINT:n-yv-h +CAPACITY_CONSTRAINT:y-h +CAPACITY_CONSTRAINT:yv-y-h +CAPACITY_CONSTRAINT:yv-h +CAPACITY_CONSTRAINT:inv_tec +CAPACITY_CONSTRAINT:n-inv_tec +CAPACITY_CONSTRAINT:n-inv_tec-y +CAPACITY_CONSTRAINT:n-inv_tec-yv-y +CAPACITY_CONSTRAINT:n-inv_tec-yv +CAPACITY_CONSTRAINT:inv_tec-y +CAPACITY_CONSTRAINT:inv_tec-yv-y +CAPACITY_CONSTRAINT:inv_tec-yv +CAPACITY_CONSTRAINT:n +CAPACITY_CONSTRAINT:n-y +CAPACITY_CONSTRAINT:n-yv-y +CAPACITY_CONSTRAINT:n-yv +CAPACITY_CONSTRAINT:y +CAPACITY_CONSTRAINT:yv-y +CAPACITY_CONSTRAINT:yv +CAPACITY_MAINTENANCE-margin:n-inv_tec-yv-y +CAPACITY_MAINTENANCE: +CAPACITY_MAINTENANCE:inv_tec +CAPACITY_MAINTENANCE:n-inv_tec +CAPACITY_MAINTENANCE:n-inv_tec-y +CAPACITY_MAINTENANCE:n-inv_tec-yv-y +CAPACITY_MAINTENANCE:n-inv_tec-yv +CAPACITY_MAINTENANCE:inv_tec-y +CAPACITY_MAINTENANCE:inv_tec-yv-y +CAPACITY_MAINTENANCE:inv_tec-yv +CAPACITY_MAINTENANCE:n +CAPACITY_MAINTENANCE:n-y +CAPACITY_MAINTENANCE:n-yv-y +CAPACITY_MAINTENANCE:n-yv +CAPACITY_MAINTENANCE:y +CAPACITY_MAINTENANCE:yv-y +CAPACITY_MAINTENANCE:yv +CAPACITY_MAINTENANCE_HIST-margin:n-inv_tec-yv-first_period +CAPACITY_MAINTENANCE_HIST: +CAPACITY_MAINTENANCE_HIST:first_period +CAPACITY_MAINTENANCE_HIST:inv_tec-first_period +CAPACITY_MAINTENANCE_HIST:n-inv_tec-first_period +CAPACITY_MAINTENANCE_HIST:n-inv_tec-yv-first_period +CAPACITY_MAINTENANCE_HIST:inv_tec-yv-first_period +CAPACITY_MAINTENANCE_HIST:n-first_period +CAPACITY_MAINTENANCE_HIST:n-yv-first_period +CAPACITY_MAINTENANCE_HIST:yv-first_period +CAPACITY_MAINTENANCE_HIST:inv_tec +CAPACITY_MAINTENANCE_HIST:n-inv_tec +CAPACITY_MAINTENANCE_HIST:n-inv_tec-yv +CAPACITY_MAINTENANCE_HIST:inv_tec-yv +CAPACITY_MAINTENANCE_HIST:n +CAPACITY_MAINTENANCE_HIST:n-yv +CAPACITY_MAINTENANCE_HIST:yv +CAPACITY_MAINTENANCE_NEW-margin:n-inv_tec-yv-ya +CAPACITY_MAINTENANCE_NEW: +CAPACITY_MAINTENANCE_NEW:inv_tec +CAPACITY_MAINTENANCE_NEW:n-inv_tec +CAPACITY_MAINTENANCE_NEW:n-inv_tec-ya +CAPACITY_MAINTENANCE_NEW:n-inv_tec-yv-ya +CAPACITY_MAINTENANCE_NEW:n-inv_tec-yv +CAPACITY_MAINTENANCE_NEW:inv_tec-ya +CAPACITY_MAINTENANCE_NEW:inv_tec-yv-ya +CAPACITY_MAINTENANCE_NEW:inv_tec-yv +CAPACITY_MAINTENANCE_NEW:n +CAPACITY_MAINTENANCE_NEW:n-ya +CAPACITY_MAINTENANCE_NEW:n-yv-ya +CAPACITY_MAINTENANCE_NEW:n-yv +CAPACITY_MAINTENANCE_NEW:ya +CAPACITY_MAINTENANCE_NEW:yv-ya +CAPACITY_MAINTENANCE_NEW:yv +CAP_FIRM: +CAP_FIRM:c +CAP_FIRM:c-l +CAP_FIRM:n-c-l +CAP_FIRM:n-t-c-l +CAP_FIRM:n-t-c-l-y +CAP_FIRM:n-c-l-y +CAP_FIRM:t-c-l +CAP_FIRM:t-c-l-y +CAP_FIRM:c-l-y +CAP_FIRM:n-c +CAP_FIRM:n-t-c +CAP_FIRM:n-t-c-y +CAP_FIRM:n-c-y +CAP_FIRM:t-c +CAP_FIRM:t-c-y +CAP_FIRM:c-y +CAP_FIRM:l +CAP_FIRM:n-l +CAP_FIRM:n-t-l +CAP_FIRM:n-t-l-y +CAP_FIRM:n-l-y +CAP_FIRM:t-l +CAP_FIRM:t-l-y +CAP_FIRM:l-y +CAP_FIRM:n +CAP_FIRM:n-t +CAP_FIRM:n-t-y +CAP_FIRM:n-y +CAP_FIRM:t +CAP_FIRM:t-y +CAP_FIRM:y +CAP_NEW: +CAP_NEW::pyam +CAP_NEW:nl +CAP_NEW:nl-t +CAP_NEW:nl-t-yv +CAP_NEW:nl-yv +CAP_NEW:t +CAP_NEW:t-yv +CAP_NEW:yv +CAP_NEW_LO: +CAP_NEW_LO:n +CAP_NEW_LO:n-t +CAP_NEW_LO:n-t-y +CAP_NEW_LO:n-y +CAP_NEW_LO:t +CAP_NEW_LO:t-y +CAP_NEW_LO:y +CAP_NEW_UP: +CAP_NEW_UP:n +CAP_NEW_UP:n-t +CAP_NEW_UP:n-t-y +CAP_NEW_UP:n-y +CAP_NEW_UP:t +CAP_NEW_UP:t-y +CAP_NEW_UP:y +COMMODITY_BALANCE_LT-margin:n-c-l-y-h +COMMODITY_BALANCE_LT: +COMMODITY_BALANCE_LT:c +COMMODITY_BALANCE_LT:c-h +COMMODITY_BALANCE_LT:c-l-h +COMMODITY_BALANCE_LT:n-c-l-h +COMMODITY_BALANCE_LT:n-c-l-y-h +COMMODITY_BALANCE_LT:c-l-y-h +COMMODITY_BALANCE_LT:n-c-h +COMMODITY_BALANCE_LT:n-c-y-h +COMMODITY_BALANCE_LT:c-y-h +COMMODITY_BALANCE_LT:c-l +COMMODITY_BALANCE_LT:n-c-l +COMMODITY_BALANCE_LT:n-c-l-y +COMMODITY_BALANCE_LT:c-l-y +COMMODITY_BALANCE_LT:n-c +COMMODITY_BALANCE_LT:n-c-y +COMMODITY_BALANCE_LT:c-y +COMMODITY_BALANCE_LT:h +COMMODITY_BALANCE_LT:l-h +COMMODITY_BALANCE_LT:n-l-h +COMMODITY_BALANCE_LT:n-l-y-h +COMMODITY_BALANCE_LT:l-y-h +COMMODITY_BALANCE_LT:n-h +COMMODITY_BALANCE_LT:n-y-h +COMMODITY_BALANCE_LT:y-h +COMMODITY_BALANCE_LT:l +COMMODITY_BALANCE_LT:n-l +COMMODITY_BALANCE_LT:n-l-y +COMMODITY_BALANCE_LT:l-y +COMMODITY_BALANCE_LT:n +COMMODITY_BALANCE_LT:n-y +COMMODITY_BALANCE_LT:y +COMMODITY_USE: +COMMODITY_USE:c +COMMODITY_USE:c-l +COMMODITY_USE:n-c-l +COMMODITY_USE:n-c-l-y +COMMODITY_USE:c-l-y +COMMODITY_USE:n-c +COMMODITY_USE:n-c-y +COMMODITY_USE:c-y +COMMODITY_USE:l +COMMODITY_USE:n-l +COMMODITY_USE:n-l-y +COMMODITY_USE:l-y +COMMODITY_USE:n +COMMODITY_USE:n-y +COMMODITY_USE:y +COMMODITY_USE_LEVEL-margin:n-c-l-y-h +COMMODITY_USE_LEVEL: +COMMODITY_USE_LEVEL:c +COMMODITY_USE_LEVEL:c-h +COMMODITY_USE_LEVEL:c-l-h +COMMODITY_USE_LEVEL:n-c-l-h +COMMODITY_USE_LEVEL:n-c-l-y-h +COMMODITY_USE_LEVEL:c-l-y-h +COMMODITY_USE_LEVEL:n-c-h +COMMODITY_USE_LEVEL:n-c-y-h +COMMODITY_USE_LEVEL:c-y-h +COMMODITY_USE_LEVEL:c-l +COMMODITY_USE_LEVEL:n-c-l +COMMODITY_USE_LEVEL:n-c-l-y +COMMODITY_USE_LEVEL:c-l-y +COMMODITY_USE_LEVEL:n-c +COMMODITY_USE_LEVEL:n-c-y +COMMODITY_USE_LEVEL:c-y +COMMODITY_USE_LEVEL:h +COMMODITY_USE_LEVEL:l-h +COMMODITY_USE_LEVEL:n-l-h +COMMODITY_USE_LEVEL:n-l-y-h +COMMODITY_USE_LEVEL:l-y-h +COMMODITY_USE_LEVEL:n-h +COMMODITY_USE_LEVEL:n-y-h +COMMODITY_USE_LEVEL:y-h +COMMODITY_USE_LEVEL:l +COMMODITY_USE_LEVEL:n-l +COMMODITY_USE_LEVEL:n-l-y +COMMODITY_USE_LEVEL:l-y +COMMODITY_USE_LEVEL:n +COMMODITY_USE_LEVEL:n-y +COMMODITY_USE_LEVEL:y +COST_ACCOUNTING_NODAL-margin:n-y +COST_ACCOUNTING_NODAL: +COST_ACCOUNTING_NODAL:n +COST_ACCOUNTING_NODAL:n-y +COST_ACCOUNTING_NODAL:y +COST_NODAL: +COST_NODAL:n +COST_NODAL:n-y +COST_NODAL:y +COST_NODAL_NET: +COST_NODAL_NET:n +COST_NODAL_NET:n-y +COST_NODAL_NET:y +DEMAND: +DEMAND:c +DEMAND:c-h +DEMAND:c-l-h +DEMAND:n-c-l-h +DEMAND:n-c-l-y-h +DEMAND:c-l-y-h +DEMAND:n-c-h +DEMAND:n-c-y-h +DEMAND:c-y-h +DEMAND:c-l +DEMAND:n-c-l +DEMAND:n-c-l-y +DEMAND:c-l-y +DEMAND:n-c +DEMAND:n-c-y +DEMAND:c-y +DEMAND:h +DEMAND:l-h +DEMAND:n-l-h +DEMAND:n-l-y-h +DEMAND:l-y-h +DEMAND:n-h +DEMAND:n-y-h +DEMAND:y-h +DEMAND:l +DEMAND:n-l +DEMAND:n-l-y +DEMAND:l-y +DEMAND:n +DEMAND:n-y +DEMAND:y +DYNAMIC_LAND_SCEN_CONSTRAINT_LO-margin:n-s-y +DYNAMIC_LAND_SCEN_CONSTRAINT_LO: +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:n +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:n-s +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:n-s-y +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:n-y +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:s +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:s-y +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:y +DYNAMIC_LAND_SCEN_CONSTRAINT_UP-margin:n-s-y +DYNAMIC_LAND_SCEN_CONSTRAINT_UP: +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:n +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:n-s +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:n-s-y +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:n-y +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:s +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:s-y +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:y +DYNAMIC_LAND_TYPE_CONSTRAINT_LO-margin:n-y-u +DYNAMIC_LAND_TYPE_CONSTRAINT_LO: +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:n +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:n-u +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:n-y-u +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:n-y +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:u +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:y-u +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:y +DYNAMIC_LAND_TYPE_CONSTRAINT_UP-margin:n-y-u +DYNAMIC_LAND_TYPE_CONSTRAINT_UP: +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:n +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:n-u +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:n-y-u +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:n-y +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:u +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:y-u +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:y +EMISS: +EMISS:e +EMISS:n-e +EMISS:n-e-type_tec +EMISS:n-e-type_tec-y +EMISS:n-e-y +EMISS:e-type_tec +EMISS:e-type_tec-y +EMISS:e-y +EMISS:n +EMISS:n-type_tec +EMISS:n-type_tec-y +EMISS:n-y +EMISS:type_tec +EMISS:type_tec-y +EMISS:y +EMISSION_CONSTRAINT-margin:n-type_emission-type_tec-type_year +EMISSION_CONSTRAINT: +EMISSION_CONSTRAINT:n +EMISSION_CONSTRAINT:n-type_emission +EMISSION_CONSTRAINT:n-type_emission-type_tec +EMISSION_CONSTRAINT:n-type_emission-type_tec-type_year +EMISSION_CONSTRAINT:n-type_emission-type_year +EMISSION_CONSTRAINT:n-type_tec +EMISSION_CONSTRAINT:n-type_tec-type_year +EMISSION_CONSTRAINT:n-type_year +EMISSION_CONSTRAINT:type_emission +EMISSION_CONSTRAINT:type_emission-type_tec +EMISSION_CONSTRAINT:type_emission-type_tec-type_year +EMISSION_CONSTRAINT:type_emission-type_year +EMISSION_CONSTRAINT:type_tec +EMISSION_CONSTRAINT:type_tec-type_year +EMISSION_CONSTRAINT:type_year +EMISSION_EQUIVALENCE-margin:n-e-type_tec-y +EMISSION_EQUIVALENCE: +EMISSION_EQUIVALENCE:e +EMISSION_EQUIVALENCE:n-e +EMISSION_EQUIVALENCE:n-e-type_tec +EMISSION_EQUIVALENCE:n-e-type_tec-y +EMISSION_EQUIVALENCE:n-e-y +EMISSION_EQUIVALENCE:e-type_tec +EMISSION_EQUIVALENCE:e-type_tec-y +EMISSION_EQUIVALENCE:e-y +EMISSION_EQUIVALENCE:n +EMISSION_EQUIVALENCE:n-type_tec +EMISSION_EQUIVALENCE:n-type_tec-y +EMISSION_EQUIVALENCE:n-y +EMISSION_EQUIVALENCE:type_tec +EMISSION_EQUIVALENCE:type_tec-y +EMISSION_EQUIVALENCE:y +EXT: +EXT:c +EXT:c-g +EXT:n-c-g +EXT:n-c-g-y +EXT:c-g-y +EXT:n-c +EXT:n-c-y +EXT:c-y +EXT:g +EXT:n-g +EXT:n-g-y +EXT:g-y +EXT:n +EXT:n-y +EXT:y +EXTRACTION_BOUND_UP-margin:n-c-g-y +EXTRACTION_BOUND_UP: +EXTRACTION_BOUND_UP:c +EXTRACTION_BOUND_UP:c-g +EXTRACTION_BOUND_UP:n-c-g +EXTRACTION_BOUND_UP:n-c-g-y +EXTRACTION_BOUND_UP:c-g-y +EXTRACTION_BOUND_UP:n-c +EXTRACTION_BOUND_UP:n-c-y +EXTRACTION_BOUND_UP:c-y +EXTRACTION_BOUND_UP:g +EXTRACTION_BOUND_UP:n-g +EXTRACTION_BOUND_UP:n-g-y +EXTRACTION_BOUND_UP:g-y +EXTRACTION_BOUND_UP:n +EXTRACTION_BOUND_UP:n-y +EXTRACTION_BOUND_UP:y +EXTRACTION_EQUIVALENCE-margin:n-c-y +EXTRACTION_EQUIVALENCE: +EXTRACTION_EQUIVALENCE:c +EXTRACTION_EQUIVALENCE:n-c +EXTRACTION_EQUIVALENCE:n-c-y +EXTRACTION_EQUIVALENCE:c-y +EXTRACTION_EQUIVALENCE:n +EXTRACTION_EQUIVALENCE:n-y +EXTRACTION_EQUIVALENCE:y +FIRM_CAPACITY_PROVISION-margin:n-inv_tec-y-c-l-h +FIRM_CAPACITY_PROVISION: +FIRM_CAPACITY_PROVISION:c +FIRM_CAPACITY_PROVISION:c-h +FIRM_CAPACITY_PROVISION:inv_tec-c-h +FIRM_CAPACITY_PROVISION:inv_tec-c-l-h +FIRM_CAPACITY_PROVISION:n-inv_tec-c-l-h +FIRM_CAPACITY_PROVISION:n-inv_tec-y-c-l-h +FIRM_CAPACITY_PROVISION:inv_tec-y-c-l-h +FIRM_CAPACITY_PROVISION:n-inv_tec-c-h +FIRM_CAPACITY_PROVISION:n-inv_tec-y-c-h +FIRM_CAPACITY_PROVISION:inv_tec-y-c-h +FIRM_CAPACITY_PROVISION:c-l-h +FIRM_CAPACITY_PROVISION:n-c-l-h +FIRM_CAPACITY_PROVISION:n-y-c-l-h +FIRM_CAPACITY_PROVISION:y-c-l-h +FIRM_CAPACITY_PROVISION:n-c-h +FIRM_CAPACITY_PROVISION:n-y-c-h +FIRM_CAPACITY_PROVISION:y-c-h +FIRM_CAPACITY_PROVISION:inv_tec-c +FIRM_CAPACITY_PROVISION:inv_tec-c-l +FIRM_CAPACITY_PROVISION:n-inv_tec-c-l +FIRM_CAPACITY_PROVISION:n-inv_tec-y-c-l +FIRM_CAPACITY_PROVISION:inv_tec-y-c-l +FIRM_CAPACITY_PROVISION:n-inv_tec-c +FIRM_CAPACITY_PROVISION:n-inv_tec-y-c +FIRM_CAPACITY_PROVISION:inv_tec-y-c +FIRM_CAPACITY_PROVISION:c-l +FIRM_CAPACITY_PROVISION:n-c-l +FIRM_CAPACITY_PROVISION:n-y-c-l +FIRM_CAPACITY_PROVISION:y-c-l +FIRM_CAPACITY_PROVISION:n-c +FIRM_CAPACITY_PROVISION:n-y-c +FIRM_CAPACITY_PROVISION:y-c +FIRM_CAPACITY_PROVISION:h +FIRM_CAPACITY_PROVISION:inv_tec-h +FIRM_CAPACITY_PROVISION:inv_tec-l-h +FIRM_CAPACITY_PROVISION:n-inv_tec-l-h +FIRM_CAPACITY_PROVISION:n-inv_tec-y-l-h +FIRM_CAPACITY_PROVISION:inv_tec-y-l-h +FIRM_CAPACITY_PROVISION:n-inv_tec-h +FIRM_CAPACITY_PROVISION:n-inv_tec-y-h +FIRM_CAPACITY_PROVISION:inv_tec-y-h +FIRM_CAPACITY_PROVISION:l-h +FIRM_CAPACITY_PROVISION:n-l-h +FIRM_CAPACITY_PROVISION:n-y-l-h +FIRM_CAPACITY_PROVISION:y-l-h +FIRM_CAPACITY_PROVISION:n-h +FIRM_CAPACITY_PROVISION:n-y-h +FIRM_CAPACITY_PROVISION:y-h +FIRM_CAPACITY_PROVISION:inv_tec +FIRM_CAPACITY_PROVISION:inv_tec-l +FIRM_CAPACITY_PROVISION:n-inv_tec-l +FIRM_CAPACITY_PROVISION:n-inv_tec-y-l +FIRM_CAPACITY_PROVISION:inv_tec-y-l +FIRM_CAPACITY_PROVISION:n-inv_tec +FIRM_CAPACITY_PROVISION:n-inv_tec-y +FIRM_CAPACITY_PROVISION:inv_tec-y +FIRM_CAPACITY_PROVISION:l +FIRM_CAPACITY_PROVISION:n-l +FIRM_CAPACITY_PROVISION:n-y-l +FIRM_CAPACITY_PROVISION:y-l +FIRM_CAPACITY_PROVISION:n +FIRM_CAPACITY_PROVISION:n-y +FIRM_CAPACITY_PROVISION:y +GDP: +GDP:n +GDP:n-y +GDP:y +I: +I:n +I:n-y +I:y +LAND: +LAND:n +LAND:n-s +LAND:n-s-y +LAND:n-y +LAND:s +LAND:s-y +LAND:y +LAND_CONSTRAINT-margin:n-y +LAND_CONSTRAINT: +LAND_CONSTRAINT:n +LAND_CONSTRAINT:n-y +LAND_CONSTRAINT:y +MIN_UTILIZATION_CONSTRAINT-margin:n-inv_tec-yv-y +MIN_UTILIZATION_CONSTRAINT: +MIN_UTILIZATION_CONSTRAINT:inv_tec +MIN_UTILIZATION_CONSTRAINT:n-inv_tec +MIN_UTILIZATION_CONSTRAINT:n-inv_tec-y +MIN_UTILIZATION_CONSTRAINT:n-inv_tec-yv-y +MIN_UTILIZATION_CONSTRAINT:n-inv_tec-yv +MIN_UTILIZATION_CONSTRAINT:inv_tec-y +MIN_UTILIZATION_CONSTRAINT:inv_tec-yv-y +MIN_UTILIZATION_CONSTRAINT:inv_tec-yv +MIN_UTILIZATION_CONSTRAINT:n +MIN_UTILIZATION_CONSTRAINT:n-y +MIN_UTILIZATION_CONSTRAINT:n-yv-y +MIN_UTILIZATION_CONSTRAINT:n-yv +MIN_UTILIZATION_CONSTRAINT:y +MIN_UTILIZATION_CONSTRAINT:yv-y +MIN_UTILIZATION_CONSTRAINT:yv +NEW_CAPACITY_BOUND_LO-margin:n-inv_tec-y +NEW_CAPACITY_BOUND_LO: +NEW_CAPACITY_BOUND_LO:inv_tec +NEW_CAPACITY_BOUND_LO:n-inv_tec +NEW_CAPACITY_BOUND_LO:n-inv_tec-y +NEW_CAPACITY_BOUND_LO:inv_tec-y +NEW_CAPACITY_BOUND_LO:n +NEW_CAPACITY_BOUND_LO:n-y +NEW_CAPACITY_BOUND_LO:y +NEW_CAPACITY_BOUND_UP-margin:n-inv_tec-y +NEW_CAPACITY_BOUND_UP: +NEW_CAPACITY_BOUND_UP:inv_tec +NEW_CAPACITY_BOUND_UP:n-inv_tec +NEW_CAPACITY_BOUND_UP:n-inv_tec-y +NEW_CAPACITY_BOUND_UP:inv_tec-y +NEW_CAPACITY_BOUND_UP:n +NEW_CAPACITY_BOUND_UP:n-y +NEW_CAPACITY_BOUND_UP:y +NEW_CAPACITY_CONSTRAINT_LO-margin:n-inv_tec-y +NEW_CAPACITY_CONSTRAINT_LO: +NEW_CAPACITY_CONSTRAINT_LO:inv_tec +NEW_CAPACITY_CONSTRAINT_LO:n-inv_tec +NEW_CAPACITY_CONSTRAINT_LO:n-inv_tec-y +NEW_CAPACITY_CONSTRAINT_LO:inv_tec-y +NEW_CAPACITY_CONSTRAINT_LO:n +NEW_CAPACITY_CONSTRAINT_LO:n-y +NEW_CAPACITY_CONSTRAINT_LO:y +NEW_CAPACITY_CONSTRAINT_UP-margin:n-inv_tec-y +NEW_CAPACITY_CONSTRAINT_UP: +NEW_CAPACITY_CONSTRAINT_UP:inv_tec +NEW_CAPACITY_CONSTRAINT_UP:n-inv_tec +NEW_CAPACITY_CONSTRAINT_UP:n-inv_tec-y +NEW_CAPACITY_CONSTRAINT_UP:inv_tec-y +NEW_CAPACITY_CONSTRAINT_UP:n +NEW_CAPACITY_CONSTRAINT_UP:n-y +NEW_CAPACITY_CONSTRAINT_UP:y +NEW_CAPACITY_SOFT_CONSTRAINT_LO-margin:n-inv_tec-y +NEW_CAPACITY_SOFT_CONSTRAINT_LO: +NEW_CAPACITY_SOFT_CONSTRAINT_LO:inv_tec +NEW_CAPACITY_SOFT_CONSTRAINT_LO:n-inv_tec +NEW_CAPACITY_SOFT_CONSTRAINT_LO:n-inv_tec-y +NEW_CAPACITY_SOFT_CONSTRAINT_LO:inv_tec-y +NEW_CAPACITY_SOFT_CONSTRAINT_LO:n +NEW_CAPACITY_SOFT_CONSTRAINT_LO:n-y +NEW_CAPACITY_SOFT_CONSTRAINT_LO:y +NEW_CAPACITY_SOFT_CONSTRAINT_UP-margin:n-inv_tec-y +NEW_CAPACITY_SOFT_CONSTRAINT_UP: +NEW_CAPACITY_SOFT_CONSTRAINT_UP:inv_tec +NEW_CAPACITY_SOFT_CONSTRAINT_UP:n-inv_tec +NEW_CAPACITY_SOFT_CONSTRAINT_UP:n-inv_tec-y +NEW_CAPACITY_SOFT_CONSTRAINT_UP:inv_tec-y +NEW_CAPACITY_SOFT_CONSTRAINT_UP:n +NEW_CAPACITY_SOFT_CONSTRAINT_UP:n-y +NEW_CAPACITY_SOFT_CONSTRAINT_UP:y +OBJ: +OBJECTIVE-margin: +OBJECTIVE: +OPERATION_CONSTRAINT-margin:n-inv_tec-yv-y +OPERATION_CONSTRAINT: +OPERATION_CONSTRAINT:inv_tec +OPERATION_CONSTRAINT:n-inv_tec +OPERATION_CONSTRAINT:n-inv_tec-y +OPERATION_CONSTRAINT:n-inv_tec-yv-y +OPERATION_CONSTRAINT:n-inv_tec-yv +OPERATION_CONSTRAINT:inv_tec-y +OPERATION_CONSTRAINT:inv_tec-yv-y +OPERATION_CONSTRAINT:inv_tec-yv +OPERATION_CONSTRAINT:n +OPERATION_CONSTRAINT:n-y +OPERATION_CONSTRAINT:n-yv-y +OPERATION_CONSTRAINT:n-yv +OPERATION_CONSTRAINT:y +OPERATION_CONSTRAINT:yv-y +OPERATION_CONSTRAINT:yv +PRICE_COMMODITY: +PRICE_COMMODITY:c +PRICE_COMMODITY:c-h +PRICE_COMMODITY:c-l-h +PRICE_COMMODITY:n-c-l-h +PRICE_COMMODITY:n-c-l-y-h +PRICE_COMMODITY:c-l-y-h +PRICE_COMMODITY:n-c-h +PRICE_COMMODITY:n-c-y-h +PRICE_COMMODITY:c-y-h +PRICE_COMMODITY:c-l +PRICE_COMMODITY:n-c-l +PRICE_COMMODITY:n-c-l-y +PRICE_COMMODITY:c-l-y +PRICE_COMMODITY:n-c +PRICE_COMMODITY:n-c-y +PRICE_COMMODITY:c-y +PRICE_COMMODITY:h +PRICE_COMMODITY:l-h +PRICE_COMMODITY:n-l-h +PRICE_COMMODITY:n-l-y-h +PRICE_COMMODITY:l-y-h +PRICE_COMMODITY:n-h +PRICE_COMMODITY:n-y-h +PRICE_COMMODITY:y-h +PRICE_COMMODITY:l +PRICE_COMMODITY:n-l +PRICE_COMMODITY:n-l-y +PRICE_COMMODITY:l-y +PRICE_COMMODITY:n +PRICE_COMMODITY:n-y +PRICE_COMMODITY:y +PRICE_EMISSION: +PRICE_EMISSION:n +PRICE_EMISSION:n-type_emission +PRICE_EMISSION:n-type_emission-type_tec +PRICE_EMISSION:n-type_emission-type_tec-y +PRICE_EMISSION:n-type_emission-y +PRICE_EMISSION:n-type_tec +PRICE_EMISSION:n-type_tec-y +PRICE_EMISSION:n-y +PRICE_EMISSION:type_emission +PRICE_EMISSION:type_emission-type_tec +PRICE_EMISSION:type_emission-type_tec-y +PRICE_EMISSION:type_emission-y +PRICE_EMISSION:type_tec +PRICE_EMISSION:type_tec-y +PRICE_EMISSION:y +REL: +REL:nr +REL:r-nr +REL:r-nr-yr +REL:nr-yr +REL:r +REL:r-yr +REL:yr +RELATION_CONSTRAINT_LO-margin:r-n-y +RELATION_CONSTRAINT_LO: +RELATION_CONSTRAINT_LO:n +RELATION_CONSTRAINT_LO:r-n +RELATION_CONSTRAINT_LO:r-n-y +RELATION_CONSTRAINT_LO:n-y +RELATION_CONSTRAINT_LO:r +RELATION_CONSTRAINT_LO:r-y +RELATION_CONSTRAINT_LO:y +RELATION_CONSTRAINT_UP-margin:r-n-y +RELATION_CONSTRAINT_UP: +RELATION_CONSTRAINT_UP:n +RELATION_CONSTRAINT_UP:r-n +RELATION_CONSTRAINT_UP:r-n-y +RELATION_CONSTRAINT_UP:n-y +RELATION_CONSTRAINT_UP:r +RELATION_CONSTRAINT_UP:r-y +RELATION_CONSTRAINT_UP:y +RELATION_EQUIVALENCE-margin:r-n-y +RELATION_EQUIVALENCE: +RELATION_EQUIVALENCE:n +RELATION_EQUIVALENCE:r-n +RELATION_EQUIVALENCE:r-n-y +RELATION_EQUIVALENCE:n-y +RELATION_EQUIVALENCE:r +RELATION_EQUIVALENCE:r-y +RELATION_EQUIVALENCE:y +REN: +REN:c +REN:c-g +REN:c-g-h +REN:n-c-g-h +REN:n-t-c-g-h +REN:n-t-c-g-y-h +REN:n-c-g-y-h +REN:t-c-g-h +REN:t-c-g-y-h +REN:c-g-y-h +REN:n-c-g +REN:n-t-c-g +REN:n-t-c-g-y +REN:n-c-g-y +REN:t-c-g +REN:t-c-g-y +REN:c-g-y +REN:c-h +REN:n-c-h +REN:n-t-c-h +REN:n-t-c-y-h +REN:n-c-y-h +REN:t-c-h +REN:t-c-y-h +REN:c-y-h +REN:n-c +REN:n-t-c +REN:n-t-c-y +REN:n-c-y +REN:t-c +REN:t-c-y +REN:c-y +REN:g +REN:g-h +REN:n-g-h +REN:n-t-g-h +REN:n-t-g-y-h +REN:n-g-y-h +REN:t-g-h +REN:t-g-y-h +REN:g-y-h +REN:n-g +REN:n-t-g +REN:n-t-g-y +REN:n-g-y +REN:t-g +REN:t-g-y +REN:g-y +REN:h +REN:n-h +REN:n-t-h +REN:n-t-y-h +REN:n-y-h +REN:t-h +REN:t-y-h +REN:y-h +REN:n +REN:n-t +REN:n-t-y +REN:n-y +REN:t +REN:t-y +REN:y +RENEWABLES_CAPACITY_REQUIREMENT-margin:n-inv_tec-c-y +RENEWABLES_CAPACITY_REQUIREMENT: +RENEWABLES_CAPACITY_REQUIREMENT:c +RENEWABLES_CAPACITY_REQUIREMENT:inv_tec-c +RENEWABLES_CAPACITY_REQUIREMENT:n-inv_tec-c +RENEWABLES_CAPACITY_REQUIREMENT:n-inv_tec-c-y +RENEWABLES_CAPACITY_REQUIREMENT:inv_tec-c-y +RENEWABLES_CAPACITY_REQUIREMENT:n-c +RENEWABLES_CAPACITY_REQUIREMENT:n-c-y +RENEWABLES_CAPACITY_REQUIREMENT:c-y +RENEWABLES_CAPACITY_REQUIREMENT:inv_tec +RENEWABLES_CAPACITY_REQUIREMENT:n-inv_tec +RENEWABLES_CAPACITY_REQUIREMENT:n-inv_tec-y +RENEWABLES_CAPACITY_REQUIREMENT:inv_tec-y +RENEWABLES_CAPACITY_REQUIREMENT:n +RENEWABLES_CAPACITY_REQUIREMENT:n-y +RENEWABLES_CAPACITY_REQUIREMENT:y +RENEWABLES_EQUIVALENCE-margin:n-renewable_tec-c-y-h +RENEWABLES_EQUIVALENCE: +RENEWABLES_EQUIVALENCE:c +RENEWABLES_EQUIVALENCE:c-h +RENEWABLES_EQUIVALENCE:n-c-h +RENEWABLES_EQUIVALENCE:n-renewable_tec-c-h +RENEWABLES_EQUIVALENCE:n-renewable_tec-c-y-h +RENEWABLES_EQUIVALENCE:n-c-y-h +RENEWABLES_EQUIVALENCE:renewable_tec-c-h +RENEWABLES_EQUIVALENCE:renewable_tec-c-y-h +RENEWABLES_EQUIVALENCE:c-y-h +RENEWABLES_EQUIVALENCE:n-c +RENEWABLES_EQUIVALENCE:n-renewable_tec-c +RENEWABLES_EQUIVALENCE:n-renewable_tec-c-y +RENEWABLES_EQUIVALENCE:n-c-y +RENEWABLES_EQUIVALENCE:renewable_tec-c +RENEWABLES_EQUIVALENCE:renewable_tec-c-y +RENEWABLES_EQUIVALENCE:c-y +RENEWABLES_EQUIVALENCE:h +RENEWABLES_EQUIVALENCE:n-h +RENEWABLES_EQUIVALENCE:n-renewable_tec-h +RENEWABLES_EQUIVALENCE:n-renewable_tec-y-h +RENEWABLES_EQUIVALENCE:n-y-h +RENEWABLES_EQUIVALENCE:renewable_tec-h +RENEWABLES_EQUIVALENCE:renewable_tec-y-h +RENEWABLES_EQUIVALENCE:y-h +RENEWABLES_EQUIVALENCE:n +RENEWABLES_EQUIVALENCE:n-renewable_tec +RENEWABLES_EQUIVALENCE:n-renewable_tec-y +RENEWABLES_EQUIVALENCE:n-y +RENEWABLES_EQUIVALENCE:renewable_tec +RENEWABLES_EQUIVALENCE:renewable_tec-y +RENEWABLES_EQUIVALENCE:y +RENEWABLES_POTENTIAL_CONSTRAINT-margin:n-c-g-y +RENEWABLES_POTENTIAL_CONSTRAINT: +RENEWABLES_POTENTIAL_CONSTRAINT:c +RENEWABLES_POTENTIAL_CONSTRAINT:c-g +RENEWABLES_POTENTIAL_CONSTRAINT:n-c-g +RENEWABLES_POTENTIAL_CONSTRAINT:n-c-g-y +RENEWABLES_POTENTIAL_CONSTRAINT:c-g-y +RENEWABLES_POTENTIAL_CONSTRAINT:n-c +RENEWABLES_POTENTIAL_CONSTRAINT:n-c-y +RENEWABLES_POTENTIAL_CONSTRAINT:c-y +RENEWABLES_POTENTIAL_CONSTRAINT:g +RENEWABLES_POTENTIAL_CONSTRAINT:n-g +RENEWABLES_POTENTIAL_CONSTRAINT:n-g-y +RENEWABLES_POTENTIAL_CONSTRAINT:g-y +RENEWABLES_POTENTIAL_CONSTRAINT:n +RENEWABLES_POTENTIAL_CONSTRAINT:n-y +RENEWABLES_POTENTIAL_CONSTRAINT:y +RESOURCE_CONSTRAINT-margin:n-c-g-y +RESOURCE_CONSTRAINT: +RESOURCE_CONSTRAINT:c +RESOURCE_CONSTRAINT:c-g +RESOURCE_CONSTRAINT:n-c-g +RESOURCE_CONSTRAINT:n-c-g-y +RESOURCE_CONSTRAINT:c-g-y +RESOURCE_CONSTRAINT:n-c +RESOURCE_CONSTRAINT:n-c-y +RESOURCE_CONSTRAINT:c-y +RESOURCE_CONSTRAINT:g +RESOURCE_CONSTRAINT:n-g +RESOURCE_CONSTRAINT:n-g-y +RESOURCE_CONSTRAINT:g-y +RESOURCE_CONSTRAINT:n +RESOURCE_CONSTRAINT:n-y +RESOURCE_CONSTRAINT:y +RESOURCE_HORIZON-margin:n-c-g +RESOURCE_HORIZON: +RESOURCE_HORIZON:c +RESOURCE_HORIZON:c-g +RESOURCE_HORIZON:n-c-g +RESOURCE_HORIZON:n-c +RESOURCE_HORIZON:g +RESOURCE_HORIZON:n-g +RESOURCE_HORIZON:n +SHARE_CONSTRAINT_COMMODITY_LO-margin:shares-ns-y-h +SHARE_CONSTRAINT_COMMODITY_LO: +SHARE_CONSTRAINT_COMMODITY_LO:h +SHARE_CONSTRAINT_COMMODITY_LO:ns-h +SHARE_CONSTRAINT_COMMODITY_LO:shares-ns-h +SHARE_CONSTRAINT_COMMODITY_LO:shares-ns-y-h +SHARE_CONSTRAINT_COMMODITY_LO:ns-y-h +SHARE_CONSTRAINT_COMMODITY_LO:shares-h +SHARE_CONSTRAINT_COMMODITY_LO:shares-y-h +SHARE_CONSTRAINT_COMMODITY_LO:y-h +SHARE_CONSTRAINT_COMMODITY_LO:ns +SHARE_CONSTRAINT_COMMODITY_LO:shares-ns +SHARE_CONSTRAINT_COMMODITY_LO:shares-ns-y +SHARE_CONSTRAINT_COMMODITY_LO:ns-y +SHARE_CONSTRAINT_COMMODITY_LO:shares +SHARE_CONSTRAINT_COMMODITY_LO:shares-y +SHARE_CONSTRAINT_COMMODITY_LO:y +SHARE_CONSTRAINT_COMMODITY_UP-margin:shares-ns-y-h +SHARE_CONSTRAINT_COMMODITY_UP: +SHARE_CONSTRAINT_COMMODITY_UP:h +SHARE_CONSTRAINT_COMMODITY_UP:ns-h +SHARE_CONSTRAINT_COMMODITY_UP:shares-ns-h +SHARE_CONSTRAINT_COMMODITY_UP:shares-ns-y-h +SHARE_CONSTRAINT_COMMODITY_UP:ns-y-h +SHARE_CONSTRAINT_COMMODITY_UP:shares-h +SHARE_CONSTRAINT_COMMODITY_UP:shares-y-h +SHARE_CONSTRAINT_COMMODITY_UP:y-h +SHARE_CONSTRAINT_COMMODITY_UP:ns +SHARE_CONSTRAINT_COMMODITY_UP:shares-ns +SHARE_CONSTRAINT_COMMODITY_UP:shares-ns-y +SHARE_CONSTRAINT_COMMODITY_UP:ns-y +SHARE_CONSTRAINT_COMMODITY_UP:shares +SHARE_CONSTRAINT_COMMODITY_UP:shares-y +SHARE_CONSTRAINT_COMMODITY_UP:y +SHARE_CONSTRAINT_MODE_LO-margin:shares-n-t-m-y-h +SHARE_CONSTRAINT_MODE_LO: +SHARE_CONSTRAINT_MODE_LO:h +SHARE_CONSTRAINT_MODE_LO:m-h +SHARE_CONSTRAINT_MODE_LO:n-m-h +SHARE_CONSTRAINT_MODE_LO:shares-n-m-h +SHARE_CONSTRAINT_MODE_LO:shares-n-t-m-h +SHARE_CONSTRAINT_MODE_LO:shares-n-t-m-y-h +SHARE_CONSTRAINT_MODE_LO:shares-n-m-y-h +SHARE_CONSTRAINT_MODE_LO:n-t-m-h +SHARE_CONSTRAINT_MODE_LO:n-t-m-y-h +SHARE_CONSTRAINT_MODE_LO:n-m-y-h +SHARE_CONSTRAINT_MODE_LO:shares-m-h +SHARE_CONSTRAINT_MODE_LO:shares-t-m-h +SHARE_CONSTRAINT_MODE_LO:shares-t-m-y-h +SHARE_CONSTRAINT_MODE_LO:shares-m-y-h +SHARE_CONSTRAINT_MODE_LO:t-m-h +SHARE_CONSTRAINT_MODE_LO:t-m-y-h +SHARE_CONSTRAINT_MODE_LO:m-y-h +SHARE_CONSTRAINT_MODE_LO:n-h +SHARE_CONSTRAINT_MODE_LO:shares-n-h +SHARE_CONSTRAINT_MODE_LO:shares-n-t-h +SHARE_CONSTRAINT_MODE_LO:shares-n-t-y-h +SHARE_CONSTRAINT_MODE_LO:shares-n-y-h +SHARE_CONSTRAINT_MODE_LO:n-t-h +SHARE_CONSTRAINT_MODE_LO:n-t-y-h +SHARE_CONSTRAINT_MODE_LO:n-y-h +SHARE_CONSTRAINT_MODE_LO:shares-h +SHARE_CONSTRAINT_MODE_LO:shares-t-h +SHARE_CONSTRAINT_MODE_LO:shares-t-y-h +SHARE_CONSTRAINT_MODE_LO:shares-y-h +SHARE_CONSTRAINT_MODE_LO:t-h +SHARE_CONSTRAINT_MODE_LO:t-y-h +SHARE_CONSTRAINT_MODE_LO:y-h +SHARE_CONSTRAINT_MODE_LO:m +SHARE_CONSTRAINT_MODE_LO:n-m +SHARE_CONSTRAINT_MODE_LO:shares-n-m +SHARE_CONSTRAINT_MODE_LO:shares-n-t-m +SHARE_CONSTRAINT_MODE_LO:shares-n-t-m-y +SHARE_CONSTRAINT_MODE_LO:shares-n-m-y +SHARE_CONSTRAINT_MODE_LO:n-t-m +SHARE_CONSTRAINT_MODE_LO:n-t-m-y +SHARE_CONSTRAINT_MODE_LO:n-m-y +SHARE_CONSTRAINT_MODE_LO:shares-m +SHARE_CONSTRAINT_MODE_LO:shares-t-m +SHARE_CONSTRAINT_MODE_LO:shares-t-m-y +SHARE_CONSTRAINT_MODE_LO:shares-m-y +SHARE_CONSTRAINT_MODE_LO:t-m +SHARE_CONSTRAINT_MODE_LO:t-m-y +SHARE_CONSTRAINT_MODE_LO:m-y +SHARE_CONSTRAINT_MODE_LO:n +SHARE_CONSTRAINT_MODE_LO:shares-n +SHARE_CONSTRAINT_MODE_LO:shares-n-t +SHARE_CONSTRAINT_MODE_LO:shares-n-t-y +SHARE_CONSTRAINT_MODE_LO:shares-n-y +SHARE_CONSTRAINT_MODE_LO:n-t +SHARE_CONSTRAINT_MODE_LO:n-t-y +SHARE_CONSTRAINT_MODE_LO:n-y +SHARE_CONSTRAINT_MODE_LO:shares +SHARE_CONSTRAINT_MODE_LO:shares-t +SHARE_CONSTRAINT_MODE_LO:shares-t-y +SHARE_CONSTRAINT_MODE_LO:shares-y +SHARE_CONSTRAINT_MODE_LO:t +SHARE_CONSTRAINT_MODE_LO:t-y +SHARE_CONSTRAINT_MODE_LO:y +SHARE_CONSTRAINT_MODE_UP-margin:shares-n-t-m-y-h +SHARE_CONSTRAINT_MODE_UP: +SHARE_CONSTRAINT_MODE_UP:h +SHARE_CONSTRAINT_MODE_UP:m-h +SHARE_CONSTRAINT_MODE_UP:n-m-h +SHARE_CONSTRAINT_MODE_UP:shares-n-m-h +SHARE_CONSTRAINT_MODE_UP:shares-n-t-m-h +SHARE_CONSTRAINT_MODE_UP:shares-n-t-m-y-h +SHARE_CONSTRAINT_MODE_UP:shares-n-m-y-h +SHARE_CONSTRAINT_MODE_UP:n-t-m-h +SHARE_CONSTRAINT_MODE_UP:n-t-m-y-h +SHARE_CONSTRAINT_MODE_UP:n-m-y-h +SHARE_CONSTRAINT_MODE_UP:shares-m-h +SHARE_CONSTRAINT_MODE_UP:shares-t-m-h +SHARE_CONSTRAINT_MODE_UP:shares-t-m-y-h +SHARE_CONSTRAINT_MODE_UP:shares-m-y-h +SHARE_CONSTRAINT_MODE_UP:t-m-h +SHARE_CONSTRAINT_MODE_UP:t-m-y-h +SHARE_CONSTRAINT_MODE_UP:m-y-h +SHARE_CONSTRAINT_MODE_UP:n-h +SHARE_CONSTRAINT_MODE_UP:shares-n-h +SHARE_CONSTRAINT_MODE_UP:shares-n-t-h +SHARE_CONSTRAINT_MODE_UP:shares-n-t-y-h +SHARE_CONSTRAINT_MODE_UP:shares-n-y-h +SHARE_CONSTRAINT_MODE_UP:n-t-h +SHARE_CONSTRAINT_MODE_UP:n-t-y-h +SHARE_CONSTRAINT_MODE_UP:n-y-h +SHARE_CONSTRAINT_MODE_UP:shares-h +SHARE_CONSTRAINT_MODE_UP:shares-t-h +SHARE_CONSTRAINT_MODE_UP:shares-t-y-h +SHARE_CONSTRAINT_MODE_UP:shares-y-h +SHARE_CONSTRAINT_MODE_UP:t-h +SHARE_CONSTRAINT_MODE_UP:t-y-h +SHARE_CONSTRAINT_MODE_UP:y-h +SHARE_CONSTRAINT_MODE_UP:m +SHARE_CONSTRAINT_MODE_UP:n-m +SHARE_CONSTRAINT_MODE_UP:shares-n-m +SHARE_CONSTRAINT_MODE_UP:shares-n-t-m +SHARE_CONSTRAINT_MODE_UP:shares-n-t-m-y +SHARE_CONSTRAINT_MODE_UP:shares-n-m-y +SHARE_CONSTRAINT_MODE_UP:n-t-m +SHARE_CONSTRAINT_MODE_UP:n-t-m-y +SHARE_CONSTRAINT_MODE_UP:n-m-y +SHARE_CONSTRAINT_MODE_UP:shares-m +SHARE_CONSTRAINT_MODE_UP:shares-t-m +SHARE_CONSTRAINT_MODE_UP:shares-t-m-y +SHARE_CONSTRAINT_MODE_UP:shares-m-y +SHARE_CONSTRAINT_MODE_UP:t-m +SHARE_CONSTRAINT_MODE_UP:t-m-y +SHARE_CONSTRAINT_MODE_UP:m-y +SHARE_CONSTRAINT_MODE_UP:n +SHARE_CONSTRAINT_MODE_UP:shares-n +SHARE_CONSTRAINT_MODE_UP:shares-n-t +SHARE_CONSTRAINT_MODE_UP:shares-n-t-y +SHARE_CONSTRAINT_MODE_UP:shares-n-y +SHARE_CONSTRAINT_MODE_UP:n-t +SHARE_CONSTRAINT_MODE_UP:n-t-y +SHARE_CONSTRAINT_MODE_UP:n-y +SHARE_CONSTRAINT_MODE_UP:shares +SHARE_CONSTRAINT_MODE_UP:shares-t +SHARE_CONSTRAINT_MODE_UP:shares-t-y +SHARE_CONSTRAINT_MODE_UP:shares-y +SHARE_CONSTRAINT_MODE_UP:t +SHARE_CONSTRAINT_MODE_UP:t-y +SHARE_CONSTRAINT_MODE_UP:y +SLACK_ACT_BOUND_LO: +SLACK_ACT_BOUND_LO:h +SLACK_ACT_BOUND_LO:m-h +SLACK_ACT_BOUND_LO:n-m-h +SLACK_ACT_BOUND_LO:n-t-m-h +SLACK_ACT_BOUND_LO:n-t-y-m-h +SLACK_ACT_BOUND_LO:n-y-m-h +SLACK_ACT_BOUND_LO:t-m-h +SLACK_ACT_BOUND_LO:t-y-m-h +SLACK_ACT_BOUND_LO:y-m-h +SLACK_ACT_BOUND_LO:n-h +SLACK_ACT_BOUND_LO:n-t-h +SLACK_ACT_BOUND_LO:n-t-y-h +SLACK_ACT_BOUND_LO:n-y-h +SLACK_ACT_BOUND_LO:t-h +SLACK_ACT_BOUND_LO:t-y-h +SLACK_ACT_BOUND_LO:y-h +SLACK_ACT_BOUND_LO:m +SLACK_ACT_BOUND_LO:n-m +SLACK_ACT_BOUND_LO:n-t-m +SLACK_ACT_BOUND_LO:n-t-y-m +SLACK_ACT_BOUND_LO:n-y-m +SLACK_ACT_BOUND_LO:t-m +SLACK_ACT_BOUND_LO:t-y-m +SLACK_ACT_BOUND_LO:y-m +SLACK_ACT_BOUND_LO:n +SLACK_ACT_BOUND_LO:n-t +SLACK_ACT_BOUND_LO:n-t-y +SLACK_ACT_BOUND_LO:n-y +SLACK_ACT_BOUND_LO:t +SLACK_ACT_BOUND_LO:t-y +SLACK_ACT_BOUND_LO:y +SLACK_ACT_BOUND_UP: +SLACK_ACT_BOUND_UP:h +SLACK_ACT_BOUND_UP:m-h +SLACK_ACT_BOUND_UP:n-m-h +SLACK_ACT_BOUND_UP:n-t-m-h +SLACK_ACT_BOUND_UP:n-t-y-m-h +SLACK_ACT_BOUND_UP:n-y-m-h +SLACK_ACT_BOUND_UP:t-m-h +SLACK_ACT_BOUND_UP:t-y-m-h +SLACK_ACT_BOUND_UP:y-m-h +SLACK_ACT_BOUND_UP:n-h +SLACK_ACT_BOUND_UP:n-t-h +SLACK_ACT_BOUND_UP:n-t-y-h +SLACK_ACT_BOUND_UP:n-y-h +SLACK_ACT_BOUND_UP:t-h +SLACK_ACT_BOUND_UP:t-y-h +SLACK_ACT_BOUND_UP:y-h +SLACK_ACT_BOUND_UP:m +SLACK_ACT_BOUND_UP:n-m +SLACK_ACT_BOUND_UP:n-t-m +SLACK_ACT_BOUND_UP:n-t-y-m +SLACK_ACT_BOUND_UP:n-y-m +SLACK_ACT_BOUND_UP:t-m +SLACK_ACT_BOUND_UP:t-y-m +SLACK_ACT_BOUND_UP:y-m +SLACK_ACT_BOUND_UP:n +SLACK_ACT_BOUND_UP:n-t +SLACK_ACT_BOUND_UP:n-t-y +SLACK_ACT_BOUND_UP:n-y +SLACK_ACT_BOUND_UP:t +SLACK_ACT_BOUND_UP:t-y +SLACK_ACT_BOUND_UP:y +SLACK_ACT_DYNAMIC_LO: +SLACK_ACT_DYNAMIC_LO:h +SLACK_ACT_DYNAMIC_LO:n-h +SLACK_ACT_DYNAMIC_LO:n-t-h +SLACK_ACT_DYNAMIC_LO:n-t-y-h +SLACK_ACT_DYNAMIC_LO:n-y-h +SLACK_ACT_DYNAMIC_LO:t-h +SLACK_ACT_DYNAMIC_LO:t-y-h +SLACK_ACT_DYNAMIC_LO:y-h +SLACK_ACT_DYNAMIC_LO:n +SLACK_ACT_DYNAMIC_LO:n-t +SLACK_ACT_DYNAMIC_LO:n-t-y +SLACK_ACT_DYNAMIC_LO:n-y +SLACK_ACT_DYNAMIC_LO:t +SLACK_ACT_DYNAMIC_LO:t-y +SLACK_ACT_DYNAMIC_LO:y +SLACK_ACT_DYNAMIC_UP: +SLACK_ACT_DYNAMIC_UP:h +SLACK_ACT_DYNAMIC_UP:n-h +SLACK_ACT_DYNAMIC_UP:n-t-h +SLACK_ACT_DYNAMIC_UP:n-t-y-h +SLACK_ACT_DYNAMIC_UP:n-y-h +SLACK_ACT_DYNAMIC_UP:t-h +SLACK_ACT_DYNAMIC_UP:t-y-h +SLACK_ACT_DYNAMIC_UP:y-h +SLACK_ACT_DYNAMIC_UP:n +SLACK_ACT_DYNAMIC_UP:n-t +SLACK_ACT_DYNAMIC_UP:n-t-y +SLACK_ACT_DYNAMIC_UP:n-y +SLACK_ACT_DYNAMIC_UP:t +SLACK_ACT_DYNAMIC_UP:t-y +SLACK_ACT_DYNAMIC_UP:y +SLACK_CAP_NEW_BOUND_LO: +SLACK_CAP_NEW_BOUND_LO:n +SLACK_CAP_NEW_BOUND_LO:n-t +SLACK_CAP_NEW_BOUND_LO:n-t-y +SLACK_CAP_NEW_BOUND_LO:n-y +SLACK_CAP_NEW_BOUND_LO:t +SLACK_CAP_NEW_BOUND_LO:t-y +SLACK_CAP_NEW_BOUND_LO:y +SLACK_CAP_NEW_BOUND_UP: +SLACK_CAP_NEW_BOUND_UP:n +SLACK_CAP_NEW_BOUND_UP:n-t +SLACK_CAP_NEW_BOUND_UP:n-t-y +SLACK_CAP_NEW_BOUND_UP:n-y +SLACK_CAP_NEW_BOUND_UP:t +SLACK_CAP_NEW_BOUND_UP:t-y +SLACK_CAP_NEW_BOUND_UP:y +SLACK_CAP_NEW_DYNAMIC_LO: +SLACK_CAP_NEW_DYNAMIC_LO:n +SLACK_CAP_NEW_DYNAMIC_LO:n-t +SLACK_CAP_NEW_DYNAMIC_LO:n-t-y +SLACK_CAP_NEW_DYNAMIC_LO:n-y +SLACK_CAP_NEW_DYNAMIC_LO:t +SLACK_CAP_NEW_DYNAMIC_LO:t-y +SLACK_CAP_NEW_DYNAMIC_LO:y +SLACK_CAP_NEW_DYNAMIC_UP: +SLACK_CAP_NEW_DYNAMIC_UP:n +SLACK_CAP_NEW_DYNAMIC_UP:n-t +SLACK_CAP_NEW_DYNAMIC_UP:n-t-y +SLACK_CAP_NEW_DYNAMIC_UP:n-y +SLACK_CAP_NEW_DYNAMIC_UP:t +SLACK_CAP_NEW_DYNAMIC_UP:t-y +SLACK_CAP_NEW_DYNAMIC_UP:y +SLACK_CAP_TOTAL_BOUND_LO: +SLACK_CAP_TOTAL_BOUND_LO:n +SLACK_CAP_TOTAL_BOUND_LO:n-t +SLACK_CAP_TOTAL_BOUND_LO:n-t-y +SLACK_CAP_TOTAL_BOUND_LO:n-y +SLACK_CAP_TOTAL_BOUND_LO:t +SLACK_CAP_TOTAL_BOUND_LO:t-y +SLACK_CAP_TOTAL_BOUND_LO:y +SLACK_CAP_TOTAL_BOUND_UP: +SLACK_CAP_TOTAL_BOUND_UP:n +SLACK_CAP_TOTAL_BOUND_UP:n-t +SLACK_CAP_TOTAL_BOUND_UP:n-t-y +SLACK_CAP_TOTAL_BOUND_UP:n-y +SLACK_CAP_TOTAL_BOUND_UP:t +SLACK_CAP_TOTAL_BOUND_UP:t-y +SLACK_CAP_TOTAL_BOUND_UP:y +SLACK_COMMODITY_EQUIVALENCE_LO: +SLACK_COMMODITY_EQUIVALENCE_LO:c +SLACK_COMMODITY_EQUIVALENCE_LO:c-h +SLACK_COMMODITY_EQUIVALENCE_LO:c-l-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-l-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-l-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:c-l-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:c-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:c-l +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-l +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-l-y +SLACK_COMMODITY_EQUIVALENCE_LO:c-l-y +SLACK_COMMODITY_EQUIVALENCE_LO:n-c +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-y +SLACK_COMMODITY_EQUIVALENCE_LO:c-y +SLACK_COMMODITY_EQUIVALENCE_LO:h +SLACK_COMMODITY_EQUIVALENCE_LO:l-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-l-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-l-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:l-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:y-h +SLACK_COMMODITY_EQUIVALENCE_LO:l +SLACK_COMMODITY_EQUIVALENCE_LO:n-l +SLACK_COMMODITY_EQUIVALENCE_LO:n-l-y +SLACK_COMMODITY_EQUIVALENCE_LO:l-y +SLACK_COMMODITY_EQUIVALENCE_LO:n +SLACK_COMMODITY_EQUIVALENCE_LO:n-y +SLACK_COMMODITY_EQUIVALENCE_LO:y +SLACK_COMMODITY_EQUIVALENCE_UP: +SLACK_COMMODITY_EQUIVALENCE_UP:c +SLACK_COMMODITY_EQUIVALENCE_UP:c-h +SLACK_COMMODITY_EQUIVALENCE_UP:c-l-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-l-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-l-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:c-l-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:c-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:c-l +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-l +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-l-y +SLACK_COMMODITY_EQUIVALENCE_UP:c-l-y +SLACK_COMMODITY_EQUIVALENCE_UP:n-c +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-y +SLACK_COMMODITY_EQUIVALENCE_UP:c-y +SLACK_COMMODITY_EQUIVALENCE_UP:h +SLACK_COMMODITY_EQUIVALENCE_UP:l-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-l-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-l-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:l-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:y-h +SLACK_COMMODITY_EQUIVALENCE_UP:l +SLACK_COMMODITY_EQUIVALENCE_UP:n-l +SLACK_COMMODITY_EQUIVALENCE_UP:n-l-y +SLACK_COMMODITY_EQUIVALENCE_UP:l-y +SLACK_COMMODITY_EQUIVALENCE_UP:n +SLACK_COMMODITY_EQUIVALENCE_UP:n-y +SLACK_COMMODITY_EQUIVALENCE_UP:y +SLACK_LAND_SCEN_LO: +SLACK_LAND_SCEN_LO:n +SLACK_LAND_SCEN_LO:n-s +SLACK_LAND_SCEN_LO:n-s-y +SLACK_LAND_SCEN_LO:n-y +SLACK_LAND_SCEN_LO:s +SLACK_LAND_SCEN_LO:s-y +SLACK_LAND_SCEN_LO:y +SLACK_LAND_SCEN_UP: +SLACK_LAND_SCEN_UP:n +SLACK_LAND_SCEN_UP:n-s +SLACK_LAND_SCEN_UP:n-s-y +SLACK_LAND_SCEN_UP:n-y +SLACK_LAND_SCEN_UP:s +SLACK_LAND_SCEN_UP:s-y +SLACK_LAND_SCEN_UP:y +SLACK_LAND_TYPE_LO: +SLACK_LAND_TYPE_LO:n +SLACK_LAND_TYPE_LO:n-u +SLACK_LAND_TYPE_LO:n-y-u +SLACK_LAND_TYPE_LO:n-y +SLACK_LAND_TYPE_LO:u +SLACK_LAND_TYPE_LO:y-u +SLACK_LAND_TYPE_LO:y +SLACK_LAND_TYPE_UP: +SLACK_LAND_TYPE_UP:n +SLACK_LAND_TYPE_UP:n-u +SLACK_LAND_TYPE_UP:n-y-u +SLACK_LAND_TYPE_UP:n-y +SLACK_LAND_TYPE_UP:u +SLACK_LAND_TYPE_UP:y-u +SLACK_LAND_TYPE_UP:y +SLACK_RELATION_BOUND_LO: +SLACK_RELATION_BOUND_LO:n +SLACK_RELATION_BOUND_LO:r-n +SLACK_RELATION_BOUND_LO:r-n-y +SLACK_RELATION_BOUND_LO:n-y +SLACK_RELATION_BOUND_LO:r +SLACK_RELATION_BOUND_LO:r-y +SLACK_RELATION_BOUND_LO:y +SLACK_RELATION_BOUND_UP: +SLACK_RELATION_BOUND_UP:n +SLACK_RELATION_BOUND_UP:r-n +SLACK_RELATION_BOUND_UP:r-n-y +SLACK_RELATION_BOUND_UP:n-y +SLACK_RELATION_BOUND_UP:r +SLACK_RELATION_BOUND_UP:r-y +SLACK_RELATION_BOUND_UP:y +STOCK: +STOCK:c +STOCK:c-l +STOCK:n-c-l +STOCK:n-c-l-y +STOCK:c-l-y +STOCK:n-c +STOCK:n-c-y +STOCK:c-y +STOCK:l +STOCK:n-l +STOCK:n-l-y +STOCK:l-y +STOCK:n +STOCK:n-y +STOCK:y +STOCKS_BALANCE-margin:n-c-l-y +STOCKS_BALANCE: +STOCKS_BALANCE:c +STOCKS_BALANCE:c-l +STOCKS_BALANCE:n-c-l +STOCKS_BALANCE:n-c-l-y +STOCKS_BALANCE:c-l-y +STOCKS_BALANCE:n-c +STOCKS_BALANCE:n-c-y +STOCKS_BALANCE:c-y +STOCKS_BALANCE:l +STOCKS_BALANCE:n-l +STOCKS_BALANCE:n-l-y +STOCKS_BALANCE:l-y +STOCKS_BALANCE:n +STOCKS_BALANCE:n-y +STOCKS_BALANCE:y +STOCK_CHG: +STOCK_CHG:c +STOCK_CHG:c-h +STOCK_CHG:c-l-h +STOCK_CHG:n-c-l-h +STOCK_CHG:n-c-l-y-h +STOCK_CHG:c-l-y-h +STOCK_CHG:n-c-h +STOCK_CHG:n-c-y-h +STOCK_CHG:c-y-h +STOCK_CHG:c-l +STOCK_CHG:n-c-l +STOCK_CHG:n-c-l-y +STOCK_CHG:c-l-y +STOCK_CHG:n-c +STOCK_CHG:n-c-y +STOCK_CHG:c-y +STOCK_CHG:h +STOCK_CHG:l-h +STOCK_CHG:n-l-h +STOCK_CHG:n-l-y-h +STOCK_CHG:l-y-h +STOCK_CHG:n-h +STOCK_CHG:n-y-h +STOCK_CHG:y-h +STOCK_CHG:l +STOCK_CHG:n-l +STOCK_CHG:n-l-y +STOCK_CHG:l-y +STOCK_CHG:n +STOCK_CHG:n-y +STOCK_CHG:y +STORAGE: +STORAGE:c +STORAGE:c-h +STORAGE:l-c-h +STORAGE:m-l-c-h +STORAGE:n-m-l-c-h +STORAGE:n-t-m-l-c-h +STORAGE:n-t-m-l-c-y-h +STORAGE:n-m-l-c-y-h +STORAGE:t-m-l-c-h +STORAGE:t-m-l-c-y-h +STORAGE:m-l-c-y-h +STORAGE:n-l-c-h +STORAGE:n-t-l-c-h +STORAGE:n-t-l-c-y-h +STORAGE:n-l-c-y-h +STORAGE:t-l-c-h +STORAGE:t-l-c-y-h +STORAGE:l-c-y-h +STORAGE:m-c-h +STORAGE:n-m-c-h +STORAGE:n-t-m-c-h +STORAGE:n-t-m-c-y-h +STORAGE:n-m-c-y-h +STORAGE:t-m-c-h +STORAGE:t-m-c-y-h +STORAGE:m-c-y-h +STORAGE:n-c-h +STORAGE:n-t-c-h +STORAGE:n-t-c-y-h +STORAGE:n-c-y-h +STORAGE:t-c-h +STORAGE:t-c-y-h +STORAGE:c-y-h +STORAGE:l-c +STORAGE:m-l-c +STORAGE:n-m-l-c +STORAGE:n-t-m-l-c +STORAGE:n-t-m-l-c-y +STORAGE:n-m-l-c-y +STORAGE:t-m-l-c +STORAGE:t-m-l-c-y +STORAGE:m-l-c-y +STORAGE:n-l-c +STORAGE:n-t-l-c +STORAGE:n-t-l-c-y +STORAGE:n-l-c-y +STORAGE:t-l-c +STORAGE:t-l-c-y +STORAGE:l-c-y +STORAGE:m-c +STORAGE:n-m-c +STORAGE:n-t-m-c +STORAGE:n-t-m-c-y +STORAGE:n-m-c-y +STORAGE:t-m-c +STORAGE:t-m-c-y +STORAGE:m-c-y +STORAGE:n-c +STORAGE:n-t-c +STORAGE:n-t-c-y +STORAGE:n-c-y +STORAGE:t-c +STORAGE:t-c-y +STORAGE:c-y +STORAGE:h +STORAGE:l-h +STORAGE:m-l-h +STORAGE:n-m-l-h +STORAGE:n-t-m-l-h +STORAGE:n-t-m-l-y-h +STORAGE:n-m-l-y-h +STORAGE:t-m-l-h +STORAGE:t-m-l-y-h +STORAGE:m-l-y-h +STORAGE:n-l-h +STORAGE:n-t-l-h +STORAGE:n-t-l-y-h +STORAGE:n-l-y-h +STORAGE:t-l-h +STORAGE:t-l-y-h +STORAGE:l-y-h +STORAGE:m-h +STORAGE:n-m-h +STORAGE:n-t-m-h +STORAGE:n-t-m-y-h +STORAGE:n-m-y-h +STORAGE:t-m-h +STORAGE:t-m-y-h +STORAGE:m-y-h +STORAGE:n-h +STORAGE:n-t-h +STORAGE:n-t-y-h +STORAGE:n-y-h +STORAGE:t-h +STORAGE:t-y-h +STORAGE:y-h +STORAGE:l +STORAGE:m-l +STORAGE:n-m-l +STORAGE:n-t-m-l +STORAGE:n-t-m-l-y +STORAGE:n-m-l-y +STORAGE:t-m-l +STORAGE:t-m-l-y +STORAGE:m-l-y +STORAGE:n-l +STORAGE:n-t-l +STORAGE:n-t-l-y +STORAGE:n-l-y +STORAGE:t-l +STORAGE:t-l-y +STORAGE:l-y +STORAGE:m +STORAGE:n-m +STORAGE:n-t-m +STORAGE:n-t-m-y +STORAGE:n-m-y +STORAGE:t-m +STORAGE:t-m-y +STORAGE:m-y +STORAGE:n +STORAGE:n-t +STORAGE:n-t-y +STORAGE:n-y +STORAGE:t +STORAGE:t-y +STORAGE:y +STORAGE_BALANCE-margin:n-ts-m-l-c-y-h2-lvl_temporal +STORAGE_BALANCE: +STORAGE_BALANCE:c +STORAGE_BALANCE:c-h2 +STORAGE_BALANCE:l-c-h2 +STORAGE_BALANCE:l-c-h2-lvl_temporal +STORAGE_BALANCE:m-l-c-h2-lvl_temporal +STORAGE_BALANCE:n-m-l-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:n-m-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:ts-m-l-c-h2-lvl_temporal +STORAGE_BALANCE:ts-m-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:m-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:n-l-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-l-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:n-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:ts-l-c-h2-lvl_temporal +STORAGE_BALANCE:ts-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:l-c-y-h2-lvl_temporal +STORAGE_BALANCE:m-l-c-h2 +STORAGE_BALANCE:n-m-l-c-h2 +STORAGE_BALANCE:n-ts-m-l-c-h2 +STORAGE_BALANCE:n-ts-m-l-c-y-h2 +STORAGE_BALANCE:n-m-l-c-y-h2 +STORAGE_BALANCE:ts-m-l-c-h2 +STORAGE_BALANCE:ts-m-l-c-y-h2 +STORAGE_BALANCE:m-l-c-y-h2 +STORAGE_BALANCE:n-l-c-h2 +STORAGE_BALANCE:n-ts-l-c-h2 +STORAGE_BALANCE:n-ts-l-c-y-h2 +STORAGE_BALANCE:n-l-c-y-h2 +STORAGE_BALANCE:ts-l-c-h2 +STORAGE_BALANCE:ts-l-c-y-h2 +STORAGE_BALANCE:l-c-y-h2 +STORAGE_BALANCE:c-h2-lvl_temporal +STORAGE_BALANCE:m-c-h2-lvl_temporal +STORAGE_BALANCE:n-m-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-c-y-h2-lvl_temporal +STORAGE_BALANCE:n-m-c-y-h2-lvl_temporal +STORAGE_BALANCE:ts-m-c-h2-lvl_temporal +STORAGE_BALANCE:ts-m-c-y-h2-lvl_temporal +STORAGE_BALANCE:m-c-y-h2-lvl_temporal +STORAGE_BALANCE:n-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-c-y-h2-lvl_temporal +STORAGE_BALANCE:n-c-y-h2-lvl_temporal +STORAGE_BALANCE:ts-c-h2-lvl_temporal +STORAGE_BALANCE:ts-c-y-h2-lvl_temporal +STORAGE_BALANCE:c-y-h2-lvl_temporal +STORAGE_BALANCE:m-c-h2 +STORAGE_BALANCE:n-m-c-h2 +STORAGE_BALANCE:n-ts-m-c-h2 +STORAGE_BALANCE:n-ts-m-c-y-h2 +STORAGE_BALANCE:n-m-c-y-h2 +STORAGE_BALANCE:ts-m-c-h2 +STORAGE_BALANCE:ts-m-c-y-h2 +STORAGE_BALANCE:m-c-y-h2 +STORAGE_BALANCE:n-c-h2 +STORAGE_BALANCE:n-ts-c-h2 +STORAGE_BALANCE:n-ts-c-y-h2 +STORAGE_BALANCE:n-c-y-h2 +STORAGE_BALANCE:ts-c-h2 +STORAGE_BALANCE:ts-c-y-h2 +STORAGE_BALANCE:c-y-h2 +STORAGE_BALANCE:l-c +STORAGE_BALANCE:l-c-lvl_temporal +STORAGE_BALANCE:m-l-c-lvl_temporal +STORAGE_BALANCE:n-m-l-c-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-c-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-c-y-lvl_temporal +STORAGE_BALANCE:n-m-l-c-y-lvl_temporal +STORAGE_BALANCE:ts-m-l-c-lvl_temporal +STORAGE_BALANCE:ts-m-l-c-y-lvl_temporal +STORAGE_BALANCE:m-l-c-y-lvl_temporal +STORAGE_BALANCE:n-l-c-lvl_temporal +STORAGE_BALANCE:n-ts-l-c-lvl_temporal +STORAGE_BALANCE:n-ts-l-c-y-lvl_temporal +STORAGE_BALANCE:n-l-c-y-lvl_temporal +STORAGE_BALANCE:ts-l-c-lvl_temporal +STORAGE_BALANCE:ts-l-c-y-lvl_temporal +STORAGE_BALANCE:l-c-y-lvl_temporal +STORAGE_BALANCE:m-l-c +STORAGE_BALANCE:n-m-l-c +STORAGE_BALANCE:n-ts-m-l-c +STORAGE_BALANCE:n-ts-m-l-c-y +STORAGE_BALANCE:n-m-l-c-y +STORAGE_BALANCE:ts-m-l-c +STORAGE_BALANCE:ts-m-l-c-y +STORAGE_BALANCE:m-l-c-y +STORAGE_BALANCE:n-l-c +STORAGE_BALANCE:n-ts-l-c +STORAGE_BALANCE:n-ts-l-c-y +STORAGE_BALANCE:n-l-c-y +STORAGE_BALANCE:ts-l-c +STORAGE_BALANCE:ts-l-c-y +STORAGE_BALANCE:l-c-y +STORAGE_BALANCE:c-lvl_temporal +STORAGE_BALANCE:m-c-lvl_temporal +STORAGE_BALANCE:n-m-c-lvl_temporal +STORAGE_BALANCE:n-ts-m-c-lvl_temporal +STORAGE_BALANCE:n-ts-m-c-y-lvl_temporal +STORAGE_BALANCE:n-m-c-y-lvl_temporal +STORAGE_BALANCE:ts-m-c-lvl_temporal +STORAGE_BALANCE:ts-m-c-y-lvl_temporal +STORAGE_BALANCE:m-c-y-lvl_temporal +STORAGE_BALANCE:n-c-lvl_temporal +STORAGE_BALANCE:n-ts-c-lvl_temporal +STORAGE_BALANCE:n-ts-c-y-lvl_temporal +STORAGE_BALANCE:n-c-y-lvl_temporal +STORAGE_BALANCE:ts-c-lvl_temporal +STORAGE_BALANCE:ts-c-y-lvl_temporal +STORAGE_BALANCE:c-y-lvl_temporal +STORAGE_BALANCE:m-c +STORAGE_BALANCE:n-m-c +STORAGE_BALANCE:n-ts-m-c +STORAGE_BALANCE:n-ts-m-c-y +STORAGE_BALANCE:n-m-c-y +STORAGE_BALANCE:ts-m-c +STORAGE_BALANCE:ts-m-c-y +STORAGE_BALANCE:m-c-y +STORAGE_BALANCE:n-c +STORAGE_BALANCE:n-ts-c +STORAGE_BALANCE:n-ts-c-y +STORAGE_BALANCE:n-c-y +STORAGE_BALANCE:ts-c +STORAGE_BALANCE:ts-c-y +STORAGE_BALANCE:c-y +STORAGE_BALANCE:h2 +STORAGE_BALANCE:l-h2 +STORAGE_BALANCE:l-h2-lvl_temporal +STORAGE_BALANCE:m-l-h2-lvl_temporal +STORAGE_BALANCE:n-m-l-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-y-h2-lvl_temporal +STORAGE_BALANCE:n-m-l-y-h2-lvl_temporal +STORAGE_BALANCE:ts-m-l-h2-lvl_temporal +STORAGE_BALANCE:ts-m-l-y-h2-lvl_temporal +STORAGE_BALANCE:m-l-y-h2-lvl_temporal +STORAGE_BALANCE:n-l-h2-lvl_temporal +STORAGE_BALANCE:n-ts-l-h2-lvl_temporal +STORAGE_BALANCE:n-ts-l-y-h2-lvl_temporal +STORAGE_BALANCE:n-l-y-h2-lvl_temporal +STORAGE_BALANCE:ts-l-h2-lvl_temporal +STORAGE_BALANCE:ts-l-y-h2-lvl_temporal +STORAGE_BALANCE:l-y-h2-lvl_temporal +STORAGE_BALANCE:m-l-h2 +STORAGE_BALANCE:n-m-l-h2 +STORAGE_BALANCE:n-ts-m-l-h2 +STORAGE_BALANCE:n-ts-m-l-y-h2 +STORAGE_BALANCE:n-m-l-y-h2 +STORAGE_BALANCE:ts-m-l-h2 +STORAGE_BALANCE:ts-m-l-y-h2 +STORAGE_BALANCE:m-l-y-h2 +STORAGE_BALANCE:n-l-h2 +STORAGE_BALANCE:n-ts-l-h2 +STORAGE_BALANCE:n-ts-l-y-h2 +STORAGE_BALANCE:n-l-y-h2 +STORAGE_BALANCE:ts-l-h2 +STORAGE_BALANCE:ts-l-y-h2 +STORAGE_BALANCE:l-y-h2 +STORAGE_BALANCE:h2-lvl_temporal +STORAGE_BALANCE:m-h2-lvl_temporal +STORAGE_BALANCE:n-m-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-y-h2-lvl_temporal +STORAGE_BALANCE:n-m-y-h2-lvl_temporal +STORAGE_BALANCE:ts-m-h2-lvl_temporal +STORAGE_BALANCE:ts-m-y-h2-lvl_temporal +STORAGE_BALANCE:m-y-h2-lvl_temporal +STORAGE_BALANCE:n-h2-lvl_temporal +STORAGE_BALANCE:n-ts-h2-lvl_temporal +STORAGE_BALANCE:n-ts-y-h2-lvl_temporal +STORAGE_BALANCE:n-y-h2-lvl_temporal +STORAGE_BALANCE:ts-h2-lvl_temporal +STORAGE_BALANCE:ts-y-h2-lvl_temporal +STORAGE_BALANCE:y-h2-lvl_temporal +STORAGE_BALANCE:m-h2 +STORAGE_BALANCE:n-m-h2 +STORAGE_BALANCE:n-ts-m-h2 +STORAGE_BALANCE:n-ts-m-y-h2 +STORAGE_BALANCE:n-m-y-h2 +STORAGE_BALANCE:ts-m-h2 +STORAGE_BALANCE:ts-m-y-h2 +STORAGE_BALANCE:m-y-h2 +STORAGE_BALANCE:n-h2 +STORAGE_BALANCE:n-ts-h2 +STORAGE_BALANCE:n-ts-y-h2 +STORAGE_BALANCE:n-y-h2 +STORAGE_BALANCE:ts-h2 +STORAGE_BALANCE:ts-y-h2 +STORAGE_BALANCE:y-h2 +STORAGE_BALANCE:l +STORAGE_BALANCE:l-lvl_temporal +STORAGE_BALANCE:m-l-lvl_temporal +STORAGE_BALANCE:n-m-l-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-y-lvl_temporal +STORAGE_BALANCE:n-m-l-y-lvl_temporal +STORAGE_BALANCE:ts-m-l-lvl_temporal +STORAGE_BALANCE:ts-m-l-y-lvl_temporal +STORAGE_BALANCE:m-l-y-lvl_temporal +STORAGE_BALANCE:n-l-lvl_temporal +STORAGE_BALANCE:n-ts-l-lvl_temporal +STORAGE_BALANCE:n-ts-l-y-lvl_temporal +STORAGE_BALANCE:n-l-y-lvl_temporal +STORAGE_BALANCE:ts-l-lvl_temporal +STORAGE_BALANCE:ts-l-y-lvl_temporal +STORAGE_BALANCE:l-y-lvl_temporal +STORAGE_BALANCE:m-l +STORAGE_BALANCE:n-m-l +STORAGE_BALANCE:n-ts-m-l +STORAGE_BALANCE:n-ts-m-l-y +STORAGE_BALANCE:n-m-l-y +STORAGE_BALANCE:ts-m-l +STORAGE_BALANCE:ts-m-l-y +STORAGE_BALANCE:m-l-y +STORAGE_BALANCE:n-l +STORAGE_BALANCE:n-ts-l +STORAGE_BALANCE:n-ts-l-y +STORAGE_BALANCE:n-l-y +STORAGE_BALANCE:ts-l +STORAGE_BALANCE:ts-l-y +STORAGE_BALANCE:l-y +STORAGE_BALANCE:lvl_temporal +STORAGE_BALANCE:m-lvl_temporal +STORAGE_BALANCE:n-m-lvl_temporal +STORAGE_BALANCE:n-ts-m-lvl_temporal +STORAGE_BALANCE:n-ts-m-y-lvl_temporal +STORAGE_BALANCE:n-m-y-lvl_temporal +STORAGE_BALANCE:ts-m-lvl_temporal +STORAGE_BALANCE:ts-m-y-lvl_temporal +STORAGE_BALANCE:m-y-lvl_temporal +STORAGE_BALANCE:n-lvl_temporal +STORAGE_BALANCE:n-ts-lvl_temporal +STORAGE_BALANCE:n-ts-y-lvl_temporal +STORAGE_BALANCE:n-y-lvl_temporal +STORAGE_BALANCE:ts-lvl_temporal +STORAGE_BALANCE:ts-y-lvl_temporal +STORAGE_BALANCE:y-lvl_temporal +STORAGE_BALANCE:m +STORAGE_BALANCE:n-m +STORAGE_BALANCE:n-ts-m +STORAGE_BALANCE:n-ts-m-y +STORAGE_BALANCE:n-m-y +STORAGE_BALANCE:ts-m +STORAGE_BALANCE:ts-m-y +STORAGE_BALANCE:m-y +STORAGE_BALANCE:n +STORAGE_BALANCE:n-ts +STORAGE_BALANCE:n-ts-y +STORAGE_BALANCE:n-y +STORAGE_BALANCE:ts +STORAGE_BALANCE:ts-y +STORAGE_BALANCE:y +STORAGE_BALANCE_INIT-margin:n-ts-m-l-c-y-h-h2 +STORAGE_BALANCE_INIT: +STORAGE_BALANCE_INIT:c +STORAGE_BALANCE_INIT:c-h +STORAGE_BALANCE_INIT:c-h-h2 +STORAGE_BALANCE_INIT:l-c-h-h2 +STORAGE_BALANCE_INIT:m-l-c-h-h2 +STORAGE_BALANCE_INIT:n-m-l-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-c-y-h-h2 +STORAGE_BALANCE_INIT:n-m-l-c-y-h-h2 +STORAGE_BALANCE_INIT:ts-m-l-c-h-h2 +STORAGE_BALANCE_INIT:ts-m-l-c-y-h-h2 +STORAGE_BALANCE_INIT:m-l-c-y-h-h2 +STORAGE_BALANCE_INIT:n-l-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-l-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-l-c-y-h-h2 +STORAGE_BALANCE_INIT:n-l-c-y-h-h2 +STORAGE_BALANCE_INIT:ts-l-c-h-h2 +STORAGE_BALANCE_INIT:ts-l-c-y-h-h2 +STORAGE_BALANCE_INIT:l-c-y-h-h2 +STORAGE_BALANCE_INIT:m-c-h-h2 +STORAGE_BALANCE_INIT:n-m-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-c-y-h-h2 +STORAGE_BALANCE_INIT:n-m-c-y-h-h2 +STORAGE_BALANCE_INIT:ts-m-c-h-h2 +STORAGE_BALANCE_INIT:ts-m-c-y-h-h2 +STORAGE_BALANCE_INIT:m-c-y-h-h2 +STORAGE_BALANCE_INIT:n-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-c-y-h-h2 +STORAGE_BALANCE_INIT:n-c-y-h-h2 +STORAGE_BALANCE_INIT:ts-c-h-h2 +STORAGE_BALANCE_INIT:ts-c-y-h-h2 +STORAGE_BALANCE_INIT:c-y-h-h2 +STORAGE_BALANCE_INIT:l-c-h +STORAGE_BALANCE_INIT:m-l-c-h +STORAGE_BALANCE_INIT:n-m-l-c-h +STORAGE_BALANCE_INIT:n-ts-m-l-c-h +STORAGE_BALANCE_INIT:n-ts-m-l-c-y-h +STORAGE_BALANCE_INIT:n-m-l-c-y-h +STORAGE_BALANCE_INIT:ts-m-l-c-h +STORAGE_BALANCE_INIT:ts-m-l-c-y-h +STORAGE_BALANCE_INIT:m-l-c-y-h +STORAGE_BALANCE_INIT:n-l-c-h +STORAGE_BALANCE_INIT:n-ts-l-c-h +STORAGE_BALANCE_INIT:n-ts-l-c-y-h +STORAGE_BALANCE_INIT:n-l-c-y-h +STORAGE_BALANCE_INIT:ts-l-c-h +STORAGE_BALANCE_INIT:ts-l-c-y-h +STORAGE_BALANCE_INIT:l-c-y-h +STORAGE_BALANCE_INIT:m-c-h +STORAGE_BALANCE_INIT:n-m-c-h +STORAGE_BALANCE_INIT:n-ts-m-c-h +STORAGE_BALANCE_INIT:n-ts-m-c-y-h +STORAGE_BALANCE_INIT:n-m-c-y-h +STORAGE_BALANCE_INIT:ts-m-c-h +STORAGE_BALANCE_INIT:ts-m-c-y-h +STORAGE_BALANCE_INIT:m-c-y-h +STORAGE_BALANCE_INIT:n-c-h +STORAGE_BALANCE_INIT:n-ts-c-h +STORAGE_BALANCE_INIT:n-ts-c-y-h +STORAGE_BALANCE_INIT:n-c-y-h +STORAGE_BALANCE_INIT:ts-c-h +STORAGE_BALANCE_INIT:ts-c-y-h +STORAGE_BALANCE_INIT:c-y-h +STORAGE_BALANCE_INIT:c-h2 +STORAGE_BALANCE_INIT:l-c-h2 +STORAGE_BALANCE_INIT:m-l-c-h2 +STORAGE_BALANCE_INIT:n-m-l-c-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-c-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-c-y-h2 +STORAGE_BALANCE_INIT:n-m-l-c-y-h2 +STORAGE_BALANCE_INIT:ts-m-l-c-h2 +STORAGE_BALANCE_INIT:ts-m-l-c-y-h2 +STORAGE_BALANCE_INIT:m-l-c-y-h2 +STORAGE_BALANCE_INIT:n-l-c-h2 +STORAGE_BALANCE_INIT:n-ts-l-c-h2 +STORAGE_BALANCE_INIT:n-ts-l-c-y-h2 +STORAGE_BALANCE_INIT:n-l-c-y-h2 +STORAGE_BALANCE_INIT:ts-l-c-h2 +STORAGE_BALANCE_INIT:ts-l-c-y-h2 +STORAGE_BALANCE_INIT:l-c-y-h2 +STORAGE_BALANCE_INIT:m-c-h2 +STORAGE_BALANCE_INIT:n-m-c-h2 +STORAGE_BALANCE_INIT:n-ts-m-c-h2 +STORAGE_BALANCE_INIT:n-ts-m-c-y-h2 +STORAGE_BALANCE_INIT:n-m-c-y-h2 +STORAGE_BALANCE_INIT:ts-m-c-h2 +STORAGE_BALANCE_INIT:ts-m-c-y-h2 +STORAGE_BALANCE_INIT:m-c-y-h2 +STORAGE_BALANCE_INIT:n-c-h2 +STORAGE_BALANCE_INIT:n-ts-c-h2 +STORAGE_BALANCE_INIT:n-ts-c-y-h2 +STORAGE_BALANCE_INIT:n-c-y-h2 +STORAGE_BALANCE_INIT:ts-c-h2 +STORAGE_BALANCE_INIT:ts-c-y-h2 +STORAGE_BALANCE_INIT:c-y-h2 +STORAGE_BALANCE_INIT:l-c +STORAGE_BALANCE_INIT:m-l-c +STORAGE_BALANCE_INIT:n-m-l-c +STORAGE_BALANCE_INIT:n-ts-m-l-c +STORAGE_BALANCE_INIT:n-ts-m-l-c-y +STORAGE_BALANCE_INIT:n-m-l-c-y +STORAGE_BALANCE_INIT:ts-m-l-c +STORAGE_BALANCE_INIT:ts-m-l-c-y +STORAGE_BALANCE_INIT:m-l-c-y +STORAGE_BALANCE_INIT:n-l-c +STORAGE_BALANCE_INIT:n-ts-l-c +STORAGE_BALANCE_INIT:n-ts-l-c-y +STORAGE_BALANCE_INIT:n-l-c-y +STORAGE_BALANCE_INIT:ts-l-c +STORAGE_BALANCE_INIT:ts-l-c-y +STORAGE_BALANCE_INIT:l-c-y +STORAGE_BALANCE_INIT:m-c +STORAGE_BALANCE_INIT:n-m-c +STORAGE_BALANCE_INIT:n-ts-m-c +STORAGE_BALANCE_INIT:n-ts-m-c-y +STORAGE_BALANCE_INIT:n-m-c-y +STORAGE_BALANCE_INIT:ts-m-c +STORAGE_BALANCE_INIT:ts-m-c-y +STORAGE_BALANCE_INIT:m-c-y +STORAGE_BALANCE_INIT:n-c +STORAGE_BALANCE_INIT:n-ts-c +STORAGE_BALANCE_INIT:n-ts-c-y +STORAGE_BALANCE_INIT:n-c-y +STORAGE_BALANCE_INIT:ts-c +STORAGE_BALANCE_INIT:ts-c-y +STORAGE_BALANCE_INIT:c-y +STORAGE_BALANCE_INIT:h +STORAGE_BALANCE_INIT:h-h2 +STORAGE_BALANCE_INIT:l-h-h2 +STORAGE_BALANCE_INIT:m-l-h-h2 +STORAGE_BALANCE_INIT:n-m-l-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-y-h-h2 +STORAGE_BALANCE_INIT:n-m-l-y-h-h2 +STORAGE_BALANCE_INIT:ts-m-l-h-h2 +STORAGE_BALANCE_INIT:ts-m-l-y-h-h2 +STORAGE_BALANCE_INIT:m-l-y-h-h2 +STORAGE_BALANCE_INIT:n-l-h-h2 +STORAGE_BALANCE_INIT:n-ts-l-h-h2 +STORAGE_BALANCE_INIT:n-ts-l-y-h-h2 +STORAGE_BALANCE_INIT:n-l-y-h-h2 +STORAGE_BALANCE_INIT:ts-l-h-h2 +STORAGE_BALANCE_INIT:ts-l-y-h-h2 +STORAGE_BALANCE_INIT:l-y-h-h2 +STORAGE_BALANCE_INIT:m-h-h2 +STORAGE_BALANCE_INIT:n-m-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-y-h-h2 +STORAGE_BALANCE_INIT:n-m-y-h-h2 +STORAGE_BALANCE_INIT:ts-m-h-h2 +STORAGE_BALANCE_INIT:ts-m-y-h-h2 +STORAGE_BALANCE_INIT:m-y-h-h2 +STORAGE_BALANCE_INIT:n-h-h2 +STORAGE_BALANCE_INIT:n-ts-h-h2 +STORAGE_BALANCE_INIT:n-ts-y-h-h2 +STORAGE_BALANCE_INIT:n-y-h-h2 +STORAGE_BALANCE_INIT:ts-h-h2 +STORAGE_BALANCE_INIT:ts-y-h-h2 +STORAGE_BALANCE_INIT:y-h-h2 +STORAGE_BALANCE_INIT:l-h +STORAGE_BALANCE_INIT:m-l-h +STORAGE_BALANCE_INIT:n-m-l-h +STORAGE_BALANCE_INIT:n-ts-m-l-h +STORAGE_BALANCE_INIT:n-ts-m-l-y-h +STORAGE_BALANCE_INIT:n-m-l-y-h +STORAGE_BALANCE_INIT:ts-m-l-h +STORAGE_BALANCE_INIT:ts-m-l-y-h +STORAGE_BALANCE_INIT:m-l-y-h +STORAGE_BALANCE_INIT:n-l-h +STORAGE_BALANCE_INIT:n-ts-l-h +STORAGE_BALANCE_INIT:n-ts-l-y-h +STORAGE_BALANCE_INIT:n-l-y-h +STORAGE_BALANCE_INIT:ts-l-h +STORAGE_BALANCE_INIT:ts-l-y-h +STORAGE_BALANCE_INIT:l-y-h +STORAGE_BALANCE_INIT:m-h +STORAGE_BALANCE_INIT:n-m-h +STORAGE_BALANCE_INIT:n-ts-m-h +STORAGE_BALANCE_INIT:n-ts-m-y-h +STORAGE_BALANCE_INIT:n-m-y-h +STORAGE_BALANCE_INIT:ts-m-h +STORAGE_BALANCE_INIT:ts-m-y-h +STORAGE_BALANCE_INIT:m-y-h +STORAGE_BALANCE_INIT:n-h +STORAGE_BALANCE_INIT:n-ts-h +STORAGE_BALANCE_INIT:n-ts-y-h +STORAGE_BALANCE_INIT:n-y-h +STORAGE_BALANCE_INIT:ts-h +STORAGE_BALANCE_INIT:ts-y-h +STORAGE_BALANCE_INIT:y-h +STORAGE_BALANCE_INIT:h2 +STORAGE_BALANCE_INIT:l-h2 +STORAGE_BALANCE_INIT:m-l-h2 +STORAGE_BALANCE_INIT:n-m-l-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-y-h2 +STORAGE_BALANCE_INIT:n-m-l-y-h2 +STORAGE_BALANCE_INIT:ts-m-l-h2 +STORAGE_BALANCE_INIT:ts-m-l-y-h2 +STORAGE_BALANCE_INIT:m-l-y-h2 +STORAGE_BALANCE_INIT:n-l-h2 +STORAGE_BALANCE_INIT:n-ts-l-h2 +STORAGE_BALANCE_INIT:n-ts-l-y-h2 +STORAGE_BALANCE_INIT:n-l-y-h2 +STORAGE_BALANCE_INIT:ts-l-h2 +STORAGE_BALANCE_INIT:ts-l-y-h2 +STORAGE_BALANCE_INIT:l-y-h2 +STORAGE_BALANCE_INIT:m-h2 +STORAGE_BALANCE_INIT:n-m-h2 +STORAGE_BALANCE_INIT:n-ts-m-h2 +STORAGE_BALANCE_INIT:n-ts-m-y-h2 +STORAGE_BALANCE_INIT:n-m-y-h2 +STORAGE_BALANCE_INIT:ts-m-h2 +STORAGE_BALANCE_INIT:ts-m-y-h2 +STORAGE_BALANCE_INIT:m-y-h2 +STORAGE_BALANCE_INIT:n-h2 +STORAGE_BALANCE_INIT:n-ts-h2 +STORAGE_BALANCE_INIT:n-ts-y-h2 +STORAGE_BALANCE_INIT:n-y-h2 +STORAGE_BALANCE_INIT:ts-h2 +STORAGE_BALANCE_INIT:ts-y-h2 +STORAGE_BALANCE_INIT:y-h2 +STORAGE_BALANCE_INIT:l +STORAGE_BALANCE_INIT:m-l +STORAGE_BALANCE_INIT:n-m-l +STORAGE_BALANCE_INIT:n-ts-m-l +STORAGE_BALANCE_INIT:n-ts-m-l-y +STORAGE_BALANCE_INIT:n-m-l-y +STORAGE_BALANCE_INIT:ts-m-l +STORAGE_BALANCE_INIT:ts-m-l-y +STORAGE_BALANCE_INIT:m-l-y +STORAGE_BALANCE_INIT:n-l +STORAGE_BALANCE_INIT:n-ts-l +STORAGE_BALANCE_INIT:n-ts-l-y +STORAGE_BALANCE_INIT:n-l-y +STORAGE_BALANCE_INIT:ts-l +STORAGE_BALANCE_INIT:ts-l-y +STORAGE_BALANCE_INIT:l-y +STORAGE_BALANCE_INIT:m +STORAGE_BALANCE_INIT:n-m +STORAGE_BALANCE_INIT:n-ts-m +STORAGE_BALANCE_INIT:n-ts-m-y +STORAGE_BALANCE_INIT:n-m-y +STORAGE_BALANCE_INIT:ts-m +STORAGE_BALANCE_INIT:ts-m-y +STORAGE_BALANCE_INIT:m-y +STORAGE_BALANCE_INIT:n +STORAGE_BALANCE_INIT:n-ts +STORAGE_BALANCE_INIT:n-ts-y +STORAGE_BALANCE_INIT:n-y +STORAGE_BALANCE_INIT:ts +STORAGE_BALANCE_INIT:ts-y +STORAGE_BALANCE_INIT:y +STORAGE_CHANGE-margin:n-ts-m-level_storage-c-y-h +STORAGE_CHANGE: +STORAGE_CHANGE:c +STORAGE_CHANGE:c-h +STORAGE_CHANGE:level_storage-c-h +STORAGE_CHANGE:m-level_storage-c-h +STORAGE_CHANGE:n-m-level_storage-c-h +STORAGE_CHANGE:n-ts-m-level_storage-c-h +STORAGE_CHANGE:n-ts-m-level_storage-c-y-h +STORAGE_CHANGE:n-m-level_storage-c-y-h +STORAGE_CHANGE:ts-m-level_storage-c-h +STORAGE_CHANGE:ts-m-level_storage-c-y-h +STORAGE_CHANGE:m-level_storage-c-y-h +STORAGE_CHANGE:n-level_storage-c-h +STORAGE_CHANGE:n-ts-level_storage-c-h +STORAGE_CHANGE:n-ts-level_storage-c-y-h +STORAGE_CHANGE:n-level_storage-c-y-h +STORAGE_CHANGE:ts-level_storage-c-h +STORAGE_CHANGE:ts-level_storage-c-y-h +STORAGE_CHANGE:level_storage-c-y-h +STORAGE_CHANGE:m-c-h +STORAGE_CHANGE:n-m-c-h +STORAGE_CHANGE:n-ts-m-c-h +STORAGE_CHANGE:n-ts-m-c-y-h +STORAGE_CHANGE:n-m-c-y-h +STORAGE_CHANGE:ts-m-c-h +STORAGE_CHANGE:ts-m-c-y-h +STORAGE_CHANGE:m-c-y-h +STORAGE_CHANGE:n-c-h +STORAGE_CHANGE:n-ts-c-h +STORAGE_CHANGE:n-ts-c-y-h +STORAGE_CHANGE:n-c-y-h +STORAGE_CHANGE:ts-c-h +STORAGE_CHANGE:ts-c-y-h +STORAGE_CHANGE:c-y-h +STORAGE_CHANGE:level_storage-c +STORAGE_CHANGE:m-level_storage-c +STORAGE_CHANGE:n-m-level_storage-c +STORAGE_CHANGE:n-ts-m-level_storage-c +STORAGE_CHANGE:n-ts-m-level_storage-c-y +STORAGE_CHANGE:n-m-level_storage-c-y +STORAGE_CHANGE:ts-m-level_storage-c +STORAGE_CHANGE:ts-m-level_storage-c-y +STORAGE_CHANGE:m-level_storage-c-y +STORAGE_CHANGE:n-level_storage-c +STORAGE_CHANGE:n-ts-level_storage-c +STORAGE_CHANGE:n-ts-level_storage-c-y +STORAGE_CHANGE:n-level_storage-c-y +STORAGE_CHANGE:ts-level_storage-c +STORAGE_CHANGE:ts-level_storage-c-y +STORAGE_CHANGE:level_storage-c-y +STORAGE_CHANGE:m-c +STORAGE_CHANGE:n-m-c +STORAGE_CHANGE:n-ts-m-c +STORAGE_CHANGE:n-ts-m-c-y +STORAGE_CHANGE:n-m-c-y +STORAGE_CHANGE:ts-m-c +STORAGE_CHANGE:ts-m-c-y +STORAGE_CHANGE:m-c-y +STORAGE_CHANGE:n-c +STORAGE_CHANGE:n-ts-c +STORAGE_CHANGE:n-ts-c-y +STORAGE_CHANGE:n-c-y +STORAGE_CHANGE:ts-c +STORAGE_CHANGE:ts-c-y +STORAGE_CHANGE:c-y +STORAGE_CHANGE:h +STORAGE_CHANGE:level_storage-h +STORAGE_CHANGE:m-level_storage-h +STORAGE_CHANGE:n-m-level_storage-h +STORAGE_CHANGE:n-ts-m-level_storage-h +STORAGE_CHANGE:n-ts-m-level_storage-y-h +STORAGE_CHANGE:n-m-level_storage-y-h +STORAGE_CHANGE:ts-m-level_storage-h +STORAGE_CHANGE:ts-m-level_storage-y-h +STORAGE_CHANGE:m-level_storage-y-h +STORAGE_CHANGE:n-level_storage-h +STORAGE_CHANGE:n-ts-level_storage-h +STORAGE_CHANGE:n-ts-level_storage-y-h +STORAGE_CHANGE:n-level_storage-y-h +STORAGE_CHANGE:ts-level_storage-h +STORAGE_CHANGE:ts-level_storage-y-h +STORAGE_CHANGE:level_storage-y-h +STORAGE_CHANGE:m-h +STORAGE_CHANGE:n-m-h +STORAGE_CHANGE:n-ts-m-h +STORAGE_CHANGE:n-ts-m-y-h +STORAGE_CHANGE:n-m-y-h +STORAGE_CHANGE:ts-m-h +STORAGE_CHANGE:ts-m-y-h +STORAGE_CHANGE:m-y-h +STORAGE_CHANGE:n-h +STORAGE_CHANGE:n-ts-h +STORAGE_CHANGE:n-ts-y-h +STORAGE_CHANGE:n-y-h +STORAGE_CHANGE:ts-h +STORAGE_CHANGE:ts-y-h +STORAGE_CHANGE:y-h +STORAGE_CHANGE:level_storage +STORAGE_CHANGE:m-level_storage +STORAGE_CHANGE:n-m-level_storage +STORAGE_CHANGE:n-ts-m-level_storage +STORAGE_CHANGE:n-ts-m-level_storage-y +STORAGE_CHANGE:n-m-level_storage-y +STORAGE_CHANGE:ts-m-level_storage +STORAGE_CHANGE:ts-m-level_storage-y +STORAGE_CHANGE:m-level_storage-y +STORAGE_CHANGE:n-level_storage +STORAGE_CHANGE:n-ts-level_storage +STORAGE_CHANGE:n-ts-level_storage-y +STORAGE_CHANGE:n-level_storage-y +STORAGE_CHANGE:ts-level_storage +STORAGE_CHANGE:ts-level_storage-y +STORAGE_CHANGE:level_storage-y +STORAGE_CHANGE:m +STORAGE_CHANGE:n-m +STORAGE_CHANGE:n-ts-m +STORAGE_CHANGE:n-ts-m-y +STORAGE_CHANGE:n-m-y +STORAGE_CHANGE:ts-m +STORAGE_CHANGE:ts-m-y +STORAGE_CHANGE:m-y +STORAGE_CHANGE:n +STORAGE_CHANGE:n-ts +STORAGE_CHANGE:n-ts-y +STORAGE_CHANGE:n-y +STORAGE_CHANGE:ts +STORAGE_CHANGE:ts-y +STORAGE_CHANGE:y +STORAGE_CHARGE: +STORAGE_CHARGE:c +STORAGE_CHARGE:c-h +STORAGE_CHARGE:l-c-h +STORAGE_CHARGE:m-l-c-h +STORAGE_CHARGE:n-m-l-c-h +STORAGE_CHARGE:n-t-m-l-c-h +STORAGE_CHARGE:n-t-m-l-c-y-h +STORAGE_CHARGE:n-m-l-c-y-h +STORAGE_CHARGE:t-m-l-c-h +STORAGE_CHARGE:t-m-l-c-y-h +STORAGE_CHARGE:m-l-c-y-h +STORAGE_CHARGE:n-l-c-h +STORAGE_CHARGE:n-t-l-c-h +STORAGE_CHARGE:n-t-l-c-y-h +STORAGE_CHARGE:n-l-c-y-h +STORAGE_CHARGE:t-l-c-h +STORAGE_CHARGE:t-l-c-y-h +STORAGE_CHARGE:l-c-y-h +STORAGE_CHARGE:m-c-h +STORAGE_CHARGE:n-m-c-h +STORAGE_CHARGE:n-t-m-c-h +STORAGE_CHARGE:n-t-m-c-y-h +STORAGE_CHARGE:n-m-c-y-h +STORAGE_CHARGE:t-m-c-h +STORAGE_CHARGE:t-m-c-y-h +STORAGE_CHARGE:m-c-y-h +STORAGE_CHARGE:n-c-h +STORAGE_CHARGE:n-t-c-h +STORAGE_CHARGE:n-t-c-y-h +STORAGE_CHARGE:n-c-y-h +STORAGE_CHARGE:t-c-h +STORAGE_CHARGE:t-c-y-h +STORAGE_CHARGE:c-y-h +STORAGE_CHARGE:l-c +STORAGE_CHARGE:m-l-c +STORAGE_CHARGE:n-m-l-c +STORAGE_CHARGE:n-t-m-l-c +STORAGE_CHARGE:n-t-m-l-c-y +STORAGE_CHARGE:n-m-l-c-y +STORAGE_CHARGE:t-m-l-c +STORAGE_CHARGE:t-m-l-c-y +STORAGE_CHARGE:m-l-c-y +STORAGE_CHARGE:n-l-c +STORAGE_CHARGE:n-t-l-c +STORAGE_CHARGE:n-t-l-c-y +STORAGE_CHARGE:n-l-c-y +STORAGE_CHARGE:t-l-c +STORAGE_CHARGE:t-l-c-y +STORAGE_CHARGE:l-c-y +STORAGE_CHARGE:m-c +STORAGE_CHARGE:n-m-c +STORAGE_CHARGE:n-t-m-c +STORAGE_CHARGE:n-t-m-c-y +STORAGE_CHARGE:n-m-c-y +STORAGE_CHARGE:t-m-c +STORAGE_CHARGE:t-m-c-y +STORAGE_CHARGE:m-c-y +STORAGE_CHARGE:n-c +STORAGE_CHARGE:n-t-c +STORAGE_CHARGE:n-t-c-y +STORAGE_CHARGE:n-c-y +STORAGE_CHARGE:t-c +STORAGE_CHARGE:t-c-y +STORAGE_CHARGE:c-y +STORAGE_CHARGE:h +STORAGE_CHARGE:l-h +STORAGE_CHARGE:m-l-h +STORAGE_CHARGE:n-m-l-h +STORAGE_CHARGE:n-t-m-l-h +STORAGE_CHARGE:n-t-m-l-y-h +STORAGE_CHARGE:n-m-l-y-h +STORAGE_CHARGE:t-m-l-h +STORAGE_CHARGE:t-m-l-y-h +STORAGE_CHARGE:m-l-y-h +STORAGE_CHARGE:n-l-h +STORAGE_CHARGE:n-t-l-h +STORAGE_CHARGE:n-t-l-y-h +STORAGE_CHARGE:n-l-y-h +STORAGE_CHARGE:t-l-h +STORAGE_CHARGE:t-l-y-h +STORAGE_CHARGE:l-y-h +STORAGE_CHARGE:m-h +STORAGE_CHARGE:n-m-h +STORAGE_CHARGE:n-t-m-h +STORAGE_CHARGE:n-t-m-y-h +STORAGE_CHARGE:n-m-y-h +STORAGE_CHARGE:t-m-h +STORAGE_CHARGE:t-m-y-h +STORAGE_CHARGE:m-y-h +STORAGE_CHARGE:n-h +STORAGE_CHARGE:n-t-h +STORAGE_CHARGE:n-t-y-h +STORAGE_CHARGE:n-y-h +STORAGE_CHARGE:t-h +STORAGE_CHARGE:t-y-h +STORAGE_CHARGE:y-h +STORAGE_CHARGE:l +STORAGE_CHARGE:m-l +STORAGE_CHARGE:n-m-l +STORAGE_CHARGE:n-t-m-l +STORAGE_CHARGE:n-t-m-l-y +STORAGE_CHARGE:n-m-l-y +STORAGE_CHARGE:t-m-l +STORAGE_CHARGE:t-m-l-y +STORAGE_CHARGE:m-l-y +STORAGE_CHARGE:n-l +STORAGE_CHARGE:n-t-l +STORAGE_CHARGE:n-t-l-y +STORAGE_CHARGE:n-l-y +STORAGE_CHARGE:t-l +STORAGE_CHARGE:t-l-y +STORAGE_CHARGE:l-y +STORAGE_CHARGE:m +STORAGE_CHARGE:n-m +STORAGE_CHARGE:n-t-m +STORAGE_CHARGE:n-t-m-y +STORAGE_CHARGE:n-m-y +STORAGE_CHARGE:t-m +STORAGE_CHARGE:t-m-y +STORAGE_CHARGE:m-y +STORAGE_CHARGE:n +STORAGE_CHARGE:n-t +STORAGE_CHARGE:n-t-y +STORAGE_CHARGE:n-y +STORAGE_CHARGE:t +STORAGE_CHARGE:t-y +STORAGE_CHARGE:y +STORAGE_INPUT-margin:n-ts-l-c-level_storage-c2-m-y-h +STORAGE_INPUT: +STORAGE_INPUT:c +STORAGE_INPUT:c-c2 +STORAGE_INPUT:c-c2-h +STORAGE_INPUT:l-c-c2-h +STORAGE_INPUT:l-c-level_storage-c2-h +STORAGE_INPUT:l-c-level_storage-c2-m-h +STORAGE_INPUT:n-l-c-level_storage-c2-m-h +STORAGE_INPUT:n-ts-l-c-level_storage-c2-m-h +STORAGE_INPUT:n-ts-l-c-level_storage-c2-m-y-h +STORAGE_INPUT:n-l-c-level_storage-c2-m-y-h +STORAGE_INPUT:ts-l-c-level_storage-c2-m-h +STORAGE_INPUT:ts-l-c-level_storage-c2-m-y-h +STORAGE_INPUT:l-c-level_storage-c2-m-y-h +STORAGE_INPUT:n-l-c-level_storage-c2-h +STORAGE_INPUT:n-ts-l-c-level_storage-c2-h +STORAGE_INPUT:n-ts-l-c-level_storage-c2-y-h +STORAGE_INPUT:n-l-c-level_storage-c2-y-h +STORAGE_INPUT:ts-l-c-level_storage-c2-h +STORAGE_INPUT:ts-l-c-level_storage-c2-y-h +STORAGE_INPUT:l-c-level_storage-c2-y-h +STORAGE_INPUT:l-c-c2-m-h +STORAGE_INPUT:n-l-c-c2-m-h +STORAGE_INPUT:n-ts-l-c-c2-m-h +STORAGE_INPUT:n-ts-l-c-c2-m-y-h +STORAGE_INPUT:n-l-c-c2-m-y-h +STORAGE_INPUT:ts-l-c-c2-m-h +STORAGE_INPUT:ts-l-c-c2-m-y-h +STORAGE_INPUT:l-c-c2-m-y-h +STORAGE_INPUT:n-l-c-c2-h +STORAGE_INPUT:n-ts-l-c-c2-h +STORAGE_INPUT:n-ts-l-c-c2-y-h +STORAGE_INPUT:n-l-c-c2-y-h +STORAGE_INPUT:ts-l-c-c2-h +STORAGE_INPUT:ts-l-c-c2-y-h +STORAGE_INPUT:l-c-c2-y-h +STORAGE_INPUT:c-level_storage-c2-h +STORAGE_INPUT:c-level_storage-c2-m-h +STORAGE_INPUT:n-c-level_storage-c2-m-h +STORAGE_INPUT:n-ts-c-level_storage-c2-m-h +STORAGE_INPUT:n-ts-c-level_storage-c2-m-y-h +STORAGE_INPUT:n-c-level_storage-c2-m-y-h +STORAGE_INPUT:ts-c-level_storage-c2-m-h +STORAGE_INPUT:ts-c-level_storage-c2-m-y-h +STORAGE_INPUT:c-level_storage-c2-m-y-h +STORAGE_INPUT:n-c-level_storage-c2-h +STORAGE_INPUT:n-ts-c-level_storage-c2-h +STORAGE_INPUT:n-ts-c-level_storage-c2-y-h +STORAGE_INPUT:n-c-level_storage-c2-y-h +STORAGE_INPUT:ts-c-level_storage-c2-h +STORAGE_INPUT:ts-c-level_storage-c2-y-h +STORAGE_INPUT:c-level_storage-c2-y-h +STORAGE_INPUT:c-c2-m-h +STORAGE_INPUT:n-c-c2-m-h +STORAGE_INPUT:n-ts-c-c2-m-h +STORAGE_INPUT:n-ts-c-c2-m-y-h +STORAGE_INPUT:n-c-c2-m-y-h +STORAGE_INPUT:ts-c-c2-m-h +STORAGE_INPUT:ts-c-c2-m-y-h +STORAGE_INPUT:c-c2-m-y-h +STORAGE_INPUT:n-c-c2-h +STORAGE_INPUT:n-ts-c-c2-h +STORAGE_INPUT:n-ts-c-c2-y-h +STORAGE_INPUT:n-c-c2-y-h +STORAGE_INPUT:ts-c-c2-h +STORAGE_INPUT:ts-c-c2-y-h +STORAGE_INPUT:c-c2-y-h +STORAGE_INPUT:l-c-c2 +STORAGE_INPUT:l-c-level_storage-c2 +STORAGE_INPUT:l-c-level_storage-c2-m +STORAGE_INPUT:n-l-c-level_storage-c2-m +STORAGE_INPUT:n-ts-l-c-level_storage-c2-m +STORAGE_INPUT:n-ts-l-c-level_storage-c2-m-y +STORAGE_INPUT:n-l-c-level_storage-c2-m-y +STORAGE_INPUT:ts-l-c-level_storage-c2-m +STORAGE_INPUT:ts-l-c-level_storage-c2-m-y +STORAGE_INPUT:l-c-level_storage-c2-m-y +STORAGE_INPUT:n-l-c-level_storage-c2 +STORAGE_INPUT:n-ts-l-c-level_storage-c2 +STORAGE_INPUT:n-ts-l-c-level_storage-c2-y +STORAGE_INPUT:n-l-c-level_storage-c2-y +STORAGE_INPUT:ts-l-c-level_storage-c2 +STORAGE_INPUT:ts-l-c-level_storage-c2-y +STORAGE_INPUT:l-c-level_storage-c2-y +STORAGE_INPUT:l-c-c2-m +STORAGE_INPUT:n-l-c-c2-m +STORAGE_INPUT:n-ts-l-c-c2-m +STORAGE_INPUT:n-ts-l-c-c2-m-y +STORAGE_INPUT:n-l-c-c2-m-y +STORAGE_INPUT:ts-l-c-c2-m +STORAGE_INPUT:ts-l-c-c2-m-y +STORAGE_INPUT:l-c-c2-m-y +STORAGE_INPUT:n-l-c-c2 +STORAGE_INPUT:n-ts-l-c-c2 +STORAGE_INPUT:n-ts-l-c-c2-y +STORAGE_INPUT:n-l-c-c2-y +STORAGE_INPUT:ts-l-c-c2 +STORAGE_INPUT:ts-l-c-c2-y +STORAGE_INPUT:l-c-c2-y +STORAGE_INPUT:c-level_storage-c2 +STORAGE_INPUT:c-level_storage-c2-m +STORAGE_INPUT:n-c-level_storage-c2-m +STORAGE_INPUT:n-ts-c-level_storage-c2-m +STORAGE_INPUT:n-ts-c-level_storage-c2-m-y +STORAGE_INPUT:n-c-level_storage-c2-m-y +STORAGE_INPUT:ts-c-level_storage-c2-m +STORAGE_INPUT:ts-c-level_storage-c2-m-y +STORAGE_INPUT:c-level_storage-c2-m-y +STORAGE_INPUT:n-c-level_storage-c2 +STORAGE_INPUT:n-ts-c-level_storage-c2 +STORAGE_INPUT:n-ts-c-level_storage-c2-y +STORAGE_INPUT:n-c-level_storage-c2-y +STORAGE_INPUT:ts-c-level_storage-c2 +STORAGE_INPUT:ts-c-level_storage-c2-y +STORAGE_INPUT:c-level_storage-c2-y +STORAGE_INPUT:c-c2-m +STORAGE_INPUT:n-c-c2-m +STORAGE_INPUT:n-ts-c-c2-m +STORAGE_INPUT:n-ts-c-c2-m-y +STORAGE_INPUT:n-c-c2-m-y +STORAGE_INPUT:ts-c-c2-m +STORAGE_INPUT:ts-c-c2-m-y +STORAGE_INPUT:c-c2-m-y +STORAGE_INPUT:n-c-c2 +STORAGE_INPUT:n-ts-c-c2 +STORAGE_INPUT:n-ts-c-c2-y +STORAGE_INPUT:n-c-c2-y +STORAGE_INPUT:ts-c-c2 +STORAGE_INPUT:ts-c-c2-y +STORAGE_INPUT:c-c2-y +STORAGE_INPUT:c-h +STORAGE_INPUT:l-c-h +STORAGE_INPUT:l-c-level_storage-h +STORAGE_INPUT:l-c-level_storage-m-h +STORAGE_INPUT:n-l-c-level_storage-m-h +STORAGE_INPUT:n-ts-l-c-level_storage-m-h +STORAGE_INPUT:n-ts-l-c-level_storage-m-y-h +STORAGE_INPUT:n-l-c-level_storage-m-y-h +STORAGE_INPUT:ts-l-c-level_storage-m-h +STORAGE_INPUT:ts-l-c-level_storage-m-y-h +STORAGE_INPUT:l-c-level_storage-m-y-h +STORAGE_INPUT:n-l-c-level_storage-h +STORAGE_INPUT:n-ts-l-c-level_storage-h +STORAGE_INPUT:n-ts-l-c-level_storage-y-h +STORAGE_INPUT:n-l-c-level_storage-y-h +STORAGE_INPUT:ts-l-c-level_storage-h +STORAGE_INPUT:ts-l-c-level_storage-y-h +STORAGE_INPUT:l-c-level_storage-y-h +STORAGE_INPUT:l-c-m-h +STORAGE_INPUT:n-l-c-m-h +STORAGE_INPUT:n-ts-l-c-m-h +STORAGE_INPUT:n-ts-l-c-m-y-h +STORAGE_INPUT:n-l-c-m-y-h +STORAGE_INPUT:ts-l-c-m-h +STORAGE_INPUT:ts-l-c-m-y-h +STORAGE_INPUT:l-c-m-y-h +STORAGE_INPUT:n-l-c-h +STORAGE_INPUT:n-ts-l-c-h +STORAGE_INPUT:n-ts-l-c-y-h +STORAGE_INPUT:n-l-c-y-h +STORAGE_INPUT:ts-l-c-h +STORAGE_INPUT:ts-l-c-y-h +STORAGE_INPUT:l-c-y-h +STORAGE_INPUT:c-level_storage-h +STORAGE_INPUT:c-level_storage-m-h +STORAGE_INPUT:n-c-level_storage-m-h +STORAGE_INPUT:n-ts-c-level_storage-m-h +STORAGE_INPUT:n-ts-c-level_storage-m-y-h +STORAGE_INPUT:n-c-level_storage-m-y-h +STORAGE_INPUT:ts-c-level_storage-m-h +STORAGE_INPUT:ts-c-level_storage-m-y-h +STORAGE_INPUT:c-level_storage-m-y-h +STORAGE_INPUT:n-c-level_storage-h +STORAGE_INPUT:n-ts-c-level_storage-h +STORAGE_INPUT:n-ts-c-level_storage-y-h +STORAGE_INPUT:n-c-level_storage-y-h +STORAGE_INPUT:ts-c-level_storage-h +STORAGE_INPUT:ts-c-level_storage-y-h +STORAGE_INPUT:c-level_storage-y-h +STORAGE_INPUT:c-m-h +STORAGE_INPUT:n-c-m-h +STORAGE_INPUT:n-ts-c-m-h +STORAGE_INPUT:n-ts-c-m-y-h +STORAGE_INPUT:n-c-m-y-h +STORAGE_INPUT:ts-c-m-h +STORAGE_INPUT:ts-c-m-y-h +STORAGE_INPUT:c-m-y-h +STORAGE_INPUT:n-c-h +STORAGE_INPUT:n-ts-c-h +STORAGE_INPUT:n-ts-c-y-h +STORAGE_INPUT:n-c-y-h +STORAGE_INPUT:ts-c-h +STORAGE_INPUT:ts-c-y-h +STORAGE_INPUT:c-y-h +STORAGE_INPUT:l-c +STORAGE_INPUT:l-c-level_storage +STORAGE_INPUT:l-c-level_storage-m +STORAGE_INPUT:n-l-c-level_storage-m +STORAGE_INPUT:n-ts-l-c-level_storage-m +STORAGE_INPUT:n-ts-l-c-level_storage-m-y +STORAGE_INPUT:n-l-c-level_storage-m-y +STORAGE_INPUT:ts-l-c-level_storage-m +STORAGE_INPUT:ts-l-c-level_storage-m-y +STORAGE_INPUT:l-c-level_storage-m-y +STORAGE_INPUT:n-l-c-level_storage +STORAGE_INPUT:n-ts-l-c-level_storage +STORAGE_INPUT:n-ts-l-c-level_storage-y +STORAGE_INPUT:n-l-c-level_storage-y +STORAGE_INPUT:ts-l-c-level_storage +STORAGE_INPUT:ts-l-c-level_storage-y +STORAGE_INPUT:l-c-level_storage-y +STORAGE_INPUT:l-c-m +STORAGE_INPUT:n-l-c-m +STORAGE_INPUT:n-ts-l-c-m +STORAGE_INPUT:n-ts-l-c-m-y +STORAGE_INPUT:n-l-c-m-y +STORAGE_INPUT:ts-l-c-m +STORAGE_INPUT:ts-l-c-m-y +STORAGE_INPUT:l-c-m-y +STORAGE_INPUT:n-l-c +STORAGE_INPUT:n-ts-l-c +STORAGE_INPUT:n-ts-l-c-y +STORAGE_INPUT:n-l-c-y +STORAGE_INPUT:ts-l-c +STORAGE_INPUT:ts-l-c-y +STORAGE_INPUT:l-c-y +STORAGE_INPUT:c-level_storage +STORAGE_INPUT:c-level_storage-m +STORAGE_INPUT:n-c-level_storage-m +STORAGE_INPUT:n-ts-c-level_storage-m +STORAGE_INPUT:n-ts-c-level_storage-m-y +STORAGE_INPUT:n-c-level_storage-m-y +STORAGE_INPUT:ts-c-level_storage-m +STORAGE_INPUT:ts-c-level_storage-m-y +STORAGE_INPUT:c-level_storage-m-y +STORAGE_INPUT:n-c-level_storage +STORAGE_INPUT:n-ts-c-level_storage +STORAGE_INPUT:n-ts-c-level_storage-y +STORAGE_INPUT:n-c-level_storage-y +STORAGE_INPUT:ts-c-level_storage +STORAGE_INPUT:ts-c-level_storage-y +STORAGE_INPUT:c-level_storage-y +STORAGE_INPUT:c-m +STORAGE_INPUT:n-c-m +STORAGE_INPUT:n-ts-c-m +STORAGE_INPUT:n-ts-c-m-y +STORAGE_INPUT:n-c-m-y +STORAGE_INPUT:ts-c-m +STORAGE_INPUT:ts-c-m-y +STORAGE_INPUT:c-m-y +STORAGE_INPUT:n-c +STORAGE_INPUT:n-ts-c +STORAGE_INPUT:n-ts-c-y +STORAGE_INPUT:n-c-y +STORAGE_INPUT:ts-c +STORAGE_INPUT:ts-c-y +STORAGE_INPUT:c-y +STORAGE_INPUT:c2 +STORAGE_INPUT:c2-h +STORAGE_INPUT:l-c2-h +STORAGE_INPUT:l-level_storage-c2-h +STORAGE_INPUT:l-level_storage-c2-m-h +STORAGE_INPUT:n-l-level_storage-c2-m-h +STORAGE_INPUT:n-ts-l-level_storage-c2-m-h +STORAGE_INPUT:n-ts-l-level_storage-c2-m-y-h +STORAGE_INPUT:n-l-level_storage-c2-m-y-h +STORAGE_INPUT:ts-l-level_storage-c2-m-h +STORAGE_INPUT:ts-l-level_storage-c2-m-y-h +STORAGE_INPUT:l-level_storage-c2-m-y-h +STORAGE_INPUT:n-l-level_storage-c2-h +STORAGE_INPUT:n-ts-l-level_storage-c2-h +STORAGE_INPUT:n-ts-l-level_storage-c2-y-h +STORAGE_INPUT:n-l-level_storage-c2-y-h +STORAGE_INPUT:ts-l-level_storage-c2-h +STORAGE_INPUT:ts-l-level_storage-c2-y-h +STORAGE_INPUT:l-level_storage-c2-y-h +STORAGE_INPUT:l-c2-m-h +STORAGE_INPUT:n-l-c2-m-h +STORAGE_INPUT:n-ts-l-c2-m-h +STORAGE_INPUT:n-ts-l-c2-m-y-h +STORAGE_INPUT:n-l-c2-m-y-h +STORAGE_INPUT:ts-l-c2-m-h +STORAGE_INPUT:ts-l-c2-m-y-h +STORAGE_INPUT:l-c2-m-y-h +STORAGE_INPUT:n-l-c2-h +STORAGE_INPUT:n-ts-l-c2-h +STORAGE_INPUT:n-ts-l-c2-y-h +STORAGE_INPUT:n-l-c2-y-h +STORAGE_INPUT:ts-l-c2-h +STORAGE_INPUT:ts-l-c2-y-h +STORAGE_INPUT:l-c2-y-h +STORAGE_INPUT:level_storage-c2-h +STORAGE_INPUT:level_storage-c2-m-h +STORAGE_INPUT:n-level_storage-c2-m-h +STORAGE_INPUT:n-ts-level_storage-c2-m-h +STORAGE_INPUT:n-ts-level_storage-c2-m-y-h +STORAGE_INPUT:n-level_storage-c2-m-y-h +STORAGE_INPUT:ts-level_storage-c2-m-h +STORAGE_INPUT:ts-level_storage-c2-m-y-h +STORAGE_INPUT:level_storage-c2-m-y-h +STORAGE_INPUT:n-level_storage-c2-h +STORAGE_INPUT:n-ts-level_storage-c2-h +STORAGE_INPUT:n-ts-level_storage-c2-y-h +STORAGE_INPUT:n-level_storage-c2-y-h +STORAGE_INPUT:ts-level_storage-c2-h +STORAGE_INPUT:ts-level_storage-c2-y-h +STORAGE_INPUT:level_storage-c2-y-h +STORAGE_INPUT:c2-m-h +STORAGE_INPUT:n-c2-m-h +STORAGE_INPUT:n-ts-c2-m-h +STORAGE_INPUT:n-ts-c2-m-y-h +STORAGE_INPUT:n-c2-m-y-h +STORAGE_INPUT:ts-c2-m-h +STORAGE_INPUT:ts-c2-m-y-h +STORAGE_INPUT:c2-m-y-h +STORAGE_INPUT:n-c2-h +STORAGE_INPUT:n-ts-c2-h +STORAGE_INPUT:n-ts-c2-y-h +STORAGE_INPUT:n-c2-y-h +STORAGE_INPUT:ts-c2-h +STORAGE_INPUT:ts-c2-y-h +STORAGE_INPUT:c2-y-h +STORAGE_INPUT:l-c2 +STORAGE_INPUT:l-level_storage-c2 +STORAGE_INPUT:l-level_storage-c2-m +STORAGE_INPUT:n-l-level_storage-c2-m +STORAGE_INPUT:n-ts-l-level_storage-c2-m +STORAGE_INPUT:n-ts-l-level_storage-c2-m-y +STORAGE_INPUT:n-l-level_storage-c2-m-y +STORAGE_INPUT:ts-l-level_storage-c2-m +STORAGE_INPUT:ts-l-level_storage-c2-m-y +STORAGE_INPUT:l-level_storage-c2-m-y +STORAGE_INPUT:n-l-level_storage-c2 +STORAGE_INPUT:n-ts-l-level_storage-c2 +STORAGE_INPUT:n-ts-l-level_storage-c2-y +STORAGE_INPUT:n-l-level_storage-c2-y +STORAGE_INPUT:ts-l-level_storage-c2 +STORAGE_INPUT:ts-l-level_storage-c2-y +STORAGE_INPUT:l-level_storage-c2-y +STORAGE_INPUT:l-c2-m +STORAGE_INPUT:n-l-c2-m +STORAGE_INPUT:n-ts-l-c2-m +STORAGE_INPUT:n-ts-l-c2-m-y +STORAGE_INPUT:n-l-c2-m-y +STORAGE_INPUT:ts-l-c2-m +STORAGE_INPUT:ts-l-c2-m-y +STORAGE_INPUT:l-c2-m-y +STORAGE_INPUT:n-l-c2 +STORAGE_INPUT:n-ts-l-c2 +STORAGE_INPUT:n-ts-l-c2-y +STORAGE_INPUT:n-l-c2-y +STORAGE_INPUT:ts-l-c2 +STORAGE_INPUT:ts-l-c2-y +STORAGE_INPUT:l-c2-y +STORAGE_INPUT:level_storage-c2 +STORAGE_INPUT:level_storage-c2-m +STORAGE_INPUT:n-level_storage-c2-m +STORAGE_INPUT:n-ts-level_storage-c2-m +STORAGE_INPUT:n-ts-level_storage-c2-m-y +STORAGE_INPUT:n-level_storage-c2-m-y +STORAGE_INPUT:ts-level_storage-c2-m +STORAGE_INPUT:ts-level_storage-c2-m-y +STORAGE_INPUT:level_storage-c2-m-y +STORAGE_INPUT:n-level_storage-c2 +STORAGE_INPUT:n-ts-level_storage-c2 +STORAGE_INPUT:n-ts-level_storage-c2-y +STORAGE_INPUT:n-level_storage-c2-y +STORAGE_INPUT:ts-level_storage-c2 +STORAGE_INPUT:ts-level_storage-c2-y +STORAGE_INPUT:level_storage-c2-y +STORAGE_INPUT:c2-m +STORAGE_INPUT:n-c2-m +STORAGE_INPUT:n-ts-c2-m +STORAGE_INPUT:n-ts-c2-m-y +STORAGE_INPUT:n-c2-m-y +STORAGE_INPUT:ts-c2-m +STORAGE_INPUT:ts-c2-m-y +STORAGE_INPUT:c2-m-y +STORAGE_INPUT:n-c2 +STORAGE_INPUT:n-ts-c2 +STORAGE_INPUT:n-ts-c2-y +STORAGE_INPUT:n-c2-y +STORAGE_INPUT:ts-c2 +STORAGE_INPUT:ts-c2-y +STORAGE_INPUT:c2-y +STORAGE_INPUT:h +STORAGE_INPUT:l-h +STORAGE_INPUT:l-level_storage-h +STORAGE_INPUT:l-level_storage-m-h +STORAGE_INPUT:n-l-level_storage-m-h +STORAGE_INPUT:n-ts-l-level_storage-m-h +STORAGE_INPUT:n-ts-l-level_storage-m-y-h +STORAGE_INPUT:n-l-level_storage-m-y-h +STORAGE_INPUT:ts-l-level_storage-m-h +STORAGE_INPUT:ts-l-level_storage-m-y-h +STORAGE_INPUT:l-level_storage-m-y-h +STORAGE_INPUT:n-l-level_storage-h +STORAGE_INPUT:n-ts-l-level_storage-h +STORAGE_INPUT:n-ts-l-level_storage-y-h +STORAGE_INPUT:n-l-level_storage-y-h +STORAGE_INPUT:ts-l-level_storage-h +STORAGE_INPUT:ts-l-level_storage-y-h +STORAGE_INPUT:l-level_storage-y-h +STORAGE_INPUT:l-m-h +STORAGE_INPUT:n-l-m-h +STORAGE_INPUT:n-ts-l-m-h +STORAGE_INPUT:n-ts-l-m-y-h +STORAGE_INPUT:n-l-m-y-h +STORAGE_INPUT:ts-l-m-h +STORAGE_INPUT:ts-l-m-y-h +STORAGE_INPUT:l-m-y-h +STORAGE_INPUT:n-l-h +STORAGE_INPUT:n-ts-l-h +STORAGE_INPUT:n-ts-l-y-h +STORAGE_INPUT:n-l-y-h +STORAGE_INPUT:ts-l-h +STORAGE_INPUT:ts-l-y-h +STORAGE_INPUT:l-y-h +STORAGE_INPUT:level_storage-h +STORAGE_INPUT:level_storage-m-h +STORAGE_INPUT:n-level_storage-m-h +STORAGE_INPUT:n-ts-level_storage-m-h +STORAGE_INPUT:n-ts-level_storage-m-y-h +STORAGE_INPUT:n-level_storage-m-y-h +STORAGE_INPUT:ts-level_storage-m-h +STORAGE_INPUT:ts-level_storage-m-y-h +STORAGE_INPUT:level_storage-m-y-h +STORAGE_INPUT:n-level_storage-h +STORAGE_INPUT:n-ts-level_storage-h +STORAGE_INPUT:n-ts-level_storage-y-h +STORAGE_INPUT:n-level_storage-y-h +STORAGE_INPUT:ts-level_storage-h +STORAGE_INPUT:ts-level_storage-y-h +STORAGE_INPUT:level_storage-y-h +STORAGE_INPUT:m-h +STORAGE_INPUT:n-m-h +STORAGE_INPUT:n-ts-m-h +STORAGE_INPUT:n-ts-m-y-h +STORAGE_INPUT:n-m-y-h +STORAGE_INPUT:ts-m-h +STORAGE_INPUT:ts-m-y-h +STORAGE_INPUT:m-y-h +STORAGE_INPUT:n-h +STORAGE_INPUT:n-ts-h +STORAGE_INPUT:n-ts-y-h +STORAGE_INPUT:n-y-h +STORAGE_INPUT:ts-h +STORAGE_INPUT:ts-y-h +STORAGE_INPUT:y-h +STORAGE_INPUT:l +STORAGE_INPUT:l-level_storage +STORAGE_INPUT:l-level_storage-m +STORAGE_INPUT:n-l-level_storage-m +STORAGE_INPUT:n-ts-l-level_storage-m +STORAGE_INPUT:n-ts-l-level_storage-m-y +STORAGE_INPUT:n-l-level_storage-m-y +STORAGE_INPUT:ts-l-level_storage-m +STORAGE_INPUT:ts-l-level_storage-m-y +STORAGE_INPUT:l-level_storage-m-y +STORAGE_INPUT:n-l-level_storage +STORAGE_INPUT:n-ts-l-level_storage +STORAGE_INPUT:n-ts-l-level_storage-y +STORAGE_INPUT:n-l-level_storage-y +STORAGE_INPUT:ts-l-level_storage +STORAGE_INPUT:ts-l-level_storage-y +STORAGE_INPUT:l-level_storage-y +STORAGE_INPUT:l-m +STORAGE_INPUT:n-l-m +STORAGE_INPUT:n-ts-l-m +STORAGE_INPUT:n-ts-l-m-y +STORAGE_INPUT:n-l-m-y +STORAGE_INPUT:ts-l-m +STORAGE_INPUT:ts-l-m-y +STORAGE_INPUT:l-m-y +STORAGE_INPUT:n-l +STORAGE_INPUT:n-ts-l +STORAGE_INPUT:n-ts-l-y +STORAGE_INPUT:n-l-y +STORAGE_INPUT:ts-l +STORAGE_INPUT:ts-l-y +STORAGE_INPUT:l-y +STORAGE_INPUT:level_storage +STORAGE_INPUT:level_storage-m +STORAGE_INPUT:n-level_storage-m +STORAGE_INPUT:n-ts-level_storage-m +STORAGE_INPUT:n-ts-level_storage-m-y +STORAGE_INPUT:n-level_storage-m-y +STORAGE_INPUT:ts-level_storage-m +STORAGE_INPUT:ts-level_storage-m-y +STORAGE_INPUT:level_storage-m-y +STORAGE_INPUT:n-level_storage +STORAGE_INPUT:n-ts-level_storage +STORAGE_INPUT:n-ts-level_storage-y +STORAGE_INPUT:n-level_storage-y +STORAGE_INPUT:ts-level_storage +STORAGE_INPUT:ts-level_storage-y +STORAGE_INPUT:level_storage-y +STORAGE_INPUT:m +STORAGE_INPUT:n-m +STORAGE_INPUT:n-ts-m +STORAGE_INPUT:n-ts-m-y +STORAGE_INPUT:n-m-y +STORAGE_INPUT:ts-m +STORAGE_INPUT:ts-m-y +STORAGE_INPUT:m-y +STORAGE_INPUT:n +STORAGE_INPUT:n-ts +STORAGE_INPUT:n-ts-y +STORAGE_INPUT:n-y +STORAGE_INPUT:ts +STORAGE_INPUT:ts-y +STORAGE_INPUT:y +SYSTEM_FLEXIBILITY_CONSTRAINT-margin:n-c-l-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT: +SYSTEM_FLEXIBILITY_CONSTRAINT:c +SYSTEM_FLEXIBILITY_CONSTRAINT:c-h +SYSTEM_FLEXIBILITY_CONSTRAINT:c-l-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-l-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-l-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:c-l-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:c-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:c-l +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-l +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-l-y +SYSTEM_FLEXIBILITY_CONSTRAINT:c-l-y +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-y +SYSTEM_FLEXIBILITY_CONSTRAINT:c-y +SYSTEM_FLEXIBILITY_CONSTRAINT:h +SYSTEM_FLEXIBILITY_CONSTRAINT:l-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-l-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-l-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:l-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:l +SYSTEM_FLEXIBILITY_CONSTRAINT:n-l +SYSTEM_FLEXIBILITY_CONSTRAINT:n-l-y +SYSTEM_FLEXIBILITY_CONSTRAINT:l-y +SYSTEM_FLEXIBILITY_CONSTRAINT:n +SYSTEM_FLEXIBILITY_CONSTRAINT:n-y +SYSTEM_FLEXIBILITY_CONSTRAINT:y +SYSTEM_RELIABILITY_CONSTRAINT-margin:n-c-l-y-h +SYSTEM_RELIABILITY_CONSTRAINT: +SYSTEM_RELIABILITY_CONSTRAINT:c +SYSTEM_RELIABILITY_CONSTRAINT:c-h +SYSTEM_RELIABILITY_CONSTRAINT:c-l-h +SYSTEM_RELIABILITY_CONSTRAINT:n-c-l-h +SYSTEM_RELIABILITY_CONSTRAINT:n-c-l-y-h +SYSTEM_RELIABILITY_CONSTRAINT:c-l-y-h +SYSTEM_RELIABILITY_CONSTRAINT:n-c-h +SYSTEM_RELIABILITY_CONSTRAINT:n-c-y-h +SYSTEM_RELIABILITY_CONSTRAINT:c-y-h +SYSTEM_RELIABILITY_CONSTRAINT:c-l +SYSTEM_RELIABILITY_CONSTRAINT:n-c-l +SYSTEM_RELIABILITY_CONSTRAINT:n-c-l-y +SYSTEM_RELIABILITY_CONSTRAINT:c-l-y +SYSTEM_RELIABILITY_CONSTRAINT:n-c +SYSTEM_RELIABILITY_CONSTRAINT:n-c-y +SYSTEM_RELIABILITY_CONSTRAINT:c-y +SYSTEM_RELIABILITY_CONSTRAINT:h +SYSTEM_RELIABILITY_CONSTRAINT:l-h +SYSTEM_RELIABILITY_CONSTRAINT:n-l-h +SYSTEM_RELIABILITY_CONSTRAINT:n-l-y-h +SYSTEM_RELIABILITY_CONSTRAINT:l-y-h +SYSTEM_RELIABILITY_CONSTRAINT:n-h +SYSTEM_RELIABILITY_CONSTRAINT:n-y-h +SYSTEM_RELIABILITY_CONSTRAINT:y-h +SYSTEM_RELIABILITY_CONSTRAINT:l +SYSTEM_RELIABILITY_CONSTRAINT:n-l +SYSTEM_RELIABILITY_CONSTRAINT:n-l-y +SYSTEM_RELIABILITY_CONSTRAINT:l-y +SYSTEM_RELIABILITY_CONSTRAINT:n +SYSTEM_RELIABILITY_CONSTRAINT:n-y +SYSTEM_RELIABILITY_CONSTRAINT:y +TOTAL_CAPACITY_BOUND_LO-margin:n-inv_tec-y +TOTAL_CAPACITY_BOUND_LO: +TOTAL_CAPACITY_BOUND_LO:inv_tec +TOTAL_CAPACITY_BOUND_LO:n-inv_tec +TOTAL_CAPACITY_BOUND_LO:n-inv_tec-y +TOTAL_CAPACITY_BOUND_LO:inv_tec-y +TOTAL_CAPACITY_BOUND_LO:n +TOTAL_CAPACITY_BOUND_LO:n-y +TOTAL_CAPACITY_BOUND_LO:y +TOTAL_CAPACITY_BOUND_UP-margin:n-inv_tec-y +TOTAL_CAPACITY_BOUND_UP: +TOTAL_CAPACITY_BOUND_UP:inv_tec +TOTAL_CAPACITY_BOUND_UP:n-inv_tec +TOTAL_CAPACITY_BOUND_UP:n-inv_tec-y +TOTAL_CAPACITY_BOUND_UP:inv_tec-y +TOTAL_CAPACITY_BOUND_UP:n +TOTAL_CAPACITY_BOUND_UP:n-y +TOTAL_CAPACITY_BOUND_UP:y +abs_cost_activity_soft_lo: +abs_cost_activity_soft_lo:h +abs_cost_activity_soft_lo:nl-h +abs_cost_activity_soft_lo:nl-t-h +abs_cost_activity_soft_lo:nl-t-ya-h +abs_cost_activity_soft_lo:nl-ya-h +abs_cost_activity_soft_lo:t-h +abs_cost_activity_soft_lo:t-ya-h +abs_cost_activity_soft_lo:ya-h +abs_cost_activity_soft_lo:nl +abs_cost_activity_soft_lo:nl-t +abs_cost_activity_soft_lo:nl-t-ya +abs_cost_activity_soft_lo:nl-ya +abs_cost_activity_soft_lo:t +abs_cost_activity_soft_lo:t-ya +abs_cost_activity_soft_lo:ya +abs_cost_activity_soft_up: +abs_cost_activity_soft_up:h +abs_cost_activity_soft_up:nl-h +abs_cost_activity_soft_up:nl-t-h +abs_cost_activity_soft_up:nl-t-ya-h +abs_cost_activity_soft_up:nl-ya-h +abs_cost_activity_soft_up:t-h +abs_cost_activity_soft_up:t-ya-h +abs_cost_activity_soft_up:ya-h +abs_cost_activity_soft_up:nl +abs_cost_activity_soft_up:nl-t +abs_cost_activity_soft_up:nl-t-ya +abs_cost_activity_soft_up:nl-ya +abs_cost_activity_soft_up:t +abs_cost_activity_soft_up:t-ya +abs_cost_activity_soft_up:ya +abs_cost_new_capacity_soft_lo: +abs_cost_new_capacity_soft_lo:nl +abs_cost_new_capacity_soft_lo:nl-t +abs_cost_new_capacity_soft_lo:nl-t-yv +abs_cost_new_capacity_soft_lo:nl-yv +abs_cost_new_capacity_soft_lo:t +abs_cost_new_capacity_soft_lo:t-yv +abs_cost_new_capacity_soft_lo:yv +abs_cost_new_capacity_soft_up: +abs_cost_new_capacity_soft_up:nl +abs_cost_new_capacity_soft_up:nl-t +abs_cost_new_capacity_soft_up:nl-t-yv +abs_cost_new_capacity_soft_up:nl-yv +abs_cost_new_capacity_soft_up:t +abs_cost_new_capacity_soft_up:t-yv +abs_cost_new_capacity_soft_up:yv +addon +addon ACT: +addon ACT:h +addon ACT:m-h +addon ACT:nl-m-h +addon ACT:nl-t-m-h +addon ACT:nl-t-m-h-ta +addon ACT:nl-t-ya-m-h-ta +addon ACT:nl-t-yv-ya-m-h-ta +addon ACT:nl-t-yv-m-h-ta +addon ACT:nl-t-ya-m-h +addon ACT:nl-t-yv-ya-m-h +addon ACT:nl-t-yv-m-h +addon ACT:nl-m-h-ta +addon ACT:nl-ya-m-h-ta +addon ACT:nl-yv-ya-m-h-ta +addon ACT:nl-yv-m-h-ta +addon ACT:nl-ya-m-h +addon ACT:nl-yv-ya-m-h +addon ACT:nl-yv-m-h +addon ACT:t-m-h +addon ACT:t-m-h-ta +addon ACT:t-ya-m-h-ta +addon ACT:t-yv-ya-m-h-ta +addon ACT:t-yv-m-h-ta +addon ACT:t-ya-m-h +addon ACT:t-yv-ya-m-h +addon ACT:t-yv-m-h +addon ACT:m-h-ta +addon ACT:ya-m-h-ta +addon ACT:yv-ya-m-h-ta +addon ACT:yv-m-h-ta +addon ACT:ya-m-h +addon ACT:yv-ya-m-h +addon ACT:yv-m-h +addon ACT:nl-h +addon ACT:nl-t-h +addon ACT:nl-t-h-ta +addon ACT:nl-t-ya-h-ta +addon ACT:nl-t-yv-ya-h-ta +addon ACT:nl-t-yv-h-ta +addon ACT:nl-t-ya-h +addon ACT:nl-t-yv-ya-h +addon ACT:nl-t-yv-h +addon ACT:nl-h-ta +addon ACT:nl-ya-h-ta +addon ACT:nl-yv-ya-h-ta +addon ACT:nl-yv-h-ta +addon ACT:nl-ya-h +addon ACT:nl-yv-ya-h +addon ACT:nl-yv-h +addon ACT:t-h +addon ACT:t-h-ta +addon ACT:t-ya-h-ta +addon ACT:t-yv-ya-h-ta +addon ACT:t-yv-h-ta +addon ACT:t-ya-h +addon ACT:t-yv-ya-h +addon ACT:t-yv-h +addon ACT:h-ta +addon ACT:ya-h-ta +addon ACT:yv-ya-h-ta +addon ACT:yv-h-ta +addon ACT:ya-h +addon ACT:yv-ya-h +addon ACT:yv-h +addon ACT:m +addon ACT:nl-m +addon ACT:nl-t-m +addon ACT:nl-t-m-ta +addon ACT:nl-t-ya-m-ta +addon ACT:nl-t-yv-ya-m-ta +addon ACT:nl-t-yv-m-ta +addon ACT:nl-t-ya-m +addon ACT:nl-t-yv-ya-m +addon ACT:nl-t-yv-m +addon ACT:nl-m-ta +addon ACT:nl-ya-m-ta +addon ACT:nl-yv-ya-m-ta +addon ACT:nl-yv-m-ta +addon ACT:nl-ya-m +addon ACT:nl-yv-ya-m +addon ACT:nl-yv-m +addon ACT:t-m +addon ACT:t-m-ta +addon ACT:t-ya-m-ta +addon ACT:t-yv-ya-m-ta +addon ACT:t-yv-m-ta +addon ACT:t-ya-m +addon ACT:t-yv-ya-m +addon ACT:t-yv-m +addon ACT:m-ta +addon ACT:ya-m-ta +addon ACT:yv-ya-m-ta +addon ACT:yv-m-ta +addon ACT:ya-m +addon ACT:yv-ya-m +addon ACT:yv-m +addon ACT:nl +addon ACT:nl-t +addon ACT:nl-t-ta +addon ACT:nl-t-ya-ta +addon ACT:nl-t-yv-ya-ta +addon ACT:nl-t-yv-ta +addon ACT:nl-t-ya +addon ACT:nl-t-yv-ya +addon ACT:nl-t-yv +addon ACT:nl-ta +addon ACT:nl-ya-ta +addon ACT:nl-yv-ya-ta +addon ACT:nl-yv-ta +addon ACT:nl-ya +addon ACT:nl-yv-ya +addon ACT:nl-yv +addon ACT:t +addon ACT:t-ta +addon ACT:t-ya-ta +addon ACT:t-yv-ya-ta +addon ACT:t-yv-ta +addon ACT:t-ya +addon ACT:t-yv-ya +addon ACT:t-yv +addon ACT:ta +addon ACT:ya-ta +addon ACT:yv-ya-ta +addon ACT:yv-ta +addon ACT:ya +addon ACT:yv-ya +addon ACT:yv +addon conversion:nl-t-yv-ya-m-h-ta +addon in: +addon in:c +addon in:c-h +addon in:c-h-ho +addon in:c-l-h-ho +addon in:m-c-l-h-ho +addon in:nl-m-c-l-h-ho +addon in:nl-m-no-c-l-h-ho +addon in:nl-t-m-no-c-l-h-ho +addon in:nl-t-m-no-c-l-h-ho-ta +addon in:nl-t-ya-m-no-c-l-h-ho-ta +addon in:nl-t-yv-ya-m-no-c-l-h-ho-ta +addon in:nl-t-yv-m-no-c-l-h-ho-ta +addon in:nl-t-ya-m-no-c-l-h-ho +addon in:nl-t-yv-ya-m-no-c-l-h-ho +addon in:nl-t-yv-m-no-c-l-h-ho +addon in:nl-m-no-c-l-h-ho-ta +addon in:nl-ya-m-no-c-l-h-ho-ta +addon in:nl-yv-ya-m-no-c-l-h-ho-ta +addon in:nl-yv-m-no-c-l-h-ho-ta +addon in:nl-ya-m-no-c-l-h-ho +addon in:nl-yv-ya-m-no-c-l-h-ho +addon in:nl-yv-m-no-c-l-h-ho +addon in:nl-t-m-c-l-h-ho +addon in:nl-t-m-c-l-h-ho-ta +addon in:nl-t-ya-m-c-l-h-ho-ta +addon in:nl-t-yv-ya-m-c-l-h-ho-ta +addon in:nl-t-yv-m-c-l-h-ho-ta +addon in:nl-t-ya-m-c-l-h-ho +addon in:nl-t-yv-ya-m-c-l-h-ho +addon in:nl-t-yv-m-c-l-h-ho +addon in:nl-m-c-l-h-ho-ta +addon in:nl-ya-m-c-l-h-ho-ta +addon in:nl-yv-ya-m-c-l-h-ho-ta +addon in:nl-yv-m-c-l-h-ho-ta +addon in:nl-ya-m-c-l-h-ho +addon in:nl-yv-ya-m-c-l-h-ho +addon in:nl-yv-m-c-l-h-ho +addon in:m-no-c-l-h-ho +addon in:t-m-no-c-l-h-ho +addon in:t-m-no-c-l-h-ho-ta +addon in:t-ya-m-no-c-l-h-ho-ta +addon in:t-yv-ya-m-no-c-l-h-ho-ta +addon in:t-yv-m-no-c-l-h-ho-ta +addon in:t-ya-m-no-c-l-h-ho +addon in:t-yv-ya-m-no-c-l-h-ho +addon in:t-yv-m-no-c-l-h-ho +addon in:m-no-c-l-h-ho-ta +addon in:ya-m-no-c-l-h-ho-ta +addon in:yv-ya-m-no-c-l-h-ho-ta +addon in:yv-m-no-c-l-h-ho-ta +addon in:ya-m-no-c-l-h-ho +addon in:yv-ya-m-no-c-l-h-ho +addon in:yv-m-no-c-l-h-ho +addon in:t-m-c-l-h-ho +addon in:t-m-c-l-h-ho-ta +addon in:t-ya-m-c-l-h-ho-ta +addon in:t-yv-ya-m-c-l-h-ho-ta +addon in:t-yv-m-c-l-h-ho-ta +addon in:t-ya-m-c-l-h-ho +addon in:t-yv-ya-m-c-l-h-ho +addon in:t-yv-m-c-l-h-ho +addon in:m-c-l-h-ho-ta +addon in:ya-m-c-l-h-ho-ta +addon in:yv-ya-m-c-l-h-ho-ta +addon in:yv-m-c-l-h-ho-ta +addon in:ya-m-c-l-h-ho +addon in:yv-ya-m-c-l-h-ho +addon in:yv-m-c-l-h-ho +addon in:nl-c-l-h-ho +addon in:nl-no-c-l-h-ho +addon in:nl-t-no-c-l-h-ho +addon in:nl-t-no-c-l-h-ho-ta +addon in:nl-t-ya-no-c-l-h-ho-ta +addon in:nl-t-yv-ya-no-c-l-h-ho-ta +addon in:nl-t-yv-no-c-l-h-ho-ta +addon in:nl-t-ya-no-c-l-h-ho +addon in:nl-t-yv-ya-no-c-l-h-ho +addon in:nl-t-yv-no-c-l-h-ho +addon in:nl-no-c-l-h-ho-ta +addon in:nl-ya-no-c-l-h-ho-ta +addon in:nl-yv-ya-no-c-l-h-ho-ta +addon in:nl-yv-no-c-l-h-ho-ta +addon in:nl-ya-no-c-l-h-ho +addon in:nl-yv-ya-no-c-l-h-ho +addon in:nl-yv-no-c-l-h-ho +addon in:nl-t-c-l-h-ho +addon in:nl-t-c-l-h-ho-ta +addon in:nl-t-ya-c-l-h-ho-ta +addon in:nl-t-yv-ya-c-l-h-ho-ta +addon in:nl-t-yv-c-l-h-ho-ta +addon in:nl-t-ya-c-l-h-ho +addon in:nl-t-yv-ya-c-l-h-ho +addon in:nl-t-yv-c-l-h-ho +addon in:nl-c-l-h-ho-ta +addon in:nl-ya-c-l-h-ho-ta +addon in:nl-yv-ya-c-l-h-ho-ta +addon in:nl-yv-c-l-h-ho-ta +addon in:nl-ya-c-l-h-ho +addon in:nl-yv-ya-c-l-h-ho +addon in:nl-yv-c-l-h-ho +addon in:no-c-l-h-ho +addon in:t-no-c-l-h-ho +addon in:t-no-c-l-h-ho-ta +addon in:t-ya-no-c-l-h-ho-ta +addon in:t-yv-ya-no-c-l-h-ho-ta +addon in:t-yv-no-c-l-h-ho-ta +addon in:t-ya-no-c-l-h-ho +addon in:t-yv-ya-no-c-l-h-ho +addon in:t-yv-no-c-l-h-ho +addon in:no-c-l-h-ho-ta +addon in:ya-no-c-l-h-ho-ta +addon in:yv-ya-no-c-l-h-ho-ta +addon in:yv-no-c-l-h-ho-ta +addon in:ya-no-c-l-h-ho +addon in:yv-ya-no-c-l-h-ho +addon in:yv-no-c-l-h-ho +addon in:t-c-l-h-ho +addon in:t-c-l-h-ho-ta +addon in:t-ya-c-l-h-ho-ta +addon in:t-yv-ya-c-l-h-ho-ta +addon in:t-yv-c-l-h-ho-ta +addon in:t-ya-c-l-h-ho +addon in:t-yv-ya-c-l-h-ho +addon in:t-yv-c-l-h-ho +addon in:c-l-h-ho-ta +addon in:ya-c-l-h-ho-ta +addon in:yv-ya-c-l-h-ho-ta +addon in:yv-c-l-h-ho-ta +addon in:ya-c-l-h-ho +addon in:yv-ya-c-l-h-ho +addon in:yv-c-l-h-ho +addon in:m-c-h-ho +addon in:nl-m-c-h-ho +addon in:nl-m-no-c-h-ho +addon in:nl-t-m-no-c-h-ho +addon in:nl-t-m-no-c-h-ho-ta +addon in:nl-t-ya-m-no-c-h-ho-ta +addon in:nl-t-yv-ya-m-no-c-h-ho-ta +addon in:nl-t-yv-m-no-c-h-ho-ta +addon in:nl-t-ya-m-no-c-h-ho +addon in:nl-t-yv-ya-m-no-c-h-ho +addon in:nl-t-yv-m-no-c-h-ho +addon in:nl-m-no-c-h-ho-ta +addon in:nl-ya-m-no-c-h-ho-ta +addon in:nl-yv-ya-m-no-c-h-ho-ta +addon in:nl-yv-m-no-c-h-ho-ta +addon in:nl-ya-m-no-c-h-ho +addon in:nl-yv-ya-m-no-c-h-ho +addon in:nl-yv-m-no-c-h-ho +addon in:nl-t-m-c-h-ho +addon in:nl-t-m-c-h-ho-ta +addon in:nl-t-ya-m-c-h-ho-ta +addon in:nl-t-yv-ya-m-c-h-ho-ta +addon in:nl-t-yv-m-c-h-ho-ta +addon in:nl-t-ya-m-c-h-ho +addon in:nl-t-yv-ya-m-c-h-ho +addon in:nl-t-yv-m-c-h-ho +addon in:nl-m-c-h-ho-ta +addon in:nl-ya-m-c-h-ho-ta +addon in:nl-yv-ya-m-c-h-ho-ta +addon in:nl-yv-m-c-h-ho-ta +addon in:nl-ya-m-c-h-ho +addon in:nl-yv-ya-m-c-h-ho +addon in:nl-yv-m-c-h-ho +addon in:m-no-c-h-ho +addon in:t-m-no-c-h-ho +addon in:t-m-no-c-h-ho-ta +addon in:t-ya-m-no-c-h-ho-ta +addon in:t-yv-ya-m-no-c-h-ho-ta +addon in:t-yv-m-no-c-h-ho-ta +addon in:t-ya-m-no-c-h-ho +addon in:t-yv-ya-m-no-c-h-ho +addon in:t-yv-m-no-c-h-ho +addon in:m-no-c-h-ho-ta +addon in:ya-m-no-c-h-ho-ta +addon in:yv-ya-m-no-c-h-ho-ta +addon in:yv-m-no-c-h-ho-ta +addon in:ya-m-no-c-h-ho +addon in:yv-ya-m-no-c-h-ho +addon in:yv-m-no-c-h-ho +addon in:t-m-c-h-ho +addon in:t-m-c-h-ho-ta +addon in:t-ya-m-c-h-ho-ta +addon in:t-yv-ya-m-c-h-ho-ta +addon in:t-yv-m-c-h-ho-ta +addon in:t-ya-m-c-h-ho +addon in:t-yv-ya-m-c-h-ho +addon in:t-yv-m-c-h-ho +addon in:m-c-h-ho-ta +addon in:ya-m-c-h-ho-ta +addon in:yv-ya-m-c-h-ho-ta +addon in:yv-m-c-h-ho-ta +addon in:ya-m-c-h-ho +addon in:yv-ya-m-c-h-ho +addon in:yv-m-c-h-ho +addon in:nl-c-h-ho +addon in:nl-no-c-h-ho +addon in:nl-t-no-c-h-ho +addon in:nl-t-no-c-h-ho-ta +addon in:nl-t-ya-no-c-h-ho-ta +addon in:nl-t-yv-ya-no-c-h-ho-ta +addon in:nl-t-yv-no-c-h-ho-ta +addon in:nl-t-ya-no-c-h-ho +addon in:nl-t-yv-ya-no-c-h-ho +addon in:nl-t-yv-no-c-h-ho +addon in:nl-no-c-h-ho-ta +addon in:nl-ya-no-c-h-ho-ta +addon in:nl-yv-ya-no-c-h-ho-ta +addon in:nl-yv-no-c-h-ho-ta +addon in:nl-ya-no-c-h-ho +addon in:nl-yv-ya-no-c-h-ho +addon in:nl-yv-no-c-h-ho +addon in:nl-t-c-h-ho +addon in:nl-t-c-h-ho-ta +addon in:nl-t-ya-c-h-ho-ta +addon in:nl-t-yv-ya-c-h-ho-ta +addon in:nl-t-yv-c-h-ho-ta +addon in:nl-t-ya-c-h-ho +addon in:nl-t-yv-ya-c-h-ho +addon in:nl-t-yv-c-h-ho +addon in:nl-c-h-ho-ta +addon in:nl-ya-c-h-ho-ta +addon in:nl-yv-ya-c-h-ho-ta +addon in:nl-yv-c-h-ho-ta +addon in:nl-ya-c-h-ho +addon in:nl-yv-ya-c-h-ho +addon in:nl-yv-c-h-ho +addon in:no-c-h-ho +addon in:t-no-c-h-ho +addon in:t-no-c-h-ho-ta +addon in:t-ya-no-c-h-ho-ta +addon in:t-yv-ya-no-c-h-ho-ta +addon in:t-yv-no-c-h-ho-ta +addon in:t-ya-no-c-h-ho +addon in:t-yv-ya-no-c-h-ho +addon in:t-yv-no-c-h-ho +addon in:no-c-h-ho-ta +addon in:ya-no-c-h-ho-ta +addon in:yv-ya-no-c-h-ho-ta +addon in:yv-no-c-h-ho-ta +addon in:ya-no-c-h-ho +addon in:yv-ya-no-c-h-ho +addon in:yv-no-c-h-ho +addon in:t-c-h-ho +addon in:t-c-h-ho-ta +addon in:t-ya-c-h-ho-ta +addon in:t-yv-ya-c-h-ho-ta +addon in:t-yv-c-h-ho-ta +addon in:t-ya-c-h-ho +addon in:t-yv-ya-c-h-ho +addon in:t-yv-c-h-ho +addon in:c-h-ho-ta +addon in:ya-c-h-ho-ta +addon in:yv-ya-c-h-ho-ta +addon in:yv-c-h-ho-ta +addon in:ya-c-h-ho +addon in:yv-ya-c-h-ho +addon in:yv-c-h-ho +addon in:c-l-h +addon in:m-c-l-h +addon in:nl-m-c-l-h +addon in:nl-m-no-c-l-h +addon in:nl-t-m-no-c-l-h +addon in:nl-t-m-no-c-l-h-ta +addon in:nl-t-ya-m-no-c-l-h-ta +addon in:nl-t-yv-ya-m-no-c-l-h-ta +addon in:nl-t-yv-m-no-c-l-h-ta +addon in:nl-t-ya-m-no-c-l-h +addon in:nl-t-yv-ya-m-no-c-l-h +addon in:nl-t-yv-m-no-c-l-h +addon in:nl-m-no-c-l-h-ta +addon in:nl-ya-m-no-c-l-h-ta +addon in:nl-yv-ya-m-no-c-l-h-ta +addon in:nl-yv-m-no-c-l-h-ta +addon in:nl-ya-m-no-c-l-h +addon in:nl-yv-ya-m-no-c-l-h +addon in:nl-yv-m-no-c-l-h +addon in:nl-t-m-c-l-h +addon in:nl-t-m-c-l-h-ta +addon in:nl-t-ya-m-c-l-h-ta +addon in:nl-t-yv-ya-m-c-l-h-ta +addon in:nl-t-yv-m-c-l-h-ta +addon in:nl-t-ya-m-c-l-h +addon in:nl-t-yv-ya-m-c-l-h +addon in:nl-t-yv-m-c-l-h +addon in:nl-m-c-l-h-ta +addon in:nl-ya-m-c-l-h-ta +addon in:nl-yv-ya-m-c-l-h-ta +addon in:nl-yv-m-c-l-h-ta +addon in:nl-ya-m-c-l-h +addon in:nl-yv-ya-m-c-l-h +addon in:nl-yv-m-c-l-h +addon in:m-no-c-l-h +addon in:t-m-no-c-l-h +addon in:t-m-no-c-l-h-ta +addon in:t-ya-m-no-c-l-h-ta +addon in:t-yv-ya-m-no-c-l-h-ta +addon in:t-yv-m-no-c-l-h-ta +addon in:t-ya-m-no-c-l-h +addon in:t-yv-ya-m-no-c-l-h +addon in:t-yv-m-no-c-l-h +addon in:m-no-c-l-h-ta +addon in:ya-m-no-c-l-h-ta +addon in:yv-ya-m-no-c-l-h-ta +addon in:yv-m-no-c-l-h-ta +addon in:ya-m-no-c-l-h +addon in:yv-ya-m-no-c-l-h +addon in:yv-m-no-c-l-h +addon in:t-m-c-l-h +addon in:t-m-c-l-h-ta +addon in:t-ya-m-c-l-h-ta +addon in:t-yv-ya-m-c-l-h-ta +addon in:t-yv-m-c-l-h-ta +addon in:t-ya-m-c-l-h +addon in:t-yv-ya-m-c-l-h +addon in:t-yv-m-c-l-h +addon in:m-c-l-h-ta +addon in:ya-m-c-l-h-ta +addon in:yv-ya-m-c-l-h-ta +addon in:yv-m-c-l-h-ta +addon in:ya-m-c-l-h +addon in:yv-ya-m-c-l-h +addon in:yv-m-c-l-h +addon in:nl-c-l-h +addon in:nl-no-c-l-h +addon in:nl-t-no-c-l-h +addon in:nl-t-no-c-l-h-ta +addon in:nl-t-ya-no-c-l-h-ta +addon in:nl-t-yv-ya-no-c-l-h-ta +addon in:nl-t-yv-no-c-l-h-ta +addon in:nl-t-ya-no-c-l-h +addon in:nl-t-yv-ya-no-c-l-h +addon in:nl-t-yv-no-c-l-h +addon in:nl-no-c-l-h-ta +addon in:nl-ya-no-c-l-h-ta +addon in:nl-yv-ya-no-c-l-h-ta +addon in:nl-yv-no-c-l-h-ta +addon in:nl-ya-no-c-l-h +addon in:nl-yv-ya-no-c-l-h +addon in:nl-yv-no-c-l-h +addon in:nl-t-c-l-h +addon in:nl-t-c-l-h-ta +addon in:nl-t-ya-c-l-h-ta +addon in:nl-t-yv-ya-c-l-h-ta +addon in:nl-t-yv-c-l-h-ta +addon in:nl-t-ya-c-l-h +addon in:nl-t-yv-ya-c-l-h +addon in:nl-t-yv-c-l-h +addon in:nl-c-l-h-ta +addon in:nl-ya-c-l-h-ta +addon in:nl-yv-ya-c-l-h-ta +addon in:nl-yv-c-l-h-ta +addon in:nl-ya-c-l-h +addon in:nl-yv-ya-c-l-h +addon in:nl-yv-c-l-h +addon in:no-c-l-h +addon in:t-no-c-l-h +addon in:t-no-c-l-h-ta +addon in:t-ya-no-c-l-h-ta +addon in:t-yv-ya-no-c-l-h-ta +addon in:t-yv-no-c-l-h-ta +addon in:t-ya-no-c-l-h +addon in:t-yv-ya-no-c-l-h +addon in:t-yv-no-c-l-h +addon in:no-c-l-h-ta +addon in:ya-no-c-l-h-ta +addon in:yv-ya-no-c-l-h-ta +addon in:yv-no-c-l-h-ta +addon in:ya-no-c-l-h +addon in:yv-ya-no-c-l-h +addon in:yv-no-c-l-h +addon in:t-c-l-h +addon in:t-c-l-h-ta +addon in:t-ya-c-l-h-ta +addon in:t-yv-ya-c-l-h-ta +addon in:t-yv-c-l-h-ta +addon in:t-ya-c-l-h +addon in:t-yv-ya-c-l-h +addon in:t-yv-c-l-h +addon in:c-l-h-ta +addon in:ya-c-l-h-ta +addon in:yv-ya-c-l-h-ta +addon in:yv-c-l-h-ta +addon in:ya-c-l-h +addon in:yv-ya-c-l-h +addon in:yv-c-l-h +addon in:m-c-h +addon in:nl-m-c-h +addon in:nl-m-no-c-h +addon in:nl-t-m-no-c-h +addon in:nl-t-m-no-c-h-ta +addon in:nl-t-ya-m-no-c-h-ta +addon in:nl-t-yv-ya-m-no-c-h-ta +addon in:nl-t-yv-m-no-c-h-ta +addon in:nl-t-ya-m-no-c-h +addon in:nl-t-yv-ya-m-no-c-h +addon in:nl-t-yv-m-no-c-h +addon in:nl-m-no-c-h-ta +addon in:nl-ya-m-no-c-h-ta +addon in:nl-yv-ya-m-no-c-h-ta +addon in:nl-yv-m-no-c-h-ta +addon in:nl-ya-m-no-c-h +addon in:nl-yv-ya-m-no-c-h +addon in:nl-yv-m-no-c-h +addon in:nl-t-m-c-h +addon in:nl-t-m-c-h-ta +addon in:nl-t-ya-m-c-h-ta +addon in:nl-t-yv-ya-m-c-h-ta +addon in:nl-t-yv-m-c-h-ta +addon in:nl-t-ya-m-c-h +addon in:nl-t-yv-ya-m-c-h +addon in:nl-t-yv-m-c-h +addon in:nl-m-c-h-ta +addon in:nl-ya-m-c-h-ta +addon in:nl-yv-ya-m-c-h-ta +addon in:nl-yv-m-c-h-ta +addon in:nl-ya-m-c-h +addon in:nl-yv-ya-m-c-h +addon in:nl-yv-m-c-h +addon in:m-no-c-h +addon in:t-m-no-c-h +addon in:t-m-no-c-h-ta +addon in:t-ya-m-no-c-h-ta +addon in:t-yv-ya-m-no-c-h-ta +addon in:t-yv-m-no-c-h-ta +addon in:t-ya-m-no-c-h +addon in:t-yv-ya-m-no-c-h +addon in:t-yv-m-no-c-h +addon in:m-no-c-h-ta +addon in:ya-m-no-c-h-ta +addon in:yv-ya-m-no-c-h-ta +addon in:yv-m-no-c-h-ta +addon in:ya-m-no-c-h +addon in:yv-ya-m-no-c-h +addon in:yv-m-no-c-h +addon in:t-m-c-h +addon in:t-m-c-h-ta +addon in:t-ya-m-c-h-ta +addon in:t-yv-ya-m-c-h-ta +addon in:t-yv-m-c-h-ta +addon in:t-ya-m-c-h +addon in:t-yv-ya-m-c-h +addon in:t-yv-m-c-h +addon in:m-c-h-ta +addon in:ya-m-c-h-ta +addon in:yv-ya-m-c-h-ta +addon in:yv-m-c-h-ta +addon in:ya-m-c-h +addon in:yv-ya-m-c-h +addon in:yv-m-c-h +addon in:nl-c-h +addon in:nl-no-c-h +addon in:nl-t-no-c-h +addon in:nl-t-no-c-h-ta +addon in:nl-t-ya-no-c-h-ta +addon in:nl-t-yv-ya-no-c-h-ta +addon in:nl-t-yv-no-c-h-ta +addon in:nl-t-ya-no-c-h +addon in:nl-t-yv-ya-no-c-h +addon in:nl-t-yv-no-c-h +addon in:nl-no-c-h-ta +addon in:nl-ya-no-c-h-ta +addon in:nl-yv-ya-no-c-h-ta +addon in:nl-yv-no-c-h-ta +addon in:nl-ya-no-c-h +addon in:nl-yv-ya-no-c-h +addon in:nl-yv-no-c-h +addon in:nl-t-c-h +addon in:nl-t-c-h-ta +addon in:nl-t-ya-c-h-ta +addon in:nl-t-yv-ya-c-h-ta +addon in:nl-t-yv-c-h-ta +addon in:nl-t-ya-c-h +addon in:nl-t-yv-ya-c-h +addon in:nl-t-yv-c-h +addon in:nl-c-h-ta +addon in:nl-ya-c-h-ta +addon in:nl-yv-ya-c-h-ta +addon in:nl-yv-c-h-ta +addon in:nl-ya-c-h +addon in:nl-yv-ya-c-h +addon in:nl-yv-c-h +addon in:no-c-h +addon in:t-no-c-h +addon in:t-no-c-h-ta +addon in:t-ya-no-c-h-ta +addon in:t-yv-ya-no-c-h-ta +addon in:t-yv-no-c-h-ta +addon in:t-ya-no-c-h +addon in:t-yv-ya-no-c-h +addon in:t-yv-no-c-h +addon in:no-c-h-ta +addon in:ya-no-c-h-ta +addon in:yv-ya-no-c-h-ta +addon in:yv-no-c-h-ta +addon in:ya-no-c-h +addon in:yv-ya-no-c-h +addon in:yv-no-c-h +addon in:t-c-h +addon in:t-c-h-ta +addon in:t-ya-c-h-ta +addon in:t-yv-ya-c-h-ta +addon in:t-yv-c-h-ta +addon in:t-ya-c-h +addon in:t-yv-ya-c-h +addon in:t-yv-c-h +addon in:c-h-ta +addon in:ya-c-h-ta +addon in:yv-ya-c-h-ta +addon in:yv-c-h-ta +addon in:ya-c-h +addon in:yv-ya-c-h +addon in:yv-c-h +addon in:c-ho +addon in:c-l-ho +addon in:m-c-l-ho +addon in:nl-m-c-l-ho +addon in:nl-m-no-c-l-ho +addon in:nl-t-m-no-c-l-ho +addon in:nl-t-m-no-c-l-ho-ta +addon in:nl-t-ya-m-no-c-l-ho-ta +addon in:nl-t-yv-ya-m-no-c-l-ho-ta +addon in:nl-t-yv-m-no-c-l-ho-ta +addon in:nl-t-ya-m-no-c-l-ho +addon in:nl-t-yv-ya-m-no-c-l-ho +addon in:nl-t-yv-m-no-c-l-ho +addon in:nl-m-no-c-l-ho-ta +addon in:nl-ya-m-no-c-l-ho-ta +addon in:nl-yv-ya-m-no-c-l-ho-ta +addon in:nl-yv-m-no-c-l-ho-ta +addon in:nl-ya-m-no-c-l-ho +addon in:nl-yv-ya-m-no-c-l-ho +addon in:nl-yv-m-no-c-l-ho +addon in:nl-t-m-c-l-ho +addon in:nl-t-m-c-l-ho-ta +addon in:nl-t-ya-m-c-l-ho-ta +addon in:nl-t-yv-ya-m-c-l-ho-ta +addon in:nl-t-yv-m-c-l-ho-ta +addon in:nl-t-ya-m-c-l-ho +addon in:nl-t-yv-ya-m-c-l-ho +addon in:nl-t-yv-m-c-l-ho +addon in:nl-m-c-l-ho-ta +addon in:nl-ya-m-c-l-ho-ta +addon in:nl-yv-ya-m-c-l-ho-ta +addon in:nl-yv-m-c-l-ho-ta +addon in:nl-ya-m-c-l-ho +addon in:nl-yv-ya-m-c-l-ho +addon in:nl-yv-m-c-l-ho +addon in:m-no-c-l-ho +addon in:t-m-no-c-l-ho +addon in:t-m-no-c-l-ho-ta +addon in:t-ya-m-no-c-l-ho-ta +addon in:t-yv-ya-m-no-c-l-ho-ta +addon in:t-yv-m-no-c-l-ho-ta +addon in:t-ya-m-no-c-l-ho +addon in:t-yv-ya-m-no-c-l-ho +addon in:t-yv-m-no-c-l-ho +addon in:m-no-c-l-ho-ta +addon in:ya-m-no-c-l-ho-ta +addon in:yv-ya-m-no-c-l-ho-ta +addon in:yv-m-no-c-l-ho-ta +addon in:ya-m-no-c-l-ho +addon in:yv-ya-m-no-c-l-ho +addon in:yv-m-no-c-l-ho +addon in:t-m-c-l-ho +addon in:t-m-c-l-ho-ta +addon in:t-ya-m-c-l-ho-ta +addon in:t-yv-ya-m-c-l-ho-ta +addon in:t-yv-m-c-l-ho-ta +addon in:t-ya-m-c-l-ho +addon in:t-yv-ya-m-c-l-ho +addon in:t-yv-m-c-l-ho +addon in:m-c-l-ho-ta +addon in:ya-m-c-l-ho-ta +addon in:yv-ya-m-c-l-ho-ta +addon in:yv-m-c-l-ho-ta +addon in:ya-m-c-l-ho +addon in:yv-ya-m-c-l-ho +addon in:yv-m-c-l-ho +addon in:nl-c-l-ho +addon in:nl-no-c-l-ho +addon in:nl-t-no-c-l-ho +addon in:nl-t-no-c-l-ho-ta +addon in:nl-t-ya-no-c-l-ho-ta +addon in:nl-t-yv-ya-no-c-l-ho-ta +addon in:nl-t-yv-no-c-l-ho-ta +addon in:nl-t-ya-no-c-l-ho +addon in:nl-t-yv-ya-no-c-l-ho +addon in:nl-t-yv-no-c-l-ho +addon in:nl-no-c-l-ho-ta +addon in:nl-ya-no-c-l-ho-ta +addon in:nl-yv-ya-no-c-l-ho-ta +addon in:nl-yv-no-c-l-ho-ta +addon in:nl-ya-no-c-l-ho +addon in:nl-yv-ya-no-c-l-ho +addon in:nl-yv-no-c-l-ho +addon in:nl-t-c-l-ho +addon in:nl-t-c-l-ho-ta +addon in:nl-t-ya-c-l-ho-ta +addon in:nl-t-yv-ya-c-l-ho-ta +addon in:nl-t-yv-c-l-ho-ta +addon in:nl-t-ya-c-l-ho +addon in:nl-t-yv-ya-c-l-ho +addon in:nl-t-yv-c-l-ho +addon in:nl-c-l-ho-ta +addon in:nl-ya-c-l-ho-ta +addon in:nl-yv-ya-c-l-ho-ta +addon in:nl-yv-c-l-ho-ta +addon in:nl-ya-c-l-ho +addon in:nl-yv-ya-c-l-ho +addon in:nl-yv-c-l-ho +addon in:no-c-l-ho +addon in:t-no-c-l-ho +addon in:t-no-c-l-ho-ta +addon in:t-ya-no-c-l-ho-ta +addon in:t-yv-ya-no-c-l-ho-ta +addon in:t-yv-no-c-l-ho-ta +addon in:t-ya-no-c-l-ho +addon in:t-yv-ya-no-c-l-ho +addon in:t-yv-no-c-l-ho +addon in:no-c-l-ho-ta +addon in:ya-no-c-l-ho-ta +addon in:yv-ya-no-c-l-ho-ta +addon in:yv-no-c-l-ho-ta +addon in:ya-no-c-l-ho +addon in:yv-ya-no-c-l-ho +addon in:yv-no-c-l-ho +addon in:t-c-l-ho +addon in:t-c-l-ho-ta +addon in:t-ya-c-l-ho-ta +addon in:t-yv-ya-c-l-ho-ta +addon in:t-yv-c-l-ho-ta +addon in:t-ya-c-l-ho +addon in:t-yv-ya-c-l-ho +addon in:t-yv-c-l-ho +addon in:c-l-ho-ta +addon in:ya-c-l-ho-ta +addon in:yv-ya-c-l-ho-ta +addon in:yv-c-l-ho-ta +addon in:ya-c-l-ho +addon in:yv-ya-c-l-ho +addon in:yv-c-l-ho +addon in:m-c-ho +addon in:nl-m-c-ho +addon in:nl-m-no-c-ho +addon in:nl-t-m-no-c-ho +addon in:nl-t-m-no-c-ho-ta +addon in:nl-t-ya-m-no-c-ho-ta +addon in:nl-t-yv-ya-m-no-c-ho-ta +addon in:nl-t-yv-m-no-c-ho-ta +addon in:nl-t-ya-m-no-c-ho +addon in:nl-t-yv-ya-m-no-c-ho +addon in:nl-t-yv-m-no-c-ho +addon in:nl-m-no-c-ho-ta +addon in:nl-ya-m-no-c-ho-ta +addon in:nl-yv-ya-m-no-c-ho-ta +addon in:nl-yv-m-no-c-ho-ta +addon in:nl-ya-m-no-c-ho +addon in:nl-yv-ya-m-no-c-ho +addon in:nl-yv-m-no-c-ho +addon in:nl-t-m-c-ho +addon in:nl-t-m-c-ho-ta +addon in:nl-t-ya-m-c-ho-ta +addon in:nl-t-yv-ya-m-c-ho-ta +addon in:nl-t-yv-m-c-ho-ta +addon in:nl-t-ya-m-c-ho +addon in:nl-t-yv-ya-m-c-ho +addon in:nl-t-yv-m-c-ho +addon in:nl-m-c-ho-ta +addon in:nl-ya-m-c-ho-ta +addon in:nl-yv-ya-m-c-ho-ta +addon in:nl-yv-m-c-ho-ta +addon in:nl-ya-m-c-ho +addon in:nl-yv-ya-m-c-ho +addon in:nl-yv-m-c-ho +addon in:m-no-c-ho +addon in:t-m-no-c-ho +addon in:t-m-no-c-ho-ta +addon in:t-ya-m-no-c-ho-ta +addon in:t-yv-ya-m-no-c-ho-ta +addon in:t-yv-m-no-c-ho-ta +addon in:t-ya-m-no-c-ho +addon in:t-yv-ya-m-no-c-ho +addon in:t-yv-m-no-c-ho +addon in:m-no-c-ho-ta +addon in:ya-m-no-c-ho-ta +addon in:yv-ya-m-no-c-ho-ta +addon in:yv-m-no-c-ho-ta +addon in:ya-m-no-c-ho +addon in:yv-ya-m-no-c-ho +addon in:yv-m-no-c-ho +addon in:t-m-c-ho +addon in:t-m-c-ho-ta +addon in:t-ya-m-c-ho-ta +addon in:t-yv-ya-m-c-ho-ta +addon in:t-yv-m-c-ho-ta +addon in:t-ya-m-c-ho +addon in:t-yv-ya-m-c-ho +addon in:t-yv-m-c-ho +addon in:m-c-ho-ta +addon in:ya-m-c-ho-ta +addon in:yv-ya-m-c-ho-ta +addon in:yv-m-c-ho-ta +addon in:ya-m-c-ho +addon in:yv-ya-m-c-ho +addon in:yv-m-c-ho +addon in:nl-c-ho +addon in:nl-no-c-ho +addon in:nl-t-no-c-ho +addon in:nl-t-no-c-ho-ta +addon in:nl-t-ya-no-c-ho-ta +addon in:nl-t-yv-ya-no-c-ho-ta +addon in:nl-t-yv-no-c-ho-ta +addon in:nl-t-ya-no-c-ho +addon in:nl-t-yv-ya-no-c-ho +addon in:nl-t-yv-no-c-ho +addon in:nl-no-c-ho-ta +addon in:nl-ya-no-c-ho-ta +addon in:nl-yv-ya-no-c-ho-ta +addon in:nl-yv-no-c-ho-ta +addon in:nl-ya-no-c-ho +addon in:nl-yv-ya-no-c-ho +addon in:nl-yv-no-c-ho +addon in:nl-t-c-ho +addon in:nl-t-c-ho-ta +addon in:nl-t-ya-c-ho-ta +addon in:nl-t-yv-ya-c-ho-ta +addon in:nl-t-yv-c-ho-ta +addon in:nl-t-ya-c-ho +addon in:nl-t-yv-ya-c-ho +addon in:nl-t-yv-c-ho +addon in:nl-c-ho-ta +addon in:nl-ya-c-ho-ta +addon in:nl-yv-ya-c-ho-ta +addon in:nl-yv-c-ho-ta +addon in:nl-ya-c-ho +addon in:nl-yv-ya-c-ho +addon in:nl-yv-c-ho +addon in:no-c-ho +addon in:t-no-c-ho +addon in:t-no-c-ho-ta +addon in:t-ya-no-c-ho-ta +addon in:t-yv-ya-no-c-ho-ta +addon in:t-yv-no-c-ho-ta +addon in:t-ya-no-c-ho +addon in:t-yv-ya-no-c-ho +addon in:t-yv-no-c-ho +addon in:no-c-ho-ta +addon in:ya-no-c-ho-ta +addon in:yv-ya-no-c-ho-ta +addon in:yv-no-c-ho-ta +addon in:ya-no-c-ho +addon in:yv-ya-no-c-ho +addon in:yv-no-c-ho +addon in:t-c-ho +addon in:t-c-ho-ta +addon in:t-ya-c-ho-ta +addon in:t-yv-ya-c-ho-ta +addon in:t-yv-c-ho-ta +addon in:t-ya-c-ho +addon in:t-yv-ya-c-ho +addon in:t-yv-c-ho +addon in:c-ho-ta +addon in:ya-c-ho-ta +addon in:yv-ya-c-ho-ta +addon in:yv-c-ho-ta +addon in:ya-c-ho +addon in:yv-ya-c-ho +addon in:yv-c-ho +addon in:c-l +addon in:m-c-l +addon in:nl-m-c-l +addon in:nl-m-no-c-l +addon in:nl-t-m-no-c-l +addon in:nl-t-m-no-c-l-ta +addon in:nl-t-ya-m-no-c-l-ta +addon in:nl-t-yv-ya-m-no-c-l-ta +addon in:nl-t-yv-m-no-c-l-ta +addon in:nl-t-ya-m-no-c-l +addon in:nl-t-yv-ya-m-no-c-l +addon in:nl-t-yv-m-no-c-l +addon in:nl-m-no-c-l-ta +addon in:nl-ya-m-no-c-l-ta +addon in:nl-yv-ya-m-no-c-l-ta +addon in:nl-yv-m-no-c-l-ta +addon in:nl-ya-m-no-c-l +addon in:nl-yv-ya-m-no-c-l +addon in:nl-yv-m-no-c-l +addon in:nl-t-m-c-l +addon in:nl-t-m-c-l-ta +addon in:nl-t-ya-m-c-l-ta +addon in:nl-t-yv-ya-m-c-l-ta +addon in:nl-t-yv-m-c-l-ta +addon in:nl-t-ya-m-c-l +addon in:nl-t-yv-ya-m-c-l +addon in:nl-t-yv-m-c-l +addon in:nl-m-c-l-ta +addon in:nl-ya-m-c-l-ta +addon in:nl-yv-ya-m-c-l-ta +addon in:nl-yv-m-c-l-ta +addon in:nl-ya-m-c-l +addon in:nl-yv-ya-m-c-l +addon in:nl-yv-m-c-l +addon in:m-no-c-l +addon in:t-m-no-c-l +addon in:t-m-no-c-l-ta +addon in:t-ya-m-no-c-l-ta +addon in:t-yv-ya-m-no-c-l-ta +addon in:t-yv-m-no-c-l-ta +addon in:t-ya-m-no-c-l +addon in:t-yv-ya-m-no-c-l +addon in:t-yv-m-no-c-l +addon in:m-no-c-l-ta +addon in:ya-m-no-c-l-ta +addon in:yv-ya-m-no-c-l-ta +addon in:yv-m-no-c-l-ta +addon in:ya-m-no-c-l +addon in:yv-ya-m-no-c-l +addon in:yv-m-no-c-l +addon in:t-m-c-l +addon in:t-m-c-l-ta +addon in:t-ya-m-c-l-ta +addon in:t-yv-ya-m-c-l-ta +addon in:t-yv-m-c-l-ta +addon in:t-ya-m-c-l +addon in:t-yv-ya-m-c-l +addon in:t-yv-m-c-l +addon in:m-c-l-ta +addon in:ya-m-c-l-ta +addon in:yv-ya-m-c-l-ta +addon in:yv-m-c-l-ta +addon in:ya-m-c-l +addon in:yv-ya-m-c-l +addon in:yv-m-c-l +addon in:nl-c-l +addon in:nl-no-c-l +addon in:nl-t-no-c-l +addon in:nl-t-no-c-l-ta +addon in:nl-t-ya-no-c-l-ta +addon in:nl-t-yv-ya-no-c-l-ta +addon in:nl-t-yv-no-c-l-ta +addon in:nl-t-ya-no-c-l +addon in:nl-t-yv-ya-no-c-l +addon in:nl-t-yv-no-c-l +addon in:nl-no-c-l-ta +addon in:nl-ya-no-c-l-ta +addon in:nl-yv-ya-no-c-l-ta +addon in:nl-yv-no-c-l-ta +addon in:nl-ya-no-c-l +addon in:nl-yv-ya-no-c-l +addon in:nl-yv-no-c-l +addon in:nl-t-c-l +addon in:nl-t-c-l-ta +addon in:nl-t-ya-c-l-ta +addon in:nl-t-yv-ya-c-l-ta +addon in:nl-t-yv-c-l-ta +addon in:nl-t-ya-c-l +addon in:nl-t-yv-ya-c-l +addon in:nl-t-yv-c-l +addon in:nl-c-l-ta +addon in:nl-ya-c-l-ta +addon in:nl-yv-ya-c-l-ta +addon in:nl-yv-c-l-ta +addon in:nl-ya-c-l +addon in:nl-yv-ya-c-l +addon in:nl-yv-c-l +addon in:no-c-l +addon in:t-no-c-l +addon in:t-no-c-l-ta +addon in:t-ya-no-c-l-ta +addon in:t-yv-ya-no-c-l-ta +addon in:t-yv-no-c-l-ta +addon in:t-ya-no-c-l +addon in:t-yv-ya-no-c-l +addon in:t-yv-no-c-l +addon in:no-c-l-ta +addon in:ya-no-c-l-ta +addon in:yv-ya-no-c-l-ta +addon in:yv-no-c-l-ta +addon in:ya-no-c-l +addon in:yv-ya-no-c-l +addon in:yv-no-c-l +addon in:t-c-l +addon in:t-c-l-ta +addon in:t-ya-c-l-ta +addon in:t-yv-ya-c-l-ta +addon in:t-yv-c-l-ta +addon in:t-ya-c-l +addon in:t-yv-ya-c-l +addon in:t-yv-c-l +addon in:c-l-ta +addon in:ya-c-l-ta +addon in:yv-ya-c-l-ta +addon in:yv-c-l-ta +addon in:ya-c-l +addon in:yv-ya-c-l +addon in:yv-c-l +addon in:m-c +addon in:nl-m-c +addon in:nl-m-no-c +addon in:nl-t-m-no-c +addon in:nl-t-m-no-c-ta +addon in:nl-t-ya-m-no-c-ta +addon in:nl-t-yv-ya-m-no-c-ta +addon in:nl-t-yv-m-no-c-ta +addon in:nl-t-ya-m-no-c +addon in:nl-t-yv-ya-m-no-c +addon in:nl-t-yv-m-no-c +addon in:nl-m-no-c-ta +addon in:nl-ya-m-no-c-ta +addon in:nl-yv-ya-m-no-c-ta +addon in:nl-yv-m-no-c-ta +addon in:nl-ya-m-no-c +addon in:nl-yv-ya-m-no-c +addon in:nl-yv-m-no-c +addon in:nl-t-m-c +addon in:nl-t-m-c-ta +addon in:nl-t-ya-m-c-ta +addon in:nl-t-yv-ya-m-c-ta +addon in:nl-t-yv-m-c-ta +addon in:nl-t-ya-m-c +addon in:nl-t-yv-ya-m-c +addon in:nl-t-yv-m-c +addon in:nl-m-c-ta +addon in:nl-ya-m-c-ta +addon in:nl-yv-ya-m-c-ta +addon in:nl-yv-m-c-ta +addon in:nl-ya-m-c +addon in:nl-yv-ya-m-c +addon in:nl-yv-m-c +addon in:m-no-c +addon in:t-m-no-c +addon in:t-m-no-c-ta +addon in:t-ya-m-no-c-ta +addon in:t-yv-ya-m-no-c-ta +addon in:t-yv-m-no-c-ta +addon in:t-ya-m-no-c +addon in:t-yv-ya-m-no-c +addon in:t-yv-m-no-c +addon in:m-no-c-ta +addon in:ya-m-no-c-ta +addon in:yv-ya-m-no-c-ta +addon in:yv-m-no-c-ta +addon in:ya-m-no-c +addon in:yv-ya-m-no-c +addon in:yv-m-no-c +addon in:t-m-c +addon in:t-m-c-ta +addon in:t-ya-m-c-ta +addon in:t-yv-ya-m-c-ta +addon in:t-yv-m-c-ta +addon in:t-ya-m-c +addon in:t-yv-ya-m-c +addon in:t-yv-m-c +addon in:m-c-ta +addon in:ya-m-c-ta +addon in:yv-ya-m-c-ta +addon in:yv-m-c-ta +addon in:ya-m-c +addon in:yv-ya-m-c +addon in:yv-m-c +addon in:nl-c +addon in:nl-no-c +addon in:nl-t-no-c +addon in:nl-t-no-c-ta +addon in:nl-t-ya-no-c-ta +addon in:nl-t-yv-ya-no-c-ta +addon in:nl-t-yv-no-c-ta +addon in:nl-t-ya-no-c +addon in:nl-t-yv-ya-no-c +addon in:nl-t-yv-no-c +addon in:nl-no-c-ta +addon in:nl-ya-no-c-ta +addon in:nl-yv-ya-no-c-ta +addon in:nl-yv-no-c-ta +addon in:nl-ya-no-c +addon in:nl-yv-ya-no-c +addon in:nl-yv-no-c +addon in:nl-t-c +addon in:nl-t-c-ta +addon in:nl-t-ya-c-ta +addon in:nl-t-yv-ya-c-ta +addon in:nl-t-yv-c-ta +addon in:nl-t-ya-c +addon in:nl-t-yv-ya-c +addon in:nl-t-yv-c +addon in:nl-c-ta +addon in:nl-ya-c-ta +addon in:nl-yv-ya-c-ta +addon in:nl-yv-c-ta +addon in:nl-ya-c +addon in:nl-yv-ya-c +addon in:nl-yv-c +addon in:no-c +addon in:t-no-c +addon in:t-no-c-ta +addon in:t-ya-no-c-ta +addon in:t-yv-ya-no-c-ta +addon in:t-yv-no-c-ta +addon in:t-ya-no-c +addon in:t-yv-ya-no-c +addon in:t-yv-no-c +addon in:no-c-ta +addon in:ya-no-c-ta +addon in:yv-ya-no-c-ta +addon in:yv-no-c-ta +addon in:ya-no-c +addon in:yv-ya-no-c +addon in:yv-no-c +addon in:t-c +addon in:t-c-ta +addon in:t-ya-c-ta +addon in:t-yv-ya-c-ta +addon in:t-yv-c-ta +addon in:t-ya-c +addon in:t-yv-ya-c +addon in:t-yv-c +addon in:c-ta +addon in:ya-c-ta +addon in:yv-ya-c-ta +addon in:yv-c-ta +addon in:ya-c +addon in:yv-ya-c +addon in:yv-c +addon in:h +addon in:h-ho +addon in:l-h-ho +addon in:m-l-h-ho +addon in:nl-m-l-h-ho +addon in:nl-m-no-l-h-ho +addon in:nl-t-m-no-l-h-ho +addon in:nl-t-m-no-l-h-ho-ta +addon in:nl-t-ya-m-no-l-h-ho-ta +addon in:nl-t-yv-ya-m-no-l-h-ho-ta +addon in:nl-t-yv-m-no-l-h-ho-ta +addon in:nl-t-ya-m-no-l-h-ho +addon in:nl-t-yv-ya-m-no-l-h-ho +addon in:nl-t-yv-m-no-l-h-ho +addon in:nl-m-no-l-h-ho-ta +addon in:nl-ya-m-no-l-h-ho-ta +addon in:nl-yv-ya-m-no-l-h-ho-ta +addon in:nl-yv-m-no-l-h-ho-ta +addon in:nl-ya-m-no-l-h-ho +addon in:nl-yv-ya-m-no-l-h-ho +addon in:nl-yv-m-no-l-h-ho +addon in:nl-t-m-l-h-ho +addon in:nl-t-m-l-h-ho-ta +addon in:nl-t-ya-m-l-h-ho-ta +addon in:nl-t-yv-ya-m-l-h-ho-ta +addon in:nl-t-yv-m-l-h-ho-ta +addon in:nl-t-ya-m-l-h-ho +addon in:nl-t-yv-ya-m-l-h-ho +addon in:nl-t-yv-m-l-h-ho +addon in:nl-m-l-h-ho-ta +addon in:nl-ya-m-l-h-ho-ta +addon in:nl-yv-ya-m-l-h-ho-ta +addon in:nl-yv-m-l-h-ho-ta +addon in:nl-ya-m-l-h-ho +addon in:nl-yv-ya-m-l-h-ho +addon in:nl-yv-m-l-h-ho +addon in:m-no-l-h-ho +addon in:t-m-no-l-h-ho +addon in:t-m-no-l-h-ho-ta +addon in:t-ya-m-no-l-h-ho-ta +addon in:t-yv-ya-m-no-l-h-ho-ta +addon in:t-yv-m-no-l-h-ho-ta +addon in:t-ya-m-no-l-h-ho +addon in:t-yv-ya-m-no-l-h-ho +addon in:t-yv-m-no-l-h-ho +addon in:m-no-l-h-ho-ta +addon in:ya-m-no-l-h-ho-ta +addon in:yv-ya-m-no-l-h-ho-ta +addon in:yv-m-no-l-h-ho-ta +addon in:ya-m-no-l-h-ho +addon in:yv-ya-m-no-l-h-ho +addon in:yv-m-no-l-h-ho +addon in:t-m-l-h-ho +addon in:t-m-l-h-ho-ta +addon in:t-ya-m-l-h-ho-ta +addon in:t-yv-ya-m-l-h-ho-ta +addon in:t-yv-m-l-h-ho-ta +addon in:t-ya-m-l-h-ho +addon in:t-yv-ya-m-l-h-ho +addon in:t-yv-m-l-h-ho +addon in:m-l-h-ho-ta +addon in:ya-m-l-h-ho-ta +addon in:yv-ya-m-l-h-ho-ta +addon in:yv-m-l-h-ho-ta +addon in:ya-m-l-h-ho +addon in:yv-ya-m-l-h-ho +addon in:yv-m-l-h-ho +addon in:nl-l-h-ho +addon in:nl-no-l-h-ho +addon in:nl-t-no-l-h-ho +addon in:nl-t-no-l-h-ho-ta +addon in:nl-t-ya-no-l-h-ho-ta +addon in:nl-t-yv-ya-no-l-h-ho-ta +addon in:nl-t-yv-no-l-h-ho-ta +addon in:nl-t-ya-no-l-h-ho +addon in:nl-t-yv-ya-no-l-h-ho +addon in:nl-t-yv-no-l-h-ho +addon in:nl-no-l-h-ho-ta +addon in:nl-ya-no-l-h-ho-ta +addon in:nl-yv-ya-no-l-h-ho-ta +addon in:nl-yv-no-l-h-ho-ta +addon in:nl-ya-no-l-h-ho +addon in:nl-yv-ya-no-l-h-ho +addon in:nl-yv-no-l-h-ho +addon in:nl-t-l-h-ho +addon in:nl-t-l-h-ho-ta +addon in:nl-t-ya-l-h-ho-ta +addon in:nl-t-yv-ya-l-h-ho-ta +addon in:nl-t-yv-l-h-ho-ta +addon in:nl-t-ya-l-h-ho +addon in:nl-t-yv-ya-l-h-ho +addon in:nl-t-yv-l-h-ho +addon in:nl-l-h-ho-ta +addon in:nl-ya-l-h-ho-ta +addon in:nl-yv-ya-l-h-ho-ta +addon in:nl-yv-l-h-ho-ta +addon in:nl-ya-l-h-ho +addon in:nl-yv-ya-l-h-ho +addon in:nl-yv-l-h-ho +addon in:no-l-h-ho +addon in:t-no-l-h-ho +addon in:t-no-l-h-ho-ta +addon in:t-ya-no-l-h-ho-ta +addon in:t-yv-ya-no-l-h-ho-ta +addon in:t-yv-no-l-h-ho-ta +addon in:t-ya-no-l-h-ho +addon in:t-yv-ya-no-l-h-ho +addon in:t-yv-no-l-h-ho +addon in:no-l-h-ho-ta +addon in:ya-no-l-h-ho-ta +addon in:yv-ya-no-l-h-ho-ta +addon in:yv-no-l-h-ho-ta +addon in:ya-no-l-h-ho +addon in:yv-ya-no-l-h-ho +addon in:yv-no-l-h-ho +addon in:t-l-h-ho +addon in:t-l-h-ho-ta +addon in:t-ya-l-h-ho-ta +addon in:t-yv-ya-l-h-ho-ta +addon in:t-yv-l-h-ho-ta +addon in:t-ya-l-h-ho +addon in:t-yv-ya-l-h-ho +addon in:t-yv-l-h-ho +addon in:l-h-ho-ta +addon in:ya-l-h-ho-ta +addon in:yv-ya-l-h-ho-ta +addon in:yv-l-h-ho-ta +addon in:ya-l-h-ho +addon in:yv-ya-l-h-ho +addon in:yv-l-h-ho +addon in:m-h-ho +addon in:nl-m-h-ho +addon in:nl-m-no-h-ho +addon in:nl-t-m-no-h-ho +addon in:nl-t-m-no-h-ho-ta +addon in:nl-t-ya-m-no-h-ho-ta +addon in:nl-t-yv-ya-m-no-h-ho-ta +addon in:nl-t-yv-m-no-h-ho-ta +addon in:nl-t-ya-m-no-h-ho +addon in:nl-t-yv-ya-m-no-h-ho +addon in:nl-t-yv-m-no-h-ho +addon in:nl-m-no-h-ho-ta +addon in:nl-ya-m-no-h-ho-ta +addon in:nl-yv-ya-m-no-h-ho-ta +addon in:nl-yv-m-no-h-ho-ta +addon in:nl-ya-m-no-h-ho +addon in:nl-yv-ya-m-no-h-ho +addon in:nl-yv-m-no-h-ho +addon in:nl-t-m-h-ho +addon in:nl-t-m-h-ho-ta +addon in:nl-t-ya-m-h-ho-ta +addon in:nl-t-yv-ya-m-h-ho-ta +addon in:nl-t-yv-m-h-ho-ta +addon in:nl-t-ya-m-h-ho +addon in:nl-t-yv-ya-m-h-ho +addon in:nl-t-yv-m-h-ho +addon in:nl-m-h-ho-ta +addon in:nl-ya-m-h-ho-ta +addon in:nl-yv-ya-m-h-ho-ta +addon in:nl-yv-m-h-ho-ta +addon in:nl-ya-m-h-ho +addon in:nl-yv-ya-m-h-ho +addon in:nl-yv-m-h-ho +addon in:m-no-h-ho +addon in:t-m-no-h-ho +addon in:t-m-no-h-ho-ta +addon in:t-ya-m-no-h-ho-ta +addon in:t-yv-ya-m-no-h-ho-ta +addon in:t-yv-m-no-h-ho-ta +addon in:t-ya-m-no-h-ho +addon in:t-yv-ya-m-no-h-ho +addon in:t-yv-m-no-h-ho +addon in:m-no-h-ho-ta +addon in:ya-m-no-h-ho-ta +addon in:yv-ya-m-no-h-ho-ta +addon in:yv-m-no-h-ho-ta +addon in:ya-m-no-h-ho +addon in:yv-ya-m-no-h-ho +addon in:yv-m-no-h-ho +addon in:t-m-h-ho +addon in:t-m-h-ho-ta +addon in:t-ya-m-h-ho-ta +addon in:t-yv-ya-m-h-ho-ta +addon in:t-yv-m-h-ho-ta +addon in:t-ya-m-h-ho +addon in:t-yv-ya-m-h-ho +addon in:t-yv-m-h-ho +addon in:m-h-ho-ta +addon in:ya-m-h-ho-ta +addon in:yv-ya-m-h-ho-ta +addon in:yv-m-h-ho-ta +addon in:ya-m-h-ho +addon in:yv-ya-m-h-ho +addon in:yv-m-h-ho +addon in:nl-h-ho +addon in:nl-no-h-ho +addon in:nl-t-no-h-ho +addon in:nl-t-no-h-ho-ta +addon in:nl-t-ya-no-h-ho-ta +addon in:nl-t-yv-ya-no-h-ho-ta +addon in:nl-t-yv-no-h-ho-ta +addon in:nl-t-ya-no-h-ho +addon in:nl-t-yv-ya-no-h-ho +addon in:nl-t-yv-no-h-ho +addon in:nl-no-h-ho-ta +addon in:nl-ya-no-h-ho-ta +addon in:nl-yv-ya-no-h-ho-ta +addon in:nl-yv-no-h-ho-ta +addon in:nl-ya-no-h-ho +addon in:nl-yv-ya-no-h-ho +addon in:nl-yv-no-h-ho +addon in:nl-t-h-ho +addon in:nl-t-h-ho-ta +addon in:nl-t-ya-h-ho-ta +addon in:nl-t-yv-ya-h-ho-ta +addon in:nl-t-yv-h-ho-ta +addon in:nl-t-ya-h-ho +addon in:nl-t-yv-ya-h-ho +addon in:nl-t-yv-h-ho +addon in:nl-h-ho-ta +addon in:nl-ya-h-ho-ta +addon in:nl-yv-ya-h-ho-ta +addon in:nl-yv-h-ho-ta +addon in:nl-ya-h-ho +addon in:nl-yv-ya-h-ho +addon in:nl-yv-h-ho +addon in:no-h-ho +addon in:t-no-h-ho +addon in:t-no-h-ho-ta +addon in:t-ya-no-h-ho-ta +addon in:t-yv-ya-no-h-ho-ta +addon in:t-yv-no-h-ho-ta +addon in:t-ya-no-h-ho +addon in:t-yv-ya-no-h-ho +addon in:t-yv-no-h-ho +addon in:no-h-ho-ta +addon in:ya-no-h-ho-ta +addon in:yv-ya-no-h-ho-ta +addon in:yv-no-h-ho-ta +addon in:ya-no-h-ho +addon in:yv-ya-no-h-ho +addon in:yv-no-h-ho +addon in:t-h-ho +addon in:t-h-ho-ta +addon in:t-ya-h-ho-ta +addon in:t-yv-ya-h-ho-ta +addon in:t-yv-h-ho-ta +addon in:t-ya-h-ho +addon in:t-yv-ya-h-ho +addon in:t-yv-h-ho +addon in:h-ho-ta +addon in:ya-h-ho-ta +addon in:yv-ya-h-ho-ta +addon in:yv-h-ho-ta +addon in:ya-h-ho +addon in:yv-ya-h-ho +addon in:yv-h-ho +addon in:l-h +addon in:m-l-h +addon in:nl-m-l-h +addon in:nl-m-no-l-h +addon in:nl-t-m-no-l-h +addon in:nl-t-m-no-l-h-ta +addon in:nl-t-ya-m-no-l-h-ta +addon in:nl-t-yv-ya-m-no-l-h-ta +addon in:nl-t-yv-m-no-l-h-ta +addon in:nl-t-ya-m-no-l-h +addon in:nl-t-yv-ya-m-no-l-h +addon in:nl-t-yv-m-no-l-h +addon in:nl-m-no-l-h-ta +addon in:nl-ya-m-no-l-h-ta +addon in:nl-yv-ya-m-no-l-h-ta +addon in:nl-yv-m-no-l-h-ta +addon in:nl-ya-m-no-l-h +addon in:nl-yv-ya-m-no-l-h +addon in:nl-yv-m-no-l-h +addon in:nl-t-m-l-h +addon in:nl-t-m-l-h-ta +addon in:nl-t-ya-m-l-h-ta +addon in:nl-t-yv-ya-m-l-h-ta +addon in:nl-t-yv-m-l-h-ta +addon in:nl-t-ya-m-l-h +addon in:nl-t-yv-ya-m-l-h +addon in:nl-t-yv-m-l-h +addon in:nl-m-l-h-ta +addon in:nl-ya-m-l-h-ta +addon in:nl-yv-ya-m-l-h-ta +addon in:nl-yv-m-l-h-ta +addon in:nl-ya-m-l-h +addon in:nl-yv-ya-m-l-h +addon in:nl-yv-m-l-h +addon in:m-no-l-h +addon in:t-m-no-l-h +addon in:t-m-no-l-h-ta +addon in:t-ya-m-no-l-h-ta +addon in:t-yv-ya-m-no-l-h-ta +addon in:t-yv-m-no-l-h-ta +addon in:t-ya-m-no-l-h +addon in:t-yv-ya-m-no-l-h +addon in:t-yv-m-no-l-h +addon in:m-no-l-h-ta +addon in:ya-m-no-l-h-ta +addon in:yv-ya-m-no-l-h-ta +addon in:yv-m-no-l-h-ta +addon in:ya-m-no-l-h +addon in:yv-ya-m-no-l-h +addon in:yv-m-no-l-h +addon in:t-m-l-h +addon in:t-m-l-h-ta +addon in:t-ya-m-l-h-ta +addon in:t-yv-ya-m-l-h-ta +addon in:t-yv-m-l-h-ta +addon in:t-ya-m-l-h +addon in:t-yv-ya-m-l-h +addon in:t-yv-m-l-h +addon in:m-l-h-ta +addon in:ya-m-l-h-ta +addon in:yv-ya-m-l-h-ta +addon in:yv-m-l-h-ta +addon in:ya-m-l-h +addon in:yv-ya-m-l-h +addon in:yv-m-l-h +addon in:nl-l-h +addon in:nl-no-l-h +addon in:nl-t-no-l-h +addon in:nl-t-no-l-h-ta +addon in:nl-t-ya-no-l-h-ta +addon in:nl-t-yv-ya-no-l-h-ta +addon in:nl-t-yv-no-l-h-ta +addon in:nl-t-ya-no-l-h +addon in:nl-t-yv-ya-no-l-h +addon in:nl-t-yv-no-l-h +addon in:nl-no-l-h-ta +addon in:nl-ya-no-l-h-ta +addon in:nl-yv-ya-no-l-h-ta +addon in:nl-yv-no-l-h-ta +addon in:nl-ya-no-l-h +addon in:nl-yv-ya-no-l-h +addon in:nl-yv-no-l-h +addon in:nl-t-l-h +addon in:nl-t-l-h-ta +addon in:nl-t-ya-l-h-ta +addon in:nl-t-yv-ya-l-h-ta +addon in:nl-t-yv-l-h-ta +addon in:nl-t-ya-l-h +addon in:nl-t-yv-ya-l-h +addon in:nl-t-yv-l-h +addon in:nl-l-h-ta +addon in:nl-ya-l-h-ta +addon in:nl-yv-ya-l-h-ta +addon in:nl-yv-l-h-ta +addon in:nl-ya-l-h +addon in:nl-yv-ya-l-h +addon in:nl-yv-l-h +addon in:no-l-h +addon in:t-no-l-h +addon in:t-no-l-h-ta +addon in:t-ya-no-l-h-ta +addon in:t-yv-ya-no-l-h-ta +addon in:t-yv-no-l-h-ta +addon in:t-ya-no-l-h +addon in:t-yv-ya-no-l-h +addon in:t-yv-no-l-h +addon in:no-l-h-ta +addon in:ya-no-l-h-ta +addon in:yv-ya-no-l-h-ta +addon in:yv-no-l-h-ta +addon in:ya-no-l-h +addon in:yv-ya-no-l-h +addon in:yv-no-l-h +addon in:t-l-h +addon in:t-l-h-ta +addon in:t-ya-l-h-ta +addon in:t-yv-ya-l-h-ta +addon in:t-yv-l-h-ta +addon in:t-ya-l-h +addon in:t-yv-ya-l-h +addon in:t-yv-l-h +addon in:l-h-ta +addon in:ya-l-h-ta +addon in:yv-ya-l-h-ta +addon in:yv-l-h-ta +addon in:ya-l-h +addon in:yv-ya-l-h +addon in:yv-l-h +addon in:m-h +addon in:nl-m-h +addon in:nl-m-no-h +addon in:nl-t-m-no-h +addon in:nl-t-m-no-h-ta +addon in:nl-t-ya-m-no-h-ta +addon in:nl-t-yv-ya-m-no-h-ta +addon in:nl-t-yv-m-no-h-ta +addon in:nl-t-ya-m-no-h +addon in:nl-t-yv-ya-m-no-h +addon in:nl-t-yv-m-no-h +addon in:nl-m-no-h-ta +addon in:nl-ya-m-no-h-ta +addon in:nl-yv-ya-m-no-h-ta +addon in:nl-yv-m-no-h-ta +addon in:nl-ya-m-no-h +addon in:nl-yv-ya-m-no-h +addon in:nl-yv-m-no-h +addon in:nl-t-m-h +addon in:nl-t-m-h-ta +addon in:nl-t-ya-m-h-ta +addon in:nl-t-yv-ya-m-h-ta +addon in:nl-t-yv-m-h-ta +addon in:nl-t-ya-m-h +addon in:nl-t-yv-ya-m-h +addon in:nl-t-yv-m-h +addon in:nl-m-h-ta +addon in:nl-ya-m-h-ta +addon in:nl-yv-ya-m-h-ta +addon in:nl-yv-m-h-ta +addon in:nl-ya-m-h +addon in:nl-yv-ya-m-h +addon in:nl-yv-m-h +addon in:m-no-h +addon in:t-m-no-h +addon in:t-m-no-h-ta +addon in:t-ya-m-no-h-ta +addon in:t-yv-ya-m-no-h-ta +addon in:t-yv-m-no-h-ta +addon in:t-ya-m-no-h +addon in:t-yv-ya-m-no-h +addon in:t-yv-m-no-h +addon in:m-no-h-ta +addon in:ya-m-no-h-ta +addon in:yv-ya-m-no-h-ta +addon in:yv-m-no-h-ta +addon in:ya-m-no-h +addon in:yv-ya-m-no-h +addon in:yv-m-no-h +addon in:t-m-h +addon in:t-m-h-ta +addon in:t-ya-m-h-ta +addon in:t-yv-ya-m-h-ta +addon in:t-yv-m-h-ta +addon in:t-ya-m-h +addon in:t-yv-ya-m-h +addon in:t-yv-m-h +addon in:m-h-ta +addon in:ya-m-h-ta +addon in:yv-ya-m-h-ta +addon in:yv-m-h-ta +addon in:ya-m-h +addon in:yv-ya-m-h +addon in:yv-m-h +addon in:nl-h +addon in:nl-no-h +addon in:nl-t-no-h +addon in:nl-t-no-h-ta +addon in:nl-t-ya-no-h-ta +addon in:nl-t-yv-ya-no-h-ta +addon in:nl-t-yv-no-h-ta +addon in:nl-t-ya-no-h +addon in:nl-t-yv-ya-no-h +addon in:nl-t-yv-no-h +addon in:nl-no-h-ta +addon in:nl-ya-no-h-ta +addon in:nl-yv-ya-no-h-ta +addon in:nl-yv-no-h-ta +addon in:nl-ya-no-h +addon in:nl-yv-ya-no-h +addon in:nl-yv-no-h +addon in:nl-t-h +addon in:nl-t-h-ta +addon in:nl-t-ya-h-ta +addon in:nl-t-yv-ya-h-ta +addon in:nl-t-yv-h-ta +addon in:nl-t-ya-h +addon in:nl-t-yv-ya-h +addon in:nl-t-yv-h +addon in:nl-h-ta +addon in:nl-ya-h-ta +addon in:nl-yv-ya-h-ta +addon in:nl-yv-h-ta +addon in:nl-ya-h +addon in:nl-yv-ya-h +addon in:nl-yv-h +addon in:no-h +addon in:t-no-h +addon in:t-no-h-ta +addon in:t-ya-no-h-ta +addon in:t-yv-ya-no-h-ta +addon in:t-yv-no-h-ta +addon in:t-ya-no-h +addon in:t-yv-ya-no-h +addon in:t-yv-no-h +addon in:no-h-ta +addon in:ya-no-h-ta +addon in:yv-ya-no-h-ta +addon in:yv-no-h-ta +addon in:ya-no-h +addon in:yv-ya-no-h +addon in:yv-no-h +addon in:t-h +addon in:t-h-ta +addon in:t-ya-h-ta +addon in:t-yv-ya-h-ta +addon in:t-yv-h-ta +addon in:t-ya-h +addon in:t-yv-ya-h +addon in:t-yv-h +addon in:h-ta +addon in:ya-h-ta +addon in:yv-ya-h-ta +addon in:yv-h-ta +addon in:ya-h +addon in:yv-ya-h +addon in:yv-h +addon in:ho +addon in:l-ho +addon in:m-l-ho +addon in:nl-m-l-ho +addon in:nl-m-no-l-ho +addon in:nl-t-m-no-l-ho +addon in:nl-t-m-no-l-ho-ta +addon in:nl-t-ya-m-no-l-ho-ta +addon in:nl-t-yv-ya-m-no-l-ho-ta +addon in:nl-t-yv-m-no-l-ho-ta +addon in:nl-t-ya-m-no-l-ho +addon in:nl-t-yv-ya-m-no-l-ho +addon in:nl-t-yv-m-no-l-ho +addon in:nl-m-no-l-ho-ta +addon in:nl-ya-m-no-l-ho-ta +addon in:nl-yv-ya-m-no-l-ho-ta +addon in:nl-yv-m-no-l-ho-ta +addon in:nl-ya-m-no-l-ho +addon in:nl-yv-ya-m-no-l-ho +addon in:nl-yv-m-no-l-ho +addon in:nl-t-m-l-ho +addon in:nl-t-m-l-ho-ta +addon in:nl-t-ya-m-l-ho-ta +addon in:nl-t-yv-ya-m-l-ho-ta +addon in:nl-t-yv-m-l-ho-ta +addon in:nl-t-ya-m-l-ho +addon in:nl-t-yv-ya-m-l-ho +addon in:nl-t-yv-m-l-ho +addon in:nl-m-l-ho-ta +addon in:nl-ya-m-l-ho-ta +addon in:nl-yv-ya-m-l-ho-ta +addon in:nl-yv-m-l-ho-ta +addon in:nl-ya-m-l-ho +addon in:nl-yv-ya-m-l-ho +addon in:nl-yv-m-l-ho +addon in:m-no-l-ho +addon in:t-m-no-l-ho +addon in:t-m-no-l-ho-ta +addon in:t-ya-m-no-l-ho-ta +addon in:t-yv-ya-m-no-l-ho-ta +addon in:t-yv-m-no-l-ho-ta +addon in:t-ya-m-no-l-ho +addon in:t-yv-ya-m-no-l-ho +addon in:t-yv-m-no-l-ho +addon in:m-no-l-ho-ta +addon in:ya-m-no-l-ho-ta +addon in:yv-ya-m-no-l-ho-ta +addon in:yv-m-no-l-ho-ta +addon in:ya-m-no-l-ho +addon in:yv-ya-m-no-l-ho +addon in:yv-m-no-l-ho +addon in:t-m-l-ho +addon in:t-m-l-ho-ta +addon in:t-ya-m-l-ho-ta +addon in:t-yv-ya-m-l-ho-ta +addon in:t-yv-m-l-ho-ta +addon in:t-ya-m-l-ho +addon in:t-yv-ya-m-l-ho +addon in:t-yv-m-l-ho +addon in:m-l-ho-ta +addon in:ya-m-l-ho-ta +addon in:yv-ya-m-l-ho-ta +addon in:yv-m-l-ho-ta +addon in:ya-m-l-ho +addon in:yv-ya-m-l-ho +addon in:yv-m-l-ho +addon in:nl-l-ho +addon in:nl-no-l-ho +addon in:nl-t-no-l-ho +addon in:nl-t-no-l-ho-ta +addon in:nl-t-ya-no-l-ho-ta +addon in:nl-t-yv-ya-no-l-ho-ta +addon in:nl-t-yv-no-l-ho-ta +addon in:nl-t-ya-no-l-ho +addon in:nl-t-yv-ya-no-l-ho +addon in:nl-t-yv-no-l-ho +addon in:nl-no-l-ho-ta +addon in:nl-ya-no-l-ho-ta +addon in:nl-yv-ya-no-l-ho-ta +addon in:nl-yv-no-l-ho-ta +addon in:nl-ya-no-l-ho +addon in:nl-yv-ya-no-l-ho +addon in:nl-yv-no-l-ho +addon in:nl-t-l-ho +addon in:nl-t-l-ho-ta +addon in:nl-t-ya-l-ho-ta +addon in:nl-t-yv-ya-l-ho-ta +addon in:nl-t-yv-l-ho-ta +addon in:nl-t-ya-l-ho +addon in:nl-t-yv-ya-l-ho +addon in:nl-t-yv-l-ho +addon in:nl-l-ho-ta +addon in:nl-ya-l-ho-ta +addon in:nl-yv-ya-l-ho-ta +addon in:nl-yv-l-ho-ta +addon in:nl-ya-l-ho +addon in:nl-yv-ya-l-ho +addon in:nl-yv-l-ho +addon in:no-l-ho +addon in:t-no-l-ho +addon in:t-no-l-ho-ta +addon in:t-ya-no-l-ho-ta +addon in:t-yv-ya-no-l-ho-ta +addon in:t-yv-no-l-ho-ta +addon in:t-ya-no-l-ho +addon in:t-yv-ya-no-l-ho +addon in:t-yv-no-l-ho +addon in:no-l-ho-ta +addon in:ya-no-l-ho-ta +addon in:yv-ya-no-l-ho-ta +addon in:yv-no-l-ho-ta +addon in:ya-no-l-ho +addon in:yv-ya-no-l-ho +addon in:yv-no-l-ho +addon in:t-l-ho +addon in:t-l-ho-ta +addon in:t-ya-l-ho-ta +addon in:t-yv-ya-l-ho-ta +addon in:t-yv-l-ho-ta +addon in:t-ya-l-ho +addon in:t-yv-ya-l-ho +addon in:t-yv-l-ho +addon in:l-ho-ta +addon in:ya-l-ho-ta +addon in:yv-ya-l-ho-ta +addon in:yv-l-ho-ta +addon in:ya-l-ho +addon in:yv-ya-l-ho +addon in:yv-l-ho +addon in:m-ho +addon in:nl-m-ho +addon in:nl-m-no-ho +addon in:nl-t-m-no-ho +addon in:nl-t-m-no-ho-ta +addon in:nl-t-ya-m-no-ho-ta +addon in:nl-t-yv-ya-m-no-ho-ta +addon in:nl-t-yv-m-no-ho-ta +addon in:nl-t-ya-m-no-ho +addon in:nl-t-yv-ya-m-no-ho +addon in:nl-t-yv-m-no-ho +addon in:nl-m-no-ho-ta +addon in:nl-ya-m-no-ho-ta +addon in:nl-yv-ya-m-no-ho-ta +addon in:nl-yv-m-no-ho-ta +addon in:nl-ya-m-no-ho +addon in:nl-yv-ya-m-no-ho +addon in:nl-yv-m-no-ho +addon in:nl-t-m-ho +addon in:nl-t-m-ho-ta +addon in:nl-t-ya-m-ho-ta +addon in:nl-t-yv-ya-m-ho-ta +addon in:nl-t-yv-m-ho-ta +addon in:nl-t-ya-m-ho +addon in:nl-t-yv-ya-m-ho +addon in:nl-t-yv-m-ho +addon in:nl-m-ho-ta +addon in:nl-ya-m-ho-ta +addon in:nl-yv-ya-m-ho-ta +addon in:nl-yv-m-ho-ta +addon in:nl-ya-m-ho +addon in:nl-yv-ya-m-ho +addon in:nl-yv-m-ho +addon in:m-no-ho +addon in:t-m-no-ho +addon in:t-m-no-ho-ta +addon in:t-ya-m-no-ho-ta +addon in:t-yv-ya-m-no-ho-ta +addon in:t-yv-m-no-ho-ta +addon in:t-ya-m-no-ho +addon in:t-yv-ya-m-no-ho +addon in:t-yv-m-no-ho +addon in:m-no-ho-ta +addon in:ya-m-no-ho-ta +addon in:yv-ya-m-no-ho-ta +addon in:yv-m-no-ho-ta +addon in:ya-m-no-ho +addon in:yv-ya-m-no-ho +addon in:yv-m-no-ho +addon in:t-m-ho +addon in:t-m-ho-ta +addon in:t-ya-m-ho-ta +addon in:t-yv-ya-m-ho-ta +addon in:t-yv-m-ho-ta +addon in:t-ya-m-ho +addon in:t-yv-ya-m-ho +addon in:t-yv-m-ho +addon in:m-ho-ta +addon in:ya-m-ho-ta +addon in:yv-ya-m-ho-ta +addon in:yv-m-ho-ta +addon in:ya-m-ho +addon in:yv-ya-m-ho +addon in:yv-m-ho +addon in:nl-ho +addon in:nl-no-ho +addon in:nl-t-no-ho +addon in:nl-t-no-ho-ta +addon in:nl-t-ya-no-ho-ta +addon in:nl-t-yv-ya-no-ho-ta +addon in:nl-t-yv-no-ho-ta +addon in:nl-t-ya-no-ho +addon in:nl-t-yv-ya-no-ho +addon in:nl-t-yv-no-ho +addon in:nl-no-ho-ta +addon in:nl-ya-no-ho-ta +addon in:nl-yv-ya-no-ho-ta +addon in:nl-yv-no-ho-ta +addon in:nl-ya-no-ho +addon in:nl-yv-ya-no-ho +addon in:nl-yv-no-ho +addon in:nl-t-ho +addon in:nl-t-ho-ta +addon in:nl-t-ya-ho-ta +addon in:nl-t-yv-ya-ho-ta +addon in:nl-t-yv-ho-ta +addon in:nl-t-ya-ho +addon in:nl-t-yv-ya-ho +addon in:nl-t-yv-ho +addon in:nl-ho-ta +addon in:nl-ya-ho-ta +addon in:nl-yv-ya-ho-ta +addon in:nl-yv-ho-ta +addon in:nl-ya-ho +addon in:nl-yv-ya-ho +addon in:nl-yv-ho +addon in:no-ho +addon in:t-no-ho +addon in:t-no-ho-ta +addon in:t-ya-no-ho-ta +addon in:t-yv-ya-no-ho-ta +addon in:t-yv-no-ho-ta +addon in:t-ya-no-ho +addon in:t-yv-ya-no-ho +addon in:t-yv-no-ho +addon in:no-ho-ta +addon in:ya-no-ho-ta +addon in:yv-ya-no-ho-ta +addon in:yv-no-ho-ta +addon in:ya-no-ho +addon in:yv-ya-no-ho +addon in:yv-no-ho +addon in:t-ho +addon in:t-ho-ta +addon in:t-ya-ho-ta +addon in:t-yv-ya-ho-ta +addon in:t-yv-ho-ta +addon in:t-ya-ho +addon in:t-yv-ya-ho +addon in:t-yv-ho +addon in:ho-ta +addon in:ya-ho-ta +addon in:yv-ya-ho-ta +addon in:yv-ho-ta +addon in:ya-ho +addon in:yv-ya-ho +addon in:yv-ho +addon in:l +addon in:m-l +addon in:nl-m-l +addon in:nl-m-no-l +addon in:nl-t-m-no-l +addon in:nl-t-m-no-l-ta +addon in:nl-t-ya-m-no-l-ta +addon in:nl-t-yv-ya-m-no-l-ta +addon in:nl-t-yv-m-no-l-ta +addon in:nl-t-ya-m-no-l +addon in:nl-t-yv-ya-m-no-l +addon in:nl-t-yv-m-no-l +addon in:nl-m-no-l-ta +addon in:nl-ya-m-no-l-ta +addon in:nl-yv-ya-m-no-l-ta +addon in:nl-yv-m-no-l-ta +addon in:nl-ya-m-no-l +addon in:nl-yv-ya-m-no-l +addon in:nl-yv-m-no-l +addon in:nl-t-m-l +addon in:nl-t-m-l-ta +addon in:nl-t-ya-m-l-ta +addon in:nl-t-yv-ya-m-l-ta +addon in:nl-t-yv-m-l-ta +addon in:nl-t-ya-m-l +addon in:nl-t-yv-ya-m-l +addon in:nl-t-yv-m-l +addon in:nl-m-l-ta +addon in:nl-ya-m-l-ta +addon in:nl-yv-ya-m-l-ta +addon in:nl-yv-m-l-ta +addon in:nl-ya-m-l +addon in:nl-yv-ya-m-l +addon in:nl-yv-m-l +addon in:m-no-l +addon in:t-m-no-l +addon in:t-m-no-l-ta +addon in:t-ya-m-no-l-ta +addon in:t-yv-ya-m-no-l-ta +addon in:t-yv-m-no-l-ta +addon in:t-ya-m-no-l +addon in:t-yv-ya-m-no-l +addon in:t-yv-m-no-l +addon in:m-no-l-ta +addon in:ya-m-no-l-ta +addon in:yv-ya-m-no-l-ta +addon in:yv-m-no-l-ta +addon in:ya-m-no-l +addon in:yv-ya-m-no-l +addon in:yv-m-no-l +addon in:t-m-l +addon in:t-m-l-ta +addon in:t-ya-m-l-ta +addon in:t-yv-ya-m-l-ta +addon in:t-yv-m-l-ta +addon in:t-ya-m-l +addon in:t-yv-ya-m-l +addon in:t-yv-m-l +addon in:m-l-ta +addon in:ya-m-l-ta +addon in:yv-ya-m-l-ta +addon in:yv-m-l-ta +addon in:ya-m-l +addon in:yv-ya-m-l +addon in:yv-m-l +addon in:nl-l +addon in:nl-no-l +addon in:nl-t-no-l +addon in:nl-t-no-l-ta +addon in:nl-t-ya-no-l-ta +addon in:nl-t-yv-ya-no-l-ta +addon in:nl-t-yv-no-l-ta +addon in:nl-t-ya-no-l +addon in:nl-t-yv-ya-no-l +addon in:nl-t-yv-no-l +addon in:nl-no-l-ta +addon in:nl-ya-no-l-ta +addon in:nl-yv-ya-no-l-ta +addon in:nl-yv-no-l-ta +addon in:nl-ya-no-l +addon in:nl-yv-ya-no-l +addon in:nl-yv-no-l +addon in:nl-t-l +addon in:nl-t-l-ta +addon in:nl-t-ya-l-ta +addon in:nl-t-yv-ya-l-ta +addon in:nl-t-yv-l-ta +addon in:nl-t-ya-l +addon in:nl-t-yv-ya-l +addon in:nl-t-yv-l +addon in:nl-l-ta +addon in:nl-ya-l-ta +addon in:nl-yv-ya-l-ta +addon in:nl-yv-l-ta +addon in:nl-ya-l +addon in:nl-yv-ya-l +addon in:nl-yv-l +addon in:no-l +addon in:t-no-l +addon in:t-no-l-ta +addon in:t-ya-no-l-ta +addon in:t-yv-ya-no-l-ta +addon in:t-yv-no-l-ta +addon in:t-ya-no-l +addon in:t-yv-ya-no-l +addon in:t-yv-no-l +addon in:no-l-ta +addon in:ya-no-l-ta +addon in:yv-ya-no-l-ta +addon in:yv-no-l-ta +addon in:ya-no-l +addon in:yv-ya-no-l +addon in:yv-no-l +addon in:t-l +addon in:t-l-ta +addon in:t-ya-l-ta +addon in:t-yv-ya-l-ta +addon in:t-yv-l-ta +addon in:t-ya-l +addon in:t-yv-ya-l +addon in:t-yv-l +addon in:l-ta +addon in:ya-l-ta +addon in:yv-ya-l-ta +addon in:yv-l-ta +addon in:ya-l +addon in:yv-ya-l +addon in:yv-l +addon in:m +addon in:nl-m +addon in:nl-m-no +addon in:nl-t-m-no +addon in:nl-t-m-no-ta +addon in:nl-t-ya-m-no-ta +addon in:nl-t-yv-ya-m-no-ta +addon in:nl-t-yv-m-no-ta +addon in:nl-t-ya-m-no +addon in:nl-t-yv-ya-m-no +addon in:nl-t-yv-m-no +addon in:nl-m-no-ta +addon in:nl-ya-m-no-ta +addon in:nl-yv-ya-m-no-ta +addon in:nl-yv-m-no-ta +addon in:nl-ya-m-no +addon in:nl-yv-ya-m-no +addon in:nl-yv-m-no +addon in:nl-t-m +addon in:nl-t-m-ta +addon in:nl-t-ya-m-ta +addon in:nl-t-yv-ya-m-ta +addon in:nl-t-yv-m-ta +addon in:nl-t-ya-m +addon in:nl-t-yv-ya-m +addon in:nl-t-yv-m +addon in:nl-m-ta +addon in:nl-ya-m-ta +addon in:nl-yv-ya-m-ta +addon in:nl-yv-m-ta +addon in:nl-ya-m +addon in:nl-yv-ya-m +addon in:nl-yv-m +addon in:m-no +addon in:t-m-no +addon in:t-m-no-ta +addon in:t-ya-m-no-ta +addon in:t-yv-ya-m-no-ta +addon in:t-yv-m-no-ta +addon in:t-ya-m-no +addon in:t-yv-ya-m-no +addon in:t-yv-m-no +addon in:m-no-ta +addon in:ya-m-no-ta +addon in:yv-ya-m-no-ta +addon in:yv-m-no-ta +addon in:ya-m-no +addon in:yv-ya-m-no +addon in:yv-m-no +addon in:t-m +addon in:t-m-ta +addon in:t-ya-m-ta +addon in:t-yv-ya-m-ta +addon in:t-yv-m-ta +addon in:t-ya-m +addon in:t-yv-ya-m +addon in:t-yv-m +addon in:m-ta +addon in:ya-m-ta +addon in:yv-ya-m-ta +addon in:yv-m-ta +addon in:ya-m +addon in:yv-ya-m +addon in:yv-m +addon in:nl +addon in:nl-no +addon in:nl-t-no +addon in:nl-t-no-ta +addon in:nl-t-ya-no-ta +addon in:nl-t-yv-ya-no-ta +addon in:nl-t-yv-no-ta +addon in:nl-t-ya-no +addon in:nl-t-yv-ya-no +addon in:nl-t-yv-no +addon in:nl-no-ta +addon in:nl-ya-no-ta +addon in:nl-yv-ya-no-ta +addon in:nl-yv-no-ta +addon in:nl-ya-no +addon in:nl-yv-ya-no +addon in:nl-yv-no +addon in:nl-t +addon in:nl-t-ta +addon in:nl-t-ya-ta +addon in:nl-t-yv-ya-ta +addon in:nl-t-yv-ta +addon in:nl-t-ya +addon in:nl-t-yv-ya +addon in:nl-t-yv +addon in:nl-ta +addon in:nl-ya-ta +addon in:nl-yv-ya-ta +addon in:nl-yv-ta +addon in:nl-ya +addon in:nl-yv-ya +addon in:nl-yv +addon in:no +addon in:t-no +addon in:t-no-ta +addon in:t-ya-no-ta +addon in:t-yv-ya-no-ta +addon in:t-yv-no-ta +addon in:t-ya-no +addon in:t-yv-ya-no +addon in:t-yv-no +addon in:no-ta +addon in:ya-no-ta +addon in:yv-ya-no-ta +addon in:yv-no-ta +addon in:ya-no +addon in:yv-ya-no +addon in:yv-no +addon in:t +addon in:t-ta +addon in:t-ya-ta +addon in:t-yv-ya-ta +addon in:t-yv-ta +addon in:t-ya +addon in:t-yv-ya +addon in:t-yv +addon in:ta +addon in:ya-ta +addon in:yv-ya-ta +addon in:yv-ta +addon in:ya +addon in:yv-ya +addon in:yv +addon out: +addon out:c +addon out:c-h +addon out:c-h-hd +addon out:c-l-h-hd +addon out:m-c-l-h-hd +addon out:m-nd-c-l-h-hd +addon out:nl-m-nd-c-l-h-hd +addon out:nl-t-m-nd-c-l-h-hd +addon out:nl-t-m-nd-c-l-h-hd-ta +addon out:nl-t-ya-m-nd-c-l-h-hd-ta +addon out:nl-t-yv-ya-m-nd-c-l-h-hd-ta +addon out:nl-t-yv-m-nd-c-l-h-hd-ta +addon out:nl-t-ya-m-nd-c-l-h-hd +addon out:nl-t-yv-ya-m-nd-c-l-h-hd +addon out:nl-t-yv-m-nd-c-l-h-hd +addon out:nl-m-nd-c-l-h-hd-ta +addon out:nl-ya-m-nd-c-l-h-hd-ta +addon out:nl-yv-ya-m-nd-c-l-h-hd-ta +addon out:nl-yv-m-nd-c-l-h-hd-ta +addon out:nl-ya-m-nd-c-l-h-hd +addon out:nl-yv-ya-m-nd-c-l-h-hd +addon out:nl-yv-m-nd-c-l-h-hd +addon out:t-m-nd-c-l-h-hd +addon out:t-m-nd-c-l-h-hd-ta +addon out:t-ya-m-nd-c-l-h-hd-ta +addon out:t-yv-ya-m-nd-c-l-h-hd-ta +addon out:t-yv-m-nd-c-l-h-hd-ta +addon out:t-ya-m-nd-c-l-h-hd +addon out:t-yv-ya-m-nd-c-l-h-hd +addon out:t-yv-m-nd-c-l-h-hd +addon out:m-nd-c-l-h-hd-ta +addon out:ya-m-nd-c-l-h-hd-ta +addon out:yv-ya-m-nd-c-l-h-hd-ta +addon out:yv-m-nd-c-l-h-hd-ta +addon out:ya-m-nd-c-l-h-hd +addon out:yv-ya-m-nd-c-l-h-hd +addon out:yv-m-nd-c-l-h-hd +addon out:nl-m-c-l-h-hd +addon out:nl-t-m-c-l-h-hd +addon out:nl-t-m-c-l-h-hd-ta +addon out:nl-t-ya-m-c-l-h-hd-ta +addon out:nl-t-yv-ya-m-c-l-h-hd-ta +addon out:nl-t-yv-m-c-l-h-hd-ta +addon out:nl-t-ya-m-c-l-h-hd +addon out:nl-t-yv-ya-m-c-l-h-hd +addon out:nl-t-yv-m-c-l-h-hd +addon out:nl-m-c-l-h-hd-ta +addon out:nl-ya-m-c-l-h-hd-ta +addon out:nl-yv-ya-m-c-l-h-hd-ta +addon out:nl-yv-m-c-l-h-hd-ta +addon out:nl-ya-m-c-l-h-hd +addon out:nl-yv-ya-m-c-l-h-hd +addon out:nl-yv-m-c-l-h-hd +addon out:t-m-c-l-h-hd +addon out:t-m-c-l-h-hd-ta +addon out:t-ya-m-c-l-h-hd-ta +addon out:t-yv-ya-m-c-l-h-hd-ta +addon out:t-yv-m-c-l-h-hd-ta +addon out:t-ya-m-c-l-h-hd +addon out:t-yv-ya-m-c-l-h-hd +addon out:t-yv-m-c-l-h-hd +addon out:m-c-l-h-hd-ta +addon out:ya-m-c-l-h-hd-ta +addon out:yv-ya-m-c-l-h-hd-ta +addon out:yv-m-c-l-h-hd-ta +addon out:ya-m-c-l-h-hd +addon out:yv-ya-m-c-l-h-hd +addon out:yv-m-c-l-h-hd +addon out:nd-c-l-h-hd +addon out:nl-nd-c-l-h-hd +addon out:nl-t-nd-c-l-h-hd +addon out:nl-t-nd-c-l-h-hd-ta +addon out:nl-t-ya-nd-c-l-h-hd-ta +addon out:nl-t-yv-ya-nd-c-l-h-hd-ta +addon out:nl-t-yv-nd-c-l-h-hd-ta +addon out:nl-t-ya-nd-c-l-h-hd +addon out:nl-t-yv-ya-nd-c-l-h-hd +addon out:nl-t-yv-nd-c-l-h-hd +addon out:nl-nd-c-l-h-hd-ta +addon out:nl-ya-nd-c-l-h-hd-ta +addon out:nl-yv-ya-nd-c-l-h-hd-ta +addon out:nl-yv-nd-c-l-h-hd-ta +addon out:nl-ya-nd-c-l-h-hd +addon out:nl-yv-ya-nd-c-l-h-hd +addon out:nl-yv-nd-c-l-h-hd +addon out:t-nd-c-l-h-hd +addon out:t-nd-c-l-h-hd-ta +addon out:t-ya-nd-c-l-h-hd-ta +addon out:t-yv-ya-nd-c-l-h-hd-ta +addon out:t-yv-nd-c-l-h-hd-ta +addon out:t-ya-nd-c-l-h-hd +addon out:t-yv-ya-nd-c-l-h-hd +addon out:t-yv-nd-c-l-h-hd +addon out:nd-c-l-h-hd-ta +addon out:ya-nd-c-l-h-hd-ta +addon out:yv-ya-nd-c-l-h-hd-ta +addon out:yv-nd-c-l-h-hd-ta +addon out:ya-nd-c-l-h-hd +addon out:yv-ya-nd-c-l-h-hd +addon out:yv-nd-c-l-h-hd +addon out:nl-c-l-h-hd +addon out:nl-t-c-l-h-hd +addon out:nl-t-c-l-h-hd-ta +addon out:nl-t-ya-c-l-h-hd-ta +addon out:nl-t-yv-ya-c-l-h-hd-ta +addon out:nl-t-yv-c-l-h-hd-ta +addon out:nl-t-ya-c-l-h-hd +addon out:nl-t-yv-ya-c-l-h-hd +addon out:nl-t-yv-c-l-h-hd +addon out:nl-c-l-h-hd-ta +addon out:nl-ya-c-l-h-hd-ta +addon out:nl-yv-ya-c-l-h-hd-ta +addon out:nl-yv-c-l-h-hd-ta +addon out:nl-ya-c-l-h-hd +addon out:nl-yv-ya-c-l-h-hd +addon out:nl-yv-c-l-h-hd +addon out:t-c-l-h-hd +addon out:t-c-l-h-hd-ta +addon out:t-ya-c-l-h-hd-ta +addon out:t-yv-ya-c-l-h-hd-ta +addon out:t-yv-c-l-h-hd-ta +addon out:t-ya-c-l-h-hd +addon out:t-yv-ya-c-l-h-hd +addon out:t-yv-c-l-h-hd +addon out:c-l-h-hd-ta +addon out:ya-c-l-h-hd-ta +addon out:yv-ya-c-l-h-hd-ta +addon out:yv-c-l-h-hd-ta +addon out:ya-c-l-h-hd +addon out:yv-ya-c-l-h-hd +addon out:yv-c-l-h-hd +addon out:m-c-h-hd +addon out:m-nd-c-h-hd +addon out:nl-m-nd-c-h-hd +addon out:nl-t-m-nd-c-h-hd +addon out:nl-t-m-nd-c-h-hd-ta +addon out:nl-t-ya-m-nd-c-h-hd-ta +addon out:nl-t-yv-ya-m-nd-c-h-hd-ta +addon out:nl-t-yv-m-nd-c-h-hd-ta +addon out:nl-t-ya-m-nd-c-h-hd +addon out:nl-t-yv-ya-m-nd-c-h-hd +addon out:nl-t-yv-m-nd-c-h-hd +addon out:nl-m-nd-c-h-hd-ta +addon out:nl-ya-m-nd-c-h-hd-ta +addon out:nl-yv-ya-m-nd-c-h-hd-ta +addon out:nl-yv-m-nd-c-h-hd-ta +addon out:nl-ya-m-nd-c-h-hd +addon out:nl-yv-ya-m-nd-c-h-hd +addon out:nl-yv-m-nd-c-h-hd +addon out:t-m-nd-c-h-hd +addon out:t-m-nd-c-h-hd-ta +addon out:t-ya-m-nd-c-h-hd-ta +addon out:t-yv-ya-m-nd-c-h-hd-ta +addon out:t-yv-m-nd-c-h-hd-ta +addon out:t-ya-m-nd-c-h-hd +addon out:t-yv-ya-m-nd-c-h-hd +addon out:t-yv-m-nd-c-h-hd +addon out:m-nd-c-h-hd-ta +addon out:ya-m-nd-c-h-hd-ta +addon out:yv-ya-m-nd-c-h-hd-ta +addon out:yv-m-nd-c-h-hd-ta +addon out:ya-m-nd-c-h-hd +addon out:yv-ya-m-nd-c-h-hd +addon out:yv-m-nd-c-h-hd +addon out:nl-m-c-h-hd +addon out:nl-t-m-c-h-hd +addon out:nl-t-m-c-h-hd-ta +addon out:nl-t-ya-m-c-h-hd-ta +addon out:nl-t-yv-ya-m-c-h-hd-ta +addon out:nl-t-yv-m-c-h-hd-ta +addon out:nl-t-ya-m-c-h-hd +addon out:nl-t-yv-ya-m-c-h-hd +addon out:nl-t-yv-m-c-h-hd +addon out:nl-m-c-h-hd-ta +addon out:nl-ya-m-c-h-hd-ta +addon out:nl-yv-ya-m-c-h-hd-ta +addon out:nl-yv-m-c-h-hd-ta +addon out:nl-ya-m-c-h-hd +addon out:nl-yv-ya-m-c-h-hd +addon out:nl-yv-m-c-h-hd +addon out:t-m-c-h-hd +addon out:t-m-c-h-hd-ta +addon out:t-ya-m-c-h-hd-ta +addon out:t-yv-ya-m-c-h-hd-ta +addon out:t-yv-m-c-h-hd-ta +addon out:t-ya-m-c-h-hd +addon out:t-yv-ya-m-c-h-hd +addon out:t-yv-m-c-h-hd +addon out:m-c-h-hd-ta +addon out:ya-m-c-h-hd-ta +addon out:yv-ya-m-c-h-hd-ta +addon out:yv-m-c-h-hd-ta +addon out:ya-m-c-h-hd +addon out:yv-ya-m-c-h-hd +addon out:yv-m-c-h-hd +addon out:nd-c-h-hd +addon out:nl-nd-c-h-hd +addon out:nl-t-nd-c-h-hd +addon out:nl-t-nd-c-h-hd-ta +addon out:nl-t-ya-nd-c-h-hd-ta +addon out:nl-t-yv-ya-nd-c-h-hd-ta +addon out:nl-t-yv-nd-c-h-hd-ta +addon out:nl-t-ya-nd-c-h-hd +addon out:nl-t-yv-ya-nd-c-h-hd +addon out:nl-t-yv-nd-c-h-hd +addon out:nl-nd-c-h-hd-ta +addon out:nl-ya-nd-c-h-hd-ta +addon out:nl-yv-ya-nd-c-h-hd-ta +addon out:nl-yv-nd-c-h-hd-ta +addon out:nl-ya-nd-c-h-hd +addon out:nl-yv-ya-nd-c-h-hd +addon out:nl-yv-nd-c-h-hd +addon out:t-nd-c-h-hd +addon out:t-nd-c-h-hd-ta +addon out:t-ya-nd-c-h-hd-ta +addon out:t-yv-ya-nd-c-h-hd-ta +addon out:t-yv-nd-c-h-hd-ta +addon out:t-ya-nd-c-h-hd +addon out:t-yv-ya-nd-c-h-hd +addon out:t-yv-nd-c-h-hd +addon out:nd-c-h-hd-ta +addon out:ya-nd-c-h-hd-ta +addon out:yv-ya-nd-c-h-hd-ta +addon out:yv-nd-c-h-hd-ta +addon out:ya-nd-c-h-hd +addon out:yv-ya-nd-c-h-hd +addon out:yv-nd-c-h-hd +addon out:nl-c-h-hd +addon out:nl-t-c-h-hd +addon out:nl-t-c-h-hd-ta +addon out:nl-t-ya-c-h-hd-ta +addon out:nl-t-yv-ya-c-h-hd-ta +addon out:nl-t-yv-c-h-hd-ta +addon out:nl-t-ya-c-h-hd +addon out:nl-t-yv-ya-c-h-hd +addon out:nl-t-yv-c-h-hd +addon out:nl-c-h-hd-ta +addon out:nl-ya-c-h-hd-ta +addon out:nl-yv-ya-c-h-hd-ta +addon out:nl-yv-c-h-hd-ta +addon out:nl-ya-c-h-hd +addon out:nl-yv-ya-c-h-hd +addon out:nl-yv-c-h-hd +addon out:t-c-h-hd +addon out:t-c-h-hd-ta +addon out:t-ya-c-h-hd-ta +addon out:t-yv-ya-c-h-hd-ta +addon out:t-yv-c-h-hd-ta +addon out:t-ya-c-h-hd +addon out:t-yv-ya-c-h-hd +addon out:t-yv-c-h-hd +addon out:c-h-hd-ta +addon out:ya-c-h-hd-ta +addon out:yv-ya-c-h-hd-ta +addon out:yv-c-h-hd-ta +addon out:ya-c-h-hd +addon out:yv-ya-c-h-hd +addon out:yv-c-h-hd +addon out:c-l-h +addon out:m-c-l-h +addon out:m-nd-c-l-h +addon out:nl-m-nd-c-l-h +addon out:nl-t-m-nd-c-l-h +addon out:nl-t-m-nd-c-l-h-ta +addon out:nl-t-ya-m-nd-c-l-h-ta +addon out:nl-t-yv-ya-m-nd-c-l-h-ta +addon out:nl-t-yv-m-nd-c-l-h-ta +addon out:nl-t-ya-m-nd-c-l-h +addon out:nl-t-yv-ya-m-nd-c-l-h +addon out:nl-t-yv-m-nd-c-l-h +addon out:nl-m-nd-c-l-h-ta +addon out:nl-ya-m-nd-c-l-h-ta +addon out:nl-yv-ya-m-nd-c-l-h-ta +addon out:nl-yv-m-nd-c-l-h-ta +addon out:nl-ya-m-nd-c-l-h +addon out:nl-yv-ya-m-nd-c-l-h +addon out:nl-yv-m-nd-c-l-h +addon out:t-m-nd-c-l-h +addon out:t-m-nd-c-l-h-ta +addon out:t-ya-m-nd-c-l-h-ta +addon out:t-yv-ya-m-nd-c-l-h-ta +addon out:t-yv-m-nd-c-l-h-ta +addon out:t-ya-m-nd-c-l-h +addon out:t-yv-ya-m-nd-c-l-h +addon out:t-yv-m-nd-c-l-h +addon out:m-nd-c-l-h-ta +addon out:ya-m-nd-c-l-h-ta +addon out:yv-ya-m-nd-c-l-h-ta +addon out:yv-m-nd-c-l-h-ta +addon out:ya-m-nd-c-l-h +addon out:yv-ya-m-nd-c-l-h +addon out:yv-m-nd-c-l-h +addon out:nl-m-c-l-h +addon out:nl-t-m-c-l-h +addon out:nl-t-m-c-l-h-ta +addon out:nl-t-ya-m-c-l-h-ta +addon out:nl-t-yv-ya-m-c-l-h-ta +addon out:nl-t-yv-m-c-l-h-ta +addon out:nl-t-ya-m-c-l-h +addon out:nl-t-yv-ya-m-c-l-h +addon out:nl-t-yv-m-c-l-h +addon out:nl-m-c-l-h-ta +addon out:nl-ya-m-c-l-h-ta +addon out:nl-yv-ya-m-c-l-h-ta +addon out:nl-yv-m-c-l-h-ta +addon out:nl-ya-m-c-l-h +addon out:nl-yv-ya-m-c-l-h +addon out:nl-yv-m-c-l-h +addon out:t-m-c-l-h +addon out:t-m-c-l-h-ta +addon out:t-ya-m-c-l-h-ta +addon out:t-yv-ya-m-c-l-h-ta +addon out:t-yv-m-c-l-h-ta +addon out:t-ya-m-c-l-h +addon out:t-yv-ya-m-c-l-h +addon out:t-yv-m-c-l-h +addon out:m-c-l-h-ta +addon out:ya-m-c-l-h-ta +addon out:yv-ya-m-c-l-h-ta +addon out:yv-m-c-l-h-ta +addon out:ya-m-c-l-h +addon out:yv-ya-m-c-l-h +addon out:yv-m-c-l-h +addon out:nd-c-l-h +addon out:nl-nd-c-l-h +addon out:nl-t-nd-c-l-h +addon out:nl-t-nd-c-l-h-ta +addon out:nl-t-ya-nd-c-l-h-ta +addon out:nl-t-yv-ya-nd-c-l-h-ta +addon out:nl-t-yv-nd-c-l-h-ta +addon out:nl-t-ya-nd-c-l-h +addon out:nl-t-yv-ya-nd-c-l-h +addon out:nl-t-yv-nd-c-l-h +addon out:nl-nd-c-l-h-ta +addon out:nl-ya-nd-c-l-h-ta +addon out:nl-yv-ya-nd-c-l-h-ta +addon out:nl-yv-nd-c-l-h-ta +addon out:nl-ya-nd-c-l-h +addon out:nl-yv-ya-nd-c-l-h +addon out:nl-yv-nd-c-l-h +addon out:t-nd-c-l-h +addon out:t-nd-c-l-h-ta +addon out:t-ya-nd-c-l-h-ta +addon out:t-yv-ya-nd-c-l-h-ta +addon out:t-yv-nd-c-l-h-ta +addon out:t-ya-nd-c-l-h +addon out:t-yv-ya-nd-c-l-h +addon out:t-yv-nd-c-l-h +addon out:nd-c-l-h-ta +addon out:ya-nd-c-l-h-ta +addon out:yv-ya-nd-c-l-h-ta +addon out:yv-nd-c-l-h-ta +addon out:ya-nd-c-l-h +addon out:yv-ya-nd-c-l-h +addon out:yv-nd-c-l-h +addon out:nl-c-l-h +addon out:nl-t-c-l-h +addon out:nl-t-c-l-h-ta +addon out:nl-t-ya-c-l-h-ta +addon out:nl-t-yv-ya-c-l-h-ta +addon out:nl-t-yv-c-l-h-ta +addon out:nl-t-ya-c-l-h +addon out:nl-t-yv-ya-c-l-h +addon out:nl-t-yv-c-l-h +addon out:nl-c-l-h-ta +addon out:nl-ya-c-l-h-ta +addon out:nl-yv-ya-c-l-h-ta +addon out:nl-yv-c-l-h-ta +addon out:nl-ya-c-l-h +addon out:nl-yv-ya-c-l-h +addon out:nl-yv-c-l-h +addon out:t-c-l-h +addon out:t-c-l-h-ta +addon out:t-ya-c-l-h-ta +addon out:t-yv-ya-c-l-h-ta +addon out:t-yv-c-l-h-ta +addon out:t-ya-c-l-h +addon out:t-yv-ya-c-l-h +addon out:t-yv-c-l-h +addon out:c-l-h-ta +addon out:ya-c-l-h-ta +addon out:yv-ya-c-l-h-ta +addon out:yv-c-l-h-ta +addon out:ya-c-l-h +addon out:yv-ya-c-l-h +addon out:yv-c-l-h +addon out:m-c-h +addon out:m-nd-c-h +addon out:nl-m-nd-c-h +addon out:nl-t-m-nd-c-h +addon out:nl-t-m-nd-c-h-ta +addon out:nl-t-ya-m-nd-c-h-ta +addon out:nl-t-yv-ya-m-nd-c-h-ta +addon out:nl-t-yv-m-nd-c-h-ta +addon out:nl-t-ya-m-nd-c-h +addon out:nl-t-yv-ya-m-nd-c-h +addon out:nl-t-yv-m-nd-c-h +addon out:nl-m-nd-c-h-ta +addon out:nl-ya-m-nd-c-h-ta +addon out:nl-yv-ya-m-nd-c-h-ta +addon out:nl-yv-m-nd-c-h-ta +addon out:nl-ya-m-nd-c-h +addon out:nl-yv-ya-m-nd-c-h +addon out:nl-yv-m-nd-c-h +addon out:t-m-nd-c-h +addon out:t-m-nd-c-h-ta +addon out:t-ya-m-nd-c-h-ta +addon out:t-yv-ya-m-nd-c-h-ta +addon out:t-yv-m-nd-c-h-ta +addon out:t-ya-m-nd-c-h +addon out:t-yv-ya-m-nd-c-h +addon out:t-yv-m-nd-c-h +addon out:m-nd-c-h-ta +addon out:ya-m-nd-c-h-ta +addon out:yv-ya-m-nd-c-h-ta +addon out:yv-m-nd-c-h-ta +addon out:ya-m-nd-c-h +addon out:yv-ya-m-nd-c-h +addon out:yv-m-nd-c-h +addon out:nl-m-c-h +addon out:nl-t-m-c-h +addon out:nl-t-m-c-h-ta +addon out:nl-t-ya-m-c-h-ta +addon out:nl-t-yv-ya-m-c-h-ta +addon out:nl-t-yv-m-c-h-ta +addon out:nl-t-ya-m-c-h +addon out:nl-t-yv-ya-m-c-h +addon out:nl-t-yv-m-c-h +addon out:nl-m-c-h-ta +addon out:nl-ya-m-c-h-ta +addon out:nl-yv-ya-m-c-h-ta +addon out:nl-yv-m-c-h-ta +addon out:nl-ya-m-c-h +addon out:nl-yv-ya-m-c-h +addon out:nl-yv-m-c-h +addon out:t-m-c-h +addon out:t-m-c-h-ta +addon out:t-ya-m-c-h-ta +addon out:t-yv-ya-m-c-h-ta +addon out:t-yv-m-c-h-ta +addon out:t-ya-m-c-h +addon out:t-yv-ya-m-c-h +addon out:t-yv-m-c-h +addon out:m-c-h-ta +addon out:ya-m-c-h-ta +addon out:yv-ya-m-c-h-ta +addon out:yv-m-c-h-ta +addon out:ya-m-c-h +addon out:yv-ya-m-c-h +addon out:yv-m-c-h +addon out:nd-c-h +addon out:nl-nd-c-h +addon out:nl-t-nd-c-h +addon out:nl-t-nd-c-h-ta +addon out:nl-t-ya-nd-c-h-ta +addon out:nl-t-yv-ya-nd-c-h-ta +addon out:nl-t-yv-nd-c-h-ta +addon out:nl-t-ya-nd-c-h +addon out:nl-t-yv-ya-nd-c-h +addon out:nl-t-yv-nd-c-h +addon out:nl-nd-c-h-ta +addon out:nl-ya-nd-c-h-ta +addon out:nl-yv-ya-nd-c-h-ta +addon out:nl-yv-nd-c-h-ta +addon out:nl-ya-nd-c-h +addon out:nl-yv-ya-nd-c-h +addon out:nl-yv-nd-c-h +addon out:t-nd-c-h +addon out:t-nd-c-h-ta +addon out:t-ya-nd-c-h-ta +addon out:t-yv-ya-nd-c-h-ta +addon out:t-yv-nd-c-h-ta +addon out:t-ya-nd-c-h +addon out:t-yv-ya-nd-c-h +addon out:t-yv-nd-c-h +addon out:nd-c-h-ta +addon out:ya-nd-c-h-ta +addon out:yv-ya-nd-c-h-ta +addon out:yv-nd-c-h-ta +addon out:ya-nd-c-h +addon out:yv-ya-nd-c-h +addon out:yv-nd-c-h +addon out:nl-c-h +addon out:nl-t-c-h +addon out:nl-t-c-h-ta +addon out:nl-t-ya-c-h-ta +addon out:nl-t-yv-ya-c-h-ta +addon out:nl-t-yv-c-h-ta +addon out:nl-t-ya-c-h +addon out:nl-t-yv-ya-c-h +addon out:nl-t-yv-c-h +addon out:nl-c-h-ta +addon out:nl-ya-c-h-ta +addon out:nl-yv-ya-c-h-ta +addon out:nl-yv-c-h-ta +addon out:nl-ya-c-h +addon out:nl-yv-ya-c-h +addon out:nl-yv-c-h +addon out:t-c-h +addon out:t-c-h-ta +addon out:t-ya-c-h-ta +addon out:t-yv-ya-c-h-ta +addon out:t-yv-c-h-ta +addon out:t-ya-c-h +addon out:t-yv-ya-c-h +addon out:t-yv-c-h +addon out:c-h-ta +addon out:ya-c-h-ta +addon out:yv-ya-c-h-ta +addon out:yv-c-h-ta +addon out:ya-c-h +addon out:yv-ya-c-h +addon out:yv-c-h +addon out:c-hd +addon out:c-l-hd +addon out:m-c-l-hd +addon out:m-nd-c-l-hd +addon out:nl-m-nd-c-l-hd +addon out:nl-t-m-nd-c-l-hd +addon out:nl-t-m-nd-c-l-hd-ta +addon out:nl-t-ya-m-nd-c-l-hd-ta +addon out:nl-t-yv-ya-m-nd-c-l-hd-ta +addon out:nl-t-yv-m-nd-c-l-hd-ta +addon out:nl-t-ya-m-nd-c-l-hd +addon out:nl-t-yv-ya-m-nd-c-l-hd +addon out:nl-t-yv-m-nd-c-l-hd +addon out:nl-m-nd-c-l-hd-ta +addon out:nl-ya-m-nd-c-l-hd-ta +addon out:nl-yv-ya-m-nd-c-l-hd-ta +addon out:nl-yv-m-nd-c-l-hd-ta +addon out:nl-ya-m-nd-c-l-hd +addon out:nl-yv-ya-m-nd-c-l-hd +addon out:nl-yv-m-nd-c-l-hd +addon out:t-m-nd-c-l-hd +addon out:t-m-nd-c-l-hd-ta +addon out:t-ya-m-nd-c-l-hd-ta +addon out:t-yv-ya-m-nd-c-l-hd-ta +addon out:t-yv-m-nd-c-l-hd-ta +addon out:t-ya-m-nd-c-l-hd +addon out:t-yv-ya-m-nd-c-l-hd +addon out:t-yv-m-nd-c-l-hd +addon out:m-nd-c-l-hd-ta +addon out:ya-m-nd-c-l-hd-ta +addon out:yv-ya-m-nd-c-l-hd-ta +addon out:yv-m-nd-c-l-hd-ta +addon out:ya-m-nd-c-l-hd +addon out:yv-ya-m-nd-c-l-hd +addon out:yv-m-nd-c-l-hd +addon out:nl-m-c-l-hd +addon out:nl-t-m-c-l-hd +addon out:nl-t-m-c-l-hd-ta +addon out:nl-t-ya-m-c-l-hd-ta +addon out:nl-t-yv-ya-m-c-l-hd-ta +addon out:nl-t-yv-m-c-l-hd-ta +addon out:nl-t-ya-m-c-l-hd +addon out:nl-t-yv-ya-m-c-l-hd +addon out:nl-t-yv-m-c-l-hd +addon out:nl-m-c-l-hd-ta +addon out:nl-ya-m-c-l-hd-ta +addon out:nl-yv-ya-m-c-l-hd-ta +addon out:nl-yv-m-c-l-hd-ta +addon out:nl-ya-m-c-l-hd +addon out:nl-yv-ya-m-c-l-hd +addon out:nl-yv-m-c-l-hd +addon out:t-m-c-l-hd +addon out:t-m-c-l-hd-ta +addon out:t-ya-m-c-l-hd-ta +addon out:t-yv-ya-m-c-l-hd-ta +addon out:t-yv-m-c-l-hd-ta +addon out:t-ya-m-c-l-hd +addon out:t-yv-ya-m-c-l-hd +addon out:t-yv-m-c-l-hd +addon out:m-c-l-hd-ta +addon out:ya-m-c-l-hd-ta +addon out:yv-ya-m-c-l-hd-ta +addon out:yv-m-c-l-hd-ta +addon out:ya-m-c-l-hd +addon out:yv-ya-m-c-l-hd +addon out:yv-m-c-l-hd +addon out:nd-c-l-hd +addon out:nl-nd-c-l-hd +addon out:nl-t-nd-c-l-hd +addon out:nl-t-nd-c-l-hd-ta +addon out:nl-t-ya-nd-c-l-hd-ta +addon out:nl-t-yv-ya-nd-c-l-hd-ta +addon out:nl-t-yv-nd-c-l-hd-ta +addon out:nl-t-ya-nd-c-l-hd +addon out:nl-t-yv-ya-nd-c-l-hd +addon out:nl-t-yv-nd-c-l-hd +addon out:nl-nd-c-l-hd-ta +addon out:nl-ya-nd-c-l-hd-ta +addon out:nl-yv-ya-nd-c-l-hd-ta +addon out:nl-yv-nd-c-l-hd-ta +addon out:nl-ya-nd-c-l-hd +addon out:nl-yv-ya-nd-c-l-hd +addon out:nl-yv-nd-c-l-hd +addon out:t-nd-c-l-hd +addon out:t-nd-c-l-hd-ta +addon out:t-ya-nd-c-l-hd-ta +addon out:t-yv-ya-nd-c-l-hd-ta +addon out:t-yv-nd-c-l-hd-ta +addon out:t-ya-nd-c-l-hd +addon out:t-yv-ya-nd-c-l-hd +addon out:t-yv-nd-c-l-hd +addon out:nd-c-l-hd-ta +addon out:ya-nd-c-l-hd-ta +addon out:yv-ya-nd-c-l-hd-ta +addon out:yv-nd-c-l-hd-ta +addon out:ya-nd-c-l-hd +addon out:yv-ya-nd-c-l-hd +addon out:yv-nd-c-l-hd +addon out:nl-c-l-hd +addon out:nl-t-c-l-hd +addon out:nl-t-c-l-hd-ta +addon out:nl-t-ya-c-l-hd-ta +addon out:nl-t-yv-ya-c-l-hd-ta +addon out:nl-t-yv-c-l-hd-ta +addon out:nl-t-ya-c-l-hd +addon out:nl-t-yv-ya-c-l-hd +addon out:nl-t-yv-c-l-hd +addon out:nl-c-l-hd-ta +addon out:nl-ya-c-l-hd-ta +addon out:nl-yv-ya-c-l-hd-ta +addon out:nl-yv-c-l-hd-ta +addon out:nl-ya-c-l-hd +addon out:nl-yv-ya-c-l-hd +addon out:nl-yv-c-l-hd +addon out:t-c-l-hd +addon out:t-c-l-hd-ta +addon out:t-ya-c-l-hd-ta +addon out:t-yv-ya-c-l-hd-ta +addon out:t-yv-c-l-hd-ta +addon out:t-ya-c-l-hd +addon out:t-yv-ya-c-l-hd +addon out:t-yv-c-l-hd +addon out:c-l-hd-ta +addon out:ya-c-l-hd-ta +addon out:yv-ya-c-l-hd-ta +addon out:yv-c-l-hd-ta +addon out:ya-c-l-hd +addon out:yv-ya-c-l-hd +addon out:yv-c-l-hd +addon out:m-c-hd +addon out:m-nd-c-hd +addon out:nl-m-nd-c-hd +addon out:nl-t-m-nd-c-hd +addon out:nl-t-m-nd-c-hd-ta +addon out:nl-t-ya-m-nd-c-hd-ta +addon out:nl-t-yv-ya-m-nd-c-hd-ta +addon out:nl-t-yv-m-nd-c-hd-ta +addon out:nl-t-ya-m-nd-c-hd +addon out:nl-t-yv-ya-m-nd-c-hd +addon out:nl-t-yv-m-nd-c-hd +addon out:nl-m-nd-c-hd-ta +addon out:nl-ya-m-nd-c-hd-ta +addon out:nl-yv-ya-m-nd-c-hd-ta +addon out:nl-yv-m-nd-c-hd-ta +addon out:nl-ya-m-nd-c-hd +addon out:nl-yv-ya-m-nd-c-hd +addon out:nl-yv-m-nd-c-hd +addon out:t-m-nd-c-hd +addon out:t-m-nd-c-hd-ta +addon out:t-ya-m-nd-c-hd-ta +addon out:t-yv-ya-m-nd-c-hd-ta +addon out:t-yv-m-nd-c-hd-ta +addon out:t-ya-m-nd-c-hd +addon out:t-yv-ya-m-nd-c-hd +addon out:t-yv-m-nd-c-hd +addon out:m-nd-c-hd-ta +addon out:ya-m-nd-c-hd-ta +addon out:yv-ya-m-nd-c-hd-ta +addon out:yv-m-nd-c-hd-ta +addon out:ya-m-nd-c-hd +addon out:yv-ya-m-nd-c-hd +addon out:yv-m-nd-c-hd +addon out:nl-m-c-hd +addon out:nl-t-m-c-hd +addon out:nl-t-m-c-hd-ta +addon out:nl-t-ya-m-c-hd-ta +addon out:nl-t-yv-ya-m-c-hd-ta +addon out:nl-t-yv-m-c-hd-ta +addon out:nl-t-ya-m-c-hd +addon out:nl-t-yv-ya-m-c-hd +addon out:nl-t-yv-m-c-hd +addon out:nl-m-c-hd-ta +addon out:nl-ya-m-c-hd-ta +addon out:nl-yv-ya-m-c-hd-ta +addon out:nl-yv-m-c-hd-ta +addon out:nl-ya-m-c-hd +addon out:nl-yv-ya-m-c-hd +addon out:nl-yv-m-c-hd +addon out:t-m-c-hd +addon out:t-m-c-hd-ta +addon out:t-ya-m-c-hd-ta +addon out:t-yv-ya-m-c-hd-ta +addon out:t-yv-m-c-hd-ta +addon out:t-ya-m-c-hd +addon out:t-yv-ya-m-c-hd +addon out:t-yv-m-c-hd +addon out:m-c-hd-ta +addon out:ya-m-c-hd-ta +addon out:yv-ya-m-c-hd-ta +addon out:yv-m-c-hd-ta +addon out:ya-m-c-hd +addon out:yv-ya-m-c-hd +addon out:yv-m-c-hd +addon out:nd-c-hd +addon out:nl-nd-c-hd +addon out:nl-t-nd-c-hd +addon out:nl-t-nd-c-hd-ta +addon out:nl-t-ya-nd-c-hd-ta +addon out:nl-t-yv-ya-nd-c-hd-ta +addon out:nl-t-yv-nd-c-hd-ta +addon out:nl-t-ya-nd-c-hd +addon out:nl-t-yv-ya-nd-c-hd +addon out:nl-t-yv-nd-c-hd +addon out:nl-nd-c-hd-ta +addon out:nl-ya-nd-c-hd-ta +addon out:nl-yv-ya-nd-c-hd-ta +addon out:nl-yv-nd-c-hd-ta +addon out:nl-ya-nd-c-hd +addon out:nl-yv-ya-nd-c-hd +addon out:nl-yv-nd-c-hd +addon out:t-nd-c-hd +addon out:t-nd-c-hd-ta +addon out:t-ya-nd-c-hd-ta +addon out:t-yv-ya-nd-c-hd-ta +addon out:t-yv-nd-c-hd-ta +addon out:t-ya-nd-c-hd +addon out:t-yv-ya-nd-c-hd +addon out:t-yv-nd-c-hd +addon out:nd-c-hd-ta +addon out:ya-nd-c-hd-ta +addon out:yv-ya-nd-c-hd-ta +addon out:yv-nd-c-hd-ta +addon out:ya-nd-c-hd +addon out:yv-ya-nd-c-hd +addon out:yv-nd-c-hd +addon out:nl-c-hd +addon out:nl-t-c-hd +addon out:nl-t-c-hd-ta +addon out:nl-t-ya-c-hd-ta +addon out:nl-t-yv-ya-c-hd-ta +addon out:nl-t-yv-c-hd-ta +addon out:nl-t-ya-c-hd +addon out:nl-t-yv-ya-c-hd +addon out:nl-t-yv-c-hd +addon out:nl-c-hd-ta +addon out:nl-ya-c-hd-ta +addon out:nl-yv-ya-c-hd-ta +addon out:nl-yv-c-hd-ta +addon out:nl-ya-c-hd +addon out:nl-yv-ya-c-hd +addon out:nl-yv-c-hd +addon out:t-c-hd +addon out:t-c-hd-ta +addon out:t-ya-c-hd-ta +addon out:t-yv-ya-c-hd-ta +addon out:t-yv-c-hd-ta +addon out:t-ya-c-hd +addon out:t-yv-ya-c-hd +addon out:t-yv-c-hd +addon out:c-hd-ta +addon out:ya-c-hd-ta +addon out:yv-ya-c-hd-ta +addon out:yv-c-hd-ta +addon out:ya-c-hd +addon out:yv-ya-c-hd +addon out:yv-c-hd +addon out:c-l +addon out:m-c-l +addon out:m-nd-c-l +addon out:nl-m-nd-c-l +addon out:nl-t-m-nd-c-l +addon out:nl-t-m-nd-c-l-ta +addon out:nl-t-ya-m-nd-c-l-ta +addon out:nl-t-yv-ya-m-nd-c-l-ta +addon out:nl-t-yv-m-nd-c-l-ta +addon out:nl-t-ya-m-nd-c-l +addon out:nl-t-yv-ya-m-nd-c-l +addon out:nl-t-yv-m-nd-c-l +addon out:nl-m-nd-c-l-ta +addon out:nl-ya-m-nd-c-l-ta +addon out:nl-yv-ya-m-nd-c-l-ta +addon out:nl-yv-m-nd-c-l-ta +addon out:nl-ya-m-nd-c-l +addon out:nl-yv-ya-m-nd-c-l +addon out:nl-yv-m-nd-c-l +addon out:t-m-nd-c-l +addon out:t-m-nd-c-l-ta +addon out:t-ya-m-nd-c-l-ta +addon out:t-yv-ya-m-nd-c-l-ta +addon out:t-yv-m-nd-c-l-ta +addon out:t-ya-m-nd-c-l +addon out:t-yv-ya-m-nd-c-l +addon out:t-yv-m-nd-c-l +addon out:m-nd-c-l-ta +addon out:ya-m-nd-c-l-ta +addon out:yv-ya-m-nd-c-l-ta +addon out:yv-m-nd-c-l-ta +addon out:ya-m-nd-c-l +addon out:yv-ya-m-nd-c-l +addon out:yv-m-nd-c-l +addon out:nl-m-c-l +addon out:nl-t-m-c-l +addon out:nl-t-m-c-l-ta +addon out:nl-t-ya-m-c-l-ta +addon out:nl-t-yv-ya-m-c-l-ta +addon out:nl-t-yv-m-c-l-ta +addon out:nl-t-ya-m-c-l +addon out:nl-t-yv-ya-m-c-l +addon out:nl-t-yv-m-c-l +addon out:nl-m-c-l-ta +addon out:nl-ya-m-c-l-ta +addon out:nl-yv-ya-m-c-l-ta +addon out:nl-yv-m-c-l-ta +addon out:nl-ya-m-c-l +addon out:nl-yv-ya-m-c-l +addon out:nl-yv-m-c-l +addon out:t-m-c-l +addon out:t-m-c-l-ta +addon out:t-ya-m-c-l-ta +addon out:t-yv-ya-m-c-l-ta +addon out:t-yv-m-c-l-ta +addon out:t-ya-m-c-l +addon out:t-yv-ya-m-c-l +addon out:t-yv-m-c-l +addon out:m-c-l-ta +addon out:ya-m-c-l-ta +addon out:yv-ya-m-c-l-ta +addon out:yv-m-c-l-ta +addon out:ya-m-c-l +addon out:yv-ya-m-c-l +addon out:yv-m-c-l +addon out:nd-c-l +addon out:nl-nd-c-l +addon out:nl-t-nd-c-l +addon out:nl-t-nd-c-l-ta +addon out:nl-t-ya-nd-c-l-ta +addon out:nl-t-yv-ya-nd-c-l-ta +addon out:nl-t-yv-nd-c-l-ta +addon out:nl-t-ya-nd-c-l +addon out:nl-t-yv-ya-nd-c-l +addon out:nl-t-yv-nd-c-l +addon out:nl-nd-c-l-ta +addon out:nl-ya-nd-c-l-ta +addon out:nl-yv-ya-nd-c-l-ta +addon out:nl-yv-nd-c-l-ta +addon out:nl-ya-nd-c-l +addon out:nl-yv-ya-nd-c-l +addon out:nl-yv-nd-c-l +addon out:t-nd-c-l +addon out:t-nd-c-l-ta +addon out:t-ya-nd-c-l-ta +addon out:t-yv-ya-nd-c-l-ta +addon out:t-yv-nd-c-l-ta +addon out:t-ya-nd-c-l +addon out:t-yv-ya-nd-c-l +addon out:t-yv-nd-c-l +addon out:nd-c-l-ta +addon out:ya-nd-c-l-ta +addon out:yv-ya-nd-c-l-ta +addon out:yv-nd-c-l-ta +addon out:ya-nd-c-l +addon out:yv-ya-nd-c-l +addon out:yv-nd-c-l +addon out:nl-c-l +addon out:nl-t-c-l +addon out:nl-t-c-l-ta +addon out:nl-t-ya-c-l-ta +addon out:nl-t-yv-ya-c-l-ta +addon out:nl-t-yv-c-l-ta +addon out:nl-t-ya-c-l +addon out:nl-t-yv-ya-c-l +addon out:nl-t-yv-c-l +addon out:nl-c-l-ta +addon out:nl-ya-c-l-ta +addon out:nl-yv-ya-c-l-ta +addon out:nl-yv-c-l-ta +addon out:nl-ya-c-l +addon out:nl-yv-ya-c-l +addon out:nl-yv-c-l +addon out:t-c-l +addon out:t-c-l-ta +addon out:t-ya-c-l-ta +addon out:t-yv-ya-c-l-ta +addon out:t-yv-c-l-ta +addon out:t-ya-c-l +addon out:t-yv-ya-c-l +addon out:t-yv-c-l +addon out:c-l-ta +addon out:ya-c-l-ta +addon out:yv-ya-c-l-ta +addon out:yv-c-l-ta +addon out:ya-c-l +addon out:yv-ya-c-l +addon out:yv-c-l +addon out:m-c +addon out:m-nd-c +addon out:nl-m-nd-c +addon out:nl-t-m-nd-c +addon out:nl-t-m-nd-c-ta +addon out:nl-t-ya-m-nd-c-ta +addon out:nl-t-yv-ya-m-nd-c-ta +addon out:nl-t-yv-m-nd-c-ta +addon out:nl-t-ya-m-nd-c +addon out:nl-t-yv-ya-m-nd-c +addon out:nl-t-yv-m-nd-c +addon out:nl-m-nd-c-ta +addon out:nl-ya-m-nd-c-ta +addon out:nl-yv-ya-m-nd-c-ta +addon out:nl-yv-m-nd-c-ta +addon out:nl-ya-m-nd-c +addon out:nl-yv-ya-m-nd-c +addon out:nl-yv-m-nd-c +addon out:t-m-nd-c +addon out:t-m-nd-c-ta +addon out:t-ya-m-nd-c-ta +addon out:t-yv-ya-m-nd-c-ta +addon out:t-yv-m-nd-c-ta +addon out:t-ya-m-nd-c +addon out:t-yv-ya-m-nd-c +addon out:t-yv-m-nd-c +addon out:m-nd-c-ta +addon out:ya-m-nd-c-ta +addon out:yv-ya-m-nd-c-ta +addon out:yv-m-nd-c-ta +addon out:ya-m-nd-c +addon out:yv-ya-m-nd-c +addon out:yv-m-nd-c +addon out:nl-m-c +addon out:nl-t-m-c +addon out:nl-t-m-c-ta +addon out:nl-t-ya-m-c-ta +addon out:nl-t-yv-ya-m-c-ta +addon out:nl-t-yv-m-c-ta +addon out:nl-t-ya-m-c +addon out:nl-t-yv-ya-m-c +addon out:nl-t-yv-m-c +addon out:nl-m-c-ta +addon out:nl-ya-m-c-ta +addon out:nl-yv-ya-m-c-ta +addon out:nl-yv-m-c-ta +addon out:nl-ya-m-c +addon out:nl-yv-ya-m-c +addon out:nl-yv-m-c +addon out:t-m-c +addon out:t-m-c-ta +addon out:t-ya-m-c-ta +addon out:t-yv-ya-m-c-ta +addon out:t-yv-m-c-ta +addon out:t-ya-m-c +addon out:t-yv-ya-m-c +addon out:t-yv-m-c +addon out:m-c-ta +addon out:ya-m-c-ta +addon out:yv-ya-m-c-ta +addon out:yv-m-c-ta +addon out:ya-m-c +addon out:yv-ya-m-c +addon out:yv-m-c +addon out:nd-c +addon out:nl-nd-c +addon out:nl-t-nd-c +addon out:nl-t-nd-c-ta +addon out:nl-t-ya-nd-c-ta +addon out:nl-t-yv-ya-nd-c-ta +addon out:nl-t-yv-nd-c-ta +addon out:nl-t-ya-nd-c +addon out:nl-t-yv-ya-nd-c +addon out:nl-t-yv-nd-c +addon out:nl-nd-c-ta +addon out:nl-ya-nd-c-ta +addon out:nl-yv-ya-nd-c-ta +addon out:nl-yv-nd-c-ta +addon out:nl-ya-nd-c +addon out:nl-yv-ya-nd-c +addon out:nl-yv-nd-c +addon out:t-nd-c +addon out:t-nd-c-ta +addon out:t-ya-nd-c-ta +addon out:t-yv-ya-nd-c-ta +addon out:t-yv-nd-c-ta +addon out:t-ya-nd-c +addon out:t-yv-ya-nd-c +addon out:t-yv-nd-c +addon out:nd-c-ta +addon out:ya-nd-c-ta +addon out:yv-ya-nd-c-ta +addon out:yv-nd-c-ta +addon out:ya-nd-c +addon out:yv-ya-nd-c +addon out:yv-nd-c +addon out:nl-c +addon out:nl-t-c +addon out:nl-t-c-ta +addon out:nl-t-ya-c-ta +addon out:nl-t-yv-ya-c-ta +addon out:nl-t-yv-c-ta +addon out:nl-t-ya-c +addon out:nl-t-yv-ya-c +addon out:nl-t-yv-c +addon out:nl-c-ta +addon out:nl-ya-c-ta +addon out:nl-yv-ya-c-ta +addon out:nl-yv-c-ta +addon out:nl-ya-c +addon out:nl-yv-ya-c +addon out:nl-yv-c +addon out:t-c +addon out:t-c-ta +addon out:t-ya-c-ta +addon out:t-yv-ya-c-ta +addon out:t-yv-c-ta +addon out:t-ya-c +addon out:t-yv-ya-c +addon out:t-yv-c +addon out:c-ta +addon out:ya-c-ta +addon out:yv-ya-c-ta +addon out:yv-c-ta +addon out:ya-c +addon out:yv-ya-c +addon out:yv-c +addon out:h +addon out:h-hd +addon out:l-h-hd +addon out:m-l-h-hd +addon out:m-nd-l-h-hd +addon out:nl-m-nd-l-h-hd +addon out:nl-t-m-nd-l-h-hd +addon out:nl-t-m-nd-l-h-hd-ta +addon out:nl-t-ya-m-nd-l-h-hd-ta +addon out:nl-t-yv-ya-m-nd-l-h-hd-ta +addon out:nl-t-yv-m-nd-l-h-hd-ta +addon out:nl-t-ya-m-nd-l-h-hd +addon out:nl-t-yv-ya-m-nd-l-h-hd +addon out:nl-t-yv-m-nd-l-h-hd +addon out:nl-m-nd-l-h-hd-ta +addon out:nl-ya-m-nd-l-h-hd-ta +addon out:nl-yv-ya-m-nd-l-h-hd-ta +addon out:nl-yv-m-nd-l-h-hd-ta +addon out:nl-ya-m-nd-l-h-hd +addon out:nl-yv-ya-m-nd-l-h-hd +addon out:nl-yv-m-nd-l-h-hd +addon out:t-m-nd-l-h-hd +addon out:t-m-nd-l-h-hd-ta +addon out:t-ya-m-nd-l-h-hd-ta +addon out:t-yv-ya-m-nd-l-h-hd-ta +addon out:t-yv-m-nd-l-h-hd-ta +addon out:t-ya-m-nd-l-h-hd +addon out:t-yv-ya-m-nd-l-h-hd +addon out:t-yv-m-nd-l-h-hd +addon out:m-nd-l-h-hd-ta +addon out:ya-m-nd-l-h-hd-ta +addon out:yv-ya-m-nd-l-h-hd-ta +addon out:yv-m-nd-l-h-hd-ta +addon out:ya-m-nd-l-h-hd +addon out:yv-ya-m-nd-l-h-hd +addon out:yv-m-nd-l-h-hd +addon out:nl-m-l-h-hd +addon out:nl-t-m-l-h-hd +addon out:nl-t-m-l-h-hd-ta +addon out:nl-t-ya-m-l-h-hd-ta +addon out:nl-t-yv-ya-m-l-h-hd-ta +addon out:nl-t-yv-m-l-h-hd-ta +addon out:nl-t-ya-m-l-h-hd +addon out:nl-t-yv-ya-m-l-h-hd +addon out:nl-t-yv-m-l-h-hd +addon out:nl-m-l-h-hd-ta +addon out:nl-ya-m-l-h-hd-ta +addon out:nl-yv-ya-m-l-h-hd-ta +addon out:nl-yv-m-l-h-hd-ta +addon out:nl-ya-m-l-h-hd +addon out:nl-yv-ya-m-l-h-hd +addon out:nl-yv-m-l-h-hd +addon out:t-m-l-h-hd +addon out:t-m-l-h-hd-ta +addon out:t-ya-m-l-h-hd-ta +addon out:t-yv-ya-m-l-h-hd-ta +addon out:t-yv-m-l-h-hd-ta +addon out:t-ya-m-l-h-hd +addon out:t-yv-ya-m-l-h-hd +addon out:t-yv-m-l-h-hd +addon out:m-l-h-hd-ta +addon out:ya-m-l-h-hd-ta +addon out:yv-ya-m-l-h-hd-ta +addon out:yv-m-l-h-hd-ta +addon out:ya-m-l-h-hd +addon out:yv-ya-m-l-h-hd +addon out:yv-m-l-h-hd +addon out:nd-l-h-hd +addon out:nl-nd-l-h-hd +addon out:nl-t-nd-l-h-hd +addon out:nl-t-nd-l-h-hd-ta +addon out:nl-t-ya-nd-l-h-hd-ta +addon out:nl-t-yv-ya-nd-l-h-hd-ta +addon out:nl-t-yv-nd-l-h-hd-ta +addon out:nl-t-ya-nd-l-h-hd +addon out:nl-t-yv-ya-nd-l-h-hd +addon out:nl-t-yv-nd-l-h-hd +addon out:nl-nd-l-h-hd-ta +addon out:nl-ya-nd-l-h-hd-ta +addon out:nl-yv-ya-nd-l-h-hd-ta +addon out:nl-yv-nd-l-h-hd-ta +addon out:nl-ya-nd-l-h-hd +addon out:nl-yv-ya-nd-l-h-hd +addon out:nl-yv-nd-l-h-hd +addon out:t-nd-l-h-hd +addon out:t-nd-l-h-hd-ta +addon out:t-ya-nd-l-h-hd-ta +addon out:t-yv-ya-nd-l-h-hd-ta +addon out:t-yv-nd-l-h-hd-ta +addon out:t-ya-nd-l-h-hd +addon out:t-yv-ya-nd-l-h-hd +addon out:t-yv-nd-l-h-hd +addon out:nd-l-h-hd-ta +addon out:ya-nd-l-h-hd-ta +addon out:yv-ya-nd-l-h-hd-ta +addon out:yv-nd-l-h-hd-ta +addon out:ya-nd-l-h-hd +addon out:yv-ya-nd-l-h-hd +addon out:yv-nd-l-h-hd +addon out:nl-l-h-hd +addon out:nl-t-l-h-hd +addon out:nl-t-l-h-hd-ta +addon out:nl-t-ya-l-h-hd-ta +addon out:nl-t-yv-ya-l-h-hd-ta +addon out:nl-t-yv-l-h-hd-ta +addon out:nl-t-ya-l-h-hd +addon out:nl-t-yv-ya-l-h-hd +addon out:nl-t-yv-l-h-hd +addon out:nl-l-h-hd-ta +addon out:nl-ya-l-h-hd-ta +addon out:nl-yv-ya-l-h-hd-ta +addon out:nl-yv-l-h-hd-ta +addon out:nl-ya-l-h-hd +addon out:nl-yv-ya-l-h-hd +addon out:nl-yv-l-h-hd +addon out:t-l-h-hd +addon out:t-l-h-hd-ta +addon out:t-ya-l-h-hd-ta +addon out:t-yv-ya-l-h-hd-ta +addon out:t-yv-l-h-hd-ta +addon out:t-ya-l-h-hd +addon out:t-yv-ya-l-h-hd +addon out:t-yv-l-h-hd +addon out:l-h-hd-ta +addon out:ya-l-h-hd-ta +addon out:yv-ya-l-h-hd-ta +addon out:yv-l-h-hd-ta +addon out:ya-l-h-hd +addon out:yv-ya-l-h-hd +addon out:yv-l-h-hd +addon out:m-h-hd +addon out:m-nd-h-hd +addon out:nl-m-nd-h-hd +addon out:nl-t-m-nd-h-hd +addon out:nl-t-m-nd-h-hd-ta +addon out:nl-t-ya-m-nd-h-hd-ta +addon out:nl-t-yv-ya-m-nd-h-hd-ta +addon out:nl-t-yv-m-nd-h-hd-ta +addon out:nl-t-ya-m-nd-h-hd +addon out:nl-t-yv-ya-m-nd-h-hd +addon out:nl-t-yv-m-nd-h-hd +addon out:nl-m-nd-h-hd-ta +addon out:nl-ya-m-nd-h-hd-ta +addon out:nl-yv-ya-m-nd-h-hd-ta +addon out:nl-yv-m-nd-h-hd-ta +addon out:nl-ya-m-nd-h-hd +addon out:nl-yv-ya-m-nd-h-hd +addon out:nl-yv-m-nd-h-hd +addon out:t-m-nd-h-hd +addon out:t-m-nd-h-hd-ta +addon out:t-ya-m-nd-h-hd-ta +addon out:t-yv-ya-m-nd-h-hd-ta +addon out:t-yv-m-nd-h-hd-ta +addon out:t-ya-m-nd-h-hd +addon out:t-yv-ya-m-nd-h-hd +addon out:t-yv-m-nd-h-hd +addon out:m-nd-h-hd-ta +addon out:ya-m-nd-h-hd-ta +addon out:yv-ya-m-nd-h-hd-ta +addon out:yv-m-nd-h-hd-ta +addon out:ya-m-nd-h-hd +addon out:yv-ya-m-nd-h-hd +addon out:yv-m-nd-h-hd +addon out:nl-m-h-hd +addon out:nl-t-m-h-hd +addon out:nl-t-m-h-hd-ta +addon out:nl-t-ya-m-h-hd-ta +addon out:nl-t-yv-ya-m-h-hd-ta +addon out:nl-t-yv-m-h-hd-ta +addon out:nl-t-ya-m-h-hd +addon out:nl-t-yv-ya-m-h-hd +addon out:nl-t-yv-m-h-hd +addon out:nl-m-h-hd-ta +addon out:nl-ya-m-h-hd-ta +addon out:nl-yv-ya-m-h-hd-ta +addon out:nl-yv-m-h-hd-ta +addon out:nl-ya-m-h-hd +addon out:nl-yv-ya-m-h-hd +addon out:nl-yv-m-h-hd +addon out:t-m-h-hd +addon out:t-m-h-hd-ta +addon out:t-ya-m-h-hd-ta +addon out:t-yv-ya-m-h-hd-ta +addon out:t-yv-m-h-hd-ta +addon out:t-ya-m-h-hd +addon out:t-yv-ya-m-h-hd +addon out:t-yv-m-h-hd +addon out:m-h-hd-ta +addon out:ya-m-h-hd-ta +addon out:yv-ya-m-h-hd-ta +addon out:yv-m-h-hd-ta +addon out:ya-m-h-hd +addon out:yv-ya-m-h-hd +addon out:yv-m-h-hd +addon out:nd-h-hd +addon out:nl-nd-h-hd +addon out:nl-t-nd-h-hd +addon out:nl-t-nd-h-hd-ta +addon out:nl-t-ya-nd-h-hd-ta +addon out:nl-t-yv-ya-nd-h-hd-ta +addon out:nl-t-yv-nd-h-hd-ta +addon out:nl-t-ya-nd-h-hd +addon out:nl-t-yv-ya-nd-h-hd +addon out:nl-t-yv-nd-h-hd +addon out:nl-nd-h-hd-ta +addon out:nl-ya-nd-h-hd-ta +addon out:nl-yv-ya-nd-h-hd-ta +addon out:nl-yv-nd-h-hd-ta +addon out:nl-ya-nd-h-hd +addon out:nl-yv-ya-nd-h-hd +addon out:nl-yv-nd-h-hd +addon out:t-nd-h-hd +addon out:t-nd-h-hd-ta +addon out:t-ya-nd-h-hd-ta +addon out:t-yv-ya-nd-h-hd-ta +addon out:t-yv-nd-h-hd-ta +addon out:t-ya-nd-h-hd +addon out:t-yv-ya-nd-h-hd +addon out:t-yv-nd-h-hd +addon out:nd-h-hd-ta +addon out:ya-nd-h-hd-ta +addon out:yv-ya-nd-h-hd-ta +addon out:yv-nd-h-hd-ta +addon out:ya-nd-h-hd +addon out:yv-ya-nd-h-hd +addon out:yv-nd-h-hd +addon out:nl-h-hd +addon out:nl-t-h-hd +addon out:nl-t-h-hd-ta +addon out:nl-t-ya-h-hd-ta +addon out:nl-t-yv-ya-h-hd-ta +addon out:nl-t-yv-h-hd-ta +addon out:nl-t-ya-h-hd +addon out:nl-t-yv-ya-h-hd +addon out:nl-t-yv-h-hd +addon out:nl-h-hd-ta +addon out:nl-ya-h-hd-ta +addon out:nl-yv-ya-h-hd-ta +addon out:nl-yv-h-hd-ta +addon out:nl-ya-h-hd +addon out:nl-yv-ya-h-hd +addon out:nl-yv-h-hd +addon out:t-h-hd +addon out:t-h-hd-ta +addon out:t-ya-h-hd-ta +addon out:t-yv-ya-h-hd-ta +addon out:t-yv-h-hd-ta +addon out:t-ya-h-hd +addon out:t-yv-ya-h-hd +addon out:t-yv-h-hd +addon out:h-hd-ta +addon out:ya-h-hd-ta +addon out:yv-ya-h-hd-ta +addon out:yv-h-hd-ta +addon out:ya-h-hd +addon out:yv-ya-h-hd +addon out:yv-h-hd +addon out:l-h +addon out:m-l-h +addon out:m-nd-l-h +addon out:nl-m-nd-l-h +addon out:nl-t-m-nd-l-h +addon out:nl-t-m-nd-l-h-ta +addon out:nl-t-ya-m-nd-l-h-ta +addon out:nl-t-yv-ya-m-nd-l-h-ta +addon out:nl-t-yv-m-nd-l-h-ta +addon out:nl-t-ya-m-nd-l-h +addon out:nl-t-yv-ya-m-nd-l-h +addon out:nl-t-yv-m-nd-l-h +addon out:nl-m-nd-l-h-ta +addon out:nl-ya-m-nd-l-h-ta +addon out:nl-yv-ya-m-nd-l-h-ta +addon out:nl-yv-m-nd-l-h-ta +addon out:nl-ya-m-nd-l-h +addon out:nl-yv-ya-m-nd-l-h +addon out:nl-yv-m-nd-l-h +addon out:t-m-nd-l-h +addon out:t-m-nd-l-h-ta +addon out:t-ya-m-nd-l-h-ta +addon out:t-yv-ya-m-nd-l-h-ta +addon out:t-yv-m-nd-l-h-ta +addon out:t-ya-m-nd-l-h +addon out:t-yv-ya-m-nd-l-h +addon out:t-yv-m-nd-l-h +addon out:m-nd-l-h-ta +addon out:ya-m-nd-l-h-ta +addon out:yv-ya-m-nd-l-h-ta +addon out:yv-m-nd-l-h-ta +addon out:ya-m-nd-l-h +addon out:yv-ya-m-nd-l-h +addon out:yv-m-nd-l-h +addon out:nl-m-l-h +addon out:nl-t-m-l-h +addon out:nl-t-m-l-h-ta +addon out:nl-t-ya-m-l-h-ta +addon out:nl-t-yv-ya-m-l-h-ta +addon out:nl-t-yv-m-l-h-ta +addon out:nl-t-ya-m-l-h +addon out:nl-t-yv-ya-m-l-h +addon out:nl-t-yv-m-l-h +addon out:nl-m-l-h-ta +addon out:nl-ya-m-l-h-ta +addon out:nl-yv-ya-m-l-h-ta +addon out:nl-yv-m-l-h-ta +addon out:nl-ya-m-l-h +addon out:nl-yv-ya-m-l-h +addon out:nl-yv-m-l-h +addon out:t-m-l-h +addon out:t-m-l-h-ta +addon out:t-ya-m-l-h-ta +addon out:t-yv-ya-m-l-h-ta +addon out:t-yv-m-l-h-ta +addon out:t-ya-m-l-h +addon out:t-yv-ya-m-l-h +addon out:t-yv-m-l-h +addon out:m-l-h-ta +addon out:ya-m-l-h-ta +addon out:yv-ya-m-l-h-ta +addon out:yv-m-l-h-ta +addon out:ya-m-l-h +addon out:yv-ya-m-l-h +addon out:yv-m-l-h +addon out:nd-l-h +addon out:nl-nd-l-h +addon out:nl-t-nd-l-h +addon out:nl-t-nd-l-h-ta +addon out:nl-t-ya-nd-l-h-ta +addon out:nl-t-yv-ya-nd-l-h-ta +addon out:nl-t-yv-nd-l-h-ta +addon out:nl-t-ya-nd-l-h +addon out:nl-t-yv-ya-nd-l-h +addon out:nl-t-yv-nd-l-h +addon out:nl-nd-l-h-ta +addon out:nl-ya-nd-l-h-ta +addon out:nl-yv-ya-nd-l-h-ta +addon out:nl-yv-nd-l-h-ta +addon out:nl-ya-nd-l-h +addon out:nl-yv-ya-nd-l-h +addon out:nl-yv-nd-l-h +addon out:t-nd-l-h +addon out:t-nd-l-h-ta +addon out:t-ya-nd-l-h-ta +addon out:t-yv-ya-nd-l-h-ta +addon out:t-yv-nd-l-h-ta +addon out:t-ya-nd-l-h +addon out:t-yv-ya-nd-l-h +addon out:t-yv-nd-l-h +addon out:nd-l-h-ta +addon out:ya-nd-l-h-ta +addon out:yv-ya-nd-l-h-ta +addon out:yv-nd-l-h-ta +addon out:ya-nd-l-h +addon out:yv-ya-nd-l-h +addon out:yv-nd-l-h +addon out:nl-l-h +addon out:nl-t-l-h +addon out:nl-t-l-h-ta +addon out:nl-t-ya-l-h-ta +addon out:nl-t-yv-ya-l-h-ta +addon out:nl-t-yv-l-h-ta +addon out:nl-t-ya-l-h +addon out:nl-t-yv-ya-l-h +addon out:nl-t-yv-l-h +addon out:nl-l-h-ta +addon out:nl-ya-l-h-ta +addon out:nl-yv-ya-l-h-ta +addon out:nl-yv-l-h-ta +addon out:nl-ya-l-h +addon out:nl-yv-ya-l-h +addon out:nl-yv-l-h +addon out:t-l-h +addon out:t-l-h-ta +addon out:t-ya-l-h-ta +addon out:t-yv-ya-l-h-ta +addon out:t-yv-l-h-ta +addon out:t-ya-l-h +addon out:t-yv-ya-l-h +addon out:t-yv-l-h +addon out:l-h-ta +addon out:ya-l-h-ta +addon out:yv-ya-l-h-ta +addon out:yv-l-h-ta +addon out:ya-l-h +addon out:yv-ya-l-h +addon out:yv-l-h +addon out:m-h +addon out:m-nd-h +addon out:nl-m-nd-h +addon out:nl-t-m-nd-h +addon out:nl-t-m-nd-h-ta +addon out:nl-t-ya-m-nd-h-ta +addon out:nl-t-yv-ya-m-nd-h-ta +addon out:nl-t-yv-m-nd-h-ta +addon out:nl-t-ya-m-nd-h +addon out:nl-t-yv-ya-m-nd-h +addon out:nl-t-yv-m-nd-h +addon out:nl-m-nd-h-ta +addon out:nl-ya-m-nd-h-ta +addon out:nl-yv-ya-m-nd-h-ta +addon out:nl-yv-m-nd-h-ta +addon out:nl-ya-m-nd-h +addon out:nl-yv-ya-m-nd-h +addon out:nl-yv-m-nd-h +addon out:t-m-nd-h +addon out:t-m-nd-h-ta +addon out:t-ya-m-nd-h-ta +addon out:t-yv-ya-m-nd-h-ta +addon out:t-yv-m-nd-h-ta +addon out:t-ya-m-nd-h +addon out:t-yv-ya-m-nd-h +addon out:t-yv-m-nd-h +addon out:m-nd-h-ta +addon out:ya-m-nd-h-ta +addon out:yv-ya-m-nd-h-ta +addon out:yv-m-nd-h-ta +addon out:ya-m-nd-h +addon out:yv-ya-m-nd-h +addon out:yv-m-nd-h +addon out:nl-m-h +addon out:nl-t-m-h +addon out:nl-t-m-h-ta +addon out:nl-t-ya-m-h-ta +addon out:nl-t-yv-ya-m-h-ta +addon out:nl-t-yv-m-h-ta +addon out:nl-t-ya-m-h +addon out:nl-t-yv-ya-m-h +addon out:nl-t-yv-m-h +addon out:nl-m-h-ta +addon out:nl-ya-m-h-ta +addon out:nl-yv-ya-m-h-ta +addon out:nl-yv-m-h-ta +addon out:nl-ya-m-h +addon out:nl-yv-ya-m-h +addon out:nl-yv-m-h +addon out:t-m-h +addon out:t-m-h-ta +addon out:t-ya-m-h-ta +addon out:t-yv-ya-m-h-ta +addon out:t-yv-m-h-ta +addon out:t-ya-m-h +addon out:t-yv-ya-m-h +addon out:t-yv-m-h +addon out:m-h-ta +addon out:ya-m-h-ta +addon out:yv-ya-m-h-ta +addon out:yv-m-h-ta +addon out:ya-m-h +addon out:yv-ya-m-h +addon out:yv-m-h +addon out:nd-h +addon out:nl-nd-h +addon out:nl-t-nd-h +addon out:nl-t-nd-h-ta +addon out:nl-t-ya-nd-h-ta +addon out:nl-t-yv-ya-nd-h-ta +addon out:nl-t-yv-nd-h-ta +addon out:nl-t-ya-nd-h +addon out:nl-t-yv-ya-nd-h +addon out:nl-t-yv-nd-h +addon out:nl-nd-h-ta +addon out:nl-ya-nd-h-ta +addon out:nl-yv-ya-nd-h-ta +addon out:nl-yv-nd-h-ta +addon out:nl-ya-nd-h +addon out:nl-yv-ya-nd-h +addon out:nl-yv-nd-h +addon out:t-nd-h +addon out:t-nd-h-ta +addon out:t-ya-nd-h-ta +addon out:t-yv-ya-nd-h-ta +addon out:t-yv-nd-h-ta +addon out:t-ya-nd-h +addon out:t-yv-ya-nd-h +addon out:t-yv-nd-h +addon out:nd-h-ta +addon out:ya-nd-h-ta +addon out:yv-ya-nd-h-ta +addon out:yv-nd-h-ta +addon out:ya-nd-h +addon out:yv-ya-nd-h +addon out:yv-nd-h +addon out:nl-h +addon out:nl-t-h +addon out:nl-t-h-ta +addon out:nl-t-ya-h-ta +addon out:nl-t-yv-ya-h-ta +addon out:nl-t-yv-h-ta +addon out:nl-t-ya-h +addon out:nl-t-yv-ya-h +addon out:nl-t-yv-h +addon out:nl-h-ta +addon out:nl-ya-h-ta +addon out:nl-yv-ya-h-ta +addon out:nl-yv-h-ta +addon out:nl-ya-h +addon out:nl-yv-ya-h +addon out:nl-yv-h +addon out:t-h +addon out:t-h-ta +addon out:t-ya-h-ta +addon out:t-yv-ya-h-ta +addon out:t-yv-h-ta +addon out:t-ya-h +addon out:t-yv-ya-h +addon out:t-yv-h +addon out:h-ta +addon out:ya-h-ta +addon out:yv-ya-h-ta +addon out:yv-h-ta +addon out:ya-h +addon out:yv-ya-h +addon out:yv-h +addon out:hd +addon out:l-hd +addon out:m-l-hd +addon out:m-nd-l-hd +addon out:nl-m-nd-l-hd +addon out:nl-t-m-nd-l-hd +addon out:nl-t-m-nd-l-hd-ta +addon out:nl-t-ya-m-nd-l-hd-ta +addon out:nl-t-yv-ya-m-nd-l-hd-ta +addon out:nl-t-yv-m-nd-l-hd-ta +addon out:nl-t-ya-m-nd-l-hd +addon out:nl-t-yv-ya-m-nd-l-hd +addon out:nl-t-yv-m-nd-l-hd +addon out:nl-m-nd-l-hd-ta +addon out:nl-ya-m-nd-l-hd-ta +addon out:nl-yv-ya-m-nd-l-hd-ta +addon out:nl-yv-m-nd-l-hd-ta +addon out:nl-ya-m-nd-l-hd +addon out:nl-yv-ya-m-nd-l-hd +addon out:nl-yv-m-nd-l-hd +addon out:t-m-nd-l-hd +addon out:t-m-nd-l-hd-ta +addon out:t-ya-m-nd-l-hd-ta +addon out:t-yv-ya-m-nd-l-hd-ta +addon out:t-yv-m-nd-l-hd-ta +addon out:t-ya-m-nd-l-hd +addon out:t-yv-ya-m-nd-l-hd +addon out:t-yv-m-nd-l-hd +addon out:m-nd-l-hd-ta +addon out:ya-m-nd-l-hd-ta +addon out:yv-ya-m-nd-l-hd-ta +addon out:yv-m-nd-l-hd-ta +addon out:ya-m-nd-l-hd +addon out:yv-ya-m-nd-l-hd +addon out:yv-m-nd-l-hd +addon out:nl-m-l-hd +addon out:nl-t-m-l-hd +addon out:nl-t-m-l-hd-ta +addon out:nl-t-ya-m-l-hd-ta +addon out:nl-t-yv-ya-m-l-hd-ta +addon out:nl-t-yv-m-l-hd-ta +addon out:nl-t-ya-m-l-hd +addon out:nl-t-yv-ya-m-l-hd +addon out:nl-t-yv-m-l-hd +addon out:nl-m-l-hd-ta +addon out:nl-ya-m-l-hd-ta +addon out:nl-yv-ya-m-l-hd-ta +addon out:nl-yv-m-l-hd-ta +addon out:nl-ya-m-l-hd +addon out:nl-yv-ya-m-l-hd +addon out:nl-yv-m-l-hd +addon out:t-m-l-hd +addon out:t-m-l-hd-ta +addon out:t-ya-m-l-hd-ta +addon out:t-yv-ya-m-l-hd-ta +addon out:t-yv-m-l-hd-ta +addon out:t-ya-m-l-hd +addon out:t-yv-ya-m-l-hd +addon out:t-yv-m-l-hd +addon out:m-l-hd-ta +addon out:ya-m-l-hd-ta +addon out:yv-ya-m-l-hd-ta +addon out:yv-m-l-hd-ta +addon out:ya-m-l-hd +addon out:yv-ya-m-l-hd +addon out:yv-m-l-hd +addon out:nd-l-hd +addon out:nl-nd-l-hd +addon out:nl-t-nd-l-hd +addon out:nl-t-nd-l-hd-ta +addon out:nl-t-ya-nd-l-hd-ta +addon out:nl-t-yv-ya-nd-l-hd-ta +addon out:nl-t-yv-nd-l-hd-ta +addon out:nl-t-ya-nd-l-hd +addon out:nl-t-yv-ya-nd-l-hd +addon out:nl-t-yv-nd-l-hd +addon out:nl-nd-l-hd-ta +addon out:nl-ya-nd-l-hd-ta +addon out:nl-yv-ya-nd-l-hd-ta +addon out:nl-yv-nd-l-hd-ta +addon out:nl-ya-nd-l-hd +addon out:nl-yv-ya-nd-l-hd +addon out:nl-yv-nd-l-hd +addon out:t-nd-l-hd +addon out:t-nd-l-hd-ta +addon out:t-ya-nd-l-hd-ta +addon out:t-yv-ya-nd-l-hd-ta +addon out:t-yv-nd-l-hd-ta +addon out:t-ya-nd-l-hd +addon out:t-yv-ya-nd-l-hd +addon out:t-yv-nd-l-hd +addon out:nd-l-hd-ta +addon out:ya-nd-l-hd-ta +addon out:yv-ya-nd-l-hd-ta +addon out:yv-nd-l-hd-ta +addon out:ya-nd-l-hd +addon out:yv-ya-nd-l-hd +addon out:yv-nd-l-hd +addon out:nl-l-hd +addon out:nl-t-l-hd +addon out:nl-t-l-hd-ta +addon out:nl-t-ya-l-hd-ta +addon out:nl-t-yv-ya-l-hd-ta +addon out:nl-t-yv-l-hd-ta +addon out:nl-t-ya-l-hd +addon out:nl-t-yv-ya-l-hd +addon out:nl-t-yv-l-hd +addon out:nl-l-hd-ta +addon out:nl-ya-l-hd-ta +addon out:nl-yv-ya-l-hd-ta +addon out:nl-yv-l-hd-ta +addon out:nl-ya-l-hd +addon out:nl-yv-ya-l-hd +addon out:nl-yv-l-hd +addon out:t-l-hd +addon out:t-l-hd-ta +addon out:t-ya-l-hd-ta +addon out:t-yv-ya-l-hd-ta +addon out:t-yv-l-hd-ta +addon out:t-ya-l-hd +addon out:t-yv-ya-l-hd +addon out:t-yv-l-hd +addon out:l-hd-ta +addon out:ya-l-hd-ta +addon out:yv-ya-l-hd-ta +addon out:yv-l-hd-ta +addon out:ya-l-hd +addon out:yv-ya-l-hd +addon out:yv-l-hd +addon out:m-hd +addon out:m-nd-hd +addon out:nl-m-nd-hd +addon out:nl-t-m-nd-hd +addon out:nl-t-m-nd-hd-ta +addon out:nl-t-ya-m-nd-hd-ta +addon out:nl-t-yv-ya-m-nd-hd-ta +addon out:nl-t-yv-m-nd-hd-ta +addon out:nl-t-ya-m-nd-hd +addon out:nl-t-yv-ya-m-nd-hd +addon out:nl-t-yv-m-nd-hd +addon out:nl-m-nd-hd-ta +addon out:nl-ya-m-nd-hd-ta +addon out:nl-yv-ya-m-nd-hd-ta +addon out:nl-yv-m-nd-hd-ta +addon out:nl-ya-m-nd-hd +addon out:nl-yv-ya-m-nd-hd +addon out:nl-yv-m-nd-hd +addon out:t-m-nd-hd +addon out:t-m-nd-hd-ta +addon out:t-ya-m-nd-hd-ta +addon out:t-yv-ya-m-nd-hd-ta +addon out:t-yv-m-nd-hd-ta +addon out:t-ya-m-nd-hd +addon out:t-yv-ya-m-nd-hd +addon out:t-yv-m-nd-hd +addon out:m-nd-hd-ta +addon out:ya-m-nd-hd-ta +addon out:yv-ya-m-nd-hd-ta +addon out:yv-m-nd-hd-ta +addon out:ya-m-nd-hd +addon out:yv-ya-m-nd-hd +addon out:yv-m-nd-hd +addon out:nl-m-hd +addon out:nl-t-m-hd +addon out:nl-t-m-hd-ta +addon out:nl-t-ya-m-hd-ta +addon out:nl-t-yv-ya-m-hd-ta +addon out:nl-t-yv-m-hd-ta +addon out:nl-t-ya-m-hd +addon out:nl-t-yv-ya-m-hd +addon out:nl-t-yv-m-hd +addon out:nl-m-hd-ta +addon out:nl-ya-m-hd-ta +addon out:nl-yv-ya-m-hd-ta +addon out:nl-yv-m-hd-ta +addon out:nl-ya-m-hd +addon out:nl-yv-ya-m-hd +addon out:nl-yv-m-hd +addon out:t-m-hd +addon out:t-m-hd-ta +addon out:t-ya-m-hd-ta +addon out:t-yv-ya-m-hd-ta +addon out:t-yv-m-hd-ta +addon out:t-ya-m-hd +addon out:t-yv-ya-m-hd +addon out:t-yv-m-hd +addon out:m-hd-ta +addon out:ya-m-hd-ta +addon out:yv-ya-m-hd-ta +addon out:yv-m-hd-ta +addon out:ya-m-hd +addon out:yv-ya-m-hd +addon out:yv-m-hd +addon out:nd-hd +addon out:nl-nd-hd +addon out:nl-t-nd-hd +addon out:nl-t-nd-hd-ta +addon out:nl-t-ya-nd-hd-ta +addon out:nl-t-yv-ya-nd-hd-ta +addon out:nl-t-yv-nd-hd-ta +addon out:nl-t-ya-nd-hd +addon out:nl-t-yv-ya-nd-hd +addon out:nl-t-yv-nd-hd +addon out:nl-nd-hd-ta +addon out:nl-ya-nd-hd-ta +addon out:nl-yv-ya-nd-hd-ta +addon out:nl-yv-nd-hd-ta +addon out:nl-ya-nd-hd +addon out:nl-yv-ya-nd-hd +addon out:nl-yv-nd-hd +addon out:t-nd-hd +addon out:t-nd-hd-ta +addon out:t-ya-nd-hd-ta +addon out:t-yv-ya-nd-hd-ta +addon out:t-yv-nd-hd-ta +addon out:t-ya-nd-hd +addon out:t-yv-ya-nd-hd +addon out:t-yv-nd-hd +addon out:nd-hd-ta +addon out:ya-nd-hd-ta +addon out:yv-ya-nd-hd-ta +addon out:yv-nd-hd-ta +addon out:ya-nd-hd +addon out:yv-ya-nd-hd +addon out:yv-nd-hd +addon out:nl-hd +addon out:nl-t-hd +addon out:nl-t-hd-ta +addon out:nl-t-ya-hd-ta +addon out:nl-t-yv-ya-hd-ta +addon out:nl-t-yv-hd-ta +addon out:nl-t-ya-hd +addon out:nl-t-yv-ya-hd +addon out:nl-t-yv-hd +addon out:nl-hd-ta +addon out:nl-ya-hd-ta +addon out:nl-yv-ya-hd-ta +addon out:nl-yv-hd-ta +addon out:nl-ya-hd +addon out:nl-yv-ya-hd +addon out:nl-yv-hd +addon out:t-hd +addon out:t-hd-ta +addon out:t-ya-hd-ta +addon out:t-yv-ya-hd-ta +addon out:t-yv-hd-ta +addon out:t-ya-hd +addon out:t-yv-ya-hd +addon out:t-yv-hd +addon out:hd-ta +addon out:ya-hd-ta +addon out:yv-ya-hd-ta +addon out:yv-hd-ta +addon out:ya-hd +addon out:yv-ya-hd +addon out:yv-hd +addon out:l +addon out:m-l +addon out:m-nd-l +addon out:nl-m-nd-l +addon out:nl-t-m-nd-l +addon out:nl-t-m-nd-l-ta +addon out:nl-t-ya-m-nd-l-ta +addon out:nl-t-yv-ya-m-nd-l-ta +addon out:nl-t-yv-m-nd-l-ta +addon out:nl-t-ya-m-nd-l +addon out:nl-t-yv-ya-m-nd-l +addon out:nl-t-yv-m-nd-l +addon out:nl-m-nd-l-ta +addon out:nl-ya-m-nd-l-ta +addon out:nl-yv-ya-m-nd-l-ta +addon out:nl-yv-m-nd-l-ta +addon out:nl-ya-m-nd-l +addon out:nl-yv-ya-m-nd-l +addon out:nl-yv-m-nd-l +addon out:t-m-nd-l +addon out:t-m-nd-l-ta +addon out:t-ya-m-nd-l-ta +addon out:t-yv-ya-m-nd-l-ta +addon out:t-yv-m-nd-l-ta +addon out:t-ya-m-nd-l +addon out:t-yv-ya-m-nd-l +addon out:t-yv-m-nd-l +addon out:m-nd-l-ta +addon out:ya-m-nd-l-ta +addon out:yv-ya-m-nd-l-ta +addon out:yv-m-nd-l-ta +addon out:ya-m-nd-l +addon out:yv-ya-m-nd-l +addon out:yv-m-nd-l +addon out:nl-m-l +addon out:nl-t-m-l +addon out:nl-t-m-l-ta +addon out:nl-t-ya-m-l-ta +addon out:nl-t-yv-ya-m-l-ta +addon out:nl-t-yv-m-l-ta +addon out:nl-t-ya-m-l +addon out:nl-t-yv-ya-m-l +addon out:nl-t-yv-m-l +addon out:nl-m-l-ta +addon out:nl-ya-m-l-ta +addon out:nl-yv-ya-m-l-ta +addon out:nl-yv-m-l-ta +addon out:nl-ya-m-l +addon out:nl-yv-ya-m-l +addon out:nl-yv-m-l +addon out:t-m-l +addon out:t-m-l-ta +addon out:t-ya-m-l-ta +addon out:t-yv-ya-m-l-ta +addon out:t-yv-m-l-ta +addon out:t-ya-m-l +addon out:t-yv-ya-m-l +addon out:t-yv-m-l +addon out:m-l-ta +addon out:ya-m-l-ta +addon out:yv-ya-m-l-ta +addon out:yv-m-l-ta +addon out:ya-m-l +addon out:yv-ya-m-l +addon out:yv-m-l +addon out:nd-l +addon out:nl-nd-l +addon out:nl-t-nd-l +addon out:nl-t-nd-l-ta +addon out:nl-t-ya-nd-l-ta +addon out:nl-t-yv-ya-nd-l-ta +addon out:nl-t-yv-nd-l-ta +addon out:nl-t-ya-nd-l +addon out:nl-t-yv-ya-nd-l +addon out:nl-t-yv-nd-l +addon out:nl-nd-l-ta +addon out:nl-ya-nd-l-ta +addon out:nl-yv-ya-nd-l-ta +addon out:nl-yv-nd-l-ta +addon out:nl-ya-nd-l +addon out:nl-yv-ya-nd-l +addon out:nl-yv-nd-l +addon out:t-nd-l +addon out:t-nd-l-ta +addon out:t-ya-nd-l-ta +addon out:t-yv-ya-nd-l-ta +addon out:t-yv-nd-l-ta +addon out:t-ya-nd-l +addon out:t-yv-ya-nd-l +addon out:t-yv-nd-l +addon out:nd-l-ta +addon out:ya-nd-l-ta +addon out:yv-ya-nd-l-ta +addon out:yv-nd-l-ta +addon out:ya-nd-l +addon out:yv-ya-nd-l +addon out:yv-nd-l +addon out:nl-l +addon out:nl-t-l +addon out:nl-t-l-ta +addon out:nl-t-ya-l-ta +addon out:nl-t-yv-ya-l-ta +addon out:nl-t-yv-l-ta +addon out:nl-t-ya-l +addon out:nl-t-yv-ya-l +addon out:nl-t-yv-l +addon out:nl-l-ta +addon out:nl-ya-l-ta +addon out:nl-yv-ya-l-ta +addon out:nl-yv-l-ta +addon out:nl-ya-l +addon out:nl-yv-ya-l +addon out:nl-yv-l +addon out:t-l +addon out:t-l-ta +addon out:t-ya-l-ta +addon out:t-yv-ya-l-ta +addon out:t-yv-l-ta +addon out:t-ya-l +addon out:t-yv-ya-l +addon out:t-yv-l +addon out:l-ta +addon out:ya-l-ta +addon out:yv-ya-l-ta +addon out:yv-l-ta +addon out:ya-l +addon out:yv-ya-l +addon out:yv-l +addon out:m +addon out:m-nd +addon out:nl-m-nd +addon out:nl-t-m-nd +addon out:nl-t-m-nd-ta +addon out:nl-t-ya-m-nd-ta +addon out:nl-t-yv-ya-m-nd-ta +addon out:nl-t-yv-m-nd-ta +addon out:nl-t-ya-m-nd +addon out:nl-t-yv-ya-m-nd +addon out:nl-t-yv-m-nd +addon out:nl-m-nd-ta +addon out:nl-ya-m-nd-ta +addon out:nl-yv-ya-m-nd-ta +addon out:nl-yv-m-nd-ta +addon out:nl-ya-m-nd +addon out:nl-yv-ya-m-nd +addon out:nl-yv-m-nd +addon out:t-m-nd +addon out:t-m-nd-ta +addon out:t-ya-m-nd-ta +addon out:t-yv-ya-m-nd-ta +addon out:t-yv-m-nd-ta +addon out:t-ya-m-nd +addon out:t-yv-ya-m-nd +addon out:t-yv-m-nd +addon out:m-nd-ta +addon out:ya-m-nd-ta +addon out:yv-ya-m-nd-ta +addon out:yv-m-nd-ta +addon out:ya-m-nd +addon out:yv-ya-m-nd +addon out:yv-m-nd +addon out:nl-m +addon out:nl-t-m +addon out:nl-t-m-ta +addon out:nl-t-ya-m-ta +addon out:nl-t-yv-ya-m-ta +addon out:nl-t-yv-m-ta +addon out:nl-t-ya-m +addon out:nl-t-yv-ya-m +addon out:nl-t-yv-m +addon out:nl-m-ta +addon out:nl-ya-m-ta +addon out:nl-yv-ya-m-ta +addon out:nl-yv-m-ta +addon out:nl-ya-m +addon out:nl-yv-ya-m +addon out:nl-yv-m +addon out:t-m +addon out:t-m-ta +addon out:t-ya-m-ta +addon out:t-yv-ya-m-ta +addon out:t-yv-m-ta +addon out:t-ya-m +addon out:t-yv-ya-m +addon out:t-yv-m +addon out:m-ta +addon out:ya-m-ta +addon out:yv-ya-m-ta +addon out:yv-m-ta +addon out:ya-m +addon out:yv-ya-m +addon out:yv-m +addon out:nd +addon out:nl-nd +addon out:nl-t-nd +addon out:nl-t-nd-ta +addon out:nl-t-ya-nd-ta +addon out:nl-t-yv-ya-nd-ta +addon out:nl-t-yv-nd-ta +addon out:nl-t-ya-nd +addon out:nl-t-yv-ya-nd +addon out:nl-t-yv-nd +addon out:nl-nd-ta +addon out:nl-ya-nd-ta +addon out:nl-yv-ya-nd-ta +addon out:nl-yv-nd-ta +addon out:nl-ya-nd +addon out:nl-yv-ya-nd +addon out:nl-yv-nd +addon out:t-nd +addon out:t-nd-ta +addon out:t-ya-nd-ta +addon out:t-yv-ya-nd-ta +addon out:t-yv-nd-ta +addon out:t-ya-nd +addon out:t-yv-ya-nd +addon out:t-yv-nd +addon out:nd-ta +addon out:ya-nd-ta +addon out:yv-ya-nd-ta +addon out:yv-nd-ta +addon out:ya-nd +addon out:yv-ya-nd +addon out:yv-nd +addon out:nl +addon out:nl-t +addon out:nl-t-ta +addon out:nl-t-ya-ta +addon out:nl-t-yv-ya-ta +addon out:nl-t-yv-ta +addon out:nl-t-ya +addon out:nl-t-yv-ya +addon out:nl-t-yv +addon out:nl-ta +addon out:nl-ya-ta +addon out:nl-yv-ya-ta +addon out:nl-yv-ta +addon out:nl-ya +addon out:nl-yv-ya +addon out:nl-yv +addon out:t +addon out:t-ta +addon out:t-ya-ta +addon out:t-yv-ya-ta +addon out:t-yv-ta +addon out:t-ya +addon out:t-yv-ya +addon out:t-yv +addon out:ta +addon out:ya-ta +addon out:yv-ya-ta +addon out:yv-ta +addon out:ya +addon out:yv-ya +addon out:yv +addon potential: +addon potential:h +addon potential:m-h +addon potential:nl-m-h +addon potential:nl-t-m-h +addon potential:nl-t-m-h-ta +addon potential:nl-t-ya-m-h-ta +addon potential:nl-t-ya-m-h-ta-yv +addon potential:nl-t-m-h-ta-yv +addon potential:nl-t-ya-m-h +addon potential:nl-t-ya-m-h-yv +addon potential:nl-t-m-h-yv +addon potential:nl-m-h-ta +addon potential:nl-ya-m-h-ta +addon potential:nl-ya-m-h-ta-yv +addon potential:nl-m-h-ta-yv +addon potential:nl-ya-m-h +addon potential:nl-ya-m-h-yv +addon potential:nl-m-h-yv +addon potential:t-m-h +addon potential:t-m-h-ta +addon potential:t-ya-m-h-ta +addon potential:t-ya-m-h-ta-yv +addon potential:t-m-h-ta-yv +addon potential:t-ya-m-h +addon potential:t-ya-m-h-yv +addon potential:t-m-h-yv +addon potential:m-h-ta +addon potential:ya-m-h-ta +addon potential:ya-m-h-ta-yv +addon potential:m-h-ta-yv +addon potential:ya-m-h +addon potential:ya-m-h-yv +addon potential:m-h-yv +addon potential:nl-h +addon potential:nl-t-h +addon potential:nl-t-h-ta +addon potential:nl-t-ya-h-ta +addon potential:nl-t-ya-h-ta-yv +addon potential:nl-t-h-ta-yv +addon potential:nl-t-ya-h +addon potential:nl-t-ya-h-yv +addon potential:nl-t-h-yv +addon potential:nl-h-ta +addon potential:nl-ya-h-ta +addon potential:nl-ya-h-ta-yv +addon potential:nl-h-ta-yv +addon potential:nl-ya-h +addon potential:nl-ya-h-yv +addon potential:nl-h-yv +addon potential:t-h +addon potential:t-h-ta +addon potential:t-ya-h-ta +addon potential:t-ya-h-ta-yv +addon potential:t-h-ta-yv +addon potential:t-ya-h +addon potential:t-ya-h-yv +addon potential:t-h-yv +addon potential:h-ta +addon potential:ya-h-ta +addon potential:ya-h-ta-yv +addon potential:h-ta-yv +addon potential:ya-h +addon potential:ya-h-yv +addon potential:h-yv +addon potential:m +addon potential:nl-m +addon potential:nl-t-m +addon potential:nl-t-m-ta +addon potential:nl-t-ya-m-ta +addon potential:nl-t-ya-m-ta-yv +addon potential:nl-t-m-ta-yv +addon potential:nl-t-ya-m +addon potential:nl-t-ya-m-yv +addon potential:nl-t-m-yv +addon potential:nl-m-ta +addon potential:nl-ya-m-ta +addon potential:nl-ya-m-ta-yv +addon potential:nl-m-ta-yv +addon potential:nl-ya-m +addon potential:nl-ya-m-yv +addon potential:nl-m-yv +addon potential:t-m +addon potential:t-m-ta +addon potential:t-ya-m-ta +addon potential:t-ya-m-ta-yv +addon potential:t-m-ta-yv +addon potential:t-ya-m +addon potential:t-ya-m-yv +addon potential:t-m-yv +addon potential:m-ta +addon potential:ya-m-ta +addon potential:ya-m-ta-yv +addon potential:m-ta-yv +addon potential:ya-m +addon potential:ya-m-yv +addon potential:m-yv +addon potential:nl +addon potential:nl-t +addon potential:nl-t-ta +addon potential:nl-t-ya-ta +addon potential:nl-t-ya-ta-yv +addon potential:nl-t-ta-yv +addon potential:nl-t-ya +addon potential:nl-t-ya-yv +addon potential:nl-t-yv +addon potential:nl-ta +addon potential:nl-ya-ta +addon potential:nl-ya-ta-yv +addon potential:nl-ta-yv +addon potential:nl-ya +addon potential:nl-ya-yv +addon potential:nl-yv +addon potential:t +addon potential:t-ta +addon potential:t-ya-ta +addon potential:t-ya-ta-yv +addon potential:t-ta-yv +addon potential:t-ya +addon potential:t-ya-yv +addon potential:t-yv +addon potential:ta +addon potential:ya-ta +addon potential:ya-ta-yv +addon potential:ta-yv +addon potential:ya +addon potential:ya-yv +addon potential:yv +addon up:nl-t-ya-m-h-ta +addon_conversion: +addon_conversion:h +addon_conversion:m-h +addon_conversion:n-m-h +addon_conversion:n-t-m-h +addon_conversion:n-t-m-h-type_addon +addon_conversion:n-t-ya-m-h-type_addon +addon_conversion:n-t-yv-ya-m-h-type_addon +addon_conversion:n-t-yv-m-h-type_addon +addon_conversion:n-t-ya-m-h +addon_conversion:n-t-yv-ya-m-h +addon_conversion:n-t-yv-m-h +addon_conversion:n-m-h-type_addon +addon_conversion:n-ya-m-h-type_addon +addon_conversion:n-yv-ya-m-h-type_addon +addon_conversion:n-yv-m-h-type_addon +addon_conversion:n-ya-m-h +addon_conversion:n-yv-ya-m-h +addon_conversion:n-yv-m-h +addon_conversion:t-m-h +addon_conversion:t-m-h-type_addon +addon_conversion:t-ya-m-h-type_addon +addon_conversion:t-yv-ya-m-h-type_addon +addon_conversion:t-yv-m-h-type_addon +addon_conversion:t-ya-m-h +addon_conversion:t-yv-ya-m-h +addon_conversion:t-yv-m-h +addon_conversion:m-h-type_addon +addon_conversion:ya-m-h-type_addon +addon_conversion:yv-ya-m-h-type_addon +addon_conversion:yv-m-h-type_addon +addon_conversion:ya-m-h +addon_conversion:yv-ya-m-h +addon_conversion:yv-m-h +addon_conversion:n-h +addon_conversion:n-t-h +addon_conversion:n-t-h-type_addon +addon_conversion:n-t-ya-h-type_addon +addon_conversion:n-t-yv-ya-h-type_addon +addon_conversion:n-t-yv-h-type_addon +addon_conversion:n-t-ya-h +addon_conversion:n-t-yv-ya-h +addon_conversion:n-t-yv-h +addon_conversion:n-h-type_addon +addon_conversion:n-ya-h-type_addon +addon_conversion:n-yv-ya-h-type_addon +addon_conversion:n-yv-h-type_addon +addon_conversion:n-ya-h +addon_conversion:n-yv-ya-h +addon_conversion:n-yv-h +addon_conversion:t-h +addon_conversion:t-h-type_addon +addon_conversion:t-ya-h-type_addon +addon_conversion:t-yv-ya-h-type_addon +addon_conversion:t-yv-h-type_addon +addon_conversion:t-ya-h +addon_conversion:t-yv-ya-h +addon_conversion:t-yv-h +addon_conversion:h-type_addon +addon_conversion:ya-h-type_addon +addon_conversion:yv-ya-h-type_addon +addon_conversion:yv-h-type_addon +addon_conversion:ya-h +addon_conversion:yv-ya-h +addon_conversion:yv-h +addon_conversion:m +addon_conversion:n-m +addon_conversion:n-t-m +addon_conversion:n-t-m-type_addon +addon_conversion:n-t-ya-m-type_addon +addon_conversion:n-t-yv-ya-m-type_addon +addon_conversion:n-t-yv-m-type_addon +addon_conversion:n-t-ya-m +addon_conversion:n-t-yv-ya-m +addon_conversion:n-t-yv-m +addon_conversion:n-m-type_addon +addon_conversion:n-ya-m-type_addon +addon_conversion:n-yv-ya-m-type_addon +addon_conversion:n-yv-m-type_addon +addon_conversion:n-ya-m +addon_conversion:n-yv-ya-m +addon_conversion:n-yv-m +addon_conversion:t-m +addon_conversion:t-m-type_addon +addon_conversion:t-ya-m-type_addon +addon_conversion:t-yv-ya-m-type_addon +addon_conversion:t-yv-m-type_addon +addon_conversion:t-ya-m +addon_conversion:t-yv-ya-m +addon_conversion:t-yv-m +addon_conversion:m-type_addon +addon_conversion:ya-m-type_addon +addon_conversion:yv-ya-m-type_addon +addon_conversion:yv-m-type_addon +addon_conversion:ya-m +addon_conversion:yv-ya-m +addon_conversion:yv-m +addon_conversion:n +addon_conversion:n-t +addon_conversion:n-t-type_addon +addon_conversion:n-t-ya-type_addon +addon_conversion:n-t-yv-ya-type_addon +addon_conversion:n-t-yv-type_addon +addon_conversion:n-t-ya +addon_conversion:n-t-yv-ya +addon_conversion:n-t-yv +addon_conversion:n-type_addon +addon_conversion:n-ya-type_addon +addon_conversion:n-yv-ya-type_addon +addon_conversion:n-yv-type_addon +addon_conversion:n-ya +addon_conversion:n-yv-ya +addon_conversion:n-yv +addon_conversion:t +addon_conversion:t-type_addon +addon_conversion:t-ya-type_addon +addon_conversion:t-yv-ya-type_addon +addon_conversion:t-yv-type_addon +addon_conversion:t-ya +addon_conversion:t-yv-ya +addon_conversion:t-yv +addon_conversion:type_addon +addon_conversion:ya-type_addon +addon_conversion:yv-ya-type_addon +addon_conversion:yv-type_addon +addon_conversion:ya +addon_conversion:yv-ya +addon_conversion:yv +addon_lo: +addon_lo:h +addon_lo:m-h +addon_lo:n-m-h +addon_lo:n-t-m-h +addon_lo:n-t-m-h-type_addon +addon_lo:n-t-ya-m-h-type_addon +addon_lo:n-t-ya-m-h +addon_lo:n-m-h-type_addon +addon_lo:n-ya-m-h-type_addon +addon_lo:n-ya-m-h +addon_lo:t-m-h +addon_lo:t-m-h-type_addon +addon_lo:t-ya-m-h-type_addon +addon_lo:t-ya-m-h +addon_lo:m-h-type_addon +addon_lo:ya-m-h-type_addon +addon_lo:ya-m-h +addon_lo:n-h +addon_lo:n-t-h +addon_lo:n-t-h-type_addon +addon_lo:n-t-ya-h-type_addon +addon_lo:n-t-ya-h +addon_lo:n-h-type_addon +addon_lo:n-ya-h-type_addon +addon_lo:n-ya-h +addon_lo:t-h +addon_lo:t-h-type_addon +addon_lo:t-ya-h-type_addon +addon_lo:t-ya-h +addon_lo:h-type_addon +addon_lo:ya-h-type_addon +addon_lo:ya-h +addon_lo:m +addon_lo:n-m +addon_lo:n-t-m +addon_lo:n-t-m-type_addon +addon_lo:n-t-ya-m-type_addon +addon_lo:n-t-ya-m +addon_lo:n-m-type_addon +addon_lo:n-ya-m-type_addon +addon_lo:n-ya-m +addon_lo:t-m +addon_lo:t-m-type_addon +addon_lo:t-ya-m-type_addon +addon_lo:t-ya-m +addon_lo:m-type_addon +addon_lo:ya-m-type_addon +addon_lo:ya-m +addon_lo:n +addon_lo:n-t +addon_lo:n-t-type_addon +addon_lo:n-t-ya-type_addon +addon_lo:n-t-ya +addon_lo:n-type_addon +addon_lo:n-ya-type_addon +addon_lo:n-ya +addon_lo:t +addon_lo:t-type_addon +addon_lo:t-ya-type_addon +addon_lo:t-ya +addon_lo:type_addon +addon_lo:ya-type_addon +addon_lo:ya +addon_up: +addon_up:h +addon_up:m-h +addon_up:n-m-h +addon_up:n-t-m-h +addon_up:n-t-m-h-type_addon +addon_up:n-t-ya-m-h-type_addon +addon_up:n-t-ya-m-h +addon_up:n-m-h-type_addon +addon_up:n-ya-m-h-type_addon +addon_up:n-ya-m-h +addon_up:t-m-h +addon_up:t-m-h-type_addon +addon_up:t-ya-m-h-type_addon +addon_up:t-ya-m-h +addon_up:m-h-type_addon +addon_up:ya-m-h-type_addon +addon_up:ya-m-h +addon_up:n-h +addon_up:n-t-h +addon_up:n-t-h-type_addon +addon_up:n-t-ya-h-type_addon +addon_up:n-t-ya-h +addon_up:n-h-type_addon +addon_up:n-ya-h-type_addon +addon_up:n-ya-h +addon_up:t-h +addon_up:t-h-type_addon +addon_up:t-ya-h-type_addon +addon_up:t-ya-h +addon_up:h-type_addon +addon_up:ya-h-type_addon +addon_up:ya-h +addon_up:m +addon_up:n-m +addon_up:n-t-m +addon_up:n-t-m-type_addon +addon_up:n-t-ya-m-type_addon +addon_up:n-t-ya-m +addon_up:n-m-type_addon +addon_up:n-ya-m-type_addon +addon_up:n-ya-m +addon_up:t-m +addon_up:t-m-type_addon +addon_up:t-ya-m-type_addon +addon_up:t-ya-m +addon_up:m-type_addon +addon_up:ya-m-type_addon +addon_up:ya-m +addon_up:n +addon_up:n-t +addon_up:n-t-type_addon +addon_up:n-t-ya-type_addon +addon_up:n-t-ya +addon_up:n-type_addon +addon_up:n-ya-type_addon +addon_up:n-ya +addon_up:t +addon_up:t-type_addon +addon_up:t-ya-type_addon +addon_up:t-ya +addon_up:type_addon +addon_up:ya-type_addon +addon_up:ya +all +balance_equality +bound_activity_lo: +bound_activity_lo:h +bound_activity_lo:m-h +bound_activity_lo:nl-m-h +bound_activity_lo:nl-t-m-h +bound_activity_lo:nl-t-ya-m-h +bound_activity_lo:nl-ya-m-h +bound_activity_lo:t-m-h +bound_activity_lo:t-ya-m-h +bound_activity_lo:ya-m-h +bound_activity_lo:nl-h +bound_activity_lo:nl-t-h +bound_activity_lo:nl-t-ya-h +bound_activity_lo:nl-ya-h +bound_activity_lo:t-h +bound_activity_lo:t-ya-h +bound_activity_lo:ya-h +bound_activity_lo:m +bound_activity_lo:nl-m +bound_activity_lo:nl-t-m +bound_activity_lo:nl-t-ya-m +bound_activity_lo:nl-ya-m +bound_activity_lo:t-m +bound_activity_lo:t-ya-m +bound_activity_lo:ya-m +bound_activity_lo:nl +bound_activity_lo:nl-t +bound_activity_lo:nl-t-ya +bound_activity_lo:nl-ya +bound_activity_lo:t +bound_activity_lo:t-ya +bound_activity_lo:ya +bound_activity_up: +bound_activity_up:h +bound_activity_up:m-h +bound_activity_up:nl-m-h +bound_activity_up:nl-t-m-h +bound_activity_up:nl-t-ya-m-h +bound_activity_up:nl-ya-m-h +bound_activity_up:t-m-h +bound_activity_up:t-ya-m-h +bound_activity_up:ya-m-h +bound_activity_up:nl-h +bound_activity_up:nl-t-h +bound_activity_up:nl-t-ya-h +bound_activity_up:nl-ya-h +bound_activity_up:t-h +bound_activity_up:t-ya-h +bound_activity_up:ya-h +bound_activity_up:m +bound_activity_up:nl-m +bound_activity_up:nl-t-m +bound_activity_up:nl-t-ya-m +bound_activity_up:nl-ya-m +bound_activity_up:t-m +bound_activity_up:t-ya-m +bound_activity_up:ya-m +bound_activity_up:nl +bound_activity_up:nl-t +bound_activity_up:nl-t-ya +bound_activity_up:nl-ya +bound_activity_up:t +bound_activity_up:t-ya +bound_activity_up:ya +bound_emission: +bound_emission:n +bound_emission:n-type_emission +bound_emission:n-type_emission-type_tec +bound_emission:n-type_emission-type_tec-type_year +bound_emission:n-type_emission-type_year +bound_emission:n-type_tec +bound_emission:n-type_tec-type_year +bound_emission:n-type_year +bound_emission:type_emission +bound_emission:type_emission-type_tec +bound_emission:type_emission-type_tec-type_year +bound_emission:type_emission-type_year +bound_emission:type_tec +bound_emission:type_tec-type_year +bound_emission:type_year +bound_extraction_up: +bound_extraction_up:c +bound_extraction_up:c-g +bound_extraction_up:n-c-g +bound_extraction_up:n-c-g-y +bound_extraction_up:c-g-y +bound_extraction_up:n-c +bound_extraction_up:n-c-y +bound_extraction_up:c-y +bound_extraction_up:g +bound_extraction_up:n-g +bound_extraction_up:n-g-y +bound_extraction_up:g-y +bound_extraction_up:n +bound_extraction_up:n-y +bound_extraction_up:y +bound_new_capacity_lo: +bound_new_capacity_lo:nl +bound_new_capacity_lo:nl-t +bound_new_capacity_lo:nl-t-yv +bound_new_capacity_lo:nl-yv +bound_new_capacity_lo:t +bound_new_capacity_lo:t-yv +bound_new_capacity_lo:yv +bound_new_capacity_up: +bound_new_capacity_up:nl +bound_new_capacity_up:nl-t +bound_new_capacity_up:nl-t-yv +bound_new_capacity_up:nl-yv +bound_new_capacity_up:t +bound_new_capacity_up:t-yv +bound_new_capacity_up:yv +bound_total_capacity_lo: +bound_total_capacity_lo:nl +bound_total_capacity_lo:nl-t +bound_total_capacity_lo:nl-t-ya +bound_total_capacity_lo:nl-ya +bound_total_capacity_lo:t +bound_total_capacity_lo:t-ya +bound_total_capacity_lo:ya +bound_total_capacity_up: +bound_total_capacity_up:nl +bound_total_capacity_up:nl-t +bound_total_capacity_up:nl-t-ya +bound_total_capacity_up:nl-ya +bound_total_capacity_up:t +bound_total_capacity_up:t-ya +bound_total_capacity_up:ya +c +capacity_factor: +capacity_factor:h +capacity_factor:nl-h +capacity_factor:nl-t-h +capacity_factor:nl-t-ya-h +capacity_factor:nl-t-yv-ya-h +capacity_factor:nl-t-yv-h +capacity_factor:nl-ya-h +capacity_factor:nl-yv-ya-h +capacity_factor:nl-yv-h +capacity_factor:t-h +capacity_factor:t-ya-h +capacity_factor:t-yv-ya-h +capacity_factor:t-yv-h +capacity_factor:ya-h +capacity_factor:yv-ya-h +capacity_factor:yv-h +capacity_factor:nl +capacity_factor:nl-t +capacity_factor:nl-t-ya +capacity_factor:nl-t-yv-ya +capacity_factor:nl-t-yv +capacity_factor:nl-ya +capacity_factor:nl-yv-ya +capacity_factor:nl-yv +capacity_factor:t +capacity_factor:t-ya +capacity_factor:t-yv-ya +capacity_factor:t-yv +capacity_factor:ya +capacity_factor:yv-ya +capacity_factor:yv +cat_addon +cat_emission +cat_node +cat_relation +cat_tec +cat_year +commodity_stock: +commodity_stock:c +commodity_stock:c-l +commodity_stock:n-c-l +commodity_stock:n-c-l-y +commodity_stock:c-l-y +commodity_stock:n-c +commodity_stock:n-c-y +commodity_stock:c-y +commodity_stock:l +commodity_stock:n-l +commodity_stock:n-l-y +commodity_stock:l-y +commodity_stock:n +commodity_stock:n-y +commodity_stock:y +config +construction_time: +construction_time:nl +construction_time:nl-t +construction_time:nl-t-yv +construction_time:nl-yv +construction_time:t +construction_time:t-yv +construction_time:yv +demand: +demand:c +demand:c-h +demand:c-l-h +demand:n-c-l-h +demand:n-c-l-y-h +demand:c-l-y-h +demand:n-c-h +demand:n-c-y-h +demand:c-y-h +demand:c-l +demand:n-c-l +demand:n-c-l-y +demand:c-l-y +demand:n-c +demand:n-c-y +demand:c-y +demand:h +demand:l-h +demand:n-l-h +demand:n-l-y-h +demand:l-y-h +demand:n-h +demand:n-y-h +demand:y-h +demand:l +demand:n-l +demand:n-l-y +demand:l-y +demand:n +demand:n-y +demand:y +duration_period: +duration_period:y +duration_time: +duration_time:h +dynamic_land_lo: +dynamic_land_lo:n +dynamic_land_lo:n-s +dynamic_land_lo:n-s-u +dynamic_land_lo:n-s-y-u +dynamic_land_lo:n-s-y +dynamic_land_lo:n-u +dynamic_land_lo:n-y-u +dynamic_land_lo:n-y +dynamic_land_lo:s +dynamic_land_lo:s-u +dynamic_land_lo:s-y-u +dynamic_land_lo:s-y +dynamic_land_lo:u +dynamic_land_lo:y-u +dynamic_land_lo:y +dynamic_land_up: +dynamic_land_up:n +dynamic_land_up:n-s +dynamic_land_up:n-s-u +dynamic_land_up:n-s-y-u +dynamic_land_up:n-s-y +dynamic_land_up:n-u +dynamic_land_up:n-y-u +dynamic_land_up:n-y +dynamic_land_up:s +dynamic_land_up:s-u +dynamic_land_up:s-y-u +dynamic_land_up:s-y +dynamic_land_up:u +dynamic_land_up:y-u +dynamic_land_up:y +e +emi: +emi::pyam +emi:e +emi:e-h +emi:m-e-h +emi:nl-m-e-h +emi:nl-t-m-e-h +emi:nl-t-ya-m-e-h +emi:nl-t-yv-ya-m-e-h +emi:nl-t-yv-m-e-h +emi:nl-ya-m-e-h +emi:nl-yv-ya-m-e-h +emi:nl-yv-m-e-h +emi:t-m-e-h +emi:t-ya-m-e-h +emi:t-yv-ya-m-e-h +emi:t-yv-m-e-h +emi:ya-m-e-h +emi:yv-ya-m-e-h +emi:yv-m-e-h +emi:nl-e-h +emi:nl-t-e-h +emi:nl-t-ya-e-h +emi:nl-t-yv-ya-e-h +emi:nl-t-yv-e-h +emi:nl-ya-e-h +emi:nl-yv-ya-e-h +emi:nl-yv-e-h +emi:t-e-h +emi:t-ya-e-h +emi:t-yv-ya-e-h +emi:t-yv-e-h +emi:ya-e-h +emi:yv-ya-e-h +emi:yv-e-h +emi:m-e +emi:nl-m-e +emi:nl-t-m-e +emi:nl-t-ya-m-e +emi:nl-t-yv-ya-m-e +emi:nl-t-yv-m-e +emi:nl-ya-m-e +emi:nl-yv-ya-m-e +emi:nl-yv-m-e +emi:t-m-e +emi:t-ya-m-e +emi:t-yv-ya-m-e +emi:t-yv-m-e +emi:ya-m-e +emi:yv-ya-m-e +emi:yv-m-e +emi:nl-e +emi:nl-t-e +emi:nl-t-ya-e +emi:nl-t-yv-ya-e +emi:nl-t-yv-e +emi:nl-ya-e +emi:nl-yv-ya-e +emi:nl-yv-e +emi:t-e +emi:t-ya-e +emi:t-yv-ya-e +emi:t-yv-e +emi:ya-e +emi:yv-ya-e +emi:yv-e +emi:h +emi:m-h +emi:nl-m-h +emi:nl-t-m-h +emi:nl-t-ya-m-h +emi:nl-t-yv-ya-m-h +emi:nl-t-yv-m-h +emi:nl-ya-m-h +emi:nl-yv-ya-m-h +emi:nl-yv-m-h +emi:t-m-h +emi:t-ya-m-h +emi:t-yv-ya-m-h +emi:t-yv-m-h +emi:ya-m-h +emi:yv-ya-m-h +emi:yv-m-h +emi:nl-h +emi:nl-t-h +emi:nl-t-ya-h +emi:nl-t-yv-ya-h +emi:nl-t-yv-h +emi:nl-ya-h +emi:nl-yv-ya-h +emi:nl-yv-h +emi:t-h +emi:t-ya-h +emi:t-yv-ya-h +emi:t-yv-h +emi:ya-h +emi:yv-ya-h +emi:yv-h +emi:m +emi:nl-m +emi:nl-t-m +emi:nl-t-ya-m +emi:nl-t-yv-ya-m +emi:nl-t-yv-m +emi:nl-ya-m +emi:nl-yv-ya-m +emi:nl-yv-m +emi:t-m +emi:t-ya-m +emi:t-yv-ya-m +emi:t-yv-m +emi:ya-m +emi:yv-ya-m +emi:yv-m +emi:nl +emi:nl-t +emi:nl-t-ya +emi:nl-t-yv-ya +emi:nl-t-yv +emi:nl-ya +emi:nl-yv-ya +emi:nl-yv +emi:t +emi:t-ya +emi:t-yv-ya +emi:t-yv +emi:ya +emi:yv-ya +emi:yv +emission_factor: +emission_factor:e +emission_factor:m-e +emission_factor:nl-m-e +emission_factor:nl-t-m-e +emission_factor:nl-t-ya-m-e +emission_factor:nl-t-yv-ya-m-e +emission_factor:nl-t-yv-m-e +emission_factor:nl-ya-m-e +emission_factor:nl-yv-ya-m-e +emission_factor:nl-yv-m-e +emission_factor:t-m-e +emission_factor:t-ya-m-e +emission_factor:t-yv-ya-m-e +emission_factor:t-yv-m-e +emission_factor:ya-m-e +emission_factor:yv-ya-m-e +emission_factor:yv-m-e +emission_factor:nl-e +emission_factor:nl-t-e +emission_factor:nl-t-ya-e +emission_factor:nl-t-yv-ya-e +emission_factor:nl-t-yv-e +emission_factor:nl-ya-e +emission_factor:nl-yv-ya-e +emission_factor:nl-yv-e +emission_factor:t-e +emission_factor:t-ya-e +emission_factor:t-yv-ya-e +emission_factor:t-yv-e +emission_factor:ya-e +emission_factor:yv-ya-e +emission_factor:yv-e +emission_factor:m +emission_factor:nl-m +emission_factor:nl-t-m +emission_factor:nl-t-ya-m +emission_factor:nl-t-yv-ya-m +emission_factor:nl-t-yv-m +emission_factor:nl-ya-m +emission_factor:nl-yv-ya-m +emission_factor:nl-yv-m +emission_factor:t-m +emission_factor:t-ya-m +emission_factor:t-yv-ya-m +emission_factor:t-yv-m +emission_factor:ya-m +emission_factor:yv-ya-m +emission_factor:yv-m +emission_factor:nl +emission_factor:nl-t +emission_factor:nl-t-ya +emission_factor:nl-t-yv-ya +emission_factor:nl-t-yv +emission_factor:nl-ya +emission_factor:nl-yv-ya +emission_factor:nl-yv +emission_factor:t +emission_factor:t-ya +emission_factor:t-yv-ya +emission_factor:t-yv +emission_factor:ya +emission_factor:yv-ya +emission_factor:yv +emission_scaling: +emission_scaling:e +emission_scaling:type_emission-e +emission_scaling:type_emission +fix_cost: +fix_cost:nl +fix_cost:nl-t +fix_cost:nl-t-ya +fix_cost:nl-t-yv-ya +fix_cost:nl-t-yv +fix_cost:nl-ya +fix_cost:nl-yv-ya +fix_cost:nl-yv +fix_cost:t +fix_cost:t-ya +fix_cost:t-yv-ya +fix_cost:t-yv +fix_cost:ya +fix_cost:yv-ya +fix_cost:yv +fixed_activity: +fixed_activity:h +fixed_activity:m-h +fixed_activity:nl-m-h +fixed_activity:nl-t-m-h +fixed_activity:nl-t-ya-m-h +fixed_activity:nl-t-yv-ya-m-h +fixed_activity:nl-t-yv-m-h +fixed_activity:nl-ya-m-h +fixed_activity:nl-yv-ya-m-h +fixed_activity:nl-yv-m-h +fixed_activity:t-m-h +fixed_activity:t-ya-m-h +fixed_activity:t-yv-ya-m-h +fixed_activity:t-yv-m-h +fixed_activity:ya-m-h +fixed_activity:yv-ya-m-h +fixed_activity:yv-m-h +fixed_activity:nl-h +fixed_activity:nl-t-h +fixed_activity:nl-t-ya-h +fixed_activity:nl-t-yv-ya-h +fixed_activity:nl-t-yv-h +fixed_activity:nl-ya-h +fixed_activity:nl-yv-ya-h +fixed_activity:nl-yv-h +fixed_activity:t-h +fixed_activity:t-ya-h +fixed_activity:t-yv-ya-h +fixed_activity:t-yv-h +fixed_activity:ya-h +fixed_activity:yv-ya-h +fixed_activity:yv-h +fixed_activity:m +fixed_activity:nl-m +fixed_activity:nl-t-m +fixed_activity:nl-t-ya-m +fixed_activity:nl-t-yv-ya-m +fixed_activity:nl-t-yv-m +fixed_activity:nl-ya-m +fixed_activity:nl-yv-ya-m +fixed_activity:nl-yv-m +fixed_activity:t-m +fixed_activity:t-ya-m +fixed_activity:t-yv-ya-m +fixed_activity:t-yv-m +fixed_activity:ya-m +fixed_activity:yv-ya-m +fixed_activity:yv-m +fixed_activity:nl +fixed_activity:nl-t +fixed_activity:nl-t-ya +fixed_activity:nl-t-yv-ya +fixed_activity:nl-t-yv +fixed_activity:nl-ya +fixed_activity:nl-yv-ya +fixed_activity:nl-yv +fixed_activity:t +fixed_activity:t-ya +fixed_activity:t-yv-ya +fixed_activity:t-yv +fixed_activity:ya +fixed_activity:yv-ya +fixed_activity:yv +fixed_capacity: +fixed_capacity:nl +fixed_capacity:nl-t +fixed_capacity:nl-t-ya +fixed_capacity:nl-t-yv-ya +fixed_capacity:nl-t-yv +fixed_capacity:nl-ya +fixed_capacity:nl-yv-ya +fixed_capacity:nl-yv +fixed_capacity:t +fixed_capacity:t-ya +fixed_capacity:t-yv-ya +fixed_capacity:t-yv +fixed_capacity:ya +fixed_capacity:yv-ya +fixed_capacity:yv +fixed_extraction: +fixed_extraction:c +fixed_extraction:c-g +fixed_extraction:n-c-g +fixed_extraction:n-c-g-y +fixed_extraction:c-g-y +fixed_extraction:n-c +fixed_extraction:n-c-y +fixed_extraction:c-y +fixed_extraction:g +fixed_extraction:n-g +fixed_extraction:n-g-y +fixed_extraction:g-y +fixed_extraction:n +fixed_extraction:n-y +fixed_extraction:y +fixed_land: +fixed_land:n +fixed_land:n-s +fixed_land:n-s-y +fixed_land:n-y +fixed_land:s +fixed_land:s-y +fixed_land:y +fixed_new_capacity: +fixed_new_capacity:nl +fixed_new_capacity:nl-t +fixed_new_capacity:nl-t-yv +fixed_new_capacity:nl-yv +fixed_new_capacity:t +fixed_new_capacity:t-yv +fixed_new_capacity:yv +fixed_stock: +fixed_stock:c +fixed_stock:c-l +fixed_stock:n-c-l +fixed_stock:n-c-l-y +fixed_stock:c-l-y +fixed_stock:n-c +fixed_stock:n-c-y +fixed_stock:c-y +fixed_stock:l +fixed_stock:n-l +fixed_stock:n-l-y +fixed_stock:l-y +fixed_stock:n +fixed_stock:n-y +fixed_stock:y +flexibility_factor: +flexibility_factor:c +flexibility_factor:c-h +flexibility_factor:c-l-h +flexibility_factor:m-c-l-h +flexibility_factor:nl-m-c-l-h +flexibility_factor:nl-m-c-l-h-q +flexibility_factor:nl-t-m-c-l-h-q +flexibility_factor:nl-t-ya-m-c-l-h-q +flexibility_factor:nl-t-yv-ya-m-c-l-h-q +flexibility_factor:nl-t-yv-m-c-l-h-q +flexibility_factor:nl-ya-m-c-l-h-q +flexibility_factor:nl-yv-ya-m-c-l-h-q +flexibility_factor:nl-yv-m-c-l-h-q +flexibility_factor:nl-t-m-c-l-h +flexibility_factor:nl-t-ya-m-c-l-h +flexibility_factor:nl-t-yv-ya-m-c-l-h +flexibility_factor:nl-t-yv-m-c-l-h +flexibility_factor:nl-ya-m-c-l-h +flexibility_factor:nl-yv-ya-m-c-l-h +flexibility_factor:nl-yv-m-c-l-h +flexibility_factor:m-c-l-h-q +flexibility_factor:t-m-c-l-h-q +flexibility_factor:t-ya-m-c-l-h-q +flexibility_factor:t-yv-ya-m-c-l-h-q +flexibility_factor:t-yv-m-c-l-h-q +flexibility_factor:ya-m-c-l-h-q +flexibility_factor:yv-ya-m-c-l-h-q +flexibility_factor:yv-m-c-l-h-q +flexibility_factor:t-m-c-l-h +flexibility_factor:t-ya-m-c-l-h +flexibility_factor:t-yv-ya-m-c-l-h +flexibility_factor:t-yv-m-c-l-h +flexibility_factor:ya-m-c-l-h +flexibility_factor:yv-ya-m-c-l-h +flexibility_factor:yv-m-c-l-h +flexibility_factor:nl-c-l-h +flexibility_factor:nl-c-l-h-q +flexibility_factor:nl-t-c-l-h-q +flexibility_factor:nl-t-ya-c-l-h-q +flexibility_factor:nl-t-yv-ya-c-l-h-q +flexibility_factor:nl-t-yv-c-l-h-q +flexibility_factor:nl-ya-c-l-h-q +flexibility_factor:nl-yv-ya-c-l-h-q +flexibility_factor:nl-yv-c-l-h-q +flexibility_factor:nl-t-c-l-h +flexibility_factor:nl-t-ya-c-l-h +flexibility_factor:nl-t-yv-ya-c-l-h +flexibility_factor:nl-t-yv-c-l-h +flexibility_factor:nl-ya-c-l-h +flexibility_factor:nl-yv-ya-c-l-h +flexibility_factor:nl-yv-c-l-h +flexibility_factor:c-l-h-q +flexibility_factor:t-c-l-h-q +flexibility_factor:t-ya-c-l-h-q +flexibility_factor:t-yv-ya-c-l-h-q +flexibility_factor:t-yv-c-l-h-q +flexibility_factor:ya-c-l-h-q +flexibility_factor:yv-ya-c-l-h-q +flexibility_factor:yv-c-l-h-q +flexibility_factor:t-c-l-h +flexibility_factor:t-ya-c-l-h +flexibility_factor:t-yv-ya-c-l-h +flexibility_factor:t-yv-c-l-h +flexibility_factor:ya-c-l-h +flexibility_factor:yv-ya-c-l-h +flexibility_factor:yv-c-l-h +flexibility_factor:m-c-h +flexibility_factor:nl-m-c-h +flexibility_factor:nl-m-c-h-q +flexibility_factor:nl-t-m-c-h-q +flexibility_factor:nl-t-ya-m-c-h-q +flexibility_factor:nl-t-yv-ya-m-c-h-q +flexibility_factor:nl-t-yv-m-c-h-q +flexibility_factor:nl-ya-m-c-h-q +flexibility_factor:nl-yv-ya-m-c-h-q +flexibility_factor:nl-yv-m-c-h-q +flexibility_factor:nl-t-m-c-h +flexibility_factor:nl-t-ya-m-c-h +flexibility_factor:nl-t-yv-ya-m-c-h +flexibility_factor:nl-t-yv-m-c-h +flexibility_factor:nl-ya-m-c-h +flexibility_factor:nl-yv-ya-m-c-h +flexibility_factor:nl-yv-m-c-h +flexibility_factor:m-c-h-q +flexibility_factor:t-m-c-h-q +flexibility_factor:t-ya-m-c-h-q +flexibility_factor:t-yv-ya-m-c-h-q +flexibility_factor:t-yv-m-c-h-q +flexibility_factor:ya-m-c-h-q +flexibility_factor:yv-ya-m-c-h-q +flexibility_factor:yv-m-c-h-q +flexibility_factor:t-m-c-h +flexibility_factor:t-ya-m-c-h +flexibility_factor:t-yv-ya-m-c-h +flexibility_factor:t-yv-m-c-h +flexibility_factor:ya-m-c-h +flexibility_factor:yv-ya-m-c-h +flexibility_factor:yv-m-c-h +flexibility_factor:nl-c-h +flexibility_factor:nl-c-h-q +flexibility_factor:nl-t-c-h-q +flexibility_factor:nl-t-ya-c-h-q +flexibility_factor:nl-t-yv-ya-c-h-q +flexibility_factor:nl-t-yv-c-h-q +flexibility_factor:nl-ya-c-h-q +flexibility_factor:nl-yv-ya-c-h-q +flexibility_factor:nl-yv-c-h-q +flexibility_factor:nl-t-c-h +flexibility_factor:nl-t-ya-c-h +flexibility_factor:nl-t-yv-ya-c-h +flexibility_factor:nl-t-yv-c-h +flexibility_factor:nl-ya-c-h +flexibility_factor:nl-yv-ya-c-h +flexibility_factor:nl-yv-c-h +flexibility_factor:c-h-q +flexibility_factor:t-c-h-q +flexibility_factor:t-ya-c-h-q +flexibility_factor:t-yv-ya-c-h-q +flexibility_factor:t-yv-c-h-q +flexibility_factor:ya-c-h-q +flexibility_factor:yv-ya-c-h-q +flexibility_factor:yv-c-h-q +flexibility_factor:t-c-h +flexibility_factor:t-ya-c-h +flexibility_factor:t-yv-ya-c-h +flexibility_factor:t-yv-c-h +flexibility_factor:ya-c-h +flexibility_factor:yv-ya-c-h +flexibility_factor:yv-c-h +flexibility_factor:c-l +flexibility_factor:m-c-l +flexibility_factor:nl-m-c-l +flexibility_factor:nl-m-c-l-q +flexibility_factor:nl-t-m-c-l-q +flexibility_factor:nl-t-ya-m-c-l-q +flexibility_factor:nl-t-yv-ya-m-c-l-q +flexibility_factor:nl-t-yv-m-c-l-q +flexibility_factor:nl-ya-m-c-l-q +flexibility_factor:nl-yv-ya-m-c-l-q +flexibility_factor:nl-yv-m-c-l-q +flexibility_factor:nl-t-m-c-l +flexibility_factor:nl-t-ya-m-c-l +flexibility_factor:nl-t-yv-ya-m-c-l +flexibility_factor:nl-t-yv-m-c-l +flexibility_factor:nl-ya-m-c-l +flexibility_factor:nl-yv-ya-m-c-l +flexibility_factor:nl-yv-m-c-l +flexibility_factor:m-c-l-q +flexibility_factor:t-m-c-l-q +flexibility_factor:t-ya-m-c-l-q +flexibility_factor:t-yv-ya-m-c-l-q +flexibility_factor:t-yv-m-c-l-q +flexibility_factor:ya-m-c-l-q +flexibility_factor:yv-ya-m-c-l-q +flexibility_factor:yv-m-c-l-q +flexibility_factor:t-m-c-l +flexibility_factor:t-ya-m-c-l +flexibility_factor:t-yv-ya-m-c-l +flexibility_factor:t-yv-m-c-l +flexibility_factor:ya-m-c-l +flexibility_factor:yv-ya-m-c-l +flexibility_factor:yv-m-c-l +flexibility_factor:nl-c-l +flexibility_factor:nl-c-l-q +flexibility_factor:nl-t-c-l-q +flexibility_factor:nl-t-ya-c-l-q +flexibility_factor:nl-t-yv-ya-c-l-q +flexibility_factor:nl-t-yv-c-l-q +flexibility_factor:nl-ya-c-l-q +flexibility_factor:nl-yv-ya-c-l-q +flexibility_factor:nl-yv-c-l-q +flexibility_factor:nl-t-c-l +flexibility_factor:nl-t-ya-c-l +flexibility_factor:nl-t-yv-ya-c-l +flexibility_factor:nl-t-yv-c-l +flexibility_factor:nl-ya-c-l +flexibility_factor:nl-yv-ya-c-l +flexibility_factor:nl-yv-c-l +flexibility_factor:c-l-q +flexibility_factor:t-c-l-q +flexibility_factor:t-ya-c-l-q +flexibility_factor:t-yv-ya-c-l-q +flexibility_factor:t-yv-c-l-q +flexibility_factor:ya-c-l-q +flexibility_factor:yv-ya-c-l-q +flexibility_factor:yv-c-l-q +flexibility_factor:t-c-l +flexibility_factor:t-ya-c-l +flexibility_factor:t-yv-ya-c-l +flexibility_factor:t-yv-c-l +flexibility_factor:ya-c-l +flexibility_factor:yv-ya-c-l +flexibility_factor:yv-c-l +flexibility_factor:m-c +flexibility_factor:nl-m-c +flexibility_factor:nl-m-c-q +flexibility_factor:nl-t-m-c-q +flexibility_factor:nl-t-ya-m-c-q +flexibility_factor:nl-t-yv-ya-m-c-q +flexibility_factor:nl-t-yv-m-c-q +flexibility_factor:nl-ya-m-c-q +flexibility_factor:nl-yv-ya-m-c-q +flexibility_factor:nl-yv-m-c-q +flexibility_factor:nl-t-m-c +flexibility_factor:nl-t-ya-m-c +flexibility_factor:nl-t-yv-ya-m-c +flexibility_factor:nl-t-yv-m-c +flexibility_factor:nl-ya-m-c +flexibility_factor:nl-yv-ya-m-c +flexibility_factor:nl-yv-m-c +flexibility_factor:m-c-q +flexibility_factor:t-m-c-q +flexibility_factor:t-ya-m-c-q +flexibility_factor:t-yv-ya-m-c-q +flexibility_factor:t-yv-m-c-q +flexibility_factor:ya-m-c-q +flexibility_factor:yv-ya-m-c-q +flexibility_factor:yv-m-c-q +flexibility_factor:t-m-c +flexibility_factor:t-ya-m-c +flexibility_factor:t-yv-ya-m-c +flexibility_factor:t-yv-m-c +flexibility_factor:ya-m-c +flexibility_factor:yv-ya-m-c +flexibility_factor:yv-m-c +flexibility_factor:nl-c +flexibility_factor:nl-c-q +flexibility_factor:nl-t-c-q +flexibility_factor:nl-t-ya-c-q +flexibility_factor:nl-t-yv-ya-c-q +flexibility_factor:nl-t-yv-c-q +flexibility_factor:nl-ya-c-q +flexibility_factor:nl-yv-ya-c-q +flexibility_factor:nl-yv-c-q +flexibility_factor:nl-t-c +flexibility_factor:nl-t-ya-c +flexibility_factor:nl-t-yv-ya-c +flexibility_factor:nl-t-yv-c +flexibility_factor:nl-ya-c +flexibility_factor:nl-yv-ya-c +flexibility_factor:nl-yv-c +flexibility_factor:c-q +flexibility_factor:t-c-q +flexibility_factor:t-ya-c-q +flexibility_factor:t-yv-ya-c-q +flexibility_factor:t-yv-c-q +flexibility_factor:ya-c-q +flexibility_factor:yv-ya-c-q +flexibility_factor:yv-c-q +flexibility_factor:t-c +flexibility_factor:t-ya-c +flexibility_factor:t-yv-ya-c +flexibility_factor:t-yv-c +flexibility_factor:ya-c +flexibility_factor:yv-ya-c +flexibility_factor:yv-c +flexibility_factor:h +flexibility_factor:l-h +flexibility_factor:m-l-h +flexibility_factor:nl-m-l-h +flexibility_factor:nl-m-l-h-q +flexibility_factor:nl-t-m-l-h-q +flexibility_factor:nl-t-ya-m-l-h-q +flexibility_factor:nl-t-yv-ya-m-l-h-q +flexibility_factor:nl-t-yv-m-l-h-q +flexibility_factor:nl-ya-m-l-h-q +flexibility_factor:nl-yv-ya-m-l-h-q +flexibility_factor:nl-yv-m-l-h-q +flexibility_factor:nl-t-m-l-h +flexibility_factor:nl-t-ya-m-l-h +flexibility_factor:nl-t-yv-ya-m-l-h +flexibility_factor:nl-t-yv-m-l-h +flexibility_factor:nl-ya-m-l-h +flexibility_factor:nl-yv-ya-m-l-h +flexibility_factor:nl-yv-m-l-h +flexibility_factor:m-l-h-q +flexibility_factor:t-m-l-h-q +flexibility_factor:t-ya-m-l-h-q +flexibility_factor:t-yv-ya-m-l-h-q +flexibility_factor:t-yv-m-l-h-q +flexibility_factor:ya-m-l-h-q +flexibility_factor:yv-ya-m-l-h-q +flexibility_factor:yv-m-l-h-q +flexibility_factor:t-m-l-h +flexibility_factor:t-ya-m-l-h +flexibility_factor:t-yv-ya-m-l-h +flexibility_factor:t-yv-m-l-h +flexibility_factor:ya-m-l-h +flexibility_factor:yv-ya-m-l-h +flexibility_factor:yv-m-l-h +flexibility_factor:nl-l-h +flexibility_factor:nl-l-h-q +flexibility_factor:nl-t-l-h-q +flexibility_factor:nl-t-ya-l-h-q +flexibility_factor:nl-t-yv-ya-l-h-q +flexibility_factor:nl-t-yv-l-h-q +flexibility_factor:nl-ya-l-h-q +flexibility_factor:nl-yv-ya-l-h-q +flexibility_factor:nl-yv-l-h-q +flexibility_factor:nl-t-l-h +flexibility_factor:nl-t-ya-l-h +flexibility_factor:nl-t-yv-ya-l-h +flexibility_factor:nl-t-yv-l-h +flexibility_factor:nl-ya-l-h +flexibility_factor:nl-yv-ya-l-h +flexibility_factor:nl-yv-l-h +flexibility_factor:l-h-q +flexibility_factor:t-l-h-q +flexibility_factor:t-ya-l-h-q +flexibility_factor:t-yv-ya-l-h-q +flexibility_factor:t-yv-l-h-q +flexibility_factor:ya-l-h-q +flexibility_factor:yv-ya-l-h-q +flexibility_factor:yv-l-h-q +flexibility_factor:t-l-h +flexibility_factor:t-ya-l-h +flexibility_factor:t-yv-ya-l-h +flexibility_factor:t-yv-l-h +flexibility_factor:ya-l-h +flexibility_factor:yv-ya-l-h +flexibility_factor:yv-l-h +flexibility_factor:m-h +flexibility_factor:nl-m-h +flexibility_factor:nl-m-h-q +flexibility_factor:nl-t-m-h-q +flexibility_factor:nl-t-ya-m-h-q +flexibility_factor:nl-t-yv-ya-m-h-q +flexibility_factor:nl-t-yv-m-h-q +flexibility_factor:nl-ya-m-h-q +flexibility_factor:nl-yv-ya-m-h-q +flexibility_factor:nl-yv-m-h-q +flexibility_factor:nl-t-m-h +flexibility_factor:nl-t-ya-m-h +flexibility_factor:nl-t-yv-ya-m-h +flexibility_factor:nl-t-yv-m-h +flexibility_factor:nl-ya-m-h +flexibility_factor:nl-yv-ya-m-h +flexibility_factor:nl-yv-m-h +flexibility_factor:m-h-q +flexibility_factor:t-m-h-q +flexibility_factor:t-ya-m-h-q +flexibility_factor:t-yv-ya-m-h-q +flexibility_factor:t-yv-m-h-q +flexibility_factor:ya-m-h-q +flexibility_factor:yv-ya-m-h-q +flexibility_factor:yv-m-h-q +flexibility_factor:t-m-h +flexibility_factor:t-ya-m-h +flexibility_factor:t-yv-ya-m-h +flexibility_factor:t-yv-m-h +flexibility_factor:ya-m-h +flexibility_factor:yv-ya-m-h +flexibility_factor:yv-m-h +flexibility_factor:nl-h +flexibility_factor:nl-h-q +flexibility_factor:nl-t-h-q +flexibility_factor:nl-t-ya-h-q +flexibility_factor:nl-t-yv-ya-h-q +flexibility_factor:nl-t-yv-h-q +flexibility_factor:nl-ya-h-q +flexibility_factor:nl-yv-ya-h-q +flexibility_factor:nl-yv-h-q +flexibility_factor:nl-t-h +flexibility_factor:nl-t-ya-h +flexibility_factor:nl-t-yv-ya-h +flexibility_factor:nl-t-yv-h +flexibility_factor:nl-ya-h +flexibility_factor:nl-yv-ya-h +flexibility_factor:nl-yv-h +flexibility_factor:h-q +flexibility_factor:t-h-q +flexibility_factor:t-ya-h-q +flexibility_factor:t-yv-ya-h-q +flexibility_factor:t-yv-h-q +flexibility_factor:ya-h-q +flexibility_factor:yv-ya-h-q +flexibility_factor:yv-h-q +flexibility_factor:t-h +flexibility_factor:t-ya-h +flexibility_factor:t-yv-ya-h +flexibility_factor:t-yv-h +flexibility_factor:ya-h +flexibility_factor:yv-ya-h +flexibility_factor:yv-h +flexibility_factor:l +flexibility_factor:m-l +flexibility_factor:nl-m-l +flexibility_factor:nl-m-l-q +flexibility_factor:nl-t-m-l-q +flexibility_factor:nl-t-ya-m-l-q +flexibility_factor:nl-t-yv-ya-m-l-q +flexibility_factor:nl-t-yv-m-l-q +flexibility_factor:nl-ya-m-l-q +flexibility_factor:nl-yv-ya-m-l-q +flexibility_factor:nl-yv-m-l-q +flexibility_factor:nl-t-m-l +flexibility_factor:nl-t-ya-m-l +flexibility_factor:nl-t-yv-ya-m-l +flexibility_factor:nl-t-yv-m-l +flexibility_factor:nl-ya-m-l +flexibility_factor:nl-yv-ya-m-l +flexibility_factor:nl-yv-m-l +flexibility_factor:m-l-q +flexibility_factor:t-m-l-q +flexibility_factor:t-ya-m-l-q +flexibility_factor:t-yv-ya-m-l-q +flexibility_factor:t-yv-m-l-q +flexibility_factor:ya-m-l-q +flexibility_factor:yv-ya-m-l-q +flexibility_factor:yv-m-l-q +flexibility_factor:t-m-l +flexibility_factor:t-ya-m-l +flexibility_factor:t-yv-ya-m-l +flexibility_factor:t-yv-m-l +flexibility_factor:ya-m-l +flexibility_factor:yv-ya-m-l +flexibility_factor:yv-m-l +flexibility_factor:nl-l +flexibility_factor:nl-l-q +flexibility_factor:nl-t-l-q +flexibility_factor:nl-t-ya-l-q +flexibility_factor:nl-t-yv-ya-l-q +flexibility_factor:nl-t-yv-l-q +flexibility_factor:nl-ya-l-q +flexibility_factor:nl-yv-ya-l-q +flexibility_factor:nl-yv-l-q +flexibility_factor:nl-t-l +flexibility_factor:nl-t-ya-l +flexibility_factor:nl-t-yv-ya-l +flexibility_factor:nl-t-yv-l +flexibility_factor:nl-ya-l +flexibility_factor:nl-yv-ya-l +flexibility_factor:nl-yv-l +flexibility_factor:l-q +flexibility_factor:t-l-q +flexibility_factor:t-ya-l-q +flexibility_factor:t-yv-ya-l-q +flexibility_factor:t-yv-l-q +flexibility_factor:ya-l-q +flexibility_factor:yv-ya-l-q +flexibility_factor:yv-l-q +flexibility_factor:t-l +flexibility_factor:t-ya-l +flexibility_factor:t-yv-ya-l +flexibility_factor:t-yv-l +flexibility_factor:ya-l +flexibility_factor:yv-ya-l +flexibility_factor:yv-l +flexibility_factor:m +flexibility_factor:nl-m +flexibility_factor:nl-m-q +flexibility_factor:nl-t-m-q +flexibility_factor:nl-t-ya-m-q +flexibility_factor:nl-t-yv-ya-m-q +flexibility_factor:nl-t-yv-m-q +flexibility_factor:nl-ya-m-q +flexibility_factor:nl-yv-ya-m-q +flexibility_factor:nl-yv-m-q +flexibility_factor:nl-t-m +flexibility_factor:nl-t-ya-m +flexibility_factor:nl-t-yv-ya-m +flexibility_factor:nl-t-yv-m +flexibility_factor:nl-ya-m +flexibility_factor:nl-yv-ya-m +flexibility_factor:nl-yv-m +flexibility_factor:m-q +flexibility_factor:t-m-q +flexibility_factor:t-ya-m-q +flexibility_factor:t-yv-ya-m-q +flexibility_factor:t-yv-m-q +flexibility_factor:ya-m-q +flexibility_factor:yv-ya-m-q +flexibility_factor:yv-m-q +flexibility_factor:t-m +flexibility_factor:t-ya-m +flexibility_factor:t-yv-ya-m +flexibility_factor:t-yv-m +flexibility_factor:ya-m +flexibility_factor:yv-ya-m +flexibility_factor:yv-m +flexibility_factor:nl +flexibility_factor:nl-q +flexibility_factor:nl-t-q +flexibility_factor:nl-t-ya-q +flexibility_factor:nl-t-yv-ya-q +flexibility_factor:nl-t-yv-q +flexibility_factor:nl-ya-q +flexibility_factor:nl-yv-ya-q +flexibility_factor:nl-yv-q +flexibility_factor:nl-t +flexibility_factor:nl-t-ya +flexibility_factor:nl-t-yv-ya +flexibility_factor:nl-t-yv +flexibility_factor:nl-ya +flexibility_factor:nl-yv-ya +flexibility_factor:nl-yv +flexibility_factor:q +flexibility_factor:t-q +flexibility_factor:t-ya-q +flexibility_factor:t-yv-ya-q +flexibility_factor:t-yv-q +flexibility_factor:ya-q +flexibility_factor:yv-ya-q +flexibility_factor:yv-q +flexibility_factor:t +flexibility_factor:t-ya +flexibility_factor:t-yv-ya +flexibility_factor:t-yv +flexibility_factor:ya +flexibility_factor:yv-ya +flexibility_factor:yv +fom: +fom::pyam +fom:nl +fom:nl-t +fom:nl-t-ya +fom:nl-t-yv-ya +fom:nl-t-yv +fom:nl-ya +fom:nl-yv-ya +fom:nl-yv +fom:t +fom:t-ya +fom:t-yv-ya +fom:t-yv +fom:ya +fom:yv-ya +fom:yv +g +growth_activity_lo: +growth_activity_lo:h +growth_activity_lo:nl-h +growth_activity_lo:nl-t-h +growth_activity_lo:nl-t-ya-h +growth_activity_lo:nl-ya-h +growth_activity_lo:t-h +growth_activity_lo:t-ya-h +growth_activity_lo:ya-h +growth_activity_lo:nl +growth_activity_lo:nl-t +growth_activity_lo:nl-t-ya +growth_activity_lo:nl-ya +growth_activity_lo:t +growth_activity_lo:t-ya +growth_activity_lo:ya +growth_activity_up: +growth_activity_up:h +growth_activity_up:nl-h +growth_activity_up:nl-t-h +growth_activity_up:nl-t-ya-h +growth_activity_up:nl-ya-h +growth_activity_up:t-h +growth_activity_up:t-ya-h +growth_activity_up:ya-h +growth_activity_up:nl +growth_activity_up:nl-t +growth_activity_up:nl-t-ya +growth_activity_up:nl-ya +growth_activity_up:t +growth_activity_up:t-ya +growth_activity_up:ya +growth_land_lo: +growth_land_lo:n +growth_land_lo:n-u +growth_land_lo:n-y-u +growth_land_lo:n-y +growth_land_lo:u +growth_land_lo:y-u +growth_land_lo:y +growth_land_scen_lo: +growth_land_scen_lo:n +growth_land_scen_lo:n-s +growth_land_scen_lo:n-s-y +growth_land_scen_lo:n-y +growth_land_scen_lo:s +growth_land_scen_lo:s-y +growth_land_scen_lo:y +growth_land_scen_up: +growth_land_scen_up:n +growth_land_scen_up:n-s +growth_land_scen_up:n-s-y +growth_land_scen_up:n-y +growth_land_scen_up:s +growth_land_scen_up:s-y +growth_land_scen_up:y +growth_land_up: +growth_land_up:n +growth_land_up:n-u +growth_land_up:n-y-u +growth_land_up:n-y +growth_land_up:u +growth_land_up:y-u +growth_land_up:y +growth_new_capacity_lo: +growth_new_capacity_lo:nl +growth_new_capacity_lo:nl-t +growth_new_capacity_lo:nl-t-yv +growth_new_capacity_lo:nl-yv +growth_new_capacity_lo:t +growth_new_capacity_lo:t-yv +growth_new_capacity_lo:yv +growth_new_capacity_up: +growth_new_capacity_up:nl +growth_new_capacity_up:nl-t +growth_new_capacity_up:nl-t-yv +growth_new_capacity_up:nl-yv +growth_new_capacity_up:t +growth_new_capacity_up:t-yv +growth_new_capacity_up:yv +h +historical_activity: +historical_activity:h +historical_activity:m-h +historical_activity:nl-m-h +historical_activity:nl-t-m-h +historical_activity:nl-t-ya-m-h +historical_activity:nl-ya-m-h +historical_activity:t-m-h +historical_activity:t-ya-m-h +historical_activity:ya-m-h +historical_activity:nl-h +historical_activity:nl-t-h +historical_activity:nl-t-ya-h +historical_activity:nl-ya-h +historical_activity:t-h +historical_activity:t-ya-h +historical_activity:ya-h +historical_activity:m +historical_activity:nl-m +historical_activity:nl-t-m +historical_activity:nl-t-ya-m +historical_activity:nl-ya-m +historical_activity:t-m +historical_activity:t-ya-m +historical_activity:ya-m +historical_activity:nl +historical_activity:nl-t +historical_activity:nl-t-ya +historical_activity:nl-ya +historical_activity:t +historical_activity:t-ya +historical_activity:ya +historical_emission: +historical_emission:n +historical_emission:n-type_emission +historical_emission:n-type_emission-type_tec +historical_emission:n-type_emission-type_tec-type_year +historical_emission:n-type_emission-type_year +historical_emission:n-type_tec +historical_emission:n-type_tec-type_year +historical_emission:n-type_year +historical_emission:type_emission +historical_emission:type_emission-type_tec +historical_emission:type_emission-type_tec-type_year +historical_emission:type_emission-type_year +historical_emission:type_tec +historical_emission:type_tec-type_year +historical_emission:type_year +historical_extraction: +historical_extraction:c +historical_extraction:c-g +historical_extraction:n-c-g +historical_extraction:n-c-g-y +historical_extraction:c-g-y +historical_extraction:n-c +historical_extraction:n-c-y +historical_extraction:c-y +historical_extraction:g +historical_extraction:n-g +historical_extraction:n-g-y +historical_extraction:g-y +historical_extraction:n +historical_extraction:n-y +historical_extraction:y +historical_gdp: +historical_gdp:n +historical_gdp:n-y +historical_gdp:y +historical_land: +historical_land:n +historical_land:n-s +historical_land:n-s-y +historical_land:n-y +historical_land:s +historical_land:s-y +historical_land:y +historical_new_capacity: +historical_new_capacity:nl +historical_new_capacity:nl-t +historical_new_capacity:nl-t-yv +historical_new_capacity:nl-yv +historical_new_capacity:t +historical_new_capacity:t-yv +historical_new_capacity:yv +in: +in::pyam +in:c +in:c-h +in:c-h-ho +in:c-l-h-ho +in:m-c-l-h-ho +in:nl-m-c-l-h-ho +in:nl-m-no-c-l-h-ho +in:nl-t-m-no-c-l-h-ho +in:nl-t-ya-m-no-c-l-h-ho +in:nl-t-yv-ya-m-no-c-l-h-ho +in:nl-t-yv-m-no-c-l-h-ho +in:nl-ya-m-no-c-l-h-ho +in:nl-yv-ya-m-no-c-l-h-ho +in:nl-yv-m-no-c-l-h-ho +in:nl-t-m-c-l-h-ho +in:nl-t-ya-m-c-l-h-ho +in:nl-t-yv-ya-m-c-l-h-ho +in:nl-t-yv-m-c-l-h-ho +in:nl-ya-m-c-l-h-ho +in:nl-yv-ya-m-c-l-h-ho +in:nl-yv-m-c-l-h-ho +in:m-no-c-l-h-ho +in:t-m-no-c-l-h-ho +in:t-ya-m-no-c-l-h-ho +in:t-yv-ya-m-no-c-l-h-ho +in:t-yv-m-no-c-l-h-ho +in:ya-m-no-c-l-h-ho +in:yv-ya-m-no-c-l-h-ho +in:yv-m-no-c-l-h-ho +in:t-m-c-l-h-ho +in:t-ya-m-c-l-h-ho +in:t-yv-ya-m-c-l-h-ho +in:t-yv-m-c-l-h-ho +in:ya-m-c-l-h-ho +in:yv-ya-m-c-l-h-ho +in:yv-m-c-l-h-ho +in:nl-c-l-h-ho +in:nl-no-c-l-h-ho +in:nl-t-no-c-l-h-ho +in:nl-t-ya-no-c-l-h-ho +in:nl-t-yv-ya-no-c-l-h-ho +in:nl-t-yv-no-c-l-h-ho +in:nl-ya-no-c-l-h-ho +in:nl-yv-ya-no-c-l-h-ho +in:nl-yv-no-c-l-h-ho +in:nl-t-c-l-h-ho +in:nl-t-ya-c-l-h-ho +in:nl-t-yv-ya-c-l-h-ho +in:nl-t-yv-c-l-h-ho +in:nl-ya-c-l-h-ho +in:nl-yv-ya-c-l-h-ho +in:nl-yv-c-l-h-ho +in:no-c-l-h-ho +in:t-no-c-l-h-ho +in:t-ya-no-c-l-h-ho +in:t-yv-ya-no-c-l-h-ho +in:t-yv-no-c-l-h-ho +in:ya-no-c-l-h-ho +in:yv-ya-no-c-l-h-ho +in:yv-no-c-l-h-ho +in:t-c-l-h-ho +in:t-ya-c-l-h-ho +in:t-yv-ya-c-l-h-ho +in:t-yv-c-l-h-ho +in:ya-c-l-h-ho +in:yv-ya-c-l-h-ho +in:yv-c-l-h-ho +in:m-c-h-ho +in:nl-m-c-h-ho +in:nl-m-no-c-h-ho +in:nl-t-m-no-c-h-ho +in:nl-t-ya-m-no-c-h-ho +in:nl-t-yv-ya-m-no-c-h-ho +in:nl-t-yv-m-no-c-h-ho +in:nl-ya-m-no-c-h-ho +in:nl-yv-ya-m-no-c-h-ho +in:nl-yv-m-no-c-h-ho +in:nl-t-m-c-h-ho +in:nl-t-ya-m-c-h-ho +in:nl-t-yv-ya-m-c-h-ho +in:nl-t-yv-m-c-h-ho +in:nl-ya-m-c-h-ho +in:nl-yv-ya-m-c-h-ho +in:nl-yv-m-c-h-ho +in:m-no-c-h-ho +in:t-m-no-c-h-ho +in:t-ya-m-no-c-h-ho +in:t-yv-ya-m-no-c-h-ho +in:t-yv-m-no-c-h-ho +in:ya-m-no-c-h-ho +in:yv-ya-m-no-c-h-ho +in:yv-m-no-c-h-ho +in:t-m-c-h-ho +in:t-ya-m-c-h-ho +in:t-yv-ya-m-c-h-ho +in:t-yv-m-c-h-ho +in:ya-m-c-h-ho +in:yv-ya-m-c-h-ho +in:yv-m-c-h-ho +in:nl-c-h-ho +in:nl-no-c-h-ho +in:nl-t-no-c-h-ho +in:nl-t-ya-no-c-h-ho +in:nl-t-yv-ya-no-c-h-ho +in:nl-t-yv-no-c-h-ho +in:nl-ya-no-c-h-ho +in:nl-yv-ya-no-c-h-ho +in:nl-yv-no-c-h-ho +in:nl-t-c-h-ho +in:nl-t-ya-c-h-ho +in:nl-t-yv-ya-c-h-ho +in:nl-t-yv-c-h-ho +in:nl-ya-c-h-ho +in:nl-yv-ya-c-h-ho +in:nl-yv-c-h-ho +in:no-c-h-ho +in:t-no-c-h-ho +in:t-ya-no-c-h-ho +in:t-yv-ya-no-c-h-ho +in:t-yv-no-c-h-ho +in:ya-no-c-h-ho +in:yv-ya-no-c-h-ho +in:yv-no-c-h-ho +in:t-c-h-ho +in:t-ya-c-h-ho +in:t-yv-ya-c-h-ho +in:t-yv-c-h-ho +in:ya-c-h-ho +in:yv-ya-c-h-ho +in:yv-c-h-ho +in:c-l-h +in:m-c-l-h +in:nl-m-c-l-h +in:nl-m-no-c-l-h +in:nl-t-m-no-c-l-h +in:nl-t-ya-m-no-c-l-h +in:nl-t-yv-ya-m-no-c-l-h +in:nl-t-yv-m-no-c-l-h +in:nl-ya-m-no-c-l-h +in:nl-yv-ya-m-no-c-l-h +in:nl-yv-m-no-c-l-h +in:nl-t-m-c-l-h +in:nl-t-ya-m-c-l-h +in:nl-t-yv-ya-m-c-l-h +in:nl-t-yv-m-c-l-h +in:nl-ya-m-c-l-h +in:nl-yv-ya-m-c-l-h +in:nl-yv-m-c-l-h +in:m-no-c-l-h +in:t-m-no-c-l-h +in:t-ya-m-no-c-l-h +in:t-yv-ya-m-no-c-l-h +in:t-yv-m-no-c-l-h +in:ya-m-no-c-l-h +in:yv-ya-m-no-c-l-h +in:yv-m-no-c-l-h +in:t-m-c-l-h +in:t-ya-m-c-l-h +in:t-yv-ya-m-c-l-h +in:t-yv-m-c-l-h +in:ya-m-c-l-h +in:yv-ya-m-c-l-h +in:yv-m-c-l-h +in:nl-c-l-h +in:nl-no-c-l-h +in:nl-t-no-c-l-h +in:nl-t-ya-no-c-l-h +in:nl-t-yv-ya-no-c-l-h +in:nl-t-yv-no-c-l-h +in:nl-ya-no-c-l-h +in:nl-yv-ya-no-c-l-h +in:nl-yv-no-c-l-h +in:nl-t-c-l-h +in:nl-t-ya-c-l-h +in:nl-t-yv-ya-c-l-h +in:nl-t-yv-c-l-h +in:nl-ya-c-l-h +in:nl-yv-ya-c-l-h +in:nl-yv-c-l-h +in:no-c-l-h +in:t-no-c-l-h +in:t-ya-no-c-l-h +in:t-yv-ya-no-c-l-h +in:t-yv-no-c-l-h +in:ya-no-c-l-h +in:yv-ya-no-c-l-h +in:yv-no-c-l-h +in:t-c-l-h +in:t-ya-c-l-h +in:t-yv-ya-c-l-h +in:t-yv-c-l-h +in:ya-c-l-h +in:yv-ya-c-l-h +in:yv-c-l-h +in:m-c-h +in:nl-m-c-h +in:nl-m-no-c-h +in:nl-t-m-no-c-h +in:nl-t-ya-m-no-c-h +in:nl-t-yv-ya-m-no-c-h +in:nl-t-yv-m-no-c-h +in:nl-ya-m-no-c-h +in:nl-yv-ya-m-no-c-h +in:nl-yv-m-no-c-h +in:nl-t-m-c-h +in:nl-t-ya-m-c-h +in:nl-t-yv-ya-m-c-h +in:nl-t-yv-m-c-h +in:nl-ya-m-c-h +in:nl-yv-ya-m-c-h +in:nl-yv-m-c-h +in:m-no-c-h +in:t-m-no-c-h +in:t-ya-m-no-c-h +in:t-yv-ya-m-no-c-h +in:t-yv-m-no-c-h +in:ya-m-no-c-h +in:yv-ya-m-no-c-h +in:yv-m-no-c-h +in:t-m-c-h +in:t-ya-m-c-h +in:t-yv-ya-m-c-h +in:t-yv-m-c-h +in:ya-m-c-h +in:yv-ya-m-c-h +in:yv-m-c-h +in:nl-c-h +in:nl-no-c-h +in:nl-t-no-c-h +in:nl-t-ya-no-c-h +in:nl-t-yv-ya-no-c-h +in:nl-t-yv-no-c-h +in:nl-ya-no-c-h +in:nl-yv-ya-no-c-h +in:nl-yv-no-c-h +in:nl-t-c-h +in:nl-t-ya-c-h +in:nl-t-yv-ya-c-h +in:nl-t-yv-c-h +in:nl-ya-c-h +in:nl-yv-ya-c-h +in:nl-yv-c-h +in:no-c-h +in:t-no-c-h +in:t-ya-no-c-h +in:t-yv-ya-no-c-h +in:t-yv-no-c-h +in:ya-no-c-h +in:yv-ya-no-c-h +in:yv-no-c-h +in:t-c-h +in:t-ya-c-h +in:t-yv-ya-c-h +in:t-yv-c-h +in:ya-c-h +in:yv-ya-c-h +in:yv-c-h +in:c-ho +in:c-l-ho +in:m-c-l-ho +in:nl-m-c-l-ho +in:nl-m-no-c-l-ho +in:nl-t-m-no-c-l-ho +in:nl-t-ya-m-no-c-l-ho +in:nl-t-yv-ya-m-no-c-l-ho +in:nl-t-yv-m-no-c-l-ho +in:nl-ya-m-no-c-l-ho +in:nl-yv-ya-m-no-c-l-ho +in:nl-yv-m-no-c-l-ho +in:nl-t-m-c-l-ho +in:nl-t-ya-m-c-l-ho +in:nl-t-yv-ya-m-c-l-ho +in:nl-t-yv-m-c-l-ho +in:nl-ya-m-c-l-ho +in:nl-yv-ya-m-c-l-ho +in:nl-yv-m-c-l-ho +in:m-no-c-l-ho +in:t-m-no-c-l-ho +in:t-ya-m-no-c-l-ho +in:t-yv-ya-m-no-c-l-ho +in:t-yv-m-no-c-l-ho +in:ya-m-no-c-l-ho +in:yv-ya-m-no-c-l-ho +in:yv-m-no-c-l-ho +in:t-m-c-l-ho +in:t-ya-m-c-l-ho +in:t-yv-ya-m-c-l-ho +in:t-yv-m-c-l-ho +in:ya-m-c-l-ho +in:yv-ya-m-c-l-ho +in:yv-m-c-l-ho +in:nl-c-l-ho +in:nl-no-c-l-ho +in:nl-t-no-c-l-ho +in:nl-t-ya-no-c-l-ho +in:nl-t-yv-ya-no-c-l-ho +in:nl-t-yv-no-c-l-ho +in:nl-ya-no-c-l-ho +in:nl-yv-ya-no-c-l-ho +in:nl-yv-no-c-l-ho +in:nl-t-c-l-ho +in:nl-t-ya-c-l-ho +in:nl-t-yv-ya-c-l-ho +in:nl-t-yv-c-l-ho +in:nl-ya-c-l-ho +in:nl-yv-ya-c-l-ho +in:nl-yv-c-l-ho +in:no-c-l-ho +in:t-no-c-l-ho +in:t-ya-no-c-l-ho +in:t-yv-ya-no-c-l-ho +in:t-yv-no-c-l-ho +in:ya-no-c-l-ho +in:yv-ya-no-c-l-ho +in:yv-no-c-l-ho +in:t-c-l-ho +in:t-ya-c-l-ho +in:t-yv-ya-c-l-ho +in:t-yv-c-l-ho +in:ya-c-l-ho +in:yv-ya-c-l-ho +in:yv-c-l-ho +in:m-c-ho +in:nl-m-c-ho +in:nl-m-no-c-ho +in:nl-t-m-no-c-ho +in:nl-t-ya-m-no-c-ho +in:nl-t-yv-ya-m-no-c-ho +in:nl-t-yv-m-no-c-ho +in:nl-ya-m-no-c-ho +in:nl-yv-ya-m-no-c-ho +in:nl-yv-m-no-c-ho +in:nl-t-m-c-ho +in:nl-t-ya-m-c-ho +in:nl-t-yv-ya-m-c-ho +in:nl-t-yv-m-c-ho +in:nl-ya-m-c-ho +in:nl-yv-ya-m-c-ho +in:nl-yv-m-c-ho +in:m-no-c-ho +in:t-m-no-c-ho +in:t-ya-m-no-c-ho +in:t-yv-ya-m-no-c-ho +in:t-yv-m-no-c-ho +in:ya-m-no-c-ho +in:yv-ya-m-no-c-ho +in:yv-m-no-c-ho +in:t-m-c-ho +in:t-ya-m-c-ho +in:t-yv-ya-m-c-ho +in:t-yv-m-c-ho +in:ya-m-c-ho +in:yv-ya-m-c-ho +in:yv-m-c-ho +in:nl-c-ho +in:nl-no-c-ho +in:nl-t-no-c-ho +in:nl-t-ya-no-c-ho +in:nl-t-yv-ya-no-c-ho +in:nl-t-yv-no-c-ho +in:nl-ya-no-c-ho +in:nl-yv-ya-no-c-ho +in:nl-yv-no-c-ho +in:nl-t-c-ho +in:nl-t-ya-c-ho +in:nl-t-yv-ya-c-ho +in:nl-t-yv-c-ho +in:nl-ya-c-ho +in:nl-yv-ya-c-ho +in:nl-yv-c-ho +in:no-c-ho +in:t-no-c-ho +in:t-ya-no-c-ho +in:t-yv-ya-no-c-ho +in:t-yv-no-c-ho +in:ya-no-c-ho +in:yv-ya-no-c-ho +in:yv-no-c-ho +in:t-c-ho +in:t-ya-c-ho +in:t-yv-ya-c-ho +in:t-yv-c-ho +in:ya-c-ho +in:yv-ya-c-ho +in:yv-c-ho +in:c-l +in:m-c-l +in:nl-m-c-l +in:nl-m-no-c-l +in:nl-t-m-no-c-l +in:nl-t-ya-m-no-c-l +in:nl-t-yv-ya-m-no-c-l +in:nl-t-yv-m-no-c-l +in:nl-ya-m-no-c-l +in:nl-yv-ya-m-no-c-l +in:nl-yv-m-no-c-l +in:nl-t-m-c-l +in:nl-t-ya-m-c-l +in:nl-t-yv-ya-m-c-l +in:nl-t-yv-m-c-l +in:nl-ya-m-c-l +in:nl-yv-ya-m-c-l +in:nl-yv-m-c-l +in:m-no-c-l +in:t-m-no-c-l +in:t-ya-m-no-c-l +in:t-yv-ya-m-no-c-l +in:t-yv-m-no-c-l +in:ya-m-no-c-l +in:yv-ya-m-no-c-l +in:yv-m-no-c-l +in:t-m-c-l +in:t-ya-m-c-l +in:t-yv-ya-m-c-l +in:t-yv-m-c-l +in:ya-m-c-l +in:yv-ya-m-c-l +in:yv-m-c-l +in:nl-c-l +in:nl-no-c-l +in:nl-t-no-c-l +in:nl-t-ya-no-c-l +in:nl-t-yv-ya-no-c-l +in:nl-t-yv-no-c-l +in:nl-ya-no-c-l +in:nl-yv-ya-no-c-l +in:nl-yv-no-c-l +in:nl-t-c-l +in:nl-t-ya-c-l +in:nl-t-yv-ya-c-l +in:nl-t-yv-c-l +in:nl-ya-c-l +in:nl-yv-ya-c-l +in:nl-yv-c-l +in:no-c-l +in:t-no-c-l +in:t-ya-no-c-l +in:t-yv-ya-no-c-l +in:t-yv-no-c-l +in:ya-no-c-l +in:yv-ya-no-c-l +in:yv-no-c-l +in:t-c-l +in:t-ya-c-l +in:t-yv-ya-c-l +in:t-yv-c-l +in:ya-c-l +in:yv-ya-c-l +in:yv-c-l +in:m-c +in:nl-m-c +in:nl-m-no-c +in:nl-t-m-no-c +in:nl-t-ya-m-no-c +in:nl-t-yv-ya-m-no-c +in:nl-t-yv-m-no-c +in:nl-ya-m-no-c +in:nl-yv-ya-m-no-c +in:nl-yv-m-no-c +in:nl-t-m-c +in:nl-t-ya-m-c +in:nl-t-yv-ya-m-c +in:nl-t-yv-m-c +in:nl-ya-m-c +in:nl-yv-ya-m-c +in:nl-yv-m-c +in:m-no-c +in:t-m-no-c +in:t-ya-m-no-c +in:t-yv-ya-m-no-c +in:t-yv-m-no-c +in:ya-m-no-c +in:yv-ya-m-no-c +in:yv-m-no-c +in:t-m-c +in:t-ya-m-c +in:t-yv-ya-m-c +in:t-yv-m-c +in:ya-m-c +in:yv-ya-m-c +in:yv-m-c +in:nl-c +in:nl-no-c +in:nl-t-no-c +in:nl-t-ya-no-c +in:nl-t-yv-ya-no-c +in:nl-t-yv-no-c +in:nl-ya-no-c +in:nl-yv-ya-no-c +in:nl-yv-no-c +in:nl-t-c +in:nl-t-ya-c +in:nl-t-yv-ya-c +in:nl-t-yv-c +in:nl-ya-c +in:nl-yv-ya-c +in:nl-yv-c +in:no-c +in:t-no-c +in:t-ya-no-c +in:t-yv-ya-no-c +in:t-yv-no-c +in:ya-no-c +in:yv-ya-no-c +in:yv-no-c +in:t-c +in:t-ya-c +in:t-yv-ya-c +in:t-yv-c +in:ya-c +in:yv-ya-c +in:yv-c +in:h +in:h-ho +in:l-h-ho +in:m-l-h-ho +in:nl-m-l-h-ho +in:nl-m-no-l-h-ho +in:nl-t-m-no-l-h-ho +in:nl-t-ya-m-no-l-h-ho +in:nl-t-yv-ya-m-no-l-h-ho +in:nl-t-yv-m-no-l-h-ho +in:nl-ya-m-no-l-h-ho +in:nl-yv-ya-m-no-l-h-ho +in:nl-yv-m-no-l-h-ho +in:nl-t-m-l-h-ho +in:nl-t-ya-m-l-h-ho +in:nl-t-yv-ya-m-l-h-ho +in:nl-t-yv-m-l-h-ho +in:nl-ya-m-l-h-ho +in:nl-yv-ya-m-l-h-ho +in:nl-yv-m-l-h-ho +in:m-no-l-h-ho +in:t-m-no-l-h-ho +in:t-ya-m-no-l-h-ho +in:t-yv-ya-m-no-l-h-ho +in:t-yv-m-no-l-h-ho +in:ya-m-no-l-h-ho +in:yv-ya-m-no-l-h-ho +in:yv-m-no-l-h-ho +in:t-m-l-h-ho +in:t-ya-m-l-h-ho +in:t-yv-ya-m-l-h-ho +in:t-yv-m-l-h-ho +in:ya-m-l-h-ho +in:yv-ya-m-l-h-ho +in:yv-m-l-h-ho +in:nl-l-h-ho +in:nl-no-l-h-ho +in:nl-t-no-l-h-ho +in:nl-t-ya-no-l-h-ho +in:nl-t-yv-ya-no-l-h-ho +in:nl-t-yv-no-l-h-ho +in:nl-ya-no-l-h-ho +in:nl-yv-ya-no-l-h-ho +in:nl-yv-no-l-h-ho +in:nl-t-l-h-ho +in:nl-t-ya-l-h-ho +in:nl-t-yv-ya-l-h-ho +in:nl-t-yv-l-h-ho +in:nl-ya-l-h-ho +in:nl-yv-ya-l-h-ho +in:nl-yv-l-h-ho +in:no-l-h-ho +in:t-no-l-h-ho +in:t-ya-no-l-h-ho +in:t-yv-ya-no-l-h-ho +in:t-yv-no-l-h-ho +in:ya-no-l-h-ho +in:yv-ya-no-l-h-ho +in:yv-no-l-h-ho +in:t-l-h-ho +in:t-ya-l-h-ho +in:t-yv-ya-l-h-ho +in:t-yv-l-h-ho +in:ya-l-h-ho +in:yv-ya-l-h-ho +in:yv-l-h-ho +in:m-h-ho +in:nl-m-h-ho +in:nl-m-no-h-ho +in:nl-t-m-no-h-ho +in:nl-t-ya-m-no-h-ho +in:nl-t-yv-ya-m-no-h-ho +in:nl-t-yv-m-no-h-ho +in:nl-ya-m-no-h-ho +in:nl-yv-ya-m-no-h-ho +in:nl-yv-m-no-h-ho +in:nl-t-m-h-ho +in:nl-t-ya-m-h-ho +in:nl-t-yv-ya-m-h-ho +in:nl-t-yv-m-h-ho +in:nl-ya-m-h-ho +in:nl-yv-ya-m-h-ho +in:nl-yv-m-h-ho +in:m-no-h-ho +in:t-m-no-h-ho +in:t-ya-m-no-h-ho +in:t-yv-ya-m-no-h-ho +in:t-yv-m-no-h-ho +in:ya-m-no-h-ho +in:yv-ya-m-no-h-ho +in:yv-m-no-h-ho +in:t-m-h-ho +in:t-ya-m-h-ho +in:t-yv-ya-m-h-ho +in:t-yv-m-h-ho +in:ya-m-h-ho +in:yv-ya-m-h-ho +in:yv-m-h-ho +in:nl-h-ho +in:nl-no-h-ho +in:nl-t-no-h-ho +in:nl-t-ya-no-h-ho +in:nl-t-yv-ya-no-h-ho +in:nl-t-yv-no-h-ho +in:nl-ya-no-h-ho +in:nl-yv-ya-no-h-ho +in:nl-yv-no-h-ho +in:nl-t-h-ho +in:nl-t-ya-h-ho +in:nl-t-yv-ya-h-ho +in:nl-t-yv-h-ho +in:nl-ya-h-ho +in:nl-yv-ya-h-ho +in:nl-yv-h-ho +in:no-h-ho +in:t-no-h-ho +in:t-ya-no-h-ho +in:t-yv-ya-no-h-ho +in:t-yv-no-h-ho +in:ya-no-h-ho +in:yv-ya-no-h-ho +in:yv-no-h-ho +in:t-h-ho +in:t-ya-h-ho +in:t-yv-ya-h-ho +in:t-yv-h-ho +in:ya-h-ho +in:yv-ya-h-ho +in:yv-h-ho +in:l-h +in:m-l-h +in:nl-m-l-h +in:nl-m-no-l-h +in:nl-t-m-no-l-h +in:nl-t-ya-m-no-l-h +in:nl-t-yv-ya-m-no-l-h +in:nl-t-yv-m-no-l-h +in:nl-ya-m-no-l-h +in:nl-yv-ya-m-no-l-h +in:nl-yv-m-no-l-h +in:nl-t-m-l-h +in:nl-t-ya-m-l-h +in:nl-t-yv-ya-m-l-h +in:nl-t-yv-m-l-h +in:nl-ya-m-l-h +in:nl-yv-ya-m-l-h +in:nl-yv-m-l-h +in:m-no-l-h +in:t-m-no-l-h +in:t-ya-m-no-l-h +in:t-yv-ya-m-no-l-h +in:t-yv-m-no-l-h +in:ya-m-no-l-h +in:yv-ya-m-no-l-h +in:yv-m-no-l-h +in:t-m-l-h +in:t-ya-m-l-h +in:t-yv-ya-m-l-h +in:t-yv-m-l-h +in:ya-m-l-h +in:yv-ya-m-l-h +in:yv-m-l-h +in:nl-l-h +in:nl-no-l-h +in:nl-t-no-l-h +in:nl-t-ya-no-l-h +in:nl-t-yv-ya-no-l-h +in:nl-t-yv-no-l-h +in:nl-ya-no-l-h +in:nl-yv-ya-no-l-h +in:nl-yv-no-l-h +in:nl-t-l-h +in:nl-t-ya-l-h +in:nl-t-yv-ya-l-h +in:nl-t-yv-l-h +in:nl-ya-l-h +in:nl-yv-ya-l-h +in:nl-yv-l-h +in:no-l-h +in:t-no-l-h +in:t-ya-no-l-h +in:t-yv-ya-no-l-h +in:t-yv-no-l-h +in:ya-no-l-h +in:yv-ya-no-l-h +in:yv-no-l-h +in:t-l-h +in:t-ya-l-h +in:t-yv-ya-l-h +in:t-yv-l-h +in:ya-l-h +in:yv-ya-l-h +in:yv-l-h +in:m-h +in:nl-m-h +in:nl-m-no-h +in:nl-t-m-no-h +in:nl-t-ya-m-no-h +in:nl-t-yv-ya-m-no-h +in:nl-t-yv-m-no-h +in:nl-ya-m-no-h +in:nl-yv-ya-m-no-h +in:nl-yv-m-no-h +in:nl-t-m-h +in:nl-t-ya-m-h +in:nl-t-yv-ya-m-h +in:nl-t-yv-m-h +in:nl-ya-m-h +in:nl-yv-ya-m-h +in:nl-yv-m-h +in:m-no-h +in:t-m-no-h +in:t-ya-m-no-h +in:t-yv-ya-m-no-h +in:t-yv-m-no-h +in:ya-m-no-h +in:yv-ya-m-no-h +in:yv-m-no-h +in:t-m-h +in:t-ya-m-h +in:t-yv-ya-m-h +in:t-yv-m-h +in:ya-m-h +in:yv-ya-m-h +in:yv-m-h +in:nl-h +in:nl-no-h +in:nl-t-no-h +in:nl-t-ya-no-h +in:nl-t-yv-ya-no-h +in:nl-t-yv-no-h +in:nl-ya-no-h +in:nl-yv-ya-no-h +in:nl-yv-no-h +in:nl-t-h +in:nl-t-ya-h +in:nl-t-yv-ya-h +in:nl-t-yv-h +in:nl-ya-h +in:nl-yv-ya-h +in:nl-yv-h +in:no-h +in:t-no-h +in:t-ya-no-h +in:t-yv-ya-no-h +in:t-yv-no-h +in:ya-no-h +in:yv-ya-no-h +in:yv-no-h +in:t-h +in:t-ya-h +in:t-yv-ya-h +in:t-yv-h +in:ya-h +in:yv-ya-h +in:yv-h +in:ho +in:l-ho +in:m-l-ho +in:nl-m-l-ho +in:nl-m-no-l-ho +in:nl-t-m-no-l-ho +in:nl-t-ya-m-no-l-ho +in:nl-t-yv-ya-m-no-l-ho +in:nl-t-yv-m-no-l-ho +in:nl-ya-m-no-l-ho +in:nl-yv-ya-m-no-l-ho +in:nl-yv-m-no-l-ho +in:nl-t-m-l-ho +in:nl-t-ya-m-l-ho +in:nl-t-yv-ya-m-l-ho +in:nl-t-yv-m-l-ho +in:nl-ya-m-l-ho +in:nl-yv-ya-m-l-ho +in:nl-yv-m-l-ho +in:m-no-l-ho +in:t-m-no-l-ho +in:t-ya-m-no-l-ho +in:t-yv-ya-m-no-l-ho +in:t-yv-m-no-l-ho +in:ya-m-no-l-ho +in:yv-ya-m-no-l-ho +in:yv-m-no-l-ho +in:t-m-l-ho +in:t-ya-m-l-ho +in:t-yv-ya-m-l-ho +in:t-yv-m-l-ho +in:ya-m-l-ho +in:yv-ya-m-l-ho +in:yv-m-l-ho +in:nl-l-ho +in:nl-no-l-ho +in:nl-t-no-l-ho +in:nl-t-ya-no-l-ho +in:nl-t-yv-ya-no-l-ho +in:nl-t-yv-no-l-ho +in:nl-ya-no-l-ho +in:nl-yv-ya-no-l-ho +in:nl-yv-no-l-ho +in:nl-t-l-ho +in:nl-t-ya-l-ho +in:nl-t-yv-ya-l-ho +in:nl-t-yv-l-ho +in:nl-ya-l-ho +in:nl-yv-ya-l-ho +in:nl-yv-l-ho +in:no-l-ho +in:t-no-l-ho +in:t-ya-no-l-ho +in:t-yv-ya-no-l-ho +in:t-yv-no-l-ho +in:ya-no-l-ho +in:yv-ya-no-l-ho +in:yv-no-l-ho +in:t-l-ho +in:t-ya-l-ho +in:t-yv-ya-l-ho +in:t-yv-l-ho +in:ya-l-ho +in:yv-ya-l-ho +in:yv-l-ho +in:m-ho +in:nl-m-ho +in:nl-m-no-ho +in:nl-t-m-no-ho +in:nl-t-ya-m-no-ho +in:nl-t-yv-ya-m-no-ho +in:nl-t-yv-m-no-ho +in:nl-ya-m-no-ho +in:nl-yv-ya-m-no-ho +in:nl-yv-m-no-ho +in:nl-t-m-ho +in:nl-t-ya-m-ho +in:nl-t-yv-ya-m-ho +in:nl-t-yv-m-ho +in:nl-ya-m-ho +in:nl-yv-ya-m-ho +in:nl-yv-m-ho +in:m-no-ho +in:t-m-no-ho +in:t-ya-m-no-ho +in:t-yv-ya-m-no-ho +in:t-yv-m-no-ho +in:ya-m-no-ho +in:yv-ya-m-no-ho +in:yv-m-no-ho +in:t-m-ho +in:t-ya-m-ho +in:t-yv-ya-m-ho +in:t-yv-m-ho +in:ya-m-ho +in:yv-ya-m-ho +in:yv-m-ho +in:nl-ho +in:nl-no-ho +in:nl-t-no-ho +in:nl-t-ya-no-ho +in:nl-t-yv-ya-no-ho +in:nl-t-yv-no-ho +in:nl-ya-no-ho +in:nl-yv-ya-no-ho +in:nl-yv-no-ho +in:nl-t-ho +in:nl-t-ya-ho +in:nl-t-yv-ya-ho +in:nl-t-yv-ho +in:nl-ya-ho +in:nl-yv-ya-ho +in:nl-yv-ho +in:no-ho +in:t-no-ho +in:t-ya-no-ho +in:t-yv-ya-no-ho +in:t-yv-no-ho +in:ya-no-ho +in:yv-ya-no-ho +in:yv-no-ho +in:t-ho +in:t-ya-ho +in:t-yv-ya-ho +in:t-yv-ho +in:ya-ho +in:yv-ya-ho +in:yv-ho +in:l +in:m-l +in:nl-m-l +in:nl-m-no-l +in:nl-t-m-no-l +in:nl-t-ya-m-no-l +in:nl-t-yv-ya-m-no-l +in:nl-t-yv-m-no-l +in:nl-ya-m-no-l +in:nl-yv-ya-m-no-l +in:nl-yv-m-no-l +in:nl-t-m-l +in:nl-t-ya-m-l +in:nl-t-yv-ya-m-l +in:nl-t-yv-m-l +in:nl-ya-m-l +in:nl-yv-ya-m-l +in:nl-yv-m-l +in:m-no-l +in:t-m-no-l +in:t-ya-m-no-l +in:t-yv-ya-m-no-l +in:t-yv-m-no-l +in:ya-m-no-l +in:yv-ya-m-no-l +in:yv-m-no-l +in:t-m-l +in:t-ya-m-l +in:t-yv-ya-m-l +in:t-yv-m-l +in:ya-m-l +in:yv-ya-m-l +in:yv-m-l +in:nl-l +in:nl-no-l +in:nl-t-no-l +in:nl-t-ya-no-l +in:nl-t-yv-ya-no-l +in:nl-t-yv-no-l +in:nl-ya-no-l +in:nl-yv-ya-no-l +in:nl-yv-no-l +in:nl-t-l +in:nl-t-ya-l +in:nl-t-yv-ya-l +in:nl-t-yv-l +in:nl-ya-l +in:nl-yv-ya-l +in:nl-yv-l +in:no-l +in:t-no-l +in:t-ya-no-l +in:t-yv-ya-no-l +in:t-yv-no-l +in:ya-no-l +in:yv-ya-no-l +in:yv-no-l +in:t-l +in:t-ya-l +in:t-yv-ya-l +in:t-yv-l +in:ya-l +in:yv-ya-l +in:yv-l +in:m +in:nl-m +in:nl-m-no +in:nl-t-m-no +in:nl-t-ya-m-no +in:nl-t-yv-ya-m-no +in:nl-t-yv-m-no +in:nl-ya-m-no +in:nl-yv-ya-m-no +in:nl-yv-m-no +in:nl-t-m +in:nl-t-ya-m +in:nl-t-yv-ya-m +in:nl-t-yv-m +in:nl-ya-m +in:nl-yv-ya-m +in:nl-yv-m +in:m-no +in:t-m-no +in:t-ya-m-no +in:t-yv-ya-m-no +in:t-yv-m-no +in:ya-m-no +in:yv-ya-m-no +in:yv-m-no +in:t-m +in:t-ya-m +in:t-yv-ya-m +in:t-yv-m +in:ya-m +in:yv-ya-m +in:yv-m +in:nl +in:nl-no +in:nl-t-no +in:nl-t-ya-no +in:nl-t-yv-ya-no +in:nl-t-yv-no +in:nl-ya-no +in:nl-yv-ya-no +in:nl-yv-no +in:nl-t +in:nl-t-ya +in:nl-t-yv-ya +in:nl-t-yv +in:nl-ya +in:nl-yv-ya +in:nl-yv +in:no +in:t-no +in:t-ya-no +in:t-yv-ya-no +in:t-yv-no +in:ya-no +in:yv-ya-no +in:yv-no +in:t +in:t-ya +in:t-yv-ya +in:t-yv +in:ya +in:yv-ya +in:yv +initial_activity_lo: +initial_activity_lo:h +initial_activity_lo:nl-h +initial_activity_lo:nl-t-h +initial_activity_lo:nl-t-ya-h +initial_activity_lo:nl-ya-h +initial_activity_lo:t-h +initial_activity_lo:t-ya-h +initial_activity_lo:ya-h +initial_activity_lo:nl +initial_activity_lo:nl-t +initial_activity_lo:nl-t-ya +initial_activity_lo:nl-ya +initial_activity_lo:t +initial_activity_lo:t-ya +initial_activity_lo:ya +initial_activity_up: +initial_activity_up:h +initial_activity_up:nl-h +initial_activity_up:nl-t-h +initial_activity_up:nl-t-ya-h +initial_activity_up:nl-ya-h +initial_activity_up:t-h +initial_activity_up:t-ya-h +initial_activity_up:ya-h +initial_activity_up:nl +initial_activity_up:nl-t +initial_activity_up:nl-t-ya +initial_activity_up:nl-ya +initial_activity_up:t +initial_activity_up:t-ya +initial_activity_up:ya +initial_land_lo: +initial_land_lo:n +initial_land_lo:n-u +initial_land_lo:n-y-u +initial_land_lo:n-y +initial_land_lo:u +initial_land_lo:y-u +initial_land_lo:y +initial_land_scen_lo: +initial_land_scen_lo:n +initial_land_scen_lo:n-s +initial_land_scen_lo:n-s-y +initial_land_scen_lo:n-y +initial_land_scen_lo:s +initial_land_scen_lo:s-y +initial_land_scen_lo:y +initial_land_scen_up: +initial_land_scen_up:n +initial_land_scen_up:n-s +initial_land_scen_up:n-s-y +initial_land_scen_up:n-y +initial_land_scen_up:s +initial_land_scen_up:s-y +initial_land_scen_up:y +initial_land_up: +initial_land_up:n +initial_land_up:n-u +initial_land_up:n-y-u +initial_land_up:n-y +initial_land_up:u +initial_land_up:y-u +initial_land_up:y +initial_new_capacity_lo: +initial_new_capacity_lo:nl +initial_new_capacity_lo:nl-t +initial_new_capacity_lo:nl-t-yv +initial_new_capacity_lo:nl-yv +initial_new_capacity_lo:t +initial_new_capacity_lo:t-yv +initial_new_capacity_lo:yv +initial_new_capacity_up: +initial_new_capacity_up:nl +initial_new_capacity_up:nl-t +initial_new_capacity_up:nl-t-yv +initial_new_capacity_up:nl-yv +initial_new_capacity_up:t +initial_new_capacity_up:t-yv +initial_new_capacity_up:yv +input: +input:c +input:c-h +input:c-h-ho +input:c-l-h-ho +input:m-c-l-h-ho +input:nl-m-c-l-h-ho +input:nl-m-no-c-l-h-ho +input:nl-t-m-no-c-l-h-ho +input:nl-t-ya-m-no-c-l-h-ho +input:nl-t-yv-ya-m-no-c-l-h-ho +input:nl-t-yv-m-no-c-l-h-ho +input:nl-ya-m-no-c-l-h-ho +input:nl-yv-ya-m-no-c-l-h-ho +input:nl-yv-m-no-c-l-h-ho +input:nl-t-m-c-l-h-ho +input:nl-t-ya-m-c-l-h-ho +input:nl-t-yv-ya-m-c-l-h-ho +input:nl-t-yv-m-c-l-h-ho +input:nl-ya-m-c-l-h-ho +input:nl-yv-ya-m-c-l-h-ho +input:nl-yv-m-c-l-h-ho +input:m-no-c-l-h-ho +input:t-m-no-c-l-h-ho +input:t-ya-m-no-c-l-h-ho +input:t-yv-ya-m-no-c-l-h-ho +input:t-yv-m-no-c-l-h-ho +input:ya-m-no-c-l-h-ho +input:yv-ya-m-no-c-l-h-ho +input:yv-m-no-c-l-h-ho +input:t-m-c-l-h-ho +input:t-ya-m-c-l-h-ho +input:t-yv-ya-m-c-l-h-ho +input:t-yv-m-c-l-h-ho +input:ya-m-c-l-h-ho +input:yv-ya-m-c-l-h-ho +input:yv-m-c-l-h-ho +input:nl-c-l-h-ho +input:nl-no-c-l-h-ho +input:nl-t-no-c-l-h-ho +input:nl-t-ya-no-c-l-h-ho +input:nl-t-yv-ya-no-c-l-h-ho +input:nl-t-yv-no-c-l-h-ho +input:nl-ya-no-c-l-h-ho +input:nl-yv-ya-no-c-l-h-ho +input:nl-yv-no-c-l-h-ho +input:nl-t-c-l-h-ho +input:nl-t-ya-c-l-h-ho +input:nl-t-yv-ya-c-l-h-ho +input:nl-t-yv-c-l-h-ho +input:nl-ya-c-l-h-ho +input:nl-yv-ya-c-l-h-ho +input:nl-yv-c-l-h-ho +input:no-c-l-h-ho +input:t-no-c-l-h-ho +input:t-ya-no-c-l-h-ho +input:t-yv-ya-no-c-l-h-ho +input:t-yv-no-c-l-h-ho +input:ya-no-c-l-h-ho +input:yv-ya-no-c-l-h-ho +input:yv-no-c-l-h-ho +input:t-c-l-h-ho +input:t-ya-c-l-h-ho +input:t-yv-ya-c-l-h-ho +input:t-yv-c-l-h-ho +input:ya-c-l-h-ho +input:yv-ya-c-l-h-ho +input:yv-c-l-h-ho +input:m-c-h-ho +input:nl-m-c-h-ho +input:nl-m-no-c-h-ho +input:nl-t-m-no-c-h-ho +input:nl-t-ya-m-no-c-h-ho +input:nl-t-yv-ya-m-no-c-h-ho +input:nl-t-yv-m-no-c-h-ho +input:nl-ya-m-no-c-h-ho +input:nl-yv-ya-m-no-c-h-ho +input:nl-yv-m-no-c-h-ho +input:nl-t-m-c-h-ho +input:nl-t-ya-m-c-h-ho +input:nl-t-yv-ya-m-c-h-ho +input:nl-t-yv-m-c-h-ho +input:nl-ya-m-c-h-ho +input:nl-yv-ya-m-c-h-ho +input:nl-yv-m-c-h-ho +input:m-no-c-h-ho +input:t-m-no-c-h-ho +input:t-ya-m-no-c-h-ho +input:t-yv-ya-m-no-c-h-ho +input:t-yv-m-no-c-h-ho +input:ya-m-no-c-h-ho +input:yv-ya-m-no-c-h-ho +input:yv-m-no-c-h-ho +input:t-m-c-h-ho +input:t-ya-m-c-h-ho +input:t-yv-ya-m-c-h-ho +input:t-yv-m-c-h-ho +input:ya-m-c-h-ho +input:yv-ya-m-c-h-ho +input:yv-m-c-h-ho +input:nl-c-h-ho +input:nl-no-c-h-ho +input:nl-t-no-c-h-ho +input:nl-t-ya-no-c-h-ho +input:nl-t-yv-ya-no-c-h-ho +input:nl-t-yv-no-c-h-ho +input:nl-ya-no-c-h-ho +input:nl-yv-ya-no-c-h-ho +input:nl-yv-no-c-h-ho +input:nl-t-c-h-ho +input:nl-t-ya-c-h-ho +input:nl-t-yv-ya-c-h-ho +input:nl-t-yv-c-h-ho +input:nl-ya-c-h-ho +input:nl-yv-ya-c-h-ho +input:nl-yv-c-h-ho +input:no-c-h-ho +input:t-no-c-h-ho +input:t-ya-no-c-h-ho +input:t-yv-ya-no-c-h-ho +input:t-yv-no-c-h-ho +input:ya-no-c-h-ho +input:yv-ya-no-c-h-ho +input:yv-no-c-h-ho +input:t-c-h-ho +input:t-ya-c-h-ho +input:t-yv-ya-c-h-ho +input:t-yv-c-h-ho +input:ya-c-h-ho +input:yv-ya-c-h-ho +input:yv-c-h-ho +input:c-l-h +input:m-c-l-h +input:nl-m-c-l-h +input:nl-m-no-c-l-h +input:nl-t-m-no-c-l-h +input:nl-t-ya-m-no-c-l-h +input:nl-t-yv-ya-m-no-c-l-h +input:nl-t-yv-m-no-c-l-h +input:nl-ya-m-no-c-l-h +input:nl-yv-ya-m-no-c-l-h +input:nl-yv-m-no-c-l-h +input:nl-t-m-c-l-h +input:nl-t-ya-m-c-l-h +input:nl-t-yv-ya-m-c-l-h +input:nl-t-yv-m-c-l-h +input:nl-ya-m-c-l-h +input:nl-yv-ya-m-c-l-h +input:nl-yv-m-c-l-h +input:m-no-c-l-h +input:t-m-no-c-l-h +input:t-ya-m-no-c-l-h +input:t-yv-ya-m-no-c-l-h +input:t-yv-m-no-c-l-h +input:ya-m-no-c-l-h +input:yv-ya-m-no-c-l-h +input:yv-m-no-c-l-h +input:t-m-c-l-h +input:t-ya-m-c-l-h +input:t-yv-ya-m-c-l-h +input:t-yv-m-c-l-h +input:ya-m-c-l-h +input:yv-ya-m-c-l-h +input:yv-m-c-l-h +input:nl-c-l-h +input:nl-no-c-l-h +input:nl-t-no-c-l-h +input:nl-t-ya-no-c-l-h +input:nl-t-yv-ya-no-c-l-h +input:nl-t-yv-no-c-l-h +input:nl-ya-no-c-l-h +input:nl-yv-ya-no-c-l-h +input:nl-yv-no-c-l-h +input:nl-t-c-l-h +input:nl-t-ya-c-l-h +input:nl-t-yv-ya-c-l-h +input:nl-t-yv-c-l-h +input:nl-ya-c-l-h +input:nl-yv-ya-c-l-h +input:nl-yv-c-l-h +input:no-c-l-h +input:t-no-c-l-h +input:t-ya-no-c-l-h +input:t-yv-ya-no-c-l-h +input:t-yv-no-c-l-h +input:ya-no-c-l-h +input:yv-ya-no-c-l-h +input:yv-no-c-l-h +input:t-c-l-h +input:t-ya-c-l-h +input:t-yv-ya-c-l-h +input:t-yv-c-l-h +input:ya-c-l-h +input:yv-ya-c-l-h +input:yv-c-l-h +input:m-c-h +input:nl-m-c-h +input:nl-m-no-c-h +input:nl-t-m-no-c-h +input:nl-t-ya-m-no-c-h +input:nl-t-yv-ya-m-no-c-h +input:nl-t-yv-m-no-c-h +input:nl-ya-m-no-c-h +input:nl-yv-ya-m-no-c-h +input:nl-yv-m-no-c-h +input:nl-t-m-c-h +input:nl-t-ya-m-c-h +input:nl-t-yv-ya-m-c-h +input:nl-t-yv-m-c-h +input:nl-ya-m-c-h +input:nl-yv-ya-m-c-h +input:nl-yv-m-c-h +input:m-no-c-h +input:t-m-no-c-h +input:t-ya-m-no-c-h +input:t-yv-ya-m-no-c-h +input:t-yv-m-no-c-h +input:ya-m-no-c-h +input:yv-ya-m-no-c-h +input:yv-m-no-c-h +input:t-m-c-h +input:t-ya-m-c-h +input:t-yv-ya-m-c-h +input:t-yv-m-c-h +input:ya-m-c-h +input:yv-ya-m-c-h +input:yv-m-c-h +input:nl-c-h +input:nl-no-c-h +input:nl-t-no-c-h +input:nl-t-ya-no-c-h +input:nl-t-yv-ya-no-c-h +input:nl-t-yv-no-c-h +input:nl-ya-no-c-h +input:nl-yv-ya-no-c-h +input:nl-yv-no-c-h +input:nl-t-c-h +input:nl-t-ya-c-h +input:nl-t-yv-ya-c-h +input:nl-t-yv-c-h +input:nl-ya-c-h +input:nl-yv-ya-c-h +input:nl-yv-c-h +input:no-c-h +input:t-no-c-h +input:t-ya-no-c-h +input:t-yv-ya-no-c-h +input:t-yv-no-c-h +input:ya-no-c-h +input:yv-ya-no-c-h +input:yv-no-c-h +input:t-c-h +input:t-ya-c-h +input:t-yv-ya-c-h +input:t-yv-c-h +input:ya-c-h +input:yv-ya-c-h +input:yv-c-h +input:c-ho +input:c-l-ho +input:m-c-l-ho +input:nl-m-c-l-ho +input:nl-m-no-c-l-ho +input:nl-t-m-no-c-l-ho +input:nl-t-ya-m-no-c-l-ho +input:nl-t-yv-ya-m-no-c-l-ho +input:nl-t-yv-m-no-c-l-ho +input:nl-ya-m-no-c-l-ho +input:nl-yv-ya-m-no-c-l-ho +input:nl-yv-m-no-c-l-ho +input:nl-t-m-c-l-ho +input:nl-t-ya-m-c-l-ho +input:nl-t-yv-ya-m-c-l-ho +input:nl-t-yv-m-c-l-ho +input:nl-ya-m-c-l-ho +input:nl-yv-ya-m-c-l-ho +input:nl-yv-m-c-l-ho +input:m-no-c-l-ho +input:t-m-no-c-l-ho +input:t-ya-m-no-c-l-ho +input:t-yv-ya-m-no-c-l-ho +input:t-yv-m-no-c-l-ho +input:ya-m-no-c-l-ho +input:yv-ya-m-no-c-l-ho +input:yv-m-no-c-l-ho +input:t-m-c-l-ho +input:t-ya-m-c-l-ho +input:t-yv-ya-m-c-l-ho +input:t-yv-m-c-l-ho +input:ya-m-c-l-ho +input:yv-ya-m-c-l-ho +input:yv-m-c-l-ho +input:nl-c-l-ho +input:nl-no-c-l-ho +input:nl-t-no-c-l-ho +input:nl-t-ya-no-c-l-ho +input:nl-t-yv-ya-no-c-l-ho +input:nl-t-yv-no-c-l-ho +input:nl-ya-no-c-l-ho +input:nl-yv-ya-no-c-l-ho +input:nl-yv-no-c-l-ho +input:nl-t-c-l-ho +input:nl-t-ya-c-l-ho +input:nl-t-yv-ya-c-l-ho +input:nl-t-yv-c-l-ho +input:nl-ya-c-l-ho +input:nl-yv-ya-c-l-ho +input:nl-yv-c-l-ho +input:no-c-l-ho +input:t-no-c-l-ho +input:t-ya-no-c-l-ho +input:t-yv-ya-no-c-l-ho +input:t-yv-no-c-l-ho +input:ya-no-c-l-ho +input:yv-ya-no-c-l-ho +input:yv-no-c-l-ho +input:t-c-l-ho +input:t-ya-c-l-ho +input:t-yv-ya-c-l-ho +input:t-yv-c-l-ho +input:ya-c-l-ho +input:yv-ya-c-l-ho +input:yv-c-l-ho +input:m-c-ho +input:nl-m-c-ho +input:nl-m-no-c-ho +input:nl-t-m-no-c-ho +input:nl-t-ya-m-no-c-ho +input:nl-t-yv-ya-m-no-c-ho +input:nl-t-yv-m-no-c-ho +input:nl-ya-m-no-c-ho +input:nl-yv-ya-m-no-c-ho +input:nl-yv-m-no-c-ho +input:nl-t-m-c-ho +input:nl-t-ya-m-c-ho +input:nl-t-yv-ya-m-c-ho +input:nl-t-yv-m-c-ho +input:nl-ya-m-c-ho +input:nl-yv-ya-m-c-ho +input:nl-yv-m-c-ho +input:m-no-c-ho +input:t-m-no-c-ho +input:t-ya-m-no-c-ho +input:t-yv-ya-m-no-c-ho +input:t-yv-m-no-c-ho +input:ya-m-no-c-ho +input:yv-ya-m-no-c-ho +input:yv-m-no-c-ho +input:t-m-c-ho +input:t-ya-m-c-ho +input:t-yv-ya-m-c-ho +input:t-yv-m-c-ho +input:ya-m-c-ho +input:yv-ya-m-c-ho +input:yv-m-c-ho +input:nl-c-ho +input:nl-no-c-ho +input:nl-t-no-c-ho +input:nl-t-ya-no-c-ho +input:nl-t-yv-ya-no-c-ho +input:nl-t-yv-no-c-ho +input:nl-ya-no-c-ho +input:nl-yv-ya-no-c-ho +input:nl-yv-no-c-ho +input:nl-t-c-ho +input:nl-t-ya-c-ho +input:nl-t-yv-ya-c-ho +input:nl-t-yv-c-ho +input:nl-ya-c-ho +input:nl-yv-ya-c-ho +input:nl-yv-c-ho +input:no-c-ho +input:t-no-c-ho +input:t-ya-no-c-ho +input:t-yv-ya-no-c-ho +input:t-yv-no-c-ho +input:ya-no-c-ho +input:yv-ya-no-c-ho +input:yv-no-c-ho +input:t-c-ho +input:t-ya-c-ho +input:t-yv-ya-c-ho +input:t-yv-c-ho +input:ya-c-ho +input:yv-ya-c-ho +input:yv-c-ho +input:c-l +input:m-c-l +input:nl-m-c-l +input:nl-m-no-c-l +input:nl-t-m-no-c-l +input:nl-t-ya-m-no-c-l +input:nl-t-yv-ya-m-no-c-l +input:nl-t-yv-m-no-c-l +input:nl-ya-m-no-c-l +input:nl-yv-ya-m-no-c-l +input:nl-yv-m-no-c-l +input:nl-t-m-c-l +input:nl-t-ya-m-c-l +input:nl-t-yv-ya-m-c-l +input:nl-t-yv-m-c-l +input:nl-ya-m-c-l +input:nl-yv-ya-m-c-l +input:nl-yv-m-c-l +input:m-no-c-l +input:t-m-no-c-l +input:t-ya-m-no-c-l +input:t-yv-ya-m-no-c-l +input:t-yv-m-no-c-l +input:ya-m-no-c-l +input:yv-ya-m-no-c-l +input:yv-m-no-c-l +input:t-m-c-l +input:t-ya-m-c-l +input:t-yv-ya-m-c-l +input:t-yv-m-c-l +input:ya-m-c-l +input:yv-ya-m-c-l +input:yv-m-c-l +input:nl-c-l +input:nl-no-c-l +input:nl-t-no-c-l +input:nl-t-ya-no-c-l +input:nl-t-yv-ya-no-c-l +input:nl-t-yv-no-c-l +input:nl-ya-no-c-l +input:nl-yv-ya-no-c-l +input:nl-yv-no-c-l +input:nl-t-c-l +input:nl-t-ya-c-l +input:nl-t-yv-ya-c-l +input:nl-t-yv-c-l +input:nl-ya-c-l +input:nl-yv-ya-c-l +input:nl-yv-c-l +input:no-c-l +input:t-no-c-l +input:t-ya-no-c-l +input:t-yv-ya-no-c-l +input:t-yv-no-c-l +input:ya-no-c-l +input:yv-ya-no-c-l +input:yv-no-c-l +input:t-c-l +input:t-ya-c-l +input:t-yv-ya-c-l +input:t-yv-c-l +input:ya-c-l +input:yv-ya-c-l +input:yv-c-l +input:m-c +input:nl-m-c +input:nl-m-no-c +input:nl-t-m-no-c +input:nl-t-ya-m-no-c +input:nl-t-yv-ya-m-no-c +input:nl-t-yv-m-no-c +input:nl-ya-m-no-c +input:nl-yv-ya-m-no-c +input:nl-yv-m-no-c +input:nl-t-m-c +input:nl-t-ya-m-c +input:nl-t-yv-ya-m-c +input:nl-t-yv-m-c +input:nl-ya-m-c +input:nl-yv-ya-m-c +input:nl-yv-m-c +input:m-no-c +input:t-m-no-c +input:t-ya-m-no-c +input:t-yv-ya-m-no-c +input:t-yv-m-no-c +input:ya-m-no-c +input:yv-ya-m-no-c +input:yv-m-no-c +input:t-m-c +input:t-ya-m-c +input:t-yv-ya-m-c +input:t-yv-m-c +input:ya-m-c +input:yv-ya-m-c +input:yv-m-c +input:nl-c +input:nl-no-c +input:nl-t-no-c +input:nl-t-ya-no-c +input:nl-t-yv-ya-no-c +input:nl-t-yv-no-c +input:nl-ya-no-c +input:nl-yv-ya-no-c +input:nl-yv-no-c +input:nl-t-c +input:nl-t-ya-c +input:nl-t-yv-ya-c +input:nl-t-yv-c +input:nl-ya-c +input:nl-yv-ya-c +input:nl-yv-c +input:no-c +input:t-no-c +input:t-ya-no-c +input:t-yv-ya-no-c +input:t-yv-no-c +input:ya-no-c +input:yv-ya-no-c +input:yv-no-c +input:t-c +input:t-ya-c +input:t-yv-ya-c +input:t-yv-c +input:ya-c +input:yv-ya-c +input:yv-c +input:h +input:h-ho +input:l-h-ho +input:m-l-h-ho +input:nl-m-l-h-ho +input:nl-m-no-l-h-ho +input:nl-t-m-no-l-h-ho +input:nl-t-ya-m-no-l-h-ho +input:nl-t-yv-ya-m-no-l-h-ho +input:nl-t-yv-m-no-l-h-ho +input:nl-ya-m-no-l-h-ho +input:nl-yv-ya-m-no-l-h-ho +input:nl-yv-m-no-l-h-ho +input:nl-t-m-l-h-ho +input:nl-t-ya-m-l-h-ho +input:nl-t-yv-ya-m-l-h-ho +input:nl-t-yv-m-l-h-ho +input:nl-ya-m-l-h-ho +input:nl-yv-ya-m-l-h-ho +input:nl-yv-m-l-h-ho +input:m-no-l-h-ho +input:t-m-no-l-h-ho +input:t-ya-m-no-l-h-ho +input:t-yv-ya-m-no-l-h-ho +input:t-yv-m-no-l-h-ho +input:ya-m-no-l-h-ho +input:yv-ya-m-no-l-h-ho +input:yv-m-no-l-h-ho +input:t-m-l-h-ho +input:t-ya-m-l-h-ho +input:t-yv-ya-m-l-h-ho +input:t-yv-m-l-h-ho +input:ya-m-l-h-ho +input:yv-ya-m-l-h-ho +input:yv-m-l-h-ho +input:nl-l-h-ho +input:nl-no-l-h-ho +input:nl-t-no-l-h-ho +input:nl-t-ya-no-l-h-ho +input:nl-t-yv-ya-no-l-h-ho +input:nl-t-yv-no-l-h-ho +input:nl-ya-no-l-h-ho +input:nl-yv-ya-no-l-h-ho +input:nl-yv-no-l-h-ho +input:nl-t-l-h-ho +input:nl-t-ya-l-h-ho +input:nl-t-yv-ya-l-h-ho +input:nl-t-yv-l-h-ho +input:nl-ya-l-h-ho +input:nl-yv-ya-l-h-ho +input:nl-yv-l-h-ho +input:no-l-h-ho +input:t-no-l-h-ho +input:t-ya-no-l-h-ho +input:t-yv-ya-no-l-h-ho +input:t-yv-no-l-h-ho +input:ya-no-l-h-ho +input:yv-ya-no-l-h-ho +input:yv-no-l-h-ho +input:t-l-h-ho +input:t-ya-l-h-ho +input:t-yv-ya-l-h-ho +input:t-yv-l-h-ho +input:ya-l-h-ho +input:yv-ya-l-h-ho +input:yv-l-h-ho +input:m-h-ho +input:nl-m-h-ho +input:nl-m-no-h-ho +input:nl-t-m-no-h-ho +input:nl-t-ya-m-no-h-ho +input:nl-t-yv-ya-m-no-h-ho +input:nl-t-yv-m-no-h-ho +input:nl-ya-m-no-h-ho +input:nl-yv-ya-m-no-h-ho +input:nl-yv-m-no-h-ho +input:nl-t-m-h-ho +input:nl-t-ya-m-h-ho +input:nl-t-yv-ya-m-h-ho +input:nl-t-yv-m-h-ho +input:nl-ya-m-h-ho +input:nl-yv-ya-m-h-ho +input:nl-yv-m-h-ho +input:m-no-h-ho +input:t-m-no-h-ho +input:t-ya-m-no-h-ho +input:t-yv-ya-m-no-h-ho +input:t-yv-m-no-h-ho +input:ya-m-no-h-ho +input:yv-ya-m-no-h-ho +input:yv-m-no-h-ho +input:t-m-h-ho +input:t-ya-m-h-ho +input:t-yv-ya-m-h-ho +input:t-yv-m-h-ho +input:ya-m-h-ho +input:yv-ya-m-h-ho +input:yv-m-h-ho +input:nl-h-ho +input:nl-no-h-ho +input:nl-t-no-h-ho +input:nl-t-ya-no-h-ho +input:nl-t-yv-ya-no-h-ho +input:nl-t-yv-no-h-ho +input:nl-ya-no-h-ho +input:nl-yv-ya-no-h-ho +input:nl-yv-no-h-ho +input:nl-t-h-ho +input:nl-t-ya-h-ho +input:nl-t-yv-ya-h-ho +input:nl-t-yv-h-ho +input:nl-ya-h-ho +input:nl-yv-ya-h-ho +input:nl-yv-h-ho +input:no-h-ho +input:t-no-h-ho +input:t-ya-no-h-ho +input:t-yv-ya-no-h-ho +input:t-yv-no-h-ho +input:ya-no-h-ho +input:yv-ya-no-h-ho +input:yv-no-h-ho +input:t-h-ho +input:t-ya-h-ho +input:t-yv-ya-h-ho +input:t-yv-h-ho +input:ya-h-ho +input:yv-ya-h-ho +input:yv-h-ho +input:l-h +input:m-l-h +input:nl-m-l-h +input:nl-m-no-l-h +input:nl-t-m-no-l-h +input:nl-t-ya-m-no-l-h +input:nl-t-yv-ya-m-no-l-h +input:nl-t-yv-m-no-l-h +input:nl-ya-m-no-l-h +input:nl-yv-ya-m-no-l-h +input:nl-yv-m-no-l-h +input:nl-t-m-l-h +input:nl-t-ya-m-l-h +input:nl-t-yv-ya-m-l-h +input:nl-t-yv-m-l-h +input:nl-ya-m-l-h +input:nl-yv-ya-m-l-h +input:nl-yv-m-l-h +input:m-no-l-h +input:t-m-no-l-h +input:t-ya-m-no-l-h +input:t-yv-ya-m-no-l-h +input:t-yv-m-no-l-h +input:ya-m-no-l-h +input:yv-ya-m-no-l-h +input:yv-m-no-l-h +input:t-m-l-h +input:t-ya-m-l-h +input:t-yv-ya-m-l-h +input:t-yv-m-l-h +input:ya-m-l-h +input:yv-ya-m-l-h +input:yv-m-l-h +input:nl-l-h +input:nl-no-l-h +input:nl-t-no-l-h +input:nl-t-ya-no-l-h +input:nl-t-yv-ya-no-l-h +input:nl-t-yv-no-l-h +input:nl-ya-no-l-h +input:nl-yv-ya-no-l-h +input:nl-yv-no-l-h +input:nl-t-l-h +input:nl-t-ya-l-h +input:nl-t-yv-ya-l-h +input:nl-t-yv-l-h +input:nl-ya-l-h +input:nl-yv-ya-l-h +input:nl-yv-l-h +input:no-l-h +input:t-no-l-h +input:t-ya-no-l-h +input:t-yv-ya-no-l-h +input:t-yv-no-l-h +input:ya-no-l-h +input:yv-ya-no-l-h +input:yv-no-l-h +input:t-l-h +input:t-ya-l-h +input:t-yv-ya-l-h +input:t-yv-l-h +input:ya-l-h +input:yv-ya-l-h +input:yv-l-h +input:m-h +input:nl-m-h +input:nl-m-no-h +input:nl-t-m-no-h +input:nl-t-ya-m-no-h +input:nl-t-yv-ya-m-no-h +input:nl-t-yv-m-no-h +input:nl-ya-m-no-h +input:nl-yv-ya-m-no-h +input:nl-yv-m-no-h +input:nl-t-m-h +input:nl-t-ya-m-h +input:nl-t-yv-ya-m-h +input:nl-t-yv-m-h +input:nl-ya-m-h +input:nl-yv-ya-m-h +input:nl-yv-m-h +input:m-no-h +input:t-m-no-h +input:t-ya-m-no-h +input:t-yv-ya-m-no-h +input:t-yv-m-no-h +input:ya-m-no-h +input:yv-ya-m-no-h +input:yv-m-no-h +input:t-m-h +input:t-ya-m-h +input:t-yv-ya-m-h +input:t-yv-m-h +input:ya-m-h +input:yv-ya-m-h +input:yv-m-h +input:nl-h +input:nl-no-h +input:nl-t-no-h +input:nl-t-ya-no-h +input:nl-t-yv-ya-no-h +input:nl-t-yv-no-h +input:nl-ya-no-h +input:nl-yv-ya-no-h +input:nl-yv-no-h +input:nl-t-h +input:nl-t-ya-h +input:nl-t-yv-ya-h +input:nl-t-yv-h +input:nl-ya-h +input:nl-yv-ya-h +input:nl-yv-h +input:no-h +input:t-no-h +input:t-ya-no-h +input:t-yv-ya-no-h +input:t-yv-no-h +input:ya-no-h +input:yv-ya-no-h +input:yv-no-h +input:t-h +input:t-ya-h +input:t-yv-ya-h +input:t-yv-h +input:ya-h +input:yv-ya-h +input:yv-h +input:ho +input:l-ho +input:m-l-ho +input:nl-m-l-ho +input:nl-m-no-l-ho +input:nl-t-m-no-l-ho +input:nl-t-ya-m-no-l-ho +input:nl-t-yv-ya-m-no-l-ho +input:nl-t-yv-m-no-l-ho +input:nl-ya-m-no-l-ho +input:nl-yv-ya-m-no-l-ho +input:nl-yv-m-no-l-ho +input:nl-t-m-l-ho +input:nl-t-ya-m-l-ho +input:nl-t-yv-ya-m-l-ho +input:nl-t-yv-m-l-ho +input:nl-ya-m-l-ho +input:nl-yv-ya-m-l-ho +input:nl-yv-m-l-ho +input:m-no-l-ho +input:t-m-no-l-ho +input:t-ya-m-no-l-ho +input:t-yv-ya-m-no-l-ho +input:t-yv-m-no-l-ho +input:ya-m-no-l-ho +input:yv-ya-m-no-l-ho +input:yv-m-no-l-ho +input:t-m-l-ho +input:t-ya-m-l-ho +input:t-yv-ya-m-l-ho +input:t-yv-m-l-ho +input:ya-m-l-ho +input:yv-ya-m-l-ho +input:yv-m-l-ho +input:nl-l-ho +input:nl-no-l-ho +input:nl-t-no-l-ho +input:nl-t-ya-no-l-ho +input:nl-t-yv-ya-no-l-ho +input:nl-t-yv-no-l-ho +input:nl-ya-no-l-ho +input:nl-yv-ya-no-l-ho +input:nl-yv-no-l-ho +input:nl-t-l-ho +input:nl-t-ya-l-ho +input:nl-t-yv-ya-l-ho +input:nl-t-yv-l-ho +input:nl-ya-l-ho +input:nl-yv-ya-l-ho +input:nl-yv-l-ho +input:no-l-ho +input:t-no-l-ho +input:t-ya-no-l-ho +input:t-yv-ya-no-l-ho +input:t-yv-no-l-ho +input:ya-no-l-ho +input:yv-ya-no-l-ho +input:yv-no-l-ho +input:t-l-ho +input:t-ya-l-ho +input:t-yv-ya-l-ho +input:t-yv-l-ho +input:ya-l-ho +input:yv-ya-l-ho +input:yv-l-ho +input:m-ho +input:nl-m-ho +input:nl-m-no-ho +input:nl-t-m-no-ho +input:nl-t-ya-m-no-ho +input:nl-t-yv-ya-m-no-ho +input:nl-t-yv-m-no-ho +input:nl-ya-m-no-ho +input:nl-yv-ya-m-no-ho +input:nl-yv-m-no-ho +input:nl-t-m-ho +input:nl-t-ya-m-ho +input:nl-t-yv-ya-m-ho +input:nl-t-yv-m-ho +input:nl-ya-m-ho +input:nl-yv-ya-m-ho +input:nl-yv-m-ho +input:m-no-ho +input:t-m-no-ho +input:t-ya-m-no-ho +input:t-yv-ya-m-no-ho +input:t-yv-m-no-ho +input:ya-m-no-ho +input:yv-ya-m-no-ho +input:yv-m-no-ho +input:t-m-ho +input:t-ya-m-ho +input:t-yv-ya-m-ho +input:t-yv-m-ho +input:ya-m-ho +input:yv-ya-m-ho +input:yv-m-ho +input:nl-ho +input:nl-no-ho +input:nl-t-no-ho +input:nl-t-ya-no-ho +input:nl-t-yv-ya-no-ho +input:nl-t-yv-no-ho +input:nl-ya-no-ho +input:nl-yv-ya-no-ho +input:nl-yv-no-ho +input:nl-t-ho +input:nl-t-ya-ho +input:nl-t-yv-ya-ho +input:nl-t-yv-ho +input:nl-ya-ho +input:nl-yv-ya-ho +input:nl-yv-ho +input:no-ho +input:t-no-ho +input:t-ya-no-ho +input:t-yv-ya-no-ho +input:t-yv-no-ho +input:ya-no-ho +input:yv-ya-no-ho +input:yv-no-ho +input:t-ho +input:t-ya-ho +input:t-yv-ya-ho +input:t-yv-ho +input:ya-ho +input:yv-ya-ho +input:yv-ho +input:l +input:m-l +input:nl-m-l +input:nl-m-no-l +input:nl-t-m-no-l +input:nl-t-ya-m-no-l +input:nl-t-yv-ya-m-no-l +input:nl-t-yv-m-no-l +input:nl-ya-m-no-l +input:nl-yv-ya-m-no-l +input:nl-yv-m-no-l +input:nl-t-m-l +input:nl-t-ya-m-l +input:nl-t-yv-ya-m-l +input:nl-t-yv-m-l +input:nl-ya-m-l +input:nl-yv-ya-m-l +input:nl-yv-m-l +input:m-no-l +input:t-m-no-l +input:t-ya-m-no-l +input:t-yv-ya-m-no-l +input:t-yv-m-no-l +input:ya-m-no-l +input:yv-ya-m-no-l +input:yv-m-no-l +input:t-m-l +input:t-ya-m-l +input:t-yv-ya-m-l +input:t-yv-m-l +input:ya-m-l +input:yv-ya-m-l +input:yv-m-l +input:nl-l +input:nl-no-l +input:nl-t-no-l +input:nl-t-ya-no-l +input:nl-t-yv-ya-no-l +input:nl-t-yv-no-l +input:nl-ya-no-l +input:nl-yv-ya-no-l +input:nl-yv-no-l +input:nl-t-l +input:nl-t-ya-l +input:nl-t-yv-ya-l +input:nl-t-yv-l +input:nl-ya-l +input:nl-yv-ya-l +input:nl-yv-l +input:no-l +input:t-no-l +input:t-ya-no-l +input:t-yv-ya-no-l +input:t-yv-no-l +input:ya-no-l +input:yv-ya-no-l +input:yv-no-l +input:t-l +input:t-ya-l +input:t-yv-ya-l +input:t-yv-l +input:ya-l +input:yv-ya-l +input:yv-l +input:m +input:nl-m +input:nl-m-no +input:nl-t-m-no +input:nl-t-ya-m-no +input:nl-t-yv-ya-m-no +input:nl-t-yv-m-no +input:nl-ya-m-no +input:nl-yv-ya-m-no +input:nl-yv-m-no +input:nl-t-m +input:nl-t-ya-m +input:nl-t-yv-ya-m +input:nl-t-yv-m +input:nl-ya-m +input:nl-yv-ya-m +input:nl-yv-m +input:m-no +input:t-m-no +input:t-ya-m-no +input:t-yv-ya-m-no +input:t-yv-m-no +input:ya-m-no +input:yv-ya-m-no +input:yv-m-no +input:t-m +input:t-ya-m +input:t-yv-ya-m +input:t-yv-m +input:ya-m +input:yv-ya-m +input:yv-m +input:nl +input:nl-no +input:nl-t-no +input:nl-t-ya-no +input:nl-t-yv-ya-no +input:nl-t-yv-no +input:nl-ya-no +input:nl-yv-ya-no +input:nl-yv-no +input:nl-t +input:nl-t-ya +input:nl-t-yv-ya +input:nl-t-yv +input:nl-ya +input:nl-yv-ya +input:nl-yv +input:no +input:t-no +input:t-ya-no +input:t-yv-ya-no +input:t-yv-no +input:ya-no +input:yv-ya-no +input:yv-no +input:t +input:t-ya +input:t-yv-ya +input:t-yv +input:ya +input:yv-ya +input:yv +interestrate: +interestrate:y +inv: +inv::pyam +inv:nl +inv:nl-t +inv:nl-t-yv +inv:nl-yv +inv:t +inv:t-yv +inv:yv +inv_cost: +inv_cost:nl +inv_cost:nl-t +inv_cost:nl-t-yv +inv_cost:nl-yv +inv_cost:t +inv_cost:t-yv +inv_cost:yv +is_capacity_factor +l +land_cost: +land_cost:n +land_cost:n-s +land_cost:n-s-y +land_cost:n-y +land_cost:s +land_cost:s-y +land_cost:y +land_emi: +land_emi:e +land_emi:n-e +land_emi:n-s-e +land_emi:n-s-y-e +land_emi:n-y-e +land_emi:s-e +land_emi:s-y-e +land_emi:y-e +land_emi:n +land_emi:n-s +land_emi:n-s-y +land_emi:n-y +land_emi:s +land_emi:s-y +land_emi:y +land_emission: +land_emission:e +land_emission:n-e +land_emission:n-s-e +land_emission:n-s-y-e +land_emission:n-y-e +land_emission:s-e +land_emission:s-y-e +land_emission:y-e +land_emission:n +land_emission:n-s +land_emission:n-s-y +land_emission:n-y +land_emission:s +land_emission:s-y +land_emission:y +land_input: +land_input:c +land_input:c-h +land_input:c-l-h +land_input:n-c-l-h +land_input:n-s-c-l-h +land_input:n-s-y-c-l-h +land_input:n-y-c-l-h +land_input:s-c-l-h +land_input:s-y-c-l-h +land_input:y-c-l-h +land_input:n-c-h +land_input:n-s-c-h +land_input:n-s-y-c-h +land_input:n-y-c-h +land_input:s-c-h +land_input:s-y-c-h +land_input:y-c-h +land_input:c-l +land_input:n-c-l +land_input:n-s-c-l +land_input:n-s-y-c-l +land_input:n-y-c-l +land_input:s-c-l +land_input:s-y-c-l +land_input:y-c-l +land_input:n-c +land_input:n-s-c +land_input:n-s-y-c +land_input:n-y-c +land_input:s-c +land_input:s-y-c +land_input:y-c +land_input:h +land_input:l-h +land_input:n-l-h +land_input:n-s-l-h +land_input:n-s-y-l-h +land_input:n-y-l-h +land_input:s-l-h +land_input:s-y-l-h +land_input:y-l-h +land_input:n-h +land_input:n-s-h +land_input:n-s-y-h +land_input:n-y-h +land_input:s-h +land_input:s-y-h +land_input:y-h +land_input:l +land_input:n-l +land_input:n-s-l +land_input:n-s-y-l +land_input:n-y-l +land_input:s-l +land_input:s-y-l +land_input:y-l +land_input:n +land_input:n-s +land_input:n-s-y +land_input:n-y +land_input:s +land_input:s-y +land_input:y +land_out: +land_out:c +land_out:c-h +land_out:c-l-h +land_out:n-c-l-h +land_out:n-s-c-l-h +land_out:n-s-y-c-l-h +land_out:n-y-c-l-h +land_out:s-c-l-h +land_out:s-y-c-l-h +land_out:y-c-l-h +land_out:n-c-h +land_out:n-s-c-h +land_out:n-s-y-c-h +land_out:n-y-c-h +land_out:s-c-h +land_out:s-y-c-h +land_out:y-c-h +land_out:c-l +land_out:n-c-l +land_out:n-s-c-l +land_out:n-s-y-c-l +land_out:n-y-c-l +land_out:s-c-l +land_out:s-y-c-l +land_out:y-c-l +land_out:n-c +land_out:n-s-c +land_out:n-s-y-c +land_out:n-y-c +land_out:s-c +land_out:s-y-c +land_out:y-c +land_out:h +land_out:l-h +land_out:n-l-h +land_out:n-s-l-h +land_out:n-s-y-l-h +land_out:n-y-l-h +land_out:s-l-h +land_out:s-y-l-h +land_out:y-l-h +land_out:n-h +land_out:n-s-h +land_out:n-s-y-h +land_out:n-y-h +land_out:s-h +land_out:s-y-h +land_out:y-h +land_out:l +land_out:n-l +land_out:n-s-l +land_out:n-s-y-l +land_out:n-y-l +land_out:s-l +land_out:s-y-l +land_out:y-l +land_out:n +land_out:n-s +land_out:n-s-y +land_out:n-y +land_out:s +land_out:s-y +land_out:y +land_output: +land_output:c +land_output:c-h +land_output:c-l-h +land_output:n-c-l-h +land_output:n-s-c-l-h +land_output:n-s-y-c-l-h +land_output:n-y-c-l-h +land_output:s-c-l-h +land_output:s-y-c-l-h +land_output:y-c-l-h +land_output:n-c-h +land_output:n-s-c-h +land_output:n-s-y-c-h +land_output:n-y-c-h +land_output:s-c-h +land_output:s-y-c-h +land_output:y-c-h +land_output:c-l +land_output:n-c-l +land_output:n-s-c-l +land_output:n-s-y-c-l +land_output:n-y-c-l +land_output:s-c-l +land_output:s-y-c-l +land_output:y-c-l +land_output:n-c +land_output:n-s-c +land_output:n-s-y-c +land_output:n-y-c +land_output:s-c +land_output:s-y-c +land_output:y-c +land_output:h +land_output:l-h +land_output:n-l-h +land_output:n-s-l-h +land_output:n-s-y-l-h +land_output:n-y-l-h +land_output:s-l-h +land_output:s-y-l-h +land_output:y-l-h +land_output:n-h +land_output:n-s-h +land_output:n-s-y-h +land_output:n-y-h +land_output:s-h +land_output:s-y-h +land_output:y-h +land_output:l +land_output:n-l +land_output:n-s-l +land_output:n-s-y-l +land_output:n-y-l +land_output:s-l +land_output:s-y-l +land_output:y-l +land_output:n +land_output:n-s +land_output:n-s-y +land_output:n-y +land_output:s +land_output:s-y +land_output:y +land_use: +land_use:n +land_use:n-s +land_use:n-s-u +land_use:n-s-y-u +land_use:n-s-y +land_use:n-u +land_use:n-y-u +land_use:n-y +land_use:s +land_use:s-u +land_use:s-y-u +land_use:s-y +land_use:u +land_use:y-u +land_use:y +land_use_qty: +land_use_qty:n +land_use_qty:n-s +land_use_qty:n-s-u +land_use_qty:n-s-y-u +land_use_qty:n-s-y +land_use_qty:n-u +land_use_qty:n-y-u +land_use_qty:n-y +land_use_qty:s +land_use_qty:s-u +land_use_qty:s-y-u +land_use_qty:s-y +land_use_qty:u +land_use_qty:y-u +land_use_qty:y +level_cost_activity_soft_lo: +level_cost_activity_soft_lo:h +level_cost_activity_soft_lo:nl-h +level_cost_activity_soft_lo:nl-t-h +level_cost_activity_soft_lo:nl-t-ya-h +level_cost_activity_soft_lo:nl-ya-h +level_cost_activity_soft_lo:t-h +level_cost_activity_soft_lo:t-ya-h +level_cost_activity_soft_lo:ya-h +level_cost_activity_soft_lo:nl +level_cost_activity_soft_lo:nl-t +level_cost_activity_soft_lo:nl-t-ya +level_cost_activity_soft_lo:nl-ya +level_cost_activity_soft_lo:t +level_cost_activity_soft_lo:t-ya +level_cost_activity_soft_lo:ya +level_cost_activity_soft_up: +level_cost_activity_soft_up:h +level_cost_activity_soft_up:nl-h +level_cost_activity_soft_up:nl-t-h +level_cost_activity_soft_up:nl-t-ya-h +level_cost_activity_soft_up:nl-ya-h +level_cost_activity_soft_up:t-h +level_cost_activity_soft_up:t-ya-h +level_cost_activity_soft_up:ya-h +level_cost_activity_soft_up:nl +level_cost_activity_soft_up:nl-t +level_cost_activity_soft_up:nl-t-ya +level_cost_activity_soft_up:nl-ya +level_cost_activity_soft_up:t +level_cost_activity_soft_up:t-ya +level_cost_activity_soft_up:ya +level_cost_new_capacity_soft_lo: +level_cost_new_capacity_soft_lo:nl +level_cost_new_capacity_soft_lo:nl-t +level_cost_new_capacity_soft_lo:nl-t-yv +level_cost_new_capacity_soft_lo:nl-yv +level_cost_new_capacity_soft_lo:t +level_cost_new_capacity_soft_lo:t-yv +level_cost_new_capacity_soft_lo:yv +level_cost_new_capacity_soft_up: +level_cost_new_capacity_soft_up:nl +level_cost_new_capacity_soft_up:nl-t +level_cost_new_capacity_soft_up:nl-t-yv +level_cost_new_capacity_soft_up:nl-yv +level_cost_new_capacity_soft_up:t +level_cost_new_capacity_soft_up:t-yv +level_cost_new_capacity_soft_up:yv +level_renewable +level_resource +level_stocks +level_storage +lvl_spatial +lvl_temporal +m +map_addon +map_emission +map_node +map_shares_commodity_share +map_shares_commodity_total +map_spatial_hierarchy +map_tec +map_tec_addon +map_tec_storage +map_temporal_hierarchy +map_time +map_year +message::costs +message::default +message::emissions +message::system +min_utilization_factor: +min_utilization_factor:nl +min_utilization_factor:nl-t +min_utilization_factor:nl-t-ya +min_utilization_factor:nl-t-yv-ya +min_utilization_factor:nl-t-yv +min_utilization_factor:nl-ya +min_utilization_factor:nl-yv-ya +min_utilization_factor:nl-yv +min_utilization_factor:t +min_utilization_factor:t-ya +min_utilization_factor:t-yv-ya +min_utilization_factor:t-yv +min_utilization_factor:ya +min_utilization_factor:yv-ya +min_utilization_factor:yv +n +operation_factor: +operation_factor:nl +operation_factor:nl-t +operation_factor:nl-t-ya +operation_factor:nl-t-yv-ya +operation_factor:nl-t-yv +operation_factor:nl-ya +operation_factor:nl-yv-ya +operation_factor:nl-yv +operation_factor:t +operation_factor:t-ya +operation_factor:t-yv-ya +operation_factor:t-yv +operation_factor:ya +operation_factor:yv-ya +operation_factor:yv +out: +out::pyam +out:c +out:c-h +out:c-h-hd +out:c-l-h-hd +out:m-c-l-h-hd +out:m-nd-c-l-h-hd +out:nl-m-nd-c-l-h-hd +out:nl-t-m-nd-c-l-h-hd +out:nl-t-ya-m-nd-c-l-h-hd +out:nl-t-yv-ya-m-nd-c-l-h-hd +out:nl-t-yv-m-nd-c-l-h-hd +out:nl-ya-m-nd-c-l-h-hd +out:nl-yv-ya-m-nd-c-l-h-hd +out:nl-yv-m-nd-c-l-h-hd +out:t-m-nd-c-l-h-hd +out:t-ya-m-nd-c-l-h-hd +out:t-yv-ya-m-nd-c-l-h-hd +out:t-yv-m-nd-c-l-h-hd +out:ya-m-nd-c-l-h-hd +out:yv-ya-m-nd-c-l-h-hd +out:yv-m-nd-c-l-h-hd +out:nl-m-c-l-h-hd +out:nl-t-m-c-l-h-hd +out:nl-t-ya-m-c-l-h-hd +out:nl-t-yv-ya-m-c-l-h-hd +out:nl-t-yv-m-c-l-h-hd +out:nl-ya-m-c-l-h-hd +out:nl-yv-ya-m-c-l-h-hd +out:nl-yv-m-c-l-h-hd +out:t-m-c-l-h-hd +out:t-ya-m-c-l-h-hd +out:t-yv-ya-m-c-l-h-hd +out:t-yv-m-c-l-h-hd +out:ya-m-c-l-h-hd +out:yv-ya-m-c-l-h-hd +out:yv-m-c-l-h-hd +out:nd-c-l-h-hd +out:nl-nd-c-l-h-hd +out:nl-t-nd-c-l-h-hd +out:nl-t-ya-nd-c-l-h-hd +out:nl-t-yv-ya-nd-c-l-h-hd +out:nl-t-yv-nd-c-l-h-hd +out:nl-ya-nd-c-l-h-hd +out:nl-yv-ya-nd-c-l-h-hd +out:nl-yv-nd-c-l-h-hd +out:t-nd-c-l-h-hd +out:t-ya-nd-c-l-h-hd +out:t-yv-ya-nd-c-l-h-hd +out:t-yv-nd-c-l-h-hd +out:ya-nd-c-l-h-hd +out:yv-ya-nd-c-l-h-hd +out:yv-nd-c-l-h-hd +out:nl-c-l-h-hd +out:nl-t-c-l-h-hd +out:nl-t-ya-c-l-h-hd +out:nl-t-yv-ya-c-l-h-hd +out:nl-t-yv-c-l-h-hd +out:nl-ya-c-l-h-hd +out:nl-yv-ya-c-l-h-hd +out:nl-yv-c-l-h-hd +out:t-c-l-h-hd +out:t-ya-c-l-h-hd +out:t-yv-ya-c-l-h-hd +out:t-yv-c-l-h-hd +out:ya-c-l-h-hd +out:yv-ya-c-l-h-hd +out:yv-c-l-h-hd +out:m-c-h-hd +out:m-nd-c-h-hd +out:nl-m-nd-c-h-hd +out:nl-t-m-nd-c-h-hd +out:nl-t-ya-m-nd-c-h-hd +out:nl-t-yv-ya-m-nd-c-h-hd +out:nl-t-yv-m-nd-c-h-hd +out:nl-ya-m-nd-c-h-hd +out:nl-yv-ya-m-nd-c-h-hd +out:nl-yv-m-nd-c-h-hd +out:t-m-nd-c-h-hd +out:t-ya-m-nd-c-h-hd +out:t-yv-ya-m-nd-c-h-hd +out:t-yv-m-nd-c-h-hd +out:ya-m-nd-c-h-hd +out:yv-ya-m-nd-c-h-hd +out:yv-m-nd-c-h-hd +out:nl-m-c-h-hd +out:nl-t-m-c-h-hd +out:nl-t-ya-m-c-h-hd +out:nl-t-yv-ya-m-c-h-hd +out:nl-t-yv-m-c-h-hd +out:nl-ya-m-c-h-hd +out:nl-yv-ya-m-c-h-hd +out:nl-yv-m-c-h-hd +out:t-m-c-h-hd +out:t-ya-m-c-h-hd +out:t-yv-ya-m-c-h-hd +out:t-yv-m-c-h-hd +out:ya-m-c-h-hd +out:yv-ya-m-c-h-hd +out:yv-m-c-h-hd +out:nd-c-h-hd +out:nl-nd-c-h-hd +out:nl-t-nd-c-h-hd +out:nl-t-ya-nd-c-h-hd +out:nl-t-yv-ya-nd-c-h-hd +out:nl-t-yv-nd-c-h-hd +out:nl-ya-nd-c-h-hd +out:nl-yv-ya-nd-c-h-hd +out:nl-yv-nd-c-h-hd +out:t-nd-c-h-hd +out:t-ya-nd-c-h-hd +out:t-yv-ya-nd-c-h-hd +out:t-yv-nd-c-h-hd +out:ya-nd-c-h-hd +out:yv-ya-nd-c-h-hd +out:yv-nd-c-h-hd +out:nl-c-h-hd +out:nl-t-c-h-hd +out:nl-t-ya-c-h-hd +out:nl-t-yv-ya-c-h-hd +out:nl-t-yv-c-h-hd +out:nl-ya-c-h-hd +out:nl-yv-ya-c-h-hd +out:nl-yv-c-h-hd +out:t-c-h-hd +out:t-ya-c-h-hd +out:t-yv-ya-c-h-hd +out:t-yv-c-h-hd +out:ya-c-h-hd +out:yv-ya-c-h-hd +out:yv-c-h-hd +out:c-l-h +out:m-c-l-h +out:m-nd-c-l-h +out:nl-m-nd-c-l-h +out:nl-t-m-nd-c-l-h +out:nl-t-ya-m-nd-c-l-h +out:nl-t-yv-ya-m-nd-c-l-h +out:nl-t-yv-m-nd-c-l-h +out:nl-ya-m-nd-c-l-h +out:nl-yv-ya-m-nd-c-l-h +out:nl-yv-m-nd-c-l-h +out:t-m-nd-c-l-h +out:t-ya-m-nd-c-l-h +out:t-yv-ya-m-nd-c-l-h +out:t-yv-m-nd-c-l-h +out:ya-m-nd-c-l-h +out:yv-ya-m-nd-c-l-h +out:yv-m-nd-c-l-h +out:nl-m-c-l-h +out:nl-t-m-c-l-h +out:nl-t-ya-m-c-l-h +out:nl-t-yv-ya-m-c-l-h +out:nl-t-yv-m-c-l-h +out:nl-ya-m-c-l-h +out:nl-yv-ya-m-c-l-h +out:nl-yv-m-c-l-h +out:t-m-c-l-h +out:t-ya-m-c-l-h +out:t-yv-ya-m-c-l-h +out:t-yv-m-c-l-h +out:ya-m-c-l-h +out:yv-ya-m-c-l-h +out:yv-m-c-l-h +out:nd-c-l-h +out:nl-nd-c-l-h +out:nl-t-nd-c-l-h +out:nl-t-ya-nd-c-l-h +out:nl-t-yv-ya-nd-c-l-h +out:nl-t-yv-nd-c-l-h +out:nl-ya-nd-c-l-h +out:nl-yv-ya-nd-c-l-h +out:nl-yv-nd-c-l-h +out:t-nd-c-l-h +out:t-ya-nd-c-l-h +out:t-yv-ya-nd-c-l-h +out:t-yv-nd-c-l-h +out:ya-nd-c-l-h +out:yv-ya-nd-c-l-h +out:yv-nd-c-l-h +out:nl-c-l-h +out:nl-t-c-l-h +out:nl-t-ya-c-l-h +out:nl-t-yv-ya-c-l-h +out:nl-t-yv-c-l-h +out:nl-ya-c-l-h +out:nl-yv-ya-c-l-h +out:nl-yv-c-l-h +out:t-c-l-h +out:t-ya-c-l-h +out:t-yv-ya-c-l-h +out:t-yv-c-l-h +out:ya-c-l-h +out:yv-ya-c-l-h +out:yv-c-l-h +out:m-c-h +out:m-nd-c-h +out:nl-m-nd-c-h +out:nl-t-m-nd-c-h +out:nl-t-ya-m-nd-c-h +out:nl-t-yv-ya-m-nd-c-h +out:nl-t-yv-m-nd-c-h +out:nl-ya-m-nd-c-h +out:nl-yv-ya-m-nd-c-h +out:nl-yv-m-nd-c-h +out:t-m-nd-c-h +out:t-ya-m-nd-c-h +out:t-yv-ya-m-nd-c-h +out:t-yv-m-nd-c-h +out:ya-m-nd-c-h +out:yv-ya-m-nd-c-h +out:yv-m-nd-c-h +out:nl-m-c-h +out:nl-t-m-c-h +out:nl-t-ya-m-c-h +out:nl-t-yv-ya-m-c-h +out:nl-t-yv-m-c-h +out:nl-ya-m-c-h +out:nl-yv-ya-m-c-h +out:nl-yv-m-c-h +out:t-m-c-h +out:t-ya-m-c-h +out:t-yv-ya-m-c-h +out:t-yv-m-c-h +out:ya-m-c-h +out:yv-ya-m-c-h +out:yv-m-c-h +out:nd-c-h +out:nl-nd-c-h +out:nl-t-nd-c-h +out:nl-t-ya-nd-c-h +out:nl-t-yv-ya-nd-c-h +out:nl-t-yv-nd-c-h +out:nl-ya-nd-c-h +out:nl-yv-ya-nd-c-h +out:nl-yv-nd-c-h +out:t-nd-c-h +out:t-ya-nd-c-h +out:t-yv-ya-nd-c-h +out:t-yv-nd-c-h +out:ya-nd-c-h +out:yv-ya-nd-c-h +out:yv-nd-c-h +out:nl-c-h +out:nl-t-c-h +out:nl-t-ya-c-h +out:nl-t-yv-ya-c-h +out:nl-t-yv-c-h +out:nl-ya-c-h +out:nl-yv-ya-c-h +out:nl-yv-c-h +out:t-c-h +out:t-ya-c-h +out:t-yv-ya-c-h +out:t-yv-c-h +out:ya-c-h +out:yv-ya-c-h +out:yv-c-h +out:c-hd +out:c-l-hd +out:m-c-l-hd +out:m-nd-c-l-hd +out:nl-m-nd-c-l-hd +out:nl-t-m-nd-c-l-hd +out:nl-t-ya-m-nd-c-l-hd +out:nl-t-yv-ya-m-nd-c-l-hd +out:nl-t-yv-m-nd-c-l-hd +out:nl-ya-m-nd-c-l-hd +out:nl-yv-ya-m-nd-c-l-hd +out:nl-yv-m-nd-c-l-hd +out:t-m-nd-c-l-hd +out:t-ya-m-nd-c-l-hd +out:t-yv-ya-m-nd-c-l-hd +out:t-yv-m-nd-c-l-hd +out:ya-m-nd-c-l-hd +out:yv-ya-m-nd-c-l-hd +out:yv-m-nd-c-l-hd +out:nl-m-c-l-hd +out:nl-t-m-c-l-hd +out:nl-t-ya-m-c-l-hd +out:nl-t-yv-ya-m-c-l-hd +out:nl-t-yv-m-c-l-hd +out:nl-ya-m-c-l-hd +out:nl-yv-ya-m-c-l-hd +out:nl-yv-m-c-l-hd +out:t-m-c-l-hd +out:t-ya-m-c-l-hd +out:t-yv-ya-m-c-l-hd +out:t-yv-m-c-l-hd +out:ya-m-c-l-hd +out:yv-ya-m-c-l-hd +out:yv-m-c-l-hd +out:nd-c-l-hd +out:nl-nd-c-l-hd +out:nl-t-nd-c-l-hd +out:nl-t-ya-nd-c-l-hd +out:nl-t-yv-ya-nd-c-l-hd +out:nl-t-yv-nd-c-l-hd +out:nl-ya-nd-c-l-hd +out:nl-yv-ya-nd-c-l-hd +out:nl-yv-nd-c-l-hd +out:t-nd-c-l-hd +out:t-ya-nd-c-l-hd +out:t-yv-ya-nd-c-l-hd +out:t-yv-nd-c-l-hd +out:ya-nd-c-l-hd +out:yv-ya-nd-c-l-hd +out:yv-nd-c-l-hd +out:nl-c-l-hd +out:nl-t-c-l-hd +out:nl-t-ya-c-l-hd +out:nl-t-yv-ya-c-l-hd +out:nl-t-yv-c-l-hd +out:nl-ya-c-l-hd +out:nl-yv-ya-c-l-hd +out:nl-yv-c-l-hd +out:t-c-l-hd +out:t-ya-c-l-hd +out:t-yv-ya-c-l-hd +out:t-yv-c-l-hd +out:ya-c-l-hd +out:yv-ya-c-l-hd +out:yv-c-l-hd +out:m-c-hd +out:m-nd-c-hd +out:nl-m-nd-c-hd +out:nl-t-m-nd-c-hd +out:nl-t-ya-m-nd-c-hd +out:nl-t-yv-ya-m-nd-c-hd +out:nl-t-yv-m-nd-c-hd +out:nl-ya-m-nd-c-hd +out:nl-yv-ya-m-nd-c-hd +out:nl-yv-m-nd-c-hd +out:t-m-nd-c-hd +out:t-ya-m-nd-c-hd +out:t-yv-ya-m-nd-c-hd +out:t-yv-m-nd-c-hd +out:ya-m-nd-c-hd +out:yv-ya-m-nd-c-hd +out:yv-m-nd-c-hd +out:nl-m-c-hd +out:nl-t-m-c-hd +out:nl-t-ya-m-c-hd +out:nl-t-yv-ya-m-c-hd +out:nl-t-yv-m-c-hd +out:nl-ya-m-c-hd +out:nl-yv-ya-m-c-hd +out:nl-yv-m-c-hd +out:t-m-c-hd +out:t-ya-m-c-hd +out:t-yv-ya-m-c-hd +out:t-yv-m-c-hd +out:ya-m-c-hd +out:yv-ya-m-c-hd +out:yv-m-c-hd +out:nd-c-hd +out:nl-nd-c-hd +out:nl-t-nd-c-hd +out:nl-t-ya-nd-c-hd +out:nl-t-yv-ya-nd-c-hd +out:nl-t-yv-nd-c-hd +out:nl-ya-nd-c-hd +out:nl-yv-ya-nd-c-hd +out:nl-yv-nd-c-hd +out:t-nd-c-hd +out:t-ya-nd-c-hd +out:t-yv-ya-nd-c-hd +out:t-yv-nd-c-hd +out:ya-nd-c-hd +out:yv-ya-nd-c-hd +out:yv-nd-c-hd +out:nl-c-hd +out:nl-t-c-hd +out:nl-t-ya-c-hd +out:nl-t-yv-ya-c-hd +out:nl-t-yv-c-hd +out:nl-ya-c-hd +out:nl-yv-ya-c-hd +out:nl-yv-c-hd +out:t-c-hd +out:t-ya-c-hd +out:t-yv-ya-c-hd +out:t-yv-c-hd +out:ya-c-hd +out:yv-ya-c-hd +out:yv-c-hd +out:c-l +out:m-c-l +out:m-nd-c-l +out:nl-m-nd-c-l +out:nl-t-m-nd-c-l +out:nl-t-ya-m-nd-c-l +out:nl-t-yv-ya-m-nd-c-l +out:nl-t-yv-m-nd-c-l +out:nl-ya-m-nd-c-l +out:nl-yv-ya-m-nd-c-l +out:nl-yv-m-nd-c-l +out:t-m-nd-c-l +out:t-ya-m-nd-c-l +out:t-yv-ya-m-nd-c-l +out:t-yv-m-nd-c-l +out:ya-m-nd-c-l +out:yv-ya-m-nd-c-l +out:yv-m-nd-c-l +out:nl-m-c-l +out:nl-t-m-c-l +out:nl-t-ya-m-c-l +out:nl-t-yv-ya-m-c-l +out:nl-t-yv-m-c-l +out:nl-ya-m-c-l +out:nl-yv-ya-m-c-l +out:nl-yv-m-c-l +out:t-m-c-l +out:t-ya-m-c-l +out:t-yv-ya-m-c-l +out:t-yv-m-c-l +out:ya-m-c-l +out:yv-ya-m-c-l +out:yv-m-c-l +out:nd-c-l +out:nl-nd-c-l +out:nl-t-nd-c-l +out:nl-t-ya-nd-c-l +out:nl-t-yv-ya-nd-c-l +out:nl-t-yv-nd-c-l +out:nl-ya-nd-c-l +out:nl-yv-ya-nd-c-l +out:nl-yv-nd-c-l +out:t-nd-c-l +out:t-ya-nd-c-l +out:t-yv-ya-nd-c-l +out:t-yv-nd-c-l +out:ya-nd-c-l +out:yv-ya-nd-c-l +out:yv-nd-c-l +out:nl-c-l +out:nl-t-c-l +out:nl-t-ya-c-l +out:nl-t-yv-ya-c-l +out:nl-t-yv-c-l +out:nl-ya-c-l +out:nl-yv-ya-c-l +out:nl-yv-c-l +out:t-c-l +out:t-ya-c-l +out:t-yv-ya-c-l +out:t-yv-c-l +out:ya-c-l +out:yv-ya-c-l +out:yv-c-l +out:m-c +out:m-nd-c +out:nl-m-nd-c +out:nl-t-m-nd-c +out:nl-t-ya-m-nd-c +out:nl-t-yv-ya-m-nd-c +out:nl-t-yv-m-nd-c +out:nl-ya-m-nd-c +out:nl-yv-ya-m-nd-c +out:nl-yv-m-nd-c +out:t-m-nd-c +out:t-ya-m-nd-c +out:t-yv-ya-m-nd-c +out:t-yv-m-nd-c +out:ya-m-nd-c +out:yv-ya-m-nd-c +out:yv-m-nd-c +out:nl-m-c +out:nl-t-m-c +out:nl-t-ya-m-c +out:nl-t-yv-ya-m-c +out:nl-t-yv-m-c +out:nl-ya-m-c +out:nl-yv-ya-m-c +out:nl-yv-m-c +out:t-m-c +out:t-ya-m-c +out:t-yv-ya-m-c +out:t-yv-m-c +out:ya-m-c +out:yv-ya-m-c +out:yv-m-c +out:nd-c +out:nl-nd-c +out:nl-t-nd-c +out:nl-t-ya-nd-c +out:nl-t-yv-ya-nd-c +out:nl-t-yv-nd-c +out:nl-ya-nd-c +out:nl-yv-ya-nd-c +out:nl-yv-nd-c +out:t-nd-c +out:t-ya-nd-c +out:t-yv-ya-nd-c +out:t-yv-nd-c +out:ya-nd-c +out:yv-ya-nd-c +out:yv-nd-c +out:nl-c +out:nl-t-c +out:nl-t-ya-c +out:nl-t-yv-ya-c +out:nl-t-yv-c +out:nl-ya-c +out:nl-yv-ya-c +out:nl-yv-c +out:t-c +out:t-ya-c +out:t-yv-ya-c +out:t-yv-c +out:ya-c +out:yv-ya-c +out:yv-c +out:h +out:h-hd +out:l-h-hd +out:m-l-h-hd +out:m-nd-l-h-hd +out:nl-m-nd-l-h-hd +out:nl-t-m-nd-l-h-hd +out:nl-t-ya-m-nd-l-h-hd +out:nl-t-yv-ya-m-nd-l-h-hd +out:nl-t-yv-m-nd-l-h-hd +out:nl-ya-m-nd-l-h-hd +out:nl-yv-ya-m-nd-l-h-hd +out:nl-yv-m-nd-l-h-hd +out:t-m-nd-l-h-hd +out:t-ya-m-nd-l-h-hd +out:t-yv-ya-m-nd-l-h-hd +out:t-yv-m-nd-l-h-hd +out:ya-m-nd-l-h-hd +out:yv-ya-m-nd-l-h-hd +out:yv-m-nd-l-h-hd +out:nl-m-l-h-hd +out:nl-t-m-l-h-hd +out:nl-t-ya-m-l-h-hd +out:nl-t-yv-ya-m-l-h-hd +out:nl-t-yv-m-l-h-hd +out:nl-ya-m-l-h-hd +out:nl-yv-ya-m-l-h-hd +out:nl-yv-m-l-h-hd +out:t-m-l-h-hd +out:t-ya-m-l-h-hd +out:t-yv-ya-m-l-h-hd +out:t-yv-m-l-h-hd +out:ya-m-l-h-hd +out:yv-ya-m-l-h-hd +out:yv-m-l-h-hd +out:nd-l-h-hd +out:nl-nd-l-h-hd +out:nl-t-nd-l-h-hd +out:nl-t-ya-nd-l-h-hd +out:nl-t-yv-ya-nd-l-h-hd +out:nl-t-yv-nd-l-h-hd +out:nl-ya-nd-l-h-hd +out:nl-yv-ya-nd-l-h-hd +out:nl-yv-nd-l-h-hd +out:t-nd-l-h-hd +out:t-ya-nd-l-h-hd +out:t-yv-ya-nd-l-h-hd +out:t-yv-nd-l-h-hd +out:ya-nd-l-h-hd +out:yv-ya-nd-l-h-hd +out:yv-nd-l-h-hd +out:nl-l-h-hd +out:nl-t-l-h-hd +out:nl-t-ya-l-h-hd +out:nl-t-yv-ya-l-h-hd +out:nl-t-yv-l-h-hd +out:nl-ya-l-h-hd +out:nl-yv-ya-l-h-hd +out:nl-yv-l-h-hd +out:t-l-h-hd +out:t-ya-l-h-hd +out:t-yv-ya-l-h-hd +out:t-yv-l-h-hd +out:ya-l-h-hd +out:yv-ya-l-h-hd +out:yv-l-h-hd +out:m-h-hd +out:m-nd-h-hd +out:nl-m-nd-h-hd +out:nl-t-m-nd-h-hd +out:nl-t-ya-m-nd-h-hd +out:nl-t-yv-ya-m-nd-h-hd +out:nl-t-yv-m-nd-h-hd +out:nl-ya-m-nd-h-hd +out:nl-yv-ya-m-nd-h-hd +out:nl-yv-m-nd-h-hd +out:t-m-nd-h-hd +out:t-ya-m-nd-h-hd +out:t-yv-ya-m-nd-h-hd +out:t-yv-m-nd-h-hd +out:ya-m-nd-h-hd +out:yv-ya-m-nd-h-hd +out:yv-m-nd-h-hd +out:nl-m-h-hd +out:nl-t-m-h-hd +out:nl-t-ya-m-h-hd +out:nl-t-yv-ya-m-h-hd +out:nl-t-yv-m-h-hd +out:nl-ya-m-h-hd +out:nl-yv-ya-m-h-hd +out:nl-yv-m-h-hd +out:t-m-h-hd +out:t-ya-m-h-hd +out:t-yv-ya-m-h-hd +out:t-yv-m-h-hd +out:ya-m-h-hd +out:yv-ya-m-h-hd +out:yv-m-h-hd +out:nd-h-hd +out:nl-nd-h-hd +out:nl-t-nd-h-hd +out:nl-t-ya-nd-h-hd +out:nl-t-yv-ya-nd-h-hd +out:nl-t-yv-nd-h-hd +out:nl-ya-nd-h-hd +out:nl-yv-ya-nd-h-hd +out:nl-yv-nd-h-hd +out:t-nd-h-hd +out:t-ya-nd-h-hd +out:t-yv-ya-nd-h-hd +out:t-yv-nd-h-hd +out:ya-nd-h-hd +out:yv-ya-nd-h-hd +out:yv-nd-h-hd +out:nl-h-hd +out:nl-t-h-hd +out:nl-t-ya-h-hd +out:nl-t-yv-ya-h-hd +out:nl-t-yv-h-hd +out:nl-ya-h-hd +out:nl-yv-ya-h-hd +out:nl-yv-h-hd +out:t-h-hd +out:t-ya-h-hd +out:t-yv-ya-h-hd +out:t-yv-h-hd +out:ya-h-hd +out:yv-ya-h-hd +out:yv-h-hd +out:l-h +out:m-l-h +out:m-nd-l-h +out:nl-m-nd-l-h +out:nl-t-m-nd-l-h +out:nl-t-ya-m-nd-l-h +out:nl-t-yv-ya-m-nd-l-h +out:nl-t-yv-m-nd-l-h +out:nl-ya-m-nd-l-h +out:nl-yv-ya-m-nd-l-h +out:nl-yv-m-nd-l-h +out:t-m-nd-l-h +out:t-ya-m-nd-l-h +out:t-yv-ya-m-nd-l-h +out:t-yv-m-nd-l-h +out:ya-m-nd-l-h +out:yv-ya-m-nd-l-h +out:yv-m-nd-l-h +out:nl-m-l-h +out:nl-t-m-l-h +out:nl-t-ya-m-l-h +out:nl-t-yv-ya-m-l-h +out:nl-t-yv-m-l-h +out:nl-ya-m-l-h +out:nl-yv-ya-m-l-h +out:nl-yv-m-l-h +out:t-m-l-h +out:t-ya-m-l-h +out:t-yv-ya-m-l-h +out:t-yv-m-l-h +out:ya-m-l-h +out:yv-ya-m-l-h +out:yv-m-l-h +out:nd-l-h +out:nl-nd-l-h +out:nl-t-nd-l-h +out:nl-t-ya-nd-l-h +out:nl-t-yv-ya-nd-l-h +out:nl-t-yv-nd-l-h +out:nl-ya-nd-l-h +out:nl-yv-ya-nd-l-h +out:nl-yv-nd-l-h +out:t-nd-l-h +out:t-ya-nd-l-h +out:t-yv-ya-nd-l-h +out:t-yv-nd-l-h +out:ya-nd-l-h +out:yv-ya-nd-l-h +out:yv-nd-l-h +out:nl-l-h +out:nl-t-l-h +out:nl-t-ya-l-h +out:nl-t-yv-ya-l-h +out:nl-t-yv-l-h +out:nl-ya-l-h +out:nl-yv-ya-l-h +out:nl-yv-l-h +out:t-l-h +out:t-ya-l-h +out:t-yv-ya-l-h +out:t-yv-l-h +out:ya-l-h +out:yv-ya-l-h +out:yv-l-h +out:m-h +out:m-nd-h +out:nl-m-nd-h +out:nl-t-m-nd-h +out:nl-t-ya-m-nd-h +out:nl-t-yv-ya-m-nd-h +out:nl-t-yv-m-nd-h +out:nl-ya-m-nd-h +out:nl-yv-ya-m-nd-h +out:nl-yv-m-nd-h +out:t-m-nd-h +out:t-ya-m-nd-h +out:t-yv-ya-m-nd-h +out:t-yv-m-nd-h +out:ya-m-nd-h +out:yv-ya-m-nd-h +out:yv-m-nd-h +out:nl-m-h +out:nl-t-m-h +out:nl-t-ya-m-h +out:nl-t-yv-ya-m-h +out:nl-t-yv-m-h +out:nl-ya-m-h +out:nl-yv-ya-m-h +out:nl-yv-m-h +out:t-m-h +out:t-ya-m-h +out:t-yv-ya-m-h +out:t-yv-m-h +out:ya-m-h +out:yv-ya-m-h +out:yv-m-h +out:nd-h +out:nl-nd-h +out:nl-t-nd-h +out:nl-t-ya-nd-h +out:nl-t-yv-ya-nd-h +out:nl-t-yv-nd-h +out:nl-ya-nd-h +out:nl-yv-ya-nd-h +out:nl-yv-nd-h +out:t-nd-h +out:t-ya-nd-h +out:t-yv-ya-nd-h +out:t-yv-nd-h +out:ya-nd-h +out:yv-ya-nd-h +out:yv-nd-h +out:nl-h +out:nl-t-h +out:nl-t-ya-h +out:nl-t-yv-ya-h +out:nl-t-yv-h +out:nl-ya-h +out:nl-yv-ya-h +out:nl-yv-h +out:t-h +out:t-ya-h +out:t-yv-ya-h +out:t-yv-h +out:ya-h +out:yv-ya-h +out:yv-h +out:hd +out:l-hd +out:m-l-hd +out:m-nd-l-hd +out:nl-m-nd-l-hd +out:nl-t-m-nd-l-hd +out:nl-t-ya-m-nd-l-hd +out:nl-t-yv-ya-m-nd-l-hd +out:nl-t-yv-m-nd-l-hd +out:nl-ya-m-nd-l-hd +out:nl-yv-ya-m-nd-l-hd +out:nl-yv-m-nd-l-hd +out:t-m-nd-l-hd +out:t-ya-m-nd-l-hd +out:t-yv-ya-m-nd-l-hd +out:t-yv-m-nd-l-hd +out:ya-m-nd-l-hd +out:yv-ya-m-nd-l-hd +out:yv-m-nd-l-hd +out:nl-m-l-hd +out:nl-t-m-l-hd +out:nl-t-ya-m-l-hd +out:nl-t-yv-ya-m-l-hd +out:nl-t-yv-m-l-hd +out:nl-ya-m-l-hd +out:nl-yv-ya-m-l-hd +out:nl-yv-m-l-hd +out:t-m-l-hd +out:t-ya-m-l-hd +out:t-yv-ya-m-l-hd +out:t-yv-m-l-hd +out:ya-m-l-hd +out:yv-ya-m-l-hd +out:yv-m-l-hd +out:nd-l-hd +out:nl-nd-l-hd +out:nl-t-nd-l-hd +out:nl-t-ya-nd-l-hd +out:nl-t-yv-ya-nd-l-hd +out:nl-t-yv-nd-l-hd +out:nl-ya-nd-l-hd +out:nl-yv-ya-nd-l-hd +out:nl-yv-nd-l-hd +out:t-nd-l-hd +out:t-ya-nd-l-hd +out:t-yv-ya-nd-l-hd +out:t-yv-nd-l-hd +out:ya-nd-l-hd +out:yv-ya-nd-l-hd +out:yv-nd-l-hd +out:nl-l-hd +out:nl-t-l-hd +out:nl-t-ya-l-hd +out:nl-t-yv-ya-l-hd +out:nl-t-yv-l-hd +out:nl-ya-l-hd +out:nl-yv-ya-l-hd +out:nl-yv-l-hd +out:t-l-hd +out:t-ya-l-hd +out:t-yv-ya-l-hd +out:t-yv-l-hd +out:ya-l-hd +out:yv-ya-l-hd +out:yv-l-hd +out:m-hd +out:m-nd-hd +out:nl-m-nd-hd +out:nl-t-m-nd-hd +out:nl-t-ya-m-nd-hd +out:nl-t-yv-ya-m-nd-hd +out:nl-t-yv-m-nd-hd +out:nl-ya-m-nd-hd +out:nl-yv-ya-m-nd-hd +out:nl-yv-m-nd-hd +out:t-m-nd-hd +out:t-ya-m-nd-hd +out:t-yv-ya-m-nd-hd +out:t-yv-m-nd-hd +out:ya-m-nd-hd +out:yv-ya-m-nd-hd +out:yv-m-nd-hd +out:nl-m-hd +out:nl-t-m-hd +out:nl-t-ya-m-hd +out:nl-t-yv-ya-m-hd +out:nl-t-yv-m-hd +out:nl-ya-m-hd +out:nl-yv-ya-m-hd +out:nl-yv-m-hd +out:t-m-hd +out:t-ya-m-hd +out:t-yv-ya-m-hd +out:t-yv-m-hd +out:ya-m-hd +out:yv-ya-m-hd +out:yv-m-hd +out:nd-hd +out:nl-nd-hd +out:nl-t-nd-hd +out:nl-t-ya-nd-hd +out:nl-t-yv-ya-nd-hd +out:nl-t-yv-nd-hd +out:nl-ya-nd-hd +out:nl-yv-ya-nd-hd +out:nl-yv-nd-hd +out:t-nd-hd +out:t-ya-nd-hd +out:t-yv-ya-nd-hd +out:t-yv-nd-hd +out:ya-nd-hd +out:yv-ya-nd-hd +out:yv-nd-hd +out:nl-hd +out:nl-t-hd +out:nl-t-ya-hd +out:nl-t-yv-ya-hd +out:nl-t-yv-hd +out:nl-ya-hd +out:nl-yv-ya-hd +out:nl-yv-hd +out:t-hd +out:t-ya-hd +out:t-yv-ya-hd +out:t-yv-hd +out:ya-hd +out:yv-ya-hd +out:yv-hd +out:l +out:m-l +out:m-nd-l +out:nl-m-nd-l +out:nl-t-m-nd-l +out:nl-t-ya-m-nd-l +out:nl-t-yv-ya-m-nd-l +out:nl-t-yv-m-nd-l +out:nl-ya-m-nd-l +out:nl-yv-ya-m-nd-l +out:nl-yv-m-nd-l +out:t-m-nd-l +out:t-ya-m-nd-l +out:t-yv-ya-m-nd-l +out:t-yv-m-nd-l +out:ya-m-nd-l +out:yv-ya-m-nd-l +out:yv-m-nd-l +out:nl-m-l +out:nl-t-m-l +out:nl-t-ya-m-l +out:nl-t-yv-ya-m-l +out:nl-t-yv-m-l +out:nl-ya-m-l +out:nl-yv-ya-m-l +out:nl-yv-m-l +out:t-m-l +out:t-ya-m-l +out:t-yv-ya-m-l +out:t-yv-m-l +out:ya-m-l +out:yv-ya-m-l +out:yv-m-l +out:nd-l +out:nl-nd-l +out:nl-t-nd-l +out:nl-t-ya-nd-l +out:nl-t-yv-ya-nd-l +out:nl-t-yv-nd-l +out:nl-ya-nd-l +out:nl-yv-ya-nd-l +out:nl-yv-nd-l +out:t-nd-l +out:t-ya-nd-l +out:t-yv-ya-nd-l +out:t-yv-nd-l +out:ya-nd-l +out:yv-ya-nd-l +out:yv-nd-l +out:nl-l +out:nl-t-l +out:nl-t-ya-l +out:nl-t-yv-ya-l +out:nl-t-yv-l +out:nl-ya-l +out:nl-yv-ya-l +out:nl-yv-l +out:t-l +out:t-ya-l +out:t-yv-ya-l +out:t-yv-l +out:ya-l +out:yv-ya-l +out:yv-l +out:m +out:m-nd +out:nl-m-nd +out:nl-t-m-nd +out:nl-t-ya-m-nd +out:nl-t-yv-ya-m-nd +out:nl-t-yv-m-nd +out:nl-ya-m-nd +out:nl-yv-ya-m-nd +out:nl-yv-m-nd +out:t-m-nd +out:t-ya-m-nd +out:t-yv-ya-m-nd +out:t-yv-m-nd +out:ya-m-nd +out:yv-ya-m-nd +out:yv-m-nd +out:nl-m +out:nl-t-m +out:nl-t-ya-m +out:nl-t-yv-ya-m +out:nl-t-yv-m +out:nl-ya-m +out:nl-yv-ya-m +out:nl-yv-m +out:t-m +out:t-ya-m +out:t-yv-ya-m +out:t-yv-m +out:ya-m +out:yv-ya-m +out:yv-m +out:nd +out:nl-nd +out:nl-t-nd +out:nl-t-ya-nd +out:nl-t-yv-ya-nd +out:nl-t-yv-nd +out:nl-ya-nd +out:nl-yv-ya-nd +out:nl-yv-nd +out:t-nd +out:t-ya-nd +out:t-yv-ya-nd +out:t-yv-nd +out:ya-nd +out:yv-ya-nd +out:yv-nd +out:nl +out:nl-t +out:nl-t-ya +out:nl-t-yv-ya +out:nl-t-yv +out:nl-ya +out:nl-yv-ya +out:nl-yv +out:t +out:t-ya +out:t-yv-ya +out:t-yv +out:ya +out:yv-ya +out:yv +output: +output:c +output:c-h +output:c-h-hd +output:c-l-h-hd +output:m-c-l-h-hd +output:m-nd-c-l-h-hd +output:nl-m-nd-c-l-h-hd +output:nl-t-m-nd-c-l-h-hd +output:nl-t-ya-m-nd-c-l-h-hd +output:nl-t-yv-ya-m-nd-c-l-h-hd +output:nl-t-yv-m-nd-c-l-h-hd +output:nl-ya-m-nd-c-l-h-hd +output:nl-yv-ya-m-nd-c-l-h-hd +output:nl-yv-m-nd-c-l-h-hd +output:t-m-nd-c-l-h-hd +output:t-ya-m-nd-c-l-h-hd +output:t-yv-ya-m-nd-c-l-h-hd +output:t-yv-m-nd-c-l-h-hd +output:ya-m-nd-c-l-h-hd +output:yv-ya-m-nd-c-l-h-hd +output:yv-m-nd-c-l-h-hd +output:nl-m-c-l-h-hd +output:nl-t-m-c-l-h-hd +output:nl-t-ya-m-c-l-h-hd +output:nl-t-yv-ya-m-c-l-h-hd +output:nl-t-yv-m-c-l-h-hd +output:nl-ya-m-c-l-h-hd +output:nl-yv-ya-m-c-l-h-hd +output:nl-yv-m-c-l-h-hd +output:t-m-c-l-h-hd +output:t-ya-m-c-l-h-hd +output:t-yv-ya-m-c-l-h-hd +output:t-yv-m-c-l-h-hd +output:ya-m-c-l-h-hd +output:yv-ya-m-c-l-h-hd +output:yv-m-c-l-h-hd +output:nd-c-l-h-hd +output:nl-nd-c-l-h-hd +output:nl-t-nd-c-l-h-hd +output:nl-t-ya-nd-c-l-h-hd +output:nl-t-yv-ya-nd-c-l-h-hd +output:nl-t-yv-nd-c-l-h-hd +output:nl-ya-nd-c-l-h-hd +output:nl-yv-ya-nd-c-l-h-hd +output:nl-yv-nd-c-l-h-hd +output:t-nd-c-l-h-hd +output:t-ya-nd-c-l-h-hd +output:t-yv-ya-nd-c-l-h-hd +output:t-yv-nd-c-l-h-hd +output:ya-nd-c-l-h-hd +output:yv-ya-nd-c-l-h-hd +output:yv-nd-c-l-h-hd +output:nl-c-l-h-hd +output:nl-t-c-l-h-hd +output:nl-t-ya-c-l-h-hd +output:nl-t-yv-ya-c-l-h-hd +output:nl-t-yv-c-l-h-hd +output:nl-ya-c-l-h-hd +output:nl-yv-ya-c-l-h-hd +output:nl-yv-c-l-h-hd +output:t-c-l-h-hd +output:t-ya-c-l-h-hd +output:t-yv-ya-c-l-h-hd +output:t-yv-c-l-h-hd +output:ya-c-l-h-hd +output:yv-ya-c-l-h-hd +output:yv-c-l-h-hd +output:m-c-h-hd +output:m-nd-c-h-hd +output:nl-m-nd-c-h-hd +output:nl-t-m-nd-c-h-hd +output:nl-t-ya-m-nd-c-h-hd +output:nl-t-yv-ya-m-nd-c-h-hd +output:nl-t-yv-m-nd-c-h-hd +output:nl-ya-m-nd-c-h-hd +output:nl-yv-ya-m-nd-c-h-hd +output:nl-yv-m-nd-c-h-hd +output:t-m-nd-c-h-hd +output:t-ya-m-nd-c-h-hd +output:t-yv-ya-m-nd-c-h-hd +output:t-yv-m-nd-c-h-hd +output:ya-m-nd-c-h-hd +output:yv-ya-m-nd-c-h-hd +output:yv-m-nd-c-h-hd +output:nl-m-c-h-hd +output:nl-t-m-c-h-hd +output:nl-t-ya-m-c-h-hd +output:nl-t-yv-ya-m-c-h-hd +output:nl-t-yv-m-c-h-hd +output:nl-ya-m-c-h-hd +output:nl-yv-ya-m-c-h-hd +output:nl-yv-m-c-h-hd +output:t-m-c-h-hd +output:t-ya-m-c-h-hd +output:t-yv-ya-m-c-h-hd +output:t-yv-m-c-h-hd +output:ya-m-c-h-hd +output:yv-ya-m-c-h-hd +output:yv-m-c-h-hd +output:nd-c-h-hd +output:nl-nd-c-h-hd +output:nl-t-nd-c-h-hd +output:nl-t-ya-nd-c-h-hd +output:nl-t-yv-ya-nd-c-h-hd +output:nl-t-yv-nd-c-h-hd +output:nl-ya-nd-c-h-hd +output:nl-yv-ya-nd-c-h-hd +output:nl-yv-nd-c-h-hd +output:t-nd-c-h-hd +output:t-ya-nd-c-h-hd +output:t-yv-ya-nd-c-h-hd +output:t-yv-nd-c-h-hd +output:ya-nd-c-h-hd +output:yv-ya-nd-c-h-hd +output:yv-nd-c-h-hd +output:nl-c-h-hd +output:nl-t-c-h-hd +output:nl-t-ya-c-h-hd +output:nl-t-yv-ya-c-h-hd +output:nl-t-yv-c-h-hd +output:nl-ya-c-h-hd +output:nl-yv-ya-c-h-hd +output:nl-yv-c-h-hd +output:t-c-h-hd +output:t-ya-c-h-hd +output:t-yv-ya-c-h-hd +output:t-yv-c-h-hd +output:ya-c-h-hd +output:yv-ya-c-h-hd +output:yv-c-h-hd +output:c-l-h +output:m-c-l-h +output:m-nd-c-l-h +output:nl-m-nd-c-l-h +output:nl-t-m-nd-c-l-h +output:nl-t-ya-m-nd-c-l-h +output:nl-t-yv-ya-m-nd-c-l-h +output:nl-t-yv-m-nd-c-l-h +output:nl-ya-m-nd-c-l-h +output:nl-yv-ya-m-nd-c-l-h +output:nl-yv-m-nd-c-l-h +output:t-m-nd-c-l-h +output:t-ya-m-nd-c-l-h +output:t-yv-ya-m-nd-c-l-h +output:t-yv-m-nd-c-l-h +output:ya-m-nd-c-l-h +output:yv-ya-m-nd-c-l-h +output:yv-m-nd-c-l-h +output:nl-m-c-l-h +output:nl-t-m-c-l-h +output:nl-t-ya-m-c-l-h +output:nl-t-yv-ya-m-c-l-h +output:nl-t-yv-m-c-l-h +output:nl-ya-m-c-l-h +output:nl-yv-ya-m-c-l-h +output:nl-yv-m-c-l-h +output:t-m-c-l-h +output:t-ya-m-c-l-h +output:t-yv-ya-m-c-l-h +output:t-yv-m-c-l-h +output:ya-m-c-l-h +output:yv-ya-m-c-l-h +output:yv-m-c-l-h +output:nd-c-l-h +output:nl-nd-c-l-h +output:nl-t-nd-c-l-h +output:nl-t-ya-nd-c-l-h +output:nl-t-yv-ya-nd-c-l-h +output:nl-t-yv-nd-c-l-h +output:nl-ya-nd-c-l-h +output:nl-yv-ya-nd-c-l-h +output:nl-yv-nd-c-l-h +output:t-nd-c-l-h +output:t-ya-nd-c-l-h +output:t-yv-ya-nd-c-l-h +output:t-yv-nd-c-l-h +output:ya-nd-c-l-h +output:yv-ya-nd-c-l-h +output:yv-nd-c-l-h +output:nl-c-l-h +output:nl-t-c-l-h +output:nl-t-ya-c-l-h +output:nl-t-yv-ya-c-l-h +output:nl-t-yv-c-l-h +output:nl-ya-c-l-h +output:nl-yv-ya-c-l-h +output:nl-yv-c-l-h +output:t-c-l-h +output:t-ya-c-l-h +output:t-yv-ya-c-l-h +output:t-yv-c-l-h +output:ya-c-l-h +output:yv-ya-c-l-h +output:yv-c-l-h +output:m-c-h +output:m-nd-c-h +output:nl-m-nd-c-h +output:nl-t-m-nd-c-h +output:nl-t-ya-m-nd-c-h +output:nl-t-yv-ya-m-nd-c-h +output:nl-t-yv-m-nd-c-h +output:nl-ya-m-nd-c-h +output:nl-yv-ya-m-nd-c-h +output:nl-yv-m-nd-c-h +output:t-m-nd-c-h +output:t-ya-m-nd-c-h +output:t-yv-ya-m-nd-c-h +output:t-yv-m-nd-c-h +output:ya-m-nd-c-h +output:yv-ya-m-nd-c-h +output:yv-m-nd-c-h +output:nl-m-c-h +output:nl-t-m-c-h +output:nl-t-ya-m-c-h +output:nl-t-yv-ya-m-c-h +output:nl-t-yv-m-c-h +output:nl-ya-m-c-h +output:nl-yv-ya-m-c-h +output:nl-yv-m-c-h +output:t-m-c-h +output:t-ya-m-c-h +output:t-yv-ya-m-c-h +output:t-yv-m-c-h +output:ya-m-c-h +output:yv-ya-m-c-h +output:yv-m-c-h +output:nd-c-h +output:nl-nd-c-h +output:nl-t-nd-c-h +output:nl-t-ya-nd-c-h +output:nl-t-yv-ya-nd-c-h +output:nl-t-yv-nd-c-h +output:nl-ya-nd-c-h +output:nl-yv-ya-nd-c-h +output:nl-yv-nd-c-h +output:t-nd-c-h +output:t-ya-nd-c-h +output:t-yv-ya-nd-c-h +output:t-yv-nd-c-h +output:ya-nd-c-h +output:yv-ya-nd-c-h +output:yv-nd-c-h +output:nl-c-h +output:nl-t-c-h +output:nl-t-ya-c-h +output:nl-t-yv-ya-c-h +output:nl-t-yv-c-h +output:nl-ya-c-h +output:nl-yv-ya-c-h +output:nl-yv-c-h +output:t-c-h +output:t-ya-c-h +output:t-yv-ya-c-h +output:t-yv-c-h +output:ya-c-h +output:yv-ya-c-h +output:yv-c-h +output:c-hd +output:c-l-hd +output:m-c-l-hd +output:m-nd-c-l-hd +output:nl-m-nd-c-l-hd +output:nl-t-m-nd-c-l-hd +output:nl-t-ya-m-nd-c-l-hd +output:nl-t-yv-ya-m-nd-c-l-hd +output:nl-t-yv-m-nd-c-l-hd +output:nl-ya-m-nd-c-l-hd +output:nl-yv-ya-m-nd-c-l-hd +output:nl-yv-m-nd-c-l-hd +output:t-m-nd-c-l-hd +output:t-ya-m-nd-c-l-hd +output:t-yv-ya-m-nd-c-l-hd +output:t-yv-m-nd-c-l-hd +output:ya-m-nd-c-l-hd +output:yv-ya-m-nd-c-l-hd +output:yv-m-nd-c-l-hd +output:nl-m-c-l-hd +output:nl-t-m-c-l-hd +output:nl-t-ya-m-c-l-hd +output:nl-t-yv-ya-m-c-l-hd +output:nl-t-yv-m-c-l-hd +output:nl-ya-m-c-l-hd +output:nl-yv-ya-m-c-l-hd +output:nl-yv-m-c-l-hd +output:t-m-c-l-hd +output:t-ya-m-c-l-hd +output:t-yv-ya-m-c-l-hd +output:t-yv-m-c-l-hd +output:ya-m-c-l-hd +output:yv-ya-m-c-l-hd +output:yv-m-c-l-hd +output:nd-c-l-hd +output:nl-nd-c-l-hd +output:nl-t-nd-c-l-hd +output:nl-t-ya-nd-c-l-hd +output:nl-t-yv-ya-nd-c-l-hd +output:nl-t-yv-nd-c-l-hd +output:nl-ya-nd-c-l-hd +output:nl-yv-ya-nd-c-l-hd +output:nl-yv-nd-c-l-hd +output:t-nd-c-l-hd +output:t-ya-nd-c-l-hd +output:t-yv-ya-nd-c-l-hd +output:t-yv-nd-c-l-hd +output:ya-nd-c-l-hd +output:yv-ya-nd-c-l-hd +output:yv-nd-c-l-hd +output:nl-c-l-hd +output:nl-t-c-l-hd +output:nl-t-ya-c-l-hd +output:nl-t-yv-ya-c-l-hd +output:nl-t-yv-c-l-hd +output:nl-ya-c-l-hd +output:nl-yv-ya-c-l-hd +output:nl-yv-c-l-hd +output:t-c-l-hd +output:t-ya-c-l-hd +output:t-yv-ya-c-l-hd +output:t-yv-c-l-hd +output:ya-c-l-hd +output:yv-ya-c-l-hd +output:yv-c-l-hd +output:m-c-hd +output:m-nd-c-hd +output:nl-m-nd-c-hd +output:nl-t-m-nd-c-hd +output:nl-t-ya-m-nd-c-hd +output:nl-t-yv-ya-m-nd-c-hd +output:nl-t-yv-m-nd-c-hd +output:nl-ya-m-nd-c-hd +output:nl-yv-ya-m-nd-c-hd +output:nl-yv-m-nd-c-hd +output:t-m-nd-c-hd +output:t-ya-m-nd-c-hd +output:t-yv-ya-m-nd-c-hd +output:t-yv-m-nd-c-hd +output:ya-m-nd-c-hd +output:yv-ya-m-nd-c-hd +output:yv-m-nd-c-hd +output:nl-m-c-hd +output:nl-t-m-c-hd +output:nl-t-ya-m-c-hd +output:nl-t-yv-ya-m-c-hd +output:nl-t-yv-m-c-hd +output:nl-ya-m-c-hd +output:nl-yv-ya-m-c-hd +output:nl-yv-m-c-hd +output:t-m-c-hd +output:t-ya-m-c-hd +output:t-yv-ya-m-c-hd +output:t-yv-m-c-hd +output:ya-m-c-hd +output:yv-ya-m-c-hd +output:yv-m-c-hd +output:nd-c-hd +output:nl-nd-c-hd +output:nl-t-nd-c-hd +output:nl-t-ya-nd-c-hd +output:nl-t-yv-ya-nd-c-hd +output:nl-t-yv-nd-c-hd +output:nl-ya-nd-c-hd +output:nl-yv-ya-nd-c-hd +output:nl-yv-nd-c-hd +output:t-nd-c-hd +output:t-ya-nd-c-hd +output:t-yv-ya-nd-c-hd +output:t-yv-nd-c-hd +output:ya-nd-c-hd +output:yv-ya-nd-c-hd +output:yv-nd-c-hd +output:nl-c-hd +output:nl-t-c-hd +output:nl-t-ya-c-hd +output:nl-t-yv-ya-c-hd +output:nl-t-yv-c-hd +output:nl-ya-c-hd +output:nl-yv-ya-c-hd +output:nl-yv-c-hd +output:t-c-hd +output:t-ya-c-hd +output:t-yv-ya-c-hd +output:t-yv-c-hd +output:ya-c-hd +output:yv-ya-c-hd +output:yv-c-hd +output:c-l +output:m-c-l +output:m-nd-c-l +output:nl-m-nd-c-l +output:nl-t-m-nd-c-l +output:nl-t-ya-m-nd-c-l +output:nl-t-yv-ya-m-nd-c-l +output:nl-t-yv-m-nd-c-l +output:nl-ya-m-nd-c-l +output:nl-yv-ya-m-nd-c-l +output:nl-yv-m-nd-c-l +output:t-m-nd-c-l +output:t-ya-m-nd-c-l +output:t-yv-ya-m-nd-c-l +output:t-yv-m-nd-c-l +output:ya-m-nd-c-l +output:yv-ya-m-nd-c-l +output:yv-m-nd-c-l +output:nl-m-c-l +output:nl-t-m-c-l +output:nl-t-ya-m-c-l +output:nl-t-yv-ya-m-c-l +output:nl-t-yv-m-c-l +output:nl-ya-m-c-l +output:nl-yv-ya-m-c-l +output:nl-yv-m-c-l +output:t-m-c-l +output:t-ya-m-c-l +output:t-yv-ya-m-c-l +output:t-yv-m-c-l +output:ya-m-c-l +output:yv-ya-m-c-l +output:yv-m-c-l +output:nd-c-l +output:nl-nd-c-l +output:nl-t-nd-c-l +output:nl-t-ya-nd-c-l +output:nl-t-yv-ya-nd-c-l +output:nl-t-yv-nd-c-l +output:nl-ya-nd-c-l +output:nl-yv-ya-nd-c-l +output:nl-yv-nd-c-l +output:t-nd-c-l +output:t-ya-nd-c-l +output:t-yv-ya-nd-c-l +output:t-yv-nd-c-l +output:ya-nd-c-l +output:yv-ya-nd-c-l +output:yv-nd-c-l +output:nl-c-l +output:nl-t-c-l +output:nl-t-ya-c-l +output:nl-t-yv-ya-c-l +output:nl-t-yv-c-l +output:nl-ya-c-l +output:nl-yv-ya-c-l +output:nl-yv-c-l +output:t-c-l +output:t-ya-c-l +output:t-yv-ya-c-l +output:t-yv-c-l +output:ya-c-l +output:yv-ya-c-l +output:yv-c-l +output:m-c +output:m-nd-c +output:nl-m-nd-c +output:nl-t-m-nd-c +output:nl-t-ya-m-nd-c +output:nl-t-yv-ya-m-nd-c +output:nl-t-yv-m-nd-c +output:nl-ya-m-nd-c +output:nl-yv-ya-m-nd-c +output:nl-yv-m-nd-c +output:t-m-nd-c +output:t-ya-m-nd-c +output:t-yv-ya-m-nd-c +output:t-yv-m-nd-c +output:ya-m-nd-c +output:yv-ya-m-nd-c +output:yv-m-nd-c +output:nl-m-c +output:nl-t-m-c +output:nl-t-ya-m-c +output:nl-t-yv-ya-m-c +output:nl-t-yv-m-c +output:nl-ya-m-c +output:nl-yv-ya-m-c +output:nl-yv-m-c +output:t-m-c +output:t-ya-m-c +output:t-yv-ya-m-c +output:t-yv-m-c +output:ya-m-c +output:yv-ya-m-c +output:yv-m-c +output:nd-c +output:nl-nd-c +output:nl-t-nd-c +output:nl-t-ya-nd-c +output:nl-t-yv-ya-nd-c +output:nl-t-yv-nd-c +output:nl-ya-nd-c +output:nl-yv-ya-nd-c +output:nl-yv-nd-c +output:t-nd-c +output:t-ya-nd-c +output:t-yv-ya-nd-c +output:t-yv-nd-c +output:ya-nd-c +output:yv-ya-nd-c +output:yv-nd-c +output:nl-c +output:nl-t-c +output:nl-t-ya-c +output:nl-t-yv-ya-c +output:nl-t-yv-c +output:nl-ya-c +output:nl-yv-ya-c +output:nl-yv-c +output:t-c +output:t-ya-c +output:t-yv-ya-c +output:t-yv-c +output:ya-c +output:yv-ya-c +output:yv-c +output:h +output:h-hd +output:l-h-hd +output:m-l-h-hd +output:m-nd-l-h-hd +output:nl-m-nd-l-h-hd +output:nl-t-m-nd-l-h-hd +output:nl-t-ya-m-nd-l-h-hd +output:nl-t-yv-ya-m-nd-l-h-hd +output:nl-t-yv-m-nd-l-h-hd +output:nl-ya-m-nd-l-h-hd +output:nl-yv-ya-m-nd-l-h-hd +output:nl-yv-m-nd-l-h-hd +output:t-m-nd-l-h-hd +output:t-ya-m-nd-l-h-hd +output:t-yv-ya-m-nd-l-h-hd +output:t-yv-m-nd-l-h-hd +output:ya-m-nd-l-h-hd +output:yv-ya-m-nd-l-h-hd +output:yv-m-nd-l-h-hd +output:nl-m-l-h-hd +output:nl-t-m-l-h-hd +output:nl-t-ya-m-l-h-hd +output:nl-t-yv-ya-m-l-h-hd +output:nl-t-yv-m-l-h-hd +output:nl-ya-m-l-h-hd +output:nl-yv-ya-m-l-h-hd +output:nl-yv-m-l-h-hd +output:t-m-l-h-hd +output:t-ya-m-l-h-hd +output:t-yv-ya-m-l-h-hd +output:t-yv-m-l-h-hd +output:ya-m-l-h-hd +output:yv-ya-m-l-h-hd +output:yv-m-l-h-hd +output:nd-l-h-hd +output:nl-nd-l-h-hd +output:nl-t-nd-l-h-hd +output:nl-t-ya-nd-l-h-hd +output:nl-t-yv-ya-nd-l-h-hd +output:nl-t-yv-nd-l-h-hd +output:nl-ya-nd-l-h-hd +output:nl-yv-ya-nd-l-h-hd +output:nl-yv-nd-l-h-hd +output:t-nd-l-h-hd +output:t-ya-nd-l-h-hd +output:t-yv-ya-nd-l-h-hd +output:t-yv-nd-l-h-hd +output:ya-nd-l-h-hd +output:yv-ya-nd-l-h-hd +output:yv-nd-l-h-hd +output:nl-l-h-hd +output:nl-t-l-h-hd +output:nl-t-ya-l-h-hd +output:nl-t-yv-ya-l-h-hd +output:nl-t-yv-l-h-hd +output:nl-ya-l-h-hd +output:nl-yv-ya-l-h-hd +output:nl-yv-l-h-hd +output:t-l-h-hd +output:t-ya-l-h-hd +output:t-yv-ya-l-h-hd +output:t-yv-l-h-hd +output:ya-l-h-hd +output:yv-ya-l-h-hd +output:yv-l-h-hd +output:m-h-hd +output:m-nd-h-hd +output:nl-m-nd-h-hd +output:nl-t-m-nd-h-hd +output:nl-t-ya-m-nd-h-hd +output:nl-t-yv-ya-m-nd-h-hd +output:nl-t-yv-m-nd-h-hd +output:nl-ya-m-nd-h-hd +output:nl-yv-ya-m-nd-h-hd +output:nl-yv-m-nd-h-hd +output:t-m-nd-h-hd +output:t-ya-m-nd-h-hd +output:t-yv-ya-m-nd-h-hd +output:t-yv-m-nd-h-hd +output:ya-m-nd-h-hd +output:yv-ya-m-nd-h-hd +output:yv-m-nd-h-hd +output:nl-m-h-hd +output:nl-t-m-h-hd +output:nl-t-ya-m-h-hd +output:nl-t-yv-ya-m-h-hd +output:nl-t-yv-m-h-hd +output:nl-ya-m-h-hd +output:nl-yv-ya-m-h-hd +output:nl-yv-m-h-hd +output:t-m-h-hd +output:t-ya-m-h-hd +output:t-yv-ya-m-h-hd +output:t-yv-m-h-hd +output:ya-m-h-hd +output:yv-ya-m-h-hd +output:yv-m-h-hd +output:nd-h-hd +output:nl-nd-h-hd +output:nl-t-nd-h-hd +output:nl-t-ya-nd-h-hd +output:nl-t-yv-ya-nd-h-hd +output:nl-t-yv-nd-h-hd +output:nl-ya-nd-h-hd +output:nl-yv-ya-nd-h-hd +output:nl-yv-nd-h-hd +output:t-nd-h-hd +output:t-ya-nd-h-hd +output:t-yv-ya-nd-h-hd +output:t-yv-nd-h-hd +output:ya-nd-h-hd +output:yv-ya-nd-h-hd +output:yv-nd-h-hd +output:nl-h-hd +output:nl-t-h-hd +output:nl-t-ya-h-hd +output:nl-t-yv-ya-h-hd +output:nl-t-yv-h-hd +output:nl-ya-h-hd +output:nl-yv-ya-h-hd +output:nl-yv-h-hd +output:t-h-hd +output:t-ya-h-hd +output:t-yv-ya-h-hd +output:t-yv-h-hd +output:ya-h-hd +output:yv-ya-h-hd +output:yv-h-hd +output:l-h +output:m-l-h +output:m-nd-l-h +output:nl-m-nd-l-h +output:nl-t-m-nd-l-h +output:nl-t-ya-m-nd-l-h +output:nl-t-yv-ya-m-nd-l-h +output:nl-t-yv-m-nd-l-h +output:nl-ya-m-nd-l-h +output:nl-yv-ya-m-nd-l-h +output:nl-yv-m-nd-l-h +output:t-m-nd-l-h +output:t-ya-m-nd-l-h +output:t-yv-ya-m-nd-l-h +output:t-yv-m-nd-l-h +output:ya-m-nd-l-h +output:yv-ya-m-nd-l-h +output:yv-m-nd-l-h +output:nl-m-l-h +output:nl-t-m-l-h +output:nl-t-ya-m-l-h +output:nl-t-yv-ya-m-l-h +output:nl-t-yv-m-l-h +output:nl-ya-m-l-h +output:nl-yv-ya-m-l-h +output:nl-yv-m-l-h +output:t-m-l-h +output:t-ya-m-l-h +output:t-yv-ya-m-l-h +output:t-yv-m-l-h +output:ya-m-l-h +output:yv-ya-m-l-h +output:yv-m-l-h +output:nd-l-h +output:nl-nd-l-h +output:nl-t-nd-l-h +output:nl-t-ya-nd-l-h +output:nl-t-yv-ya-nd-l-h +output:nl-t-yv-nd-l-h +output:nl-ya-nd-l-h +output:nl-yv-ya-nd-l-h +output:nl-yv-nd-l-h +output:t-nd-l-h +output:t-ya-nd-l-h +output:t-yv-ya-nd-l-h +output:t-yv-nd-l-h +output:ya-nd-l-h +output:yv-ya-nd-l-h +output:yv-nd-l-h +output:nl-l-h +output:nl-t-l-h +output:nl-t-ya-l-h +output:nl-t-yv-ya-l-h +output:nl-t-yv-l-h +output:nl-ya-l-h +output:nl-yv-ya-l-h +output:nl-yv-l-h +output:t-l-h +output:t-ya-l-h +output:t-yv-ya-l-h +output:t-yv-l-h +output:ya-l-h +output:yv-ya-l-h +output:yv-l-h +output:m-h +output:m-nd-h +output:nl-m-nd-h +output:nl-t-m-nd-h +output:nl-t-ya-m-nd-h +output:nl-t-yv-ya-m-nd-h +output:nl-t-yv-m-nd-h +output:nl-ya-m-nd-h +output:nl-yv-ya-m-nd-h +output:nl-yv-m-nd-h +output:t-m-nd-h +output:t-ya-m-nd-h +output:t-yv-ya-m-nd-h +output:t-yv-m-nd-h +output:ya-m-nd-h +output:yv-ya-m-nd-h +output:yv-m-nd-h +output:nl-m-h +output:nl-t-m-h +output:nl-t-ya-m-h +output:nl-t-yv-ya-m-h +output:nl-t-yv-m-h +output:nl-ya-m-h +output:nl-yv-ya-m-h +output:nl-yv-m-h +output:t-m-h +output:t-ya-m-h +output:t-yv-ya-m-h +output:t-yv-m-h +output:ya-m-h +output:yv-ya-m-h +output:yv-m-h +output:nd-h +output:nl-nd-h +output:nl-t-nd-h +output:nl-t-ya-nd-h +output:nl-t-yv-ya-nd-h +output:nl-t-yv-nd-h +output:nl-ya-nd-h +output:nl-yv-ya-nd-h +output:nl-yv-nd-h +output:t-nd-h +output:t-ya-nd-h +output:t-yv-ya-nd-h +output:t-yv-nd-h +output:ya-nd-h +output:yv-ya-nd-h +output:yv-nd-h +output:nl-h +output:nl-t-h +output:nl-t-ya-h +output:nl-t-yv-ya-h +output:nl-t-yv-h +output:nl-ya-h +output:nl-yv-ya-h +output:nl-yv-h +output:t-h +output:t-ya-h +output:t-yv-ya-h +output:t-yv-h +output:ya-h +output:yv-ya-h +output:yv-h +output:hd +output:l-hd +output:m-l-hd +output:m-nd-l-hd +output:nl-m-nd-l-hd +output:nl-t-m-nd-l-hd +output:nl-t-ya-m-nd-l-hd +output:nl-t-yv-ya-m-nd-l-hd +output:nl-t-yv-m-nd-l-hd +output:nl-ya-m-nd-l-hd +output:nl-yv-ya-m-nd-l-hd +output:nl-yv-m-nd-l-hd +output:t-m-nd-l-hd +output:t-ya-m-nd-l-hd +output:t-yv-ya-m-nd-l-hd +output:t-yv-m-nd-l-hd +output:ya-m-nd-l-hd +output:yv-ya-m-nd-l-hd +output:yv-m-nd-l-hd +output:nl-m-l-hd +output:nl-t-m-l-hd +output:nl-t-ya-m-l-hd +output:nl-t-yv-ya-m-l-hd +output:nl-t-yv-m-l-hd +output:nl-ya-m-l-hd +output:nl-yv-ya-m-l-hd +output:nl-yv-m-l-hd +output:t-m-l-hd +output:t-ya-m-l-hd +output:t-yv-ya-m-l-hd +output:t-yv-m-l-hd +output:ya-m-l-hd +output:yv-ya-m-l-hd +output:yv-m-l-hd +output:nd-l-hd +output:nl-nd-l-hd +output:nl-t-nd-l-hd +output:nl-t-ya-nd-l-hd +output:nl-t-yv-ya-nd-l-hd +output:nl-t-yv-nd-l-hd +output:nl-ya-nd-l-hd +output:nl-yv-ya-nd-l-hd +output:nl-yv-nd-l-hd +output:t-nd-l-hd +output:t-ya-nd-l-hd +output:t-yv-ya-nd-l-hd +output:t-yv-nd-l-hd +output:ya-nd-l-hd +output:yv-ya-nd-l-hd +output:yv-nd-l-hd +output:nl-l-hd +output:nl-t-l-hd +output:nl-t-ya-l-hd +output:nl-t-yv-ya-l-hd +output:nl-t-yv-l-hd +output:nl-ya-l-hd +output:nl-yv-ya-l-hd +output:nl-yv-l-hd +output:t-l-hd +output:t-ya-l-hd +output:t-yv-ya-l-hd +output:t-yv-l-hd +output:ya-l-hd +output:yv-ya-l-hd +output:yv-l-hd +output:m-hd +output:m-nd-hd +output:nl-m-nd-hd +output:nl-t-m-nd-hd +output:nl-t-ya-m-nd-hd +output:nl-t-yv-ya-m-nd-hd +output:nl-t-yv-m-nd-hd +output:nl-ya-m-nd-hd +output:nl-yv-ya-m-nd-hd +output:nl-yv-m-nd-hd +output:t-m-nd-hd +output:t-ya-m-nd-hd +output:t-yv-ya-m-nd-hd +output:t-yv-m-nd-hd +output:ya-m-nd-hd +output:yv-ya-m-nd-hd +output:yv-m-nd-hd +output:nl-m-hd +output:nl-t-m-hd +output:nl-t-ya-m-hd +output:nl-t-yv-ya-m-hd +output:nl-t-yv-m-hd +output:nl-ya-m-hd +output:nl-yv-ya-m-hd +output:nl-yv-m-hd +output:t-m-hd +output:t-ya-m-hd +output:t-yv-ya-m-hd +output:t-yv-m-hd +output:ya-m-hd +output:yv-ya-m-hd +output:yv-m-hd +output:nd-hd +output:nl-nd-hd +output:nl-t-nd-hd +output:nl-t-ya-nd-hd +output:nl-t-yv-ya-nd-hd +output:nl-t-yv-nd-hd +output:nl-ya-nd-hd +output:nl-yv-ya-nd-hd +output:nl-yv-nd-hd +output:t-nd-hd +output:t-ya-nd-hd +output:t-yv-ya-nd-hd +output:t-yv-nd-hd +output:ya-nd-hd +output:yv-ya-nd-hd +output:yv-nd-hd +output:nl-hd +output:nl-t-hd +output:nl-t-ya-hd +output:nl-t-yv-ya-hd +output:nl-t-yv-hd +output:nl-ya-hd +output:nl-yv-ya-hd +output:nl-yv-hd +output:t-hd +output:t-ya-hd +output:t-yv-ya-hd +output:t-yv-hd +output:ya-hd +output:yv-ya-hd +output:yv-hd +output:l +output:m-l +output:m-nd-l +output:nl-m-nd-l +output:nl-t-m-nd-l +output:nl-t-ya-m-nd-l +output:nl-t-yv-ya-m-nd-l +output:nl-t-yv-m-nd-l +output:nl-ya-m-nd-l +output:nl-yv-ya-m-nd-l +output:nl-yv-m-nd-l +output:t-m-nd-l +output:t-ya-m-nd-l +output:t-yv-ya-m-nd-l +output:t-yv-m-nd-l +output:ya-m-nd-l +output:yv-ya-m-nd-l +output:yv-m-nd-l +output:nl-m-l +output:nl-t-m-l +output:nl-t-ya-m-l +output:nl-t-yv-ya-m-l +output:nl-t-yv-m-l +output:nl-ya-m-l +output:nl-yv-ya-m-l +output:nl-yv-m-l +output:t-m-l +output:t-ya-m-l +output:t-yv-ya-m-l +output:t-yv-m-l +output:ya-m-l +output:yv-ya-m-l +output:yv-m-l +output:nd-l +output:nl-nd-l +output:nl-t-nd-l +output:nl-t-ya-nd-l +output:nl-t-yv-ya-nd-l +output:nl-t-yv-nd-l +output:nl-ya-nd-l +output:nl-yv-ya-nd-l +output:nl-yv-nd-l +output:t-nd-l +output:t-ya-nd-l +output:t-yv-ya-nd-l +output:t-yv-nd-l +output:ya-nd-l +output:yv-ya-nd-l +output:yv-nd-l +output:nl-l +output:nl-t-l +output:nl-t-ya-l +output:nl-t-yv-ya-l +output:nl-t-yv-l +output:nl-ya-l +output:nl-yv-ya-l +output:nl-yv-l +output:t-l +output:t-ya-l +output:t-yv-ya-l +output:t-yv-l +output:ya-l +output:yv-ya-l +output:yv-l +output:m +output:m-nd +output:nl-m-nd +output:nl-t-m-nd +output:nl-t-ya-m-nd +output:nl-t-yv-ya-m-nd +output:nl-t-yv-m-nd +output:nl-ya-m-nd +output:nl-yv-ya-m-nd +output:nl-yv-m-nd +output:t-m-nd +output:t-ya-m-nd +output:t-yv-ya-m-nd +output:t-yv-m-nd +output:ya-m-nd +output:yv-ya-m-nd +output:yv-m-nd +output:nl-m +output:nl-t-m +output:nl-t-ya-m +output:nl-t-yv-ya-m +output:nl-t-yv-m +output:nl-ya-m +output:nl-yv-ya-m +output:nl-yv-m +output:t-m +output:t-ya-m +output:t-yv-ya-m +output:t-yv-m +output:ya-m +output:yv-ya-m +output:yv-m +output:nd +output:nl-nd +output:nl-t-nd +output:nl-t-ya-nd +output:nl-t-yv-ya-nd +output:nl-t-yv-nd +output:nl-ya-nd +output:nl-yv-ya-nd +output:nl-yv-nd +output:t-nd +output:t-ya-nd +output:t-yv-ya-nd +output:t-yv-nd +output:ya-nd +output:yv-ya-nd +output:yv-nd +output:nl +output:nl-t +output:nl-t-ya +output:nl-t-yv-ya +output:nl-t-yv +output:nl-ya +output:nl-yv-ya +output:nl-yv +output:t +output:t-ya +output:t-yv-ya +output:t-yv +output:ya +output:yv-ya +output:yv +peak_load_factor: +peak_load_factor:c +peak_load_factor:c-h +peak_load_factor:c-l-h +peak_load_factor:n-c-l-h +peak_load_factor:n-c-l-y-h +peak_load_factor:c-l-y-h +peak_load_factor:n-c-h +peak_load_factor:n-c-y-h +peak_load_factor:c-y-h +peak_load_factor:c-l +peak_load_factor:n-c-l +peak_load_factor:n-c-l-y +peak_load_factor:c-l-y +peak_load_factor:n-c +peak_load_factor:n-c-y +peak_load_factor:c-y +peak_load_factor:h +peak_load_factor:l-h +peak_load_factor:n-l-h +peak_load_factor:n-l-y-h +peak_load_factor:l-y-h +peak_load_factor:n-h +peak_load_factor:n-y-h +peak_load_factor:y-h +peak_load_factor:l +peak_load_factor:n-l +peak_load_factor:n-l-y +peak_load_factor:l-y +peak_load_factor:n +peak_load_factor:n-y +peak_load_factor:y +price emission:n-e-t-y +q +r +rating_bin: +rating_bin:c +rating_bin:c-h +rating_bin:c-l-h +rating_bin:n-c-l-h +rating_bin:n-c-l-h-q +rating_bin:n-t-c-l-h-q +rating_bin:n-t-ya-c-l-h-q +rating_bin:n-ya-c-l-h-q +rating_bin:n-t-c-l-h +rating_bin:n-t-ya-c-l-h +rating_bin:n-ya-c-l-h +rating_bin:c-l-h-q +rating_bin:t-c-l-h-q +rating_bin:t-ya-c-l-h-q +rating_bin:ya-c-l-h-q +rating_bin:t-c-l-h +rating_bin:t-ya-c-l-h +rating_bin:ya-c-l-h +rating_bin:n-c-h +rating_bin:n-c-h-q +rating_bin:n-t-c-h-q +rating_bin:n-t-ya-c-h-q +rating_bin:n-ya-c-h-q +rating_bin:n-t-c-h +rating_bin:n-t-ya-c-h +rating_bin:n-ya-c-h +rating_bin:c-h-q +rating_bin:t-c-h-q +rating_bin:t-ya-c-h-q +rating_bin:ya-c-h-q +rating_bin:t-c-h +rating_bin:t-ya-c-h +rating_bin:ya-c-h +rating_bin:c-l +rating_bin:n-c-l +rating_bin:n-c-l-q +rating_bin:n-t-c-l-q +rating_bin:n-t-ya-c-l-q +rating_bin:n-ya-c-l-q +rating_bin:n-t-c-l +rating_bin:n-t-ya-c-l +rating_bin:n-ya-c-l +rating_bin:c-l-q +rating_bin:t-c-l-q +rating_bin:t-ya-c-l-q +rating_bin:ya-c-l-q +rating_bin:t-c-l +rating_bin:t-ya-c-l +rating_bin:ya-c-l +rating_bin:n-c +rating_bin:n-c-q +rating_bin:n-t-c-q +rating_bin:n-t-ya-c-q +rating_bin:n-ya-c-q +rating_bin:n-t-c +rating_bin:n-t-ya-c +rating_bin:n-ya-c +rating_bin:c-q +rating_bin:t-c-q +rating_bin:t-ya-c-q +rating_bin:ya-c-q +rating_bin:t-c +rating_bin:t-ya-c +rating_bin:ya-c +rating_bin:h +rating_bin:l-h +rating_bin:n-l-h +rating_bin:n-l-h-q +rating_bin:n-t-l-h-q +rating_bin:n-t-ya-l-h-q +rating_bin:n-ya-l-h-q +rating_bin:n-t-l-h +rating_bin:n-t-ya-l-h +rating_bin:n-ya-l-h +rating_bin:l-h-q +rating_bin:t-l-h-q +rating_bin:t-ya-l-h-q +rating_bin:ya-l-h-q +rating_bin:t-l-h +rating_bin:t-ya-l-h +rating_bin:ya-l-h +rating_bin:n-h +rating_bin:n-h-q +rating_bin:n-t-h-q +rating_bin:n-t-ya-h-q +rating_bin:n-ya-h-q +rating_bin:n-t-h +rating_bin:n-t-ya-h +rating_bin:n-ya-h +rating_bin:h-q +rating_bin:t-h-q +rating_bin:t-ya-h-q +rating_bin:ya-h-q +rating_bin:t-h +rating_bin:t-ya-h +rating_bin:ya-h +rating_bin:l +rating_bin:n-l +rating_bin:n-l-q +rating_bin:n-t-l-q +rating_bin:n-t-ya-l-q +rating_bin:n-ya-l-q +rating_bin:n-t-l +rating_bin:n-t-ya-l +rating_bin:n-ya-l +rating_bin:l-q +rating_bin:t-l-q +rating_bin:t-ya-l-q +rating_bin:ya-l-q +rating_bin:t-l +rating_bin:t-ya-l +rating_bin:ya-l +rating_bin:n +rating_bin:n-q +rating_bin:n-t-q +rating_bin:n-t-ya-q +rating_bin:n-ya-q +rating_bin:n-t +rating_bin:n-t-ya +rating_bin:n-ya +rating_bin:q +rating_bin:t-q +rating_bin:t-ya-q +rating_bin:ya-q +rating_bin:t +rating_bin:t-ya +rating_bin:ya +ref_activity: +ref_activity:h +ref_activity:m-h +ref_activity:nl-m-h +ref_activity:nl-t-m-h +ref_activity:nl-t-ya-m-h +ref_activity:nl-ya-m-h +ref_activity:t-m-h +ref_activity:t-ya-m-h +ref_activity:ya-m-h +ref_activity:nl-h +ref_activity:nl-t-h +ref_activity:nl-t-ya-h +ref_activity:nl-ya-h +ref_activity:t-h +ref_activity:t-ya-h +ref_activity:ya-h +ref_activity:m +ref_activity:nl-m +ref_activity:nl-t-m +ref_activity:nl-t-ya-m +ref_activity:nl-ya-m +ref_activity:t-m +ref_activity:t-ya-m +ref_activity:ya-m +ref_activity:nl +ref_activity:nl-t +ref_activity:nl-t-ya +ref_activity:nl-ya +ref_activity:t +ref_activity:t-ya +ref_activity:ya +ref_extraction: +ref_extraction:c +ref_extraction:c-g +ref_extraction:n-c-g +ref_extraction:n-c-g-y +ref_extraction:c-g-y +ref_extraction:n-c +ref_extraction:n-c-y +ref_extraction:c-y +ref_extraction:g +ref_extraction:n-g +ref_extraction:n-g-y +ref_extraction:g-y +ref_extraction:n +ref_extraction:n-y +ref_extraction:y +ref_new_capacity: +ref_new_capacity:nl +ref_new_capacity:nl-t +ref_new_capacity:nl-t-yv +ref_new_capacity:nl-yv +ref_new_capacity:t +ref_new_capacity:t-yv +ref_new_capacity:yv +ref_relation: +ref_relation:nr +ref_relation:r-nr +ref_relation:r-nr-yr +ref_relation:nr-yr +ref_relation:r +ref_relation:r-yr +ref_relation:yr +rel: +rel:h +rel:m-h +rel:nl-m-h +rel:nr-nl-m-h +rel:r-nr-nl-m-h +rel:r-nr-nl-t-m-h +rel:r-nr-nl-t-ya-m-h +rel:r-nr-yr-nl-t-ya-m-h +rel:r-nr-yr-nl-t-ya-m-yv-h +rel:r-nr-nl-t-ya-m-yv-h +rel:r-nr-yr-nl-t-m-h +rel:r-nr-yr-nl-t-m-yv-h +rel:r-nr-nl-t-m-yv-h +rel:r-nr-nl-ya-m-h +rel:r-nr-yr-nl-ya-m-h +rel:r-nr-yr-nl-ya-m-yv-h +rel:r-nr-nl-ya-m-yv-h +rel:r-nr-yr-nl-m-h +rel:r-nr-yr-nl-m-yv-h +rel:r-nr-nl-m-yv-h +rel:nr-nl-t-m-h +rel:nr-nl-t-ya-m-h +rel:nr-yr-nl-t-ya-m-h +rel:nr-yr-nl-t-ya-m-yv-h +rel:nr-nl-t-ya-m-yv-h +rel:nr-yr-nl-t-m-h +rel:nr-yr-nl-t-m-yv-h +rel:nr-nl-t-m-yv-h +rel:nr-nl-ya-m-h +rel:nr-yr-nl-ya-m-h +rel:nr-yr-nl-ya-m-yv-h +rel:nr-nl-ya-m-yv-h +rel:nr-yr-nl-m-h +rel:nr-yr-nl-m-yv-h +rel:nr-nl-m-yv-h +rel:r-nl-m-h +rel:r-nl-t-m-h +rel:r-nl-t-ya-m-h +rel:r-yr-nl-t-ya-m-h +rel:r-yr-nl-t-ya-m-yv-h +rel:r-nl-t-ya-m-yv-h +rel:r-yr-nl-t-m-h +rel:r-yr-nl-t-m-yv-h +rel:r-nl-t-m-yv-h +rel:r-nl-ya-m-h +rel:r-yr-nl-ya-m-h +rel:r-yr-nl-ya-m-yv-h +rel:r-nl-ya-m-yv-h +rel:r-yr-nl-m-h +rel:r-yr-nl-m-yv-h +rel:r-nl-m-yv-h +rel:nl-t-m-h +rel:nl-t-ya-m-h +rel:yr-nl-t-ya-m-h +rel:yr-nl-t-ya-m-yv-h +rel:nl-t-ya-m-yv-h +rel:yr-nl-t-m-h +rel:yr-nl-t-m-yv-h +rel:nl-t-m-yv-h +rel:nl-ya-m-h +rel:yr-nl-ya-m-h +rel:yr-nl-ya-m-yv-h +rel:nl-ya-m-yv-h +rel:yr-nl-m-h +rel:yr-nl-m-yv-h +rel:nl-m-yv-h +rel:nr-m-h +rel:r-nr-m-h +rel:r-nr-t-m-h +rel:r-nr-t-ya-m-h +rel:r-nr-yr-t-ya-m-h +rel:r-nr-yr-t-ya-m-yv-h +rel:r-nr-t-ya-m-yv-h +rel:r-nr-yr-t-m-h +rel:r-nr-yr-t-m-yv-h +rel:r-nr-t-m-yv-h +rel:r-nr-ya-m-h +rel:r-nr-yr-ya-m-h +rel:r-nr-yr-ya-m-yv-h +rel:r-nr-ya-m-yv-h +rel:r-nr-yr-m-h +rel:r-nr-yr-m-yv-h +rel:r-nr-m-yv-h +rel:nr-t-m-h +rel:nr-t-ya-m-h +rel:nr-yr-t-ya-m-h +rel:nr-yr-t-ya-m-yv-h +rel:nr-t-ya-m-yv-h +rel:nr-yr-t-m-h +rel:nr-yr-t-m-yv-h +rel:nr-t-m-yv-h +rel:nr-ya-m-h +rel:nr-yr-ya-m-h +rel:nr-yr-ya-m-yv-h +rel:nr-ya-m-yv-h +rel:nr-yr-m-h +rel:nr-yr-m-yv-h +rel:nr-m-yv-h +rel:r-m-h +rel:r-t-m-h +rel:r-t-ya-m-h +rel:r-yr-t-ya-m-h +rel:r-yr-t-ya-m-yv-h +rel:r-t-ya-m-yv-h +rel:r-yr-t-m-h +rel:r-yr-t-m-yv-h +rel:r-t-m-yv-h +rel:r-ya-m-h +rel:r-yr-ya-m-h +rel:r-yr-ya-m-yv-h +rel:r-ya-m-yv-h +rel:r-yr-m-h +rel:r-yr-m-yv-h +rel:r-m-yv-h +rel:t-m-h +rel:t-ya-m-h +rel:yr-t-ya-m-h +rel:yr-t-ya-m-yv-h +rel:t-ya-m-yv-h +rel:yr-t-m-h +rel:yr-t-m-yv-h +rel:t-m-yv-h +rel:ya-m-h +rel:yr-ya-m-h +rel:yr-ya-m-yv-h +rel:ya-m-yv-h +rel:yr-m-h +rel:yr-m-yv-h +rel:m-yv-h +rel:nl-h +rel:nr-nl-h +rel:r-nr-nl-h +rel:r-nr-nl-t-h +rel:r-nr-nl-t-ya-h +rel:r-nr-yr-nl-t-ya-h +rel:r-nr-yr-nl-t-ya-yv-h +rel:r-nr-nl-t-ya-yv-h +rel:r-nr-yr-nl-t-h +rel:r-nr-yr-nl-t-yv-h +rel:r-nr-nl-t-yv-h +rel:r-nr-nl-ya-h +rel:r-nr-yr-nl-ya-h +rel:r-nr-yr-nl-ya-yv-h +rel:r-nr-nl-ya-yv-h +rel:r-nr-yr-nl-h +rel:r-nr-yr-nl-yv-h +rel:r-nr-nl-yv-h +rel:nr-nl-t-h +rel:nr-nl-t-ya-h +rel:nr-yr-nl-t-ya-h +rel:nr-yr-nl-t-ya-yv-h +rel:nr-nl-t-ya-yv-h +rel:nr-yr-nl-t-h +rel:nr-yr-nl-t-yv-h +rel:nr-nl-t-yv-h +rel:nr-nl-ya-h +rel:nr-yr-nl-ya-h +rel:nr-yr-nl-ya-yv-h +rel:nr-nl-ya-yv-h +rel:nr-yr-nl-h +rel:nr-yr-nl-yv-h +rel:nr-nl-yv-h +rel:r-nl-h +rel:r-nl-t-h +rel:r-nl-t-ya-h +rel:r-yr-nl-t-ya-h +rel:r-yr-nl-t-ya-yv-h +rel:r-nl-t-ya-yv-h +rel:r-yr-nl-t-h +rel:r-yr-nl-t-yv-h +rel:r-nl-t-yv-h +rel:r-nl-ya-h +rel:r-yr-nl-ya-h +rel:r-yr-nl-ya-yv-h +rel:r-nl-ya-yv-h +rel:r-yr-nl-h +rel:r-yr-nl-yv-h +rel:r-nl-yv-h +rel:nl-t-h +rel:nl-t-ya-h +rel:yr-nl-t-ya-h +rel:yr-nl-t-ya-yv-h +rel:nl-t-ya-yv-h +rel:yr-nl-t-h +rel:yr-nl-t-yv-h +rel:nl-t-yv-h +rel:nl-ya-h +rel:yr-nl-ya-h +rel:yr-nl-ya-yv-h +rel:nl-ya-yv-h +rel:yr-nl-h +rel:yr-nl-yv-h +rel:nl-yv-h +rel:nr-h +rel:r-nr-h +rel:r-nr-t-h +rel:r-nr-t-ya-h +rel:r-nr-yr-t-ya-h +rel:r-nr-yr-t-ya-yv-h +rel:r-nr-t-ya-yv-h +rel:r-nr-yr-t-h +rel:r-nr-yr-t-yv-h +rel:r-nr-t-yv-h +rel:r-nr-ya-h +rel:r-nr-yr-ya-h +rel:r-nr-yr-ya-yv-h +rel:r-nr-ya-yv-h +rel:r-nr-yr-h +rel:r-nr-yr-yv-h +rel:r-nr-yv-h +rel:nr-t-h +rel:nr-t-ya-h +rel:nr-yr-t-ya-h +rel:nr-yr-t-ya-yv-h +rel:nr-t-ya-yv-h +rel:nr-yr-t-h +rel:nr-yr-t-yv-h +rel:nr-t-yv-h +rel:nr-ya-h +rel:nr-yr-ya-h +rel:nr-yr-ya-yv-h +rel:nr-ya-yv-h +rel:nr-yr-h +rel:nr-yr-yv-h +rel:nr-yv-h +rel:r-h +rel:r-t-h +rel:r-t-ya-h +rel:r-yr-t-ya-h +rel:r-yr-t-ya-yv-h +rel:r-t-ya-yv-h +rel:r-yr-t-h +rel:r-yr-t-yv-h +rel:r-t-yv-h +rel:r-ya-h +rel:r-yr-ya-h +rel:r-yr-ya-yv-h +rel:r-ya-yv-h +rel:r-yr-h +rel:r-yr-yv-h +rel:r-yv-h +rel:t-h +rel:t-ya-h +rel:yr-t-ya-h +rel:yr-t-ya-yv-h +rel:t-ya-yv-h +rel:yr-t-h +rel:yr-t-yv-h +rel:t-yv-h +rel:ya-h +rel:yr-ya-h +rel:yr-ya-yv-h +rel:ya-yv-h +rel:yr-h +rel:yr-yv-h +rel:yv-h +rel:m +rel:nl-m +rel:nr-nl-m +rel:r-nr-nl-m +rel:r-nr-nl-t-m +rel:r-nr-nl-t-ya-m +rel:r-nr-yr-nl-t-ya-m +rel:r-nr-yr-nl-t-ya-m-yv +rel:r-nr-nl-t-ya-m-yv +rel:r-nr-yr-nl-t-m +rel:r-nr-yr-nl-t-m-yv +rel:r-nr-nl-t-m-yv +rel:r-nr-nl-ya-m +rel:r-nr-yr-nl-ya-m +rel:r-nr-yr-nl-ya-m-yv +rel:r-nr-nl-ya-m-yv +rel:r-nr-yr-nl-m +rel:r-nr-yr-nl-m-yv +rel:r-nr-nl-m-yv +rel:nr-nl-t-m +rel:nr-nl-t-ya-m +rel:nr-yr-nl-t-ya-m +rel:nr-yr-nl-t-ya-m-yv +rel:nr-nl-t-ya-m-yv +rel:nr-yr-nl-t-m +rel:nr-yr-nl-t-m-yv +rel:nr-nl-t-m-yv +rel:nr-nl-ya-m +rel:nr-yr-nl-ya-m +rel:nr-yr-nl-ya-m-yv +rel:nr-nl-ya-m-yv +rel:nr-yr-nl-m +rel:nr-yr-nl-m-yv +rel:nr-nl-m-yv +rel:r-nl-m +rel:r-nl-t-m +rel:r-nl-t-ya-m +rel:r-yr-nl-t-ya-m +rel:r-yr-nl-t-ya-m-yv +rel:r-nl-t-ya-m-yv +rel:r-yr-nl-t-m +rel:r-yr-nl-t-m-yv +rel:r-nl-t-m-yv +rel:r-nl-ya-m +rel:r-yr-nl-ya-m +rel:r-yr-nl-ya-m-yv +rel:r-nl-ya-m-yv +rel:r-yr-nl-m +rel:r-yr-nl-m-yv +rel:r-nl-m-yv +rel:nl-t-m +rel:nl-t-ya-m +rel:yr-nl-t-ya-m +rel:yr-nl-t-ya-m-yv +rel:nl-t-ya-m-yv +rel:yr-nl-t-m +rel:yr-nl-t-m-yv +rel:nl-t-m-yv +rel:nl-ya-m +rel:yr-nl-ya-m +rel:yr-nl-ya-m-yv +rel:nl-ya-m-yv +rel:yr-nl-m +rel:yr-nl-m-yv +rel:nl-m-yv +rel:nr-m +rel:r-nr-m +rel:r-nr-t-m +rel:r-nr-t-ya-m +rel:r-nr-yr-t-ya-m +rel:r-nr-yr-t-ya-m-yv +rel:r-nr-t-ya-m-yv +rel:r-nr-yr-t-m +rel:r-nr-yr-t-m-yv +rel:r-nr-t-m-yv +rel:r-nr-ya-m +rel:r-nr-yr-ya-m +rel:r-nr-yr-ya-m-yv +rel:r-nr-ya-m-yv +rel:r-nr-yr-m +rel:r-nr-yr-m-yv +rel:r-nr-m-yv +rel:nr-t-m +rel:nr-t-ya-m +rel:nr-yr-t-ya-m +rel:nr-yr-t-ya-m-yv +rel:nr-t-ya-m-yv +rel:nr-yr-t-m +rel:nr-yr-t-m-yv +rel:nr-t-m-yv +rel:nr-ya-m +rel:nr-yr-ya-m +rel:nr-yr-ya-m-yv +rel:nr-ya-m-yv +rel:nr-yr-m +rel:nr-yr-m-yv +rel:nr-m-yv +rel:r-m +rel:r-t-m +rel:r-t-ya-m +rel:r-yr-t-ya-m +rel:r-yr-t-ya-m-yv +rel:r-t-ya-m-yv +rel:r-yr-t-m +rel:r-yr-t-m-yv +rel:r-t-m-yv +rel:r-ya-m +rel:r-yr-ya-m +rel:r-yr-ya-m-yv +rel:r-ya-m-yv +rel:r-yr-m +rel:r-yr-m-yv +rel:r-m-yv +rel:t-m +rel:t-ya-m +rel:yr-t-ya-m +rel:yr-t-ya-m-yv +rel:t-ya-m-yv +rel:yr-t-m +rel:yr-t-m-yv +rel:t-m-yv +rel:ya-m +rel:yr-ya-m +rel:yr-ya-m-yv +rel:ya-m-yv +rel:yr-m +rel:yr-m-yv +rel:m-yv +rel:nl +rel:nr-nl +rel:r-nr-nl +rel:r-nr-nl-t +rel:r-nr-nl-t-ya +rel:r-nr-yr-nl-t-ya +rel:r-nr-yr-nl-t-ya-yv +rel:r-nr-nl-t-ya-yv +rel:r-nr-yr-nl-t +rel:r-nr-yr-nl-t-yv +rel:r-nr-nl-t-yv +rel:r-nr-nl-ya +rel:r-nr-yr-nl-ya +rel:r-nr-yr-nl-ya-yv +rel:r-nr-nl-ya-yv +rel:r-nr-yr-nl +rel:r-nr-yr-nl-yv +rel:r-nr-nl-yv +rel:nr-nl-t +rel:nr-nl-t-ya +rel:nr-yr-nl-t-ya +rel:nr-yr-nl-t-ya-yv +rel:nr-nl-t-ya-yv +rel:nr-yr-nl-t +rel:nr-yr-nl-t-yv +rel:nr-nl-t-yv +rel:nr-nl-ya +rel:nr-yr-nl-ya +rel:nr-yr-nl-ya-yv +rel:nr-nl-ya-yv +rel:nr-yr-nl +rel:nr-yr-nl-yv +rel:nr-nl-yv +rel:r-nl +rel:r-nl-t +rel:r-nl-t-ya +rel:r-yr-nl-t-ya +rel:r-yr-nl-t-ya-yv +rel:r-nl-t-ya-yv +rel:r-yr-nl-t +rel:r-yr-nl-t-yv +rel:r-nl-t-yv +rel:r-nl-ya +rel:r-yr-nl-ya +rel:r-yr-nl-ya-yv +rel:r-nl-ya-yv +rel:r-yr-nl +rel:r-yr-nl-yv +rel:r-nl-yv +rel:nl-t +rel:nl-t-ya +rel:yr-nl-t-ya +rel:yr-nl-t-ya-yv +rel:nl-t-ya-yv +rel:yr-nl-t +rel:yr-nl-t-yv +rel:nl-t-yv +rel:nl-ya +rel:yr-nl-ya +rel:yr-nl-ya-yv +rel:nl-ya-yv +rel:yr-nl +rel:yr-nl-yv +rel:nl-yv +rel:nr +rel:r-nr +rel:r-nr-t +rel:r-nr-t-ya +rel:r-nr-yr-t-ya +rel:r-nr-yr-t-ya-yv +rel:r-nr-t-ya-yv +rel:r-nr-yr-t +rel:r-nr-yr-t-yv +rel:r-nr-t-yv +rel:r-nr-ya +rel:r-nr-yr-ya +rel:r-nr-yr-ya-yv +rel:r-nr-ya-yv +rel:r-nr-yr +rel:r-nr-yr-yv +rel:r-nr-yv +rel:nr-t +rel:nr-t-ya +rel:nr-yr-t-ya +rel:nr-yr-t-ya-yv +rel:nr-t-ya-yv +rel:nr-yr-t +rel:nr-yr-t-yv +rel:nr-t-yv +rel:nr-ya +rel:nr-yr-ya +rel:nr-yr-ya-yv +rel:nr-ya-yv +rel:nr-yr +rel:nr-yr-yv +rel:nr-yv +rel:r +rel:r-t +rel:r-t-ya +rel:r-yr-t-ya +rel:r-yr-t-ya-yv +rel:r-t-ya-yv +rel:r-yr-t +rel:r-yr-t-yv +rel:r-t-yv +rel:r-ya +rel:r-yr-ya +rel:r-yr-ya-yv +rel:r-ya-yv +rel:r-yr +rel:r-yr-yv +rel:r-yv +rel:t +rel:t-ya +rel:yr-t-ya +rel:yr-t-ya-yv +rel:t-ya-yv +rel:yr-t +rel:yr-t-yv +rel:t-yv +rel:ya +rel:yr-ya +rel:yr-ya-yv +rel:ya-yv +rel:yr +rel:yr-yv +rel:yv +relation_activity: +relation_activity:m +relation_activity:nl-m +relation_activity:nr-nl-m +relation_activity:r-nr-nl-m +relation_activity:r-nr-nl-t-m +relation_activity:r-nr-nl-t-ya-m +relation_activity:r-nr-yr-nl-t-ya-m +relation_activity:r-nr-yr-nl-t-m +relation_activity:r-nr-nl-ya-m +relation_activity:r-nr-yr-nl-ya-m +relation_activity:r-nr-yr-nl-m +relation_activity:nr-nl-t-m +relation_activity:nr-nl-t-ya-m +relation_activity:nr-yr-nl-t-ya-m +relation_activity:nr-yr-nl-t-m +relation_activity:nr-nl-ya-m +relation_activity:nr-yr-nl-ya-m +relation_activity:nr-yr-nl-m +relation_activity:r-nl-m +relation_activity:r-nl-t-m +relation_activity:r-nl-t-ya-m +relation_activity:r-yr-nl-t-ya-m +relation_activity:r-yr-nl-t-m +relation_activity:r-nl-ya-m +relation_activity:r-yr-nl-ya-m +relation_activity:r-yr-nl-m +relation_activity:nl-t-m +relation_activity:nl-t-ya-m +relation_activity:yr-nl-t-ya-m +relation_activity:yr-nl-t-m +relation_activity:nl-ya-m +relation_activity:yr-nl-ya-m +relation_activity:yr-nl-m +relation_activity:nr-m +relation_activity:r-nr-m +relation_activity:r-nr-t-m +relation_activity:r-nr-t-ya-m +relation_activity:r-nr-yr-t-ya-m +relation_activity:r-nr-yr-t-m +relation_activity:r-nr-ya-m +relation_activity:r-nr-yr-ya-m +relation_activity:r-nr-yr-m +relation_activity:nr-t-m +relation_activity:nr-t-ya-m +relation_activity:nr-yr-t-ya-m +relation_activity:nr-yr-t-m +relation_activity:nr-ya-m +relation_activity:nr-yr-ya-m +relation_activity:nr-yr-m +relation_activity:r-m +relation_activity:r-t-m +relation_activity:r-t-ya-m +relation_activity:r-yr-t-ya-m +relation_activity:r-yr-t-m +relation_activity:r-ya-m +relation_activity:r-yr-ya-m +relation_activity:r-yr-m +relation_activity:t-m +relation_activity:t-ya-m +relation_activity:yr-t-ya-m +relation_activity:yr-t-m +relation_activity:ya-m +relation_activity:yr-ya-m +relation_activity:yr-m +relation_activity:nl +relation_activity:nr-nl +relation_activity:r-nr-nl +relation_activity:r-nr-nl-t +relation_activity:r-nr-nl-t-ya +relation_activity:r-nr-yr-nl-t-ya +relation_activity:r-nr-yr-nl-t +relation_activity:r-nr-nl-ya +relation_activity:r-nr-yr-nl-ya +relation_activity:r-nr-yr-nl +relation_activity:nr-nl-t +relation_activity:nr-nl-t-ya +relation_activity:nr-yr-nl-t-ya +relation_activity:nr-yr-nl-t +relation_activity:nr-nl-ya +relation_activity:nr-yr-nl-ya +relation_activity:nr-yr-nl +relation_activity:r-nl +relation_activity:r-nl-t +relation_activity:r-nl-t-ya +relation_activity:r-yr-nl-t-ya +relation_activity:r-yr-nl-t +relation_activity:r-nl-ya +relation_activity:r-yr-nl-ya +relation_activity:r-yr-nl +relation_activity:nl-t +relation_activity:nl-t-ya +relation_activity:yr-nl-t-ya +relation_activity:yr-nl-t +relation_activity:nl-ya +relation_activity:yr-nl-ya +relation_activity:yr-nl +relation_activity:nr +relation_activity:r-nr +relation_activity:r-nr-t +relation_activity:r-nr-t-ya +relation_activity:r-nr-yr-t-ya +relation_activity:r-nr-yr-t +relation_activity:r-nr-ya +relation_activity:r-nr-yr-ya +relation_activity:r-nr-yr +relation_activity:nr-t +relation_activity:nr-t-ya +relation_activity:nr-yr-t-ya +relation_activity:nr-yr-t +relation_activity:nr-ya +relation_activity:nr-yr-ya +relation_activity:nr-yr +relation_activity:r +relation_activity:r-t +relation_activity:r-t-ya +relation_activity:r-yr-t-ya +relation_activity:r-yr-t +relation_activity:r-ya +relation_activity:r-yr-ya +relation_activity:r-yr +relation_activity:t +relation_activity:t-ya +relation_activity:yr-t-ya +relation_activity:yr-t +relation_activity:ya +relation_activity:yr-ya +relation_activity:yr +relation_cost: +relation_cost:nr +relation_cost:r-nr +relation_cost:r-nr-yr +relation_cost:nr-yr +relation_cost:r +relation_cost:r-yr +relation_cost:yr +relation_lower: +relation_lower:nr +relation_lower:r-nr +relation_lower:r-nr-yr +relation_lower:nr-yr +relation_lower:r +relation_lower:r-yr +relation_lower:yr +relation_new_capacity: +relation_new_capacity:nr +relation_new_capacity:r-nr +relation_new_capacity:r-nr-t +relation_new_capacity:r-nr-yr-t +relation_new_capacity:r-nr-yr +relation_new_capacity:nr-t +relation_new_capacity:nr-yr-t +relation_new_capacity:nr-yr +relation_new_capacity:r +relation_new_capacity:r-t +relation_new_capacity:r-yr-t +relation_new_capacity:r-yr +relation_new_capacity:t +relation_new_capacity:yr-t +relation_new_capacity:yr +relation_total_capacity: +relation_total_capacity:nr +relation_total_capacity:r-nr +relation_total_capacity:r-nr-t +relation_total_capacity:r-nr-yr-t +relation_total_capacity:r-nr-yr +relation_total_capacity:nr-t +relation_total_capacity:nr-yr-t +relation_total_capacity:nr-yr +relation_total_capacity:r +relation_total_capacity:r-t +relation_total_capacity:r-yr-t +relation_total_capacity:r-yr +relation_total_capacity:t +relation_total_capacity:yr-t +relation_total_capacity:yr +relation_upper: +relation_upper:nr +relation_upper:r-nr +relation_upper:r-nr-yr +relation_upper:nr-yr +relation_upper:r +relation_upper:r-yr +relation_upper:yr +reliability_factor: +reliability_factor:c +reliability_factor:c-h +reliability_factor:c-l-h +reliability_factor:n-c-l-h +reliability_factor:n-c-l-h-q +reliability_factor:n-t-c-l-h-q +reliability_factor:n-t-ya-c-l-h-q +reliability_factor:n-ya-c-l-h-q +reliability_factor:n-t-c-l-h +reliability_factor:n-t-ya-c-l-h +reliability_factor:n-ya-c-l-h +reliability_factor:c-l-h-q +reliability_factor:t-c-l-h-q +reliability_factor:t-ya-c-l-h-q +reliability_factor:ya-c-l-h-q +reliability_factor:t-c-l-h +reliability_factor:t-ya-c-l-h +reliability_factor:ya-c-l-h +reliability_factor:n-c-h +reliability_factor:n-c-h-q +reliability_factor:n-t-c-h-q +reliability_factor:n-t-ya-c-h-q +reliability_factor:n-ya-c-h-q +reliability_factor:n-t-c-h +reliability_factor:n-t-ya-c-h +reliability_factor:n-ya-c-h +reliability_factor:c-h-q +reliability_factor:t-c-h-q +reliability_factor:t-ya-c-h-q +reliability_factor:ya-c-h-q +reliability_factor:t-c-h +reliability_factor:t-ya-c-h +reliability_factor:ya-c-h +reliability_factor:c-l +reliability_factor:n-c-l +reliability_factor:n-c-l-q +reliability_factor:n-t-c-l-q +reliability_factor:n-t-ya-c-l-q +reliability_factor:n-ya-c-l-q +reliability_factor:n-t-c-l +reliability_factor:n-t-ya-c-l +reliability_factor:n-ya-c-l +reliability_factor:c-l-q +reliability_factor:t-c-l-q +reliability_factor:t-ya-c-l-q +reliability_factor:ya-c-l-q +reliability_factor:t-c-l +reliability_factor:t-ya-c-l +reliability_factor:ya-c-l +reliability_factor:n-c +reliability_factor:n-c-q +reliability_factor:n-t-c-q +reliability_factor:n-t-ya-c-q +reliability_factor:n-ya-c-q +reliability_factor:n-t-c +reliability_factor:n-t-ya-c +reliability_factor:n-ya-c +reliability_factor:c-q +reliability_factor:t-c-q +reliability_factor:t-ya-c-q +reliability_factor:ya-c-q +reliability_factor:t-c +reliability_factor:t-ya-c +reliability_factor:ya-c +reliability_factor:h +reliability_factor:l-h +reliability_factor:n-l-h +reliability_factor:n-l-h-q +reliability_factor:n-t-l-h-q +reliability_factor:n-t-ya-l-h-q +reliability_factor:n-ya-l-h-q +reliability_factor:n-t-l-h +reliability_factor:n-t-ya-l-h +reliability_factor:n-ya-l-h +reliability_factor:l-h-q +reliability_factor:t-l-h-q +reliability_factor:t-ya-l-h-q +reliability_factor:ya-l-h-q +reliability_factor:t-l-h +reliability_factor:t-ya-l-h +reliability_factor:ya-l-h +reliability_factor:n-h +reliability_factor:n-h-q +reliability_factor:n-t-h-q +reliability_factor:n-t-ya-h-q +reliability_factor:n-ya-h-q +reliability_factor:n-t-h +reliability_factor:n-t-ya-h +reliability_factor:n-ya-h +reliability_factor:h-q +reliability_factor:t-h-q +reliability_factor:t-ya-h-q +reliability_factor:ya-h-q +reliability_factor:t-h +reliability_factor:t-ya-h +reliability_factor:ya-h +reliability_factor:l +reliability_factor:n-l +reliability_factor:n-l-q +reliability_factor:n-t-l-q +reliability_factor:n-t-ya-l-q +reliability_factor:n-ya-l-q +reliability_factor:n-t-l +reliability_factor:n-t-ya-l +reliability_factor:n-ya-l +reliability_factor:l-q +reliability_factor:t-l-q +reliability_factor:t-ya-l-q +reliability_factor:ya-l-q +reliability_factor:t-l +reliability_factor:t-ya-l +reliability_factor:ya-l +reliability_factor:n +reliability_factor:n-q +reliability_factor:n-t-q +reliability_factor:n-t-ya-q +reliability_factor:n-ya-q +reliability_factor:n-t +reliability_factor:n-t-ya +reliability_factor:n-ya +reliability_factor:q +reliability_factor:t-q +reliability_factor:t-ya-q +reliability_factor:ya-q +reliability_factor:t +reliability_factor:t-ya +reliability_factor:ya +renewable_capacity_factor: +renewable_capacity_factor:c +renewable_capacity_factor:c-g +renewable_capacity_factor:c-g-l +renewable_capacity_factor:n-c-g-l +renewable_capacity_factor:n-c-g-l-y +renewable_capacity_factor:c-g-l-y +renewable_capacity_factor:n-c-g +renewable_capacity_factor:n-c-g-y +renewable_capacity_factor:c-g-y +renewable_capacity_factor:c-l +renewable_capacity_factor:n-c-l +renewable_capacity_factor:n-c-l-y +renewable_capacity_factor:c-l-y +renewable_capacity_factor:n-c +renewable_capacity_factor:n-c-y +renewable_capacity_factor:c-y +renewable_capacity_factor:g +renewable_capacity_factor:g-l +renewable_capacity_factor:n-g-l +renewable_capacity_factor:n-g-l-y +renewable_capacity_factor:g-l-y +renewable_capacity_factor:n-g +renewable_capacity_factor:n-g-y +renewable_capacity_factor:g-y +renewable_capacity_factor:l +renewable_capacity_factor:n-l +renewable_capacity_factor:n-l-y +renewable_capacity_factor:l-y +renewable_capacity_factor:n +renewable_capacity_factor:n-y +renewable_capacity_factor:y +renewable_potential: +renewable_potential:c +renewable_potential:c-g +renewable_potential:c-g-l +renewable_potential:n-c-g-l +renewable_potential:n-c-g-l-y +renewable_potential:c-g-l-y +renewable_potential:n-c-g +renewable_potential:n-c-g-y +renewable_potential:c-g-y +renewable_potential:c-l +renewable_potential:n-c-l +renewable_potential:n-c-l-y +renewable_potential:c-l-y +renewable_potential:n-c +renewable_potential:n-c-y +renewable_potential:c-y +renewable_potential:g +renewable_potential:g-l +renewable_potential:n-g-l +renewable_potential:n-g-l-y +renewable_potential:g-l-y +renewable_potential:n-g +renewable_potential:n-g-y +renewable_potential:g-y +renewable_potential:l +renewable_potential:n-l +renewable_potential:n-l-y +renewable_potential:l-y +renewable_potential:n +renewable_potential:n-y +renewable_potential:y +resource_cost: +resource_cost:c +resource_cost:c-g +resource_cost:n-c-g +resource_cost:n-c-g-y +resource_cost:c-g-y +resource_cost:n-c +resource_cost:n-c-y +resource_cost:c-y +resource_cost:g +resource_cost:n-g +resource_cost:n-g-y +resource_cost:g-y +resource_cost:n +resource_cost:n-y +resource_cost:y +resource_remaining: +resource_remaining:c +resource_remaining:c-g +resource_remaining:n-c-g +resource_remaining:n-c-g-y +resource_remaining:c-g-y +resource_remaining:n-c +resource_remaining:n-c-y +resource_remaining:c-y +resource_remaining:g +resource_remaining:n-g +resource_remaining:n-g-y +resource_remaining:g-y +resource_remaining:n +resource_remaining:n-y +resource_remaining:y +resource_volume: +resource_volume:c +resource_volume:c-g +resource_volume:n-c-g +resource_volume:n-c +resource_volume:g +resource_volume:n-g +resource_volume:n +s +scenario +share_commodity_lo: +share_commodity_lo:h +share_commodity_lo:ns-h +share_commodity_lo:shares-ns-h +share_commodity_lo:shares-ns-ya-h +share_commodity_lo:ns-ya-h +share_commodity_lo:shares-h +share_commodity_lo:shares-ya-h +share_commodity_lo:ya-h +share_commodity_lo:ns +share_commodity_lo:shares-ns +share_commodity_lo:shares-ns-ya +share_commodity_lo:ns-ya +share_commodity_lo:shares +share_commodity_lo:shares-ya +share_commodity_lo:ya +share_commodity_up: +share_commodity_up:h +share_commodity_up:ns-h +share_commodity_up:shares-ns-h +share_commodity_up:shares-ns-ya-h +share_commodity_up:ns-ya-h +share_commodity_up:shares-h +share_commodity_up:shares-ya-h +share_commodity_up:ya-h +share_commodity_up:ns +share_commodity_up:shares-ns +share_commodity_up:shares-ns-ya +share_commodity_up:ns-ya +share_commodity_up:shares +share_commodity_up:shares-ya +share_commodity_up:ya +share_mode_lo: +share_mode_lo:h +share_mode_lo:m-h +share_mode_lo:ns-m-h +share_mode_lo:shares-ns-m-h +share_mode_lo:shares-ns-t-m-h +share_mode_lo:shares-ns-t-m-ya-h +share_mode_lo:shares-ns-m-ya-h +share_mode_lo:ns-t-m-h +share_mode_lo:ns-t-m-ya-h +share_mode_lo:ns-m-ya-h +share_mode_lo:shares-m-h +share_mode_lo:shares-t-m-h +share_mode_lo:shares-t-m-ya-h +share_mode_lo:shares-m-ya-h +share_mode_lo:t-m-h +share_mode_lo:t-m-ya-h +share_mode_lo:m-ya-h +share_mode_lo:ns-h +share_mode_lo:shares-ns-h +share_mode_lo:shares-ns-t-h +share_mode_lo:shares-ns-t-ya-h +share_mode_lo:shares-ns-ya-h +share_mode_lo:ns-t-h +share_mode_lo:ns-t-ya-h +share_mode_lo:ns-ya-h +share_mode_lo:shares-h +share_mode_lo:shares-t-h +share_mode_lo:shares-t-ya-h +share_mode_lo:shares-ya-h +share_mode_lo:t-h +share_mode_lo:t-ya-h +share_mode_lo:ya-h +share_mode_lo:m +share_mode_lo:ns-m +share_mode_lo:shares-ns-m +share_mode_lo:shares-ns-t-m +share_mode_lo:shares-ns-t-m-ya +share_mode_lo:shares-ns-m-ya +share_mode_lo:ns-t-m +share_mode_lo:ns-t-m-ya +share_mode_lo:ns-m-ya +share_mode_lo:shares-m +share_mode_lo:shares-t-m +share_mode_lo:shares-t-m-ya +share_mode_lo:shares-m-ya +share_mode_lo:t-m +share_mode_lo:t-m-ya +share_mode_lo:m-ya +share_mode_lo:ns +share_mode_lo:shares-ns +share_mode_lo:shares-ns-t +share_mode_lo:shares-ns-t-ya +share_mode_lo:shares-ns-ya +share_mode_lo:ns-t +share_mode_lo:ns-t-ya +share_mode_lo:ns-ya +share_mode_lo:shares +share_mode_lo:shares-t +share_mode_lo:shares-t-ya +share_mode_lo:shares-ya +share_mode_lo:t +share_mode_lo:t-ya +share_mode_lo:ya +share_mode_up: +share_mode_up:h +share_mode_up:m-h +share_mode_up:ns-m-h +share_mode_up:shares-ns-m-h +share_mode_up:shares-ns-t-m-h +share_mode_up:shares-ns-t-m-ya-h +share_mode_up:shares-ns-m-ya-h +share_mode_up:ns-t-m-h +share_mode_up:ns-t-m-ya-h +share_mode_up:ns-m-ya-h +share_mode_up:shares-m-h +share_mode_up:shares-t-m-h +share_mode_up:shares-t-m-ya-h +share_mode_up:shares-m-ya-h +share_mode_up:t-m-h +share_mode_up:t-m-ya-h +share_mode_up:m-ya-h +share_mode_up:ns-h +share_mode_up:shares-ns-h +share_mode_up:shares-ns-t-h +share_mode_up:shares-ns-t-ya-h +share_mode_up:shares-ns-ya-h +share_mode_up:ns-t-h +share_mode_up:ns-t-ya-h +share_mode_up:ns-ya-h +share_mode_up:shares-h +share_mode_up:shares-t-h +share_mode_up:shares-t-ya-h +share_mode_up:shares-ya-h +share_mode_up:t-h +share_mode_up:t-ya-h +share_mode_up:ya-h +share_mode_up:m +share_mode_up:ns-m +share_mode_up:shares-ns-m +share_mode_up:shares-ns-t-m +share_mode_up:shares-ns-t-m-ya +share_mode_up:shares-ns-m-ya +share_mode_up:ns-t-m +share_mode_up:ns-t-m-ya +share_mode_up:ns-m-ya +share_mode_up:shares-m +share_mode_up:shares-t-m +share_mode_up:shares-t-m-ya +share_mode_up:shares-m-ya +share_mode_up:t-m +share_mode_up:t-m-ya +share_mode_up:m-ya +share_mode_up:ns +share_mode_up:shares-ns +share_mode_up:shares-ns-t +share_mode_up:shares-ns-t-ya +share_mode_up:shares-ns-ya +share_mode_up:ns-t +share_mode_up:ns-t-ya +share_mode_up:ns-ya +share_mode_up:shares +share_mode_up:shares-t +share_mode_up:shares-t-ya +share_mode_up:shares-ya +share_mode_up:t +share_mode_up:t-ya +share_mode_up:ya +shares +soft_activity_lo: +soft_activity_lo:h +soft_activity_lo:nl-h +soft_activity_lo:nl-t-h +soft_activity_lo:nl-t-ya-h +soft_activity_lo:nl-ya-h +soft_activity_lo:t-h +soft_activity_lo:t-ya-h +soft_activity_lo:ya-h +soft_activity_lo:nl +soft_activity_lo:nl-t +soft_activity_lo:nl-t-ya +soft_activity_lo:nl-ya +soft_activity_lo:t +soft_activity_lo:t-ya +soft_activity_lo:ya +soft_activity_up: +soft_activity_up:h +soft_activity_up:nl-h +soft_activity_up:nl-t-h +soft_activity_up:nl-t-ya-h +soft_activity_up:nl-ya-h +soft_activity_up:t-h +soft_activity_up:t-ya-h +soft_activity_up:ya-h +soft_activity_up:nl +soft_activity_up:nl-t +soft_activity_up:nl-t-ya +soft_activity_up:nl-ya +soft_activity_up:t +soft_activity_up:t-ya +soft_activity_up:ya +soft_new_capacity_lo: +soft_new_capacity_lo:nl +soft_new_capacity_lo:nl-t +soft_new_capacity_lo:nl-t-yv +soft_new_capacity_lo:nl-yv +soft_new_capacity_lo:t +soft_new_capacity_lo:t-yv +soft_new_capacity_lo:yv +soft_new_capacity_up: +soft_new_capacity_up:nl +soft_new_capacity_up:nl-t +soft_new_capacity_up:nl-t-yv +soft_new_capacity_up:nl-yv +soft_new_capacity_up:t +soft_new_capacity_up:t-yv +soft_new_capacity_up:yv +storage_initial: +storage_initial:c +storage_initial:c-h +storage_initial:l-c-h +storage_initial:m-l-c-h +storage_initial:n-m-l-c-h +storage_initial:n-t-m-l-c-h +storage_initial:n-t-m-l-c-y-h +storage_initial:n-m-l-c-y-h +storage_initial:t-m-l-c-h +storage_initial:t-m-l-c-y-h +storage_initial:m-l-c-y-h +storage_initial:n-l-c-h +storage_initial:n-t-l-c-h +storage_initial:n-t-l-c-y-h +storage_initial:n-l-c-y-h +storage_initial:t-l-c-h +storage_initial:t-l-c-y-h +storage_initial:l-c-y-h +storage_initial:m-c-h +storage_initial:n-m-c-h +storage_initial:n-t-m-c-h +storage_initial:n-t-m-c-y-h +storage_initial:n-m-c-y-h +storage_initial:t-m-c-h +storage_initial:t-m-c-y-h +storage_initial:m-c-y-h +storage_initial:n-c-h +storage_initial:n-t-c-h +storage_initial:n-t-c-y-h +storage_initial:n-c-y-h +storage_initial:t-c-h +storage_initial:t-c-y-h +storage_initial:c-y-h +storage_initial:l-c +storage_initial:m-l-c +storage_initial:n-m-l-c +storage_initial:n-t-m-l-c +storage_initial:n-t-m-l-c-y +storage_initial:n-m-l-c-y +storage_initial:t-m-l-c +storage_initial:t-m-l-c-y +storage_initial:m-l-c-y +storage_initial:n-l-c +storage_initial:n-t-l-c +storage_initial:n-t-l-c-y +storage_initial:n-l-c-y +storage_initial:t-l-c +storage_initial:t-l-c-y +storage_initial:l-c-y +storage_initial:m-c +storage_initial:n-m-c +storage_initial:n-t-m-c +storage_initial:n-t-m-c-y +storage_initial:n-m-c-y +storage_initial:t-m-c +storage_initial:t-m-c-y +storage_initial:m-c-y +storage_initial:n-c +storage_initial:n-t-c +storage_initial:n-t-c-y +storage_initial:n-c-y +storage_initial:t-c +storage_initial:t-c-y +storage_initial:c-y +storage_initial:h +storage_initial:l-h +storage_initial:m-l-h +storage_initial:n-m-l-h +storage_initial:n-t-m-l-h +storage_initial:n-t-m-l-y-h +storage_initial:n-m-l-y-h +storage_initial:t-m-l-h +storage_initial:t-m-l-y-h +storage_initial:m-l-y-h +storage_initial:n-l-h +storage_initial:n-t-l-h +storage_initial:n-t-l-y-h +storage_initial:n-l-y-h +storage_initial:t-l-h +storage_initial:t-l-y-h +storage_initial:l-y-h +storage_initial:m-h +storage_initial:n-m-h +storage_initial:n-t-m-h +storage_initial:n-t-m-y-h +storage_initial:n-m-y-h +storage_initial:t-m-h +storage_initial:t-m-y-h +storage_initial:m-y-h +storage_initial:n-h +storage_initial:n-t-h +storage_initial:n-t-y-h +storage_initial:n-y-h +storage_initial:t-h +storage_initial:t-y-h +storage_initial:y-h +storage_initial:l +storage_initial:m-l +storage_initial:n-m-l +storage_initial:n-t-m-l +storage_initial:n-t-m-l-y +storage_initial:n-m-l-y +storage_initial:t-m-l +storage_initial:t-m-l-y +storage_initial:m-l-y +storage_initial:n-l +storage_initial:n-t-l +storage_initial:n-t-l-y +storage_initial:n-l-y +storage_initial:t-l +storage_initial:t-l-y +storage_initial:l-y +storage_initial:m +storage_initial:n-m +storage_initial:n-t-m +storage_initial:n-t-m-y +storage_initial:n-m-y +storage_initial:t-m +storage_initial:t-m-y +storage_initial:m-y +storage_initial:n +storage_initial:n-t +storage_initial:n-t-y +storage_initial:n-y +storage_initial:t +storage_initial:t-y +storage_initial:y +storage_self_discharge: +storage_self_discharge:c +storage_self_discharge:c-h +storage_self_discharge:l-c-h +storage_self_discharge:m-l-c-h +storage_self_discharge:n-m-l-c-h +storage_self_discharge:n-t-m-l-c-h +storage_self_discharge:n-t-m-l-c-y-h +storage_self_discharge:n-m-l-c-y-h +storage_self_discharge:t-m-l-c-h +storage_self_discharge:t-m-l-c-y-h +storage_self_discharge:m-l-c-y-h +storage_self_discharge:n-l-c-h +storage_self_discharge:n-t-l-c-h +storage_self_discharge:n-t-l-c-y-h +storage_self_discharge:n-l-c-y-h +storage_self_discharge:t-l-c-h +storage_self_discharge:t-l-c-y-h +storage_self_discharge:l-c-y-h +storage_self_discharge:m-c-h +storage_self_discharge:n-m-c-h +storage_self_discharge:n-t-m-c-h +storage_self_discharge:n-t-m-c-y-h +storage_self_discharge:n-m-c-y-h +storage_self_discharge:t-m-c-h +storage_self_discharge:t-m-c-y-h +storage_self_discharge:m-c-y-h +storage_self_discharge:n-c-h +storage_self_discharge:n-t-c-h +storage_self_discharge:n-t-c-y-h +storage_self_discharge:n-c-y-h +storage_self_discharge:t-c-h +storage_self_discharge:t-c-y-h +storage_self_discharge:c-y-h +storage_self_discharge:l-c +storage_self_discharge:m-l-c +storage_self_discharge:n-m-l-c +storage_self_discharge:n-t-m-l-c +storage_self_discharge:n-t-m-l-c-y +storage_self_discharge:n-m-l-c-y +storage_self_discharge:t-m-l-c +storage_self_discharge:t-m-l-c-y +storage_self_discharge:m-l-c-y +storage_self_discharge:n-l-c +storage_self_discharge:n-t-l-c +storage_self_discharge:n-t-l-c-y +storage_self_discharge:n-l-c-y +storage_self_discharge:t-l-c +storage_self_discharge:t-l-c-y +storage_self_discharge:l-c-y +storage_self_discharge:m-c +storage_self_discharge:n-m-c +storage_self_discharge:n-t-m-c +storage_self_discharge:n-t-m-c-y +storage_self_discharge:n-m-c-y +storage_self_discharge:t-m-c +storage_self_discharge:t-m-c-y +storage_self_discharge:m-c-y +storage_self_discharge:n-c +storage_self_discharge:n-t-c +storage_self_discharge:n-t-c-y +storage_self_discharge:n-c-y +storage_self_discharge:t-c +storage_self_discharge:t-c-y +storage_self_discharge:c-y +storage_self_discharge:h +storage_self_discharge:l-h +storage_self_discharge:m-l-h +storage_self_discharge:n-m-l-h +storage_self_discharge:n-t-m-l-h +storage_self_discharge:n-t-m-l-y-h +storage_self_discharge:n-m-l-y-h +storage_self_discharge:t-m-l-h +storage_self_discharge:t-m-l-y-h +storage_self_discharge:m-l-y-h +storage_self_discharge:n-l-h +storage_self_discharge:n-t-l-h +storage_self_discharge:n-t-l-y-h +storage_self_discharge:n-l-y-h +storage_self_discharge:t-l-h +storage_self_discharge:t-l-y-h +storage_self_discharge:l-y-h +storage_self_discharge:m-h +storage_self_discharge:n-m-h +storage_self_discharge:n-t-m-h +storage_self_discharge:n-t-m-y-h +storage_self_discharge:n-m-y-h +storage_self_discharge:t-m-h +storage_self_discharge:t-m-y-h +storage_self_discharge:m-y-h +storage_self_discharge:n-h +storage_self_discharge:n-t-h +storage_self_discharge:n-t-y-h +storage_self_discharge:n-y-h +storage_self_discharge:t-h +storage_self_discharge:t-y-h +storage_self_discharge:y-h +storage_self_discharge:l +storage_self_discharge:m-l +storage_self_discharge:n-m-l +storage_self_discharge:n-t-m-l +storage_self_discharge:n-t-m-l-y +storage_self_discharge:n-m-l-y +storage_self_discharge:t-m-l +storage_self_discharge:t-m-l-y +storage_self_discharge:m-l-y +storage_self_discharge:n-l +storage_self_discharge:n-t-l +storage_self_discharge:n-t-l-y +storage_self_discharge:n-l-y +storage_self_discharge:t-l +storage_self_discharge:t-l-y +storage_self_discharge:l-y +storage_self_discharge:m +storage_self_discharge:n-m +storage_self_discharge:n-t-m +storage_self_discharge:n-t-m-y +storage_self_discharge:n-m-y +storage_self_discharge:t-m +storage_self_discharge:t-m-y +storage_self_discharge:m-y +storage_self_discharge:n +storage_self_discharge:n-t +storage_self_discharge:n-t-y +storage_self_discharge:n-y +storage_self_discharge:t +storage_self_discharge:t-y +storage_self_discharge:y +subsidy: +subsidy:nl +subsidy:nl-type_tec +subsidy:nl-type_tec-ya +subsidy:nl-ya +subsidy:type_tec +subsidy:type_tec-ya +subsidy:ya +t +tax: +tax:nl +tax:nl-type_tec +tax:nl-type_tec-ya +tax:nl-ya +tax:type_tec +tax:type_tec-ya +tax:ya +tax_emission: +tax_emission:n +tax_emission:n-type_emission +tax_emission:n-type_emission-type_tec +tax_emission:n-type_emission-type_tec-type_year +tax_emission:n-type_emission-type_year +tax_emission:n-type_tec +tax_emission:n-type_tec-type_year +tax_emission:n-type_year +tax_emission:type_emission +tax_emission:type_emission-type_tec +tax_emission:type_emission-type_tec-type_year +tax_emission:type_emission-type_year +tax_emission:type_tec +tax_emission:type_tec-type_year +tax_emission:type_year +technical_lifetime: +technical_lifetime:nl +technical_lifetime:nl-t +technical_lifetime:nl-t-yv +technical_lifetime:nl-yv +technical_lifetime:t +technical_lifetime:t-yv +technical_lifetime:yv +time_order: +time_order:h +time_order:lvl_temporal-h +time_order:lvl_temporal +time_relative +tom: +tom::pyam +tom:nl +tom:nl-t +tom:nl-t-ya +tom:nl-t-yv-ya +tom:nl-t-yv +tom:nl-ya +tom:nl-yv-ya +tom:nl-yv +tom:t +tom:t-ya +tom:t-yv-ya +tom:t-yv +tom:ya +tom:yv-ya +tom:yv +ts +type_addon +type_emission +type_node +type_relation +type_tec +type_tec_land +type_year +u +var_cost: +var_cost:h +var_cost:m-h +var_cost:nl-m-h +var_cost:nl-t-m-h +var_cost:nl-t-ya-m-h +var_cost:nl-t-yv-ya-m-h +var_cost:nl-t-yv-m-h +var_cost:nl-ya-m-h +var_cost:nl-yv-ya-m-h +var_cost:nl-yv-m-h +var_cost:t-m-h +var_cost:t-ya-m-h +var_cost:t-yv-ya-m-h +var_cost:t-yv-m-h +var_cost:ya-m-h +var_cost:yv-ya-m-h +var_cost:yv-m-h +var_cost:nl-h +var_cost:nl-t-h +var_cost:nl-t-ya-h +var_cost:nl-t-yv-ya-h +var_cost:nl-t-yv-h +var_cost:nl-ya-h +var_cost:nl-yv-ya-h +var_cost:nl-yv-h +var_cost:t-h +var_cost:t-ya-h +var_cost:t-yv-ya-h +var_cost:t-yv-h +var_cost:ya-h +var_cost:yv-ya-h +var_cost:yv-h +var_cost:m +var_cost:nl-m +var_cost:nl-t-m +var_cost:nl-t-ya-m +var_cost:nl-t-yv-ya-m +var_cost:nl-t-yv-m +var_cost:nl-ya-m +var_cost:nl-yv-ya-m +var_cost:nl-yv-m +var_cost:t-m +var_cost:t-ya-m +var_cost:t-yv-ya-m +var_cost:t-yv-m +var_cost:ya-m +var_cost:yv-ya-m +var_cost:yv-m +var_cost:nl +var_cost:nl-t +var_cost:nl-t-ya +var_cost:nl-t-yv-ya +var_cost:nl-t-yv +var_cost:nl-ya +var_cost:nl-yv-ya +var_cost:nl-yv +var_cost:t +var_cost:t-ya +var_cost:t-yv-ya +var_cost:t-yv +var_cost:ya +var_cost:yv-ya +var_cost:yv +vom: +vom::pyam +vom:h +vom:m-h +vom:nl-m-h +vom:nl-t-m-h +vom:nl-t-ya-m-h +vom:nl-t-yv-ya-m-h +vom:nl-t-yv-m-h +vom:nl-ya-m-h +vom:nl-yv-ya-m-h +vom:nl-yv-m-h +vom:t-m-h +vom:t-ya-m-h +vom:t-yv-ya-m-h +vom:t-yv-m-h +vom:ya-m-h +vom:yv-ya-m-h +vom:yv-m-h +vom:nl-h +vom:nl-t-h +vom:nl-t-ya-h +vom:nl-t-yv-ya-h +vom:nl-t-yv-h +vom:nl-ya-h +vom:nl-yv-ya-h +vom:nl-yv-h +vom:t-h +vom:t-ya-h +vom:t-yv-ya-h +vom:t-yv-h +vom:ya-h +vom:yv-ya-h +vom:yv-h +vom:m +vom:nl-m +vom:nl-t-m +vom:nl-t-ya-m +vom:nl-t-yv-ya-m +vom:nl-t-yv-m +vom:nl-ya-m +vom:nl-yv-ya-m +vom:nl-yv-m +vom:t-m +vom:t-ya-m +vom:t-yv-ya-m +vom:t-yv-m +vom:ya-m +vom:yv-ya-m +vom:yv-m +vom:nl +vom:nl-t +vom:nl-t-ya +vom:nl-t-yv-ya +vom:nl-t-yv +vom:nl-ya +vom:nl-yv-ya +vom:nl-yv +vom:t +vom:t-ya +vom:t-yv-ya +vom:t-yv +vom:ya +vom:yv-ya +vom:yv +y +y0 +y::model \ No newline at end of file diff --git a/message_ix/tests/data/reporterixgraph.txt b/message_ix/tests/data/reporterixgraph.txt new file mode 100644 index 000000000..d7a33f18b --- /dev/null +++ b/message_ix/tests/data/reporterixgraph.txt @@ -0,0 +1,8748 @@ +ACT: +ACT:h +ACT:m-h +ACT:nl-m-h +ACT:nl-t-m-h +ACT:nl-t-ya-m-h +ACT:nl-t-yv-ya-m-h +ACT:nl-t-yv-m-h +ACT:nl-ya-m-h +ACT:nl-yv-ya-m-h +ACT:nl-yv-m-h +ACT:t-m-h +ACT:t-ya-m-h +ACT:t-yv-ya-m-h +ACT:t-yv-m-h +ACT:ya-m-h +ACT:yv-ya-m-h +ACT:yv-m-h +ACT:nl-h +ACT:nl-t-h +ACT:nl-t-ya-h +ACT:nl-t-yv-ya-h +ACT:nl-t-yv-h +ACT:nl-ya-h +ACT:nl-yv-ya-h +ACT:nl-yv-h +ACT:t-h +ACT:t-ya-h +ACT:t-yv-ya-h +ACT:t-yv-h +ACT:ya-h +ACT:yv-ya-h +ACT:yv-h +ACT:m +ACT:nl-m +ACT:nl-t-m +ACT:nl-t-ya-m +ACT:nl-t-yv-ya-m +ACT:nl-t-yv-m +ACT:nl-ya-m +ACT:nl-yv-ya-m +ACT:nl-yv-m +ACT:t-m +ACT:t-ya-m +ACT:t-yv-ya-m +ACT:t-yv-m +ACT:ya-m +ACT:yv-ya-m +ACT:yv-m +ACT:nl +ACT:nl-t +ACT:nl-t-ya +ACT:nl-t-yv-ya +ACT:nl-t-yv +ACT:nl-ya +ACT:nl-yv-ya +ACT:nl-yv +ACT:t +ACT:t-ya +ACT:t-yv-ya +ACT:t-yv +ACT:ya +ACT:yv-ya +ACT:yv +ACTIVITY_BOUND_ALL_MODES_LO-margin:n-t-y-h +ACTIVITY_BOUND_ALL_MODES_LO: +ACTIVITY_BOUND_ALL_MODES_LO:h +ACTIVITY_BOUND_ALL_MODES_LO:n-h +ACTIVITY_BOUND_ALL_MODES_LO:n-t-h +ACTIVITY_BOUND_ALL_MODES_LO:n-t-y-h +ACTIVITY_BOUND_ALL_MODES_LO:n-y-h +ACTIVITY_BOUND_ALL_MODES_LO:t-h +ACTIVITY_BOUND_ALL_MODES_LO:t-y-h +ACTIVITY_BOUND_ALL_MODES_LO:y-h +ACTIVITY_BOUND_ALL_MODES_LO:n +ACTIVITY_BOUND_ALL_MODES_LO:n-t +ACTIVITY_BOUND_ALL_MODES_LO:n-t-y +ACTIVITY_BOUND_ALL_MODES_LO:n-y +ACTIVITY_BOUND_ALL_MODES_LO:t +ACTIVITY_BOUND_ALL_MODES_LO:t-y +ACTIVITY_BOUND_ALL_MODES_LO:y +ACTIVITY_BOUND_ALL_MODES_UP-margin:n-t-y-h +ACTIVITY_BOUND_ALL_MODES_UP: +ACTIVITY_BOUND_ALL_MODES_UP:h +ACTIVITY_BOUND_ALL_MODES_UP:n-h +ACTIVITY_BOUND_ALL_MODES_UP:n-t-h +ACTIVITY_BOUND_ALL_MODES_UP:n-t-y-h +ACTIVITY_BOUND_ALL_MODES_UP:n-y-h +ACTIVITY_BOUND_ALL_MODES_UP:t-h +ACTIVITY_BOUND_ALL_MODES_UP:t-y-h +ACTIVITY_BOUND_ALL_MODES_UP:y-h +ACTIVITY_BOUND_ALL_MODES_UP:n +ACTIVITY_BOUND_ALL_MODES_UP:n-t +ACTIVITY_BOUND_ALL_MODES_UP:n-t-y +ACTIVITY_BOUND_ALL_MODES_UP:n-y +ACTIVITY_BOUND_ALL_MODES_UP:t +ACTIVITY_BOUND_ALL_MODES_UP:t-y +ACTIVITY_BOUND_ALL_MODES_UP:y +ACTIVITY_BOUND_LO-margin:n-t-y-m-h +ACTIVITY_BOUND_LO: +ACTIVITY_BOUND_LO:h +ACTIVITY_BOUND_LO:m-h +ACTIVITY_BOUND_LO:n-m-h +ACTIVITY_BOUND_LO:n-t-m-h +ACTIVITY_BOUND_LO:n-t-y-m-h +ACTIVITY_BOUND_LO:n-y-m-h +ACTIVITY_BOUND_LO:t-m-h +ACTIVITY_BOUND_LO:t-y-m-h +ACTIVITY_BOUND_LO:y-m-h +ACTIVITY_BOUND_LO:n-h +ACTIVITY_BOUND_LO:n-t-h +ACTIVITY_BOUND_LO:n-t-y-h +ACTIVITY_BOUND_LO:n-y-h +ACTIVITY_BOUND_LO:t-h +ACTIVITY_BOUND_LO:t-y-h +ACTIVITY_BOUND_LO:y-h +ACTIVITY_BOUND_LO:m +ACTIVITY_BOUND_LO:n-m +ACTIVITY_BOUND_LO:n-t-m +ACTIVITY_BOUND_LO:n-t-y-m +ACTIVITY_BOUND_LO:n-y-m +ACTIVITY_BOUND_LO:t-m +ACTIVITY_BOUND_LO:t-y-m +ACTIVITY_BOUND_LO:y-m +ACTIVITY_BOUND_LO:n +ACTIVITY_BOUND_LO:n-t +ACTIVITY_BOUND_LO:n-t-y +ACTIVITY_BOUND_LO:n-y +ACTIVITY_BOUND_LO:t +ACTIVITY_BOUND_LO:t-y +ACTIVITY_BOUND_LO:y +ACTIVITY_BOUND_UP-margin:n-t-y-m-h +ACTIVITY_BOUND_UP: +ACTIVITY_BOUND_UP:h +ACTIVITY_BOUND_UP:m-h +ACTIVITY_BOUND_UP:n-m-h +ACTIVITY_BOUND_UP:n-t-m-h +ACTIVITY_BOUND_UP:n-t-y-m-h +ACTIVITY_BOUND_UP:n-y-m-h +ACTIVITY_BOUND_UP:t-m-h +ACTIVITY_BOUND_UP:t-y-m-h +ACTIVITY_BOUND_UP:y-m-h +ACTIVITY_BOUND_UP:n-h +ACTIVITY_BOUND_UP:n-t-h +ACTIVITY_BOUND_UP:n-t-y-h +ACTIVITY_BOUND_UP:n-y-h +ACTIVITY_BOUND_UP:t-h +ACTIVITY_BOUND_UP:t-y-h +ACTIVITY_BOUND_UP:y-h +ACTIVITY_BOUND_UP:m +ACTIVITY_BOUND_UP:n-m +ACTIVITY_BOUND_UP:n-t-m +ACTIVITY_BOUND_UP:n-t-y-m +ACTIVITY_BOUND_UP:n-y-m +ACTIVITY_BOUND_UP:t-m +ACTIVITY_BOUND_UP:t-y-m +ACTIVITY_BOUND_UP:y-m +ACTIVITY_BOUND_UP:n +ACTIVITY_BOUND_UP:n-t +ACTIVITY_BOUND_UP:n-t-y +ACTIVITY_BOUND_UP:n-y +ACTIVITY_BOUND_UP:t +ACTIVITY_BOUND_UP:t-y +ACTIVITY_BOUND_UP:y +ACTIVITY_BY_RATING-margin:n-t-y-c-l-h-q +ACTIVITY_BY_RATING: +ACTIVITY_BY_RATING:c +ACTIVITY_BY_RATING:c-h +ACTIVITY_BY_RATING:c-l-h +ACTIVITY_BY_RATING:n-c-l-h +ACTIVITY_BY_RATING:n-c-l-h-q +ACTIVITY_BY_RATING:n-t-c-l-h-q +ACTIVITY_BY_RATING:n-t-y-c-l-h-q +ACTIVITY_BY_RATING:n-y-c-l-h-q +ACTIVITY_BY_RATING:n-t-c-l-h +ACTIVITY_BY_RATING:n-t-y-c-l-h +ACTIVITY_BY_RATING:n-y-c-l-h +ACTIVITY_BY_RATING:c-l-h-q +ACTIVITY_BY_RATING:t-c-l-h-q +ACTIVITY_BY_RATING:t-y-c-l-h-q +ACTIVITY_BY_RATING:y-c-l-h-q +ACTIVITY_BY_RATING:t-c-l-h +ACTIVITY_BY_RATING:t-y-c-l-h +ACTIVITY_BY_RATING:y-c-l-h +ACTIVITY_BY_RATING:n-c-h +ACTIVITY_BY_RATING:n-c-h-q +ACTIVITY_BY_RATING:n-t-c-h-q +ACTIVITY_BY_RATING:n-t-y-c-h-q +ACTIVITY_BY_RATING:n-y-c-h-q +ACTIVITY_BY_RATING:n-t-c-h +ACTIVITY_BY_RATING:n-t-y-c-h +ACTIVITY_BY_RATING:n-y-c-h +ACTIVITY_BY_RATING:c-h-q +ACTIVITY_BY_RATING:t-c-h-q +ACTIVITY_BY_RATING:t-y-c-h-q +ACTIVITY_BY_RATING:y-c-h-q +ACTIVITY_BY_RATING:t-c-h +ACTIVITY_BY_RATING:t-y-c-h +ACTIVITY_BY_RATING:y-c-h +ACTIVITY_BY_RATING:c-l +ACTIVITY_BY_RATING:n-c-l +ACTIVITY_BY_RATING:n-c-l-q +ACTIVITY_BY_RATING:n-t-c-l-q +ACTIVITY_BY_RATING:n-t-y-c-l-q +ACTIVITY_BY_RATING:n-y-c-l-q +ACTIVITY_BY_RATING:n-t-c-l +ACTIVITY_BY_RATING:n-t-y-c-l +ACTIVITY_BY_RATING:n-y-c-l +ACTIVITY_BY_RATING:c-l-q +ACTIVITY_BY_RATING:t-c-l-q +ACTIVITY_BY_RATING:t-y-c-l-q +ACTIVITY_BY_RATING:y-c-l-q +ACTIVITY_BY_RATING:t-c-l +ACTIVITY_BY_RATING:t-y-c-l +ACTIVITY_BY_RATING:y-c-l +ACTIVITY_BY_RATING:n-c +ACTIVITY_BY_RATING:n-c-q +ACTIVITY_BY_RATING:n-t-c-q +ACTIVITY_BY_RATING:n-t-y-c-q +ACTIVITY_BY_RATING:n-y-c-q +ACTIVITY_BY_RATING:n-t-c +ACTIVITY_BY_RATING:n-t-y-c +ACTIVITY_BY_RATING:n-y-c +ACTIVITY_BY_RATING:c-q +ACTIVITY_BY_RATING:t-c-q +ACTIVITY_BY_RATING:t-y-c-q +ACTIVITY_BY_RATING:y-c-q +ACTIVITY_BY_RATING:t-c +ACTIVITY_BY_RATING:t-y-c +ACTIVITY_BY_RATING:y-c +ACTIVITY_BY_RATING:h +ACTIVITY_BY_RATING:l-h +ACTIVITY_BY_RATING:n-l-h +ACTIVITY_BY_RATING:n-l-h-q +ACTIVITY_BY_RATING:n-t-l-h-q +ACTIVITY_BY_RATING:n-t-y-l-h-q +ACTIVITY_BY_RATING:n-y-l-h-q +ACTIVITY_BY_RATING:n-t-l-h +ACTIVITY_BY_RATING:n-t-y-l-h +ACTIVITY_BY_RATING:n-y-l-h +ACTIVITY_BY_RATING:l-h-q +ACTIVITY_BY_RATING:t-l-h-q +ACTIVITY_BY_RATING:t-y-l-h-q +ACTIVITY_BY_RATING:y-l-h-q +ACTIVITY_BY_RATING:t-l-h +ACTIVITY_BY_RATING:t-y-l-h +ACTIVITY_BY_RATING:y-l-h +ACTIVITY_BY_RATING:n-h +ACTIVITY_BY_RATING:n-h-q +ACTIVITY_BY_RATING:n-t-h-q +ACTIVITY_BY_RATING:n-t-y-h-q +ACTIVITY_BY_RATING:n-y-h-q +ACTIVITY_BY_RATING:n-t-h +ACTIVITY_BY_RATING:n-t-y-h +ACTIVITY_BY_RATING:n-y-h +ACTIVITY_BY_RATING:h-q +ACTIVITY_BY_RATING:t-h-q +ACTIVITY_BY_RATING:t-y-h-q +ACTIVITY_BY_RATING:y-h-q +ACTIVITY_BY_RATING:t-h +ACTIVITY_BY_RATING:t-y-h +ACTIVITY_BY_RATING:y-h +ACTIVITY_BY_RATING:l +ACTIVITY_BY_RATING:n-l +ACTIVITY_BY_RATING:n-l-q +ACTIVITY_BY_RATING:n-t-l-q +ACTIVITY_BY_RATING:n-t-y-l-q +ACTIVITY_BY_RATING:n-y-l-q +ACTIVITY_BY_RATING:n-t-l +ACTIVITY_BY_RATING:n-t-y-l +ACTIVITY_BY_RATING:n-y-l +ACTIVITY_BY_RATING:l-q +ACTIVITY_BY_RATING:t-l-q +ACTIVITY_BY_RATING:t-y-l-q +ACTIVITY_BY_RATING:y-l-q +ACTIVITY_BY_RATING:t-l +ACTIVITY_BY_RATING:t-y-l +ACTIVITY_BY_RATING:y-l +ACTIVITY_BY_RATING:n +ACTIVITY_BY_RATING:n-q +ACTIVITY_BY_RATING:n-t-q +ACTIVITY_BY_RATING:n-t-y-q +ACTIVITY_BY_RATING:n-y-q +ACTIVITY_BY_RATING:n-t +ACTIVITY_BY_RATING:n-t-y +ACTIVITY_BY_RATING:n-y +ACTIVITY_BY_RATING:q +ACTIVITY_BY_RATING:t-q +ACTIVITY_BY_RATING:t-y-q +ACTIVITY_BY_RATING:y-q +ACTIVITY_BY_RATING:t +ACTIVITY_BY_RATING:t-y +ACTIVITY_BY_RATING:y +ACTIVITY_CONSTRAINT_LO-margin:n-t-y-h +ACTIVITY_CONSTRAINT_LO: +ACTIVITY_CONSTRAINT_LO:h +ACTIVITY_CONSTRAINT_LO:n-h +ACTIVITY_CONSTRAINT_LO:n-t-h +ACTIVITY_CONSTRAINT_LO:n-t-y-h +ACTIVITY_CONSTRAINT_LO:n-y-h +ACTIVITY_CONSTRAINT_LO:t-h +ACTIVITY_CONSTRAINT_LO:t-y-h +ACTIVITY_CONSTRAINT_LO:y-h +ACTIVITY_CONSTRAINT_LO:n +ACTIVITY_CONSTRAINT_LO:n-t +ACTIVITY_CONSTRAINT_LO:n-t-y +ACTIVITY_CONSTRAINT_LO:n-y +ACTIVITY_CONSTRAINT_LO:t +ACTIVITY_CONSTRAINT_LO:t-y +ACTIVITY_CONSTRAINT_LO:y +ACTIVITY_CONSTRAINT_UP-margin:n-t-y-h +ACTIVITY_CONSTRAINT_UP: +ACTIVITY_CONSTRAINT_UP:h +ACTIVITY_CONSTRAINT_UP:n-h +ACTIVITY_CONSTRAINT_UP:n-t-h +ACTIVITY_CONSTRAINT_UP:n-t-y-h +ACTIVITY_CONSTRAINT_UP:n-y-h +ACTIVITY_CONSTRAINT_UP:t-h +ACTIVITY_CONSTRAINT_UP:t-y-h +ACTIVITY_CONSTRAINT_UP:y-h +ACTIVITY_CONSTRAINT_UP:n +ACTIVITY_CONSTRAINT_UP:n-t +ACTIVITY_CONSTRAINT_UP:n-t-y +ACTIVITY_CONSTRAINT_UP:n-y +ACTIVITY_CONSTRAINT_UP:t +ACTIVITY_CONSTRAINT_UP:t-y +ACTIVITY_CONSTRAINT_UP:y +ACTIVITY_RATING_TOTAL-margin:n-t-yv-y-c-l-h +ACTIVITY_RATING_TOTAL: +ACTIVITY_RATING_TOTAL:c +ACTIVITY_RATING_TOTAL:c-h +ACTIVITY_RATING_TOTAL:c-l-h +ACTIVITY_RATING_TOTAL:n-c-l-h +ACTIVITY_RATING_TOTAL:n-t-c-l-h +ACTIVITY_RATING_TOTAL:n-t-y-c-l-h +ACTIVITY_RATING_TOTAL:n-t-yv-y-c-l-h +ACTIVITY_RATING_TOTAL:n-t-yv-c-l-h +ACTIVITY_RATING_TOTAL:n-y-c-l-h +ACTIVITY_RATING_TOTAL:n-yv-y-c-l-h +ACTIVITY_RATING_TOTAL:n-yv-c-l-h +ACTIVITY_RATING_TOTAL:t-c-l-h +ACTIVITY_RATING_TOTAL:t-y-c-l-h +ACTIVITY_RATING_TOTAL:t-yv-y-c-l-h +ACTIVITY_RATING_TOTAL:t-yv-c-l-h +ACTIVITY_RATING_TOTAL:y-c-l-h +ACTIVITY_RATING_TOTAL:yv-y-c-l-h +ACTIVITY_RATING_TOTAL:yv-c-l-h +ACTIVITY_RATING_TOTAL:n-c-h +ACTIVITY_RATING_TOTAL:n-t-c-h +ACTIVITY_RATING_TOTAL:n-t-y-c-h +ACTIVITY_RATING_TOTAL:n-t-yv-y-c-h +ACTIVITY_RATING_TOTAL:n-t-yv-c-h +ACTIVITY_RATING_TOTAL:n-y-c-h +ACTIVITY_RATING_TOTAL:n-yv-y-c-h +ACTIVITY_RATING_TOTAL:n-yv-c-h +ACTIVITY_RATING_TOTAL:t-c-h +ACTIVITY_RATING_TOTAL:t-y-c-h +ACTIVITY_RATING_TOTAL:t-yv-y-c-h +ACTIVITY_RATING_TOTAL:t-yv-c-h +ACTIVITY_RATING_TOTAL:y-c-h +ACTIVITY_RATING_TOTAL:yv-y-c-h +ACTIVITY_RATING_TOTAL:yv-c-h +ACTIVITY_RATING_TOTAL:c-l +ACTIVITY_RATING_TOTAL:n-c-l +ACTIVITY_RATING_TOTAL:n-t-c-l +ACTIVITY_RATING_TOTAL:n-t-y-c-l +ACTIVITY_RATING_TOTAL:n-t-yv-y-c-l +ACTIVITY_RATING_TOTAL:n-t-yv-c-l +ACTIVITY_RATING_TOTAL:n-y-c-l +ACTIVITY_RATING_TOTAL:n-yv-y-c-l +ACTIVITY_RATING_TOTAL:n-yv-c-l +ACTIVITY_RATING_TOTAL:t-c-l +ACTIVITY_RATING_TOTAL:t-y-c-l +ACTIVITY_RATING_TOTAL:t-yv-y-c-l +ACTIVITY_RATING_TOTAL:t-yv-c-l +ACTIVITY_RATING_TOTAL:y-c-l +ACTIVITY_RATING_TOTAL:yv-y-c-l +ACTIVITY_RATING_TOTAL:yv-c-l +ACTIVITY_RATING_TOTAL:n-c +ACTIVITY_RATING_TOTAL:n-t-c +ACTIVITY_RATING_TOTAL:n-t-y-c +ACTIVITY_RATING_TOTAL:n-t-yv-y-c +ACTIVITY_RATING_TOTAL:n-t-yv-c +ACTIVITY_RATING_TOTAL:n-y-c +ACTIVITY_RATING_TOTAL:n-yv-y-c +ACTIVITY_RATING_TOTAL:n-yv-c +ACTIVITY_RATING_TOTAL:t-c +ACTIVITY_RATING_TOTAL:t-y-c +ACTIVITY_RATING_TOTAL:t-yv-y-c +ACTIVITY_RATING_TOTAL:t-yv-c +ACTIVITY_RATING_TOTAL:y-c +ACTIVITY_RATING_TOTAL:yv-y-c +ACTIVITY_RATING_TOTAL:yv-c +ACTIVITY_RATING_TOTAL:h +ACTIVITY_RATING_TOTAL:l-h +ACTIVITY_RATING_TOTAL:n-l-h +ACTIVITY_RATING_TOTAL:n-t-l-h +ACTIVITY_RATING_TOTAL:n-t-y-l-h +ACTIVITY_RATING_TOTAL:n-t-yv-y-l-h +ACTIVITY_RATING_TOTAL:n-t-yv-l-h +ACTIVITY_RATING_TOTAL:n-y-l-h +ACTIVITY_RATING_TOTAL:n-yv-y-l-h +ACTIVITY_RATING_TOTAL:n-yv-l-h +ACTIVITY_RATING_TOTAL:t-l-h +ACTIVITY_RATING_TOTAL:t-y-l-h +ACTIVITY_RATING_TOTAL:t-yv-y-l-h +ACTIVITY_RATING_TOTAL:t-yv-l-h +ACTIVITY_RATING_TOTAL:y-l-h +ACTIVITY_RATING_TOTAL:yv-y-l-h +ACTIVITY_RATING_TOTAL:yv-l-h +ACTIVITY_RATING_TOTAL:n-h +ACTIVITY_RATING_TOTAL:n-t-h +ACTIVITY_RATING_TOTAL:n-t-y-h +ACTIVITY_RATING_TOTAL:n-t-yv-y-h +ACTIVITY_RATING_TOTAL:n-t-yv-h +ACTIVITY_RATING_TOTAL:n-y-h +ACTIVITY_RATING_TOTAL:n-yv-y-h +ACTIVITY_RATING_TOTAL:n-yv-h +ACTIVITY_RATING_TOTAL:t-h +ACTIVITY_RATING_TOTAL:t-y-h +ACTIVITY_RATING_TOTAL:t-yv-y-h +ACTIVITY_RATING_TOTAL:t-yv-h +ACTIVITY_RATING_TOTAL:y-h +ACTIVITY_RATING_TOTAL:yv-y-h +ACTIVITY_RATING_TOTAL:yv-h +ACTIVITY_RATING_TOTAL:l +ACTIVITY_RATING_TOTAL:n-l +ACTIVITY_RATING_TOTAL:n-t-l +ACTIVITY_RATING_TOTAL:n-t-y-l +ACTIVITY_RATING_TOTAL:n-t-yv-y-l +ACTIVITY_RATING_TOTAL:n-t-yv-l +ACTIVITY_RATING_TOTAL:n-y-l +ACTIVITY_RATING_TOTAL:n-yv-y-l +ACTIVITY_RATING_TOTAL:n-yv-l +ACTIVITY_RATING_TOTAL:t-l +ACTIVITY_RATING_TOTAL:t-y-l +ACTIVITY_RATING_TOTAL:t-yv-y-l +ACTIVITY_RATING_TOTAL:t-yv-l +ACTIVITY_RATING_TOTAL:y-l +ACTIVITY_RATING_TOTAL:yv-y-l +ACTIVITY_RATING_TOTAL:yv-l +ACTIVITY_RATING_TOTAL:n +ACTIVITY_RATING_TOTAL:n-t +ACTIVITY_RATING_TOTAL:n-t-y +ACTIVITY_RATING_TOTAL:n-t-yv-y +ACTIVITY_RATING_TOTAL:n-t-yv +ACTIVITY_RATING_TOTAL:n-y +ACTIVITY_RATING_TOTAL:n-yv-y +ACTIVITY_RATING_TOTAL:n-yv +ACTIVITY_RATING_TOTAL:t +ACTIVITY_RATING_TOTAL:t-y +ACTIVITY_RATING_TOTAL:t-yv-y +ACTIVITY_RATING_TOTAL:t-yv +ACTIVITY_RATING_TOTAL:y +ACTIVITY_RATING_TOTAL:yv-y +ACTIVITY_RATING_TOTAL:yv +ACTIVITY_SOFT_CONSTRAINT_LO-margin:n-t-y-h +ACTIVITY_SOFT_CONSTRAINT_LO: +ACTIVITY_SOFT_CONSTRAINT_LO:h +ACTIVITY_SOFT_CONSTRAINT_LO:n-h +ACTIVITY_SOFT_CONSTRAINT_LO:n-t-h +ACTIVITY_SOFT_CONSTRAINT_LO:n-t-y-h +ACTIVITY_SOFT_CONSTRAINT_LO:n-y-h +ACTIVITY_SOFT_CONSTRAINT_LO:t-h +ACTIVITY_SOFT_CONSTRAINT_LO:t-y-h +ACTIVITY_SOFT_CONSTRAINT_LO:y-h +ACTIVITY_SOFT_CONSTRAINT_LO:n +ACTIVITY_SOFT_CONSTRAINT_LO:n-t +ACTIVITY_SOFT_CONSTRAINT_LO:n-t-y +ACTIVITY_SOFT_CONSTRAINT_LO:n-y +ACTIVITY_SOFT_CONSTRAINT_LO:t +ACTIVITY_SOFT_CONSTRAINT_LO:t-y +ACTIVITY_SOFT_CONSTRAINT_LO:y +ACTIVITY_SOFT_CONSTRAINT_UP-margin:n-t-y-h +ACTIVITY_SOFT_CONSTRAINT_UP: +ACTIVITY_SOFT_CONSTRAINT_UP:h +ACTIVITY_SOFT_CONSTRAINT_UP:n-h +ACTIVITY_SOFT_CONSTRAINT_UP:n-t-h +ACTIVITY_SOFT_CONSTRAINT_UP:n-t-y-h +ACTIVITY_SOFT_CONSTRAINT_UP:n-y-h +ACTIVITY_SOFT_CONSTRAINT_UP:t-h +ACTIVITY_SOFT_CONSTRAINT_UP:t-y-h +ACTIVITY_SOFT_CONSTRAINT_UP:y-h +ACTIVITY_SOFT_CONSTRAINT_UP:n +ACTIVITY_SOFT_CONSTRAINT_UP:n-t +ACTIVITY_SOFT_CONSTRAINT_UP:n-t-y +ACTIVITY_SOFT_CONSTRAINT_UP:n-y +ACTIVITY_SOFT_CONSTRAINT_UP:t +ACTIVITY_SOFT_CONSTRAINT_UP:t-y +ACTIVITY_SOFT_CONSTRAINT_UP:y +ACT_LO: +ACT_LO:h +ACT_LO:n-h +ACT_LO:n-t-h +ACT_LO:n-t-y-h +ACT_LO:n-y-h +ACT_LO:t-h +ACT_LO:t-y-h +ACT_LO:y-h +ACT_LO:n +ACT_LO:n-t +ACT_LO:n-t-y +ACT_LO:n-y +ACT_LO:t +ACT_LO:t-y +ACT_LO:y +ACT_RATING: +ACT_RATING:c +ACT_RATING:c-h +ACT_RATING:c-l-h +ACT_RATING:n-c-l-h +ACT_RATING:n-c-l-h-q +ACT_RATING:n-t-c-l-h-q +ACT_RATING:n-t-ya-c-l-h-q +ACT_RATING:n-t-yv-ya-c-l-h-q +ACT_RATING:n-t-yv-c-l-h-q +ACT_RATING:n-ya-c-l-h-q +ACT_RATING:n-yv-ya-c-l-h-q +ACT_RATING:n-yv-c-l-h-q +ACT_RATING:n-t-c-l-h +ACT_RATING:n-t-ya-c-l-h +ACT_RATING:n-t-yv-ya-c-l-h +ACT_RATING:n-t-yv-c-l-h +ACT_RATING:n-ya-c-l-h +ACT_RATING:n-yv-ya-c-l-h +ACT_RATING:n-yv-c-l-h +ACT_RATING:c-l-h-q +ACT_RATING:t-c-l-h-q +ACT_RATING:t-ya-c-l-h-q +ACT_RATING:t-yv-ya-c-l-h-q +ACT_RATING:t-yv-c-l-h-q +ACT_RATING:ya-c-l-h-q +ACT_RATING:yv-ya-c-l-h-q +ACT_RATING:yv-c-l-h-q +ACT_RATING:t-c-l-h +ACT_RATING:t-ya-c-l-h +ACT_RATING:t-yv-ya-c-l-h +ACT_RATING:t-yv-c-l-h +ACT_RATING:ya-c-l-h +ACT_RATING:yv-ya-c-l-h +ACT_RATING:yv-c-l-h +ACT_RATING:n-c-h +ACT_RATING:n-c-h-q +ACT_RATING:n-t-c-h-q +ACT_RATING:n-t-ya-c-h-q +ACT_RATING:n-t-yv-ya-c-h-q +ACT_RATING:n-t-yv-c-h-q +ACT_RATING:n-ya-c-h-q +ACT_RATING:n-yv-ya-c-h-q +ACT_RATING:n-yv-c-h-q +ACT_RATING:n-t-c-h +ACT_RATING:n-t-ya-c-h +ACT_RATING:n-t-yv-ya-c-h +ACT_RATING:n-t-yv-c-h +ACT_RATING:n-ya-c-h +ACT_RATING:n-yv-ya-c-h +ACT_RATING:n-yv-c-h +ACT_RATING:c-h-q +ACT_RATING:t-c-h-q +ACT_RATING:t-ya-c-h-q +ACT_RATING:t-yv-ya-c-h-q +ACT_RATING:t-yv-c-h-q +ACT_RATING:ya-c-h-q +ACT_RATING:yv-ya-c-h-q +ACT_RATING:yv-c-h-q +ACT_RATING:t-c-h +ACT_RATING:t-ya-c-h +ACT_RATING:t-yv-ya-c-h +ACT_RATING:t-yv-c-h +ACT_RATING:ya-c-h +ACT_RATING:yv-ya-c-h +ACT_RATING:yv-c-h +ACT_RATING:c-l +ACT_RATING:n-c-l +ACT_RATING:n-c-l-q +ACT_RATING:n-t-c-l-q +ACT_RATING:n-t-ya-c-l-q +ACT_RATING:n-t-yv-ya-c-l-q +ACT_RATING:n-t-yv-c-l-q +ACT_RATING:n-ya-c-l-q +ACT_RATING:n-yv-ya-c-l-q +ACT_RATING:n-yv-c-l-q +ACT_RATING:n-t-c-l +ACT_RATING:n-t-ya-c-l +ACT_RATING:n-t-yv-ya-c-l +ACT_RATING:n-t-yv-c-l +ACT_RATING:n-ya-c-l +ACT_RATING:n-yv-ya-c-l +ACT_RATING:n-yv-c-l +ACT_RATING:c-l-q +ACT_RATING:t-c-l-q +ACT_RATING:t-ya-c-l-q +ACT_RATING:t-yv-ya-c-l-q +ACT_RATING:t-yv-c-l-q +ACT_RATING:ya-c-l-q +ACT_RATING:yv-ya-c-l-q +ACT_RATING:yv-c-l-q +ACT_RATING:t-c-l +ACT_RATING:t-ya-c-l +ACT_RATING:t-yv-ya-c-l +ACT_RATING:t-yv-c-l +ACT_RATING:ya-c-l +ACT_RATING:yv-ya-c-l +ACT_RATING:yv-c-l +ACT_RATING:n-c +ACT_RATING:n-c-q +ACT_RATING:n-t-c-q +ACT_RATING:n-t-ya-c-q +ACT_RATING:n-t-yv-ya-c-q +ACT_RATING:n-t-yv-c-q +ACT_RATING:n-ya-c-q +ACT_RATING:n-yv-ya-c-q +ACT_RATING:n-yv-c-q +ACT_RATING:n-t-c +ACT_RATING:n-t-ya-c +ACT_RATING:n-t-yv-ya-c +ACT_RATING:n-t-yv-c +ACT_RATING:n-ya-c +ACT_RATING:n-yv-ya-c +ACT_RATING:n-yv-c +ACT_RATING:c-q +ACT_RATING:t-c-q +ACT_RATING:t-ya-c-q +ACT_RATING:t-yv-ya-c-q +ACT_RATING:t-yv-c-q +ACT_RATING:ya-c-q +ACT_RATING:yv-ya-c-q +ACT_RATING:yv-c-q +ACT_RATING:t-c +ACT_RATING:t-ya-c +ACT_RATING:t-yv-ya-c +ACT_RATING:t-yv-c +ACT_RATING:ya-c +ACT_RATING:yv-ya-c +ACT_RATING:yv-c +ACT_RATING:h +ACT_RATING:l-h +ACT_RATING:n-l-h +ACT_RATING:n-l-h-q +ACT_RATING:n-t-l-h-q +ACT_RATING:n-t-ya-l-h-q +ACT_RATING:n-t-yv-ya-l-h-q +ACT_RATING:n-t-yv-l-h-q +ACT_RATING:n-ya-l-h-q +ACT_RATING:n-yv-ya-l-h-q +ACT_RATING:n-yv-l-h-q +ACT_RATING:n-t-l-h +ACT_RATING:n-t-ya-l-h +ACT_RATING:n-t-yv-ya-l-h +ACT_RATING:n-t-yv-l-h +ACT_RATING:n-ya-l-h +ACT_RATING:n-yv-ya-l-h +ACT_RATING:n-yv-l-h +ACT_RATING:l-h-q +ACT_RATING:t-l-h-q +ACT_RATING:t-ya-l-h-q +ACT_RATING:t-yv-ya-l-h-q +ACT_RATING:t-yv-l-h-q +ACT_RATING:ya-l-h-q +ACT_RATING:yv-ya-l-h-q +ACT_RATING:yv-l-h-q +ACT_RATING:t-l-h +ACT_RATING:t-ya-l-h +ACT_RATING:t-yv-ya-l-h +ACT_RATING:t-yv-l-h +ACT_RATING:ya-l-h +ACT_RATING:yv-ya-l-h +ACT_RATING:yv-l-h +ACT_RATING:n-h +ACT_RATING:n-h-q +ACT_RATING:n-t-h-q +ACT_RATING:n-t-ya-h-q +ACT_RATING:n-t-yv-ya-h-q +ACT_RATING:n-t-yv-h-q +ACT_RATING:n-ya-h-q +ACT_RATING:n-yv-ya-h-q +ACT_RATING:n-yv-h-q +ACT_RATING:n-t-h +ACT_RATING:n-t-ya-h +ACT_RATING:n-t-yv-ya-h +ACT_RATING:n-t-yv-h +ACT_RATING:n-ya-h +ACT_RATING:n-yv-ya-h +ACT_RATING:n-yv-h +ACT_RATING:h-q +ACT_RATING:t-h-q +ACT_RATING:t-ya-h-q +ACT_RATING:t-yv-ya-h-q +ACT_RATING:t-yv-h-q +ACT_RATING:ya-h-q +ACT_RATING:yv-ya-h-q +ACT_RATING:yv-h-q +ACT_RATING:t-h +ACT_RATING:t-ya-h +ACT_RATING:t-yv-ya-h +ACT_RATING:t-yv-h +ACT_RATING:ya-h +ACT_RATING:yv-ya-h +ACT_RATING:yv-h +ACT_RATING:l +ACT_RATING:n-l +ACT_RATING:n-l-q +ACT_RATING:n-t-l-q +ACT_RATING:n-t-ya-l-q +ACT_RATING:n-t-yv-ya-l-q +ACT_RATING:n-t-yv-l-q +ACT_RATING:n-ya-l-q +ACT_RATING:n-yv-ya-l-q +ACT_RATING:n-yv-l-q +ACT_RATING:n-t-l +ACT_RATING:n-t-ya-l +ACT_RATING:n-t-yv-ya-l +ACT_RATING:n-t-yv-l +ACT_RATING:n-ya-l +ACT_RATING:n-yv-ya-l +ACT_RATING:n-yv-l +ACT_RATING:l-q +ACT_RATING:t-l-q +ACT_RATING:t-ya-l-q +ACT_RATING:t-yv-ya-l-q +ACT_RATING:t-yv-l-q +ACT_RATING:ya-l-q +ACT_RATING:yv-ya-l-q +ACT_RATING:yv-l-q +ACT_RATING:t-l +ACT_RATING:t-ya-l +ACT_RATING:t-yv-ya-l +ACT_RATING:t-yv-l +ACT_RATING:ya-l +ACT_RATING:yv-ya-l +ACT_RATING:yv-l +ACT_RATING:n +ACT_RATING:n-q +ACT_RATING:n-t-q +ACT_RATING:n-t-ya-q +ACT_RATING:n-t-yv-ya-q +ACT_RATING:n-t-yv-q +ACT_RATING:n-ya-q +ACT_RATING:n-yv-ya-q +ACT_RATING:n-yv-q +ACT_RATING:n-t +ACT_RATING:n-t-ya +ACT_RATING:n-t-yv-ya +ACT_RATING:n-t-yv +ACT_RATING:n-ya +ACT_RATING:n-yv-ya +ACT_RATING:n-yv +ACT_RATING:q +ACT_RATING:t-q +ACT_RATING:t-ya-q +ACT_RATING:t-yv-ya-q +ACT_RATING:t-yv-q +ACT_RATING:ya-q +ACT_RATING:yv-ya-q +ACT_RATING:yv-q +ACT_RATING:t +ACT_RATING:t-ya +ACT_RATING:t-yv-ya +ACT_RATING:t-yv +ACT_RATING:ya +ACT_RATING:yv-ya +ACT_RATING:yv +ACT_UP: +ACT_UP:h +ACT_UP:n-h +ACT_UP:n-t-h +ACT_UP:n-t-y-h +ACT_UP:n-y-h +ACT_UP:t-h +ACT_UP:t-y-h +ACT_UP:y-h +ACT_UP:n +ACT_UP:n-t +ACT_UP:n-t-y +ACT_UP:n-y +ACT_UP:t +ACT_UP:t-y +ACT_UP:y +ADDON_ACTIVITY_LO-margin:n-type_addon-y-m-h +ADDON_ACTIVITY_LO: +ADDON_ACTIVITY_LO:h +ADDON_ACTIVITY_LO:m-h +ADDON_ACTIVITY_LO:n-m-h +ADDON_ACTIVITY_LO:n-type_addon-m-h +ADDON_ACTIVITY_LO:n-type_addon-y-m-h +ADDON_ACTIVITY_LO:n-y-m-h +ADDON_ACTIVITY_LO:type_addon-m-h +ADDON_ACTIVITY_LO:type_addon-y-m-h +ADDON_ACTIVITY_LO:y-m-h +ADDON_ACTIVITY_LO:n-h +ADDON_ACTIVITY_LO:n-type_addon-h +ADDON_ACTIVITY_LO:n-type_addon-y-h +ADDON_ACTIVITY_LO:n-y-h +ADDON_ACTIVITY_LO:type_addon-h +ADDON_ACTIVITY_LO:type_addon-y-h +ADDON_ACTIVITY_LO:y-h +ADDON_ACTIVITY_LO:m +ADDON_ACTIVITY_LO:n-m +ADDON_ACTIVITY_LO:n-type_addon-m +ADDON_ACTIVITY_LO:n-type_addon-y-m +ADDON_ACTIVITY_LO:n-y-m +ADDON_ACTIVITY_LO:type_addon-m +ADDON_ACTIVITY_LO:type_addon-y-m +ADDON_ACTIVITY_LO:y-m +ADDON_ACTIVITY_LO:n +ADDON_ACTIVITY_LO:n-type_addon +ADDON_ACTIVITY_LO:n-type_addon-y +ADDON_ACTIVITY_LO:n-y +ADDON_ACTIVITY_LO:type_addon +ADDON_ACTIVITY_LO:type_addon-y +ADDON_ACTIVITY_LO:y +ADDON_ACTIVITY_UP-margin:n-type_addon-y-m-h +ADDON_ACTIVITY_UP: +ADDON_ACTIVITY_UP:h +ADDON_ACTIVITY_UP:m-h +ADDON_ACTIVITY_UP:n-m-h +ADDON_ACTIVITY_UP:n-type_addon-m-h +ADDON_ACTIVITY_UP:n-type_addon-y-m-h +ADDON_ACTIVITY_UP:n-y-m-h +ADDON_ACTIVITY_UP:type_addon-m-h +ADDON_ACTIVITY_UP:type_addon-y-m-h +ADDON_ACTIVITY_UP:y-m-h +ADDON_ACTIVITY_UP:n-h +ADDON_ACTIVITY_UP:n-type_addon-h +ADDON_ACTIVITY_UP:n-type_addon-y-h +ADDON_ACTIVITY_UP:n-y-h +ADDON_ACTIVITY_UP:type_addon-h +ADDON_ACTIVITY_UP:type_addon-y-h +ADDON_ACTIVITY_UP:y-h +ADDON_ACTIVITY_UP:m +ADDON_ACTIVITY_UP:n-m +ADDON_ACTIVITY_UP:n-type_addon-m +ADDON_ACTIVITY_UP:n-type_addon-y-m +ADDON_ACTIVITY_UP:n-y-m +ADDON_ACTIVITY_UP:type_addon-m +ADDON_ACTIVITY_UP:type_addon-y-m +ADDON_ACTIVITY_UP:y-m +ADDON_ACTIVITY_UP:n +ADDON_ACTIVITY_UP:n-type_addon +ADDON_ACTIVITY_UP:n-type_addon-y +ADDON_ACTIVITY_UP:n-y +ADDON_ACTIVITY_UP:type_addon +ADDON_ACTIVITY_UP:type_addon-y +ADDON_ACTIVITY_UP:y +C: +C:n +C:n-y +C:y +CAP: +CAP:nl +CAP:nl-t +CAP:nl-t-ya +CAP:nl-t-yv-ya +CAP:nl-t-yv +CAP:nl-ya +CAP:nl-yv-ya +CAP:nl-yv +CAP:t +CAP:t-ya +CAP:t-yv-ya +CAP:t-yv +CAP:ya +CAP:yv-ya +CAP:yv +CAPACITY_CONSTRAINT-margin:n-inv_tec-yv-y-h +CAPACITY_CONSTRAINT: +CAPACITY_CONSTRAINT:h +CAPACITY_CONSTRAINT:inv_tec-h +CAPACITY_CONSTRAINT:n-inv_tec-h +CAPACITY_CONSTRAINT:n-inv_tec-y-h +CAPACITY_CONSTRAINT:n-inv_tec-yv-y-h +CAPACITY_CONSTRAINT:n-inv_tec-yv-h +CAPACITY_CONSTRAINT:inv_tec-y-h +CAPACITY_CONSTRAINT:inv_tec-yv-y-h +CAPACITY_CONSTRAINT:inv_tec-yv-h +CAPACITY_CONSTRAINT:n-h +CAPACITY_CONSTRAINT:n-y-h +CAPACITY_CONSTRAINT:n-yv-y-h +CAPACITY_CONSTRAINT:n-yv-h +CAPACITY_CONSTRAINT:y-h +CAPACITY_CONSTRAINT:yv-y-h +CAPACITY_CONSTRAINT:yv-h +CAPACITY_CONSTRAINT:inv_tec +CAPACITY_CONSTRAINT:n-inv_tec +CAPACITY_CONSTRAINT:n-inv_tec-y +CAPACITY_CONSTRAINT:n-inv_tec-yv-y +CAPACITY_CONSTRAINT:n-inv_tec-yv +CAPACITY_CONSTRAINT:inv_tec-y +CAPACITY_CONSTRAINT:inv_tec-yv-y +CAPACITY_CONSTRAINT:inv_tec-yv +CAPACITY_CONSTRAINT:n +CAPACITY_CONSTRAINT:n-y +CAPACITY_CONSTRAINT:n-yv-y +CAPACITY_CONSTRAINT:n-yv +CAPACITY_CONSTRAINT:y +CAPACITY_CONSTRAINT:yv-y +CAPACITY_CONSTRAINT:yv +CAPACITY_MAINTENANCE-margin:n-inv_tec-yv-y +CAPACITY_MAINTENANCE: +CAPACITY_MAINTENANCE:inv_tec +CAPACITY_MAINTENANCE:n-inv_tec +CAPACITY_MAINTENANCE:n-inv_tec-y +CAPACITY_MAINTENANCE:n-inv_tec-yv-y +CAPACITY_MAINTENANCE:n-inv_tec-yv +CAPACITY_MAINTENANCE:inv_tec-y +CAPACITY_MAINTENANCE:inv_tec-yv-y +CAPACITY_MAINTENANCE:inv_tec-yv +CAPACITY_MAINTENANCE:n +CAPACITY_MAINTENANCE:n-y +CAPACITY_MAINTENANCE:n-yv-y +CAPACITY_MAINTENANCE:n-yv +CAPACITY_MAINTENANCE:y +CAPACITY_MAINTENANCE:yv-y +CAPACITY_MAINTENANCE:yv +CAPACITY_MAINTENANCE_HIST-margin:n-inv_tec-yv-first_period +CAPACITY_MAINTENANCE_HIST: +CAPACITY_MAINTENANCE_HIST:first_period +CAPACITY_MAINTENANCE_HIST:inv_tec-first_period +CAPACITY_MAINTENANCE_HIST:n-inv_tec-first_period +CAPACITY_MAINTENANCE_HIST:n-inv_tec-yv-first_period +CAPACITY_MAINTENANCE_HIST:inv_tec-yv-first_period +CAPACITY_MAINTENANCE_HIST:n-first_period +CAPACITY_MAINTENANCE_HIST:n-yv-first_period +CAPACITY_MAINTENANCE_HIST:yv-first_period +CAPACITY_MAINTENANCE_HIST:inv_tec +CAPACITY_MAINTENANCE_HIST:n-inv_tec +CAPACITY_MAINTENANCE_HIST:n-inv_tec-yv +CAPACITY_MAINTENANCE_HIST:inv_tec-yv +CAPACITY_MAINTENANCE_HIST:n +CAPACITY_MAINTENANCE_HIST:n-yv +CAPACITY_MAINTENANCE_HIST:yv +CAPACITY_MAINTENANCE_NEW-margin:n-inv_tec-yv-ya +CAPACITY_MAINTENANCE_NEW: +CAPACITY_MAINTENANCE_NEW:inv_tec +CAPACITY_MAINTENANCE_NEW:n-inv_tec +CAPACITY_MAINTENANCE_NEW:n-inv_tec-ya +CAPACITY_MAINTENANCE_NEW:n-inv_tec-yv-ya +CAPACITY_MAINTENANCE_NEW:n-inv_tec-yv +CAPACITY_MAINTENANCE_NEW:inv_tec-ya +CAPACITY_MAINTENANCE_NEW:inv_tec-yv-ya +CAPACITY_MAINTENANCE_NEW:inv_tec-yv +CAPACITY_MAINTENANCE_NEW:n +CAPACITY_MAINTENANCE_NEW:n-ya +CAPACITY_MAINTENANCE_NEW:n-yv-ya +CAPACITY_MAINTENANCE_NEW:n-yv +CAPACITY_MAINTENANCE_NEW:ya +CAPACITY_MAINTENANCE_NEW:yv-ya +CAPACITY_MAINTENANCE_NEW:yv +CAP_FIRM: +CAP_FIRM:c +CAP_FIRM:c-l +CAP_FIRM:n-c-l +CAP_FIRM:n-t-c-l +CAP_FIRM:n-t-c-l-y +CAP_FIRM:n-c-l-y +CAP_FIRM:t-c-l +CAP_FIRM:t-c-l-y +CAP_FIRM:c-l-y +CAP_FIRM:n-c +CAP_FIRM:n-t-c +CAP_FIRM:n-t-c-y +CAP_FIRM:n-c-y +CAP_FIRM:t-c +CAP_FIRM:t-c-y +CAP_FIRM:c-y +CAP_FIRM:l +CAP_FIRM:n-l +CAP_FIRM:n-t-l +CAP_FIRM:n-t-l-y +CAP_FIRM:n-l-y +CAP_FIRM:t-l +CAP_FIRM:t-l-y +CAP_FIRM:l-y +CAP_FIRM:n +CAP_FIRM:n-t +CAP_FIRM:n-t-y +CAP_FIRM:n-y +CAP_FIRM:t +CAP_FIRM:t-y +CAP_FIRM:y +CAP_NEW: +CAP_NEW:nl +CAP_NEW:nl-t +CAP_NEW:nl-t-yv +CAP_NEW:nl-yv +CAP_NEW:t +CAP_NEW:t-yv +CAP_NEW:yv +CAP_NEW_LO: +CAP_NEW_LO:n +CAP_NEW_LO:n-t +CAP_NEW_LO:n-t-y +CAP_NEW_LO:n-y +CAP_NEW_LO:t +CAP_NEW_LO:t-y +CAP_NEW_LO:y +CAP_NEW_UP: +CAP_NEW_UP:n +CAP_NEW_UP:n-t +CAP_NEW_UP:n-t-y +CAP_NEW_UP:n-y +CAP_NEW_UP:t +CAP_NEW_UP:t-y +CAP_NEW_UP:y +COMMODITY_BALANCE_LT-margin:n-c-l-y-h +COMMODITY_BALANCE_LT: +COMMODITY_BALANCE_LT:c +COMMODITY_BALANCE_LT:c-h +COMMODITY_BALANCE_LT:c-l-h +COMMODITY_BALANCE_LT:n-c-l-h +COMMODITY_BALANCE_LT:n-c-l-y-h +COMMODITY_BALANCE_LT:c-l-y-h +COMMODITY_BALANCE_LT:n-c-h +COMMODITY_BALANCE_LT:n-c-y-h +COMMODITY_BALANCE_LT:c-y-h +COMMODITY_BALANCE_LT:c-l +COMMODITY_BALANCE_LT:n-c-l +COMMODITY_BALANCE_LT:n-c-l-y +COMMODITY_BALANCE_LT:c-l-y +COMMODITY_BALANCE_LT:n-c +COMMODITY_BALANCE_LT:n-c-y +COMMODITY_BALANCE_LT:c-y +COMMODITY_BALANCE_LT:h +COMMODITY_BALANCE_LT:l-h +COMMODITY_BALANCE_LT:n-l-h +COMMODITY_BALANCE_LT:n-l-y-h +COMMODITY_BALANCE_LT:l-y-h +COMMODITY_BALANCE_LT:n-h +COMMODITY_BALANCE_LT:n-y-h +COMMODITY_BALANCE_LT:y-h +COMMODITY_BALANCE_LT:l +COMMODITY_BALANCE_LT:n-l +COMMODITY_BALANCE_LT:n-l-y +COMMODITY_BALANCE_LT:l-y +COMMODITY_BALANCE_LT:n +COMMODITY_BALANCE_LT:n-y +COMMODITY_BALANCE_LT:y +COMMODITY_USE: +COMMODITY_USE:c +COMMODITY_USE:c-l +COMMODITY_USE:n-c-l +COMMODITY_USE:n-c-l-y +COMMODITY_USE:c-l-y +COMMODITY_USE:n-c +COMMODITY_USE:n-c-y +COMMODITY_USE:c-y +COMMODITY_USE:l +COMMODITY_USE:n-l +COMMODITY_USE:n-l-y +COMMODITY_USE:l-y +COMMODITY_USE:n +COMMODITY_USE:n-y +COMMODITY_USE:y +COMMODITY_USE_LEVEL-margin:n-c-l-y-h +COMMODITY_USE_LEVEL: +COMMODITY_USE_LEVEL:c +COMMODITY_USE_LEVEL:c-h +COMMODITY_USE_LEVEL:c-l-h +COMMODITY_USE_LEVEL:n-c-l-h +COMMODITY_USE_LEVEL:n-c-l-y-h +COMMODITY_USE_LEVEL:c-l-y-h +COMMODITY_USE_LEVEL:n-c-h +COMMODITY_USE_LEVEL:n-c-y-h +COMMODITY_USE_LEVEL:c-y-h +COMMODITY_USE_LEVEL:c-l +COMMODITY_USE_LEVEL:n-c-l +COMMODITY_USE_LEVEL:n-c-l-y +COMMODITY_USE_LEVEL:c-l-y +COMMODITY_USE_LEVEL:n-c +COMMODITY_USE_LEVEL:n-c-y +COMMODITY_USE_LEVEL:c-y +COMMODITY_USE_LEVEL:h +COMMODITY_USE_LEVEL:l-h +COMMODITY_USE_LEVEL:n-l-h +COMMODITY_USE_LEVEL:n-l-y-h +COMMODITY_USE_LEVEL:l-y-h +COMMODITY_USE_LEVEL:n-h +COMMODITY_USE_LEVEL:n-y-h +COMMODITY_USE_LEVEL:y-h +COMMODITY_USE_LEVEL:l +COMMODITY_USE_LEVEL:n-l +COMMODITY_USE_LEVEL:n-l-y +COMMODITY_USE_LEVEL:l-y +COMMODITY_USE_LEVEL:n +COMMODITY_USE_LEVEL:n-y +COMMODITY_USE_LEVEL:y +COST_ACCOUNTING_NODAL-margin:n-y +COST_ACCOUNTING_NODAL: +COST_ACCOUNTING_NODAL:n +COST_ACCOUNTING_NODAL:n-y +COST_ACCOUNTING_NODAL:y +COST_NODAL: +COST_NODAL:n +COST_NODAL:n-y +COST_NODAL:y +COST_NODAL_NET: +COST_NODAL_NET:n +COST_NODAL_NET:n-y +COST_NODAL_NET:y +DEMAND: +DEMAND:c +DEMAND:c-h +DEMAND:c-l-h +DEMAND:n-c-l-h +DEMAND:n-c-l-y-h +DEMAND:c-l-y-h +DEMAND:n-c-h +DEMAND:n-c-y-h +DEMAND:c-y-h +DEMAND:c-l +DEMAND:n-c-l +DEMAND:n-c-l-y +DEMAND:c-l-y +DEMAND:n-c +DEMAND:n-c-y +DEMAND:c-y +DEMAND:h +DEMAND:l-h +DEMAND:n-l-h +DEMAND:n-l-y-h +DEMAND:l-y-h +DEMAND:n-h +DEMAND:n-y-h +DEMAND:y-h +DEMAND:l +DEMAND:n-l +DEMAND:n-l-y +DEMAND:l-y +DEMAND:n +DEMAND:n-y +DEMAND:y +DYNAMIC_LAND_SCEN_CONSTRAINT_LO-margin:n-s-y +DYNAMIC_LAND_SCEN_CONSTRAINT_LO: +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:n +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:n-s +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:n-s-y +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:n-y +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:s +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:s-y +DYNAMIC_LAND_SCEN_CONSTRAINT_LO:y +DYNAMIC_LAND_SCEN_CONSTRAINT_UP-margin:n-s-y +DYNAMIC_LAND_SCEN_CONSTRAINT_UP: +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:n +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:n-s +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:n-s-y +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:n-y +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:s +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:s-y +DYNAMIC_LAND_SCEN_CONSTRAINT_UP:y +DYNAMIC_LAND_TYPE_CONSTRAINT_LO-margin:n-y-u +DYNAMIC_LAND_TYPE_CONSTRAINT_LO: +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:n +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:n-u +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:n-y-u +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:n-y +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:u +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:y-u +DYNAMIC_LAND_TYPE_CONSTRAINT_LO:y +DYNAMIC_LAND_TYPE_CONSTRAINT_UP-margin:n-y-u +DYNAMIC_LAND_TYPE_CONSTRAINT_UP: +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:n +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:n-u +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:n-y-u +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:n-y +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:u +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:y-u +DYNAMIC_LAND_TYPE_CONSTRAINT_UP:y +EMISS: +EMISS:e +EMISS:n-e +EMISS:n-e-type_tec +EMISS:n-e-type_tec-y +EMISS:n-e-y +EMISS:e-type_tec +EMISS:e-type_tec-y +EMISS:e-y +EMISS:n +EMISS:n-type_tec +EMISS:n-type_tec-y +EMISS:n-y +EMISS:type_tec +EMISS:type_tec-y +EMISS:y +EMISSION_CONSTRAINT-margin:n-type_emission-type_tec-type_year +EMISSION_CONSTRAINT: +EMISSION_CONSTRAINT:n +EMISSION_CONSTRAINT:n-type_emission +EMISSION_CONSTRAINT:n-type_emission-type_tec +EMISSION_CONSTRAINT:n-type_emission-type_tec-type_year +EMISSION_CONSTRAINT:n-type_emission-type_year +EMISSION_CONSTRAINT:n-type_tec +EMISSION_CONSTRAINT:n-type_tec-type_year +EMISSION_CONSTRAINT:n-type_year +EMISSION_CONSTRAINT:type_emission +EMISSION_CONSTRAINT:type_emission-type_tec +EMISSION_CONSTRAINT:type_emission-type_tec-type_year +EMISSION_CONSTRAINT:type_emission-type_year +EMISSION_CONSTRAINT:type_tec +EMISSION_CONSTRAINT:type_tec-type_year +EMISSION_CONSTRAINT:type_year +EMISSION_EQUIVALENCE-margin:n-e-type_tec-y +EMISSION_EQUIVALENCE: +EMISSION_EQUIVALENCE:e +EMISSION_EQUIVALENCE:n-e +EMISSION_EQUIVALENCE:n-e-type_tec +EMISSION_EQUIVALENCE:n-e-type_tec-y +EMISSION_EQUIVALENCE:n-e-y +EMISSION_EQUIVALENCE:e-type_tec +EMISSION_EQUIVALENCE:e-type_tec-y +EMISSION_EQUIVALENCE:e-y +EMISSION_EQUIVALENCE:n +EMISSION_EQUIVALENCE:n-type_tec +EMISSION_EQUIVALENCE:n-type_tec-y +EMISSION_EQUIVALENCE:n-y +EMISSION_EQUIVALENCE:type_tec +EMISSION_EQUIVALENCE:type_tec-y +EMISSION_EQUIVALENCE:y +EXT: +EXT:c +EXT:c-g +EXT:n-c-g +EXT:n-c-g-y +EXT:c-g-y +EXT:n-c +EXT:n-c-y +EXT:c-y +EXT:g +EXT:n-g +EXT:n-g-y +EXT:g-y +EXT:n +EXT:n-y +EXT:y +EXTRACTION_BOUND_UP-margin:n-c-g-y +EXTRACTION_BOUND_UP: +EXTRACTION_BOUND_UP:c +EXTRACTION_BOUND_UP:c-g +EXTRACTION_BOUND_UP:n-c-g +EXTRACTION_BOUND_UP:n-c-g-y +EXTRACTION_BOUND_UP:c-g-y +EXTRACTION_BOUND_UP:n-c +EXTRACTION_BOUND_UP:n-c-y +EXTRACTION_BOUND_UP:c-y +EXTRACTION_BOUND_UP:g +EXTRACTION_BOUND_UP:n-g +EXTRACTION_BOUND_UP:n-g-y +EXTRACTION_BOUND_UP:g-y +EXTRACTION_BOUND_UP:n +EXTRACTION_BOUND_UP:n-y +EXTRACTION_BOUND_UP:y +EXTRACTION_EQUIVALENCE-margin:n-c-y +EXTRACTION_EQUIVALENCE: +EXTRACTION_EQUIVALENCE:c +EXTRACTION_EQUIVALENCE:n-c +EXTRACTION_EQUIVALENCE:n-c-y +EXTRACTION_EQUIVALENCE:c-y +EXTRACTION_EQUIVALENCE:n +EXTRACTION_EQUIVALENCE:n-y +EXTRACTION_EQUIVALENCE:y +FIRM_CAPACITY_PROVISION-margin:n-inv_tec-y-c-l-h +FIRM_CAPACITY_PROVISION: +FIRM_CAPACITY_PROVISION:c +FIRM_CAPACITY_PROVISION:c-h +FIRM_CAPACITY_PROVISION:inv_tec-c-h +FIRM_CAPACITY_PROVISION:inv_tec-c-l-h +FIRM_CAPACITY_PROVISION:n-inv_tec-c-l-h +FIRM_CAPACITY_PROVISION:n-inv_tec-y-c-l-h +FIRM_CAPACITY_PROVISION:inv_tec-y-c-l-h +FIRM_CAPACITY_PROVISION:n-inv_tec-c-h +FIRM_CAPACITY_PROVISION:n-inv_tec-y-c-h +FIRM_CAPACITY_PROVISION:inv_tec-y-c-h +FIRM_CAPACITY_PROVISION:c-l-h +FIRM_CAPACITY_PROVISION:n-c-l-h +FIRM_CAPACITY_PROVISION:n-y-c-l-h +FIRM_CAPACITY_PROVISION:y-c-l-h +FIRM_CAPACITY_PROVISION:n-c-h +FIRM_CAPACITY_PROVISION:n-y-c-h +FIRM_CAPACITY_PROVISION:y-c-h +FIRM_CAPACITY_PROVISION:inv_tec-c +FIRM_CAPACITY_PROVISION:inv_tec-c-l +FIRM_CAPACITY_PROVISION:n-inv_tec-c-l +FIRM_CAPACITY_PROVISION:n-inv_tec-y-c-l +FIRM_CAPACITY_PROVISION:inv_tec-y-c-l +FIRM_CAPACITY_PROVISION:n-inv_tec-c +FIRM_CAPACITY_PROVISION:n-inv_tec-y-c +FIRM_CAPACITY_PROVISION:inv_tec-y-c +FIRM_CAPACITY_PROVISION:c-l +FIRM_CAPACITY_PROVISION:n-c-l +FIRM_CAPACITY_PROVISION:n-y-c-l +FIRM_CAPACITY_PROVISION:y-c-l +FIRM_CAPACITY_PROVISION:n-c +FIRM_CAPACITY_PROVISION:n-y-c +FIRM_CAPACITY_PROVISION:y-c +FIRM_CAPACITY_PROVISION:h +FIRM_CAPACITY_PROVISION:inv_tec-h +FIRM_CAPACITY_PROVISION:inv_tec-l-h +FIRM_CAPACITY_PROVISION:n-inv_tec-l-h +FIRM_CAPACITY_PROVISION:n-inv_tec-y-l-h +FIRM_CAPACITY_PROVISION:inv_tec-y-l-h +FIRM_CAPACITY_PROVISION:n-inv_tec-h +FIRM_CAPACITY_PROVISION:n-inv_tec-y-h +FIRM_CAPACITY_PROVISION:inv_tec-y-h +FIRM_CAPACITY_PROVISION:l-h +FIRM_CAPACITY_PROVISION:n-l-h +FIRM_CAPACITY_PROVISION:n-y-l-h +FIRM_CAPACITY_PROVISION:y-l-h +FIRM_CAPACITY_PROVISION:n-h +FIRM_CAPACITY_PROVISION:n-y-h +FIRM_CAPACITY_PROVISION:y-h +FIRM_CAPACITY_PROVISION:inv_tec +FIRM_CAPACITY_PROVISION:inv_tec-l +FIRM_CAPACITY_PROVISION:n-inv_tec-l +FIRM_CAPACITY_PROVISION:n-inv_tec-y-l +FIRM_CAPACITY_PROVISION:inv_tec-y-l +FIRM_CAPACITY_PROVISION:n-inv_tec +FIRM_CAPACITY_PROVISION:n-inv_tec-y +FIRM_CAPACITY_PROVISION:inv_tec-y +FIRM_CAPACITY_PROVISION:l +FIRM_CAPACITY_PROVISION:n-l +FIRM_CAPACITY_PROVISION:n-y-l +FIRM_CAPACITY_PROVISION:y-l +FIRM_CAPACITY_PROVISION:n +FIRM_CAPACITY_PROVISION:n-y +FIRM_CAPACITY_PROVISION:y +GDP: +GDP:n +GDP:n-y +GDP:y +I: +I:n +I:n-y +I:y +LAND: +LAND:n +LAND:n-s +LAND:n-s-y +LAND:n-y +LAND:s +LAND:s-y +LAND:y +LAND_CONSTRAINT-margin:n-y +LAND_CONSTRAINT: +LAND_CONSTRAINT:n +LAND_CONSTRAINT:n-y +LAND_CONSTRAINT:y +MIN_UTILIZATION_CONSTRAINT-margin:n-inv_tec-yv-y +MIN_UTILIZATION_CONSTRAINT: +MIN_UTILIZATION_CONSTRAINT:inv_tec +MIN_UTILIZATION_CONSTRAINT:n-inv_tec +MIN_UTILIZATION_CONSTRAINT:n-inv_tec-y +MIN_UTILIZATION_CONSTRAINT:n-inv_tec-yv-y +MIN_UTILIZATION_CONSTRAINT:n-inv_tec-yv +MIN_UTILIZATION_CONSTRAINT:inv_tec-y +MIN_UTILIZATION_CONSTRAINT:inv_tec-yv-y +MIN_UTILIZATION_CONSTRAINT:inv_tec-yv +MIN_UTILIZATION_CONSTRAINT:n +MIN_UTILIZATION_CONSTRAINT:n-y +MIN_UTILIZATION_CONSTRAINT:n-yv-y +MIN_UTILIZATION_CONSTRAINT:n-yv +MIN_UTILIZATION_CONSTRAINT:y +MIN_UTILIZATION_CONSTRAINT:yv-y +MIN_UTILIZATION_CONSTRAINT:yv +NEW_CAPACITY_BOUND_LO-margin:n-inv_tec-y +NEW_CAPACITY_BOUND_LO: +NEW_CAPACITY_BOUND_LO:inv_tec +NEW_CAPACITY_BOUND_LO:n-inv_tec +NEW_CAPACITY_BOUND_LO:n-inv_tec-y +NEW_CAPACITY_BOUND_LO:inv_tec-y +NEW_CAPACITY_BOUND_LO:n +NEW_CAPACITY_BOUND_LO:n-y +NEW_CAPACITY_BOUND_LO:y +NEW_CAPACITY_BOUND_UP-margin:n-inv_tec-y +NEW_CAPACITY_BOUND_UP: +NEW_CAPACITY_BOUND_UP:inv_tec +NEW_CAPACITY_BOUND_UP:n-inv_tec +NEW_CAPACITY_BOUND_UP:n-inv_tec-y +NEW_CAPACITY_BOUND_UP:inv_tec-y +NEW_CAPACITY_BOUND_UP:n +NEW_CAPACITY_BOUND_UP:n-y +NEW_CAPACITY_BOUND_UP:y +NEW_CAPACITY_CONSTRAINT_LO-margin:n-inv_tec-y +NEW_CAPACITY_CONSTRAINT_LO: +NEW_CAPACITY_CONSTRAINT_LO:inv_tec +NEW_CAPACITY_CONSTRAINT_LO:n-inv_tec +NEW_CAPACITY_CONSTRAINT_LO:n-inv_tec-y +NEW_CAPACITY_CONSTRAINT_LO:inv_tec-y +NEW_CAPACITY_CONSTRAINT_LO:n +NEW_CAPACITY_CONSTRAINT_LO:n-y +NEW_CAPACITY_CONSTRAINT_LO:y +NEW_CAPACITY_CONSTRAINT_UP-margin:n-inv_tec-y +NEW_CAPACITY_CONSTRAINT_UP: +NEW_CAPACITY_CONSTRAINT_UP:inv_tec +NEW_CAPACITY_CONSTRAINT_UP:n-inv_tec +NEW_CAPACITY_CONSTRAINT_UP:n-inv_tec-y +NEW_CAPACITY_CONSTRAINT_UP:inv_tec-y +NEW_CAPACITY_CONSTRAINT_UP:n +NEW_CAPACITY_CONSTRAINT_UP:n-y +NEW_CAPACITY_CONSTRAINT_UP:y +NEW_CAPACITY_SOFT_CONSTRAINT_LO-margin:n-inv_tec-y +NEW_CAPACITY_SOFT_CONSTRAINT_LO: +NEW_CAPACITY_SOFT_CONSTRAINT_LO:inv_tec +NEW_CAPACITY_SOFT_CONSTRAINT_LO:n-inv_tec +NEW_CAPACITY_SOFT_CONSTRAINT_LO:n-inv_tec-y +NEW_CAPACITY_SOFT_CONSTRAINT_LO:inv_tec-y +NEW_CAPACITY_SOFT_CONSTRAINT_LO:n +NEW_CAPACITY_SOFT_CONSTRAINT_LO:n-y +NEW_CAPACITY_SOFT_CONSTRAINT_LO:y +NEW_CAPACITY_SOFT_CONSTRAINT_UP-margin:n-inv_tec-y +NEW_CAPACITY_SOFT_CONSTRAINT_UP: +NEW_CAPACITY_SOFT_CONSTRAINT_UP:inv_tec +NEW_CAPACITY_SOFT_CONSTRAINT_UP:n-inv_tec +NEW_CAPACITY_SOFT_CONSTRAINT_UP:n-inv_tec-y +NEW_CAPACITY_SOFT_CONSTRAINT_UP:inv_tec-y +NEW_CAPACITY_SOFT_CONSTRAINT_UP:n +NEW_CAPACITY_SOFT_CONSTRAINT_UP:n-y +NEW_CAPACITY_SOFT_CONSTRAINT_UP:y +OBJ: +OBJECTIVE-margin: +OBJECTIVE: +OPERATION_CONSTRAINT-margin:n-inv_tec-yv-y +OPERATION_CONSTRAINT: +OPERATION_CONSTRAINT:inv_tec +OPERATION_CONSTRAINT:n-inv_tec +OPERATION_CONSTRAINT:n-inv_tec-y +OPERATION_CONSTRAINT:n-inv_tec-yv-y +OPERATION_CONSTRAINT:n-inv_tec-yv +OPERATION_CONSTRAINT:inv_tec-y +OPERATION_CONSTRAINT:inv_tec-yv-y +OPERATION_CONSTRAINT:inv_tec-yv +OPERATION_CONSTRAINT:n +OPERATION_CONSTRAINT:n-y +OPERATION_CONSTRAINT:n-yv-y +OPERATION_CONSTRAINT:n-yv +OPERATION_CONSTRAINT:y +OPERATION_CONSTRAINT:yv-y +OPERATION_CONSTRAINT:yv +PRICE_COMMODITY: +PRICE_COMMODITY:c +PRICE_COMMODITY:c-h +PRICE_COMMODITY:c-l-h +PRICE_COMMODITY:n-c-l-h +PRICE_COMMODITY:n-c-l-y-h +PRICE_COMMODITY:c-l-y-h +PRICE_COMMODITY:n-c-h +PRICE_COMMODITY:n-c-y-h +PRICE_COMMODITY:c-y-h +PRICE_COMMODITY:c-l +PRICE_COMMODITY:n-c-l +PRICE_COMMODITY:n-c-l-y +PRICE_COMMODITY:c-l-y +PRICE_COMMODITY:n-c +PRICE_COMMODITY:n-c-y +PRICE_COMMODITY:c-y +PRICE_COMMODITY:h +PRICE_COMMODITY:l-h +PRICE_COMMODITY:n-l-h +PRICE_COMMODITY:n-l-y-h +PRICE_COMMODITY:l-y-h +PRICE_COMMODITY:n-h +PRICE_COMMODITY:n-y-h +PRICE_COMMODITY:y-h +PRICE_COMMODITY:l +PRICE_COMMODITY:n-l +PRICE_COMMODITY:n-l-y +PRICE_COMMODITY:l-y +PRICE_COMMODITY:n +PRICE_COMMODITY:n-y +PRICE_COMMODITY:y +PRICE_EMISSION: +PRICE_EMISSION:n +PRICE_EMISSION:n-type_emission +PRICE_EMISSION:n-type_emission-type_tec +PRICE_EMISSION:n-type_emission-type_tec-y +PRICE_EMISSION:n-type_emission-y +PRICE_EMISSION:n-type_tec +PRICE_EMISSION:n-type_tec-y +PRICE_EMISSION:n-y +PRICE_EMISSION:type_emission +PRICE_EMISSION:type_emission-type_tec +PRICE_EMISSION:type_emission-type_tec-y +PRICE_EMISSION:type_emission-y +PRICE_EMISSION:type_tec +PRICE_EMISSION:type_tec-y +PRICE_EMISSION:y +REL: +REL:nr +REL:r-nr +REL:r-nr-yr +REL:nr-yr +REL:r +REL:r-yr +REL:yr +RELATION_CONSTRAINT_LO-margin:r-n-y +RELATION_CONSTRAINT_LO: +RELATION_CONSTRAINT_LO:n +RELATION_CONSTRAINT_LO:r-n +RELATION_CONSTRAINT_LO:r-n-y +RELATION_CONSTRAINT_LO:n-y +RELATION_CONSTRAINT_LO:r +RELATION_CONSTRAINT_LO:r-y +RELATION_CONSTRAINT_LO:y +RELATION_CONSTRAINT_UP-margin:r-n-y +RELATION_CONSTRAINT_UP: +RELATION_CONSTRAINT_UP:n +RELATION_CONSTRAINT_UP:r-n +RELATION_CONSTRAINT_UP:r-n-y +RELATION_CONSTRAINT_UP:n-y +RELATION_CONSTRAINT_UP:r +RELATION_CONSTRAINT_UP:r-y +RELATION_CONSTRAINT_UP:y +RELATION_EQUIVALENCE-margin:r-n-y +RELATION_EQUIVALENCE: +RELATION_EQUIVALENCE:n +RELATION_EQUIVALENCE:r-n +RELATION_EQUIVALENCE:r-n-y +RELATION_EQUIVALENCE:n-y +RELATION_EQUIVALENCE:r +RELATION_EQUIVALENCE:r-y +RELATION_EQUIVALENCE:y +REN: +REN:c +REN:c-g +REN:c-g-h +REN:n-c-g-h +REN:n-t-c-g-h +REN:n-t-c-g-y-h +REN:n-c-g-y-h +REN:t-c-g-h +REN:t-c-g-y-h +REN:c-g-y-h +REN:n-c-g +REN:n-t-c-g +REN:n-t-c-g-y +REN:n-c-g-y +REN:t-c-g +REN:t-c-g-y +REN:c-g-y +REN:c-h +REN:n-c-h +REN:n-t-c-h +REN:n-t-c-y-h +REN:n-c-y-h +REN:t-c-h +REN:t-c-y-h +REN:c-y-h +REN:n-c +REN:n-t-c +REN:n-t-c-y +REN:n-c-y +REN:t-c +REN:t-c-y +REN:c-y +REN:g +REN:g-h +REN:n-g-h +REN:n-t-g-h +REN:n-t-g-y-h +REN:n-g-y-h +REN:t-g-h +REN:t-g-y-h +REN:g-y-h +REN:n-g +REN:n-t-g +REN:n-t-g-y +REN:n-g-y +REN:t-g +REN:t-g-y +REN:g-y +REN:h +REN:n-h +REN:n-t-h +REN:n-t-y-h +REN:n-y-h +REN:t-h +REN:t-y-h +REN:y-h +REN:n +REN:n-t +REN:n-t-y +REN:n-y +REN:t +REN:t-y +REN:y +RENEWABLES_CAPACITY_REQUIREMENT-margin:n-inv_tec-c-y +RENEWABLES_CAPACITY_REQUIREMENT: +RENEWABLES_CAPACITY_REQUIREMENT:c +RENEWABLES_CAPACITY_REQUIREMENT:inv_tec-c +RENEWABLES_CAPACITY_REQUIREMENT:n-inv_tec-c +RENEWABLES_CAPACITY_REQUIREMENT:n-inv_tec-c-y +RENEWABLES_CAPACITY_REQUIREMENT:inv_tec-c-y +RENEWABLES_CAPACITY_REQUIREMENT:n-c +RENEWABLES_CAPACITY_REQUIREMENT:n-c-y +RENEWABLES_CAPACITY_REQUIREMENT:c-y +RENEWABLES_CAPACITY_REQUIREMENT:inv_tec +RENEWABLES_CAPACITY_REQUIREMENT:n-inv_tec +RENEWABLES_CAPACITY_REQUIREMENT:n-inv_tec-y +RENEWABLES_CAPACITY_REQUIREMENT:inv_tec-y +RENEWABLES_CAPACITY_REQUIREMENT:n +RENEWABLES_CAPACITY_REQUIREMENT:n-y +RENEWABLES_CAPACITY_REQUIREMENT:y +RENEWABLES_EQUIVALENCE-margin:n-renewable_tec-c-y-h +RENEWABLES_EQUIVALENCE: +RENEWABLES_EQUIVALENCE:c +RENEWABLES_EQUIVALENCE:c-h +RENEWABLES_EQUIVALENCE:n-c-h +RENEWABLES_EQUIVALENCE:n-renewable_tec-c-h +RENEWABLES_EQUIVALENCE:n-renewable_tec-c-y-h +RENEWABLES_EQUIVALENCE:n-c-y-h +RENEWABLES_EQUIVALENCE:renewable_tec-c-h +RENEWABLES_EQUIVALENCE:renewable_tec-c-y-h +RENEWABLES_EQUIVALENCE:c-y-h +RENEWABLES_EQUIVALENCE:n-c +RENEWABLES_EQUIVALENCE:n-renewable_tec-c +RENEWABLES_EQUIVALENCE:n-renewable_tec-c-y +RENEWABLES_EQUIVALENCE:n-c-y +RENEWABLES_EQUIVALENCE:renewable_tec-c +RENEWABLES_EQUIVALENCE:renewable_tec-c-y +RENEWABLES_EQUIVALENCE:c-y +RENEWABLES_EQUIVALENCE:h +RENEWABLES_EQUIVALENCE:n-h +RENEWABLES_EQUIVALENCE:n-renewable_tec-h +RENEWABLES_EQUIVALENCE:n-renewable_tec-y-h +RENEWABLES_EQUIVALENCE:n-y-h +RENEWABLES_EQUIVALENCE:renewable_tec-h +RENEWABLES_EQUIVALENCE:renewable_tec-y-h +RENEWABLES_EQUIVALENCE:y-h +RENEWABLES_EQUIVALENCE:n +RENEWABLES_EQUIVALENCE:n-renewable_tec +RENEWABLES_EQUIVALENCE:n-renewable_tec-y +RENEWABLES_EQUIVALENCE:n-y +RENEWABLES_EQUIVALENCE:renewable_tec +RENEWABLES_EQUIVALENCE:renewable_tec-y +RENEWABLES_EQUIVALENCE:y +RENEWABLES_POTENTIAL_CONSTRAINT-margin:n-c-g-y +RENEWABLES_POTENTIAL_CONSTRAINT: +RENEWABLES_POTENTIAL_CONSTRAINT:c +RENEWABLES_POTENTIAL_CONSTRAINT:c-g +RENEWABLES_POTENTIAL_CONSTRAINT:n-c-g +RENEWABLES_POTENTIAL_CONSTRAINT:n-c-g-y +RENEWABLES_POTENTIAL_CONSTRAINT:c-g-y +RENEWABLES_POTENTIAL_CONSTRAINT:n-c +RENEWABLES_POTENTIAL_CONSTRAINT:n-c-y +RENEWABLES_POTENTIAL_CONSTRAINT:c-y +RENEWABLES_POTENTIAL_CONSTRAINT:g +RENEWABLES_POTENTIAL_CONSTRAINT:n-g +RENEWABLES_POTENTIAL_CONSTRAINT:n-g-y +RENEWABLES_POTENTIAL_CONSTRAINT:g-y +RENEWABLES_POTENTIAL_CONSTRAINT:n +RENEWABLES_POTENTIAL_CONSTRAINT:n-y +RENEWABLES_POTENTIAL_CONSTRAINT:y +RESOURCE_CONSTRAINT-margin:n-c-g-y +RESOURCE_CONSTRAINT: +RESOURCE_CONSTRAINT:c +RESOURCE_CONSTRAINT:c-g +RESOURCE_CONSTRAINT:n-c-g +RESOURCE_CONSTRAINT:n-c-g-y +RESOURCE_CONSTRAINT:c-g-y +RESOURCE_CONSTRAINT:n-c +RESOURCE_CONSTRAINT:n-c-y +RESOURCE_CONSTRAINT:c-y +RESOURCE_CONSTRAINT:g +RESOURCE_CONSTRAINT:n-g +RESOURCE_CONSTRAINT:n-g-y +RESOURCE_CONSTRAINT:g-y +RESOURCE_CONSTRAINT:n +RESOURCE_CONSTRAINT:n-y +RESOURCE_CONSTRAINT:y +RESOURCE_HORIZON-margin:n-c-g +RESOURCE_HORIZON: +RESOURCE_HORIZON:c +RESOURCE_HORIZON:c-g +RESOURCE_HORIZON:n-c-g +RESOURCE_HORIZON:n-c +RESOURCE_HORIZON:g +RESOURCE_HORIZON:n-g +RESOURCE_HORIZON:n +SHARE_CONSTRAINT_COMMODITY_LO-margin:shares-ns-y-h +SHARE_CONSTRAINT_COMMODITY_LO: +SHARE_CONSTRAINT_COMMODITY_LO:h +SHARE_CONSTRAINT_COMMODITY_LO:ns-h +SHARE_CONSTRAINT_COMMODITY_LO:shares-ns-h +SHARE_CONSTRAINT_COMMODITY_LO:shares-ns-y-h +SHARE_CONSTRAINT_COMMODITY_LO:ns-y-h +SHARE_CONSTRAINT_COMMODITY_LO:shares-h +SHARE_CONSTRAINT_COMMODITY_LO:shares-y-h +SHARE_CONSTRAINT_COMMODITY_LO:y-h +SHARE_CONSTRAINT_COMMODITY_LO:ns +SHARE_CONSTRAINT_COMMODITY_LO:shares-ns +SHARE_CONSTRAINT_COMMODITY_LO:shares-ns-y +SHARE_CONSTRAINT_COMMODITY_LO:ns-y +SHARE_CONSTRAINT_COMMODITY_LO:shares +SHARE_CONSTRAINT_COMMODITY_LO:shares-y +SHARE_CONSTRAINT_COMMODITY_LO:y +SHARE_CONSTRAINT_COMMODITY_UP-margin:shares-ns-y-h +SHARE_CONSTRAINT_COMMODITY_UP: +SHARE_CONSTRAINT_COMMODITY_UP:h +SHARE_CONSTRAINT_COMMODITY_UP:ns-h +SHARE_CONSTRAINT_COMMODITY_UP:shares-ns-h +SHARE_CONSTRAINT_COMMODITY_UP:shares-ns-y-h +SHARE_CONSTRAINT_COMMODITY_UP:ns-y-h +SHARE_CONSTRAINT_COMMODITY_UP:shares-h +SHARE_CONSTRAINT_COMMODITY_UP:shares-y-h +SHARE_CONSTRAINT_COMMODITY_UP:y-h +SHARE_CONSTRAINT_COMMODITY_UP:ns +SHARE_CONSTRAINT_COMMODITY_UP:shares-ns +SHARE_CONSTRAINT_COMMODITY_UP:shares-ns-y +SHARE_CONSTRAINT_COMMODITY_UP:ns-y +SHARE_CONSTRAINT_COMMODITY_UP:shares +SHARE_CONSTRAINT_COMMODITY_UP:shares-y +SHARE_CONSTRAINT_COMMODITY_UP:y +SHARE_CONSTRAINT_MODE_LO-margin:shares-n-t-m-y-h +SHARE_CONSTRAINT_MODE_LO: +SHARE_CONSTRAINT_MODE_LO:h +SHARE_CONSTRAINT_MODE_LO:m-h +SHARE_CONSTRAINT_MODE_LO:n-m-h +SHARE_CONSTRAINT_MODE_LO:shares-n-m-h +SHARE_CONSTRAINT_MODE_LO:shares-n-t-m-h +SHARE_CONSTRAINT_MODE_LO:shares-n-t-m-y-h +SHARE_CONSTRAINT_MODE_LO:shares-n-m-y-h +SHARE_CONSTRAINT_MODE_LO:n-t-m-h +SHARE_CONSTRAINT_MODE_LO:n-t-m-y-h +SHARE_CONSTRAINT_MODE_LO:n-m-y-h +SHARE_CONSTRAINT_MODE_LO:shares-m-h +SHARE_CONSTRAINT_MODE_LO:shares-t-m-h +SHARE_CONSTRAINT_MODE_LO:shares-t-m-y-h +SHARE_CONSTRAINT_MODE_LO:shares-m-y-h +SHARE_CONSTRAINT_MODE_LO:t-m-h +SHARE_CONSTRAINT_MODE_LO:t-m-y-h +SHARE_CONSTRAINT_MODE_LO:m-y-h +SHARE_CONSTRAINT_MODE_LO:n-h +SHARE_CONSTRAINT_MODE_LO:shares-n-h +SHARE_CONSTRAINT_MODE_LO:shares-n-t-h +SHARE_CONSTRAINT_MODE_LO:shares-n-t-y-h +SHARE_CONSTRAINT_MODE_LO:shares-n-y-h +SHARE_CONSTRAINT_MODE_LO:n-t-h +SHARE_CONSTRAINT_MODE_LO:n-t-y-h +SHARE_CONSTRAINT_MODE_LO:n-y-h +SHARE_CONSTRAINT_MODE_LO:shares-h +SHARE_CONSTRAINT_MODE_LO:shares-t-h +SHARE_CONSTRAINT_MODE_LO:shares-t-y-h +SHARE_CONSTRAINT_MODE_LO:shares-y-h +SHARE_CONSTRAINT_MODE_LO:t-h +SHARE_CONSTRAINT_MODE_LO:t-y-h +SHARE_CONSTRAINT_MODE_LO:y-h +SHARE_CONSTRAINT_MODE_LO:m +SHARE_CONSTRAINT_MODE_LO:n-m +SHARE_CONSTRAINT_MODE_LO:shares-n-m +SHARE_CONSTRAINT_MODE_LO:shares-n-t-m +SHARE_CONSTRAINT_MODE_LO:shares-n-t-m-y +SHARE_CONSTRAINT_MODE_LO:shares-n-m-y +SHARE_CONSTRAINT_MODE_LO:n-t-m +SHARE_CONSTRAINT_MODE_LO:n-t-m-y +SHARE_CONSTRAINT_MODE_LO:n-m-y +SHARE_CONSTRAINT_MODE_LO:shares-m +SHARE_CONSTRAINT_MODE_LO:shares-t-m +SHARE_CONSTRAINT_MODE_LO:shares-t-m-y +SHARE_CONSTRAINT_MODE_LO:shares-m-y +SHARE_CONSTRAINT_MODE_LO:t-m +SHARE_CONSTRAINT_MODE_LO:t-m-y +SHARE_CONSTRAINT_MODE_LO:m-y +SHARE_CONSTRAINT_MODE_LO:n +SHARE_CONSTRAINT_MODE_LO:shares-n +SHARE_CONSTRAINT_MODE_LO:shares-n-t +SHARE_CONSTRAINT_MODE_LO:shares-n-t-y +SHARE_CONSTRAINT_MODE_LO:shares-n-y +SHARE_CONSTRAINT_MODE_LO:n-t +SHARE_CONSTRAINT_MODE_LO:n-t-y +SHARE_CONSTRAINT_MODE_LO:n-y +SHARE_CONSTRAINT_MODE_LO:shares +SHARE_CONSTRAINT_MODE_LO:shares-t +SHARE_CONSTRAINT_MODE_LO:shares-t-y +SHARE_CONSTRAINT_MODE_LO:shares-y +SHARE_CONSTRAINT_MODE_LO:t +SHARE_CONSTRAINT_MODE_LO:t-y +SHARE_CONSTRAINT_MODE_LO:y +SHARE_CONSTRAINT_MODE_UP-margin:shares-n-t-m-y-h +SHARE_CONSTRAINT_MODE_UP: +SHARE_CONSTRAINT_MODE_UP:h +SHARE_CONSTRAINT_MODE_UP:m-h +SHARE_CONSTRAINT_MODE_UP:n-m-h +SHARE_CONSTRAINT_MODE_UP:shares-n-m-h +SHARE_CONSTRAINT_MODE_UP:shares-n-t-m-h +SHARE_CONSTRAINT_MODE_UP:shares-n-t-m-y-h +SHARE_CONSTRAINT_MODE_UP:shares-n-m-y-h +SHARE_CONSTRAINT_MODE_UP:n-t-m-h +SHARE_CONSTRAINT_MODE_UP:n-t-m-y-h +SHARE_CONSTRAINT_MODE_UP:n-m-y-h +SHARE_CONSTRAINT_MODE_UP:shares-m-h +SHARE_CONSTRAINT_MODE_UP:shares-t-m-h +SHARE_CONSTRAINT_MODE_UP:shares-t-m-y-h +SHARE_CONSTRAINT_MODE_UP:shares-m-y-h +SHARE_CONSTRAINT_MODE_UP:t-m-h +SHARE_CONSTRAINT_MODE_UP:t-m-y-h +SHARE_CONSTRAINT_MODE_UP:m-y-h +SHARE_CONSTRAINT_MODE_UP:n-h +SHARE_CONSTRAINT_MODE_UP:shares-n-h +SHARE_CONSTRAINT_MODE_UP:shares-n-t-h +SHARE_CONSTRAINT_MODE_UP:shares-n-t-y-h +SHARE_CONSTRAINT_MODE_UP:shares-n-y-h +SHARE_CONSTRAINT_MODE_UP:n-t-h +SHARE_CONSTRAINT_MODE_UP:n-t-y-h +SHARE_CONSTRAINT_MODE_UP:n-y-h +SHARE_CONSTRAINT_MODE_UP:shares-h +SHARE_CONSTRAINT_MODE_UP:shares-t-h +SHARE_CONSTRAINT_MODE_UP:shares-t-y-h +SHARE_CONSTRAINT_MODE_UP:shares-y-h +SHARE_CONSTRAINT_MODE_UP:t-h +SHARE_CONSTRAINT_MODE_UP:t-y-h +SHARE_CONSTRAINT_MODE_UP:y-h +SHARE_CONSTRAINT_MODE_UP:m +SHARE_CONSTRAINT_MODE_UP:n-m +SHARE_CONSTRAINT_MODE_UP:shares-n-m +SHARE_CONSTRAINT_MODE_UP:shares-n-t-m +SHARE_CONSTRAINT_MODE_UP:shares-n-t-m-y +SHARE_CONSTRAINT_MODE_UP:shares-n-m-y +SHARE_CONSTRAINT_MODE_UP:n-t-m +SHARE_CONSTRAINT_MODE_UP:n-t-m-y +SHARE_CONSTRAINT_MODE_UP:n-m-y +SHARE_CONSTRAINT_MODE_UP:shares-m +SHARE_CONSTRAINT_MODE_UP:shares-t-m +SHARE_CONSTRAINT_MODE_UP:shares-t-m-y +SHARE_CONSTRAINT_MODE_UP:shares-m-y +SHARE_CONSTRAINT_MODE_UP:t-m +SHARE_CONSTRAINT_MODE_UP:t-m-y +SHARE_CONSTRAINT_MODE_UP:m-y +SHARE_CONSTRAINT_MODE_UP:n +SHARE_CONSTRAINT_MODE_UP:shares-n +SHARE_CONSTRAINT_MODE_UP:shares-n-t +SHARE_CONSTRAINT_MODE_UP:shares-n-t-y +SHARE_CONSTRAINT_MODE_UP:shares-n-y +SHARE_CONSTRAINT_MODE_UP:n-t +SHARE_CONSTRAINT_MODE_UP:n-t-y +SHARE_CONSTRAINT_MODE_UP:n-y +SHARE_CONSTRAINT_MODE_UP:shares +SHARE_CONSTRAINT_MODE_UP:shares-t +SHARE_CONSTRAINT_MODE_UP:shares-t-y +SHARE_CONSTRAINT_MODE_UP:shares-y +SHARE_CONSTRAINT_MODE_UP:t +SHARE_CONSTRAINT_MODE_UP:t-y +SHARE_CONSTRAINT_MODE_UP:y +SLACK_ACT_BOUND_LO: +SLACK_ACT_BOUND_LO:h +SLACK_ACT_BOUND_LO:m-h +SLACK_ACT_BOUND_LO:n-m-h +SLACK_ACT_BOUND_LO:n-t-m-h +SLACK_ACT_BOUND_LO:n-t-y-m-h +SLACK_ACT_BOUND_LO:n-y-m-h +SLACK_ACT_BOUND_LO:t-m-h +SLACK_ACT_BOUND_LO:t-y-m-h +SLACK_ACT_BOUND_LO:y-m-h +SLACK_ACT_BOUND_LO:n-h +SLACK_ACT_BOUND_LO:n-t-h +SLACK_ACT_BOUND_LO:n-t-y-h +SLACK_ACT_BOUND_LO:n-y-h +SLACK_ACT_BOUND_LO:t-h +SLACK_ACT_BOUND_LO:t-y-h +SLACK_ACT_BOUND_LO:y-h +SLACK_ACT_BOUND_LO:m +SLACK_ACT_BOUND_LO:n-m +SLACK_ACT_BOUND_LO:n-t-m +SLACK_ACT_BOUND_LO:n-t-y-m +SLACK_ACT_BOUND_LO:n-y-m +SLACK_ACT_BOUND_LO:t-m +SLACK_ACT_BOUND_LO:t-y-m +SLACK_ACT_BOUND_LO:y-m +SLACK_ACT_BOUND_LO:n +SLACK_ACT_BOUND_LO:n-t +SLACK_ACT_BOUND_LO:n-t-y +SLACK_ACT_BOUND_LO:n-y +SLACK_ACT_BOUND_LO:t +SLACK_ACT_BOUND_LO:t-y +SLACK_ACT_BOUND_LO:y +SLACK_ACT_BOUND_UP: +SLACK_ACT_BOUND_UP:h +SLACK_ACT_BOUND_UP:m-h +SLACK_ACT_BOUND_UP:n-m-h +SLACK_ACT_BOUND_UP:n-t-m-h +SLACK_ACT_BOUND_UP:n-t-y-m-h +SLACK_ACT_BOUND_UP:n-y-m-h +SLACK_ACT_BOUND_UP:t-m-h +SLACK_ACT_BOUND_UP:t-y-m-h +SLACK_ACT_BOUND_UP:y-m-h +SLACK_ACT_BOUND_UP:n-h +SLACK_ACT_BOUND_UP:n-t-h +SLACK_ACT_BOUND_UP:n-t-y-h +SLACK_ACT_BOUND_UP:n-y-h +SLACK_ACT_BOUND_UP:t-h +SLACK_ACT_BOUND_UP:t-y-h +SLACK_ACT_BOUND_UP:y-h +SLACK_ACT_BOUND_UP:m +SLACK_ACT_BOUND_UP:n-m +SLACK_ACT_BOUND_UP:n-t-m +SLACK_ACT_BOUND_UP:n-t-y-m +SLACK_ACT_BOUND_UP:n-y-m +SLACK_ACT_BOUND_UP:t-m +SLACK_ACT_BOUND_UP:t-y-m +SLACK_ACT_BOUND_UP:y-m +SLACK_ACT_BOUND_UP:n +SLACK_ACT_BOUND_UP:n-t +SLACK_ACT_BOUND_UP:n-t-y +SLACK_ACT_BOUND_UP:n-y +SLACK_ACT_BOUND_UP:t +SLACK_ACT_BOUND_UP:t-y +SLACK_ACT_BOUND_UP:y +SLACK_ACT_DYNAMIC_LO: +SLACK_ACT_DYNAMIC_LO:h +SLACK_ACT_DYNAMIC_LO:n-h +SLACK_ACT_DYNAMIC_LO:n-t-h +SLACK_ACT_DYNAMIC_LO:n-t-y-h +SLACK_ACT_DYNAMIC_LO:n-y-h +SLACK_ACT_DYNAMIC_LO:t-h +SLACK_ACT_DYNAMIC_LO:t-y-h +SLACK_ACT_DYNAMIC_LO:y-h +SLACK_ACT_DYNAMIC_LO:n +SLACK_ACT_DYNAMIC_LO:n-t +SLACK_ACT_DYNAMIC_LO:n-t-y +SLACK_ACT_DYNAMIC_LO:n-y +SLACK_ACT_DYNAMIC_LO:t +SLACK_ACT_DYNAMIC_LO:t-y +SLACK_ACT_DYNAMIC_LO:y +SLACK_ACT_DYNAMIC_UP: +SLACK_ACT_DYNAMIC_UP:h +SLACK_ACT_DYNAMIC_UP:n-h +SLACK_ACT_DYNAMIC_UP:n-t-h +SLACK_ACT_DYNAMIC_UP:n-t-y-h +SLACK_ACT_DYNAMIC_UP:n-y-h +SLACK_ACT_DYNAMIC_UP:t-h +SLACK_ACT_DYNAMIC_UP:t-y-h +SLACK_ACT_DYNAMIC_UP:y-h +SLACK_ACT_DYNAMIC_UP:n +SLACK_ACT_DYNAMIC_UP:n-t +SLACK_ACT_DYNAMIC_UP:n-t-y +SLACK_ACT_DYNAMIC_UP:n-y +SLACK_ACT_DYNAMIC_UP:t +SLACK_ACT_DYNAMIC_UP:t-y +SLACK_ACT_DYNAMIC_UP:y +SLACK_CAP_NEW_BOUND_LO: +SLACK_CAP_NEW_BOUND_LO:n +SLACK_CAP_NEW_BOUND_LO:n-t +SLACK_CAP_NEW_BOUND_LO:n-t-y +SLACK_CAP_NEW_BOUND_LO:n-y +SLACK_CAP_NEW_BOUND_LO:t +SLACK_CAP_NEW_BOUND_LO:t-y +SLACK_CAP_NEW_BOUND_LO:y +SLACK_CAP_NEW_BOUND_UP: +SLACK_CAP_NEW_BOUND_UP:n +SLACK_CAP_NEW_BOUND_UP:n-t +SLACK_CAP_NEW_BOUND_UP:n-t-y +SLACK_CAP_NEW_BOUND_UP:n-y +SLACK_CAP_NEW_BOUND_UP:t +SLACK_CAP_NEW_BOUND_UP:t-y +SLACK_CAP_NEW_BOUND_UP:y +SLACK_CAP_NEW_DYNAMIC_LO: +SLACK_CAP_NEW_DYNAMIC_LO:n +SLACK_CAP_NEW_DYNAMIC_LO:n-t +SLACK_CAP_NEW_DYNAMIC_LO:n-t-y +SLACK_CAP_NEW_DYNAMIC_LO:n-y +SLACK_CAP_NEW_DYNAMIC_LO:t +SLACK_CAP_NEW_DYNAMIC_LO:t-y +SLACK_CAP_NEW_DYNAMIC_LO:y +SLACK_CAP_NEW_DYNAMIC_UP: +SLACK_CAP_NEW_DYNAMIC_UP:n +SLACK_CAP_NEW_DYNAMIC_UP:n-t +SLACK_CAP_NEW_DYNAMIC_UP:n-t-y +SLACK_CAP_NEW_DYNAMIC_UP:n-y +SLACK_CAP_NEW_DYNAMIC_UP:t +SLACK_CAP_NEW_DYNAMIC_UP:t-y +SLACK_CAP_NEW_DYNAMIC_UP:y +SLACK_CAP_TOTAL_BOUND_LO: +SLACK_CAP_TOTAL_BOUND_LO:n +SLACK_CAP_TOTAL_BOUND_LO:n-t +SLACK_CAP_TOTAL_BOUND_LO:n-t-y +SLACK_CAP_TOTAL_BOUND_LO:n-y +SLACK_CAP_TOTAL_BOUND_LO:t +SLACK_CAP_TOTAL_BOUND_LO:t-y +SLACK_CAP_TOTAL_BOUND_LO:y +SLACK_CAP_TOTAL_BOUND_UP: +SLACK_CAP_TOTAL_BOUND_UP:n +SLACK_CAP_TOTAL_BOUND_UP:n-t +SLACK_CAP_TOTAL_BOUND_UP:n-t-y +SLACK_CAP_TOTAL_BOUND_UP:n-y +SLACK_CAP_TOTAL_BOUND_UP:t +SLACK_CAP_TOTAL_BOUND_UP:t-y +SLACK_CAP_TOTAL_BOUND_UP:y +SLACK_COMMODITY_EQUIVALENCE_LO: +SLACK_COMMODITY_EQUIVALENCE_LO:c +SLACK_COMMODITY_EQUIVALENCE_LO:c-h +SLACK_COMMODITY_EQUIVALENCE_LO:c-l-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-l-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-l-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:c-l-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:c-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:c-l +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-l +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-l-y +SLACK_COMMODITY_EQUIVALENCE_LO:c-l-y +SLACK_COMMODITY_EQUIVALENCE_LO:n-c +SLACK_COMMODITY_EQUIVALENCE_LO:n-c-y +SLACK_COMMODITY_EQUIVALENCE_LO:c-y +SLACK_COMMODITY_EQUIVALENCE_LO:h +SLACK_COMMODITY_EQUIVALENCE_LO:l-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-l-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-l-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:l-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-h +SLACK_COMMODITY_EQUIVALENCE_LO:n-y-h +SLACK_COMMODITY_EQUIVALENCE_LO:y-h +SLACK_COMMODITY_EQUIVALENCE_LO:l +SLACK_COMMODITY_EQUIVALENCE_LO:n-l +SLACK_COMMODITY_EQUIVALENCE_LO:n-l-y +SLACK_COMMODITY_EQUIVALENCE_LO:l-y +SLACK_COMMODITY_EQUIVALENCE_LO:n +SLACK_COMMODITY_EQUIVALENCE_LO:n-y +SLACK_COMMODITY_EQUIVALENCE_LO:y +SLACK_COMMODITY_EQUIVALENCE_UP: +SLACK_COMMODITY_EQUIVALENCE_UP:c +SLACK_COMMODITY_EQUIVALENCE_UP:c-h +SLACK_COMMODITY_EQUIVALENCE_UP:c-l-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-l-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-l-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:c-l-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:c-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:c-l +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-l +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-l-y +SLACK_COMMODITY_EQUIVALENCE_UP:c-l-y +SLACK_COMMODITY_EQUIVALENCE_UP:n-c +SLACK_COMMODITY_EQUIVALENCE_UP:n-c-y +SLACK_COMMODITY_EQUIVALENCE_UP:c-y +SLACK_COMMODITY_EQUIVALENCE_UP:h +SLACK_COMMODITY_EQUIVALENCE_UP:l-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-l-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-l-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:l-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-h +SLACK_COMMODITY_EQUIVALENCE_UP:n-y-h +SLACK_COMMODITY_EQUIVALENCE_UP:y-h +SLACK_COMMODITY_EQUIVALENCE_UP:l +SLACK_COMMODITY_EQUIVALENCE_UP:n-l +SLACK_COMMODITY_EQUIVALENCE_UP:n-l-y +SLACK_COMMODITY_EQUIVALENCE_UP:l-y +SLACK_COMMODITY_EQUIVALENCE_UP:n +SLACK_COMMODITY_EQUIVALENCE_UP:n-y +SLACK_COMMODITY_EQUIVALENCE_UP:y +SLACK_LAND_SCEN_LO: +SLACK_LAND_SCEN_LO:n +SLACK_LAND_SCEN_LO:n-s +SLACK_LAND_SCEN_LO:n-s-y +SLACK_LAND_SCEN_LO:n-y +SLACK_LAND_SCEN_LO:s +SLACK_LAND_SCEN_LO:s-y +SLACK_LAND_SCEN_LO:y +SLACK_LAND_SCEN_UP: +SLACK_LAND_SCEN_UP:n +SLACK_LAND_SCEN_UP:n-s +SLACK_LAND_SCEN_UP:n-s-y +SLACK_LAND_SCEN_UP:n-y +SLACK_LAND_SCEN_UP:s +SLACK_LAND_SCEN_UP:s-y +SLACK_LAND_SCEN_UP:y +SLACK_LAND_TYPE_LO: +SLACK_LAND_TYPE_LO:n +SLACK_LAND_TYPE_LO:n-u +SLACK_LAND_TYPE_LO:n-y-u +SLACK_LAND_TYPE_LO:n-y +SLACK_LAND_TYPE_LO:u +SLACK_LAND_TYPE_LO:y-u +SLACK_LAND_TYPE_LO:y +SLACK_LAND_TYPE_UP: +SLACK_LAND_TYPE_UP:n +SLACK_LAND_TYPE_UP:n-u +SLACK_LAND_TYPE_UP:n-y-u +SLACK_LAND_TYPE_UP:n-y +SLACK_LAND_TYPE_UP:u +SLACK_LAND_TYPE_UP:y-u +SLACK_LAND_TYPE_UP:y +SLACK_RELATION_BOUND_LO: +SLACK_RELATION_BOUND_LO:n +SLACK_RELATION_BOUND_LO:r-n +SLACK_RELATION_BOUND_LO:r-n-y +SLACK_RELATION_BOUND_LO:n-y +SLACK_RELATION_BOUND_LO:r +SLACK_RELATION_BOUND_LO:r-y +SLACK_RELATION_BOUND_LO:y +SLACK_RELATION_BOUND_UP: +SLACK_RELATION_BOUND_UP:n +SLACK_RELATION_BOUND_UP:r-n +SLACK_RELATION_BOUND_UP:r-n-y +SLACK_RELATION_BOUND_UP:n-y +SLACK_RELATION_BOUND_UP:r +SLACK_RELATION_BOUND_UP:r-y +SLACK_RELATION_BOUND_UP:y +STOCK: +STOCK:c +STOCK:c-l +STOCK:n-c-l +STOCK:n-c-l-y +STOCK:c-l-y +STOCK:n-c +STOCK:n-c-y +STOCK:c-y +STOCK:l +STOCK:n-l +STOCK:n-l-y +STOCK:l-y +STOCK:n +STOCK:n-y +STOCK:y +STOCKS_BALANCE-margin:n-c-l-y +STOCKS_BALANCE: +STOCKS_BALANCE:c +STOCKS_BALANCE:c-l +STOCKS_BALANCE:n-c-l +STOCKS_BALANCE:n-c-l-y +STOCKS_BALANCE:c-l-y +STOCKS_BALANCE:n-c +STOCKS_BALANCE:n-c-y +STOCKS_BALANCE:c-y +STOCKS_BALANCE:l +STOCKS_BALANCE:n-l +STOCKS_BALANCE:n-l-y +STOCKS_BALANCE:l-y +STOCKS_BALANCE:n +STOCKS_BALANCE:n-y +STOCKS_BALANCE:y +STOCK_CHG: +STOCK_CHG:c +STOCK_CHG:c-h +STOCK_CHG:c-l-h +STOCK_CHG:n-c-l-h +STOCK_CHG:n-c-l-y-h +STOCK_CHG:c-l-y-h +STOCK_CHG:n-c-h +STOCK_CHG:n-c-y-h +STOCK_CHG:c-y-h +STOCK_CHG:c-l +STOCK_CHG:n-c-l +STOCK_CHG:n-c-l-y +STOCK_CHG:c-l-y +STOCK_CHG:n-c +STOCK_CHG:n-c-y +STOCK_CHG:c-y +STOCK_CHG:h +STOCK_CHG:l-h +STOCK_CHG:n-l-h +STOCK_CHG:n-l-y-h +STOCK_CHG:l-y-h +STOCK_CHG:n-h +STOCK_CHG:n-y-h +STOCK_CHG:y-h +STOCK_CHG:l +STOCK_CHG:n-l +STOCK_CHG:n-l-y +STOCK_CHG:l-y +STOCK_CHG:n +STOCK_CHG:n-y +STOCK_CHG:y +STORAGE: +STORAGE:c +STORAGE:c-h +STORAGE:l-c-h +STORAGE:m-l-c-h +STORAGE:n-m-l-c-h +STORAGE:n-t-m-l-c-h +STORAGE:n-t-m-l-c-y-h +STORAGE:n-m-l-c-y-h +STORAGE:t-m-l-c-h +STORAGE:t-m-l-c-y-h +STORAGE:m-l-c-y-h +STORAGE:n-l-c-h +STORAGE:n-t-l-c-h +STORAGE:n-t-l-c-y-h +STORAGE:n-l-c-y-h +STORAGE:t-l-c-h +STORAGE:t-l-c-y-h +STORAGE:l-c-y-h +STORAGE:m-c-h +STORAGE:n-m-c-h +STORAGE:n-t-m-c-h +STORAGE:n-t-m-c-y-h +STORAGE:n-m-c-y-h +STORAGE:t-m-c-h +STORAGE:t-m-c-y-h +STORAGE:m-c-y-h +STORAGE:n-c-h +STORAGE:n-t-c-h +STORAGE:n-t-c-y-h +STORAGE:n-c-y-h +STORAGE:t-c-h +STORAGE:t-c-y-h +STORAGE:c-y-h +STORAGE:l-c +STORAGE:m-l-c +STORAGE:n-m-l-c +STORAGE:n-t-m-l-c +STORAGE:n-t-m-l-c-y +STORAGE:n-m-l-c-y +STORAGE:t-m-l-c +STORAGE:t-m-l-c-y +STORAGE:m-l-c-y +STORAGE:n-l-c +STORAGE:n-t-l-c +STORAGE:n-t-l-c-y +STORAGE:n-l-c-y +STORAGE:t-l-c +STORAGE:t-l-c-y +STORAGE:l-c-y +STORAGE:m-c +STORAGE:n-m-c +STORAGE:n-t-m-c +STORAGE:n-t-m-c-y +STORAGE:n-m-c-y +STORAGE:t-m-c +STORAGE:t-m-c-y +STORAGE:m-c-y +STORAGE:n-c +STORAGE:n-t-c +STORAGE:n-t-c-y +STORAGE:n-c-y +STORAGE:t-c +STORAGE:t-c-y +STORAGE:c-y +STORAGE:h +STORAGE:l-h +STORAGE:m-l-h +STORAGE:n-m-l-h +STORAGE:n-t-m-l-h +STORAGE:n-t-m-l-y-h +STORAGE:n-m-l-y-h +STORAGE:t-m-l-h +STORAGE:t-m-l-y-h +STORAGE:m-l-y-h +STORAGE:n-l-h +STORAGE:n-t-l-h +STORAGE:n-t-l-y-h +STORAGE:n-l-y-h +STORAGE:t-l-h +STORAGE:t-l-y-h +STORAGE:l-y-h +STORAGE:m-h +STORAGE:n-m-h +STORAGE:n-t-m-h +STORAGE:n-t-m-y-h +STORAGE:n-m-y-h +STORAGE:t-m-h +STORAGE:t-m-y-h +STORAGE:m-y-h +STORAGE:n-h +STORAGE:n-t-h +STORAGE:n-t-y-h +STORAGE:n-y-h +STORAGE:t-h +STORAGE:t-y-h +STORAGE:y-h +STORAGE:l +STORAGE:m-l +STORAGE:n-m-l +STORAGE:n-t-m-l +STORAGE:n-t-m-l-y +STORAGE:n-m-l-y +STORAGE:t-m-l +STORAGE:t-m-l-y +STORAGE:m-l-y +STORAGE:n-l +STORAGE:n-t-l +STORAGE:n-t-l-y +STORAGE:n-l-y +STORAGE:t-l +STORAGE:t-l-y +STORAGE:l-y +STORAGE:m +STORAGE:n-m +STORAGE:n-t-m +STORAGE:n-t-m-y +STORAGE:n-m-y +STORAGE:t-m +STORAGE:t-m-y +STORAGE:m-y +STORAGE:n +STORAGE:n-t +STORAGE:n-t-y +STORAGE:n-y +STORAGE:t +STORAGE:t-y +STORAGE:y +STORAGE_BALANCE-margin:n-ts-m-l-c-y-h2-lvl_temporal +STORAGE_BALANCE: +STORAGE_BALANCE:c +STORAGE_BALANCE:c-h2 +STORAGE_BALANCE:l-c-h2 +STORAGE_BALANCE:l-c-h2-lvl_temporal +STORAGE_BALANCE:m-l-c-h2-lvl_temporal +STORAGE_BALANCE:n-m-l-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:n-m-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:ts-m-l-c-h2-lvl_temporal +STORAGE_BALANCE:ts-m-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:m-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:n-l-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-l-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:n-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:ts-l-c-h2-lvl_temporal +STORAGE_BALANCE:ts-l-c-y-h2-lvl_temporal +STORAGE_BALANCE:l-c-y-h2-lvl_temporal +STORAGE_BALANCE:m-l-c-h2 +STORAGE_BALANCE:n-m-l-c-h2 +STORAGE_BALANCE:n-ts-m-l-c-h2 +STORAGE_BALANCE:n-ts-m-l-c-y-h2 +STORAGE_BALANCE:n-m-l-c-y-h2 +STORAGE_BALANCE:ts-m-l-c-h2 +STORAGE_BALANCE:ts-m-l-c-y-h2 +STORAGE_BALANCE:m-l-c-y-h2 +STORAGE_BALANCE:n-l-c-h2 +STORAGE_BALANCE:n-ts-l-c-h2 +STORAGE_BALANCE:n-ts-l-c-y-h2 +STORAGE_BALANCE:n-l-c-y-h2 +STORAGE_BALANCE:ts-l-c-h2 +STORAGE_BALANCE:ts-l-c-y-h2 +STORAGE_BALANCE:l-c-y-h2 +STORAGE_BALANCE:c-h2-lvl_temporal +STORAGE_BALANCE:m-c-h2-lvl_temporal +STORAGE_BALANCE:n-m-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-c-y-h2-lvl_temporal +STORAGE_BALANCE:n-m-c-y-h2-lvl_temporal +STORAGE_BALANCE:ts-m-c-h2-lvl_temporal +STORAGE_BALANCE:ts-m-c-y-h2-lvl_temporal +STORAGE_BALANCE:m-c-y-h2-lvl_temporal +STORAGE_BALANCE:n-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-c-h2-lvl_temporal +STORAGE_BALANCE:n-ts-c-y-h2-lvl_temporal +STORAGE_BALANCE:n-c-y-h2-lvl_temporal +STORAGE_BALANCE:ts-c-h2-lvl_temporal +STORAGE_BALANCE:ts-c-y-h2-lvl_temporal +STORAGE_BALANCE:c-y-h2-lvl_temporal +STORAGE_BALANCE:m-c-h2 +STORAGE_BALANCE:n-m-c-h2 +STORAGE_BALANCE:n-ts-m-c-h2 +STORAGE_BALANCE:n-ts-m-c-y-h2 +STORAGE_BALANCE:n-m-c-y-h2 +STORAGE_BALANCE:ts-m-c-h2 +STORAGE_BALANCE:ts-m-c-y-h2 +STORAGE_BALANCE:m-c-y-h2 +STORAGE_BALANCE:n-c-h2 +STORAGE_BALANCE:n-ts-c-h2 +STORAGE_BALANCE:n-ts-c-y-h2 +STORAGE_BALANCE:n-c-y-h2 +STORAGE_BALANCE:ts-c-h2 +STORAGE_BALANCE:ts-c-y-h2 +STORAGE_BALANCE:c-y-h2 +STORAGE_BALANCE:l-c +STORAGE_BALANCE:l-c-lvl_temporal +STORAGE_BALANCE:m-l-c-lvl_temporal +STORAGE_BALANCE:n-m-l-c-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-c-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-c-y-lvl_temporal +STORAGE_BALANCE:n-m-l-c-y-lvl_temporal +STORAGE_BALANCE:ts-m-l-c-lvl_temporal +STORAGE_BALANCE:ts-m-l-c-y-lvl_temporal +STORAGE_BALANCE:m-l-c-y-lvl_temporal +STORAGE_BALANCE:n-l-c-lvl_temporal +STORAGE_BALANCE:n-ts-l-c-lvl_temporal +STORAGE_BALANCE:n-ts-l-c-y-lvl_temporal +STORAGE_BALANCE:n-l-c-y-lvl_temporal +STORAGE_BALANCE:ts-l-c-lvl_temporal +STORAGE_BALANCE:ts-l-c-y-lvl_temporal +STORAGE_BALANCE:l-c-y-lvl_temporal +STORAGE_BALANCE:m-l-c +STORAGE_BALANCE:n-m-l-c +STORAGE_BALANCE:n-ts-m-l-c +STORAGE_BALANCE:n-ts-m-l-c-y +STORAGE_BALANCE:n-m-l-c-y +STORAGE_BALANCE:ts-m-l-c +STORAGE_BALANCE:ts-m-l-c-y +STORAGE_BALANCE:m-l-c-y +STORAGE_BALANCE:n-l-c +STORAGE_BALANCE:n-ts-l-c +STORAGE_BALANCE:n-ts-l-c-y +STORAGE_BALANCE:n-l-c-y +STORAGE_BALANCE:ts-l-c +STORAGE_BALANCE:ts-l-c-y +STORAGE_BALANCE:l-c-y +STORAGE_BALANCE:c-lvl_temporal +STORAGE_BALANCE:m-c-lvl_temporal +STORAGE_BALANCE:n-m-c-lvl_temporal +STORAGE_BALANCE:n-ts-m-c-lvl_temporal +STORAGE_BALANCE:n-ts-m-c-y-lvl_temporal +STORAGE_BALANCE:n-m-c-y-lvl_temporal +STORAGE_BALANCE:ts-m-c-lvl_temporal +STORAGE_BALANCE:ts-m-c-y-lvl_temporal +STORAGE_BALANCE:m-c-y-lvl_temporal +STORAGE_BALANCE:n-c-lvl_temporal +STORAGE_BALANCE:n-ts-c-lvl_temporal +STORAGE_BALANCE:n-ts-c-y-lvl_temporal +STORAGE_BALANCE:n-c-y-lvl_temporal +STORAGE_BALANCE:ts-c-lvl_temporal +STORAGE_BALANCE:ts-c-y-lvl_temporal +STORAGE_BALANCE:c-y-lvl_temporal +STORAGE_BALANCE:m-c +STORAGE_BALANCE:n-m-c +STORAGE_BALANCE:n-ts-m-c +STORAGE_BALANCE:n-ts-m-c-y +STORAGE_BALANCE:n-m-c-y +STORAGE_BALANCE:ts-m-c +STORAGE_BALANCE:ts-m-c-y +STORAGE_BALANCE:m-c-y +STORAGE_BALANCE:n-c +STORAGE_BALANCE:n-ts-c +STORAGE_BALANCE:n-ts-c-y +STORAGE_BALANCE:n-c-y +STORAGE_BALANCE:ts-c +STORAGE_BALANCE:ts-c-y +STORAGE_BALANCE:c-y +STORAGE_BALANCE:h2 +STORAGE_BALANCE:l-h2 +STORAGE_BALANCE:l-h2-lvl_temporal +STORAGE_BALANCE:m-l-h2-lvl_temporal +STORAGE_BALANCE:n-m-l-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-y-h2-lvl_temporal +STORAGE_BALANCE:n-m-l-y-h2-lvl_temporal +STORAGE_BALANCE:ts-m-l-h2-lvl_temporal +STORAGE_BALANCE:ts-m-l-y-h2-lvl_temporal +STORAGE_BALANCE:m-l-y-h2-lvl_temporal +STORAGE_BALANCE:n-l-h2-lvl_temporal +STORAGE_BALANCE:n-ts-l-h2-lvl_temporal +STORAGE_BALANCE:n-ts-l-y-h2-lvl_temporal +STORAGE_BALANCE:n-l-y-h2-lvl_temporal +STORAGE_BALANCE:ts-l-h2-lvl_temporal +STORAGE_BALANCE:ts-l-y-h2-lvl_temporal +STORAGE_BALANCE:l-y-h2-lvl_temporal +STORAGE_BALANCE:m-l-h2 +STORAGE_BALANCE:n-m-l-h2 +STORAGE_BALANCE:n-ts-m-l-h2 +STORAGE_BALANCE:n-ts-m-l-y-h2 +STORAGE_BALANCE:n-m-l-y-h2 +STORAGE_BALANCE:ts-m-l-h2 +STORAGE_BALANCE:ts-m-l-y-h2 +STORAGE_BALANCE:m-l-y-h2 +STORAGE_BALANCE:n-l-h2 +STORAGE_BALANCE:n-ts-l-h2 +STORAGE_BALANCE:n-ts-l-y-h2 +STORAGE_BALANCE:n-l-y-h2 +STORAGE_BALANCE:ts-l-h2 +STORAGE_BALANCE:ts-l-y-h2 +STORAGE_BALANCE:l-y-h2 +STORAGE_BALANCE:h2-lvl_temporal +STORAGE_BALANCE:m-h2-lvl_temporal +STORAGE_BALANCE:n-m-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-h2-lvl_temporal +STORAGE_BALANCE:n-ts-m-y-h2-lvl_temporal +STORAGE_BALANCE:n-m-y-h2-lvl_temporal +STORAGE_BALANCE:ts-m-h2-lvl_temporal +STORAGE_BALANCE:ts-m-y-h2-lvl_temporal +STORAGE_BALANCE:m-y-h2-lvl_temporal +STORAGE_BALANCE:n-h2-lvl_temporal +STORAGE_BALANCE:n-ts-h2-lvl_temporal +STORAGE_BALANCE:n-ts-y-h2-lvl_temporal +STORAGE_BALANCE:n-y-h2-lvl_temporal +STORAGE_BALANCE:ts-h2-lvl_temporal +STORAGE_BALANCE:ts-y-h2-lvl_temporal +STORAGE_BALANCE:y-h2-lvl_temporal +STORAGE_BALANCE:m-h2 +STORAGE_BALANCE:n-m-h2 +STORAGE_BALANCE:n-ts-m-h2 +STORAGE_BALANCE:n-ts-m-y-h2 +STORAGE_BALANCE:n-m-y-h2 +STORAGE_BALANCE:ts-m-h2 +STORAGE_BALANCE:ts-m-y-h2 +STORAGE_BALANCE:m-y-h2 +STORAGE_BALANCE:n-h2 +STORAGE_BALANCE:n-ts-h2 +STORAGE_BALANCE:n-ts-y-h2 +STORAGE_BALANCE:n-y-h2 +STORAGE_BALANCE:ts-h2 +STORAGE_BALANCE:ts-y-h2 +STORAGE_BALANCE:y-h2 +STORAGE_BALANCE:l +STORAGE_BALANCE:l-lvl_temporal +STORAGE_BALANCE:m-l-lvl_temporal +STORAGE_BALANCE:n-m-l-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-lvl_temporal +STORAGE_BALANCE:n-ts-m-l-y-lvl_temporal +STORAGE_BALANCE:n-m-l-y-lvl_temporal +STORAGE_BALANCE:ts-m-l-lvl_temporal +STORAGE_BALANCE:ts-m-l-y-lvl_temporal +STORAGE_BALANCE:m-l-y-lvl_temporal +STORAGE_BALANCE:n-l-lvl_temporal +STORAGE_BALANCE:n-ts-l-lvl_temporal +STORAGE_BALANCE:n-ts-l-y-lvl_temporal +STORAGE_BALANCE:n-l-y-lvl_temporal +STORAGE_BALANCE:ts-l-lvl_temporal +STORAGE_BALANCE:ts-l-y-lvl_temporal +STORAGE_BALANCE:l-y-lvl_temporal +STORAGE_BALANCE:m-l +STORAGE_BALANCE:n-m-l +STORAGE_BALANCE:n-ts-m-l +STORAGE_BALANCE:n-ts-m-l-y +STORAGE_BALANCE:n-m-l-y +STORAGE_BALANCE:ts-m-l +STORAGE_BALANCE:ts-m-l-y +STORAGE_BALANCE:m-l-y +STORAGE_BALANCE:n-l +STORAGE_BALANCE:n-ts-l +STORAGE_BALANCE:n-ts-l-y +STORAGE_BALANCE:n-l-y +STORAGE_BALANCE:ts-l +STORAGE_BALANCE:ts-l-y +STORAGE_BALANCE:l-y +STORAGE_BALANCE:lvl_temporal +STORAGE_BALANCE:m-lvl_temporal +STORAGE_BALANCE:n-m-lvl_temporal +STORAGE_BALANCE:n-ts-m-lvl_temporal +STORAGE_BALANCE:n-ts-m-y-lvl_temporal +STORAGE_BALANCE:n-m-y-lvl_temporal +STORAGE_BALANCE:ts-m-lvl_temporal +STORAGE_BALANCE:ts-m-y-lvl_temporal +STORAGE_BALANCE:m-y-lvl_temporal +STORAGE_BALANCE:n-lvl_temporal +STORAGE_BALANCE:n-ts-lvl_temporal +STORAGE_BALANCE:n-ts-y-lvl_temporal +STORAGE_BALANCE:n-y-lvl_temporal +STORAGE_BALANCE:ts-lvl_temporal +STORAGE_BALANCE:ts-y-lvl_temporal +STORAGE_BALANCE:y-lvl_temporal +STORAGE_BALANCE:m +STORAGE_BALANCE:n-m +STORAGE_BALANCE:n-ts-m +STORAGE_BALANCE:n-ts-m-y +STORAGE_BALANCE:n-m-y +STORAGE_BALANCE:ts-m +STORAGE_BALANCE:ts-m-y +STORAGE_BALANCE:m-y +STORAGE_BALANCE:n +STORAGE_BALANCE:n-ts +STORAGE_BALANCE:n-ts-y +STORAGE_BALANCE:n-y +STORAGE_BALANCE:ts +STORAGE_BALANCE:ts-y +STORAGE_BALANCE:y +STORAGE_BALANCE_INIT-margin:n-ts-m-l-c-y-h-h2 +STORAGE_BALANCE_INIT: +STORAGE_BALANCE_INIT:c +STORAGE_BALANCE_INIT:c-h +STORAGE_BALANCE_INIT:c-h-h2 +STORAGE_BALANCE_INIT:l-c-h-h2 +STORAGE_BALANCE_INIT:m-l-c-h-h2 +STORAGE_BALANCE_INIT:n-m-l-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-c-y-h-h2 +STORAGE_BALANCE_INIT:n-m-l-c-y-h-h2 +STORAGE_BALANCE_INIT:ts-m-l-c-h-h2 +STORAGE_BALANCE_INIT:ts-m-l-c-y-h-h2 +STORAGE_BALANCE_INIT:m-l-c-y-h-h2 +STORAGE_BALANCE_INIT:n-l-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-l-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-l-c-y-h-h2 +STORAGE_BALANCE_INIT:n-l-c-y-h-h2 +STORAGE_BALANCE_INIT:ts-l-c-h-h2 +STORAGE_BALANCE_INIT:ts-l-c-y-h-h2 +STORAGE_BALANCE_INIT:l-c-y-h-h2 +STORAGE_BALANCE_INIT:m-c-h-h2 +STORAGE_BALANCE_INIT:n-m-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-c-y-h-h2 +STORAGE_BALANCE_INIT:n-m-c-y-h-h2 +STORAGE_BALANCE_INIT:ts-m-c-h-h2 +STORAGE_BALANCE_INIT:ts-m-c-y-h-h2 +STORAGE_BALANCE_INIT:m-c-y-h-h2 +STORAGE_BALANCE_INIT:n-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-c-h-h2 +STORAGE_BALANCE_INIT:n-ts-c-y-h-h2 +STORAGE_BALANCE_INIT:n-c-y-h-h2 +STORAGE_BALANCE_INIT:ts-c-h-h2 +STORAGE_BALANCE_INIT:ts-c-y-h-h2 +STORAGE_BALANCE_INIT:c-y-h-h2 +STORAGE_BALANCE_INIT:l-c-h +STORAGE_BALANCE_INIT:m-l-c-h +STORAGE_BALANCE_INIT:n-m-l-c-h +STORAGE_BALANCE_INIT:n-ts-m-l-c-h +STORAGE_BALANCE_INIT:n-ts-m-l-c-y-h +STORAGE_BALANCE_INIT:n-m-l-c-y-h +STORAGE_BALANCE_INIT:ts-m-l-c-h +STORAGE_BALANCE_INIT:ts-m-l-c-y-h +STORAGE_BALANCE_INIT:m-l-c-y-h +STORAGE_BALANCE_INIT:n-l-c-h +STORAGE_BALANCE_INIT:n-ts-l-c-h +STORAGE_BALANCE_INIT:n-ts-l-c-y-h +STORAGE_BALANCE_INIT:n-l-c-y-h +STORAGE_BALANCE_INIT:ts-l-c-h +STORAGE_BALANCE_INIT:ts-l-c-y-h +STORAGE_BALANCE_INIT:l-c-y-h +STORAGE_BALANCE_INIT:m-c-h +STORAGE_BALANCE_INIT:n-m-c-h +STORAGE_BALANCE_INIT:n-ts-m-c-h +STORAGE_BALANCE_INIT:n-ts-m-c-y-h +STORAGE_BALANCE_INIT:n-m-c-y-h +STORAGE_BALANCE_INIT:ts-m-c-h +STORAGE_BALANCE_INIT:ts-m-c-y-h +STORAGE_BALANCE_INIT:m-c-y-h +STORAGE_BALANCE_INIT:n-c-h +STORAGE_BALANCE_INIT:n-ts-c-h +STORAGE_BALANCE_INIT:n-ts-c-y-h +STORAGE_BALANCE_INIT:n-c-y-h +STORAGE_BALANCE_INIT:ts-c-h +STORAGE_BALANCE_INIT:ts-c-y-h +STORAGE_BALANCE_INIT:c-y-h +STORAGE_BALANCE_INIT:c-h2 +STORAGE_BALANCE_INIT:l-c-h2 +STORAGE_BALANCE_INIT:m-l-c-h2 +STORAGE_BALANCE_INIT:n-m-l-c-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-c-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-c-y-h2 +STORAGE_BALANCE_INIT:n-m-l-c-y-h2 +STORAGE_BALANCE_INIT:ts-m-l-c-h2 +STORAGE_BALANCE_INIT:ts-m-l-c-y-h2 +STORAGE_BALANCE_INIT:m-l-c-y-h2 +STORAGE_BALANCE_INIT:n-l-c-h2 +STORAGE_BALANCE_INIT:n-ts-l-c-h2 +STORAGE_BALANCE_INIT:n-ts-l-c-y-h2 +STORAGE_BALANCE_INIT:n-l-c-y-h2 +STORAGE_BALANCE_INIT:ts-l-c-h2 +STORAGE_BALANCE_INIT:ts-l-c-y-h2 +STORAGE_BALANCE_INIT:l-c-y-h2 +STORAGE_BALANCE_INIT:m-c-h2 +STORAGE_BALANCE_INIT:n-m-c-h2 +STORAGE_BALANCE_INIT:n-ts-m-c-h2 +STORAGE_BALANCE_INIT:n-ts-m-c-y-h2 +STORAGE_BALANCE_INIT:n-m-c-y-h2 +STORAGE_BALANCE_INIT:ts-m-c-h2 +STORAGE_BALANCE_INIT:ts-m-c-y-h2 +STORAGE_BALANCE_INIT:m-c-y-h2 +STORAGE_BALANCE_INIT:n-c-h2 +STORAGE_BALANCE_INIT:n-ts-c-h2 +STORAGE_BALANCE_INIT:n-ts-c-y-h2 +STORAGE_BALANCE_INIT:n-c-y-h2 +STORAGE_BALANCE_INIT:ts-c-h2 +STORAGE_BALANCE_INIT:ts-c-y-h2 +STORAGE_BALANCE_INIT:c-y-h2 +STORAGE_BALANCE_INIT:l-c +STORAGE_BALANCE_INIT:m-l-c +STORAGE_BALANCE_INIT:n-m-l-c +STORAGE_BALANCE_INIT:n-ts-m-l-c +STORAGE_BALANCE_INIT:n-ts-m-l-c-y +STORAGE_BALANCE_INIT:n-m-l-c-y +STORAGE_BALANCE_INIT:ts-m-l-c +STORAGE_BALANCE_INIT:ts-m-l-c-y +STORAGE_BALANCE_INIT:m-l-c-y +STORAGE_BALANCE_INIT:n-l-c +STORAGE_BALANCE_INIT:n-ts-l-c +STORAGE_BALANCE_INIT:n-ts-l-c-y +STORAGE_BALANCE_INIT:n-l-c-y +STORAGE_BALANCE_INIT:ts-l-c +STORAGE_BALANCE_INIT:ts-l-c-y +STORAGE_BALANCE_INIT:l-c-y +STORAGE_BALANCE_INIT:m-c +STORAGE_BALANCE_INIT:n-m-c +STORAGE_BALANCE_INIT:n-ts-m-c +STORAGE_BALANCE_INIT:n-ts-m-c-y +STORAGE_BALANCE_INIT:n-m-c-y +STORAGE_BALANCE_INIT:ts-m-c +STORAGE_BALANCE_INIT:ts-m-c-y +STORAGE_BALANCE_INIT:m-c-y +STORAGE_BALANCE_INIT:n-c +STORAGE_BALANCE_INIT:n-ts-c +STORAGE_BALANCE_INIT:n-ts-c-y +STORAGE_BALANCE_INIT:n-c-y +STORAGE_BALANCE_INIT:ts-c +STORAGE_BALANCE_INIT:ts-c-y +STORAGE_BALANCE_INIT:c-y +STORAGE_BALANCE_INIT:h +STORAGE_BALANCE_INIT:h-h2 +STORAGE_BALANCE_INIT:l-h-h2 +STORAGE_BALANCE_INIT:m-l-h-h2 +STORAGE_BALANCE_INIT:n-m-l-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-y-h-h2 +STORAGE_BALANCE_INIT:n-m-l-y-h-h2 +STORAGE_BALANCE_INIT:ts-m-l-h-h2 +STORAGE_BALANCE_INIT:ts-m-l-y-h-h2 +STORAGE_BALANCE_INIT:m-l-y-h-h2 +STORAGE_BALANCE_INIT:n-l-h-h2 +STORAGE_BALANCE_INIT:n-ts-l-h-h2 +STORAGE_BALANCE_INIT:n-ts-l-y-h-h2 +STORAGE_BALANCE_INIT:n-l-y-h-h2 +STORAGE_BALANCE_INIT:ts-l-h-h2 +STORAGE_BALANCE_INIT:ts-l-y-h-h2 +STORAGE_BALANCE_INIT:l-y-h-h2 +STORAGE_BALANCE_INIT:m-h-h2 +STORAGE_BALANCE_INIT:n-m-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-h-h2 +STORAGE_BALANCE_INIT:n-ts-m-y-h-h2 +STORAGE_BALANCE_INIT:n-m-y-h-h2 +STORAGE_BALANCE_INIT:ts-m-h-h2 +STORAGE_BALANCE_INIT:ts-m-y-h-h2 +STORAGE_BALANCE_INIT:m-y-h-h2 +STORAGE_BALANCE_INIT:n-h-h2 +STORAGE_BALANCE_INIT:n-ts-h-h2 +STORAGE_BALANCE_INIT:n-ts-y-h-h2 +STORAGE_BALANCE_INIT:n-y-h-h2 +STORAGE_BALANCE_INIT:ts-h-h2 +STORAGE_BALANCE_INIT:ts-y-h-h2 +STORAGE_BALANCE_INIT:y-h-h2 +STORAGE_BALANCE_INIT:l-h +STORAGE_BALANCE_INIT:m-l-h +STORAGE_BALANCE_INIT:n-m-l-h +STORAGE_BALANCE_INIT:n-ts-m-l-h +STORAGE_BALANCE_INIT:n-ts-m-l-y-h +STORAGE_BALANCE_INIT:n-m-l-y-h +STORAGE_BALANCE_INIT:ts-m-l-h +STORAGE_BALANCE_INIT:ts-m-l-y-h +STORAGE_BALANCE_INIT:m-l-y-h +STORAGE_BALANCE_INIT:n-l-h +STORAGE_BALANCE_INIT:n-ts-l-h +STORAGE_BALANCE_INIT:n-ts-l-y-h +STORAGE_BALANCE_INIT:n-l-y-h +STORAGE_BALANCE_INIT:ts-l-h +STORAGE_BALANCE_INIT:ts-l-y-h +STORAGE_BALANCE_INIT:l-y-h +STORAGE_BALANCE_INIT:m-h +STORAGE_BALANCE_INIT:n-m-h +STORAGE_BALANCE_INIT:n-ts-m-h +STORAGE_BALANCE_INIT:n-ts-m-y-h +STORAGE_BALANCE_INIT:n-m-y-h +STORAGE_BALANCE_INIT:ts-m-h +STORAGE_BALANCE_INIT:ts-m-y-h +STORAGE_BALANCE_INIT:m-y-h +STORAGE_BALANCE_INIT:n-h +STORAGE_BALANCE_INIT:n-ts-h +STORAGE_BALANCE_INIT:n-ts-y-h +STORAGE_BALANCE_INIT:n-y-h +STORAGE_BALANCE_INIT:ts-h +STORAGE_BALANCE_INIT:ts-y-h +STORAGE_BALANCE_INIT:y-h +STORAGE_BALANCE_INIT:h2 +STORAGE_BALANCE_INIT:l-h2 +STORAGE_BALANCE_INIT:m-l-h2 +STORAGE_BALANCE_INIT:n-m-l-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-h2 +STORAGE_BALANCE_INIT:n-ts-m-l-y-h2 +STORAGE_BALANCE_INIT:n-m-l-y-h2 +STORAGE_BALANCE_INIT:ts-m-l-h2 +STORAGE_BALANCE_INIT:ts-m-l-y-h2 +STORAGE_BALANCE_INIT:m-l-y-h2 +STORAGE_BALANCE_INIT:n-l-h2 +STORAGE_BALANCE_INIT:n-ts-l-h2 +STORAGE_BALANCE_INIT:n-ts-l-y-h2 +STORAGE_BALANCE_INIT:n-l-y-h2 +STORAGE_BALANCE_INIT:ts-l-h2 +STORAGE_BALANCE_INIT:ts-l-y-h2 +STORAGE_BALANCE_INIT:l-y-h2 +STORAGE_BALANCE_INIT:m-h2 +STORAGE_BALANCE_INIT:n-m-h2 +STORAGE_BALANCE_INIT:n-ts-m-h2 +STORAGE_BALANCE_INIT:n-ts-m-y-h2 +STORAGE_BALANCE_INIT:n-m-y-h2 +STORAGE_BALANCE_INIT:ts-m-h2 +STORAGE_BALANCE_INIT:ts-m-y-h2 +STORAGE_BALANCE_INIT:m-y-h2 +STORAGE_BALANCE_INIT:n-h2 +STORAGE_BALANCE_INIT:n-ts-h2 +STORAGE_BALANCE_INIT:n-ts-y-h2 +STORAGE_BALANCE_INIT:n-y-h2 +STORAGE_BALANCE_INIT:ts-h2 +STORAGE_BALANCE_INIT:ts-y-h2 +STORAGE_BALANCE_INIT:y-h2 +STORAGE_BALANCE_INIT:l +STORAGE_BALANCE_INIT:m-l +STORAGE_BALANCE_INIT:n-m-l +STORAGE_BALANCE_INIT:n-ts-m-l +STORAGE_BALANCE_INIT:n-ts-m-l-y +STORAGE_BALANCE_INIT:n-m-l-y +STORAGE_BALANCE_INIT:ts-m-l +STORAGE_BALANCE_INIT:ts-m-l-y +STORAGE_BALANCE_INIT:m-l-y +STORAGE_BALANCE_INIT:n-l +STORAGE_BALANCE_INIT:n-ts-l +STORAGE_BALANCE_INIT:n-ts-l-y +STORAGE_BALANCE_INIT:n-l-y +STORAGE_BALANCE_INIT:ts-l +STORAGE_BALANCE_INIT:ts-l-y +STORAGE_BALANCE_INIT:l-y +STORAGE_BALANCE_INIT:m +STORAGE_BALANCE_INIT:n-m +STORAGE_BALANCE_INIT:n-ts-m +STORAGE_BALANCE_INIT:n-ts-m-y +STORAGE_BALANCE_INIT:n-m-y +STORAGE_BALANCE_INIT:ts-m +STORAGE_BALANCE_INIT:ts-m-y +STORAGE_BALANCE_INIT:m-y +STORAGE_BALANCE_INIT:n +STORAGE_BALANCE_INIT:n-ts +STORAGE_BALANCE_INIT:n-ts-y +STORAGE_BALANCE_INIT:n-y +STORAGE_BALANCE_INIT:ts +STORAGE_BALANCE_INIT:ts-y +STORAGE_BALANCE_INIT:y +STORAGE_CHANGE-margin:n-ts-m-level_storage-c-y-h +STORAGE_CHANGE: +STORAGE_CHANGE:c +STORAGE_CHANGE:c-h +STORAGE_CHANGE:level_storage-c-h +STORAGE_CHANGE:m-level_storage-c-h +STORAGE_CHANGE:n-m-level_storage-c-h +STORAGE_CHANGE:n-ts-m-level_storage-c-h +STORAGE_CHANGE:n-ts-m-level_storage-c-y-h +STORAGE_CHANGE:n-m-level_storage-c-y-h +STORAGE_CHANGE:ts-m-level_storage-c-h +STORAGE_CHANGE:ts-m-level_storage-c-y-h +STORAGE_CHANGE:m-level_storage-c-y-h +STORAGE_CHANGE:n-level_storage-c-h +STORAGE_CHANGE:n-ts-level_storage-c-h +STORAGE_CHANGE:n-ts-level_storage-c-y-h +STORAGE_CHANGE:n-level_storage-c-y-h +STORAGE_CHANGE:ts-level_storage-c-h +STORAGE_CHANGE:ts-level_storage-c-y-h +STORAGE_CHANGE:level_storage-c-y-h +STORAGE_CHANGE:m-c-h +STORAGE_CHANGE:n-m-c-h +STORAGE_CHANGE:n-ts-m-c-h +STORAGE_CHANGE:n-ts-m-c-y-h +STORAGE_CHANGE:n-m-c-y-h +STORAGE_CHANGE:ts-m-c-h +STORAGE_CHANGE:ts-m-c-y-h +STORAGE_CHANGE:m-c-y-h +STORAGE_CHANGE:n-c-h +STORAGE_CHANGE:n-ts-c-h +STORAGE_CHANGE:n-ts-c-y-h +STORAGE_CHANGE:n-c-y-h +STORAGE_CHANGE:ts-c-h +STORAGE_CHANGE:ts-c-y-h +STORAGE_CHANGE:c-y-h +STORAGE_CHANGE:level_storage-c +STORAGE_CHANGE:m-level_storage-c +STORAGE_CHANGE:n-m-level_storage-c +STORAGE_CHANGE:n-ts-m-level_storage-c +STORAGE_CHANGE:n-ts-m-level_storage-c-y +STORAGE_CHANGE:n-m-level_storage-c-y +STORAGE_CHANGE:ts-m-level_storage-c +STORAGE_CHANGE:ts-m-level_storage-c-y +STORAGE_CHANGE:m-level_storage-c-y +STORAGE_CHANGE:n-level_storage-c +STORAGE_CHANGE:n-ts-level_storage-c +STORAGE_CHANGE:n-ts-level_storage-c-y +STORAGE_CHANGE:n-level_storage-c-y +STORAGE_CHANGE:ts-level_storage-c +STORAGE_CHANGE:ts-level_storage-c-y +STORAGE_CHANGE:level_storage-c-y +STORAGE_CHANGE:m-c +STORAGE_CHANGE:n-m-c +STORAGE_CHANGE:n-ts-m-c +STORAGE_CHANGE:n-ts-m-c-y +STORAGE_CHANGE:n-m-c-y +STORAGE_CHANGE:ts-m-c +STORAGE_CHANGE:ts-m-c-y +STORAGE_CHANGE:m-c-y +STORAGE_CHANGE:n-c +STORAGE_CHANGE:n-ts-c +STORAGE_CHANGE:n-ts-c-y +STORAGE_CHANGE:n-c-y +STORAGE_CHANGE:ts-c +STORAGE_CHANGE:ts-c-y +STORAGE_CHANGE:c-y +STORAGE_CHANGE:h +STORAGE_CHANGE:level_storage-h +STORAGE_CHANGE:m-level_storage-h +STORAGE_CHANGE:n-m-level_storage-h +STORAGE_CHANGE:n-ts-m-level_storage-h +STORAGE_CHANGE:n-ts-m-level_storage-y-h +STORAGE_CHANGE:n-m-level_storage-y-h +STORAGE_CHANGE:ts-m-level_storage-h +STORAGE_CHANGE:ts-m-level_storage-y-h +STORAGE_CHANGE:m-level_storage-y-h +STORAGE_CHANGE:n-level_storage-h +STORAGE_CHANGE:n-ts-level_storage-h +STORAGE_CHANGE:n-ts-level_storage-y-h +STORAGE_CHANGE:n-level_storage-y-h +STORAGE_CHANGE:ts-level_storage-h +STORAGE_CHANGE:ts-level_storage-y-h +STORAGE_CHANGE:level_storage-y-h +STORAGE_CHANGE:m-h +STORAGE_CHANGE:n-m-h +STORAGE_CHANGE:n-ts-m-h +STORAGE_CHANGE:n-ts-m-y-h +STORAGE_CHANGE:n-m-y-h +STORAGE_CHANGE:ts-m-h +STORAGE_CHANGE:ts-m-y-h +STORAGE_CHANGE:m-y-h +STORAGE_CHANGE:n-h +STORAGE_CHANGE:n-ts-h +STORAGE_CHANGE:n-ts-y-h +STORAGE_CHANGE:n-y-h +STORAGE_CHANGE:ts-h +STORAGE_CHANGE:ts-y-h +STORAGE_CHANGE:y-h +STORAGE_CHANGE:level_storage +STORAGE_CHANGE:m-level_storage +STORAGE_CHANGE:n-m-level_storage +STORAGE_CHANGE:n-ts-m-level_storage +STORAGE_CHANGE:n-ts-m-level_storage-y +STORAGE_CHANGE:n-m-level_storage-y +STORAGE_CHANGE:ts-m-level_storage +STORAGE_CHANGE:ts-m-level_storage-y +STORAGE_CHANGE:m-level_storage-y +STORAGE_CHANGE:n-level_storage +STORAGE_CHANGE:n-ts-level_storage +STORAGE_CHANGE:n-ts-level_storage-y +STORAGE_CHANGE:n-level_storage-y +STORAGE_CHANGE:ts-level_storage +STORAGE_CHANGE:ts-level_storage-y +STORAGE_CHANGE:level_storage-y +STORAGE_CHANGE:m +STORAGE_CHANGE:n-m +STORAGE_CHANGE:n-ts-m +STORAGE_CHANGE:n-ts-m-y +STORAGE_CHANGE:n-m-y +STORAGE_CHANGE:ts-m +STORAGE_CHANGE:ts-m-y +STORAGE_CHANGE:m-y +STORAGE_CHANGE:n +STORAGE_CHANGE:n-ts +STORAGE_CHANGE:n-ts-y +STORAGE_CHANGE:n-y +STORAGE_CHANGE:ts +STORAGE_CHANGE:ts-y +STORAGE_CHANGE:y +STORAGE_CHARGE: +STORAGE_CHARGE:c +STORAGE_CHARGE:c-h +STORAGE_CHARGE:l-c-h +STORAGE_CHARGE:m-l-c-h +STORAGE_CHARGE:n-m-l-c-h +STORAGE_CHARGE:n-t-m-l-c-h +STORAGE_CHARGE:n-t-m-l-c-y-h +STORAGE_CHARGE:n-m-l-c-y-h +STORAGE_CHARGE:t-m-l-c-h +STORAGE_CHARGE:t-m-l-c-y-h +STORAGE_CHARGE:m-l-c-y-h +STORAGE_CHARGE:n-l-c-h +STORAGE_CHARGE:n-t-l-c-h +STORAGE_CHARGE:n-t-l-c-y-h +STORAGE_CHARGE:n-l-c-y-h +STORAGE_CHARGE:t-l-c-h +STORAGE_CHARGE:t-l-c-y-h +STORAGE_CHARGE:l-c-y-h +STORAGE_CHARGE:m-c-h +STORAGE_CHARGE:n-m-c-h +STORAGE_CHARGE:n-t-m-c-h +STORAGE_CHARGE:n-t-m-c-y-h +STORAGE_CHARGE:n-m-c-y-h +STORAGE_CHARGE:t-m-c-h +STORAGE_CHARGE:t-m-c-y-h +STORAGE_CHARGE:m-c-y-h +STORAGE_CHARGE:n-c-h +STORAGE_CHARGE:n-t-c-h +STORAGE_CHARGE:n-t-c-y-h +STORAGE_CHARGE:n-c-y-h +STORAGE_CHARGE:t-c-h +STORAGE_CHARGE:t-c-y-h +STORAGE_CHARGE:c-y-h +STORAGE_CHARGE:l-c +STORAGE_CHARGE:m-l-c +STORAGE_CHARGE:n-m-l-c +STORAGE_CHARGE:n-t-m-l-c +STORAGE_CHARGE:n-t-m-l-c-y +STORAGE_CHARGE:n-m-l-c-y +STORAGE_CHARGE:t-m-l-c +STORAGE_CHARGE:t-m-l-c-y +STORAGE_CHARGE:m-l-c-y +STORAGE_CHARGE:n-l-c +STORAGE_CHARGE:n-t-l-c +STORAGE_CHARGE:n-t-l-c-y +STORAGE_CHARGE:n-l-c-y +STORAGE_CHARGE:t-l-c +STORAGE_CHARGE:t-l-c-y +STORAGE_CHARGE:l-c-y +STORAGE_CHARGE:m-c +STORAGE_CHARGE:n-m-c +STORAGE_CHARGE:n-t-m-c +STORAGE_CHARGE:n-t-m-c-y +STORAGE_CHARGE:n-m-c-y +STORAGE_CHARGE:t-m-c +STORAGE_CHARGE:t-m-c-y +STORAGE_CHARGE:m-c-y +STORAGE_CHARGE:n-c +STORAGE_CHARGE:n-t-c +STORAGE_CHARGE:n-t-c-y +STORAGE_CHARGE:n-c-y +STORAGE_CHARGE:t-c +STORAGE_CHARGE:t-c-y +STORAGE_CHARGE:c-y +STORAGE_CHARGE:h +STORAGE_CHARGE:l-h +STORAGE_CHARGE:m-l-h +STORAGE_CHARGE:n-m-l-h +STORAGE_CHARGE:n-t-m-l-h +STORAGE_CHARGE:n-t-m-l-y-h +STORAGE_CHARGE:n-m-l-y-h +STORAGE_CHARGE:t-m-l-h +STORAGE_CHARGE:t-m-l-y-h +STORAGE_CHARGE:m-l-y-h +STORAGE_CHARGE:n-l-h +STORAGE_CHARGE:n-t-l-h +STORAGE_CHARGE:n-t-l-y-h +STORAGE_CHARGE:n-l-y-h +STORAGE_CHARGE:t-l-h +STORAGE_CHARGE:t-l-y-h +STORAGE_CHARGE:l-y-h +STORAGE_CHARGE:m-h +STORAGE_CHARGE:n-m-h +STORAGE_CHARGE:n-t-m-h +STORAGE_CHARGE:n-t-m-y-h +STORAGE_CHARGE:n-m-y-h +STORAGE_CHARGE:t-m-h +STORAGE_CHARGE:t-m-y-h +STORAGE_CHARGE:m-y-h +STORAGE_CHARGE:n-h +STORAGE_CHARGE:n-t-h +STORAGE_CHARGE:n-t-y-h +STORAGE_CHARGE:n-y-h +STORAGE_CHARGE:t-h +STORAGE_CHARGE:t-y-h +STORAGE_CHARGE:y-h +STORAGE_CHARGE:l +STORAGE_CHARGE:m-l +STORAGE_CHARGE:n-m-l +STORAGE_CHARGE:n-t-m-l +STORAGE_CHARGE:n-t-m-l-y +STORAGE_CHARGE:n-m-l-y +STORAGE_CHARGE:t-m-l +STORAGE_CHARGE:t-m-l-y +STORAGE_CHARGE:m-l-y +STORAGE_CHARGE:n-l +STORAGE_CHARGE:n-t-l +STORAGE_CHARGE:n-t-l-y +STORAGE_CHARGE:n-l-y +STORAGE_CHARGE:t-l +STORAGE_CHARGE:t-l-y +STORAGE_CHARGE:l-y +STORAGE_CHARGE:m +STORAGE_CHARGE:n-m +STORAGE_CHARGE:n-t-m +STORAGE_CHARGE:n-t-m-y +STORAGE_CHARGE:n-m-y +STORAGE_CHARGE:t-m +STORAGE_CHARGE:t-m-y +STORAGE_CHARGE:m-y +STORAGE_CHARGE:n +STORAGE_CHARGE:n-t +STORAGE_CHARGE:n-t-y +STORAGE_CHARGE:n-y +STORAGE_CHARGE:t +STORAGE_CHARGE:t-y +STORAGE_CHARGE:y +STORAGE_INPUT-margin:n-ts-l-c-level_storage-c2-m-y-h +STORAGE_INPUT: +STORAGE_INPUT:c +STORAGE_INPUT:c-c2 +STORAGE_INPUT:c-c2-h +STORAGE_INPUT:l-c-c2-h +STORAGE_INPUT:l-c-level_storage-c2-h +STORAGE_INPUT:l-c-level_storage-c2-m-h +STORAGE_INPUT:n-l-c-level_storage-c2-m-h +STORAGE_INPUT:n-ts-l-c-level_storage-c2-m-h +STORAGE_INPUT:n-ts-l-c-level_storage-c2-m-y-h +STORAGE_INPUT:n-l-c-level_storage-c2-m-y-h +STORAGE_INPUT:ts-l-c-level_storage-c2-m-h +STORAGE_INPUT:ts-l-c-level_storage-c2-m-y-h +STORAGE_INPUT:l-c-level_storage-c2-m-y-h +STORAGE_INPUT:n-l-c-level_storage-c2-h +STORAGE_INPUT:n-ts-l-c-level_storage-c2-h +STORAGE_INPUT:n-ts-l-c-level_storage-c2-y-h +STORAGE_INPUT:n-l-c-level_storage-c2-y-h +STORAGE_INPUT:ts-l-c-level_storage-c2-h +STORAGE_INPUT:ts-l-c-level_storage-c2-y-h +STORAGE_INPUT:l-c-level_storage-c2-y-h +STORAGE_INPUT:l-c-c2-m-h +STORAGE_INPUT:n-l-c-c2-m-h +STORAGE_INPUT:n-ts-l-c-c2-m-h +STORAGE_INPUT:n-ts-l-c-c2-m-y-h +STORAGE_INPUT:n-l-c-c2-m-y-h +STORAGE_INPUT:ts-l-c-c2-m-h +STORAGE_INPUT:ts-l-c-c2-m-y-h +STORAGE_INPUT:l-c-c2-m-y-h +STORAGE_INPUT:n-l-c-c2-h +STORAGE_INPUT:n-ts-l-c-c2-h +STORAGE_INPUT:n-ts-l-c-c2-y-h +STORAGE_INPUT:n-l-c-c2-y-h +STORAGE_INPUT:ts-l-c-c2-h +STORAGE_INPUT:ts-l-c-c2-y-h +STORAGE_INPUT:l-c-c2-y-h +STORAGE_INPUT:c-level_storage-c2-h +STORAGE_INPUT:c-level_storage-c2-m-h +STORAGE_INPUT:n-c-level_storage-c2-m-h +STORAGE_INPUT:n-ts-c-level_storage-c2-m-h +STORAGE_INPUT:n-ts-c-level_storage-c2-m-y-h +STORAGE_INPUT:n-c-level_storage-c2-m-y-h +STORAGE_INPUT:ts-c-level_storage-c2-m-h +STORAGE_INPUT:ts-c-level_storage-c2-m-y-h +STORAGE_INPUT:c-level_storage-c2-m-y-h +STORAGE_INPUT:n-c-level_storage-c2-h +STORAGE_INPUT:n-ts-c-level_storage-c2-h +STORAGE_INPUT:n-ts-c-level_storage-c2-y-h +STORAGE_INPUT:n-c-level_storage-c2-y-h +STORAGE_INPUT:ts-c-level_storage-c2-h +STORAGE_INPUT:ts-c-level_storage-c2-y-h +STORAGE_INPUT:c-level_storage-c2-y-h +STORAGE_INPUT:c-c2-m-h +STORAGE_INPUT:n-c-c2-m-h +STORAGE_INPUT:n-ts-c-c2-m-h +STORAGE_INPUT:n-ts-c-c2-m-y-h +STORAGE_INPUT:n-c-c2-m-y-h +STORAGE_INPUT:ts-c-c2-m-h +STORAGE_INPUT:ts-c-c2-m-y-h +STORAGE_INPUT:c-c2-m-y-h +STORAGE_INPUT:n-c-c2-h +STORAGE_INPUT:n-ts-c-c2-h +STORAGE_INPUT:n-ts-c-c2-y-h +STORAGE_INPUT:n-c-c2-y-h +STORAGE_INPUT:ts-c-c2-h +STORAGE_INPUT:ts-c-c2-y-h +STORAGE_INPUT:c-c2-y-h +STORAGE_INPUT:l-c-c2 +STORAGE_INPUT:l-c-level_storage-c2 +STORAGE_INPUT:l-c-level_storage-c2-m +STORAGE_INPUT:n-l-c-level_storage-c2-m +STORAGE_INPUT:n-ts-l-c-level_storage-c2-m +STORAGE_INPUT:n-ts-l-c-level_storage-c2-m-y +STORAGE_INPUT:n-l-c-level_storage-c2-m-y +STORAGE_INPUT:ts-l-c-level_storage-c2-m +STORAGE_INPUT:ts-l-c-level_storage-c2-m-y +STORAGE_INPUT:l-c-level_storage-c2-m-y +STORAGE_INPUT:n-l-c-level_storage-c2 +STORAGE_INPUT:n-ts-l-c-level_storage-c2 +STORAGE_INPUT:n-ts-l-c-level_storage-c2-y +STORAGE_INPUT:n-l-c-level_storage-c2-y +STORAGE_INPUT:ts-l-c-level_storage-c2 +STORAGE_INPUT:ts-l-c-level_storage-c2-y +STORAGE_INPUT:l-c-level_storage-c2-y +STORAGE_INPUT:l-c-c2-m +STORAGE_INPUT:n-l-c-c2-m +STORAGE_INPUT:n-ts-l-c-c2-m +STORAGE_INPUT:n-ts-l-c-c2-m-y +STORAGE_INPUT:n-l-c-c2-m-y +STORAGE_INPUT:ts-l-c-c2-m +STORAGE_INPUT:ts-l-c-c2-m-y +STORAGE_INPUT:l-c-c2-m-y +STORAGE_INPUT:n-l-c-c2 +STORAGE_INPUT:n-ts-l-c-c2 +STORAGE_INPUT:n-ts-l-c-c2-y +STORAGE_INPUT:n-l-c-c2-y +STORAGE_INPUT:ts-l-c-c2 +STORAGE_INPUT:ts-l-c-c2-y +STORAGE_INPUT:l-c-c2-y +STORAGE_INPUT:c-level_storage-c2 +STORAGE_INPUT:c-level_storage-c2-m +STORAGE_INPUT:n-c-level_storage-c2-m +STORAGE_INPUT:n-ts-c-level_storage-c2-m +STORAGE_INPUT:n-ts-c-level_storage-c2-m-y +STORAGE_INPUT:n-c-level_storage-c2-m-y +STORAGE_INPUT:ts-c-level_storage-c2-m +STORAGE_INPUT:ts-c-level_storage-c2-m-y +STORAGE_INPUT:c-level_storage-c2-m-y +STORAGE_INPUT:n-c-level_storage-c2 +STORAGE_INPUT:n-ts-c-level_storage-c2 +STORAGE_INPUT:n-ts-c-level_storage-c2-y +STORAGE_INPUT:n-c-level_storage-c2-y +STORAGE_INPUT:ts-c-level_storage-c2 +STORAGE_INPUT:ts-c-level_storage-c2-y +STORAGE_INPUT:c-level_storage-c2-y +STORAGE_INPUT:c-c2-m +STORAGE_INPUT:n-c-c2-m +STORAGE_INPUT:n-ts-c-c2-m +STORAGE_INPUT:n-ts-c-c2-m-y +STORAGE_INPUT:n-c-c2-m-y +STORAGE_INPUT:ts-c-c2-m +STORAGE_INPUT:ts-c-c2-m-y +STORAGE_INPUT:c-c2-m-y +STORAGE_INPUT:n-c-c2 +STORAGE_INPUT:n-ts-c-c2 +STORAGE_INPUT:n-ts-c-c2-y +STORAGE_INPUT:n-c-c2-y +STORAGE_INPUT:ts-c-c2 +STORAGE_INPUT:ts-c-c2-y +STORAGE_INPUT:c-c2-y +STORAGE_INPUT:c-h +STORAGE_INPUT:l-c-h +STORAGE_INPUT:l-c-level_storage-h +STORAGE_INPUT:l-c-level_storage-m-h +STORAGE_INPUT:n-l-c-level_storage-m-h +STORAGE_INPUT:n-ts-l-c-level_storage-m-h +STORAGE_INPUT:n-ts-l-c-level_storage-m-y-h +STORAGE_INPUT:n-l-c-level_storage-m-y-h +STORAGE_INPUT:ts-l-c-level_storage-m-h +STORAGE_INPUT:ts-l-c-level_storage-m-y-h +STORAGE_INPUT:l-c-level_storage-m-y-h +STORAGE_INPUT:n-l-c-level_storage-h +STORAGE_INPUT:n-ts-l-c-level_storage-h +STORAGE_INPUT:n-ts-l-c-level_storage-y-h +STORAGE_INPUT:n-l-c-level_storage-y-h +STORAGE_INPUT:ts-l-c-level_storage-h +STORAGE_INPUT:ts-l-c-level_storage-y-h +STORAGE_INPUT:l-c-level_storage-y-h +STORAGE_INPUT:l-c-m-h +STORAGE_INPUT:n-l-c-m-h +STORAGE_INPUT:n-ts-l-c-m-h +STORAGE_INPUT:n-ts-l-c-m-y-h +STORAGE_INPUT:n-l-c-m-y-h +STORAGE_INPUT:ts-l-c-m-h +STORAGE_INPUT:ts-l-c-m-y-h +STORAGE_INPUT:l-c-m-y-h +STORAGE_INPUT:n-l-c-h +STORAGE_INPUT:n-ts-l-c-h +STORAGE_INPUT:n-ts-l-c-y-h +STORAGE_INPUT:n-l-c-y-h +STORAGE_INPUT:ts-l-c-h +STORAGE_INPUT:ts-l-c-y-h +STORAGE_INPUT:l-c-y-h +STORAGE_INPUT:c-level_storage-h +STORAGE_INPUT:c-level_storage-m-h +STORAGE_INPUT:n-c-level_storage-m-h +STORAGE_INPUT:n-ts-c-level_storage-m-h +STORAGE_INPUT:n-ts-c-level_storage-m-y-h +STORAGE_INPUT:n-c-level_storage-m-y-h +STORAGE_INPUT:ts-c-level_storage-m-h +STORAGE_INPUT:ts-c-level_storage-m-y-h +STORAGE_INPUT:c-level_storage-m-y-h +STORAGE_INPUT:n-c-level_storage-h +STORAGE_INPUT:n-ts-c-level_storage-h +STORAGE_INPUT:n-ts-c-level_storage-y-h +STORAGE_INPUT:n-c-level_storage-y-h +STORAGE_INPUT:ts-c-level_storage-h +STORAGE_INPUT:ts-c-level_storage-y-h +STORAGE_INPUT:c-level_storage-y-h +STORAGE_INPUT:c-m-h +STORAGE_INPUT:n-c-m-h +STORAGE_INPUT:n-ts-c-m-h +STORAGE_INPUT:n-ts-c-m-y-h +STORAGE_INPUT:n-c-m-y-h +STORAGE_INPUT:ts-c-m-h +STORAGE_INPUT:ts-c-m-y-h +STORAGE_INPUT:c-m-y-h +STORAGE_INPUT:n-c-h +STORAGE_INPUT:n-ts-c-h +STORAGE_INPUT:n-ts-c-y-h +STORAGE_INPUT:n-c-y-h +STORAGE_INPUT:ts-c-h +STORAGE_INPUT:ts-c-y-h +STORAGE_INPUT:c-y-h +STORAGE_INPUT:l-c +STORAGE_INPUT:l-c-level_storage +STORAGE_INPUT:l-c-level_storage-m +STORAGE_INPUT:n-l-c-level_storage-m +STORAGE_INPUT:n-ts-l-c-level_storage-m +STORAGE_INPUT:n-ts-l-c-level_storage-m-y +STORAGE_INPUT:n-l-c-level_storage-m-y +STORAGE_INPUT:ts-l-c-level_storage-m +STORAGE_INPUT:ts-l-c-level_storage-m-y +STORAGE_INPUT:l-c-level_storage-m-y +STORAGE_INPUT:n-l-c-level_storage +STORAGE_INPUT:n-ts-l-c-level_storage +STORAGE_INPUT:n-ts-l-c-level_storage-y +STORAGE_INPUT:n-l-c-level_storage-y +STORAGE_INPUT:ts-l-c-level_storage +STORAGE_INPUT:ts-l-c-level_storage-y +STORAGE_INPUT:l-c-level_storage-y +STORAGE_INPUT:l-c-m +STORAGE_INPUT:n-l-c-m +STORAGE_INPUT:n-ts-l-c-m +STORAGE_INPUT:n-ts-l-c-m-y +STORAGE_INPUT:n-l-c-m-y +STORAGE_INPUT:ts-l-c-m +STORAGE_INPUT:ts-l-c-m-y +STORAGE_INPUT:l-c-m-y +STORAGE_INPUT:n-l-c +STORAGE_INPUT:n-ts-l-c +STORAGE_INPUT:n-ts-l-c-y +STORAGE_INPUT:n-l-c-y +STORAGE_INPUT:ts-l-c +STORAGE_INPUT:ts-l-c-y +STORAGE_INPUT:l-c-y +STORAGE_INPUT:c-level_storage +STORAGE_INPUT:c-level_storage-m +STORAGE_INPUT:n-c-level_storage-m +STORAGE_INPUT:n-ts-c-level_storage-m +STORAGE_INPUT:n-ts-c-level_storage-m-y +STORAGE_INPUT:n-c-level_storage-m-y +STORAGE_INPUT:ts-c-level_storage-m +STORAGE_INPUT:ts-c-level_storage-m-y +STORAGE_INPUT:c-level_storage-m-y +STORAGE_INPUT:n-c-level_storage +STORAGE_INPUT:n-ts-c-level_storage +STORAGE_INPUT:n-ts-c-level_storage-y +STORAGE_INPUT:n-c-level_storage-y +STORAGE_INPUT:ts-c-level_storage +STORAGE_INPUT:ts-c-level_storage-y +STORAGE_INPUT:c-level_storage-y +STORAGE_INPUT:c-m +STORAGE_INPUT:n-c-m +STORAGE_INPUT:n-ts-c-m +STORAGE_INPUT:n-ts-c-m-y +STORAGE_INPUT:n-c-m-y +STORAGE_INPUT:ts-c-m +STORAGE_INPUT:ts-c-m-y +STORAGE_INPUT:c-m-y +STORAGE_INPUT:n-c +STORAGE_INPUT:n-ts-c +STORAGE_INPUT:n-ts-c-y +STORAGE_INPUT:n-c-y +STORAGE_INPUT:ts-c +STORAGE_INPUT:ts-c-y +STORAGE_INPUT:c-y +STORAGE_INPUT:c2 +STORAGE_INPUT:c2-h +STORAGE_INPUT:l-c2-h +STORAGE_INPUT:l-level_storage-c2-h +STORAGE_INPUT:l-level_storage-c2-m-h +STORAGE_INPUT:n-l-level_storage-c2-m-h +STORAGE_INPUT:n-ts-l-level_storage-c2-m-h +STORAGE_INPUT:n-ts-l-level_storage-c2-m-y-h +STORAGE_INPUT:n-l-level_storage-c2-m-y-h +STORAGE_INPUT:ts-l-level_storage-c2-m-h +STORAGE_INPUT:ts-l-level_storage-c2-m-y-h +STORAGE_INPUT:l-level_storage-c2-m-y-h +STORAGE_INPUT:n-l-level_storage-c2-h +STORAGE_INPUT:n-ts-l-level_storage-c2-h +STORAGE_INPUT:n-ts-l-level_storage-c2-y-h +STORAGE_INPUT:n-l-level_storage-c2-y-h +STORAGE_INPUT:ts-l-level_storage-c2-h +STORAGE_INPUT:ts-l-level_storage-c2-y-h +STORAGE_INPUT:l-level_storage-c2-y-h +STORAGE_INPUT:l-c2-m-h +STORAGE_INPUT:n-l-c2-m-h +STORAGE_INPUT:n-ts-l-c2-m-h +STORAGE_INPUT:n-ts-l-c2-m-y-h +STORAGE_INPUT:n-l-c2-m-y-h +STORAGE_INPUT:ts-l-c2-m-h +STORAGE_INPUT:ts-l-c2-m-y-h +STORAGE_INPUT:l-c2-m-y-h +STORAGE_INPUT:n-l-c2-h +STORAGE_INPUT:n-ts-l-c2-h +STORAGE_INPUT:n-ts-l-c2-y-h +STORAGE_INPUT:n-l-c2-y-h +STORAGE_INPUT:ts-l-c2-h +STORAGE_INPUT:ts-l-c2-y-h +STORAGE_INPUT:l-c2-y-h +STORAGE_INPUT:level_storage-c2-h +STORAGE_INPUT:level_storage-c2-m-h +STORAGE_INPUT:n-level_storage-c2-m-h +STORAGE_INPUT:n-ts-level_storage-c2-m-h +STORAGE_INPUT:n-ts-level_storage-c2-m-y-h +STORAGE_INPUT:n-level_storage-c2-m-y-h +STORAGE_INPUT:ts-level_storage-c2-m-h +STORAGE_INPUT:ts-level_storage-c2-m-y-h +STORAGE_INPUT:level_storage-c2-m-y-h +STORAGE_INPUT:n-level_storage-c2-h +STORAGE_INPUT:n-ts-level_storage-c2-h +STORAGE_INPUT:n-ts-level_storage-c2-y-h +STORAGE_INPUT:n-level_storage-c2-y-h +STORAGE_INPUT:ts-level_storage-c2-h +STORAGE_INPUT:ts-level_storage-c2-y-h +STORAGE_INPUT:level_storage-c2-y-h +STORAGE_INPUT:c2-m-h +STORAGE_INPUT:n-c2-m-h +STORAGE_INPUT:n-ts-c2-m-h +STORAGE_INPUT:n-ts-c2-m-y-h +STORAGE_INPUT:n-c2-m-y-h +STORAGE_INPUT:ts-c2-m-h +STORAGE_INPUT:ts-c2-m-y-h +STORAGE_INPUT:c2-m-y-h +STORAGE_INPUT:n-c2-h +STORAGE_INPUT:n-ts-c2-h +STORAGE_INPUT:n-ts-c2-y-h +STORAGE_INPUT:n-c2-y-h +STORAGE_INPUT:ts-c2-h +STORAGE_INPUT:ts-c2-y-h +STORAGE_INPUT:c2-y-h +STORAGE_INPUT:l-c2 +STORAGE_INPUT:l-level_storage-c2 +STORAGE_INPUT:l-level_storage-c2-m +STORAGE_INPUT:n-l-level_storage-c2-m +STORAGE_INPUT:n-ts-l-level_storage-c2-m +STORAGE_INPUT:n-ts-l-level_storage-c2-m-y +STORAGE_INPUT:n-l-level_storage-c2-m-y +STORAGE_INPUT:ts-l-level_storage-c2-m +STORAGE_INPUT:ts-l-level_storage-c2-m-y +STORAGE_INPUT:l-level_storage-c2-m-y +STORAGE_INPUT:n-l-level_storage-c2 +STORAGE_INPUT:n-ts-l-level_storage-c2 +STORAGE_INPUT:n-ts-l-level_storage-c2-y +STORAGE_INPUT:n-l-level_storage-c2-y +STORAGE_INPUT:ts-l-level_storage-c2 +STORAGE_INPUT:ts-l-level_storage-c2-y +STORAGE_INPUT:l-level_storage-c2-y +STORAGE_INPUT:l-c2-m +STORAGE_INPUT:n-l-c2-m +STORAGE_INPUT:n-ts-l-c2-m +STORAGE_INPUT:n-ts-l-c2-m-y +STORAGE_INPUT:n-l-c2-m-y +STORAGE_INPUT:ts-l-c2-m +STORAGE_INPUT:ts-l-c2-m-y +STORAGE_INPUT:l-c2-m-y +STORAGE_INPUT:n-l-c2 +STORAGE_INPUT:n-ts-l-c2 +STORAGE_INPUT:n-ts-l-c2-y +STORAGE_INPUT:n-l-c2-y +STORAGE_INPUT:ts-l-c2 +STORAGE_INPUT:ts-l-c2-y +STORAGE_INPUT:l-c2-y +STORAGE_INPUT:level_storage-c2 +STORAGE_INPUT:level_storage-c2-m +STORAGE_INPUT:n-level_storage-c2-m +STORAGE_INPUT:n-ts-level_storage-c2-m +STORAGE_INPUT:n-ts-level_storage-c2-m-y +STORAGE_INPUT:n-level_storage-c2-m-y +STORAGE_INPUT:ts-level_storage-c2-m +STORAGE_INPUT:ts-level_storage-c2-m-y +STORAGE_INPUT:level_storage-c2-m-y +STORAGE_INPUT:n-level_storage-c2 +STORAGE_INPUT:n-ts-level_storage-c2 +STORAGE_INPUT:n-ts-level_storage-c2-y +STORAGE_INPUT:n-level_storage-c2-y +STORAGE_INPUT:ts-level_storage-c2 +STORAGE_INPUT:ts-level_storage-c2-y +STORAGE_INPUT:level_storage-c2-y +STORAGE_INPUT:c2-m +STORAGE_INPUT:n-c2-m +STORAGE_INPUT:n-ts-c2-m +STORAGE_INPUT:n-ts-c2-m-y +STORAGE_INPUT:n-c2-m-y +STORAGE_INPUT:ts-c2-m +STORAGE_INPUT:ts-c2-m-y +STORAGE_INPUT:c2-m-y +STORAGE_INPUT:n-c2 +STORAGE_INPUT:n-ts-c2 +STORAGE_INPUT:n-ts-c2-y +STORAGE_INPUT:n-c2-y +STORAGE_INPUT:ts-c2 +STORAGE_INPUT:ts-c2-y +STORAGE_INPUT:c2-y +STORAGE_INPUT:h +STORAGE_INPUT:l-h +STORAGE_INPUT:l-level_storage-h +STORAGE_INPUT:l-level_storage-m-h +STORAGE_INPUT:n-l-level_storage-m-h +STORAGE_INPUT:n-ts-l-level_storage-m-h +STORAGE_INPUT:n-ts-l-level_storage-m-y-h +STORAGE_INPUT:n-l-level_storage-m-y-h +STORAGE_INPUT:ts-l-level_storage-m-h +STORAGE_INPUT:ts-l-level_storage-m-y-h +STORAGE_INPUT:l-level_storage-m-y-h +STORAGE_INPUT:n-l-level_storage-h +STORAGE_INPUT:n-ts-l-level_storage-h +STORAGE_INPUT:n-ts-l-level_storage-y-h +STORAGE_INPUT:n-l-level_storage-y-h +STORAGE_INPUT:ts-l-level_storage-h +STORAGE_INPUT:ts-l-level_storage-y-h +STORAGE_INPUT:l-level_storage-y-h +STORAGE_INPUT:l-m-h +STORAGE_INPUT:n-l-m-h +STORAGE_INPUT:n-ts-l-m-h +STORAGE_INPUT:n-ts-l-m-y-h +STORAGE_INPUT:n-l-m-y-h +STORAGE_INPUT:ts-l-m-h +STORAGE_INPUT:ts-l-m-y-h +STORAGE_INPUT:l-m-y-h +STORAGE_INPUT:n-l-h +STORAGE_INPUT:n-ts-l-h +STORAGE_INPUT:n-ts-l-y-h +STORAGE_INPUT:n-l-y-h +STORAGE_INPUT:ts-l-h +STORAGE_INPUT:ts-l-y-h +STORAGE_INPUT:l-y-h +STORAGE_INPUT:level_storage-h +STORAGE_INPUT:level_storage-m-h +STORAGE_INPUT:n-level_storage-m-h +STORAGE_INPUT:n-ts-level_storage-m-h +STORAGE_INPUT:n-ts-level_storage-m-y-h +STORAGE_INPUT:n-level_storage-m-y-h +STORAGE_INPUT:ts-level_storage-m-h +STORAGE_INPUT:ts-level_storage-m-y-h +STORAGE_INPUT:level_storage-m-y-h +STORAGE_INPUT:n-level_storage-h +STORAGE_INPUT:n-ts-level_storage-h +STORAGE_INPUT:n-ts-level_storage-y-h +STORAGE_INPUT:n-level_storage-y-h +STORAGE_INPUT:ts-level_storage-h +STORAGE_INPUT:ts-level_storage-y-h +STORAGE_INPUT:level_storage-y-h +STORAGE_INPUT:m-h +STORAGE_INPUT:n-m-h +STORAGE_INPUT:n-ts-m-h +STORAGE_INPUT:n-ts-m-y-h +STORAGE_INPUT:n-m-y-h +STORAGE_INPUT:ts-m-h +STORAGE_INPUT:ts-m-y-h +STORAGE_INPUT:m-y-h +STORAGE_INPUT:n-h +STORAGE_INPUT:n-ts-h +STORAGE_INPUT:n-ts-y-h +STORAGE_INPUT:n-y-h +STORAGE_INPUT:ts-h +STORAGE_INPUT:ts-y-h +STORAGE_INPUT:y-h +STORAGE_INPUT:l +STORAGE_INPUT:l-level_storage +STORAGE_INPUT:l-level_storage-m +STORAGE_INPUT:n-l-level_storage-m +STORAGE_INPUT:n-ts-l-level_storage-m +STORAGE_INPUT:n-ts-l-level_storage-m-y +STORAGE_INPUT:n-l-level_storage-m-y +STORAGE_INPUT:ts-l-level_storage-m +STORAGE_INPUT:ts-l-level_storage-m-y +STORAGE_INPUT:l-level_storage-m-y +STORAGE_INPUT:n-l-level_storage +STORAGE_INPUT:n-ts-l-level_storage +STORAGE_INPUT:n-ts-l-level_storage-y +STORAGE_INPUT:n-l-level_storage-y +STORAGE_INPUT:ts-l-level_storage +STORAGE_INPUT:ts-l-level_storage-y +STORAGE_INPUT:l-level_storage-y +STORAGE_INPUT:l-m +STORAGE_INPUT:n-l-m +STORAGE_INPUT:n-ts-l-m +STORAGE_INPUT:n-ts-l-m-y +STORAGE_INPUT:n-l-m-y +STORAGE_INPUT:ts-l-m +STORAGE_INPUT:ts-l-m-y +STORAGE_INPUT:l-m-y +STORAGE_INPUT:n-l +STORAGE_INPUT:n-ts-l +STORAGE_INPUT:n-ts-l-y +STORAGE_INPUT:n-l-y +STORAGE_INPUT:ts-l +STORAGE_INPUT:ts-l-y +STORAGE_INPUT:l-y +STORAGE_INPUT:level_storage +STORAGE_INPUT:level_storage-m +STORAGE_INPUT:n-level_storage-m +STORAGE_INPUT:n-ts-level_storage-m +STORAGE_INPUT:n-ts-level_storage-m-y +STORAGE_INPUT:n-level_storage-m-y +STORAGE_INPUT:ts-level_storage-m +STORAGE_INPUT:ts-level_storage-m-y +STORAGE_INPUT:level_storage-m-y +STORAGE_INPUT:n-level_storage +STORAGE_INPUT:n-ts-level_storage +STORAGE_INPUT:n-ts-level_storage-y +STORAGE_INPUT:n-level_storage-y +STORAGE_INPUT:ts-level_storage +STORAGE_INPUT:ts-level_storage-y +STORAGE_INPUT:level_storage-y +STORAGE_INPUT:m +STORAGE_INPUT:n-m +STORAGE_INPUT:n-ts-m +STORAGE_INPUT:n-ts-m-y +STORAGE_INPUT:n-m-y +STORAGE_INPUT:ts-m +STORAGE_INPUT:ts-m-y +STORAGE_INPUT:m-y +STORAGE_INPUT:n +STORAGE_INPUT:n-ts +STORAGE_INPUT:n-ts-y +STORAGE_INPUT:n-y +STORAGE_INPUT:ts +STORAGE_INPUT:ts-y +STORAGE_INPUT:y +SYSTEM_FLEXIBILITY_CONSTRAINT-margin:n-c-l-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT: +SYSTEM_FLEXIBILITY_CONSTRAINT:c +SYSTEM_FLEXIBILITY_CONSTRAINT:c-h +SYSTEM_FLEXIBILITY_CONSTRAINT:c-l-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-l-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-l-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:c-l-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:c-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:c-l +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-l +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-l-y +SYSTEM_FLEXIBILITY_CONSTRAINT:c-l-y +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c +SYSTEM_FLEXIBILITY_CONSTRAINT:n-c-y +SYSTEM_FLEXIBILITY_CONSTRAINT:c-y +SYSTEM_FLEXIBILITY_CONSTRAINT:h +SYSTEM_FLEXIBILITY_CONSTRAINT:l-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-l-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-l-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:l-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-h +SYSTEM_FLEXIBILITY_CONSTRAINT:n-y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:y-h +SYSTEM_FLEXIBILITY_CONSTRAINT:l +SYSTEM_FLEXIBILITY_CONSTRAINT:n-l +SYSTEM_FLEXIBILITY_CONSTRAINT:n-l-y +SYSTEM_FLEXIBILITY_CONSTRAINT:l-y +SYSTEM_FLEXIBILITY_CONSTRAINT:n +SYSTEM_FLEXIBILITY_CONSTRAINT:n-y +SYSTEM_FLEXIBILITY_CONSTRAINT:y +SYSTEM_RELIABILITY_CONSTRAINT-margin:n-c-l-y-h +SYSTEM_RELIABILITY_CONSTRAINT: +SYSTEM_RELIABILITY_CONSTRAINT:c +SYSTEM_RELIABILITY_CONSTRAINT:c-h +SYSTEM_RELIABILITY_CONSTRAINT:c-l-h +SYSTEM_RELIABILITY_CONSTRAINT:n-c-l-h +SYSTEM_RELIABILITY_CONSTRAINT:n-c-l-y-h +SYSTEM_RELIABILITY_CONSTRAINT:c-l-y-h +SYSTEM_RELIABILITY_CONSTRAINT:n-c-h +SYSTEM_RELIABILITY_CONSTRAINT:n-c-y-h +SYSTEM_RELIABILITY_CONSTRAINT:c-y-h +SYSTEM_RELIABILITY_CONSTRAINT:c-l +SYSTEM_RELIABILITY_CONSTRAINT:n-c-l +SYSTEM_RELIABILITY_CONSTRAINT:n-c-l-y +SYSTEM_RELIABILITY_CONSTRAINT:c-l-y +SYSTEM_RELIABILITY_CONSTRAINT:n-c +SYSTEM_RELIABILITY_CONSTRAINT:n-c-y +SYSTEM_RELIABILITY_CONSTRAINT:c-y +SYSTEM_RELIABILITY_CONSTRAINT:h +SYSTEM_RELIABILITY_CONSTRAINT:l-h +SYSTEM_RELIABILITY_CONSTRAINT:n-l-h +SYSTEM_RELIABILITY_CONSTRAINT:n-l-y-h +SYSTEM_RELIABILITY_CONSTRAINT:l-y-h +SYSTEM_RELIABILITY_CONSTRAINT:n-h +SYSTEM_RELIABILITY_CONSTRAINT:n-y-h +SYSTEM_RELIABILITY_CONSTRAINT:y-h +SYSTEM_RELIABILITY_CONSTRAINT:l +SYSTEM_RELIABILITY_CONSTRAINT:n-l +SYSTEM_RELIABILITY_CONSTRAINT:n-l-y +SYSTEM_RELIABILITY_CONSTRAINT:l-y +SYSTEM_RELIABILITY_CONSTRAINT:n +SYSTEM_RELIABILITY_CONSTRAINT:n-y +SYSTEM_RELIABILITY_CONSTRAINT:y +TOTAL_CAPACITY_BOUND_LO-margin:n-inv_tec-y +TOTAL_CAPACITY_BOUND_LO: +TOTAL_CAPACITY_BOUND_LO:inv_tec +TOTAL_CAPACITY_BOUND_LO:n-inv_tec +TOTAL_CAPACITY_BOUND_LO:n-inv_tec-y +TOTAL_CAPACITY_BOUND_LO:inv_tec-y +TOTAL_CAPACITY_BOUND_LO:n +TOTAL_CAPACITY_BOUND_LO:n-y +TOTAL_CAPACITY_BOUND_LO:y +TOTAL_CAPACITY_BOUND_UP-margin:n-inv_tec-y +TOTAL_CAPACITY_BOUND_UP: +TOTAL_CAPACITY_BOUND_UP:inv_tec +TOTAL_CAPACITY_BOUND_UP:n-inv_tec +TOTAL_CAPACITY_BOUND_UP:n-inv_tec-y +TOTAL_CAPACITY_BOUND_UP:inv_tec-y +TOTAL_CAPACITY_BOUND_UP:n +TOTAL_CAPACITY_BOUND_UP:n-y +TOTAL_CAPACITY_BOUND_UP:y +abs_cost_activity_soft_lo: +abs_cost_activity_soft_lo:h +abs_cost_activity_soft_lo:nl-h +abs_cost_activity_soft_lo:nl-t-h +abs_cost_activity_soft_lo:nl-t-ya-h +abs_cost_activity_soft_lo:nl-ya-h +abs_cost_activity_soft_lo:t-h +abs_cost_activity_soft_lo:t-ya-h +abs_cost_activity_soft_lo:ya-h +abs_cost_activity_soft_lo:nl +abs_cost_activity_soft_lo:nl-t +abs_cost_activity_soft_lo:nl-t-ya +abs_cost_activity_soft_lo:nl-ya +abs_cost_activity_soft_lo:t +abs_cost_activity_soft_lo:t-ya +abs_cost_activity_soft_lo:ya +abs_cost_activity_soft_up: +abs_cost_activity_soft_up:h +abs_cost_activity_soft_up:nl-h +abs_cost_activity_soft_up:nl-t-h +abs_cost_activity_soft_up:nl-t-ya-h +abs_cost_activity_soft_up:nl-ya-h +abs_cost_activity_soft_up:t-h +abs_cost_activity_soft_up:t-ya-h +abs_cost_activity_soft_up:ya-h +abs_cost_activity_soft_up:nl +abs_cost_activity_soft_up:nl-t +abs_cost_activity_soft_up:nl-t-ya +abs_cost_activity_soft_up:nl-ya +abs_cost_activity_soft_up:t +abs_cost_activity_soft_up:t-ya +abs_cost_activity_soft_up:ya +abs_cost_new_capacity_soft_lo: +abs_cost_new_capacity_soft_lo:nl +abs_cost_new_capacity_soft_lo:nl-t +abs_cost_new_capacity_soft_lo:nl-t-yv +abs_cost_new_capacity_soft_lo:nl-yv +abs_cost_new_capacity_soft_lo:t +abs_cost_new_capacity_soft_lo:t-yv +abs_cost_new_capacity_soft_lo:yv +abs_cost_new_capacity_soft_up: +abs_cost_new_capacity_soft_up:nl +abs_cost_new_capacity_soft_up:nl-t +abs_cost_new_capacity_soft_up:nl-t-yv +abs_cost_new_capacity_soft_up:nl-yv +abs_cost_new_capacity_soft_up:t +abs_cost_new_capacity_soft_up:t-yv +abs_cost_new_capacity_soft_up:yv +addon +addon_conversion: +addon_conversion:h +addon_conversion:m-h +addon_conversion:n-m-h +addon_conversion:n-t-m-h +addon_conversion:n-t-m-h-type_addon +addon_conversion:n-t-ya-m-h-type_addon +addon_conversion:n-t-yv-ya-m-h-type_addon +addon_conversion:n-t-yv-m-h-type_addon +addon_conversion:n-t-ya-m-h +addon_conversion:n-t-yv-ya-m-h +addon_conversion:n-t-yv-m-h +addon_conversion:n-m-h-type_addon +addon_conversion:n-ya-m-h-type_addon +addon_conversion:n-yv-ya-m-h-type_addon +addon_conversion:n-yv-m-h-type_addon +addon_conversion:n-ya-m-h +addon_conversion:n-yv-ya-m-h +addon_conversion:n-yv-m-h +addon_conversion:t-m-h +addon_conversion:t-m-h-type_addon +addon_conversion:t-ya-m-h-type_addon +addon_conversion:t-yv-ya-m-h-type_addon +addon_conversion:t-yv-m-h-type_addon +addon_conversion:t-ya-m-h +addon_conversion:t-yv-ya-m-h +addon_conversion:t-yv-m-h +addon_conversion:m-h-type_addon +addon_conversion:ya-m-h-type_addon +addon_conversion:yv-ya-m-h-type_addon +addon_conversion:yv-m-h-type_addon +addon_conversion:ya-m-h +addon_conversion:yv-ya-m-h +addon_conversion:yv-m-h +addon_conversion:n-h +addon_conversion:n-t-h +addon_conversion:n-t-h-type_addon +addon_conversion:n-t-ya-h-type_addon +addon_conversion:n-t-yv-ya-h-type_addon +addon_conversion:n-t-yv-h-type_addon +addon_conversion:n-t-ya-h +addon_conversion:n-t-yv-ya-h +addon_conversion:n-t-yv-h +addon_conversion:n-h-type_addon +addon_conversion:n-ya-h-type_addon +addon_conversion:n-yv-ya-h-type_addon +addon_conversion:n-yv-h-type_addon +addon_conversion:n-ya-h +addon_conversion:n-yv-ya-h +addon_conversion:n-yv-h +addon_conversion:t-h +addon_conversion:t-h-type_addon +addon_conversion:t-ya-h-type_addon +addon_conversion:t-yv-ya-h-type_addon +addon_conversion:t-yv-h-type_addon +addon_conversion:t-ya-h +addon_conversion:t-yv-ya-h +addon_conversion:t-yv-h +addon_conversion:h-type_addon +addon_conversion:ya-h-type_addon +addon_conversion:yv-ya-h-type_addon +addon_conversion:yv-h-type_addon +addon_conversion:ya-h +addon_conversion:yv-ya-h +addon_conversion:yv-h +addon_conversion:m +addon_conversion:n-m +addon_conversion:n-t-m +addon_conversion:n-t-m-type_addon +addon_conversion:n-t-ya-m-type_addon +addon_conversion:n-t-yv-ya-m-type_addon +addon_conversion:n-t-yv-m-type_addon +addon_conversion:n-t-ya-m +addon_conversion:n-t-yv-ya-m +addon_conversion:n-t-yv-m +addon_conversion:n-m-type_addon +addon_conversion:n-ya-m-type_addon +addon_conversion:n-yv-ya-m-type_addon +addon_conversion:n-yv-m-type_addon +addon_conversion:n-ya-m +addon_conversion:n-yv-ya-m +addon_conversion:n-yv-m +addon_conversion:t-m +addon_conversion:t-m-type_addon +addon_conversion:t-ya-m-type_addon +addon_conversion:t-yv-ya-m-type_addon +addon_conversion:t-yv-m-type_addon +addon_conversion:t-ya-m +addon_conversion:t-yv-ya-m +addon_conversion:t-yv-m +addon_conversion:m-type_addon +addon_conversion:ya-m-type_addon +addon_conversion:yv-ya-m-type_addon +addon_conversion:yv-m-type_addon +addon_conversion:ya-m +addon_conversion:yv-ya-m +addon_conversion:yv-m +addon_conversion:n +addon_conversion:n-t +addon_conversion:n-t-type_addon +addon_conversion:n-t-ya-type_addon +addon_conversion:n-t-yv-ya-type_addon +addon_conversion:n-t-yv-type_addon +addon_conversion:n-t-ya +addon_conversion:n-t-yv-ya +addon_conversion:n-t-yv +addon_conversion:n-type_addon +addon_conversion:n-ya-type_addon +addon_conversion:n-yv-ya-type_addon +addon_conversion:n-yv-type_addon +addon_conversion:n-ya +addon_conversion:n-yv-ya +addon_conversion:n-yv +addon_conversion:t +addon_conversion:t-type_addon +addon_conversion:t-ya-type_addon +addon_conversion:t-yv-ya-type_addon +addon_conversion:t-yv-type_addon +addon_conversion:t-ya +addon_conversion:t-yv-ya +addon_conversion:t-yv +addon_conversion:type_addon +addon_conversion:ya-type_addon +addon_conversion:yv-ya-type_addon +addon_conversion:yv-type_addon +addon_conversion:ya +addon_conversion:yv-ya +addon_conversion:yv +addon_lo: +addon_lo:h +addon_lo:m-h +addon_lo:n-m-h +addon_lo:n-t-m-h +addon_lo:n-t-m-h-type_addon +addon_lo:n-t-ya-m-h-type_addon +addon_lo:n-t-ya-m-h +addon_lo:n-m-h-type_addon +addon_lo:n-ya-m-h-type_addon +addon_lo:n-ya-m-h +addon_lo:t-m-h +addon_lo:t-m-h-type_addon +addon_lo:t-ya-m-h-type_addon +addon_lo:t-ya-m-h +addon_lo:m-h-type_addon +addon_lo:ya-m-h-type_addon +addon_lo:ya-m-h +addon_lo:n-h +addon_lo:n-t-h +addon_lo:n-t-h-type_addon +addon_lo:n-t-ya-h-type_addon +addon_lo:n-t-ya-h +addon_lo:n-h-type_addon +addon_lo:n-ya-h-type_addon +addon_lo:n-ya-h +addon_lo:t-h +addon_lo:t-h-type_addon +addon_lo:t-ya-h-type_addon +addon_lo:t-ya-h +addon_lo:h-type_addon +addon_lo:ya-h-type_addon +addon_lo:ya-h +addon_lo:m +addon_lo:n-m +addon_lo:n-t-m +addon_lo:n-t-m-type_addon +addon_lo:n-t-ya-m-type_addon +addon_lo:n-t-ya-m +addon_lo:n-m-type_addon +addon_lo:n-ya-m-type_addon +addon_lo:n-ya-m +addon_lo:t-m +addon_lo:t-m-type_addon +addon_lo:t-ya-m-type_addon +addon_lo:t-ya-m +addon_lo:m-type_addon +addon_lo:ya-m-type_addon +addon_lo:ya-m +addon_lo:n +addon_lo:n-t +addon_lo:n-t-type_addon +addon_lo:n-t-ya-type_addon +addon_lo:n-t-ya +addon_lo:n-type_addon +addon_lo:n-ya-type_addon +addon_lo:n-ya +addon_lo:t +addon_lo:t-type_addon +addon_lo:t-ya-type_addon +addon_lo:t-ya +addon_lo:type_addon +addon_lo:ya-type_addon +addon_lo:ya +addon_up: +addon_up:h +addon_up:m-h +addon_up:n-m-h +addon_up:n-t-m-h +addon_up:n-t-m-h-type_addon +addon_up:n-t-ya-m-h-type_addon +addon_up:n-t-ya-m-h +addon_up:n-m-h-type_addon +addon_up:n-ya-m-h-type_addon +addon_up:n-ya-m-h +addon_up:t-m-h +addon_up:t-m-h-type_addon +addon_up:t-ya-m-h-type_addon +addon_up:t-ya-m-h +addon_up:m-h-type_addon +addon_up:ya-m-h-type_addon +addon_up:ya-m-h +addon_up:n-h +addon_up:n-t-h +addon_up:n-t-h-type_addon +addon_up:n-t-ya-h-type_addon +addon_up:n-t-ya-h +addon_up:n-h-type_addon +addon_up:n-ya-h-type_addon +addon_up:n-ya-h +addon_up:t-h +addon_up:t-h-type_addon +addon_up:t-ya-h-type_addon +addon_up:t-ya-h +addon_up:h-type_addon +addon_up:ya-h-type_addon +addon_up:ya-h +addon_up:m +addon_up:n-m +addon_up:n-t-m +addon_up:n-t-m-type_addon +addon_up:n-t-ya-m-type_addon +addon_up:n-t-ya-m +addon_up:n-m-type_addon +addon_up:n-ya-m-type_addon +addon_up:n-ya-m +addon_up:t-m +addon_up:t-m-type_addon +addon_up:t-ya-m-type_addon +addon_up:t-ya-m +addon_up:m-type_addon +addon_up:ya-m-type_addon +addon_up:ya-m +addon_up:n +addon_up:n-t +addon_up:n-t-type_addon +addon_up:n-t-ya-type_addon +addon_up:n-t-ya +addon_up:n-type_addon +addon_up:n-ya-type_addon +addon_up:n-ya +addon_up:t +addon_up:t-type_addon +addon_up:t-ya-type_addon +addon_up:t-ya +addon_up:type_addon +addon_up:ya-type_addon +addon_up:ya +all +balance_equality +bound_activity_lo: +bound_activity_lo:h +bound_activity_lo:m-h +bound_activity_lo:nl-m-h +bound_activity_lo:nl-t-m-h +bound_activity_lo:nl-t-ya-m-h +bound_activity_lo:nl-ya-m-h +bound_activity_lo:t-m-h +bound_activity_lo:t-ya-m-h +bound_activity_lo:ya-m-h +bound_activity_lo:nl-h +bound_activity_lo:nl-t-h +bound_activity_lo:nl-t-ya-h +bound_activity_lo:nl-ya-h +bound_activity_lo:t-h +bound_activity_lo:t-ya-h +bound_activity_lo:ya-h +bound_activity_lo:m +bound_activity_lo:nl-m +bound_activity_lo:nl-t-m +bound_activity_lo:nl-t-ya-m +bound_activity_lo:nl-ya-m +bound_activity_lo:t-m +bound_activity_lo:t-ya-m +bound_activity_lo:ya-m +bound_activity_lo:nl +bound_activity_lo:nl-t +bound_activity_lo:nl-t-ya +bound_activity_lo:nl-ya +bound_activity_lo:t +bound_activity_lo:t-ya +bound_activity_lo:ya +bound_activity_up: +bound_activity_up:h +bound_activity_up:m-h +bound_activity_up:nl-m-h +bound_activity_up:nl-t-m-h +bound_activity_up:nl-t-ya-m-h +bound_activity_up:nl-ya-m-h +bound_activity_up:t-m-h +bound_activity_up:t-ya-m-h +bound_activity_up:ya-m-h +bound_activity_up:nl-h +bound_activity_up:nl-t-h +bound_activity_up:nl-t-ya-h +bound_activity_up:nl-ya-h +bound_activity_up:t-h +bound_activity_up:t-ya-h +bound_activity_up:ya-h +bound_activity_up:m +bound_activity_up:nl-m +bound_activity_up:nl-t-m +bound_activity_up:nl-t-ya-m +bound_activity_up:nl-ya-m +bound_activity_up:t-m +bound_activity_up:t-ya-m +bound_activity_up:ya-m +bound_activity_up:nl +bound_activity_up:nl-t +bound_activity_up:nl-t-ya +bound_activity_up:nl-ya +bound_activity_up:t +bound_activity_up:t-ya +bound_activity_up:ya +bound_emission: +bound_emission:n +bound_emission:n-type_emission +bound_emission:n-type_emission-type_tec +bound_emission:n-type_emission-type_tec-type_year +bound_emission:n-type_emission-type_year +bound_emission:n-type_tec +bound_emission:n-type_tec-type_year +bound_emission:n-type_year +bound_emission:type_emission +bound_emission:type_emission-type_tec +bound_emission:type_emission-type_tec-type_year +bound_emission:type_emission-type_year +bound_emission:type_tec +bound_emission:type_tec-type_year +bound_emission:type_year +bound_extraction_up: +bound_extraction_up:c +bound_extraction_up:c-g +bound_extraction_up:n-c-g +bound_extraction_up:n-c-g-y +bound_extraction_up:c-g-y +bound_extraction_up:n-c +bound_extraction_up:n-c-y +bound_extraction_up:c-y +bound_extraction_up:g +bound_extraction_up:n-g +bound_extraction_up:n-g-y +bound_extraction_up:g-y +bound_extraction_up:n +bound_extraction_up:n-y +bound_extraction_up:y +bound_new_capacity_lo: +bound_new_capacity_lo:nl +bound_new_capacity_lo:nl-t +bound_new_capacity_lo:nl-t-yv +bound_new_capacity_lo:nl-yv +bound_new_capacity_lo:t +bound_new_capacity_lo:t-yv +bound_new_capacity_lo:yv +bound_new_capacity_up: +bound_new_capacity_up:nl +bound_new_capacity_up:nl-t +bound_new_capacity_up:nl-t-yv +bound_new_capacity_up:nl-yv +bound_new_capacity_up:t +bound_new_capacity_up:t-yv +bound_new_capacity_up:yv +bound_total_capacity_lo: +bound_total_capacity_lo:nl +bound_total_capacity_lo:nl-t +bound_total_capacity_lo:nl-t-ya +bound_total_capacity_lo:nl-ya +bound_total_capacity_lo:t +bound_total_capacity_lo:t-ya +bound_total_capacity_lo:ya +bound_total_capacity_up: +bound_total_capacity_up:nl +bound_total_capacity_up:nl-t +bound_total_capacity_up:nl-t-ya +bound_total_capacity_up:nl-ya +bound_total_capacity_up:t +bound_total_capacity_up:t-ya +bound_total_capacity_up:ya +c +capacity_factor: +capacity_factor:h +capacity_factor:nl-h +capacity_factor:nl-t-h +capacity_factor:nl-t-ya-h +capacity_factor:nl-t-yv-ya-h +capacity_factor:nl-t-yv-h +capacity_factor:nl-ya-h +capacity_factor:nl-yv-ya-h +capacity_factor:nl-yv-h +capacity_factor:t-h +capacity_factor:t-ya-h +capacity_factor:t-yv-ya-h +capacity_factor:t-yv-h +capacity_factor:ya-h +capacity_factor:yv-ya-h +capacity_factor:yv-h +capacity_factor:nl +capacity_factor:nl-t +capacity_factor:nl-t-ya +capacity_factor:nl-t-yv-ya +capacity_factor:nl-t-yv +capacity_factor:nl-ya +capacity_factor:nl-yv-ya +capacity_factor:nl-yv +capacity_factor:t +capacity_factor:t-ya +capacity_factor:t-yv-ya +capacity_factor:t-yv +capacity_factor:ya +capacity_factor:yv-ya +capacity_factor:yv +cat_addon +cat_emission +cat_node +cat_relation +cat_tec +cat_year +commodity_stock: +commodity_stock:c +commodity_stock:c-l +commodity_stock:n-c-l +commodity_stock:n-c-l-y +commodity_stock:c-l-y +commodity_stock:n-c +commodity_stock:n-c-y +commodity_stock:c-y +commodity_stock:l +commodity_stock:n-l +commodity_stock:n-l-y +commodity_stock:l-y +commodity_stock:n +commodity_stock:n-y +commodity_stock:y +config +construction_time: +construction_time:nl +construction_time:nl-t +construction_time:nl-t-yv +construction_time:nl-yv +construction_time:t +construction_time:t-yv +construction_time:yv +demand: +demand:c +demand:c-h +demand:c-l-h +demand:n-c-l-h +demand:n-c-l-y-h +demand:c-l-y-h +demand:n-c-h +demand:n-c-y-h +demand:c-y-h +demand:c-l +demand:n-c-l +demand:n-c-l-y +demand:c-l-y +demand:n-c +demand:n-c-y +demand:c-y +demand:h +demand:l-h +demand:n-l-h +demand:n-l-y-h +demand:l-y-h +demand:n-h +demand:n-y-h +demand:y-h +demand:l +demand:n-l +demand:n-l-y +demand:l-y +demand:n +demand:n-y +demand:y +duration_period: +duration_period:y +duration_time: +duration_time:h +dynamic_land_lo: +dynamic_land_lo:n +dynamic_land_lo:n-s +dynamic_land_lo:n-s-u +dynamic_land_lo:n-s-y-u +dynamic_land_lo:n-s-y +dynamic_land_lo:n-u +dynamic_land_lo:n-y-u +dynamic_land_lo:n-y +dynamic_land_lo:s +dynamic_land_lo:s-u +dynamic_land_lo:s-y-u +dynamic_land_lo:s-y +dynamic_land_lo:u +dynamic_land_lo:y-u +dynamic_land_lo:y +dynamic_land_up: +dynamic_land_up:n +dynamic_land_up:n-s +dynamic_land_up:n-s-u +dynamic_land_up:n-s-y-u +dynamic_land_up:n-s-y +dynamic_land_up:n-u +dynamic_land_up:n-y-u +dynamic_land_up:n-y +dynamic_land_up:s +dynamic_land_up:s-u +dynamic_land_up:s-y-u +dynamic_land_up:s-y +dynamic_land_up:u +dynamic_land_up:y-u +dynamic_land_up:y +e +emission_factor: +emission_factor:e +emission_factor:m-e +emission_factor:nl-m-e +emission_factor:nl-t-m-e +emission_factor:nl-t-ya-m-e +emission_factor:nl-t-yv-ya-m-e +emission_factor:nl-t-yv-m-e +emission_factor:nl-ya-m-e +emission_factor:nl-yv-ya-m-e +emission_factor:nl-yv-m-e +emission_factor:t-m-e +emission_factor:t-ya-m-e +emission_factor:t-yv-ya-m-e +emission_factor:t-yv-m-e +emission_factor:ya-m-e +emission_factor:yv-ya-m-e +emission_factor:yv-m-e +emission_factor:nl-e +emission_factor:nl-t-e +emission_factor:nl-t-ya-e +emission_factor:nl-t-yv-ya-e +emission_factor:nl-t-yv-e +emission_factor:nl-ya-e +emission_factor:nl-yv-ya-e +emission_factor:nl-yv-e +emission_factor:t-e +emission_factor:t-ya-e +emission_factor:t-yv-ya-e +emission_factor:t-yv-e +emission_factor:ya-e +emission_factor:yv-ya-e +emission_factor:yv-e +emission_factor:m +emission_factor:nl-m +emission_factor:nl-t-m +emission_factor:nl-t-ya-m +emission_factor:nl-t-yv-ya-m +emission_factor:nl-t-yv-m +emission_factor:nl-ya-m +emission_factor:nl-yv-ya-m +emission_factor:nl-yv-m +emission_factor:t-m +emission_factor:t-ya-m +emission_factor:t-yv-ya-m +emission_factor:t-yv-m +emission_factor:ya-m +emission_factor:yv-ya-m +emission_factor:yv-m +emission_factor:nl +emission_factor:nl-t +emission_factor:nl-t-ya +emission_factor:nl-t-yv-ya +emission_factor:nl-t-yv +emission_factor:nl-ya +emission_factor:nl-yv-ya +emission_factor:nl-yv +emission_factor:t +emission_factor:t-ya +emission_factor:t-yv-ya +emission_factor:t-yv +emission_factor:ya +emission_factor:yv-ya +emission_factor:yv +emission_scaling: +emission_scaling:e +emission_scaling:type_emission-e +emission_scaling:type_emission +fix_cost: +fix_cost:nl +fix_cost:nl-t +fix_cost:nl-t-ya +fix_cost:nl-t-yv-ya +fix_cost:nl-t-yv +fix_cost:nl-ya +fix_cost:nl-yv-ya +fix_cost:nl-yv +fix_cost:t +fix_cost:t-ya +fix_cost:t-yv-ya +fix_cost:t-yv +fix_cost:ya +fix_cost:yv-ya +fix_cost:yv +fixed_activity: +fixed_activity:h +fixed_activity:m-h +fixed_activity:nl-m-h +fixed_activity:nl-t-m-h +fixed_activity:nl-t-ya-m-h +fixed_activity:nl-t-yv-ya-m-h +fixed_activity:nl-t-yv-m-h +fixed_activity:nl-ya-m-h +fixed_activity:nl-yv-ya-m-h +fixed_activity:nl-yv-m-h +fixed_activity:t-m-h +fixed_activity:t-ya-m-h +fixed_activity:t-yv-ya-m-h +fixed_activity:t-yv-m-h +fixed_activity:ya-m-h +fixed_activity:yv-ya-m-h +fixed_activity:yv-m-h +fixed_activity:nl-h +fixed_activity:nl-t-h +fixed_activity:nl-t-ya-h +fixed_activity:nl-t-yv-ya-h +fixed_activity:nl-t-yv-h +fixed_activity:nl-ya-h +fixed_activity:nl-yv-ya-h +fixed_activity:nl-yv-h +fixed_activity:t-h +fixed_activity:t-ya-h +fixed_activity:t-yv-ya-h +fixed_activity:t-yv-h +fixed_activity:ya-h +fixed_activity:yv-ya-h +fixed_activity:yv-h +fixed_activity:m +fixed_activity:nl-m +fixed_activity:nl-t-m +fixed_activity:nl-t-ya-m +fixed_activity:nl-t-yv-ya-m +fixed_activity:nl-t-yv-m +fixed_activity:nl-ya-m +fixed_activity:nl-yv-ya-m +fixed_activity:nl-yv-m +fixed_activity:t-m +fixed_activity:t-ya-m +fixed_activity:t-yv-ya-m +fixed_activity:t-yv-m +fixed_activity:ya-m +fixed_activity:yv-ya-m +fixed_activity:yv-m +fixed_activity:nl +fixed_activity:nl-t +fixed_activity:nl-t-ya +fixed_activity:nl-t-yv-ya +fixed_activity:nl-t-yv +fixed_activity:nl-ya +fixed_activity:nl-yv-ya +fixed_activity:nl-yv +fixed_activity:t +fixed_activity:t-ya +fixed_activity:t-yv-ya +fixed_activity:t-yv +fixed_activity:ya +fixed_activity:yv-ya +fixed_activity:yv +fixed_capacity: +fixed_capacity:nl +fixed_capacity:nl-t +fixed_capacity:nl-t-ya +fixed_capacity:nl-t-yv-ya +fixed_capacity:nl-t-yv +fixed_capacity:nl-ya +fixed_capacity:nl-yv-ya +fixed_capacity:nl-yv +fixed_capacity:t +fixed_capacity:t-ya +fixed_capacity:t-yv-ya +fixed_capacity:t-yv +fixed_capacity:ya +fixed_capacity:yv-ya +fixed_capacity:yv +fixed_extraction: +fixed_extraction:c +fixed_extraction:c-g +fixed_extraction:n-c-g +fixed_extraction:n-c-g-y +fixed_extraction:c-g-y +fixed_extraction:n-c +fixed_extraction:n-c-y +fixed_extraction:c-y +fixed_extraction:g +fixed_extraction:n-g +fixed_extraction:n-g-y +fixed_extraction:g-y +fixed_extraction:n +fixed_extraction:n-y +fixed_extraction:y +fixed_land: +fixed_land:n +fixed_land:n-s +fixed_land:n-s-y +fixed_land:n-y +fixed_land:s +fixed_land:s-y +fixed_land:y +fixed_new_capacity: +fixed_new_capacity:nl +fixed_new_capacity:nl-t +fixed_new_capacity:nl-t-yv +fixed_new_capacity:nl-yv +fixed_new_capacity:t +fixed_new_capacity:t-yv +fixed_new_capacity:yv +fixed_stock: +fixed_stock:c +fixed_stock:c-l +fixed_stock:n-c-l +fixed_stock:n-c-l-y +fixed_stock:c-l-y +fixed_stock:n-c +fixed_stock:n-c-y +fixed_stock:c-y +fixed_stock:l +fixed_stock:n-l +fixed_stock:n-l-y +fixed_stock:l-y +fixed_stock:n +fixed_stock:n-y +fixed_stock:y +flexibility_factor: +flexibility_factor:c +flexibility_factor:c-h +flexibility_factor:c-l-h +flexibility_factor:m-c-l-h +flexibility_factor:nl-m-c-l-h +flexibility_factor:nl-m-c-l-h-q +flexibility_factor:nl-t-m-c-l-h-q +flexibility_factor:nl-t-ya-m-c-l-h-q +flexibility_factor:nl-t-yv-ya-m-c-l-h-q +flexibility_factor:nl-t-yv-m-c-l-h-q +flexibility_factor:nl-ya-m-c-l-h-q +flexibility_factor:nl-yv-ya-m-c-l-h-q +flexibility_factor:nl-yv-m-c-l-h-q +flexibility_factor:nl-t-m-c-l-h +flexibility_factor:nl-t-ya-m-c-l-h +flexibility_factor:nl-t-yv-ya-m-c-l-h +flexibility_factor:nl-t-yv-m-c-l-h +flexibility_factor:nl-ya-m-c-l-h +flexibility_factor:nl-yv-ya-m-c-l-h +flexibility_factor:nl-yv-m-c-l-h +flexibility_factor:m-c-l-h-q +flexibility_factor:t-m-c-l-h-q +flexibility_factor:t-ya-m-c-l-h-q +flexibility_factor:t-yv-ya-m-c-l-h-q +flexibility_factor:t-yv-m-c-l-h-q +flexibility_factor:ya-m-c-l-h-q +flexibility_factor:yv-ya-m-c-l-h-q +flexibility_factor:yv-m-c-l-h-q +flexibility_factor:t-m-c-l-h +flexibility_factor:t-ya-m-c-l-h +flexibility_factor:t-yv-ya-m-c-l-h +flexibility_factor:t-yv-m-c-l-h +flexibility_factor:ya-m-c-l-h +flexibility_factor:yv-ya-m-c-l-h +flexibility_factor:yv-m-c-l-h +flexibility_factor:nl-c-l-h +flexibility_factor:nl-c-l-h-q +flexibility_factor:nl-t-c-l-h-q +flexibility_factor:nl-t-ya-c-l-h-q +flexibility_factor:nl-t-yv-ya-c-l-h-q +flexibility_factor:nl-t-yv-c-l-h-q +flexibility_factor:nl-ya-c-l-h-q +flexibility_factor:nl-yv-ya-c-l-h-q +flexibility_factor:nl-yv-c-l-h-q +flexibility_factor:nl-t-c-l-h +flexibility_factor:nl-t-ya-c-l-h +flexibility_factor:nl-t-yv-ya-c-l-h +flexibility_factor:nl-t-yv-c-l-h +flexibility_factor:nl-ya-c-l-h +flexibility_factor:nl-yv-ya-c-l-h +flexibility_factor:nl-yv-c-l-h +flexibility_factor:c-l-h-q +flexibility_factor:t-c-l-h-q +flexibility_factor:t-ya-c-l-h-q +flexibility_factor:t-yv-ya-c-l-h-q +flexibility_factor:t-yv-c-l-h-q +flexibility_factor:ya-c-l-h-q +flexibility_factor:yv-ya-c-l-h-q +flexibility_factor:yv-c-l-h-q +flexibility_factor:t-c-l-h +flexibility_factor:t-ya-c-l-h +flexibility_factor:t-yv-ya-c-l-h +flexibility_factor:t-yv-c-l-h +flexibility_factor:ya-c-l-h +flexibility_factor:yv-ya-c-l-h +flexibility_factor:yv-c-l-h +flexibility_factor:m-c-h +flexibility_factor:nl-m-c-h +flexibility_factor:nl-m-c-h-q +flexibility_factor:nl-t-m-c-h-q +flexibility_factor:nl-t-ya-m-c-h-q +flexibility_factor:nl-t-yv-ya-m-c-h-q +flexibility_factor:nl-t-yv-m-c-h-q +flexibility_factor:nl-ya-m-c-h-q +flexibility_factor:nl-yv-ya-m-c-h-q +flexibility_factor:nl-yv-m-c-h-q +flexibility_factor:nl-t-m-c-h +flexibility_factor:nl-t-ya-m-c-h +flexibility_factor:nl-t-yv-ya-m-c-h +flexibility_factor:nl-t-yv-m-c-h +flexibility_factor:nl-ya-m-c-h +flexibility_factor:nl-yv-ya-m-c-h +flexibility_factor:nl-yv-m-c-h +flexibility_factor:m-c-h-q +flexibility_factor:t-m-c-h-q +flexibility_factor:t-ya-m-c-h-q +flexibility_factor:t-yv-ya-m-c-h-q +flexibility_factor:t-yv-m-c-h-q +flexibility_factor:ya-m-c-h-q +flexibility_factor:yv-ya-m-c-h-q +flexibility_factor:yv-m-c-h-q +flexibility_factor:t-m-c-h +flexibility_factor:t-ya-m-c-h +flexibility_factor:t-yv-ya-m-c-h +flexibility_factor:t-yv-m-c-h +flexibility_factor:ya-m-c-h +flexibility_factor:yv-ya-m-c-h +flexibility_factor:yv-m-c-h +flexibility_factor:nl-c-h +flexibility_factor:nl-c-h-q +flexibility_factor:nl-t-c-h-q +flexibility_factor:nl-t-ya-c-h-q +flexibility_factor:nl-t-yv-ya-c-h-q +flexibility_factor:nl-t-yv-c-h-q +flexibility_factor:nl-ya-c-h-q +flexibility_factor:nl-yv-ya-c-h-q +flexibility_factor:nl-yv-c-h-q +flexibility_factor:nl-t-c-h +flexibility_factor:nl-t-ya-c-h +flexibility_factor:nl-t-yv-ya-c-h +flexibility_factor:nl-t-yv-c-h +flexibility_factor:nl-ya-c-h +flexibility_factor:nl-yv-ya-c-h +flexibility_factor:nl-yv-c-h +flexibility_factor:c-h-q +flexibility_factor:t-c-h-q +flexibility_factor:t-ya-c-h-q +flexibility_factor:t-yv-ya-c-h-q +flexibility_factor:t-yv-c-h-q +flexibility_factor:ya-c-h-q +flexibility_factor:yv-ya-c-h-q +flexibility_factor:yv-c-h-q +flexibility_factor:t-c-h +flexibility_factor:t-ya-c-h +flexibility_factor:t-yv-ya-c-h +flexibility_factor:t-yv-c-h +flexibility_factor:ya-c-h +flexibility_factor:yv-ya-c-h +flexibility_factor:yv-c-h +flexibility_factor:c-l +flexibility_factor:m-c-l +flexibility_factor:nl-m-c-l +flexibility_factor:nl-m-c-l-q +flexibility_factor:nl-t-m-c-l-q +flexibility_factor:nl-t-ya-m-c-l-q +flexibility_factor:nl-t-yv-ya-m-c-l-q +flexibility_factor:nl-t-yv-m-c-l-q +flexibility_factor:nl-ya-m-c-l-q +flexibility_factor:nl-yv-ya-m-c-l-q +flexibility_factor:nl-yv-m-c-l-q +flexibility_factor:nl-t-m-c-l +flexibility_factor:nl-t-ya-m-c-l +flexibility_factor:nl-t-yv-ya-m-c-l +flexibility_factor:nl-t-yv-m-c-l +flexibility_factor:nl-ya-m-c-l +flexibility_factor:nl-yv-ya-m-c-l +flexibility_factor:nl-yv-m-c-l +flexibility_factor:m-c-l-q +flexibility_factor:t-m-c-l-q +flexibility_factor:t-ya-m-c-l-q +flexibility_factor:t-yv-ya-m-c-l-q +flexibility_factor:t-yv-m-c-l-q +flexibility_factor:ya-m-c-l-q +flexibility_factor:yv-ya-m-c-l-q +flexibility_factor:yv-m-c-l-q +flexibility_factor:t-m-c-l +flexibility_factor:t-ya-m-c-l +flexibility_factor:t-yv-ya-m-c-l +flexibility_factor:t-yv-m-c-l +flexibility_factor:ya-m-c-l +flexibility_factor:yv-ya-m-c-l +flexibility_factor:yv-m-c-l +flexibility_factor:nl-c-l +flexibility_factor:nl-c-l-q +flexibility_factor:nl-t-c-l-q +flexibility_factor:nl-t-ya-c-l-q +flexibility_factor:nl-t-yv-ya-c-l-q +flexibility_factor:nl-t-yv-c-l-q +flexibility_factor:nl-ya-c-l-q +flexibility_factor:nl-yv-ya-c-l-q +flexibility_factor:nl-yv-c-l-q +flexibility_factor:nl-t-c-l +flexibility_factor:nl-t-ya-c-l +flexibility_factor:nl-t-yv-ya-c-l +flexibility_factor:nl-t-yv-c-l +flexibility_factor:nl-ya-c-l +flexibility_factor:nl-yv-ya-c-l +flexibility_factor:nl-yv-c-l +flexibility_factor:c-l-q +flexibility_factor:t-c-l-q +flexibility_factor:t-ya-c-l-q +flexibility_factor:t-yv-ya-c-l-q +flexibility_factor:t-yv-c-l-q +flexibility_factor:ya-c-l-q +flexibility_factor:yv-ya-c-l-q +flexibility_factor:yv-c-l-q +flexibility_factor:t-c-l +flexibility_factor:t-ya-c-l +flexibility_factor:t-yv-ya-c-l +flexibility_factor:t-yv-c-l +flexibility_factor:ya-c-l +flexibility_factor:yv-ya-c-l +flexibility_factor:yv-c-l +flexibility_factor:m-c +flexibility_factor:nl-m-c +flexibility_factor:nl-m-c-q +flexibility_factor:nl-t-m-c-q +flexibility_factor:nl-t-ya-m-c-q +flexibility_factor:nl-t-yv-ya-m-c-q +flexibility_factor:nl-t-yv-m-c-q +flexibility_factor:nl-ya-m-c-q +flexibility_factor:nl-yv-ya-m-c-q +flexibility_factor:nl-yv-m-c-q +flexibility_factor:nl-t-m-c +flexibility_factor:nl-t-ya-m-c +flexibility_factor:nl-t-yv-ya-m-c +flexibility_factor:nl-t-yv-m-c +flexibility_factor:nl-ya-m-c +flexibility_factor:nl-yv-ya-m-c +flexibility_factor:nl-yv-m-c +flexibility_factor:m-c-q +flexibility_factor:t-m-c-q +flexibility_factor:t-ya-m-c-q +flexibility_factor:t-yv-ya-m-c-q +flexibility_factor:t-yv-m-c-q +flexibility_factor:ya-m-c-q +flexibility_factor:yv-ya-m-c-q +flexibility_factor:yv-m-c-q +flexibility_factor:t-m-c +flexibility_factor:t-ya-m-c +flexibility_factor:t-yv-ya-m-c +flexibility_factor:t-yv-m-c +flexibility_factor:ya-m-c +flexibility_factor:yv-ya-m-c +flexibility_factor:yv-m-c +flexibility_factor:nl-c +flexibility_factor:nl-c-q +flexibility_factor:nl-t-c-q +flexibility_factor:nl-t-ya-c-q +flexibility_factor:nl-t-yv-ya-c-q +flexibility_factor:nl-t-yv-c-q +flexibility_factor:nl-ya-c-q +flexibility_factor:nl-yv-ya-c-q +flexibility_factor:nl-yv-c-q +flexibility_factor:nl-t-c +flexibility_factor:nl-t-ya-c +flexibility_factor:nl-t-yv-ya-c +flexibility_factor:nl-t-yv-c +flexibility_factor:nl-ya-c +flexibility_factor:nl-yv-ya-c +flexibility_factor:nl-yv-c +flexibility_factor:c-q +flexibility_factor:t-c-q +flexibility_factor:t-ya-c-q +flexibility_factor:t-yv-ya-c-q +flexibility_factor:t-yv-c-q +flexibility_factor:ya-c-q +flexibility_factor:yv-ya-c-q +flexibility_factor:yv-c-q +flexibility_factor:t-c +flexibility_factor:t-ya-c +flexibility_factor:t-yv-ya-c +flexibility_factor:t-yv-c +flexibility_factor:ya-c +flexibility_factor:yv-ya-c +flexibility_factor:yv-c +flexibility_factor:h +flexibility_factor:l-h +flexibility_factor:m-l-h +flexibility_factor:nl-m-l-h +flexibility_factor:nl-m-l-h-q +flexibility_factor:nl-t-m-l-h-q +flexibility_factor:nl-t-ya-m-l-h-q +flexibility_factor:nl-t-yv-ya-m-l-h-q +flexibility_factor:nl-t-yv-m-l-h-q +flexibility_factor:nl-ya-m-l-h-q +flexibility_factor:nl-yv-ya-m-l-h-q +flexibility_factor:nl-yv-m-l-h-q +flexibility_factor:nl-t-m-l-h +flexibility_factor:nl-t-ya-m-l-h +flexibility_factor:nl-t-yv-ya-m-l-h +flexibility_factor:nl-t-yv-m-l-h +flexibility_factor:nl-ya-m-l-h +flexibility_factor:nl-yv-ya-m-l-h +flexibility_factor:nl-yv-m-l-h +flexibility_factor:m-l-h-q +flexibility_factor:t-m-l-h-q +flexibility_factor:t-ya-m-l-h-q +flexibility_factor:t-yv-ya-m-l-h-q +flexibility_factor:t-yv-m-l-h-q +flexibility_factor:ya-m-l-h-q +flexibility_factor:yv-ya-m-l-h-q +flexibility_factor:yv-m-l-h-q +flexibility_factor:t-m-l-h +flexibility_factor:t-ya-m-l-h +flexibility_factor:t-yv-ya-m-l-h +flexibility_factor:t-yv-m-l-h +flexibility_factor:ya-m-l-h +flexibility_factor:yv-ya-m-l-h +flexibility_factor:yv-m-l-h +flexibility_factor:nl-l-h +flexibility_factor:nl-l-h-q +flexibility_factor:nl-t-l-h-q +flexibility_factor:nl-t-ya-l-h-q +flexibility_factor:nl-t-yv-ya-l-h-q +flexibility_factor:nl-t-yv-l-h-q +flexibility_factor:nl-ya-l-h-q +flexibility_factor:nl-yv-ya-l-h-q +flexibility_factor:nl-yv-l-h-q +flexibility_factor:nl-t-l-h +flexibility_factor:nl-t-ya-l-h +flexibility_factor:nl-t-yv-ya-l-h +flexibility_factor:nl-t-yv-l-h +flexibility_factor:nl-ya-l-h +flexibility_factor:nl-yv-ya-l-h +flexibility_factor:nl-yv-l-h +flexibility_factor:l-h-q +flexibility_factor:t-l-h-q +flexibility_factor:t-ya-l-h-q +flexibility_factor:t-yv-ya-l-h-q +flexibility_factor:t-yv-l-h-q +flexibility_factor:ya-l-h-q +flexibility_factor:yv-ya-l-h-q +flexibility_factor:yv-l-h-q +flexibility_factor:t-l-h +flexibility_factor:t-ya-l-h +flexibility_factor:t-yv-ya-l-h +flexibility_factor:t-yv-l-h +flexibility_factor:ya-l-h +flexibility_factor:yv-ya-l-h +flexibility_factor:yv-l-h +flexibility_factor:m-h +flexibility_factor:nl-m-h +flexibility_factor:nl-m-h-q +flexibility_factor:nl-t-m-h-q +flexibility_factor:nl-t-ya-m-h-q +flexibility_factor:nl-t-yv-ya-m-h-q +flexibility_factor:nl-t-yv-m-h-q +flexibility_factor:nl-ya-m-h-q +flexibility_factor:nl-yv-ya-m-h-q +flexibility_factor:nl-yv-m-h-q +flexibility_factor:nl-t-m-h +flexibility_factor:nl-t-ya-m-h +flexibility_factor:nl-t-yv-ya-m-h +flexibility_factor:nl-t-yv-m-h +flexibility_factor:nl-ya-m-h +flexibility_factor:nl-yv-ya-m-h +flexibility_factor:nl-yv-m-h +flexibility_factor:m-h-q +flexibility_factor:t-m-h-q +flexibility_factor:t-ya-m-h-q +flexibility_factor:t-yv-ya-m-h-q +flexibility_factor:t-yv-m-h-q +flexibility_factor:ya-m-h-q +flexibility_factor:yv-ya-m-h-q +flexibility_factor:yv-m-h-q +flexibility_factor:t-m-h +flexibility_factor:t-ya-m-h +flexibility_factor:t-yv-ya-m-h +flexibility_factor:t-yv-m-h +flexibility_factor:ya-m-h +flexibility_factor:yv-ya-m-h +flexibility_factor:yv-m-h +flexibility_factor:nl-h +flexibility_factor:nl-h-q +flexibility_factor:nl-t-h-q +flexibility_factor:nl-t-ya-h-q +flexibility_factor:nl-t-yv-ya-h-q +flexibility_factor:nl-t-yv-h-q +flexibility_factor:nl-ya-h-q +flexibility_factor:nl-yv-ya-h-q +flexibility_factor:nl-yv-h-q +flexibility_factor:nl-t-h +flexibility_factor:nl-t-ya-h +flexibility_factor:nl-t-yv-ya-h +flexibility_factor:nl-t-yv-h +flexibility_factor:nl-ya-h +flexibility_factor:nl-yv-ya-h +flexibility_factor:nl-yv-h +flexibility_factor:h-q +flexibility_factor:t-h-q +flexibility_factor:t-ya-h-q +flexibility_factor:t-yv-ya-h-q +flexibility_factor:t-yv-h-q +flexibility_factor:ya-h-q +flexibility_factor:yv-ya-h-q +flexibility_factor:yv-h-q +flexibility_factor:t-h +flexibility_factor:t-ya-h +flexibility_factor:t-yv-ya-h +flexibility_factor:t-yv-h +flexibility_factor:ya-h +flexibility_factor:yv-ya-h +flexibility_factor:yv-h +flexibility_factor:l +flexibility_factor:m-l +flexibility_factor:nl-m-l +flexibility_factor:nl-m-l-q +flexibility_factor:nl-t-m-l-q +flexibility_factor:nl-t-ya-m-l-q +flexibility_factor:nl-t-yv-ya-m-l-q +flexibility_factor:nl-t-yv-m-l-q +flexibility_factor:nl-ya-m-l-q +flexibility_factor:nl-yv-ya-m-l-q +flexibility_factor:nl-yv-m-l-q +flexibility_factor:nl-t-m-l +flexibility_factor:nl-t-ya-m-l +flexibility_factor:nl-t-yv-ya-m-l +flexibility_factor:nl-t-yv-m-l +flexibility_factor:nl-ya-m-l +flexibility_factor:nl-yv-ya-m-l +flexibility_factor:nl-yv-m-l +flexibility_factor:m-l-q +flexibility_factor:t-m-l-q +flexibility_factor:t-ya-m-l-q +flexibility_factor:t-yv-ya-m-l-q +flexibility_factor:t-yv-m-l-q +flexibility_factor:ya-m-l-q +flexibility_factor:yv-ya-m-l-q +flexibility_factor:yv-m-l-q +flexibility_factor:t-m-l +flexibility_factor:t-ya-m-l +flexibility_factor:t-yv-ya-m-l +flexibility_factor:t-yv-m-l +flexibility_factor:ya-m-l +flexibility_factor:yv-ya-m-l +flexibility_factor:yv-m-l +flexibility_factor:nl-l +flexibility_factor:nl-l-q +flexibility_factor:nl-t-l-q +flexibility_factor:nl-t-ya-l-q +flexibility_factor:nl-t-yv-ya-l-q +flexibility_factor:nl-t-yv-l-q +flexibility_factor:nl-ya-l-q +flexibility_factor:nl-yv-ya-l-q +flexibility_factor:nl-yv-l-q +flexibility_factor:nl-t-l +flexibility_factor:nl-t-ya-l +flexibility_factor:nl-t-yv-ya-l +flexibility_factor:nl-t-yv-l +flexibility_factor:nl-ya-l +flexibility_factor:nl-yv-ya-l +flexibility_factor:nl-yv-l +flexibility_factor:l-q +flexibility_factor:t-l-q +flexibility_factor:t-ya-l-q +flexibility_factor:t-yv-ya-l-q +flexibility_factor:t-yv-l-q +flexibility_factor:ya-l-q +flexibility_factor:yv-ya-l-q +flexibility_factor:yv-l-q +flexibility_factor:t-l +flexibility_factor:t-ya-l +flexibility_factor:t-yv-ya-l +flexibility_factor:t-yv-l +flexibility_factor:ya-l +flexibility_factor:yv-ya-l +flexibility_factor:yv-l +flexibility_factor:m +flexibility_factor:nl-m +flexibility_factor:nl-m-q +flexibility_factor:nl-t-m-q +flexibility_factor:nl-t-ya-m-q +flexibility_factor:nl-t-yv-ya-m-q +flexibility_factor:nl-t-yv-m-q +flexibility_factor:nl-ya-m-q +flexibility_factor:nl-yv-ya-m-q +flexibility_factor:nl-yv-m-q +flexibility_factor:nl-t-m +flexibility_factor:nl-t-ya-m +flexibility_factor:nl-t-yv-ya-m +flexibility_factor:nl-t-yv-m +flexibility_factor:nl-ya-m +flexibility_factor:nl-yv-ya-m +flexibility_factor:nl-yv-m +flexibility_factor:m-q +flexibility_factor:t-m-q +flexibility_factor:t-ya-m-q +flexibility_factor:t-yv-ya-m-q +flexibility_factor:t-yv-m-q +flexibility_factor:ya-m-q +flexibility_factor:yv-ya-m-q +flexibility_factor:yv-m-q +flexibility_factor:t-m +flexibility_factor:t-ya-m +flexibility_factor:t-yv-ya-m +flexibility_factor:t-yv-m +flexibility_factor:ya-m +flexibility_factor:yv-ya-m +flexibility_factor:yv-m +flexibility_factor:nl +flexibility_factor:nl-q +flexibility_factor:nl-t-q +flexibility_factor:nl-t-ya-q +flexibility_factor:nl-t-yv-ya-q +flexibility_factor:nl-t-yv-q +flexibility_factor:nl-ya-q +flexibility_factor:nl-yv-ya-q +flexibility_factor:nl-yv-q +flexibility_factor:nl-t +flexibility_factor:nl-t-ya +flexibility_factor:nl-t-yv-ya +flexibility_factor:nl-t-yv +flexibility_factor:nl-ya +flexibility_factor:nl-yv-ya +flexibility_factor:nl-yv +flexibility_factor:q +flexibility_factor:t-q +flexibility_factor:t-ya-q +flexibility_factor:t-yv-ya-q +flexibility_factor:t-yv-q +flexibility_factor:ya-q +flexibility_factor:yv-ya-q +flexibility_factor:yv-q +flexibility_factor:t +flexibility_factor:t-ya +flexibility_factor:t-yv-ya +flexibility_factor:t-yv +flexibility_factor:ya +flexibility_factor:yv-ya +flexibility_factor:yv +g +growth_activity_lo: +growth_activity_lo:h +growth_activity_lo:nl-h +growth_activity_lo:nl-t-h +growth_activity_lo:nl-t-ya-h +growth_activity_lo:nl-ya-h +growth_activity_lo:t-h +growth_activity_lo:t-ya-h +growth_activity_lo:ya-h +growth_activity_lo:nl +growth_activity_lo:nl-t +growth_activity_lo:nl-t-ya +growth_activity_lo:nl-ya +growth_activity_lo:t +growth_activity_lo:t-ya +growth_activity_lo:ya +growth_activity_up: +growth_activity_up:h +growth_activity_up:nl-h +growth_activity_up:nl-t-h +growth_activity_up:nl-t-ya-h +growth_activity_up:nl-ya-h +growth_activity_up:t-h +growth_activity_up:t-ya-h +growth_activity_up:ya-h +growth_activity_up:nl +growth_activity_up:nl-t +growth_activity_up:nl-t-ya +growth_activity_up:nl-ya +growth_activity_up:t +growth_activity_up:t-ya +growth_activity_up:ya +growth_land_lo: +growth_land_lo:n +growth_land_lo:n-u +growth_land_lo:n-y-u +growth_land_lo:n-y +growth_land_lo:u +growth_land_lo:y-u +growth_land_lo:y +growth_land_scen_lo: +growth_land_scen_lo:n +growth_land_scen_lo:n-s +growth_land_scen_lo:n-s-y +growth_land_scen_lo:n-y +growth_land_scen_lo:s +growth_land_scen_lo:s-y +growth_land_scen_lo:y +growth_land_scen_up: +growth_land_scen_up:n +growth_land_scen_up:n-s +growth_land_scen_up:n-s-y +growth_land_scen_up:n-y +growth_land_scen_up:s +growth_land_scen_up:s-y +growth_land_scen_up:y +growth_land_up: +growth_land_up:n +growth_land_up:n-u +growth_land_up:n-y-u +growth_land_up:n-y +growth_land_up:u +growth_land_up:y-u +growth_land_up:y +growth_new_capacity_lo: +growth_new_capacity_lo:nl +growth_new_capacity_lo:nl-t +growth_new_capacity_lo:nl-t-yv +growth_new_capacity_lo:nl-yv +growth_new_capacity_lo:t +growth_new_capacity_lo:t-yv +growth_new_capacity_lo:yv +growth_new_capacity_up: +growth_new_capacity_up:nl +growth_new_capacity_up:nl-t +growth_new_capacity_up:nl-t-yv +growth_new_capacity_up:nl-yv +growth_new_capacity_up:t +growth_new_capacity_up:t-yv +growth_new_capacity_up:yv +h +historical_activity: +historical_activity:h +historical_activity:m-h +historical_activity:nl-m-h +historical_activity:nl-t-m-h +historical_activity:nl-t-ya-m-h +historical_activity:nl-ya-m-h +historical_activity:t-m-h +historical_activity:t-ya-m-h +historical_activity:ya-m-h +historical_activity:nl-h +historical_activity:nl-t-h +historical_activity:nl-t-ya-h +historical_activity:nl-ya-h +historical_activity:t-h +historical_activity:t-ya-h +historical_activity:ya-h +historical_activity:m +historical_activity:nl-m +historical_activity:nl-t-m +historical_activity:nl-t-ya-m +historical_activity:nl-ya-m +historical_activity:t-m +historical_activity:t-ya-m +historical_activity:ya-m +historical_activity:nl +historical_activity:nl-t +historical_activity:nl-t-ya +historical_activity:nl-ya +historical_activity:t +historical_activity:t-ya +historical_activity:ya +historical_emission: +historical_emission:n +historical_emission:n-type_emission +historical_emission:n-type_emission-type_tec +historical_emission:n-type_emission-type_tec-type_year +historical_emission:n-type_emission-type_year +historical_emission:n-type_tec +historical_emission:n-type_tec-type_year +historical_emission:n-type_year +historical_emission:type_emission +historical_emission:type_emission-type_tec +historical_emission:type_emission-type_tec-type_year +historical_emission:type_emission-type_year +historical_emission:type_tec +historical_emission:type_tec-type_year +historical_emission:type_year +historical_extraction: +historical_extraction:c +historical_extraction:c-g +historical_extraction:n-c-g +historical_extraction:n-c-g-y +historical_extraction:c-g-y +historical_extraction:n-c +historical_extraction:n-c-y +historical_extraction:c-y +historical_extraction:g +historical_extraction:n-g +historical_extraction:n-g-y +historical_extraction:g-y +historical_extraction:n +historical_extraction:n-y +historical_extraction:y +historical_gdp: +historical_gdp:n +historical_gdp:n-y +historical_gdp:y +historical_land: +historical_land:n +historical_land:n-s +historical_land:n-s-y +historical_land:n-y +historical_land:s +historical_land:s-y +historical_land:y +historical_new_capacity: +historical_new_capacity:nl +historical_new_capacity:nl-t +historical_new_capacity:nl-t-yv +historical_new_capacity:nl-yv +historical_new_capacity:t +historical_new_capacity:t-yv +historical_new_capacity:yv +initial_activity_lo: +initial_activity_lo:h +initial_activity_lo:nl-h +initial_activity_lo:nl-t-h +initial_activity_lo:nl-t-ya-h +initial_activity_lo:nl-ya-h +initial_activity_lo:t-h +initial_activity_lo:t-ya-h +initial_activity_lo:ya-h +initial_activity_lo:nl +initial_activity_lo:nl-t +initial_activity_lo:nl-t-ya +initial_activity_lo:nl-ya +initial_activity_lo:t +initial_activity_lo:t-ya +initial_activity_lo:ya +initial_activity_up: +initial_activity_up:h +initial_activity_up:nl-h +initial_activity_up:nl-t-h +initial_activity_up:nl-t-ya-h +initial_activity_up:nl-ya-h +initial_activity_up:t-h +initial_activity_up:t-ya-h +initial_activity_up:ya-h +initial_activity_up:nl +initial_activity_up:nl-t +initial_activity_up:nl-t-ya +initial_activity_up:nl-ya +initial_activity_up:t +initial_activity_up:t-ya +initial_activity_up:ya +initial_land_lo: +initial_land_lo:n +initial_land_lo:n-u +initial_land_lo:n-y-u +initial_land_lo:n-y +initial_land_lo:u +initial_land_lo:y-u +initial_land_lo:y +initial_land_scen_lo: +initial_land_scen_lo:n +initial_land_scen_lo:n-s +initial_land_scen_lo:n-s-y +initial_land_scen_lo:n-y +initial_land_scen_lo:s +initial_land_scen_lo:s-y +initial_land_scen_lo:y +initial_land_scen_up: +initial_land_scen_up:n +initial_land_scen_up:n-s +initial_land_scen_up:n-s-y +initial_land_scen_up:n-y +initial_land_scen_up:s +initial_land_scen_up:s-y +initial_land_scen_up:y +initial_land_up: +initial_land_up:n +initial_land_up:n-u +initial_land_up:n-y-u +initial_land_up:n-y +initial_land_up:u +initial_land_up:y-u +initial_land_up:y +initial_new_capacity_lo: +initial_new_capacity_lo:nl +initial_new_capacity_lo:nl-t +initial_new_capacity_lo:nl-t-yv +initial_new_capacity_lo:nl-yv +initial_new_capacity_lo:t +initial_new_capacity_lo:t-yv +initial_new_capacity_lo:yv +initial_new_capacity_up: +initial_new_capacity_up:nl +initial_new_capacity_up:nl-t +initial_new_capacity_up:nl-t-yv +initial_new_capacity_up:nl-yv +initial_new_capacity_up:t +initial_new_capacity_up:t-yv +initial_new_capacity_up:yv +input: +input:c +input:c-h +input:c-h-ho +input:c-l-h-ho +input:m-c-l-h-ho +input:nl-m-c-l-h-ho +input:nl-m-no-c-l-h-ho +input:nl-t-m-no-c-l-h-ho +input:nl-t-ya-m-no-c-l-h-ho +input:nl-t-yv-ya-m-no-c-l-h-ho +input:nl-t-yv-m-no-c-l-h-ho +input:nl-ya-m-no-c-l-h-ho +input:nl-yv-ya-m-no-c-l-h-ho +input:nl-yv-m-no-c-l-h-ho +input:nl-t-m-c-l-h-ho +input:nl-t-ya-m-c-l-h-ho +input:nl-t-yv-ya-m-c-l-h-ho +input:nl-t-yv-m-c-l-h-ho +input:nl-ya-m-c-l-h-ho +input:nl-yv-ya-m-c-l-h-ho +input:nl-yv-m-c-l-h-ho +input:m-no-c-l-h-ho +input:t-m-no-c-l-h-ho +input:t-ya-m-no-c-l-h-ho +input:t-yv-ya-m-no-c-l-h-ho +input:t-yv-m-no-c-l-h-ho +input:ya-m-no-c-l-h-ho +input:yv-ya-m-no-c-l-h-ho +input:yv-m-no-c-l-h-ho +input:t-m-c-l-h-ho +input:t-ya-m-c-l-h-ho +input:t-yv-ya-m-c-l-h-ho +input:t-yv-m-c-l-h-ho +input:ya-m-c-l-h-ho +input:yv-ya-m-c-l-h-ho +input:yv-m-c-l-h-ho +input:nl-c-l-h-ho +input:nl-no-c-l-h-ho +input:nl-t-no-c-l-h-ho +input:nl-t-ya-no-c-l-h-ho +input:nl-t-yv-ya-no-c-l-h-ho +input:nl-t-yv-no-c-l-h-ho +input:nl-ya-no-c-l-h-ho +input:nl-yv-ya-no-c-l-h-ho +input:nl-yv-no-c-l-h-ho +input:nl-t-c-l-h-ho +input:nl-t-ya-c-l-h-ho +input:nl-t-yv-ya-c-l-h-ho +input:nl-t-yv-c-l-h-ho +input:nl-ya-c-l-h-ho +input:nl-yv-ya-c-l-h-ho +input:nl-yv-c-l-h-ho +input:no-c-l-h-ho +input:t-no-c-l-h-ho +input:t-ya-no-c-l-h-ho +input:t-yv-ya-no-c-l-h-ho +input:t-yv-no-c-l-h-ho +input:ya-no-c-l-h-ho +input:yv-ya-no-c-l-h-ho +input:yv-no-c-l-h-ho +input:t-c-l-h-ho +input:t-ya-c-l-h-ho +input:t-yv-ya-c-l-h-ho +input:t-yv-c-l-h-ho +input:ya-c-l-h-ho +input:yv-ya-c-l-h-ho +input:yv-c-l-h-ho +input:m-c-h-ho +input:nl-m-c-h-ho +input:nl-m-no-c-h-ho +input:nl-t-m-no-c-h-ho +input:nl-t-ya-m-no-c-h-ho +input:nl-t-yv-ya-m-no-c-h-ho +input:nl-t-yv-m-no-c-h-ho +input:nl-ya-m-no-c-h-ho +input:nl-yv-ya-m-no-c-h-ho +input:nl-yv-m-no-c-h-ho +input:nl-t-m-c-h-ho +input:nl-t-ya-m-c-h-ho +input:nl-t-yv-ya-m-c-h-ho +input:nl-t-yv-m-c-h-ho +input:nl-ya-m-c-h-ho +input:nl-yv-ya-m-c-h-ho +input:nl-yv-m-c-h-ho +input:m-no-c-h-ho +input:t-m-no-c-h-ho +input:t-ya-m-no-c-h-ho +input:t-yv-ya-m-no-c-h-ho +input:t-yv-m-no-c-h-ho +input:ya-m-no-c-h-ho +input:yv-ya-m-no-c-h-ho +input:yv-m-no-c-h-ho +input:t-m-c-h-ho +input:t-ya-m-c-h-ho +input:t-yv-ya-m-c-h-ho +input:t-yv-m-c-h-ho +input:ya-m-c-h-ho +input:yv-ya-m-c-h-ho +input:yv-m-c-h-ho +input:nl-c-h-ho +input:nl-no-c-h-ho +input:nl-t-no-c-h-ho +input:nl-t-ya-no-c-h-ho +input:nl-t-yv-ya-no-c-h-ho +input:nl-t-yv-no-c-h-ho +input:nl-ya-no-c-h-ho +input:nl-yv-ya-no-c-h-ho +input:nl-yv-no-c-h-ho +input:nl-t-c-h-ho +input:nl-t-ya-c-h-ho +input:nl-t-yv-ya-c-h-ho +input:nl-t-yv-c-h-ho +input:nl-ya-c-h-ho +input:nl-yv-ya-c-h-ho +input:nl-yv-c-h-ho +input:no-c-h-ho +input:t-no-c-h-ho +input:t-ya-no-c-h-ho +input:t-yv-ya-no-c-h-ho +input:t-yv-no-c-h-ho +input:ya-no-c-h-ho +input:yv-ya-no-c-h-ho +input:yv-no-c-h-ho +input:t-c-h-ho +input:t-ya-c-h-ho +input:t-yv-ya-c-h-ho +input:t-yv-c-h-ho +input:ya-c-h-ho +input:yv-ya-c-h-ho +input:yv-c-h-ho +input:c-l-h +input:m-c-l-h +input:nl-m-c-l-h +input:nl-m-no-c-l-h +input:nl-t-m-no-c-l-h +input:nl-t-ya-m-no-c-l-h +input:nl-t-yv-ya-m-no-c-l-h +input:nl-t-yv-m-no-c-l-h +input:nl-ya-m-no-c-l-h +input:nl-yv-ya-m-no-c-l-h +input:nl-yv-m-no-c-l-h +input:nl-t-m-c-l-h +input:nl-t-ya-m-c-l-h +input:nl-t-yv-ya-m-c-l-h +input:nl-t-yv-m-c-l-h +input:nl-ya-m-c-l-h +input:nl-yv-ya-m-c-l-h +input:nl-yv-m-c-l-h +input:m-no-c-l-h +input:t-m-no-c-l-h +input:t-ya-m-no-c-l-h +input:t-yv-ya-m-no-c-l-h +input:t-yv-m-no-c-l-h +input:ya-m-no-c-l-h +input:yv-ya-m-no-c-l-h +input:yv-m-no-c-l-h +input:t-m-c-l-h +input:t-ya-m-c-l-h +input:t-yv-ya-m-c-l-h +input:t-yv-m-c-l-h +input:ya-m-c-l-h +input:yv-ya-m-c-l-h +input:yv-m-c-l-h +input:nl-c-l-h +input:nl-no-c-l-h +input:nl-t-no-c-l-h +input:nl-t-ya-no-c-l-h +input:nl-t-yv-ya-no-c-l-h +input:nl-t-yv-no-c-l-h +input:nl-ya-no-c-l-h +input:nl-yv-ya-no-c-l-h +input:nl-yv-no-c-l-h +input:nl-t-c-l-h +input:nl-t-ya-c-l-h +input:nl-t-yv-ya-c-l-h +input:nl-t-yv-c-l-h +input:nl-ya-c-l-h +input:nl-yv-ya-c-l-h +input:nl-yv-c-l-h +input:no-c-l-h +input:t-no-c-l-h +input:t-ya-no-c-l-h +input:t-yv-ya-no-c-l-h +input:t-yv-no-c-l-h +input:ya-no-c-l-h +input:yv-ya-no-c-l-h +input:yv-no-c-l-h +input:t-c-l-h +input:t-ya-c-l-h +input:t-yv-ya-c-l-h +input:t-yv-c-l-h +input:ya-c-l-h +input:yv-ya-c-l-h +input:yv-c-l-h +input:m-c-h +input:nl-m-c-h +input:nl-m-no-c-h +input:nl-t-m-no-c-h +input:nl-t-ya-m-no-c-h +input:nl-t-yv-ya-m-no-c-h +input:nl-t-yv-m-no-c-h +input:nl-ya-m-no-c-h +input:nl-yv-ya-m-no-c-h +input:nl-yv-m-no-c-h +input:nl-t-m-c-h +input:nl-t-ya-m-c-h +input:nl-t-yv-ya-m-c-h +input:nl-t-yv-m-c-h +input:nl-ya-m-c-h +input:nl-yv-ya-m-c-h +input:nl-yv-m-c-h +input:m-no-c-h +input:t-m-no-c-h +input:t-ya-m-no-c-h +input:t-yv-ya-m-no-c-h +input:t-yv-m-no-c-h +input:ya-m-no-c-h +input:yv-ya-m-no-c-h +input:yv-m-no-c-h +input:t-m-c-h +input:t-ya-m-c-h +input:t-yv-ya-m-c-h +input:t-yv-m-c-h +input:ya-m-c-h +input:yv-ya-m-c-h +input:yv-m-c-h +input:nl-c-h +input:nl-no-c-h +input:nl-t-no-c-h +input:nl-t-ya-no-c-h +input:nl-t-yv-ya-no-c-h +input:nl-t-yv-no-c-h +input:nl-ya-no-c-h +input:nl-yv-ya-no-c-h +input:nl-yv-no-c-h +input:nl-t-c-h +input:nl-t-ya-c-h +input:nl-t-yv-ya-c-h +input:nl-t-yv-c-h +input:nl-ya-c-h +input:nl-yv-ya-c-h +input:nl-yv-c-h +input:no-c-h +input:t-no-c-h +input:t-ya-no-c-h +input:t-yv-ya-no-c-h +input:t-yv-no-c-h +input:ya-no-c-h +input:yv-ya-no-c-h +input:yv-no-c-h +input:t-c-h +input:t-ya-c-h +input:t-yv-ya-c-h +input:t-yv-c-h +input:ya-c-h +input:yv-ya-c-h +input:yv-c-h +input:c-ho +input:c-l-ho +input:m-c-l-ho +input:nl-m-c-l-ho +input:nl-m-no-c-l-ho +input:nl-t-m-no-c-l-ho +input:nl-t-ya-m-no-c-l-ho +input:nl-t-yv-ya-m-no-c-l-ho +input:nl-t-yv-m-no-c-l-ho +input:nl-ya-m-no-c-l-ho +input:nl-yv-ya-m-no-c-l-ho +input:nl-yv-m-no-c-l-ho +input:nl-t-m-c-l-ho +input:nl-t-ya-m-c-l-ho +input:nl-t-yv-ya-m-c-l-ho +input:nl-t-yv-m-c-l-ho +input:nl-ya-m-c-l-ho +input:nl-yv-ya-m-c-l-ho +input:nl-yv-m-c-l-ho +input:m-no-c-l-ho +input:t-m-no-c-l-ho +input:t-ya-m-no-c-l-ho +input:t-yv-ya-m-no-c-l-ho +input:t-yv-m-no-c-l-ho +input:ya-m-no-c-l-ho +input:yv-ya-m-no-c-l-ho +input:yv-m-no-c-l-ho +input:t-m-c-l-ho +input:t-ya-m-c-l-ho +input:t-yv-ya-m-c-l-ho +input:t-yv-m-c-l-ho +input:ya-m-c-l-ho +input:yv-ya-m-c-l-ho +input:yv-m-c-l-ho +input:nl-c-l-ho +input:nl-no-c-l-ho +input:nl-t-no-c-l-ho +input:nl-t-ya-no-c-l-ho +input:nl-t-yv-ya-no-c-l-ho +input:nl-t-yv-no-c-l-ho +input:nl-ya-no-c-l-ho +input:nl-yv-ya-no-c-l-ho +input:nl-yv-no-c-l-ho +input:nl-t-c-l-ho +input:nl-t-ya-c-l-ho +input:nl-t-yv-ya-c-l-ho +input:nl-t-yv-c-l-ho +input:nl-ya-c-l-ho +input:nl-yv-ya-c-l-ho +input:nl-yv-c-l-ho +input:no-c-l-ho +input:t-no-c-l-ho +input:t-ya-no-c-l-ho +input:t-yv-ya-no-c-l-ho +input:t-yv-no-c-l-ho +input:ya-no-c-l-ho +input:yv-ya-no-c-l-ho +input:yv-no-c-l-ho +input:t-c-l-ho +input:t-ya-c-l-ho +input:t-yv-ya-c-l-ho +input:t-yv-c-l-ho +input:ya-c-l-ho +input:yv-ya-c-l-ho +input:yv-c-l-ho +input:m-c-ho +input:nl-m-c-ho +input:nl-m-no-c-ho +input:nl-t-m-no-c-ho +input:nl-t-ya-m-no-c-ho +input:nl-t-yv-ya-m-no-c-ho +input:nl-t-yv-m-no-c-ho +input:nl-ya-m-no-c-ho +input:nl-yv-ya-m-no-c-ho +input:nl-yv-m-no-c-ho +input:nl-t-m-c-ho +input:nl-t-ya-m-c-ho +input:nl-t-yv-ya-m-c-ho +input:nl-t-yv-m-c-ho +input:nl-ya-m-c-ho +input:nl-yv-ya-m-c-ho +input:nl-yv-m-c-ho +input:m-no-c-ho +input:t-m-no-c-ho +input:t-ya-m-no-c-ho +input:t-yv-ya-m-no-c-ho +input:t-yv-m-no-c-ho +input:ya-m-no-c-ho +input:yv-ya-m-no-c-ho +input:yv-m-no-c-ho +input:t-m-c-ho +input:t-ya-m-c-ho +input:t-yv-ya-m-c-ho +input:t-yv-m-c-ho +input:ya-m-c-ho +input:yv-ya-m-c-ho +input:yv-m-c-ho +input:nl-c-ho +input:nl-no-c-ho +input:nl-t-no-c-ho +input:nl-t-ya-no-c-ho +input:nl-t-yv-ya-no-c-ho +input:nl-t-yv-no-c-ho +input:nl-ya-no-c-ho +input:nl-yv-ya-no-c-ho +input:nl-yv-no-c-ho +input:nl-t-c-ho +input:nl-t-ya-c-ho +input:nl-t-yv-ya-c-ho +input:nl-t-yv-c-ho +input:nl-ya-c-ho +input:nl-yv-ya-c-ho +input:nl-yv-c-ho +input:no-c-ho +input:t-no-c-ho +input:t-ya-no-c-ho +input:t-yv-ya-no-c-ho +input:t-yv-no-c-ho +input:ya-no-c-ho +input:yv-ya-no-c-ho +input:yv-no-c-ho +input:t-c-ho +input:t-ya-c-ho +input:t-yv-ya-c-ho +input:t-yv-c-ho +input:ya-c-ho +input:yv-ya-c-ho +input:yv-c-ho +input:c-l +input:m-c-l +input:nl-m-c-l +input:nl-m-no-c-l +input:nl-t-m-no-c-l +input:nl-t-ya-m-no-c-l +input:nl-t-yv-ya-m-no-c-l +input:nl-t-yv-m-no-c-l +input:nl-ya-m-no-c-l +input:nl-yv-ya-m-no-c-l +input:nl-yv-m-no-c-l +input:nl-t-m-c-l +input:nl-t-ya-m-c-l +input:nl-t-yv-ya-m-c-l +input:nl-t-yv-m-c-l +input:nl-ya-m-c-l +input:nl-yv-ya-m-c-l +input:nl-yv-m-c-l +input:m-no-c-l +input:t-m-no-c-l +input:t-ya-m-no-c-l +input:t-yv-ya-m-no-c-l +input:t-yv-m-no-c-l +input:ya-m-no-c-l +input:yv-ya-m-no-c-l +input:yv-m-no-c-l +input:t-m-c-l +input:t-ya-m-c-l +input:t-yv-ya-m-c-l +input:t-yv-m-c-l +input:ya-m-c-l +input:yv-ya-m-c-l +input:yv-m-c-l +input:nl-c-l +input:nl-no-c-l +input:nl-t-no-c-l +input:nl-t-ya-no-c-l +input:nl-t-yv-ya-no-c-l +input:nl-t-yv-no-c-l +input:nl-ya-no-c-l +input:nl-yv-ya-no-c-l +input:nl-yv-no-c-l +input:nl-t-c-l +input:nl-t-ya-c-l +input:nl-t-yv-ya-c-l +input:nl-t-yv-c-l +input:nl-ya-c-l +input:nl-yv-ya-c-l +input:nl-yv-c-l +input:no-c-l +input:t-no-c-l +input:t-ya-no-c-l +input:t-yv-ya-no-c-l +input:t-yv-no-c-l +input:ya-no-c-l +input:yv-ya-no-c-l +input:yv-no-c-l +input:t-c-l +input:t-ya-c-l +input:t-yv-ya-c-l +input:t-yv-c-l +input:ya-c-l +input:yv-ya-c-l +input:yv-c-l +input:m-c +input:nl-m-c +input:nl-m-no-c +input:nl-t-m-no-c +input:nl-t-ya-m-no-c +input:nl-t-yv-ya-m-no-c +input:nl-t-yv-m-no-c +input:nl-ya-m-no-c +input:nl-yv-ya-m-no-c +input:nl-yv-m-no-c +input:nl-t-m-c +input:nl-t-ya-m-c +input:nl-t-yv-ya-m-c +input:nl-t-yv-m-c +input:nl-ya-m-c +input:nl-yv-ya-m-c +input:nl-yv-m-c +input:m-no-c +input:t-m-no-c +input:t-ya-m-no-c +input:t-yv-ya-m-no-c +input:t-yv-m-no-c +input:ya-m-no-c +input:yv-ya-m-no-c +input:yv-m-no-c +input:t-m-c +input:t-ya-m-c +input:t-yv-ya-m-c +input:t-yv-m-c +input:ya-m-c +input:yv-ya-m-c +input:yv-m-c +input:nl-c +input:nl-no-c +input:nl-t-no-c +input:nl-t-ya-no-c +input:nl-t-yv-ya-no-c +input:nl-t-yv-no-c +input:nl-ya-no-c +input:nl-yv-ya-no-c +input:nl-yv-no-c +input:nl-t-c +input:nl-t-ya-c +input:nl-t-yv-ya-c +input:nl-t-yv-c +input:nl-ya-c +input:nl-yv-ya-c +input:nl-yv-c +input:no-c +input:t-no-c +input:t-ya-no-c +input:t-yv-ya-no-c +input:t-yv-no-c +input:ya-no-c +input:yv-ya-no-c +input:yv-no-c +input:t-c +input:t-ya-c +input:t-yv-ya-c +input:t-yv-c +input:ya-c +input:yv-ya-c +input:yv-c +input:h +input:h-ho +input:l-h-ho +input:m-l-h-ho +input:nl-m-l-h-ho +input:nl-m-no-l-h-ho +input:nl-t-m-no-l-h-ho +input:nl-t-ya-m-no-l-h-ho +input:nl-t-yv-ya-m-no-l-h-ho +input:nl-t-yv-m-no-l-h-ho +input:nl-ya-m-no-l-h-ho +input:nl-yv-ya-m-no-l-h-ho +input:nl-yv-m-no-l-h-ho +input:nl-t-m-l-h-ho +input:nl-t-ya-m-l-h-ho +input:nl-t-yv-ya-m-l-h-ho +input:nl-t-yv-m-l-h-ho +input:nl-ya-m-l-h-ho +input:nl-yv-ya-m-l-h-ho +input:nl-yv-m-l-h-ho +input:m-no-l-h-ho +input:t-m-no-l-h-ho +input:t-ya-m-no-l-h-ho +input:t-yv-ya-m-no-l-h-ho +input:t-yv-m-no-l-h-ho +input:ya-m-no-l-h-ho +input:yv-ya-m-no-l-h-ho +input:yv-m-no-l-h-ho +input:t-m-l-h-ho +input:t-ya-m-l-h-ho +input:t-yv-ya-m-l-h-ho +input:t-yv-m-l-h-ho +input:ya-m-l-h-ho +input:yv-ya-m-l-h-ho +input:yv-m-l-h-ho +input:nl-l-h-ho +input:nl-no-l-h-ho +input:nl-t-no-l-h-ho +input:nl-t-ya-no-l-h-ho +input:nl-t-yv-ya-no-l-h-ho +input:nl-t-yv-no-l-h-ho +input:nl-ya-no-l-h-ho +input:nl-yv-ya-no-l-h-ho +input:nl-yv-no-l-h-ho +input:nl-t-l-h-ho +input:nl-t-ya-l-h-ho +input:nl-t-yv-ya-l-h-ho +input:nl-t-yv-l-h-ho +input:nl-ya-l-h-ho +input:nl-yv-ya-l-h-ho +input:nl-yv-l-h-ho +input:no-l-h-ho +input:t-no-l-h-ho +input:t-ya-no-l-h-ho +input:t-yv-ya-no-l-h-ho +input:t-yv-no-l-h-ho +input:ya-no-l-h-ho +input:yv-ya-no-l-h-ho +input:yv-no-l-h-ho +input:t-l-h-ho +input:t-ya-l-h-ho +input:t-yv-ya-l-h-ho +input:t-yv-l-h-ho +input:ya-l-h-ho +input:yv-ya-l-h-ho +input:yv-l-h-ho +input:m-h-ho +input:nl-m-h-ho +input:nl-m-no-h-ho +input:nl-t-m-no-h-ho +input:nl-t-ya-m-no-h-ho +input:nl-t-yv-ya-m-no-h-ho +input:nl-t-yv-m-no-h-ho +input:nl-ya-m-no-h-ho +input:nl-yv-ya-m-no-h-ho +input:nl-yv-m-no-h-ho +input:nl-t-m-h-ho +input:nl-t-ya-m-h-ho +input:nl-t-yv-ya-m-h-ho +input:nl-t-yv-m-h-ho +input:nl-ya-m-h-ho +input:nl-yv-ya-m-h-ho +input:nl-yv-m-h-ho +input:m-no-h-ho +input:t-m-no-h-ho +input:t-ya-m-no-h-ho +input:t-yv-ya-m-no-h-ho +input:t-yv-m-no-h-ho +input:ya-m-no-h-ho +input:yv-ya-m-no-h-ho +input:yv-m-no-h-ho +input:t-m-h-ho +input:t-ya-m-h-ho +input:t-yv-ya-m-h-ho +input:t-yv-m-h-ho +input:ya-m-h-ho +input:yv-ya-m-h-ho +input:yv-m-h-ho +input:nl-h-ho +input:nl-no-h-ho +input:nl-t-no-h-ho +input:nl-t-ya-no-h-ho +input:nl-t-yv-ya-no-h-ho +input:nl-t-yv-no-h-ho +input:nl-ya-no-h-ho +input:nl-yv-ya-no-h-ho +input:nl-yv-no-h-ho +input:nl-t-h-ho +input:nl-t-ya-h-ho +input:nl-t-yv-ya-h-ho +input:nl-t-yv-h-ho +input:nl-ya-h-ho +input:nl-yv-ya-h-ho +input:nl-yv-h-ho +input:no-h-ho +input:t-no-h-ho +input:t-ya-no-h-ho +input:t-yv-ya-no-h-ho +input:t-yv-no-h-ho +input:ya-no-h-ho +input:yv-ya-no-h-ho +input:yv-no-h-ho +input:t-h-ho +input:t-ya-h-ho +input:t-yv-ya-h-ho +input:t-yv-h-ho +input:ya-h-ho +input:yv-ya-h-ho +input:yv-h-ho +input:l-h +input:m-l-h +input:nl-m-l-h +input:nl-m-no-l-h +input:nl-t-m-no-l-h +input:nl-t-ya-m-no-l-h +input:nl-t-yv-ya-m-no-l-h +input:nl-t-yv-m-no-l-h +input:nl-ya-m-no-l-h +input:nl-yv-ya-m-no-l-h +input:nl-yv-m-no-l-h +input:nl-t-m-l-h +input:nl-t-ya-m-l-h +input:nl-t-yv-ya-m-l-h +input:nl-t-yv-m-l-h +input:nl-ya-m-l-h +input:nl-yv-ya-m-l-h +input:nl-yv-m-l-h +input:m-no-l-h +input:t-m-no-l-h +input:t-ya-m-no-l-h +input:t-yv-ya-m-no-l-h +input:t-yv-m-no-l-h +input:ya-m-no-l-h +input:yv-ya-m-no-l-h +input:yv-m-no-l-h +input:t-m-l-h +input:t-ya-m-l-h +input:t-yv-ya-m-l-h +input:t-yv-m-l-h +input:ya-m-l-h +input:yv-ya-m-l-h +input:yv-m-l-h +input:nl-l-h +input:nl-no-l-h +input:nl-t-no-l-h +input:nl-t-ya-no-l-h +input:nl-t-yv-ya-no-l-h +input:nl-t-yv-no-l-h +input:nl-ya-no-l-h +input:nl-yv-ya-no-l-h +input:nl-yv-no-l-h +input:nl-t-l-h +input:nl-t-ya-l-h +input:nl-t-yv-ya-l-h +input:nl-t-yv-l-h +input:nl-ya-l-h +input:nl-yv-ya-l-h +input:nl-yv-l-h +input:no-l-h +input:t-no-l-h +input:t-ya-no-l-h +input:t-yv-ya-no-l-h +input:t-yv-no-l-h +input:ya-no-l-h +input:yv-ya-no-l-h +input:yv-no-l-h +input:t-l-h +input:t-ya-l-h +input:t-yv-ya-l-h +input:t-yv-l-h +input:ya-l-h +input:yv-ya-l-h +input:yv-l-h +input:m-h +input:nl-m-h +input:nl-m-no-h +input:nl-t-m-no-h +input:nl-t-ya-m-no-h +input:nl-t-yv-ya-m-no-h +input:nl-t-yv-m-no-h +input:nl-ya-m-no-h +input:nl-yv-ya-m-no-h +input:nl-yv-m-no-h +input:nl-t-m-h +input:nl-t-ya-m-h +input:nl-t-yv-ya-m-h +input:nl-t-yv-m-h +input:nl-ya-m-h +input:nl-yv-ya-m-h +input:nl-yv-m-h +input:m-no-h +input:t-m-no-h +input:t-ya-m-no-h +input:t-yv-ya-m-no-h +input:t-yv-m-no-h +input:ya-m-no-h +input:yv-ya-m-no-h +input:yv-m-no-h +input:t-m-h +input:t-ya-m-h +input:t-yv-ya-m-h +input:t-yv-m-h +input:ya-m-h +input:yv-ya-m-h +input:yv-m-h +input:nl-h +input:nl-no-h +input:nl-t-no-h +input:nl-t-ya-no-h +input:nl-t-yv-ya-no-h +input:nl-t-yv-no-h +input:nl-ya-no-h +input:nl-yv-ya-no-h +input:nl-yv-no-h +input:nl-t-h +input:nl-t-ya-h +input:nl-t-yv-ya-h +input:nl-t-yv-h +input:nl-ya-h +input:nl-yv-ya-h +input:nl-yv-h +input:no-h +input:t-no-h +input:t-ya-no-h +input:t-yv-ya-no-h +input:t-yv-no-h +input:ya-no-h +input:yv-ya-no-h +input:yv-no-h +input:t-h +input:t-ya-h +input:t-yv-ya-h +input:t-yv-h +input:ya-h +input:yv-ya-h +input:yv-h +input:ho +input:l-ho +input:m-l-ho +input:nl-m-l-ho +input:nl-m-no-l-ho +input:nl-t-m-no-l-ho +input:nl-t-ya-m-no-l-ho +input:nl-t-yv-ya-m-no-l-ho +input:nl-t-yv-m-no-l-ho +input:nl-ya-m-no-l-ho +input:nl-yv-ya-m-no-l-ho +input:nl-yv-m-no-l-ho +input:nl-t-m-l-ho +input:nl-t-ya-m-l-ho +input:nl-t-yv-ya-m-l-ho +input:nl-t-yv-m-l-ho +input:nl-ya-m-l-ho +input:nl-yv-ya-m-l-ho +input:nl-yv-m-l-ho +input:m-no-l-ho +input:t-m-no-l-ho +input:t-ya-m-no-l-ho +input:t-yv-ya-m-no-l-ho +input:t-yv-m-no-l-ho +input:ya-m-no-l-ho +input:yv-ya-m-no-l-ho +input:yv-m-no-l-ho +input:t-m-l-ho +input:t-ya-m-l-ho +input:t-yv-ya-m-l-ho +input:t-yv-m-l-ho +input:ya-m-l-ho +input:yv-ya-m-l-ho +input:yv-m-l-ho +input:nl-l-ho +input:nl-no-l-ho +input:nl-t-no-l-ho +input:nl-t-ya-no-l-ho +input:nl-t-yv-ya-no-l-ho +input:nl-t-yv-no-l-ho +input:nl-ya-no-l-ho +input:nl-yv-ya-no-l-ho +input:nl-yv-no-l-ho +input:nl-t-l-ho +input:nl-t-ya-l-ho +input:nl-t-yv-ya-l-ho +input:nl-t-yv-l-ho +input:nl-ya-l-ho +input:nl-yv-ya-l-ho +input:nl-yv-l-ho +input:no-l-ho +input:t-no-l-ho +input:t-ya-no-l-ho +input:t-yv-ya-no-l-ho +input:t-yv-no-l-ho +input:ya-no-l-ho +input:yv-ya-no-l-ho +input:yv-no-l-ho +input:t-l-ho +input:t-ya-l-ho +input:t-yv-ya-l-ho +input:t-yv-l-ho +input:ya-l-ho +input:yv-ya-l-ho +input:yv-l-ho +input:m-ho +input:nl-m-ho +input:nl-m-no-ho +input:nl-t-m-no-ho +input:nl-t-ya-m-no-ho +input:nl-t-yv-ya-m-no-ho +input:nl-t-yv-m-no-ho +input:nl-ya-m-no-ho +input:nl-yv-ya-m-no-ho +input:nl-yv-m-no-ho +input:nl-t-m-ho +input:nl-t-ya-m-ho +input:nl-t-yv-ya-m-ho +input:nl-t-yv-m-ho +input:nl-ya-m-ho +input:nl-yv-ya-m-ho +input:nl-yv-m-ho +input:m-no-ho +input:t-m-no-ho +input:t-ya-m-no-ho +input:t-yv-ya-m-no-ho +input:t-yv-m-no-ho +input:ya-m-no-ho +input:yv-ya-m-no-ho +input:yv-m-no-ho +input:t-m-ho +input:t-ya-m-ho +input:t-yv-ya-m-ho +input:t-yv-m-ho +input:ya-m-ho +input:yv-ya-m-ho +input:yv-m-ho +input:nl-ho +input:nl-no-ho +input:nl-t-no-ho +input:nl-t-ya-no-ho +input:nl-t-yv-ya-no-ho +input:nl-t-yv-no-ho +input:nl-ya-no-ho +input:nl-yv-ya-no-ho +input:nl-yv-no-ho +input:nl-t-ho +input:nl-t-ya-ho +input:nl-t-yv-ya-ho +input:nl-t-yv-ho +input:nl-ya-ho +input:nl-yv-ya-ho +input:nl-yv-ho +input:no-ho +input:t-no-ho +input:t-ya-no-ho +input:t-yv-ya-no-ho +input:t-yv-no-ho +input:ya-no-ho +input:yv-ya-no-ho +input:yv-no-ho +input:t-ho +input:t-ya-ho +input:t-yv-ya-ho +input:t-yv-ho +input:ya-ho +input:yv-ya-ho +input:yv-ho +input:l +input:m-l +input:nl-m-l +input:nl-m-no-l +input:nl-t-m-no-l +input:nl-t-ya-m-no-l +input:nl-t-yv-ya-m-no-l +input:nl-t-yv-m-no-l +input:nl-ya-m-no-l +input:nl-yv-ya-m-no-l +input:nl-yv-m-no-l +input:nl-t-m-l +input:nl-t-ya-m-l +input:nl-t-yv-ya-m-l +input:nl-t-yv-m-l +input:nl-ya-m-l +input:nl-yv-ya-m-l +input:nl-yv-m-l +input:m-no-l +input:t-m-no-l +input:t-ya-m-no-l +input:t-yv-ya-m-no-l +input:t-yv-m-no-l +input:ya-m-no-l +input:yv-ya-m-no-l +input:yv-m-no-l +input:t-m-l +input:t-ya-m-l +input:t-yv-ya-m-l +input:t-yv-m-l +input:ya-m-l +input:yv-ya-m-l +input:yv-m-l +input:nl-l +input:nl-no-l +input:nl-t-no-l +input:nl-t-ya-no-l +input:nl-t-yv-ya-no-l +input:nl-t-yv-no-l +input:nl-ya-no-l +input:nl-yv-ya-no-l +input:nl-yv-no-l +input:nl-t-l +input:nl-t-ya-l +input:nl-t-yv-ya-l +input:nl-t-yv-l +input:nl-ya-l +input:nl-yv-ya-l +input:nl-yv-l +input:no-l +input:t-no-l +input:t-ya-no-l +input:t-yv-ya-no-l +input:t-yv-no-l +input:ya-no-l +input:yv-ya-no-l +input:yv-no-l +input:t-l +input:t-ya-l +input:t-yv-ya-l +input:t-yv-l +input:ya-l +input:yv-ya-l +input:yv-l +input:m +input:nl-m +input:nl-m-no +input:nl-t-m-no +input:nl-t-ya-m-no +input:nl-t-yv-ya-m-no +input:nl-t-yv-m-no +input:nl-ya-m-no +input:nl-yv-ya-m-no +input:nl-yv-m-no +input:nl-t-m +input:nl-t-ya-m +input:nl-t-yv-ya-m +input:nl-t-yv-m +input:nl-ya-m +input:nl-yv-ya-m +input:nl-yv-m +input:m-no +input:t-m-no +input:t-ya-m-no +input:t-yv-ya-m-no +input:t-yv-m-no +input:ya-m-no +input:yv-ya-m-no +input:yv-m-no +input:t-m +input:t-ya-m +input:t-yv-ya-m +input:t-yv-m +input:ya-m +input:yv-ya-m +input:yv-m +input:nl +input:nl-no +input:nl-t-no +input:nl-t-ya-no +input:nl-t-yv-ya-no +input:nl-t-yv-no +input:nl-ya-no +input:nl-yv-ya-no +input:nl-yv-no +input:nl-t +input:nl-t-ya +input:nl-t-yv-ya +input:nl-t-yv +input:nl-ya +input:nl-yv-ya +input:nl-yv +input:no +input:t-no +input:t-ya-no +input:t-yv-ya-no +input:t-yv-no +input:ya-no +input:yv-ya-no +input:yv-no +input:t +input:t-ya +input:t-yv-ya +input:t-yv +input:ya +input:yv-ya +input:yv +interestrate: +interestrate:y +inv_cost: +inv_cost:nl +inv_cost:nl-t +inv_cost:nl-t-yv +inv_cost:nl-yv +inv_cost:t +inv_cost:t-yv +inv_cost:yv +is_capacity_factor +l +land_cost: +land_cost:n +land_cost:n-s +land_cost:n-s-y +land_cost:n-y +land_cost:s +land_cost:s-y +land_cost:y +land_emission: +land_emission:e +land_emission:n-e +land_emission:n-s-e +land_emission:n-s-y-e +land_emission:n-y-e +land_emission:s-e +land_emission:s-y-e +land_emission:y-e +land_emission:n +land_emission:n-s +land_emission:n-s-y +land_emission:n-y +land_emission:s +land_emission:s-y +land_emission:y +land_input: +land_input:c +land_input:c-h +land_input:c-l-h +land_input:n-c-l-h +land_input:n-s-c-l-h +land_input:n-s-y-c-l-h +land_input:n-y-c-l-h +land_input:s-c-l-h +land_input:s-y-c-l-h +land_input:y-c-l-h +land_input:n-c-h +land_input:n-s-c-h +land_input:n-s-y-c-h +land_input:n-y-c-h +land_input:s-c-h +land_input:s-y-c-h +land_input:y-c-h +land_input:c-l +land_input:n-c-l +land_input:n-s-c-l +land_input:n-s-y-c-l +land_input:n-y-c-l +land_input:s-c-l +land_input:s-y-c-l +land_input:y-c-l +land_input:n-c +land_input:n-s-c +land_input:n-s-y-c +land_input:n-y-c +land_input:s-c +land_input:s-y-c +land_input:y-c +land_input:h +land_input:l-h +land_input:n-l-h +land_input:n-s-l-h +land_input:n-s-y-l-h +land_input:n-y-l-h +land_input:s-l-h +land_input:s-y-l-h +land_input:y-l-h +land_input:n-h +land_input:n-s-h +land_input:n-s-y-h +land_input:n-y-h +land_input:s-h +land_input:s-y-h +land_input:y-h +land_input:l +land_input:n-l +land_input:n-s-l +land_input:n-s-y-l +land_input:n-y-l +land_input:s-l +land_input:s-y-l +land_input:y-l +land_input:n +land_input:n-s +land_input:n-s-y +land_input:n-y +land_input:s +land_input:s-y +land_input:y +land_output: +land_output:c +land_output:c-h +land_output:c-l-h +land_output:n-c-l-h +land_output:n-s-c-l-h +land_output:n-s-y-c-l-h +land_output:n-y-c-l-h +land_output:s-c-l-h +land_output:s-y-c-l-h +land_output:y-c-l-h +land_output:n-c-h +land_output:n-s-c-h +land_output:n-s-y-c-h +land_output:n-y-c-h +land_output:s-c-h +land_output:s-y-c-h +land_output:y-c-h +land_output:c-l +land_output:n-c-l +land_output:n-s-c-l +land_output:n-s-y-c-l +land_output:n-y-c-l +land_output:s-c-l +land_output:s-y-c-l +land_output:y-c-l +land_output:n-c +land_output:n-s-c +land_output:n-s-y-c +land_output:n-y-c +land_output:s-c +land_output:s-y-c +land_output:y-c +land_output:h +land_output:l-h +land_output:n-l-h +land_output:n-s-l-h +land_output:n-s-y-l-h +land_output:n-y-l-h +land_output:s-l-h +land_output:s-y-l-h +land_output:y-l-h +land_output:n-h +land_output:n-s-h +land_output:n-s-y-h +land_output:n-y-h +land_output:s-h +land_output:s-y-h +land_output:y-h +land_output:l +land_output:n-l +land_output:n-s-l +land_output:n-s-y-l +land_output:n-y-l +land_output:s-l +land_output:s-y-l +land_output:y-l +land_output:n +land_output:n-s +land_output:n-s-y +land_output:n-y +land_output:s +land_output:s-y +land_output:y +land_use: +land_use:n +land_use:n-s +land_use:n-s-u +land_use:n-s-y-u +land_use:n-s-y +land_use:n-u +land_use:n-y-u +land_use:n-y +land_use:s +land_use:s-u +land_use:s-y-u +land_use:s-y +land_use:u +land_use:y-u +land_use:y +level_cost_activity_soft_lo: +level_cost_activity_soft_lo:h +level_cost_activity_soft_lo:nl-h +level_cost_activity_soft_lo:nl-t-h +level_cost_activity_soft_lo:nl-t-ya-h +level_cost_activity_soft_lo:nl-ya-h +level_cost_activity_soft_lo:t-h +level_cost_activity_soft_lo:t-ya-h +level_cost_activity_soft_lo:ya-h +level_cost_activity_soft_lo:nl +level_cost_activity_soft_lo:nl-t +level_cost_activity_soft_lo:nl-t-ya +level_cost_activity_soft_lo:nl-ya +level_cost_activity_soft_lo:t +level_cost_activity_soft_lo:t-ya +level_cost_activity_soft_lo:ya +level_cost_activity_soft_up: +level_cost_activity_soft_up:h +level_cost_activity_soft_up:nl-h +level_cost_activity_soft_up:nl-t-h +level_cost_activity_soft_up:nl-t-ya-h +level_cost_activity_soft_up:nl-ya-h +level_cost_activity_soft_up:t-h +level_cost_activity_soft_up:t-ya-h +level_cost_activity_soft_up:ya-h +level_cost_activity_soft_up:nl +level_cost_activity_soft_up:nl-t +level_cost_activity_soft_up:nl-t-ya +level_cost_activity_soft_up:nl-ya +level_cost_activity_soft_up:t +level_cost_activity_soft_up:t-ya +level_cost_activity_soft_up:ya +level_cost_new_capacity_soft_lo: +level_cost_new_capacity_soft_lo:nl +level_cost_new_capacity_soft_lo:nl-t +level_cost_new_capacity_soft_lo:nl-t-yv +level_cost_new_capacity_soft_lo:nl-yv +level_cost_new_capacity_soft_lo:t +level_cost_new_capacity_soft_lo:t-yv +level_cost_new_capacity_soft_lo:yv +level_cost_new_capacity_soft_up: +level_cost_new_capacity_soft_up:nl +level_cost_new_capacity_soft_up:nl-t +level_cost_new_capacity_soft_up:nl-t-yv +level_cost_new_capacity_soft_up:nl-yv +level_cost_new_capacity_soft_up:t +level_cost_new_capacity_soft_up:t-yv +level_cost_new_capacity_soft_up:yv +level_renewable +level_resource +level_stocks +level_storage +lvl_spatial +lvl_temporal +m +map_node +map_shares_commodity_share +map_shares_commodity_total +map_spatial_hierarchy +map_tec_addon +map_tec_storage +map_temporal_hierarchy +map_time +min_utilization_factor: +min_utilization_factor:nl +min_utilization_factor:nl-t +min_utilization_factor:nl-t-ya +min_utilization_factor:nl-t-yv-ya +min_utilization_factor:nl-t-yv +min_utilization_factor:nl-ya +min_utilization_factor:nl-yv-ya +min_utilization_factor:nl-yv +min_utilization_factor:t +min_utilization_factor:t-ya +min_utilization_factor:t-yv-ya +min_utilization_factor:t-yv +min_utilization_factor:ya +min_utilization_factor:yv-ya +min_utilization_factor:yv +n +operation_factor: +operation_factor:nl +operation_factor:nl-t +operation_factor:nl-t-ya +operation_factor:nl-t-yv-ya +operation_factor:nl-t-yv +operation_factor:nl-ya +operation_factor:nl-yv-ya +operation_factor:nl-yv +operation_factor:t +operation_factor:t-ya +operation_factor:t-yv-ya +operation_factor:t-yv +operation_factor:ya +operation_factor:yv-ya +operation_factor:yv +output: +output:c +output:c-h +output:c-h-hd +output:c-l-h-hd +output:m-c-l-h-hd +output:m-nd-c-l-h-hd +output:nl-m-nd-c-l-h-hd +output:nl-t-m-nd-c-l-h-hd +output:nl-t-ya-m-nd-c-l-h-hd +output:nl-t-yv-ya-m-nd-c-l-h-hd +output:nl-t-yv-m-nd-c-l-h-hd +output:nl-ya-m-nd-c-l-h-hd +output:nl-yv-ya-m-nd-c-l-h-hd +output:nl-yv-m-nd-c-l-h-hd +output:t-m-nd-c-l-h-hd +output:t-ya-m-nd-c-l-h-hd +output:t-yv-ya-m-nd-c-l-h-hd +output:t-yv-m-nd-c-l-h-hd +output:ya-m-nd-c-l-h-hd +output:yv-ya-m-nd-c-l-h-hd +output:yv-m-nd-c-l-h-hd +output:nl-m-c-l-h-hd +output:nl-t-m-c-l-h-hd +output:nl-t-ya-m-c-l-h-hd +output:nl-t-yv-ya-m-c-l-h-hd +output:nl-t-yv-m-c-l-h-hd +output:nl-ya-m-c-l-h-hd +output:nl-yv-ya-m-c-l-h-hd +output:nl-yv-m-c-l-h-hd +output:t-m-c-l-h-hd +output:t-ya-m-c-l-h-hd +output:t-yv-ya-m-c-l-h-hd +output:t-yv-m-c-l-h-hd +output:ya-m-c-l-h-hd +output:yv-ya-m-c-l-h-hd +output:yv-m-c-l-h-hd +output:nd-c-l-h-hd +output:nl-nd-c-l-h-hd +output:nl-t-nd-c-l-h-hd +output:nl-t-ya-nd-c-l-h-hd +output:nl-t-yv-ya-nd-c-l-h-hd +output:nl-t-yv-nd-c-l-h-hd +output:nl-ya-nd-c-l-h-hd +output:nl-yv-ya-nd-c-l-h-hd +output:nl-yv-nd-c-l-h-hd +output:t-nd-c-l-h-hd +output:t-ya-nd-c-l-h-hd +output:t-yv-ya-nd-c-l-h-hd +output:t-yv-nd-c-l-h-hd +output:ya-nd-c-l-h-hd +output:yv-ya-nd-c-l-h-hd +output:yv-nd-c-l-h-hd +output:nl-c-l-h-hd +output:nl-t-c-l-h-hd +output:nl-t-ya-c-l-h-hd +output:nl-t-yv-ya-c-l-h-hd +output:nl-t-yv-c-l-h-hd +output:nl-ya-c-l-h-hd +output:nl-yv-ya-c-l-h-hd +output:nl-yv-c-l-h-hd +output:t-c-l-h-hd +output:t-ya-c-l-h-hd +output:t-yv-ya-c-l-h-hd +output:t-yv-c-l-h-hd +output:ya-c-l-h-hd +output:yv-ya-c-l-h-hd +output:yv-c-l-h-hd +output:m-c-h-hd +output:m-nd-c-h-hd +output:nl-m-nd-c-h-hd +output:nl-t-m-nd-c-h-hd +output:nl-t-ya-m-nd-c-h-hd +output:nl-t-yv-ya-m-nd-c-h-hd +output:nl-t-yv-m-nd-c-h-hd +output:nl-ya-m-nd-c-h-hd +output:nl-yv-ya-m-nd-c-h-hd +output:nl-yv-m-nd-c-h-hd +output:t-m-nd-c-h-hd +output:t-ya-m-nd-c-h-hd +output:t-yv-ya-m-nd-c-h-hd +output:t-yv-m-nd-c-h-hd +output:ya-m-nd-c-h-hd +output:yv-ya-m-nd-c-h-hd +output:yv-m-nd-c-h-hd +output:nl-m-c-h-hd +output:nl-t-m-c-h-hd +output:nl-t-ya-m-c-h-hd +output:nl-t-yv-ya-m-c-h-hd +output:nl-t-yv-m-c-h-hd +output:nl-ya-m-c-h-hd +output:nl-yv-ya-m-c-h-hd +output:nl-yv-m-c-h-hd +output:t-m-c-h-hd +output:t-ya-m-c-h-hd +output:t-yv-ya-m-c-h-hd +output:t-yv-m-c-h-hd +output:ya-m-c-h-hd +output:yv-ya-m-c-h-hd +output:yv-m-c-h-hd +output:nd-c-h-hd +output:nl-nd-c-h-hd +output:nl-t-nd-c-h-hd +output:nl-t-ya-nd-c-h-hd +output:nl-t-yv-ya-nd-c-h-hd +output:nl-t-yv-nd-c-h-hd +output:nl-ya-nd-c-h-hd +output:nl-yv-ya-nd-c-h-hd +output:nl-yv-nd-c-h-hd +output:t-nd-c-h-hd +output:t-ya-nd-c-h-hd +output:t-yv-ya-nd-c-h-hd +output:t-yv-nd-c-h-hd +output:ya-nd-c-h-hd +output:yv-ya-nd-c-h-hd +output:yv-nd-c-h-hd +output:nl-c-h-hd +output:nl-t-c-h-hd +output:nl-t-ya-c-h-hd +output:nl-t-yv-ya-c-h-hd +output:nl-t-yv-c-h-hd +output:nl-ya-c-h-hd +output:nl-yv-ya-c-h-hd +output:nl-yv-c-h-hd +output:t-c-h-hd +output:t-ya-c-h-hd +output:t-yv-ya-c-h-hd +output:t-yv-c-h-hd +output:ya-c-h-hd +output:yv-ya-c-h-hd +output:yv-c-h-hd +output:c-l-h +output:m-c-l-h +output:m-nd-c-l-h +output:nl-m-nd-c-l-h +output:nl-t-m-nd-c-l-h +output:nl-t-ya-m-nd-c-l-h +output:nl-t-yv-ya-m-nd-c-l-h +output:nl-t-yv-m-nd-c-l-h +output:nl-ya-m-nd-c-l-h +output:nl-yv-ya-m-nd-c-l-h +output:nl-yv-m-nd-c-l-h +output:t-m-nd-c-l-h +output:t-ya-m-nd-c-l-h +output:t-yv-ya-m-nd-c-l-h +output:t-yv-m-nd-c-l-h +output:ya-m-nd-c-l-h +output:yv-ya-m-nd-c-l-h +output:yv-m-nd-c-l-h +output:nl-m-c-l-h +output:nl-t-m-c-l-h +output:nl-t-ya-m-c-l-h +output:nl-t-yv-ya-m-c-l-h +output:nl-t-yv-m-c-l-h +output:nl-ya-m-c-l-h +output:nl-yv-ya-m-c-l-h +output:nl-yv-m-c-l-h +output:t-m-c-l-h +output:t-ya-m-c-l-h +output:t-yv-ya-m-c-l-h +output:t-yv-m-c-l-h +output:ya-m-c-l-h +output:yv-ya-m-c-l-h +output:yv-m-c-l-h +output:nd-c-l-h +output:nl-nd-c-l-h +output:nl-t-nd-c-l-h +output:nl-t-ya-nd-c-l-h +output:nl-t-yv-ya-nd-c-l-h +output:nl-t-yv-nd-c-l-h +output:nl-ya-nd-c-l-h +output:nl-yv-ya-nd-c-l-h +output:nl-yv-nd-c-l-h +output:t-nd-c-l-h +output:t-ya-nd-c-l-h +output:t-yv-ya-nd-c-l-h +output:t-yv-nd-c-l-h +output:ya-nd-c-l-h +output:yv-ya-nd-c-l-h +output:yv-nd-c-l-h +output:nl-c-l-h +output:nl-t-c-l-h +output:nl-t-ya-c-l-h +output:nl-t-yv-ya-c-l-h +output:nl-t-yv-c-l-h +output:nl-ya-c-l-h +output:nl-yv-ya-c-l-h +output:nl-yv-c-l-h +output:t-c-l-h +output:t-ya-c-l-h +output:t-yv-ya-c-l-h +output:t-yv-c-l-h +output:ya-c-l-h +output:yv-ya-c-l-h +output:yv-c-l-h +output:m-c-h +output:m-nd-c-h +output:nl-m-nd-c-h +output:nl-t-m-nd-c-h +output:nl-t-ya-m-nd-c-h +output:nl-t-yv-ya-m-nd-c-h +output:nl-t-yv-m-nd-c-h +output:nl-ya-m-nd-c-h +output:nl-yv-ya-m-nd-c-h +output:nl-yv-m-nd-c-h +output:t-m-nd-c-h +output:t-ya-m-nd-c-h +output:t-yv-ya-m-nd-c-h +output:t-yv-m-nd-c-h +output:ya-m-nd-c-h +output:yv-ya-m-nd-c-h +output:yv-m-nd-c-h +output:nl-m-c-h +output:nl-t-m-c-h +output:nl-t-ya-m-c-h +output:nl-t-yv-ya-m-c-h +output:nl-t-yv-m-c-h +output:nl-ya-m-c-h +output:nl-yv-ya-m-c-h +output:nl-yv-m-c-h +output:t-m-c-h +output:t-ya-m-c-h +output:t-yv-ya-m-c-h +output:t-yv-m-c-h +output:ya-m-c-h +output:yv-ya-m-c-h +output:yv-m-c-h +output:nd-c-h +output:nl-nd-c-h +output:nl-t-nd-c-h +output:nl-t-ya-nd-c-h +output:nl-t-yv-ya-nd-c-h +output:nl-t-yv-nd-c-h +output:nl-ya-nd-c-h +output:nl-yv-ya-nd-c-h +output:nl-yv-nd-c-h +output:t-nd-c-h +output:t-ya-nd-c-h +output:t-yv-ya-nd-c-h +output:t-yv-nd-c-h +output:ya-nd-c-h +output:yv-ya-nd-c-h +output:yv-nd-c-h +output:nl-c-h +output:nl-t-c-h +output:nl-t-ya-c-h +output:nl-t-yv-ya-c-h +output:nl-t-yv-c-h +output:nl-ya-c-h +output:nl-yv-ya-c-h +output:nl-yv-c-h +output:t-c-h +output:t-ya-c-h +output:t-yv-ya-c-h +output:t-yv-c-h +output:ya-c-h +output:yv-ya-c-h +output:yv-c-h +output:c-hd +output:c-l-hd +output:m-c-l-hd +output:m-nd-c-l-hd +output:nl-m-nd-c-l-hd +output:nl-t-m-nd-c-l-hd +output:nl-t-ya-m-nd-c-l-hd +output:nl-t-yv-ya-m-nd-c-l-hd +output:nl-t-yv-m-nd-c-l-hd +output:nl-ya-m-nd-c-l-hd +output:nl-yv-ya-m-nd-c-l-hd +output:nl-yv-m-nd-c-l-hd +output:t-m-nd-c-l-hd +output:t-ya-m-nd-c-l-hd +output:t-yv-ya-m-nd-c-l-hd +output:t-yv-m-nd-c-l-hd +output:ya-m-nd-c-l-hd +output:yv-ya-m-nd-c-l-hd +output:yv-m-nd-c-l-hd +output:nl-m-c-l-hd +output:nl-t-m-c-l-hd +output:nl-t-ya-m-c-l-hd +output:nl-t-yv-ya-m-c-l-hd +output:nl-t-yv-m-c-l-hd +output:nl-ya-m-c-l-hd +output:nl-yv-ya-m-c-l-hd +output:nl-yv-m-c-l-hd +output:t-m-c-l-hd +output:t-ya-m-c-l-hd +output:t-yv-ya-m-c-l-hd +output:t-yv-m-c-l-hd +output:ya-m-c-l-hd +output:yv-ya-m-c-l-hd +output:yv-m-c-l-hd +output:nd-c-l-hd +output:nl-nd-c-l-hd +output:nl-t-nd-c-l-hd +output:nl-t-ya-nd-c-l-hd +output:nl-t-yv-ya-nd-c-l-hd +output:nl-t-yv-nd-c-l-hd +output:nl-ya-nd-c-l-hd +output:nl-yv-ya-nd-c-l-hd +output:nl-yv-nd-c-l-hd +output:t-nd-c-l-hd +output:t-ya-nd-c-l-hd +output:t-yv-ya-nd-c-l-hd +output:t-yv-nd-c-l-hd +output:ya-nd-c-l-hd +output:yv-ya-nd-c-l-hd +output:yv-nd-c-l-hd +output:nl-c-l-hd +output:nl-t-c-l-hd +output:nl-t-ya-c-l-hd +output:nl-t-yv-ya-c-l-hd +output:nl-t-yv-c-l-hd +output:nl-ya-c-l-hd +output:nl-yv-ya-c-l-hd +output:nl-yv-c-l-hd +output:t-c-l-hd +output:t-ya-c-l-hd +output:t-yv-ya-c-l-hd +output:t-yv-c-l-hd +output:ya-c-l-hd +output:yv-ya-c-l-hd +output:yv-c-l-hd +output:m-c-hd +output:m-nd-c-hd +output:nl-m-nd-c-hd +output:nl-t-m-nd-c-hd +output:nl-t-ya-m-nd-c-hd +output:nl-t-yv-ya-m-nd-c-hd +output:nl-t-yv-m-nd-c-hd +output:nl-ya-m-nd-c-hd +output:nl-yv-ya-m-nd-c-hd +output:nl-yv-m-nd-c-hd +output:t-m-nd-c-hd +output:t-ya-m-nd-c-hd +output:t-yv-ya-m-nd-c-hd +output:t-yv-m-nd-c-hd +output:ya-m-nd-c-hd +output:yv-ya-m-nd-c-hd +output:yv-m-nd-c-hd +output:nl-m-c-hd +output:nl-t-m-c-hd +output:nl-t-ya-m-c-hd +output:nl-t-yv-ya-m-c-hd +output:nl-t-yv-m-c-hd +output:nl-ya-m-c-hd +output:nl-yv-ya-m-c-hd +output:nl-yv-m-c-hd +output:t-m-c-hd +output:t-ya-m-c-hd +output:t-yv-ya-m-c-hd +output:t-yv-m-c-hd +output:ya-m-c-hd +output:yv-ya-m-c-hd +output:yv-m-c-hd +output:nd-c-hd +output:nl-nd-c-hd +output:nl-t-nd-c-hd +output:nl-t-ya-nd-c-hd +output:nl-t-yv-ya-nd-c-hd +output:nl-t-yv-nd-c-hd +output:nl-ya-nd-c-hd +output:nl-yv-ya-nd-c-hd +output:nl-yv-nd-c-hd +output:t-nd-c-hd +output:t-ya-nd-c-hd +output:t-yv-ya-nd-c-hd +output:t-yv-nd-c-hd +output:ya-nd-c-hd +output:yv-ya-nd-c-hd +output:yv-nd-c-hd +output:nl-c-hd +output:nl-t-c-hd +output:nl-t-ya-c-hd +output:nl-t-yv-ya-c-hd +output:nl-t-yv-c-hd +output:nl-ya-c-hd +output:nl-yv-ya-c-hd +output:nl-yv-c-hd +output:t-c-hd +output:t-ya-c-hd +output:t-yv-ya-c-hd +output:t-yv-c-hd +output:ya-c-hd +output:yv-ya-c-hd +output:yv-c-hd +output:c-l +output:m-c-l +output:m-nd-c-l +output:nl-m-nd-c-l +output:nl-t-m-nd-c-l +output:nl-t-ya-m-nd-c-l +output:nl-t-yv-ya-m-nd-c-l +output:nl-t-yv-m-nd-c-l +output:nl-ya-m-nd-c-l +output:nl-yv-ya-m-nd-c-l +output:nl-yv-m-nd-c-l +output:t-m-nd-c-l +output:t-ya-m-nd-c-l +output:t-yv-ya-m-nd-c-l +output:t-yv-m-nd-c-l +output:ya-m-nd-c-l +output:yv-ya-m-nd-c-l +output:yv-m-nd-c-l +output:nl-m-c-l +output:nl-t-m-c-l +output:nl-t-ya-m-c-l +output:nl-t-yv-ya-m-c-l +output:nl-t-yv-m-c-l +output:nl-ya-m-c-l +output:nl-yv-ya-m-c-l +output:nl-yv-m-c-l +output:t-m-c-l +output:t-ya-m-c-l +output:t-yv-ya-m-c-l +output:t-yv-m-c-l +output:ya-m-c-l +output:yv-ya-m-c-l +output:yv-m-c-l +output:nd-c-l +output:nl-nd-c-l +output:nl-t-nd-c-l +output:nl-t-ya-nd-c-l +output:nl-t-yv-ya-nd-c-l +output:nl-t-yv-nd-c-l +output:nl-ya-nd-c-l +output:nl-yv-ya-nd-c-l +output:nl-yv-nd-c-l +output:t-nd-c-l +output:t-ya-nd-c-l +output:t-yv-ya-nd-c-l +output:t-yv-nd-c-l +output:ya-nd-c-l +output:yv-ya-nd-c-l +output:yv-nd-c-l +output:nl-c-l +output:nl-t-c-l +output:nl-t-ya-c-l +output:nl-t-yv-ya-c-l +output:nl-t-yv-c-l +output:nl-ya-c-l +output:nl-yv-ya-c-l +output:nl-yv-c-l +output:t-c-l +output:t-ya-c-l +output:t-yv-ya-c-l +output:t-yv-c-l +output:ya-c-l +output:yv-ya-c-l +output:yv-c-l +output:m-c +output:m-nd-c +output:nl-m-nd-c +output:nl-t-m-nd-c +output:nl-t-ya-m-nd-c +output:nl-t-yv-ya-m-nd-c +output:nl-t-yv-m-nd-c +output:nl-ya-m-nd-c +output:nl-yv-ya-m-nd-c +output:nl-yv-m-nd-c +output:t-m-nd-c +output:t-ya-m-nd-c +output:t-yv-ya-m-nd-c +output:t-yv-m-nd-c +output:ya-m-nd-c +output:yv-ya-m-nd-c +output:yv-m-nd-c +output:nl-m-c +output:nl-t-m-c +output:nl-t-ya-m-c +output:nl-t-yv-ya-m-c +output:nl-t-yv-m-c +output:nl-ya-m-c +output:nl-yv-ya-m-c +output:nl-yv-m-c +output:t-m-c +output:t-ya-m-c +output:t-yv-ya-m-c +output:t-yv-m-c +output:ya-m-c +output:yv-ya-m-c +output:yv-m-c +output:nd-c +output:nl-nd-c +output:nl-t-nd-c +output:nl-t-ya-nd-c +output:nl-t-yv-ya-nd-c +output:nl-t-yv-nd-c +output:nl-ya-nd-c +output:nl-yv-ya-nd-c +output:nl-yv-nd-c +output:t-nd-c +output:t-ya-nd-c +output:t-yv-ya-nd-c +output:t-yv-nd-c +output:ya-nd-c +output:yv-ya-nd-c +output:yv-nd-c +output:nl-c +output:nl-t-c +output:nl-t-ya-c +output:nl-t-yv-ya-c +output:nl-t-yv-c +output:nl-ya-c +output:nl-yv-ya-c +output:nl-yv-c +output:t-c +output:t-ya-c +output:t-yv-ya-c +output:t-yv-c +output:ya-c +output:yv-ya-c +output:yv-c +output:h +output:h-hd +output:l-h-hd +output:m-l-h-hd +output:m-nd-l-h-hd +output:nl-m-nd-l-h-hd +output:nl-t-m-nd-l-h-hd +output:nl-t-ya-m-nd-l-h-hd +output:nl-t-yv-ya-m-nd-l-h-hd +output:nl-t-yv-m-nd-l-h-hd +output:nl-ya-m-nd-l-h-hd +output:nl-yv-ya-m-nd-l-h-hd +output:nl-yv-m-nd-l-h-hd +output:t-m-nd-l-h-hd +output:t-ya-m-nd-l-h-hd +output:t-yv-ya-m-nd-l-h-hd +output:t-yv-m-nd-l-h-hd +output:ya-m-nd-l-h-hd +output:yv-ya-m-nd-l-h-hd +output:yv-m-nd-l-h-hd +output:nl-m-l-h-hd +output:nl-t-m-l-h-hd +output:nl-t-ya-m-l-h-hd +output:nl-t-yv-ya-m-l-h-hd +output:nl-t-yv-m-l-h-hd +output:nl-ya-m-l-h-hd +output:nl-yv-ya-m-l-h-hd +output:nl-yv-m-l-h-hd +output:t-m-l-h-hd +output:t-ya-m-l-h-hd +output:t-yv-ya-m-l-h-hd +output:t-yv-m-l-h-hd +output:ya-m-l-h-hd +output:yv-ya-m-l-h-hd +output:yv-m-l-h-hd +output:nd-l-h-hd +output:nl-nd-l-h-hd +output:nl-t-nd-l-h-hd +output:nl-t-ya-nd-l-h-hd +output:nl-t-yv-ya-nd-l-h-hd +output:nl-t-yv-nd-l-h-hd +output:nl-ya-nd-l-h-hd +output:nl-yv-ya-nd-l-h-hd +output:nl-yv-nd-l-h-hd +output:t-nd-l-h-hd +output:t-ya-nd-l-h-hd +output:t-yv-ya-nd-l-h-hd +output:t-yv-nd-l-h-hd +output:ya-nd-l-h-hd +output:yv-ya-nd-l-h-hd +output:yv-nd-l-h-hd +output:nl-l-h-hd +output:nl-t-l-h-hd +output:nl-t-ya-l-h-hd +output:nl-t-yv-ya-l-h-hd +output:nl-t-yv-l-h-hd +output:nl-ya-l-h-hd +output:nl-yv-ya-l-h-hd +output:nl-yv-l-h-hd +output:t-l-h-hd +output:t-ya-l-h-hd +output:t-yv-ya-l-h-hd +output:t-yv-l-h-hd +output:ya-l-h-hd +output:yv-ya-l-h-hd +output:yv-l-h-hd +output:m-h-hd +output:m-nd-h-hd +output:nl-m-nd-h-hd +output:nl-t-m-nd-h-hd +output:nl-t-ya-m-nd-h-hd +output:nl-t-yv-ya-m-nd-h-hd +output:nl-t-yv-m-nd-h-hd +output:nl-ya-m-nd-h-hd +output:nl-yv-ya-m-nd-h-hd +output:nl-yv-m-nd-h-hd +output:t-m-nd-h-hd +output:t-ya-m-nd-h-hd +output:t-yv-ya-m-nd-h-hd +output:t-yv-m-nd-h-hd +output:ya-m-nd-h-hd +output:yv-ya-m-nd-h-hd +output:yv-m-nd-h-hd +output:nl-m-h-hd +output:nl-t-m-h-hd +output:nl-t-ya-m-h-hd +output:nl-t-yv-ya-m-h-hd +output:nl-t-yv-m-h-hd +output:nl-ya-m-h-hd +output:nl-yv-ya-m-h-hd +output:nl-yv-m-h-hd +output:t-m-h-hd +output:t-ya-m-h-hd +output:t-yv-ya-m-h-hd +output:t-yv-m-h-hd +output:ya-m-h-hd +output:yv-ya-m-h-hd +output:yv-m-h-hd +output:nd-h-hd +output:nl-nd-h-hd +output:nl-t-nd-h-hd +output:nl-t-ya-nd-h-hd +output:nl-t-yv-ya-nd-h-hd +output:nl-t-yv-nd-h-hd +output:nl-ya-nd-h-hd +output:nl-yv-ya-nd-h-hd +output:nl-yv-nd-h-hd +output:t-nd-h-hd +output:t-ya-nd-h-hd +output:t-yv-ya-nd-h-hd +output:t-yv-nd-h-hd +output:ya-nd-h-hd +output:yv-ya-nd-h-hd +output:yv-nd-h-hd +output:nl-h-hd +output:nl-t-h-hd +output:nl-t-ya-h-hd +output:nl-t-yv-ya-h-hd +output:nl-t-yv-h-hd +output:nl-ya-h-hd +output:nl-yv-ya-h-hd +output:nl-yv-h-hd +output:t-h-hd +output:t-ya-h-hd +output:t-yv-ya-h-hd +output:t-yv-h-hd +output:ya-h-hd +output:yv-ya-h-hd +output:yv-h-hd +output:l-h +output:m-l-h +output:m-nd-l-h +output:nl-m-nd-l-h +output:nl-t-m-nd-l-h +output:nl-t-ya-m-nd-l-h +output:nl-t-yv-ya-m-nd-l-h +output:nl-t-yv-m-nd-l-h +output:nl-ya-m-nd-l-h +output:nl-yv-ya-m-nd-l-h +output:nl-yv-m-nd-l-h +output:t-m-nd-l-h +output:t-ya-m-nd-l-h +output:t-yv-ya-m-nd-l-h +output:t-yv-m-nd-l-h +output:ya-m-nd-l-h +output:yv-ya-m-nd-l-h +output:yv-m-nd-l-h +output:nl-m-l-h +output:nl-t-m-l-h +output:nl-t-ya-m-l-h +output:nl-t-yv-ya-m-l-h +output:nl-t-yv-m-l-h +output:nl-ya-m-l-h +output:nl-yv-ya-m-l-h +output:nl-yv-m-l-h +output:t-m-l-h +output:t-ya-m-l-h +output:t-yv-ya-m-l-h +output:t-yv-m-l-h +output:ya-m-l-h +output:yv-ya-m-l-h +output:yv-m-l-h +output:nd-l-h +output:nl-nd-l-h +output:nl-t-nd-l-h +output:nl-t-ya-nd-l-h +output:nl-t-yv-ya-nd-l-h +output:nl-t-yv-nd-l-h +output:nl-ya-nd-l-h +output:nl-yv-ya-nd-l-h +output:nl-yv-nd-l-h +output:t-nd-l-h +output:t-ya-nd-l-h +output:t-yv-ya-nd-l-h +output:t-yv-nd-l-h +output:ya-nd-l-h +output:yv-ya-nd-l-h +output:yv-nd-l-h +output:nl-l-h +output:nl-t-l-h +output:nl-t-ya-l-h +output:nl-t-yv-ya-l-h +output:nl-t-yv-l-h +output:nl-ya-l-h +output:nl-yv-ya-l-h +output:nl-yv-l-h +output:t-l-h +output:t-ya-l-h +output:t-yv-ya-l-h +output:t-yv-l-h +output:ya-l-h +output:yv-ya-l-h +output:yv-l-h +output:m-h +output:m-nd-h +output:nl-m-nd-h +output:nl-t-m-nd-h +output:nl-t-ya-m-nd-h +output:nl-t-yv-ya-m-nd-h +output:nl-t-yv-m-nd-h +output:nl-ya-m-nd-h +output:nl-yv-ya-m-nd-h +output:nl-yv-m-nd-h +output:t-m-nd-h +output:t-ya-m-nd-h +output:t-yv-ya-m-nd-h +output:t-yv-m-nd-h +output:ya-m-nd-h +output:yv-ya-m-nd-h +output:yv-m-nd-h +output:nl-m-h +output:nl-t-m-h +output:nl-t-ya-m-h +output:nl-t-yv-ya-m-h +output:nl-t-yv-m-h +output:nl-ya-m-h +output:nl-yv-ya-m-h +output:nl-yv-m-h +output:t-m-h +output:t-ya-m-h +output:t-yv-ya-m-h +output:t-yv-m-h +output:ya-m-h +output:yv-ya-m-h +output:yv-m-h +output:nd-h +output:nl-nd-h +output:nl-t-nd-h +output:nl-t-ya-nd-h +output:nl-t-yv-ya-nd-h +output:nl-t-yv-nd-h +output:nl-ya-nd-h +output:nl-yv-ya-nd-h +output:nl-yv-nd-h +output:t-nd-h +output:t-ya-nd-h +output:t-yv-ya-nd-h +output:t-yv-nd-h +output:ya-nd-h +output:yv-ya-nd-h +output:yv-nd-h +output:nl-h +output:nl-t-h +output:nl-t-ya-h +output:nl-t-yv-ya-h +output:nl-t-yv-h +output:nl-ya-h +output:nl-yv-ya-h +output:nl-yv-h +output:t-h +output:t-ya-h +output:t-yv-ya-h +output:t-yv-h +output:ya-h +output:yv-ya-h +output:yv-h +output:hd +output:l-hd +output:m-l-hd +output:m-nd-l-hd +output:nl-m-nd-l-hd +output:nl-t-m-nd-l-hd +output:nl-t-ya-m-nd-l-hd +output:nl-t-yv-ya-m-nd-l-hd +output:nl-t-yv-m-nd-l-hd +output:nl-ya-m-nd-l-hd +output:nl-yv-ya-m-nd-l-hd +output:nl-yv-m-nd-l-hd +output:t-m-nd-l-hd +output:t-ya-m-nd-l-hd +output:t-yv-ya-m-nd-l-hd +output:t-yv-m-nd-l-hd +output:ya-m-nd-l-hd +output:yv-ya-m-nd-l-hd +output:yv-m-nd-l-hd +output:nl-m-l-hd +output:nl-t-m-l-hd +output:nl-t-ya-m-l-hd +output:nl-t-yv-ya-m-l-hd +output:nl-t-yv-m-l-hd +output:nl-ya-m-l-hd +output:nl-yv-ya-m-l-hd +output:nl-yv-m-l-hd +output:t-m-l-hd +output:t-ya-m-l-hd +output:t-yv-ya-m-l-hd +output:t-yv-m-l-hd +output:ya-m-l-hd +output:yv-ya-m-l-hd +output:yv-m-l-hd +output:nd-l-hd +output:nl-nd-l-hd +output:nl-t-nd-l-hd +output:nl-t-ya-nd-l-hd +output:nl-t-yv-ya-nd-l-hd +output:nl-t-yv-nd-l-hd +output:nl-ya-nd-l-hd +output:nl-yv-ya-nd-l-hd +output:nl-yv-nd-l-hd +output:t-nd-l-hd +output:t-ya-nd-l-hd +output:t-yv-ya-nd-l-hd +output:t-yv-nd-l-hd +output:ya-nd-l-hd +output:yv-ya-nd-l-hd +output:yv-nd-l-hd +output:nl-l-hd +output:nl-t-l-hd +output:nl-t-ya-l-hd +output:nl-t-yv-ya-l-hd +output:nl-t-yv-l-hd +output:nl-ya-l-hd +output:nl-yv-ya-l-hd +output:nl-yv-l-hd +output:t-l-hd +output:t-ya-l-hd +output:t-yv-ya-l-hd +output:t-yv-l-hd +output:ya-l-hd +output:yv-ya-l-hd +output:yv-l-hd +output:m-hd +output:m-nd-hd +output:nl-m-nd-hd +output:nl-t-m-nd-hd +output:nl-t-ya-m-nd-hd +output:nl-t-yv-ya-m-nd-hd +output:nl-t-yv-m-nd-hd +output:nl-ya-m-nd-hd +output:nl-yv-ya-m-nd-hd +output:nl-yv-m-nd-hd +output:t-m-nd-hd +output:t-ya-m-nd-hd +output:t-yv-ya-m-nd-hd +output:t-yv-m-nd-hd +output:ya-m-nd-hd +output:yv-ya-m-nd-hd +output:yv-m-nd-hd +output:nl-m-hd +output:nl-t-m-hd +output:nl-t-ya-m-hd +output:nl-t-yv-ya-m-hd +output:nl-t-yv-m-hd +output:nl-ya-m-hd +output:nl-yv-ya-m-hd +output:nl-yv-m-hd +output:t-m-hd +output:t-ya-m-hd +output:t-yv-ya-m-hd +output:t-yv-m-hd +output:ya-m-hd +output:yv-ya-m-hd +output:yv-m-hd +output:nd-hd +output:nl-nd-hd +output:nl-t-nd-hd +output:nl-t-ya-nd-hd +output:nl-t-yv-ya-nd-hd +output:nl-t-yv-nd-hd +output:nl-ya-nd-hd +output:nl-yv-ya-nd-hd +output:nl-yv-nd-hd +output:t-nd-hd +output:t-ya-nd-hd +output:t-yv-ya-nd-hd +output:t-yv-nd-hd +output:ya-nd-hd +output:yv-ya-nd-hd +output:yv-nd-hd +output:nl-hd +output:nl-t-hd +output:nl-t-ya-hd +output:nl-t-yv-ya-hd +output:nl-t-yv-hd +output:nl-ya-hd +output:nl-yv-ya-hd +output:nl-yv-hd +output:t-hd +output:t-ya-hd +output:t-yv-ya-hd +output:t-yv-hd +output:ya-hd +output:yv-ya-hd +output:yv-hd +output:l +output:m-l +output:m-nd-l +output:nl-m-nd-l +output:nl-t-m-nd-l +output:nl-t-ya-m-nd-l +output:nl-t-yv-ya-m-nd-l +output:nl-t-yv-m-nd-l +output:nl-ya-m-nd-l +output:nl-yv-ya-m-nd-l +output:nl-yv-m-nd-l +output:t-m-nd-l +output:t-ya-m-nd-l +output:t-yv-ya-m-nd-l +output:t-yv-m-nd-l +output:ya-m-nd-l +output:yv-ya-m-nd-l +output:yv-m-nd-l +output:nl-m-l +output:nl-t-m-l +output:nl-t-ya-m-l +output:nl-t-yv-ya-m-l +output:nl-t-yv-m-l +output:nl-ya-m-l +output:nl-yv-ya-m-l +output:nl-yv-m-l +output:t-m-l +output:t-ya-m-l +output:t-yv-ya-m-l +output:t-yv-m-l +output:ya-m-l +output:yv-ya-m-l +output:yv-m-l +output:nd-l +output:nl-nd-l +output:nl-t-nd-l +output:nl-t-ya-nd-l +output:nl-t-yv-ya-nd-l +output:nl-t-yv-nd-l +output:nl-ya-nd-l +output:nl-yv-ya-nd-l +output:nl-yv-nd-l +output:t-nd-l +output:t-ya-nd-l +output:t-yv-ya-nd-l +output:t-yv-nd-l +output:ya-nd-l +output:yv-ya-nd-l +output:yv-nd-l +output:nl-l +output:nl-t-l +output:nl-t-ya-l +output:nl-t-yv-ya-l +output:nl-t-yv-l +output:nl-ya-l +output:nl-yv-ya-l +output:nl-yv-l +output:t-l +output:t-ya-l +output:t-yv-ya-l +output:t-yv-l +output:ya-l +output:yv-ya-l +output:yv-l +output:m +output:m-nd +output:nl-m-nd +output:nl-t-m-nd +output:nl-t-ya-m-nd +output:nl-t-yv-ya-m-nd +output:nl-t-yv-m-nd +output:nl-ya-m-nd +output:nl-yv-ya-m-nd +output:nl-yv-m-nd +output:t-m-nd +output:t-ya-m-nd +output:t-yv-ya-m-nd +output:t-yv-m-nd +output:ya-m-nd +output:yv-ya-m-nd +output:yv-m-nd +output:nl-m +output:nl-t-m +output:nl-t-ya-m +output:nl-t-yv-ya-m +output:nl-t-yv-m +output:nl-ya-m +output:nl-yv-ya-m +output:nl-yv-m +output:t-m +output:t-ya-m +output:t-yv-ya-m +output:t-yv-m +output:ya-m +output:yv-ya-m +output:yv-m +output:nd +output:nl-nd +output:nl-t-nd +output:nl-t-ya-nd +output:nl-t-yv-ya-nd +output:nl-t-yv-nd +output:nl-ya-nd +output:nl-yv-ya-nd +output:nl-yv-nd +output:t-nd +output:t-ya-nd +output:t-yv-ya-nd +output:t-yv-nd +output:ya-nd +output:yv-ya-nd +output:yv-nd +output:nl +output:nl-t +output:nl-t-ya +output:nl-t-yv-ya +output:nl-t-yv +output:nl-ya +output:nl-yv-ya +output:nl-yv +output:t +output:t-ya +output:t-yv-ya +output:t-yv +output:ya +output:yv-ya +output:yv +peak_load_factor: +peak_load_factor:c +peak_load_factor:c-h +peak_load_factor:c-l-h +peak_load_factor:n-c-l-h +peak_load_factor:n-c-l-y-h +peak_load_factor:c-l-y-h +peak_load_factor:n-c-h +peak_load_factor:n-c-y-h +peak_load_factor:c-y-h +peak_load_factor:c-l +peak_load_factor:n-c-l +peak_load_factor:n-c-l-y +peak_load_factor:c-l-y +peak_load_factor:n-c +peak_load_factor:n-c-y +peak_load_factor:c-y +peak_load_factor:h +peak_load_factor:l-h +peak_load_factor:n-l-h +peak_load_factor:n-l-y-h +peak_load_factor:l-y-h +peak_load_factor:n-h +peak_load_factor:n-y-h +peak_load_factor:y-h +peak_load_factor:l +peak_load_factor:n-l +peak_load_factor:n-l-y +peak_load_factor:l-y +peak_load_factor:n +peak_load_factor:n-y +peak_load_factor:y +q +r +rating_bin: +rating_bin:c +rating_bin:c-h +rating_bin:c-l-h +rating_bin:n-c-l-h +rating_bin:n-c-l-h-q +rating_bin:n-t-c-l-h-q +rating_bin:n-t-ya-c-l-h-q +rating_bin:n-ya-c-l-h-q +rating_bin:n-t-c-l-h +rating_bin:n-t-ya-c-l-h +rating_bin:n-ya-c-l-h +rating_bin:c-l-h-q +rating_bin:t-c-l-h-q +rating_bin:t-ya-c-l-h-q +rating_bin:ya-c-l-h-q +rating_bin:t-c-l-h +rating_bin:t-ya-c-l-h +rating_bin:ya-c-l-h +rating_bin:n-c-h +rating_bin:n-c-h-q +rating_bin:n-t-c-h-q +rating_bin:n-t-ya-c-h-q +rating_bin:n-ya-c-h-q +rating_bin:n-t-c-h +rating_bin:n-t-ya-c-h +rating_bin:n-ya-c-h +rating_bin:c-h-q +rating_bin:t-c-h-q +rating_bin:t-ya-c-h-q +rating_bin:ya-c-h-q +rating_bin:t-c-h +rating_bin:t-ya-c-h +rating_bin:ya-c-h +rating_bin:c-l +rating_bin:n-c-l +rating_bin:n-c-l-q +rating_bin:n-t-c-l-q +rating_bin:n-t-ya-c-l-q +rating_bin:n-ya-c-l-q +rating_bin:n-t-c-l +rating_bin:n-t-ya-c-l +rating_bin:n-ya-c-l +rating_bin:c-l-q +rating_bin:t-c-l-q +rating_bin:t-ya-c-l-q +rating_bin:ya-c-l-q +rating_bin:t-c-l +rating_bin:t-ya-c-l +rating_bin:ya-c-l +rating_bin:n-c +rating_bin:n-c-q +rating_bin:n-t-c-q +rating_bin:n-t-ya-c-q +rating_bin:n-ya-c-q +rating_bin:n-t-c +rating_bin:n-t-ya-c +rating_bin:n-ya-c +rating_bin:c-q +rating_bin:t-c-q +rating_bin:t-ya-c-q +rating_bin:ya-c-q +rating_bin:t-c +rating_bin:t-ya-c +rating_bin:ya-c +rating_bin:h +rating_bin:l-h +rating_bin:n-l-h +rating_bin:n-l-h-q +rating_bin:n-t-l-h-q +rating_bin:n-t-ya-l-h-q +rating_bin:n-ya-l-h-q +rating_bin:n-t-l-h +rating_bin:n-t-ya-l-h +rating_bin:n-ya-l-h +rating_bin:l-h-q +rating_bin:t-l-h-q +rating_bin:t-ya-l-h-q +rating_bin:ya-l-h-q +rating_bin:t-l-h +rating_bin:t-ya-l-h +rating_bin:ya-l-h +rating_bin:n-h +rating_bin:n-h-q +rating_bin:n-t-h-q +rating_bin:n-t-ya-h-q +rating_bin:n-ya-h-q +rating_bin:n-t-h +rating_bin:n-t-ya-h +rating_bin:n-ya-h +rating_bin:h-q +rating_bin:t-h-q +rating_bin:t-ya-h-q +rating_bin:ya-h-q +rating_bin:t-h +rating_bin:t-ya-h +rating_bin:ya-h +rating_bin:l +rating_bin:n-l +rating_bin:n-l-q +rating_bin:n-t-l-q +rating_bin:n-t-ya-l-q +rating_bin:n-ya-l-q +rating_bin:n-t-l +rating_bin:n-t-ya-l +rating_bin:n-ya-l +rating_bin:l-q +rating_bin:t-l-q +rating_bin:t-ya-l-q +rating_bin:ya-l-q +rating_bin:t-l +rating_bin:t-ya-l +rating_bin:ya-l +rating_bin:n +rating_bin:n-q +rating_bin:n-t-q +rating_bin:n-t-ya-q +rating_bin:n-ya-q +rating_bin:n-t +rating_bin:n-t-ya +rating_bin:n-ya +rating_bin:q +rating_bin:t-q +rating_bin:t-ya-q +rating_bin:ya-q +rating_bin:t +rating_bin:t-ya +rating_bin:ya +ref_activity: +ref_activity:h +ref_activity:m-h +ref_activity:nl-m-h +ref_activity:nl-t-m-h +ref_activity:nl-t-ya-m-h +ref_activity:nl-ya-m-h +ref_activity:t-m-h +ref_activity:t-ya-m-h +ref_activity:ya-m-h +ref_activity:nl-h +ref_activity:nl-t-h +ref_activity:nl-t-ya-h +ref_activity:nl-ya-h +ref_activity:t-h +ref_activity:t-ya-h +ref_activity:ya-h +ref_activity:m +ref_activity:nl-m +ref_activity:nl-t-m +ref_activity:nl-t-ya-m +ref_activity:nl-ya-m +ref_activity:t-m +ref_activity:t-ya-m +ref_activity:ya-m +ref_activity:nl +ref_activity:nl-t +ref_activity:nl-t-ya +ref_activity:nl-ya +ref_activity:t +ref_activity:t-ya +ref_activity:ya +ref_extraction: +ref_extraction:c +ref_extraction:c-g +ref_extraction:n-c-g +ref_extraction:n-c-g-y +ref_extraction:c-g-y +ref_extraction:n-c +ref_extraction:n-c-y +ref_extraction:c-y +ref_extraction:g +ref_extraction:n-g +ref_extraction:n-g-y +ref_extraction:g-y +ref_extraction:n +ref_extraction:n-y +ref_extraction:y +ref_new_capacity: +ref_new_capacity:nl +ref_new_capacity:nl-t +ref_new_capacity:nl-t-yv +ref_new_capacity:nl-yv +ref_new_capacity:t +ref_new_capacity:t-yv +ref_new_capacity:yv +ref_relation: +ref_relation:nr +ref_relation:r-nr +ref_relation:r-nr-yr +ref_relation:nr-yr +ref_relation:r +ref_relation:r-yr +ref_relation:yr +relation_activity: +relation_activity:m +relation_activity:nl-m +relation_activity:nr-nl-m +relation_activity:r-nr-nl-m +relation_activity:r-nr-nl-t-m +relation_activity:r-nr-nl-t-ya-m +relation_activity:r-nr-yr-nl-t-ya-m +relation_activity:r-nr-yr-nl-t-m +relation_activity:r-nr-nl-ya-m +relation_activity:r-nr-yr-nl-ya-m +relation_activity:r-nr-yr-nl-m +relation_activity:nr-nl-t-m +relation_activity:nr-nl-t-ya-m +relation_activity:nr-yr-nl-t-ya-m +relation_activity:nr-yr-nl-t-m +relation_activity:nr-nl-ya-m +relation_activity:nr-yr-nl-ya-m +relation_activity:nr-yr-nl-m +relation_activity:r-nl-m +relation_activity:r-nl-t-m +relation_activity:r-nl-t-ya-m +relation_activity:r-yr-nl-t-ya-m +relation_activity:r-yr-nl-t-m +relation_activity:r-nl-ya-m +relation_activity:r-yr-nl-ya-m +relation_activity:r-yr-nl-m +relation_activity:nl-t-m +relation_activity:nl-t-ya-m +relation_activity:yr-nl-t-ya-m +relation_activity:yr-nl-t-m +relation_activity:nl-ya-m +relation_activity:yr-nl-ya-m +relation_activity:yr-nl-m +relation_activity:nr-m +relation_activity:r-nr-m +relation_activity:r-nr-t-m +relation_activity:r-nr-t-ya-m +relation_activity:r-nr-yr-t-ya-m +relation_activity:r-nr-yr-t-m +relation_activity:r-nr-ya-m +relation_activity:r-nr-yr-ya-m +relation_activity:r-nr-yr-m +relation_activity:nr-t-m +relation_activity:nr-t-ya-m +relation_activity:nr-yr-t-ya-m +relation_activity:nr-yr-t-m +relation_activity:nr-ya-m +relation_activity:nr-yr-ya-m +relation_activity:nr-yr-m +relation_activity:r-m +relation_activity:r-t-m +relation_activity:r-t-ya-m +relation_activity:r-yr-t-ya-m +relation_activity:r-yr-t-m +relation_activity:r-ya-m +relation_activity:r-yr-ya-m +relation_activity:r-yr-m +relation_activity:t-m +relation_activity:t-ya-m +relation_activity:yr-t-ya-m +relation_activity:yr-t-m +relation_activity:ya-m +relation_activity:yr-ya-m +relation_activity:yr-m +relation_activity:nl +relation_activity:nr-nl +relation_activity:r-nr-nl +relation_activity:r-nr-nl-t +relation_activity:r-nr-nl-t-ya +relation_activity:r-nr-yr-nl-t-ya +relation_activity:r-nr-yr-nl-t +relation_activity:r-nr-nl-ya +relation_activity:r-nr-yr-nl-ya +relation_activity:r-nr-yr-nl +relation_activity:nr-nl-t +relation_activity:nr-nl-t-ya +relation_activity:nr-yr-nl-t-ya +relation_activity:nr-yr-nl-t +relation_activity:nr-nl-ya +relation_activity:nr-yr-nl-ya +relation_activity:nr-yr-nl +relation_activity:r-nl +relation_activity:r-nl-t +relation_activity:r-nl-t-ya +relation_activity:r-yr-nl-t-ya +relation_activity:r-yr-nl-t +relation_activity:r-nl-ya +relation_activity:r-yr-nl-ya +relation_activity:r-yr-nl +relation_activity:nl-t +relation_activity:nl-t-ya +relation_activity:yr-nl-t-ya +relation_activity:yr-nl-t +relation_activity:nl-ya +relation_activity:yr-nl-ya +relation_activity:yr-nl +relation_activity:nr +relation_activity:r-nr +relation_activity:r-nr-t +relation_activity:r-nr-t-ya +relation_activity:r-nr-yr-t-ya +relation_activity:r-nr-yr-t +relation_activity:r-nr-ya +relation_activity:r-nr-yr-ya +relation_activity:r-nr-yr +relation_activity:nr-t +relation_activity:nr-t-ya +relation_activity:nr-yr-t-ya +relation_activity:nr-yr-t +relation_activity:nr-ya +relation_activity:nr-yr-ya +relation_activity:nr-yr +relation_activity:r +relation_activity:r-t +relation_activity:r-t-ya +relation_activity:r-yr-t-ya +relation_activity:r-yr-t +relation_activity:r-ya +relation_activity:r-yr-ya +relation_activity:r-yr +relation_activity:t +relation_activity:t-ya +relation_activity:yr-t-ya +relation_activity:yr-t +relation_activity:ya +relation_activity:yr-ya +relation_activity:yr +relation_cost: +relation_cost:nr +relation_cost:r-nr +relation_cost:r-nr-yr +relation_cost:nr-yr +relation_cost:r +relation_cost:r-yr +relation_cost:yr +relation_lower: +relation_lower:nr +relation_lower:r-nr +relation_lower:r-nr-yr +relation_lower:nr-yr +relation_lower:r +relation_lower:r-yr +relation_lower:yr +relation_new_capacity: +relation_new_capacity:nr +relation_new_capacity:r-nr +relation_new_capacity:r-nr-t +relation_new_capacity:r-nr-yr-t +relation_new_capacity:r-nr-yr +relation_new_capacity:nr-t +relation_new_capacity:nr-yr-t +relation_new_capacity:nr-yr +relation_new_capacity:r +relation_new_capacity:r-t +relation_new_capacity:r-yr-t +relation_new_capacity:r-yr +relation_new_capacity:t +relation_new_capacity:yr-t +relation_new_capacity:yr +relation_total_capacity: +relation_total_capacity:nr +relation_total_capacity:r-nr +relation_total_capacity:r-nr-t +relation_total_capacity:r-nr-yr-t +relation_total_capacity:r-nr-yr +relation_total_capacity:nr-t +relation_total_capacity:nr-yr-t +relation_total_capacity:nr-yr +relation_total_capacity:r +relation_total_capacity:r-t +relation_total_capacity:r-yr-t +relation_total_capacity:r-yr +relation_total_capacity:t +relation_total_capacity:yr-t +relation_total_capacity:yr +relation_upper: +relation_upper:nr +relation_upper:r-nr +relation_upper:r-nr-yr +relation_upper:nr-yr +relation_upper:r +relation_upper:r-yr +relation_upper:yr +reliability_factor: +reliability_factor:c +reliability_factor:c-h +reliability_factor:c-l-h +reliability_factor:n-c-l-h +reliability_factor:n-c-l-h-q +reliability_factor:n-t-c-l-h-q +reliability_factor:n-t-ya-c-l-h-q +reliability_factor:n-ya-c-l-h-q +reliability_factor:n-t-c-l-h +reliability_factor:n-t-ya-c-l-h +reliability_factor:n-ya-c-l-h +reliability_factor:c-l-h-q +reliability_factor:t-c-l-h-q +reliability_factor:t-ya-c-l-h-q +reliability_factor:ya-c-l-h-q +reliability_factor:t-c-l-h +reliability_factor:t-ya-c-l-h +reliability_factor:ya-c-l-h +reliability_factor:n-c-h +reliability_factor:n-c-h-q +reliability_factor:n-t-c-h-q +reliability_factor:n-t-ya-c-h-q +reliability_factor:n-ya-c-h-q +reliability_factor:n-t-c-h +reliability_factor:n-t-ya-c-h +reliability_factor:n-ya-c-h +reliability_factor:c-h-q +reliability_factor:t-c-h-q +reliability_factor:t-ya-c-h-q +reliability_factor:ya-c-h-q +reliability_factor:t-c-h +reliability_factor:t-ya-c-h +reliability_factor:ya-c-h +reliability_factor:c-l +reliability_factor:n-c-l +reliability_factor:n-c-l-q +reliability_factor:n-t-c-l-q +reliability_factor:n-t-ya-c-l-q +reliability_factor:n-ya-c-l-q +reliability_factor:n-t-c-l +reliability_factor:n-t-ya-c-l +reliability_factor:n-ya-c-l +reliability_factor:c-l-q +reliability_factor:t-c-l-q +reliability_factor:t-ya-c-l-q +reliability_factor:ya-c-l-q +reliability_factor:t-c-l +reliability_factor:t-ya-c-l +reliability_factor:ya-c-l +reliability_factor:n-c +reliability_factor:n-c-q +reliability_factor:n-t-c-q +reliability_factor:n-t-ya-c-q +reliability_factor:n-ya-c-q +reliability_factor:n-t-c +reliability_factor:n-t-ya-c +reliability_factor:n-ya-c +reliability_factor:c-q +reliability_factor:t-c-q +reliability_factor:t-ya-c-q +reliability_factor:ya-c-q +reliability_factor:t-c +reliability_factor:t-ya-c +reliability_factor:ya-c +reliability_factor:h +reliability_factor:l-h +reliability_factor:n-l-h +reliability_factor:n-l-h-q +reliability_factor:n-t-l-h-q +reliability_factor:n-t-ya-l-h-q +reliability_factor:n-ya-l-h-q +reliability_factor:n-t-l-h +reliability_factor:n-t-ya-l-h +reliability_factor:n-ya-l-h +reliability_factor:l-h-q +reliability_factor:t-l-h-q +reliability_factor:t-ya-l-h-q +reliability_factor:ya-l-h-q +reliability_factor:t-l-h +reliability_factor:t-ya-l-h +reliability_factor:ya-l-h +reliability_factor:n-h +reliability_factor:n-h-q +reliability_factor:n-t-h-q +reliability_factor:n-t-ya-h-q +reliability_factor:n-ya-h-q +reliability_factor:n-t-h +reliability_factor:n-t-ya-h +reliability_factor:n-ya-h +reliability_factor:h-q +reliability_factor:t-h-q +reliability_factor:t-ya-h-q +reliability_factor:ya-h-q +reliability_factor:t-h +reliability_factor:t-ya-h +reliability_factor:ya-h +reliability_factor:l +reliability_factor:n-l +reliability_factor:n-l-q +reliability_factor:n-t-l-q +reliability_factor:n-t-ya-l-q +reliability_factor:n-ya-l-q +reliability_factor:n-t-l +reliability_factor:n-t-ya-l +reliability_factor:n-ya-l +reliability_factor:l-q +reliability_factor:t-l-q +reliability_factor:t-ya-l-q +reliability_factor:ya-l-q +reliability_factor:t-l +reliability_factor:t-ya-l +reliability_factor:ya-l +reliability_factor:n +reliability_factor:n-q +reliability_factor:n-t-q +reliability_factor:n-t-ya-q +reliability_factor:n-ya-q +reliability_factor:n-t +reliability_factor:n-t-ya +reliability_factor:n-ya +reliability_factor:q +reliability_factor:t-q +reliability_factor:t-ya-q +reliability_factor:ya-q +reliability_factor:t +reliability_factor:t-ya +reliability_factor:ya +renewable_capacity_factor: +renewable_capacity_factor:c +renewable_capacity_factor:c-g +renewable_capacity_factor:c-g-l +renewable_capacity_factor:n-c-g-l +renewable_capacity_factor:n-c-g-l-y +renewable_capacity_factor:c-g-l-y +renewable_capacity_factor:n-c-g +renewable_capacity_factor:n-c-g-y +renewable_capacity_factor:c-g-y +renewable_capacity_factor:c-l +renewable_capacity_factor:n-c-l +renewable_capacity_factor:n-c-l-y +renewable_capacity_factor:c-l-y +renewable_capacity_factor:n-c +renewable_capacity_factor:n-c-y +renewable_capacity_factor:c-y +renewable_capacity_factor:g +renewable_capacity_factor:g-l +renewable_capacity_factor:n-g-l +renewable_capacity_factor:n-g-l-y +renewable_capacity_factor:g-l-y +renewable_capacity_factor:n-g +renewable_capacity_factor:n-g-y +renewable_capacity_factor:g-y +renewable_capacity_factor:l +renewable_capacity_factor:n-l +renewable_capacity_factor:n-l-y +renewable_capacity_factor:l-y +renewable_capacity_factor:n +renewable_capacity_factor:n-y +renewable_capacity_factor:y +renewable_potential: +renewable_potential:c +renewable_potential:c-g +renewable_potential:c-g-l +renewable_potential:n-c-g-l +renewable_potential:n-c-g-l-y +renewable_potential:c-g-l-y +renewable_potential:n-c-g +renewable_potential:n-c-g-y +renewable_potential:c-g-y +renewable_potential:c-l +renewable_potential:n-c-l +renewable_potential:n-c-l-y +renewable_potential:c-l-y +renewable_potential:n-c +renewable_potential:n-c-y +renewable_potential:c-y +renewable_potential:g +renewable_potential:g-l +renewable_potential:n-g-l +renewable_potential:n-g-l-y +renewable_potential:g-l-y +renewable_potential:n-g +renewable_potential:n-g-y +renewable_potential:g-y +renewable_potential:l +renewable_potential:n-l +renewable_potential:n-l-y +renewable_potential:l-y +renewable_potential:n +renewable_potential:n-y +renewable_potential:y +resource_cost: +resource_cost:c +resource_cost:c-g +resource_cost:n-c-g +resource_cost:n-c-g-y +resource_cost:c-g-y +resource_cost:n-c +resource_cost:n-c-y +resource_cost:c-y +resource_cost:g +resource_cost:n-g +resource_cost:n-g-y +resource_cost:g-y +resource_cost:n +resource_cost:n-y +resource_cost:y +resource_remaining: +resource_remaining:c +resource_remaining:c-g +resource_remaining:n-c-g +resource_remaining:n-c-g-y +resource_remaining:c-g-y +resource_remaining:n-c +resource_remaining:n-c-y +resource_remaining:c-y +resource_remaining:g +resource_remaining:n-g +resource_remaining:n-g-y +resource_remaining:g-y +resource_remaining:n +resource_remaining:n-y +resource_remaining:y +resource_volume: +resource_volume:c +resource_volume:c-g +resource_volume:n-c-g +resource_volume:n-c +resource_volume:g +resource_volume:n-g +resource_volume:n +s +scenario +share_commodity_lo: +share_commodity_lo:h +share_commodity_lo:ns-h +share_commodity_lo:shares-ns-h +share_commodity_lo:shares-ns-ya-h +share_commodity_lo:ns-ya-h +share_commodity_lo:shares-h +share_commodity_lo:shares-ya-h +share_commodity_lo:ya-h +share_commodity_lo:ns +share_commodity_lo:shares-ns +share_commodity_lo:shares-ns-ya +share_commodity_lo:ns-ya +share_commodity_lo:shares +share_commodity_lo:shares-ya +share_commodity_lo:ya +share_commodity_up: +share_commodity_up:h +share_commodity_up:ns-h +share_commodity_up:shares-ns-h +share_commodity_up:shares-ns-ya-h +share_commodity_up:ns-ya-h +share_commodity_up:shares-h +share_commodity_up:shares-ya-h +share_commodity_up:ya-h +share_commodity_up:ns +share_commodity_up:shares-ns +share_commodity_up:shares-ns-ya +share_commodity_up:ns-ya +share_commodity_up:shares +share_commodity_up:shares-ya +share_commodity_up:ya +share_mode_lo: +share_mode_lo:h +share_mode_lo:m-h +share_mode_lo:ns-m-h +share_mode_lo:shares-ns-m-h +share_mode_lo:shares-ns-t-m-h +share_mode_lo:shares-ns-t-m-ya-h +share_mode_lo:shares-ns-m-ya-h +share_mode_lo:ns-t-m-h +share_mode_lo:ns-t-m-ya-h +share_mode_lo:ns-m-ya-h +share_mode_lo:shares-m-h +share_mode_lo:shares-t-m-h +share_mode_lo:shares-t-m-ya-h +share_mode_lo:shares-m-ya-h +share_mode_lo:t-m-h +share_mode_lo:t-m-ya-h +share_mode_lo:m-ya-h +share_mode_lo:ns-h +share_mode_lo:shares-ns-h +share_mode_lo:shares-ns-t-h +share_mode_lo:shares-ns-t-ya-h +share_mode_lo:shares-ns-ya-h +share_mode_lo:ns-t-h +share_mode_lo:ns-t-ya-h +share_mode_lo:ns-ya-h +share_mode_lo:shares-h +share_mode_lo:shares-t-h +share_mode_lo:shares-t-ya-h +share_mode_lo:shares-ya-h +share_mode_lo:t-h +share_mode_lo:t-ya-h +share_mode_lo:ya-h +share_mode_lo:m +share_mode_lo:ns-m +share_mode_lo:shares-ns-m +share_mode_lo:shares-ns-t-m +share_mode_lo:shares-ns-t-m-ya +share_mode_lo:shares-ns-m-ya +share_mode_lo:ns-t-m +share_mode_lo:ns-t-m-ya +share_mode_lo:ns-m-ya +share_mode_lo:shares-m +share_mode_lo:shares-t-m +share_mode_lo:shares-t-m-ya +share_mode_lo:shares-m-ya +share_mode_lo:t-m +share_mode_lo:t-m-ya +share_mode_lo:m-ya +share_mode_lo:ns +share_mode_lo:shares-ns +share_mode_lo:shares-ns-t +share_mode_lo:shares-ns-t-ya +share_mode_lo:shares-ns-ya +share_mode_lo:ns-t +share_mode_lo:ns-t-ya +share_mode_lo:ns-ya +share_mode_lo:shares +share_mode_lo:shares-t +share_mode_lo:shares-t-ya +share_mode_lo:shares-ya +share_mode_lo:t +share_mode_lo:t-ya +share_mode_lo:ya +share_mode_up: +share_mode_up:h +share_mode_up:m-h +share_mode_up:ns-m-h +share_mode_up:shares-ns-m-h +share_mode_up:shares-ns-t-m-h +share_mode_up:shares-ns-t-m-ya-h +share_mode_up:shares-ns-m-ya-h +share_mode_up:ns-t-m-h +share_mode_up:ns-t-m-ya-h +share_mode_up:ns-m-ya-h +share_mode_up:shares-m-h +share_mode_up:shares-t-m-h +share_mode_up:shares-t-m-ya-h +share_mode_up:shares-m-ya-h +share_mode_up:t-m-h +share_mode_up:t-m-ya-h +share_mode_up:m-ya-h +share_mode_up:ns-h +share_mode_up:shares-ns-h +share_mode_up:shares-ns-t-h +share_mode_up:shares-ns-t-ya-h +share_mode_up:shares-ns-ya-h +share_mode_up:ns-t-h +share_mode_up:ns-t-ya-h +share_mode_up:ns-ya-h +share_mode_up:shares-h +share_mode_up:shares-t-h +share_mode_up:shares-t-ya-h +share_mode_up:shares-ya-h +share_mode_up:t-h +share_mode_up:t-ya-h +share_mode_up:ya-h +share_mode_up:m +share_mode_up:ns-m +share_mode_up:shares-ns-m +share_mode_up:shares-ns-t-m +share_mode_up:shares-ns-t-m-ya +share_mode_up:shares-ns-m-ya +share_mode_up:ns-t-m +share_mode_up:ns-t-m-ya +share_mode_up:ns-m-ya +share_mode_up:shares-m +share_mode_up:shares-t-m +share_mode_up:shares-t-m-ya +share_mode_up:shares-m-ya +share_mode_up:t-m +share_mode_up:t-m-ya +share_mode_up:m-ya +share_mode_up:ns +share_mode_up:shares-ns +share_mode_up:shares-ns-t +share_mode_up:shares-ns-t-ya +share_mode_up:shares-ns-ya +share_mode_up:ns-t +share_mode_up:ns-t-ya +share_mode_up:ns-ya +share_mode_up:shares +share_mode_up:shares-t +share_mode_up:shares-t-ya +share_mode_up:shares-ya +share_mode_up:t +share_mode_up:t-ya +share_mode_up:ya +shares +soft_activity_lo: +soft_activity_lo:h +soft_activity_lo:nl-h +soft_activity_lo:nl-t-h +soft_activity_lo:nl-t-ya-h +soft_activity_lo:nl-ya-h +soft_activity_lo:t-h +soft_activity_lo:t-ya-h +soft_activity_lo:ya-h +soft_activity_lo:nl +soft_activity_lo:nl-t +soft_activity_lo:nl-t-ya +soft_activity_lo:nl-ya +soft_activity_lo:t +soft_activity_lo:t-ya +soft_activity_lo:ya +soft_activity_up: +soft_activity_up:h +soft_activity_up:nl-h +soft_activity_up:nl-t-h +soft_activity_up:nl-t-ya-h +soft_activity_up:nl-ya-h +soft_activity_up:t-h +soft_activity_up:t-ya-h +soft_activity_up:ya-h +soft_activity_up:nl +soft_activity_up:nl-t +soft_activity_up:nl-t-ya +soft_activity_up:nl-ya +soft_activity_up:t +soft_activity_up:t-ya +soft_activity_up:ya +soft_new_capacity_lo: +soft_new_capacity_lo:nl +soft_new_capacity_lo:nl-t +soft_new_capacity_lo:nl-t-yv +soft_new_capacity_lo:nl-yv +soft_new_capacity_lo:t +soft_new_capacity_lo:t-yv +soft_new_capacity_lo:yv +soft_new_capacity_up: +soft_new_capacity_up:nl +soft_new_capacity_up:nl-t +soft_new_capacity_up:nl-t-yv +soft_new_capacity_up:nl-yv +soft_new_capacity_up:t +soft_new_capacity_up:t-yv +soft_new_capacity_up:yv +storage_initial: +storage_initial:c +storage_initial:c-h +storage_initial:l-c-h +storage_initial:m-l-c-h +storage_initial:n-m-l-c-h +storage_initial:n-t-m-l-c-h +storage_initial:n-t-m-l-c-y-h +storage_initial:n-m-l-c-y-h +storage_initial:t-m-l-c-h +storage_initial:t-m-l-c-y-h +storage_initial:m-l-c-y-h +storage_initial:n-l-c-h +storage_initial:n-t-l-c-h +storage_initial:n-t-l-c-y-h +storage_initial:n-l-c-y-h +storage_initial:t-l-c-h +storage_initial:t-l-c-y-h +storage_initial:l-c-y-h +storage_initial:m-c-h +storage_initial:n-m-c-h +storage_initial:n-t-m-c-h +storage_initial:n-t-m-c-y-h +storage_initial:n-m-c-y-h +storage_initial:t-m-c-h +storage_initial:t-m-c-y-h +storage_initial:m-c-y-h +storage_initial:n-c-h +storage_initial:n-t-c-h +storage_initial:n-t-c-y-h +storage_initial:n-c-y-h +storage_initial:t-c-h +storage_initial:t-c-y-h +storage_initial:c-y-h +storage_initial:l-c +storage_initial:m-l-c +storage_initial:n-m-l-c +storage_initial:n-t-m-l-c +storage_initial:n-t-m-l-c-y +storage_initial:n-m-l-c-y +storage_initial:t-m-l-c +storage_initial:t-m-l-c-y +storage_initial:m-l-c-y +storage_initial:n-l-c +storage_initial:n-t-l-c +storage_initial:n-t-l-c-y +storage_initial:n-l-c-y +storage_initial:t-l-c +storage_initial:t-l-c-y +storage_initial:l-c-y +storage_initial:m-c +storage_initial:n-m-c +storage_initial:n-t-m-c +storage_initial:n-t-m-c-y +storage_initial:n-m-c-y +storage_initial:t-m-c +storage_initial:t-m-c-y +storage_initial:m-c-y +storage_initial:n-c +storage_initial:n-t-c +storage_initial:n-t-c-y +storage_initial:n-c-y +storage_initial:t-c +storage_initial:t-c-y +storage_initial:c-y +storage_initial:h +storage_initial:l-h +storage_initial:m-l-h +storage_initial:n-m-l-h +storage_initial:n-t-m-l-h +storage_initial:n-t-m-l-y-h +storage_initial:n-m-l-y-h +storage_initial:t-m-l-h +storage_initial:t-m-l-y-h +storage_initial:m-l-y-h +storage_initial:n-l-h +storage_initial:n-t-l-h +storage_initial:n-t-l-y-h +storage_initial:n-l-y-h +storage_initial:t-l-h +storage_initial:t-l-y-h +storage_initial:l-y-h +storage_initial:m-h +storage_initial:n-m-h +storage_initial:n-t-m-h +storage_initial:n-t-m-y-h +storage_initial:n-m-y-h +storage_initial:t-m-h +storage_initial:t-m-y-h +storage_initial:m-y-h +storage_initial:n-h +storage_initial:n-t-h +storage_initial:n-t-y-h +storage_initial:n-y-h +storage_initial:t-h +storage_initial:t-y-h +storage_initial:y-h +storage_initial:l +storage_initial:m-l +storage_initial:n-m-l +storage_initial:n-t-m-l +storage_initial:n-t-m-l-y +storage_initial:n-m-l-y +storage_initial:t-m-l +storage_initial:t-m-l-y +storage_initial:m-l-y +storage_initial:n-l +storage_initial:n-t-l +storage_initial:n-t-l-y +storage_initial:n-l-y +storage_initial:t-l +storage_initial:t-l-y +storage_initial:l-y +storage_initial:m +storage_initial:n-m +storage_initial:n-t-m +storage_initial:n-t-m-y +storage_initial:n-m-y +storage_initial:t-m +storage_initial:t-m-y +storage_initial:m-y +storage_initial:n +storage_initial:n-t +storage_initial:n-t-y +storage_initial:n-y +storage_initial:t +storage_initial:t-y +storage_initial:y +storage_self_discharge: +storage_self_discharge:c +storage_self_discharge:c-h +storage_self_discharge:l-c-h +storage_self_discharge:m-l-c-h +storage_self_discharge:n-m-l-c-h +storage_self_discharge:n-t-m-l-c-h +storage_self_discharge:n-t-m-l-c-y-h +storage_self_discharge:n-m-l-c-y-h +storage_self_discharge:t-m-l-c-h +storage_self_discharge:t-m-l-c-y-h +storage_self_discharge:m-l-c-y-h +storage_self_discharge:n-l-c-h +storage_self_discharge:n-t-l-c-h +storage_self_discharge:n-t-l-c-y-h +storage_self_discharge:n-l-c-y-h +storage_self_discharge:t-l-c-h +storage_self_discharge:t-l-c-y-h +storage_self_discharge:l-c-y-h +storage_self_discharge:m-c-h +storage_self_discharge:n-m-c-h +storage_self_discharge:n-t-m-c-h +storage_self_discharge:n-t-m-c-y-h +storage_self_discharge:n-m-c-y-h +storage_self_discharge:t-m-c-h +storage_self_discharge:t-m-c-y-h +storage_self_discharge:m-c-y-h +storage_self_discharge:n-c-h +storage_self_discharge:n-t-c-h +storage_self_discharge:n-t-c-y-h +storage_self_discharge:n-c-y-h +storage_self_discharge:t-c-h +storage_self_discharge:t-c-y-h +storage_self_discharge:c-y-h +storage_self_discharge:l-c +storage_self_discharge:m-l-c +storage_self_discharge:n-m-l-c +storage_self_discharge:n-t-m-l-c +storage_self_discharge:n-t-m-l-c-y +storage_self_discharge:n-m-l-c-y +storage_self_discharge:t-m-l-c +storage_self_discharge:t-m-l-c-y +storage_self_discharge:m-l-c-y +storage_self_discharge:n-l-c +storage_self_discharge:n-t-l-c +storage_self_discharge:n-t-l-c-y +storage_self_discharge:n-l-c-y +storage_self_discharge:t-l-c +storage_self_discharge:t-l-c-y +storage_self_discharge:l-c-y +storage_self_discharge:m-c +storage_self_discharge:n-m-c +storage_self_discharge:n-t-m-c +storage_self_discharge:n-t-m-c-y +storage_self_discharge:n-m-c-y +storage_self_discharge:t-m-c +storage_self_discharge:t-m-c-y +storage_self_discharge:m-c-y +storage_self_discharge:n-c +storage_self_discharge:n-t-c +storage_self_discharge:n-t-c-y +storage_self_discharge:n-c-y +storage_self_discharge:t-c +storage_self_discharge:t-c-y +storage_self_discharge:c-y +storage_self_discharge:h +storage_self_discharge:l-h +storage_self_discharge:m-l-h +storage_self_discharge:n-m-l-h +storage_self_discharge:n-t-m-l-h +storage_self_discharge:n-t-m-l-y-h +storage_self_discharge:n-m-l-y-h +storage_self_discharge:t-m-l-h +storage_self_discharge:t-m-l-y-h +storage_self_discharge:m-l-y-h +storage_self_discharge:n-l-h +storage_self_discharge:n-t-l-h +storage_self_discharge:n-t-l-y-h +storage_self_discharge:n-l-y-h +storage_self_discharge:t-l-h +storage_self_discharge:t-l-y-h +storage_self_discharge:l-y-h +storage_self_discharge:m-h +storage_self_discharge:n-m-h +storage_self_discharge:n-t-m-h +storage_self_discharge:n-t-m-y-h +storage_self_discharge:n-m-y-h +storage_self_discharge:t-m-h +storage_self_discharge:t-m-y-h +storage_self_discharge:m-y-h +storage_self_discharge:n-h +storage_self_discharge:n-t-h +storage_self_discharge:n-t-y-h +storage_self_discharge:n-y-h +storage_self_discharge:t-h +storage_self_discharge:t-y-h +storage_self_discharge:y-h +storage_self_discharge:l +storage_self_discharge:m-l +storage_self_discharge:n-m-l +storage_self_discharge:n-t-m-l +storage_self_discharge:n-t-m-l-y +storage_self_discharge:n-m-l-y +storage_self_discharge:t-m-l +storage_self_discharge:t-m-l-y +storage_self_discharge:m-l-y +storage_self_discharge:n-l +storage_self_discharge:n-t-l +storage_self_discharge:n-t-l-y +storage_self_discharge:n-l-y +storage_self_discharge:t-l +storage_self_discharge:t-l-y +storage_self_discharge:l-y +storage_self_discharge:m +storage_self_discharge:n-m +storage_self_discharge:n-t-m +storage_self_discharge:n-t-m-y +storage_self_discharge:n-m-y +storage_self_discharge:t-m +storage_self_discharge:t-m-y +storage_self_discharge:m-y +storage_self_discharge:n +storage_self_discharge:n-t +storage_self_discharge:n-t-y +storage_self_discharge:n-y +storage_self_discharge:t +storage_self_discharge:t-y +storage_self_discharge:y +subsidy: +subsidy:nl +subsidy:nl-type_tec +subsidy:nl-type_tec-ya +subsidy:nl-ya +subsidy:type_tec +subsidy:type_tec-ya +subsidy:ya +t +tax: +tax:nl +tax:nl-type_tec +tax:nl-type_tec-ya +tax:nl-ya +tax:type_tec +tax:type_tec-ya +tax:ya +tax_emission: +tax_emission:n +tax_emission:n-type_emission +tax_emission:n-type_emission-type_tec +tax_emission:n-type_emission-type_tec-type_year +tax_emission:n-type_emission-type_year +tax_emission:n-type_tec +tax_emission:n-type_tec-type_year +tax_emission:n-type_year +tax_emission:type_emission +tax_emission:type_emission-type_tec +tax_emission:type_emission-type_tec-type_year +tax_emission:type_emission-type_year +tax_emission:type_tec +tax_emission:type_tec-type_year +tax_emission:type_year +technical_lifetime: +technical_lifetime:nl +technical_lifetime:nl-t +technical_lifetime:nl-t-yv +technical_lifetime:nl-yv +technical_lifetime:t +technical_lifetime:t-yv +technical_lifetime:yv +time_order: +time_order:h +time_order:lvl_temporal-h +time_order:lvl_temporal +time_relative +ts +type_addon +type_emission +type_node +type_relation +type_tec +type_tec_land +type_year +u +var_cost: +var_cost:h +var_cost:m-h +var_cost:nl-m-h +var_cost:nl-t-m-h +var_cost:nl-t-ya-m-h +var_cost:nl-t-yv-ya-m-h +var_cost:nl-t-yv-m-h +var_cost:nl-ya-m-h +var_cost:nl-yv-ya-m-h +var_cost:nl-yv-m-h +var_cost:t-m-h +var_cost:t-ya-m-h +var_cost:t-yv-ya-m-h +var_cost:t-yv-m-h +var_cost:ya-m-h +var_cost:yv-ya-m-h +var_cost:yv-m-h +var_cost:nl-h +var_cost:nl-t-h +var_cost:nl-t-ya-h +var_cost:nl-t-yv-ya-h +var_cost:nl-t-yv-h +var_cost:nl-ya-h +var_cost:nl-yv-ya-h +var_cost:nl-yv-h +var_cost:t-h +var_cost:t-ya-h +var_cost:t-yv-ya-h +var_cost:t-yv-h +var_cost:ya-h +var_cost:yv-ya-h +var_cost:yv-h +var_cost:m +var_cost:nl-m +var_cost:nl-t-m +var_cost:nl-t-ya-m +var_cost:nl-t-yv-ya-m +var_cost:nl-t-yv-m +var_cost:nl-ya-m +var_cost:nl-yv-ya-m +var_cost:nl-yv-m +var_cost:t-m +var_cost:t-ya-m +var_cost:t-yv-ya-m +var_cost:t-yv-m +var_cost:ya-m +var_cost:yv-ya-m +var_cost:yv-m +var_cost:nl +var_cost:nl-t +var_cost:nl-t-ya +var_cost:nl-t-yv-ya +var_cost:nl-t-yv +var_cost:nl-ya +var_cost:nl-yv-ya +var_cost:nl-yv +var_cost:t +var_cost:t-ya +var_cost:t-yv-ya +var_cost:t-yv +var_cost:ya +var_cost:yv-ya +var_cost:yv +y \ No newline at end of file diff --git a/message_ix/tests/model/test_message.py b/message_ix/tests/model/test_message.py index f176b38ee..8dc1ad5d7 100644 --- a/message_ix/tests/model/test_message.py +++ b/message_ix/tests/model/test_message.py @@ -71,7 +71,9 @@ def _add(name: str, **kw) -> str: [20, 10, 10], # Fails without a fix for #923 ), ) -def test_gh_923(request, gh_923_scenario: Scenario, tl_value: list[int]) -> None: +def test_gh_923( + request: pytest.FixtureRequest, gh_923_scenario: Scenario, tl_value: list[int] +) -> None: """Minimum reproducible test for :issue:`923`.""" s = gh_923_scenario.clone(scenario=request.node.name) @@ -101,7 +103,9 @@ def test_gh_923(request, gh_923_scenario: Scenario, tl_value: list[int]) -> None [700, 710, 715, 720], ], ) -def test_growth_new_capacity_up(request, test_mp, model_horizon) -> None: +def test_growth_new_capacity_up( + request: pytest.FixtureRequest, test_mp: "Platform", model_horizon: list[int] +) -> None: """``CAP_NEW`` is correctly constrained according to ``growth_new_capacity_up``. This test adds ``tax_emission`` values and removes all constraints except @@ -181,7 +185,10 @@ def test_growth_new_capacity_up(request, test_mp, model_horizon) -> None: ), ) def test_historical_new_capacity( - test_mp, request, year_vtg: list[int], active_historical_techs: set[str] + test_mp: "Platform", + request: pytest.FixtureRequest, + year_vtg: list[int], + active_historical_techs: set[str], ) -> None: """Test MESSAGE choice between ``historical_new_capacity`` and ``CAP_NEW``. @@ -214,7 +221,7 @@ def test_historical_new_capacity( ) -def test_soft_activity_up(request, test_mp): +def test_soft_activity_up(request: pytest.FixtureRequest, test_mp: "Platform") -> None: """Test function of parameter ``soft_activity_up``. This test was rewritten as part of :pull:`924` to confirm that behaviour was not @@ -251,7 +258,7 @@ def test_soft_activity_up(request, test_mp): pdt.assert_frame_equal(exp, s.var("ACT_UP"), check_like=True, check_dtype=False) # The objective function value is reduced by a specific amount - npt.assert_allclose(s.var("OBJ")["lvl"] - OBJ_pre, -1578.125) + npt.assert_allclose(s.var("OBJ")["lvl"] - OBJ_pre, -1578.125, rtol=1e-5) # - Merge resulting ACT with data prior to changes. # - Compute differences in lvl. diff --git a/message_ix/tests/report/test_operator.py b/message_ix/tests/report/test_operator.py index 6a0081e5d..cd754b65f 100644 --- a/message_ix/tests/report/test_operator.py +++ b/message_ix/tests/report/test_operator.py @@ -1,6 +1,6 @@ from collections.abc import Mapping from functools import partial -from typing import Any +from typing import TYPE_CHECKING, Any import matplotlib import pandas as pd @@ -17,8 +17,15 @@ from message_ix.report import Reporter, operator from message_ix.testing import SCENARIO +if TYPE_CHECKING: + from pathlib import Path -def test_as_message_df(test_mp) -> None: + from ixmp import Platform + +# NOTE These tests likely don't need to be parametrized + + +def test_as_message_df(test_mp: "Platform") -> None: q = random_qty(dict(c=3, h=2, nl=5)) q.units = "kg" @@ -77,7 +84,7 @@ def test_as_message_df(test_mp) -> None: assert q.size == len(s.par("demand")) -def test_as_pyam(message_test_mp): +def test_as_pyam(message_test_mp: "Platform") -> None: scen = Scenario(message_test_mp, **SCENARIO["dantzig"]) if not scen.has_solution(): scen.solve(quiet=True) @@ -88,11 +95,13 @@ def test_as_pyam(message_test_mp): # Call as_pyam() with an empty quantity as_pyam = rep.get_operator("as_pyam") + # For type checkers: + assert as_pyam p = as_pyam(scen, qty[0:0], rename=dict(nl="region", ya="year")) assert isinstance(p, pyam.IamDataFrame) -def test_concat(dantzig_reporter): +def test_concat(dantzig_reporter: Reporter) -> None: """pyam.concat() correctly passes through to ixmp…concat().""" rep = dantzig_reporter @@ -100,7 +109,7 @@ def test_concat(dantzig_reporter): rep.get(key) -def test_plot_cumulative(tmp_path): +def test_plot_cumulative(tmp_path: "Path") -> None: x = pd.Series( { ("region", "a"): 500, @@ -128,7 +137,7 @@ def test_plot_cumulative(tmp_path): matplotlib.pyplot.savefig(tmp_path / "plot_cumulative.svg") -def test_stacked_bar(): +def test_stacked_bar() -> None: data = pd.Series( { ("region", "foo", 2020): 1.0, @@ -139,5 +148,5 @@ def test_stacked_bar(): ) data.index.names = ["r", "t", "year"] - result = operator.stacked_bar(Quantity(data), dims=["r", "t", "year"]) + result = operator.stacked_bar(Quantity(data), dims=("r", "t", "year")) assert isinstance(result, matplotlib.axes.Axes) diff --git a/message_ix/tests/test_cli.py b/message_ix/tests/test_cli.py index 65e5eaf38..0825649b0 100644 --- a/message_ix/tests/test_cli.py +++ b/message_ix/tests/test_cli.py @@ -1,16 +1,24 @@ +import os import re +from collections.abc import Callable from pathlib import Path import click import pytest +from click.testing import Result import message_ix from message_ix import config def test_copy_model( - monkeypatch, message_ix_cli, tmp_path, tmp_env, request, tmp_model_dir -): + monkeypatch: pytest.MonkeyPatch, + message_ix_cli: Callable[..., Result], + tmp_path: Path, + tmp_env: os._Environ[str], + request: pytest.FixtureRequest, + tmp_model_dir: Path, +) -> None: # Use Pytest monkeypatch fixture; this ensures the original value is restored at the # end of the test monkeypatch.setattr( @@ -65,7 +73,12 @@ def test_copy_model( ), ], ) -def test_dl(message_ix_cli, opts, exit_code, tmp_path): +def test_dl( + message_ix_cli: Callable[..., Result], + opts: list[str], + exit_code: int, + tmp_path: Path, +) -> None: r = message_ix_cli("dl", *opts, str(tmp_path)) assert r.exit_code == exit_code, (r.exception, r.output) diff --git a/message_ix/tests/test_core.py b/message_ix/tests/test_core.py index 74c7a1d96..fcf03d72b 100644 --- a/message_ix/tests/test_core.py +++ b/message_ix/tests/test_core.py @@ -1,5 +1,9 @@ +import sys +from collections.abc import Generator +from copy import deepcopy from pathlib import Path from subprocess import run +from typing import Any, Optional import ixmp import numpy as np @@ -7,14 +11,17 @@ import pandas as pd import pandas.testing as pdt import pytest +from ixmp.backend.jdbc import JDBCBackend import message_ix from message_ix import Scenario -from message_ix.testing import SCENARIO, make_dantzig, make_westeros +from message_ix.testing import GHA, SCENARIO, make_dantzig, make_westeros @pytest.fixture -def dantzig_message_scenario(message_test_mp): +def dantzig_message_scenario( + message_test_mp: ixmp.Platform, +) -> Generator[Scenario, Any, None]: yield Scenario(message_test_mp, **SCENARIO["dantzig"]) @@ -45,7 +52,13 @@ class TestScenario: ), ) def test_rename0( - self, test_mp, set_name: str, old: str, new: str, keep: bool, request + self, + test_mp: ixmp.Platform, + set_name: str, + old: str, + new: str, + keep: bool, + request: pytest.FixtureRequest, ) -> None: # Create a Westeros scenario instance and solve it scen_ref = make_westeros(test_mp, quiet=True, solve=True, request=request) @@ -69,11 +82,17 @@ def test_rename0( # Check if OBJ value remains unchanged when "old" is removed (keep=False); or # twice as high when "old" note is kept (keep=True) exp = scen_ref.var("OBJ")["lvl"] * (1 + int(keep and set_name == "node")) - assert exp == scen.var("OBJ")["lvl"] + assert np.isclose(exp, scen.var("OBJ")["lvl"]) @pytest.mark.parametrize("check_out", (True, False)) @pytest.mark.parametrize("keep", (True, False)) - def test_rename1(self, request, dantzig_message_scenario, check_out, keep): + def test_rename1( + self, + request: pytest.FixtureRequest, + dantzig_message_scenario: Scenario, + check_out: bool, + keep: bool, + ) -> None: scen = dantzig_message_scenario assert scen.par("output")["technology"].isin(["canning_plant"]).any() @@ -90,7 +109,7 @@ def test_rename1(self, request, dantzig_message_scenario, check_out, keep): clone.solve(quiet=True) assert np.isclose(clone.var("OBJ")["lvl"], 153.675) - def test_rename2(self, dantzig_message_scenario): + def test_rename2(self, dantzig_message_scenario: Scenario) -> None: """Test :meth:`.rename` for parameters with 2+ indexes for the same set.""" scen = dantzig_message_scenario @@ -108,7 +127,7 @@ def test_rename2(self, dantzig_message_scenario): # Values are renamed when appearing in either of the sets indexed by `node` assert 1 == vc_post[("redmond", "brooklyn")] - def test_solve(self, dantzig_message_scenario): + def test_solve(self, dantzig_message_scenario: Scenario) -> None: s = dantzig_message_scenario # Scenario solves correctly @@ -129,7 +148,16 @@ def test_solve(self, dantzig_message_scenario): assert "'ixmp'.'3-" in result.stdout.decode() -def test_year_int(test_mp, request): +@pytest.mark.skipif(not GHA, reason="Check for GitHub Actions workflows only") +def test_backends_available() -> None: + """Check that the expected set of backends are available within GHA workflows.""" + from ixmp.backend import available + + exp = {"ixmp4", "jdbc"} if sys.version_info >= (3, 10) else {"jdbc"} + assert exp <= set(available()) + + +def test_year_int(test_mp: ixmp.Platform, request: pytest.FixtureRequest) -> None: scen = make_dantzig(test_mp, solve=True, multi_year=True, request=request) # Dimensions indexed by 'year' are returned as integers for all item types @@ -140,7 +168,7 @@ def test_year_int(test_mp, request): assert scen.equ("COMMODITY_BALANCE_GT").dtypes["year"] == "int" -def test_add_spatial_single(test_mp): +def test_add_spatial_single(test_mp: ixmp.Platform) -> None: scen = Scenario(test_mp, **SCENARIO["dantzig"], version="new") data = {"country": "Austria"} scen.add_spatial_sets(data) @@ -153,12 +181,12 @@ def test_add_spatial_single(test_mp): obs = scen.set("lvl_spatial") npt.assert_array_equal(obs, exp) - exp = [["country", "Austria", "World"]] + exp_map = [["country", "Austria", "World"]] obs = scen.set("map_spatial_hierarchy") - npt.assert_array_equal(obs, exp) + npt.assert_array_equal(obs, exp_map) -def test_add_spatial_multiple(test_mp): +def test_add_spatial_multiple(test_mp: ixmp.Platform) -> None: scen = Scenario(test_mp, **SCENARIO["dantzig"], version="new") data = {"country": ["Austria", "Germany"]} scen.add_spatial_sets(data) @@ -171,12 +199,12 @@ def test_add_spatial_multiple(test_mp): obs = scen.set("lvl_spatial") npt.assert_array_equal(obs, exp) - exp = [["country", "Austria", "World"], ["country", "Germany", "World"]] + exp_map = [["country", "Austria", "World"], ["country", "Germany", "World"]] obs = scen.set("map_spatial_hierarchy") - npt.assert_array_equal(obs, exp) + npt.assert_array_equal(obs, exp_map) -def test_add_spatial_hierarchy(test_mp): +def test_add_spatial_hierarchy(test_mp: ixmp.Platform) -> None: scen = Scenario(test_mp, **SCENARIO["dantzig"], version="new") data = {"country": {"Austria": {"state": ["Vienna", "Lower Austria"]}}} scen.add_spatial_sets(data) @@ -189,13 +217,13 @@ def test_add_spatial_hierarchy(test_mp): obs = scen.set("lvl_spatial") npt.assert_array_equal(obs, exp) - exp = [ + exp_map = [ ["state", "Vienna", "Austria"], ["state", "Lower Austria", "Austria"], ["country", "Austria", "World"], ] obs = scen.set("map_spatial_hierarchy") - npt.assert_array_equal(obs, exp) + npt.assert_array_equal(obs, exp_map) @pytest.mark.parametrize( @@ -272,11 +300,17 @@ def test_add_spatial_hierarchy(test_mp): ), ], ) -def test_add_horizon(test_mp, args, kwargs, exp): +def test_add_horizon( + test_mp: ixmp.Platform, args, kwargs, exp: Optional[dict[str, list[int]]] +) -> None: scen = Scenario(test_mp, **SCENARIO["dantzig"], version="new") + # Running on both backends; add_horizon() manipulates these items + _args = deepcopy(args) + _kwargs = deepcopy(kwargs) + # Call completes successfully - if isinstance(args[0], dict) and "data" not in kwargs: + if isinstance(_args[0], dict) and "data" not in _kwargs: with pytest.warns( DeprecationWarning, match=( @@ -284,9 +318,12 @@ def test_add_horizon(test_mp, args, kwargs, exp): "firstmodelyear=" ), ): - scen.add_horizon(*args, **kwargs) + scen.add_horizon(*_args, **_kwargs) else: - scen.add_horizon(*args, **kwargs) + scen.add_horizon(*_args, **_kwargs) + + # For type checkers + assert exp # Sets and parameters have the expected contents npt.assert_array_equal(exp["year"], scen.set("year")) @@ -294,7 +331,9 @@ def test_add_horizon(test_mp, args, kwargs, exp): npt.assert_array_equal(exp["dp"], scen.par("duration_period")["value"]) -def test_add_horizon_repeat(test_mp, caplog): +def test_add_horizon_repeat( + test_mp: ixmp.Platform, caplog: pytest.LogCaptureFixture +) -> None: """add_horizon() does not handle scenarios with existing years.""" scen = Scenario(test_mp, **SCENARIO["dantzig"], version="new") @@ -309,7 +348,7 @@ def test_add_horizon_repeat(test_mp, caplog): scen.add_horizon([2015, 2020, 2025], firstmodelyear=2010) -def test_cat_all(dantzig_message_scenario): +def test_cat_all(dantzig_message_scenario: Scenario) -> None: scen = dantzig_message_scenario df = scen.cat("technology", "all") npt.assert_array_equal( @@ -317,15 +356,24 @@ def test_cat_all(dantzig_message_scenario): ) -def test_cat_list(test_mp): +def test_cat_list(test_mp: ixmp.Platform) -> None: scen = Scenario(test_mp, **SCENARIO["dantzig"], version="new") # cat_list() returns default 'year' categories in a new message_ix.Scenario + # NOTE JDBC sets up default items in the DB backend, including the base expected + # data and then finds nothing new when calling models.MESSAGE.initialize(). Thus, no + # `commit()` is issued and ixmp_source doesn't `assignPeriodMaps()`, which would add + # 'cumulative'. + # IXMP4Backend only reads in the items here and thus `commit()`s, which adds + # 'cumulative'. This can't change without adapting the `commit()` logic, which we + # rely on elsewhere. So we have to adapt the expectation instead. exp = ["firstmodelyear", "lastmodelyear", "initializeyear_macro"] + if not isinstance(test_mp._backend, JDBCBackend): + exp.insert(0, "cumulative") assert exp == scen.cat_list("year") -def test_add_cat(dantzig_message_scenario): +def test_add_cat(dantzig_message_scenario: Scenario) -> None: scen = dantzig_message_scenario scen2 = scen.clone(keep_solution=False) scen2.check_out() @@ -337,7 +385,7 @@ def test_add_cat(dantzig_message_scenario): scen2.discard_changes() -def test_add_cat_unique(message_test_mp): +def test_add_cat_unique(message_test_mp: ixmp.Platform) -> None: scen = Scenario(message_test_mp, **SCENARIO["dantzig multi-year"]) scen2 = scen.clone(keep_solution=False) scen2.check_out() @@ -345,7 +393,7 @@ def test_add_cat_unique(message_test_mp): assert [1963] == scen2.cat("year", "firstmodelyear") -def test_years_active(test_mp): +def test_years_active(test_mp: ixmp.Platform) -> None: test_mp.add_unit("year") scen = Scenario(test_mp, **SCENARIO["dantzig"], version="new") scen.add_set("node", "foo") @@ -357,8 +405,10 @@ def test_years_active(test_mp): # First period length is immaterial duration = [1900, 5, 5, 5, 5, 10, 10] scen.add_horizon(year=years, firstmodelyear=years[-1]) + # Not sure why mypy doesn't like this scen.add_par( - "duration_period", pd.DataFrame(zip(years, duration), columns=["year", "value"]) + "duration_period", + pd.DataFrame(zip(years, duration), columns=["year", "value"]), # type: ignore[arg-type] ) # 'bar' built in period '1995' with 25-year lifetime: @@ -389,7 +439,7 @@ def test_years_active(test_mp): npt.assert_array_equal(result, years[1:-1]) -def test_years_active_extend(message_test_mp): +def test_years_active_extend(message_test_mp: ixmp.Platform) -> None: scen = Scenario(message_test_mp, **SCENARIO["dantzig multi-year"]) # Existing time horizon @@ -414,7 +464,7 @@ def test_years_active_extend(message_test_mp): npt.assert_array_equal(result, years[1:-1]) -def test_years_active_extended2(test_mp): +def test_years_active_extended2(test_mp: ixmp.Platform) -> None: test_mp.add_unit("year") scen = Scenario(test_mp, **SCENARIO["dantzig"], version="new") scen.add_set("node", "foo") @@ -426,8 +476,10 @@ def test_years_active_extended2(test_mp): # First period length is immaterial duration = [1900, 5, 5, 5, 5, 10, 10] scen.add_horizon(year=years, firstmodelyear=years[-1]) + # Not sure why mypy doesn't like this scen.add_par( - "duration_period", pd.DataFrame(zip(years, duration), columns=["year", "value"]) + "duration_period", + pd.DataFrame(zip(years, duration), columns=["year", "value"]), # type: ignore[arg-type] ) # 'bar' built in period '2020' with 10-year lifetime: @@ -459,7 +511,7 @@ def test_years_active_extended2(test_mp): npt.assert_array_equal(result, years[-2]) -def test_years_active_extend3(test_mp): +def test_years_active_extend3(test_mp: ixmp.Platform) -> None: test_mp.add_unit("year") scen = Scenario(test_mp, **SCENARIO["dantzig"], version="new") scen.add_set("node", "foo") @@ -492,7 +544,7 @@ def test_years_active_extend3(test_mp): assert obs == [1990, 1992, 1995, 2000, 2005] -def test_new_timeseries_long_name64(message_test_mp): +def test_new_timeseries_long_name64(message_test_mp: ixmp.Platform) -> None: scen = Scenario(message_test_mp, **SCENARIO["dantzig multi-year"]) scen = scen.clone(keep_solution=False) scen.check_out(timeseries_only=True) @@ -516,7 +568,7 @@ def test_new_timeseries_long_name64(message_test_mp): scen.commit("importing a testing timeseries") -def test_new_timeseries_long_name64plus(message_test_mp): +def test_new_timeseries_long_name64plus(message_test_mp: ixmp.Platform) -> None: scen = Scenario(message_test_mp, **SCENARIO["dantzig multi-year"]) scen = scen.clone(keep_solution=False) scen.check_out(timeseries_only=True) @@ -543,11 +595,11 @@ def test_new_timeseries_long_name64plus(message_test_mp): scen.commit("importing a testing timeseries") -def test_excel_read_write(message_test_mp, tmp_path, request): +def test_excel_read_write( + message_test_mp: ixmp.Platform, tmp_path: Path, request: pytest.FixtureRequest +) -> None: # Path to temporary file - tmp_path /= request.node.name + "_excel_read_write.xlsx" - # Convert to string to ensure this can be handled - fname = str(tmp_path) + fname = tmp_path / (request.node.name + "_excel_read_write.xlsx") scen1 = Scenario(message_test_mp, **SCENARIO["dantzig"]) scen1 = make_dantzig(mp=message_test_mp, request=request) @@ -585,7 +637,7 @@ def test_excel_read_write(message_test_mp, tmp_path, request): assert np.isclose(scen2.var("OBJ")["lvl"], scen1.var("OBJ")["lvl"]) -def test_clone(tmpdir): +def test_clone(tmpdir: Path) -> None: # Two local platforms mp1 = ixmp.Platform(driver="hsqldb", path=tmpdir / "mp1") mp2 = ixmp.Platform(driver="hsqldb", path=tmpdir / "mp2") diff --git a/message_ix/tests/test_feature_addon.py b/message_ix/tests/test_feature_addon.py index 73133884b..06763b527 100644 --- a/message_ix/tests/test_feature_addon.py +++ b/message_ix/tests/test_feature_addon.py @@ -1,5 +1,8 @@ +from typing import Union + import numpy as np import pandas as pd +from ixmp import Platform from message_ix import Scenario from message_ix.testing import SCENARIO @@ -25,7 +28,9 @@ g = {"technology": "canning_addon", "node_loc": "seattle"} -def add_addon(s, costs=False, zero_output=False): +def add_addon( + s: Scenario, costs: Union[bool, int] = False, zero_output: bool = False +) -> None: s.check_out() s.add_set("technology", "canning_addon") s.add_set("addon", "canning_addon") @@ -74,7 +79,7 @@ def add_addon(s, costs=False, zero_output=False): # reduce max activity from one canning plant, has to be compensated by addon -def test_addon_tec(message_test_mp): +def test_addon_tec(message_test_mp: Platform) -> None: scen = Scenario(message_test_mp, **SCENARIO["dantzig"]).clone( scenario="addon", keep_solution=False ) @@ -95,7 +100,7 @@ def test_addon_tec(message_test_mp): # introduce addon technology with negatove costs, add maximum mitigation -def test_addon_up(message_test_mp): +def test_addon_up(message_test_mp: Platform) -> None: scen = Scenario(message_test_mp, **SCENARIO["dantzig"]).clone( scenario="addon_up", keep_solution=False ) @@ -113,7 +118,7 @@ def test_addon_up(message_test_mp): # introduce addon technology with positive costs, add minimum mitigation -def test_addon_lo(message_test_mp): +def test_addon_lo(message_test_mp: Platform) -> None: scen = Scenario(message_test_mp, **SCENARIO["dantzig"]).clone( scenario="addon_lo", keep_solution=False ) diff --git a/message_ix/tests/test_feature_bound_activity_shares.py b/message_ix/tests/test_feature_bound_activity_shares.py index fc61f3bd2..0cc50ec1e 100644 --- a/message_ix/tests/test_feature_bound_activity_shares.py +++ b/message_ix/tests/test_feature_bound_activity_shares.py @@ -1,6 +1,10 @@ +from pathlib import Path +from typing import Union + import numpy as np import pandas as pd import pytest +from ixmp import Platform from numpy.testing import assert_equal from pandas.testing import assert_frame_equal @@ -61,7 +65,7 @@ def calculate_activity(scen: Scenario, tec="transport_from_seattle") -> pd.Serie return scen.var("ACT").groupby(["technology", "mode"])["lvl"].sum().loc[tec] -def test_b_a_u_1_mode(request, test_mp) -> None: +def test_b_a_u_1_mode(request: pytest.FixtureRequest, test_mp: Platform) -> None: """Test effect of ``bound_activity_up`` on 1 mode of a tech with multiple modes.""" s0 = make_dantzig(test_mp, solve=True, request=request) @@ -100,7 +104,11 @@ def test_b_a_u_1_mode(request, test_mp) -> None: [pytest.param(299, marks=pytest.mark.xfail(raises=ModelError)), 301, 325], ) def test_b_a_u_all_modes( - request, test_mp, tmp_model_dir, lp_method, constraint_value + request: pytest.FixtureRequest, + test_mp: Platform, + tmp_model_dir: Path, + lp_method: int, + constraint_value: int, ) -> None: """Test ``bound_activity_up`` values applied to mode="all". @@ -132,7 +140,8 @@ def test_b_a_u_all_modes( so = dict(model_dir=tmp_model_dir, solve_options=dict(lpmethod=lp_method)) # Create and solve the Dantzig model - s0 = make_dantzig(test_mp, solve=True, request=request, **so) + # FIXME Resolve this by using TypedDict for make_dantzig kwargs + s0 = make_dantzig(test_mp, solve=True, request=request, **so) # type: ignore[arg-type] # Ensure the solution is as expected given the LP method assert_dantzig_solution(s0, lp_method) @@ -170,7 +179,7 @@ def test_b_a_u_all_modes( assert_equal(calculate_activity(s0).sum(), calculate_activity(s1).sum()) -def test_commodity_share_lo(request, test_mp) -> None: +def test_commodity_share_lo(request: pytest.FixtureRequest, test_mp: Platform) -> None: """Test effect of ``share_commodity_lo``.""" n = "new-york" common = COMMON | dict(mode="all", level="consumption", node_share=n, node=n) @@ -216,7 +225,7 @@ def calc_share(s: Scenario) -> float: assert s1.var("OBJ")["lvl"] >= s0.var("OBJ")["lvl"] -def test_commodity_share_up(request, test_mp) -> None: +def test_commodity_share_up(request: pytest.FixtureRequest, test_mp: Platform) -> None: """Test effect of ``share_commodity_up``. ``ACT`` variable values from the original solution:: @@ -251,7 +260,7 @@ def calc_share(s): tt_total = "total" # common operations for both subtests - def add_data(s, modes): + def add_data(s: Scenario, modes: Union[str, list[str]]) -> None: with s.transact("Add share_commodity_up"): s.add_set("shares", SHARES) s.add_cat("technology", tt_share, "canning_plant") @@ -262,8 +271,8 @@ def add_data(s, modes): s.add_set(name, make_df(name, **kw)) name = "map_shares_commodity_total" - kw = common | dict(node="san-diego", type_tec=tt_total, mode=modes) - s.add_set(name, make_df(name, **kw)) + _kw = common | dict(node="san-diego", type_tec=tt_total, mode=modes) + s.add_set(name, make_df(name, **_kw)) name = "share_commodity_up" kw = common | dict(unit="%") @@ -337,7 +346,14 @@ def add_data(s, modes): ("up", "seattle", "to_chicago", 0.95), ), ) -def test_share_mode(request, test_mp, dir, node, mode, exp_value) -> None: +def test_share_mode( + request: pytest.FixtureRequest, + test_mp: Platform, + dir: str, + node: str, + mode: str, + exp_value: float, +) -> None: """Test effect of parameters ``share_mode_{lo,up}``.""" s0 = make_dantzig(test_mp, solve=True, request=request) diff --git a/message_ix/tests/test_feature_bound_emission.py b/message_ix/tests/test_feature_bound_emission.py index 61c22d4b1..6a1554007 100644 --- a/message_ix/tests/test_feature_bound_emission.py +++ b/message_ix/tests/test_feature_bound_emission.py @@ -1,7 +1,11 @@ +from typing import Union + +from ixmp import Platform + from message_ix import Scenario -def model_setup(scen, years): +def model_setup(scen: Scenario, years: list[int]) -> None: scen.add_set("node", "node") scen.add_set("lvl_spatial", "country") scen.add_set("map_spatial_hierarchy", ["country", "node", "World"]) @@ -14,14 +18,14 @@ def model_setup(scen, years): scen.add_set("technology", ["tec1", "tec2"]) scen.add_set("mode", "mode") - output_specs = ["node", "comm", "level", "year", "year"] + output_specs: list[Union[int, str]] = ["node", "comm", "level", "year", "year"] dict_var_cost = {"tec1": 1, "tec2": 2} dict_em_factor = {"tec1": 1.5, "tec2": 1} for yr in years: scen.add_par("demand", ["node", "comm", "level", yr, "year"], 1, "GWa") for t in dict_var_cost.keys(): - tec_specs = ["node", t, yr, yr, "mode"] + tec_specs: list[Union[int, str]] = ["node", t, yr, yr, "mode"] scen.add_par("output", tec_specs + output_specs, 1, "GWa") scen.add_par("var_cost", tec_specs + ["year"], dict_var_cost[t], "USD/GWa") scen.add_par( @@ -29,13 +33,15 @@ def model_setup(scen, years): ) -def add_bound_emission(scen, bound, year="cumulative"): +def add_bound_emission( + scen: Scenario, bound: float, year: Union[int, str] = "cumulative" +) -> None: scen.check_out() scen.add_par("bound_emission", ["node", "emiss_type", "all", year], bound, "kg") scen.commit("Emission bound added") -def assert_function(scen, year): +def assert_function(scen: Scenario, year: Union[int, str]) -> None: var_em = scen.var("EMISS", {"node": "node"}).set_index(["year"])["lvl"] bound_em = scen.par("bound_emission", {"type_year": year}).at[0, "value"] @@ -47,7 +53,7 @@ def assert_function(scen, year): # Testing emission bound per one year -def test_bound_emission_year(test_mp): +def test_bound_emission_year(test_mp: Platform) -> None: scen = Scenario(test_mp, "test_bound_emission", "standard", version="new") model_setup(scen, [2020, 2030]) scen.commit("initialize test model") @@ -57,7 +63,7 @@ def test_bound_emission_year(test_mp): # Testing cumulative emission bound for model years with equal intervals -def test_bound_emission_10y(test_mp): +def test_bound_emission_10y(test_mp: Platform) -> None: scen = Scenario(test_mp, "test_bound_emission", "standard", version="new") model_setup(scen, [2020, 2030, 2040, 2050]) scen.commit("initialize test model") @@ -67,7 +73,7 @@ def test_bound_emission_10y(test_mp): # Testing cumulative emission bound for model years with mixed intervals -def test_bound_emission_5y(test_mp): +def test_bound_emission_5y(test_mp: Platform) -> None: scen = Scenario(test_mp, "test_bound_emission", "standard", version="new") model_setup(scen, [2020, 2025, 2030, 2040]) scen.commit("initialize test model") diff --git a/message_ix/tests/test_feature_capacity_factor.py b/message_ix/tests/test_feature_capacity_factor.py index 242a0f94b..510003854 100644 --- a/message_ix/tests/test_feature_capacity_factor.py +++ b/message_ix/tests/test_feature_capacity_factor.py @@ -1,6 +1,7 @@ """Test ``capacity_factor`` effects, mainly for models with sub-annual resolution.""" import pytest +from ixmp import Platform from message_ix import ModelError, Scenario from message_ix.testing import make_subannual @@ -56,7 +57,9 @@ def check_solution(scen: Scenario) -> None: } -def test_capacity_factor_time(request, test_mp) -> None: +def test_capacity_factor_time( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """``capacity_factor`` is calculated correctly when it varies by time slice.""" # Build model and solve scen = make_subannual( @@ -74,7 +77,9 @@ def test_capacity_factor_time(request, test_mp) -> None: check_solution(scen) -def test_capacity_factor_unequal_time(request, test_mp) -> None: +def test_capacity_factor_unequal_time( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """``capacity_factor`` is calculated correctly when ``duration_time`` is uneven.""" # Build model and solve scen = make_subannual( @@ -99,7 +104,9 @@ def test_capacity_factor_unequal_time(request, test_mp) -> None: ] -def test_capacity_factor_zero(request, test_mp) -> None: +def test_capacity_factor_zero( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Test zero capacity factor (CF) in a time slice. "solar_pv_ppl" is active in "day" and NOT at "night" (CF = 0). It is expected that @@ -128,7 +135,9 @@ def test_capacity_factor_zero(request, test_mp) -> None: ) -def test_capacity_factor_zero_two(request, test_mp) -> None: +def test_capacity_factor_zero_two( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Test zero capacity factor (CF) in a time slice. "solar_pv_ppl" is active in "day" and NOT at "night" (CF = 0). The model output @@ -176,7 +185,9 @@ def test_capacity_factor_zero_two(request, test_mp) -> None: check_solution(scen) -def test_capacity_factor_average(request, test_mp) -> None: +def test_capacity_factor_average( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Weighted average of ``capacity_factor`` for "year" is calculated correctly, based on time slices, when there is no capacity factor defined for "year".""" # Build model and solve diff --git a/message_ix/tests/test_feature_duration_time.py b/message_ix/tests/test_feature_duration_time.py index 09b8870e0..415fbba4c 100644 --- a/message_ix/tests/test_feature_duration_time.py +++ b/message_ix/tests/test_feature_duration_time.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ This test ensures that the parameter "duration_time" is specified correctly, and that the GAMS formulation checks pass. @@ -8,20 +7,23 @@ """ from itertools import product +from typing import Union + +from ixmp import Platform from message_ix import Scenario # A function for generating a simple model with sub-annual time slices def model_generator( - test_mp, - comment, - tec_time, - demand_time, - time_steps, - com_dict, - yr=2020, -): + test_mp: Platform, + comment: str, + tec_time: dict[str, list[str]], + demand_time: dict[str, int], + time_steps: list[tuple[str, int, str]], + com_dict: dict[str, dict[str, str]], + yr: int = 2020, +) -> None: """ Generates a simple model with a few technologies, and a flexible number of @@ -62,7 +64,7 @@ def model_generator( # Adding "time" related info to the model: "lvl_temporal", "time", # "map_temporal_hierarchy", and "duration_time" - map_time = {} + map_time: dict[str, list[str]] = {} for [tmp_lvl, number, parent] in time_steps: scen.add_set("lvl_temporal", tmp_lvl) times = ( @@ -124,7 +126,16 @@ def model_generator( # "output" for h in times_out: out = com_dict[tec]["output"] - out_spec = [yr, yr, "standard", "fairyland", out, "final", h, h] + out_spec: list[Union[int, str]] = [ + yr, + yr, + "standard", + "fairyland", + out, + "final", + h, + h, + ] scen.add_par("output", ["fairyland", tec] + out_spec, 1, "-") # Committing @@ -150,9 +161,9 @@ def model_generator( # Testing one temporal level ("season") and different number of time slices -def test_season(test_mp, n_time=[4, 12, 50]): +def test_season(test_mp: Platform, n_time: list[int] = [4, 12, 50]) -> None: comment = "season" - com_dict = {"power-plant": {"input": [], "output": "electr"}} + com_dict = {"power-plant": {"input": "", "output": "electr"}} tec_time = {"power-plant": ["season", "season"]} demand_time = {"season": 100} @@ -163,11 +174,11 @@ def test_season(test_mp, n_time=[4, 12, 50]): # Testing one temporal level ("season") linked to "year" with a technology -def test_year_season(test_mp, n_time=[5, 15, 27]): +def test_year_season(test_mp: Platform, n_time: list[int] = [5, 15, 27]) -> None: comment = "year_season" com_dict = { "power-plant": {"input": "fuel", "output": "electr"}, - "fuel-supply": {"input": [], "output": "fuel"}, + "fuel-supply": {"input": "", "output": "fuel"}, } tec_time = {"power-plant": ["year", "season"], "fuel-supply": ["year", "year"]} demand_time = {"season": 100} @@ -178,9 +189,9 @@ def test_year_season(test_mp, n_time=[5, 15, 27]): # Testing two temporal levels with one technology -def test_season_day(test_mp): +def test_season_day(test_mp: Platform) -> None: comment = "4-season_24-days" - com_dict = {"power-plant": {"input": [], "output": "electr"}} + com_dict = {"power-plant": {"input": "", "output": "electr"}} tec_time = {"power-plant": ["day", "day"]} demand_time = {"day": 100} time_steps = [("season", 4, "year"), ("day", 24, "season")] @@ -190,11 +201,11 @@ def test_season_day(test_mp): # Testing 24 days linked to four seasons, with two technologies -def test_season_day_2tech(test_mp): +def test_season_day_2tech(test_mp: Platform) -> None: comment = "4-season_24-days_2-tech" com_dict = { "power-plant": {"input": "fuel", "output": "electr"}, - "fuel-supply": {"input": [], "output": "fuel"}, + "fuel-supply": {"input": "", "output": "fuel"}, } tec_time = {"power-plant": ["season", "day"], "fuel-supply": ["season", "season"]} demand_time = {"day": 100} @@ -205,12 +216,12 @@ def test_season_day_2tech(test_mp): # Testing 60 days linked to 4 seasons linked to year, with three technology -def test_year_season_day(test_mp): +def test_year_season_day(test_mp: Platform) -> None: comment = "year_4-season_30-days_3-tech" com_dict = { "power-plant": {"input": "fuel", "output": "electr"}, "fuel-transport": {"input": "fuel", "output": "fuel"}, - "fuel-supply": {"input": [], "output": "fuel"}, + "fuel-supply": {"input": "", "output": "fuel"}, } tec_time = { "power-plant": ["season", "day"], @@ -225,7 +236,7 @@ def test_year_season_day(test_mp): # Testing four temporal levels (year, season, day, hour) with four technologies -def test_year_season_day_hour(test_mp): +def test_year_season_day_hour(test_mp: Platform) -> None: n_season = 4 n_day = 2 n_hour = 6 @@ -234,7 +245,7 @@ def test_year_season_day_hour(test_mp): "power-plant": {"input": "fuel", "output": "electr"}, "fuel-transport": {"input": "fuel", "output": "fuel"}, "fuel-processing": {"input": "raw fuel", "output": "fuel"}, - "fuel-supply": {"input": [], "output": "raw fuel"}, + "fuel-supply": {"input": "", "output": "raw fuel"}, } tec_time = { "power-plant": ["day", "hour"], diff --git a/message_ix/tests/test_feature_price_commodity.py b/message_ix/tests/test_feature_price_commodity.py index 3e7b653fb..8ee9c3ef2 100644 --- a/message_ix/tests/test_feature_price_commodity.py +++ b/message_ix/tests/test_feature_price_commodity.py @@ -1,9 +1,12 @@ +from typing import Optional, Union + import pytest +from ixmp import Platform from message_ix import ModelError, Scenario -def model_setup(scen, var_cost=1): +def model_setup(scen: Scenario, var_cost: Optional[int] = 1) -> None: scen.add_set("node", "node") scen.add_set("commodity", "comm") scen.add_set("level", "level") @@ -13,13 +16,13 @@ def model_setup(scen, var_cost=1): scen.add_set("technology", "tec") scen.add_set("mode", "mode") - tec_specs = ["node", "tec", 2020, 2020, "mode"] - output_specs = ["node", "comm", "level", "year", "year"] + tec_specs: list[Union[int, str]] = ["node", "tec", 2020, 2020, "mode"] + output_specs: list[Union[int, str]] = ["node", "comm", "level", "year", "year"] scen.add_par("output", tec_specs + output_specs, 1, "GWa") scen.add_par("var_cost", tec_specs + ["year"], var_cost, "USD/GWa") -def test_commodity_price(test_mp): +def test_commodity_price(test_mp: Platform) -> None: scen = Scenario(test_mp, "test_commodity_price", "standard", version="new") model_setup(scen) scen.commit("initialize test model") @@ -29,7 +32,7 @@ def test_commodity_price(test_mp): assert scen.var("PRICE_COMMODITY")["lvl"][0] == 1 -def test_commodity_price_equality(test_mp): +def test_commodity_price_equality(test_mp: Platform) -> None: scen = Scenario(test_mp, "test_commodity_price", "equality", version="new") model_setup(scen, var_cost=-1) scen.commit("initialize test model with negative variable costs") diff --git a/message_ix/tests/test_feature_price_emission.py b/message_ix/tests/test_feature_price_emission.py index 8e885b0c4..cf3158498 100644 --- a/message_ix/tests/test_feature_price_emission.py +++ b/message_ix/tests/test_feature_price_emission.py @@ -1,4 +1,8 @@ +from typing import Union + import numpy.testing as npt +import pytest +from ixmp import Platform from message_ix import Scenario, make_df @@ -7,7 +11,7 @@ solve_args = {"equ_list": ["EMISSION_EQUIVALENCE"]} -def model_setup(scen, years, simple_tecs=True): +def model_setup(scen: Scenario, years: list[int], simple_tecs: bool = True) -> None: """generate a minimal model to test the behaviour of the emission prices""" scen.add_spatial_sets({"country": "node"}) scen.add_set("commodity", "comm") @@ -29,7 +33,7 @@ def model_setup(scen, years, simple_tecs=True): add_many_tecs(scen, years) -def add_two_tecs(scen, years): +def add_two_tecs(scen: Scenario, years: list[int]) -> None: """add two technologies to the scenario""" scen.add_set("technology", ["dirty_tec", "clean_tec"]) @@ -88,15 +92,15 @@ def add_two_tecs(scen, years): ) -def add_many_tecs(scen, years, n=50): +def add_many_tecs(scen: Scenario, years: list[int], n: int = 50) -> None: """add a range of dirty-to-clean technologies to the scenario""" - output_specs = ["node", "comm", "level", "year", "year"] + output_specs: list[Union[int, str]] = ["node", "comm", "level", "year", "year"] for i in range(n + 1): t = "tec{}".format(i) scen.add_set("technology", t) for y in years: - tec_specs = ["node", t, y, y, "mode"] + tec_specs: list[Union[int, str]] = ["node", t, y, y, "mode"] # variable costs grow quadratically over technologies # to get rid of the curse of linearity c = (10 * i / n) ** 2 * (1.045) ** (y - years[0]) @@ -106,7 +110,7 @@ def add_many_tecs(scen, years, n=50): scen.add_par("emission_factor", tec_specs + ["CO2"], e, "tCO2") -def test_no_constraint(test_mp, request): +def test_no_constraint(test_mp: Platform, request: pytest.FixtureRequest) -> None: scen = Scenario(test_mp, MODEL, scenario=request.node.name, version="new") model_setup(scen, [2020, 2030]) scen.commit("initialize test scenario") @@ -118,7 +122,9 @@ def test_no_constraint(test_mp, request): assert scen.var("PRICE_EMISSION").empty -def test_cumulative_equidistant(test_mp, request): +def test_cumulative_equidistant( + test_mp: Platform, request: pytest.FixtureRequest +) -> None: scen = Scenario(test_mp, MODEL, scenario=request.node.name, version="new") years = [2020, 2030, 2040] @@ -136,7 +142,9 @@ def test_cumulative_equidistant(test_mp, request): npt.assert_allclose(obs, [1.05 ** (y - years[0]) for y in years]) -def test_per_period_equidistant(test_mp, request): +def test_per_period_equidistant( + test_mp: Platform, request: pytest.FixtureRequest +) -> None: scen = Scenario(test_mp, MODEL, scenario=request.node.name, version="new") years = [2020, 2030, 2040] @@ -154,7 +162,9 @@ def test_per_period_equidistant(test_mp, request): npt.assert_allclose(scen.var("PRICE_EMISSION")["lvl"], [1] * 3) -def test_cumulative_variable_periodlength(test_mp, request): +def test_cumulative_variable_periodlength( + test_mp: Platform, request: pytest.FixtureRequest +) -> None: scen = Scenario(test_mp, MODEL, scenario=request.node.name, version="new") years = [2020, 2025, 2030, 2040] @@ -181,7 +191,9 @@ def test_cumulative_variable_periodlength(test_mp, request): npt.assert_allclose(obs, exp) -def test_per_period_variable_periodlength(test_mp, request): +def test_per_period_variable_periodlength( + test_mp: Platform, request: pytest.FixtureRequest +) -> None: scen = Scenario(test_mp, MODEL, scenario=request.node.name, version="new") years = [2020, 2025, 2030, 2040] @@ -199,7 +211,9 @@ def test_per_period_variable_periodlength(test_mp, request): npt.assert_allclose(scen.var("PRICE_EMISSION")["lvl"].values, [1] * 4) -def test_custom_type_variable_periodlength(test_mp, request): +def test_custom_type_variable_periodlength( + test_mp: Platform, request: pytest.FixtureRequest +) -> None: scen = Scenario(test_mp, MODEL, scenario=request.node.name, version="new") years = [2020, 2025, 2030, 2040, 2050] custom = [2025, 2030, 2040] @@ -230,12 +244,15 @@ def test_custom_type_variable_periodlength(test_mp, request): npt.assert_allclose(obs, exp) -def test_price_duality(test_mp, request): +def test_price_duality(test_mp: Platform, request: pytest.FixtureRequest) -> None: years = [2020, 2025, 2030, 2040, 2050] for c in [0.25, 0.5, 0.75]: # set up a scenario for cumulative constraints scen = Scenario( - test_mp, MODEL, scenario=request.node.name + "_cum_many_tecs", version="new" + test_mp, + MODEL, + scenario=request.node.name + "_cum_many_tecs", + version="new", ) model_setup(scen, years, simple_tecs=False) scen.add_cat("year", "cumulative", years) @@ -247,7 +264,10 @@ def test_price_duality(test_mp, request): # set up a new scenario with emissions taxes tax_scen = Scenario( - test_mp, MODEL, scenario=request.node.name + "_tax_many_tecs", version="new" + test_mp, + MODEL, + scenario=request.node.name + "_tax_many_tecs", + version="new", ) model_setup(tax_scen, years, simple_tecs=False) for y in years: diff --git a/message_ix/tests/test_feature_storage.py b/message_ix/tests/test_feature_storage.py index db87b01de..59ed2b38b 100644 --- a/message_ix/tests/test_feature_storage.py +++ b/message_ix/tests/test_feature_storage.py @@ -11,10 +11,12 @@ import logging from itertools import product +from typing import Union import pandas as pd import pandas.testing as pdt import pytest +from ixmp import Platform from ixmp.testing import assert_logs from message_ix import Scenario @@ -24,7 +26,7 @@ # A function for generating a simple MESSAGEix model with two technologies -def model_setup(scen, years): +def model_setup(scen: Scenario, years: list[int]) -> None: scen.add_set("node", "node") scen.add_set("commodity", "electr") scen.add_set("level", "level") @@ -32,18 +34,18 @@ def model_setup(scen, years): scen.add_set("type_year", years) scen.add_set("technology", ["wind_ppl", "gas_ppl"]) scen.add_set("mode", "M1") - output_specs = ["node", "electr", "level", "year", "year"] + output_specs: list[Union[int, str]] = ["node", "electr", "level", "year", "year"] # Two technologies, one cheaper than the other var_cost = {"wind_ppl": 0, "gas_ppl": 2} for year, (tec, cost) in product(years, var_cost.items()): scen.add_par("demand", ["node", "electr", "level", year, "year"], 1, "GWa") - tec_specs = ["node", tec, year, year, "M1"] + tec_specs: list[Union[int, str]] = ["node", tec, year, year, "M1"] scen.add_par("output", tec_specs + output_specs, 1, "GWa") scen.add_par("var_cost", tec_specs + ["year"], cost, "USD/GWa") # A function for adding sub-annual time steps to a MESSAGEix model -def add_seasonality(scen, time_duration): +def add_seasonality(scen: Scenario, time_duration: dict[str, float]) -> None: scen.add_set("time", sorted(list(set(time_duration.keys())))) scen.add_set("lvl_temporal", "season") for h, duration in time_duration.items(): @@ -52,7 +54,9 @@ def add_seasonality(scen, time_duration): # A function for modifying model parameters after adding sub-annual time steps -def year_to_time(scen, parname, time_share): +def year_to_time( + scen: Scenario, parname: str, time_share: Union[dict[str, float], dict[str, int]] +) -> None: old = scen.par(parname) scen.remove_par(parname, old) time_idx = [x for x in scen.idx_names(parname) if "time" in x] @@ -65,7 +69,7 @@ def year_to_time(scen, parname, time_share): # A function for adding storage technologies and parameterization -def add_storage_data(scen, time_order): +def add_storage_data(scen: Scenario, time_order: dict[str, int]) -> None: # Adding level of storage scen.add_set("level", "storage") @@ -124,7 +128,9 @@ def add_storage_data(scen, time_order): # Main function for building a model with storage and testing the functionality -def storage_setup(test_mp, time_duration, comment): +def storage_setup( + test_mp: Platform, time_duration: dict[str, float], comment: str +) -> None: # First, building a simple model and adding seasonality scen = Scenario(test_mp, "no_storage", "standard", version="new") model_setup(scen, [2020]) @@ -239,7 +245,7 @@ def storage_setup(test_mp, time_duration, comment): # Storage test for different duration times -def test_storage(test_mp): +def test_storage(test_mp: Platform) -> None: """ Testing storage setup with equal and unequal duration of seasons" @@ -251,7 +257,9 @@ def test_storage(test_mp): storage_setup(test_mp, time_duration, "_unequal_time") -def test_structure(caplog, test_mp, request): +def test_structure( + caplog: pytest.LogCaptureFixture, test_mp: Platform, request: pytest.FixtureRequest +) -> None: """:meth:`MESSAGE.initialize` and :meth:`MESSAGE.enforce` handle old structure.""" scen = make_dantzig(test_mp, request=request) @@ -265,7 +273,7 @@ def test_structure(caplog, test_mp, request): index=dims + ["value", "unit"], ) - def prepare(s, with_data=False): + def prepare(scen: Scenario, with_data: bool = False) -> None: """Re-initialize to the former definition, i.e. omitting mode.""" with scen.transact(): scen.remove_par(name) diff --git a/message_ix/tests/test_feature_temporal_level.py b/message_ix/tests/test_feature_temporal_level.py index 91d91470b..c54512d67 100644 --- a/message_ix/tests/test_feature_temporal_level.py +++ b/message_ix/tests/test_feature_temporal_level.py @@ -10,6 +10,7 @@ """ import pytest +from ixmp import Platform from message_ix import ModelError, Scenario from message_ix.testing import make_subannual @@ -60,7 +61,9 @@ def check_solution(scen: Scenario) -> None: } -def test_temporal_levels_not_linked(request, test_mp) -> None: +def test_temporal_levels_not_linked( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Test two unlinked temporal levels. "gas_ppl" is active in "summer" and NOT linked to "gas_supply" in "year". This @@ -81,7 +84,7 @@ def test_temporal_levels_not_linked(request, test_mp) -> None: ) -def test_season_to_year(request, test_mp) -> None: +def test_season_to_year(request: pytest.FixtureRequest, test_mp: Platform) -> None: """Test two linked temporal levels. Linking "gas_ppl" and "gas_supply" at one temporal level (e.g., "year") @@ -118,7 +121,7 @@ def test_season_to_year(request, test_mp) -> None: ] -def test_two_seasons_to_year(request, test_mp) -> None: +def test_two_seasons_to_year(request: pytest.FixtureRequest, test_mp: Platform) -> None: """Test two linked temporal levels with two seasons. "demand" in two time slices: "summer" and "winter" (duration = 0.5). Model solves @@ -135,7 +138,9 @@ def test_two_seasons_to_year(request, test_mp) -> None: check_solution(scen) -def test_two_seasons_to_year_relative(request, test_mp) -> None: +def test_two_seasons_to_year_relative( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Test two linked temporal levels with two seasons and a relative time. "demand" in two time slices: "summer" and "winter" (duration = 0.5). Model solves, @@ -155,7 +160,7 @@ def test_two_seasons_to_year_relative(request, test_mp) -> None: check_solution(scen) -def test_seasons_to_seasons(request, test_mp) -> None: +def test_seasons_to_seasons(request: pytest.FixtureRequest, test_mp: Platform) -> None: """Test two seasons at one temporal level. "demand" in two time slices: "summer" and "winter" (duration = 0.5). Model solves @@ -206,7 +211,9 @@ def test_seasons_to_seasons(request, test_mp) -> None: ] -def test_unlinked_three_temporal_levels(request, test_mp) -> None: +def test_unlinked_three_temporal_levels( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Test three unlinked temporal levels. "month" is defined under "season" BUT "season" not linked to "year". Model should @@ -225,7 +232,9 @@ def test_unlinked_three_temporal_levels(request, test_mp) -> None: ) -def test_linked_three_temporal_levels(request, test_mp) -> None: +def test_linked_three_temporal_levels( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Test three linked temporal levels. "month" is defined under "season", and "season" is linked to "year". Model solves. @@ -241,7 +250,9 @@ def test_linked_three_temporal_levels(request, test_mp) -> None: check_solution(scen) -def test_linked_three_temporal_levels_relative(request, test_mp) -> None: +def test_linked_three_temporal_levels_relative( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Test three linked temporal levels with a relative time. "month" is defined under "season", and "season" is linked to "year". Model solves, @@ -276,7 +287,9 @@ def test_linked_three_temporal_levels_relative(request, test_mp) -> None: } -def test_linked_three_temporal_levels_month_to_year(request, test_mp) -> None: +def test_linked_three_temporal_levels_month_to_year( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Test three linked temporal levels from month to season and year. "month" is linked to "season", and "season" is linked to "year". Model solves. @@ -293,7 +306,9 @@ def test_linked_three_temporal_levels_month_to_year(request, test_mp) -> None: check_solution(scen) -def test_linked_three_temporal_levels_season_to_year(request, test_mp) -> None: +def test_linked_three_temporal_levels_season_to_year( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Test three linked temporal levels from season to year. "season" is linked to "year". Model solves. @@ -322,7 +337,9 @@ def test_linked_three_temporal_levels_season_to_year(request, test_mp) -> None: check_solution(scen) -def test_linked_three_temporal_levels_time_act(request, test_mp) -> None: +def test_linked_three_temporal_levels_time_act( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Test three linked temporal levels, with activity only at "time". Model solves. @@ -352,7 +369,9 @@ def test_linked_three_temporal_levels_time_act(request, test_mp) -> None: check_solution(scen) -def test_linked_three_temporal_levels_different_duration(request, test_mp) -> None: +def test_linked_three_temporal_levels_different_duration( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Test three linked temporal levels with different duration times. Model solves, linking "month" through "season" to "year". diff --git a/message_ix/tests/test_feature_vintage_and_active_years.py b/message_ix/tests/test_feature_vintage_and_active_years.py index e47605d0e..244a7d79c 100644 --- a/message_ix/tests/test_feature_vintage_and_active_years.py +++ b/message_ix/tests/test_feature_vintage_and_active_years.py @@ -11,6 +11,10 @@ from message_ix import Scenario, make_df from message_ix.testing import SCENARIO +# NOTE If we really need to save runtime, these tests might not need to be parametrized. +# vintage_and_active_years() seems composite, but not sure if individual parts are +# tested here (and not just in ixmp). + @lru_cache() def _generate_yv_ya(periods: tuple[int, ...]) -> pd.DataFrame: @@ -34,7 +38,10 @@ def _generate_yv_ya(periods: tuple[int, ...]) -> pd.DataFrame: def _setup( - mp: Platform, years: Sequence[int], firstmodelyear: int, tl_years=None + mp: Platform, + years: Sequence[int], + firstmodelyear: int, + tl_years: Optional[filter] = None, ) -> tuple[Scenario, pd.DataFrame]: """Common setup for test of :meth:`.vintage_and_active_years`. @@ -86,7 +93,7 @@ def _q( return result -def test_vintage_and_active_years1(test_mp): +def test_vintage_and_active_years1(test_mp: Platform) -> None: """Basic functionality of :meth:`.vintage_and_active_years`.""" years = (2000, 2010, 2020) fmy = years[1] @@ -137,10 +144,10 @@ def test_vintage_and_active_years1(test_mp): # Exception is raised for incorrect arguments with pytest.raises(ValueError, match=r"got \('foo',\) of length 1"): - scen.vintage_and_active_years(ya_args=("foo",)) + scen.vintage_and_active_years(ya_args=("foo",)) # type: ignore[arg-type] -def test_vintage_and_active_years2(test_mp): +def test_vintage_and_active_years2(test_mp: Platform) -> None: """:meth:`.vintage_and_active_years` with periods of uneven duration.""" years = (2000, 2005, 2010, 2015, 2020, 2030) fmy = years[2] @@ -181,7 +188,7 @@ def test_vintage_and_active_years2(test_mp): assert_frame_equal(exp, obs.reset_index(drop=True)) -def test_vintage_and_active_years3(test_mp): +def test_vintage_and_active_years3(test_mp: Platform) -> None: """Technology with ``technical_lifetime`` not defined to the end of the horizon.""" years = (2000, 2005, 2010, 2015, 2020, 2030) fmy = years[2] @@ -207,7 +214,7 @@ def test_vintage_and_active_years3(test_mp): assert_frame_equal(exp, obs) -def test_vintage_and_active_years4(test_mp): +def test_vintage_and_active_years4(test_mp: Platform) -> None: """Technology with 'gaps'. In this test, no ``technical_lifetime`` is designated for the 2020 and 2030 diff --git a/message_ix/tests/test_integration.py b/message_ix/tests/test_integration.py index 18535d818..316d8856d 100644 --- a/message_ix/tests/test_integration.py +++ b/message_ix/tests/test_integration.py @@ -1,6 +1,8 @@ import copy +from pathlib import Path import numpy as np +import pandas as pd import pytest from ixmp import Platform from numpy import testing as npt @@ -10,7 +12,7 @@ from message_ix.testing import SCENARIO, TS_DF, TS_DF_CLEARED, make_dantzig -def test_run_clone(tmpdir, request): +def test_run_clone(tmpdir: Path, request: pytest.FixtureRequest) -> None: # this test is designed to cover the full functionality of the GAMS API # - initialize a new ixmp platform instance # - create a new scenario based on Dantzigs tutorial transport model @@ -49,7 +51,10 @@ def test_run_clone(tmpdir, request): ) -def test_run_remove_solution(test_mp, request): +# TODO ixmp4-remove_solution() doesn't seem to remove the timeseries values for +# 1963 and 1964 yet +@pytest.mark.jdbc +def test_run_remove_solution(test_mp: Platform, request: pytest.FixtureRequest) -> None: # create a new instance of the transport problem and solve it scen = make_dantzig(test_mp, solve=True, quiet=True, request=request) assert np.isclose(scen.var("OBJ")["lvl"], 153.675) @@ -70,7 +75,11 @@ def test_run_remove_solution(test_mp, request): ) -def test_shift_first_model_year(test_mp, request): +# TODO IXMP4Backend doesn't support clone(shift_first_model_year=...) yet +@pytest.mark.jdbc +def test_shift_first_model_year( + test_mp: Platform, request: pytest.FixtureRequest +) -> None: scen = make_dantzig( test_mp, solve=True, multi_year=True, quiet=True, request=request ) @@ -95,15 +104,16 @@ def test_shift_first_model_year(test_mp, request): assert not clone.par("historical_activity").empty -def scenario_list(mp): +def scenario_list(mp: Platform) -> pd.DataFrame: return mp.scenario_list(default=False)[["model", "scenario"]] -def assert_multi_db(mp1, mp2): +def assert_multi_db(mp1: Platform, mp2: Platform) -> None: assert_frame_equal(scenario_list(mp1), scenario_list(mp2)) -def test_multi_db_run(tmpdir, request): +# NOTE This is not parametrized, but likely should be +def test_multi_db_run(tmpdir: Path, request: pytest.FixtureRequest) -> None: # create a new instance of the transport problem and solve it mp1 = Platform(driver="hsqldb", path=tmpdir / "mp1") scen1 = make_dantzig(mp1, solve=True, quiet=True, request=request) diff --git a/message_ix/tests/test_legacy_version.py b/message_ix/tests/test_legacy_version.py index 8b41e0789..cb74282a4 100644 --- a/message_ix/tests/test_legacy_version.py +++ b/message_ix/tests/test_legacy_version.py @@ -1,11 +1,16 @@ +from pathlib import Path + import numpy as np +import pytest from ixmp import Platform from ixmp.testing import create_test_platform from message_ix import Scenario -def test_solve_legacy_scenario(tmp_path, test_data_path, request): +def test_solve_legacy_scenario( + tmp_path: Path, test_data_path: Path, request: pytest.FixtureRequest +) -> None: db_path = create_test_platform(tmp_path, test_data_path, "legacy") mp = Platform(backend="jdbc", driver="hsqldb", path=db_path) scen = Scenario( diff --git a/message_ix/tests/test_macro.py b/message_ix/tests/test_macro.py index 25b1bdb28..9eb3a0b9a 100644 --- a/message_ix/tests/test_macro.py +++ b/message_ix/tests/test_macro.py @@ -1,49 +1,67 @@ +from collections.abc import Generator from pathlib import Path +from typing import Any, Literal, Union import numpy as np import numpy.testing as npt import pandas as pd import pytest +from ixmp import Platform from message_ix import Scenario, macro from message_ix.models import MACRO from message_ix.report import Quantity from message_ix.testing import SCENARIO, make_westeros +# NOTE These tests maybe don't need to be parametrized +# Do the following depend on otherwise untested Scenario functions? +# Scenario.add_macro() +# macro.prepare_computer() +# macro.add_model_data() +# macro.calibrate() +# MACRO.initialize() + + # Fixtures -def mr_data_path(n): +def mr_data_path(n: str) -> Path: """Path to the test data file for multi-region, multi-sector tests.""" return Path(__file__).parent.joinpath("data", f"multiregion_macro_input-{n}.xlsx") @pytest.fixture(scope="session") -def w_data_path(): +def w_data_path() -> Generator[Path, Any, None]: """Path to the test data file for Westeros tests.""" yield Path(__file__).parent.joinpath("data", "westeros_macro_input.xlsx") @pytest.fixture(scope="function") -def w_data(w_data_path): +def w_data(w_data_path: Path) -> Generator[dict[str, pd.DataFrame], Any, None]: """Data from the Westeros test data file.""" yield pd.read_excel(w_data_path, sheet_name=None, engine="openpyxl") @pytest.fixture(scope="module") -def _ws(test_mp, request): +def _ws( + test_mp: Platform, request: pytest.FixtureRequest +) -> Generator[Scenario, Any, None]: """Module-scoped fixture with a solved instance of the Westeros model.""" yield make_westeros(test_mp, solve=True, request=request) @pytest.fixture -def westeros_solved(request, _ws): +def westeros_solved( + request: pytest.FixtureRequest, _ws: Scenario +) -> Generator[Scenario, Any, None]: """Fresh clone of the Westeros model.""" yield _ws.clone(scenario=request.node.name) @pytest.fixture -def westeros_not_solved(request, _ws): +def westeros_not_solved( + request: pytest.FixtureRequest, _ws: Scenario +) -> Generator[Scenario, Any, None]: """Fresh clone of the Westeros model, without a solution.""" yield _ws.clone(scenario=request.node.name, keep_solution=False) @@ -51,12 +69,12 @@ def westeros_not_solved(request, _ws): # Tests -def test_calc_valid_data_file(westeros_solved, w_data_path) -> None: +def test_calc_valid_data_file(westeros_solved: Scenario, w_data_path: Path) -> None: c = macro.prepare_computer(westeros_solved, data=w_data_path) c.get("check all") -def test_calc_invalid_data(westeros_solved) -> None: +def test_calc_invalid_data(westeros_solved: Scenario) -> None: # TypeError is raised with invalid input data type with pytest.raises(TypeError, match="neither a dict nor a valid path"): macro.prepare_computer(westeros_solved, data=list()) # type: ignore [arg-type] @@ -67,12 +85,16 @@ def test_calc_invalid_data(westeros_solved) -> None: ) -def test_calc_valid_data_dict(westeros_solved, w_data) -> None: +def test_calc_valid_data_dict( + westeros_solved: Scenario, w_data: dict[str, pd.DataFrame] +) -> None: c = macro.prepare_computer(westeros_solved, data=w_data) c.get("check all") -def test_calc_valid_years(westeros_solved, w_data) -> None: +def test_calc_valid_years( + westeros_solved: Scenario, w_data: dict[str, pd.DataFrame] +) -> None: """Select desirable years from a config file in Excel format.""" data = w_data @@ -92,13 +114,13 @@ def test_calc_valid_years(westeros_solved, w_data) -> None: westeros_solved.add_macro(data=data) -def test_calc_no_solution(westeros_not_solved, w_data_path) -> None: +def test_calc_no_solution(westeros_not_solved: Scenario, w_data_path: Path) -> None: s = westeros_not_solved with pytest.raises(RuntimeError, match="solution"): macro.prepare_computer(s, data=w_data_path) -def test_config(westeros_solved, w_data_path) -> None: +def test_config(westeros_solved: Scenario, w_data_path: Path) -> None: c = macro.prepare_computer(westeros_solved, data=w_data_path) assert "config::macro" in c.graph assert "sector" in c.get("config::macro") @@ -119,7 +141,9 @@ def test_config(westeros_solved, w_data_path) -> None: c.get("check all") -def test_calc_data_missing_par(westeros_solved, w_data) -> None: +def test_calc_data_missing_par( + westeros_solved: Scenario, w_data: dict[str, pd.DataFrame] +) -> None: data = w_data data.pop("gdp_calibrate") @@ -129,7 +153,9 @@ def test_calc_data_missing_par(westeros_solved, w_data) -> None: c.get("check all") -def test_calc_data_missing_ref(westeros_solved: Scenario, w_data) -> None: +def test_calc_data_missing_ref( + westeros_solved: Scenario, w_data: dict[str, pd.DataFrame] +) -> None: """When "price_ref" is missing, the code computes it by extrapolation.""" data = w_data @@ -145,7 +171,9 @@ def test_calc_data_missing_ref(westeros_solved: Scenario, w_data) -> None: westeros_solved.add_macro(data) -def test_calc_data_missing_column(westeros_solved, w_data) -> None: +def test_calc_data_missing_column( + westeros_solved: Scenario, w_data: dict[str, pd.DataFrame] +) -> None: data = w_data # Drop a column @@ -156,7 +184,9 @@ def test_calc_data_missing_column(westeros_solved, w_data) -> None: c.get("check all") -def test_calc_data_missing_datapoint(westeros_solved, w_data) -> None: +def test_calc_data_missing_datapoint( + westeros_solved: Scenario, w_data: dict[str, pd.DataFrame] +) -> None: data = w_data # Skip first data point @@ -193,7 +223,13 @@ def test_calc_data_missing_datapoint(westeros_solved, w_data) -> None: ("lakl", "allclose", [26.027323]), ), ) -def test_calc(westeros_solved, w_data_path, key, test, expected) -> None: +def test_calc( + westeros_solved: Scenario, + w_data_path: Path, + key: str, + test: Literal["allclose", "equal"], + expected: Union[list[float], list[int]], +) -> None: """Test calculation of intermediate values on a solved Westeros scenario.""" c = macro.prepare_computer(westeros_solved, data=w_data_path) @@ -202,7 +238,7 @@ def test_calc(westeros_solved, w_data_path, key, test, expected) -> None: assertion(c.get(key).values, expected) -def test_calc_price_zero(westeros_not_solved: Scenario, w_data_path) -> None: +def test_calc_price_zero(westeros_not_solved: Scenario, w_data_path: Path) -> None: """MACRO raises an exception for zero values in PRICE_COMMODITY.""" # Prepare a Scenario s = westeros_not_solved @@ -226,7 +262,7 @@ def test_calc_price_zero(westeros_not_solved: Scenario, w_data_path) -> None: c.get("price_MESSAGE") -def test_init(message_test_mp) -> None: +def test_init(message_test_mp: Platform) -> None: scen = Scenario(message_test_mp, **SCENARIO["dantzig"]) scen = scen.clone("foo", "bar") @@ -242,7 +278,7 @@ def test_init(message_test_mp) -> None: assert "COST_ACCOUNTING_NODAL" in scen.equ_list() -def test_add_model_data(westeros_solved, w_data_path) -> None: +def test_add_model_data(westeros_solved: Scenario, w_data_path: Path) -> None: base = westeros_solved clone = base.clone(scenario=f"{base.scenario} cloned", keep_solution=False) clone.check_out() @@ -255,7 +291,7 @@ def test_add_model_data(westeros_solved, w_data_path) -> None: assert np.isclose(obs, exp) -def test_calibrate(westeros_solved, w_data_path) -> None: +def test_calibrate(westeros_solved: Scenario, w_data_path: Path) -> None: """Test that :func:`.add_model_data` updates ``aeei`` and ``grow``.""" base = westeros_solved clone = base.clone(base.model, "test macro calibration", keep_solution=False) @@ -279,7 +315,7 @@ def test_calibrate(westeros_solved, w_data_path) -> None: assert not end_grow.isnull().any() -def test_calibrate_roundtrip(westeros_solved, w_data_path) -> None: +def test_calibrate_roundtrip(westeros_solved: Scenario, w_data_path: Path) -> None: """Ensure certain values occur after checking convergence. The specific values used here were re-checked in :pull:`924`. @@ -296,7 +332,9 @@ def test_calibrate_roundtrip(westeros_solved, w_data_path) -> None: @pytest.fixture -def mr_scenario(test_mp, request): +def mr_scenario( + test_mp: Platform, request: pytest.FixtureRequest +) -> Generator[Scenario, Any, None]: """Fixture with a multi-region, multi-sector scenario.""" scenario = make_westeros(test_mp, request=request) with scenario.transact(): @@ -306,14 +344,14 @@ def mr_scenario(test_mp, request): yield scenario -def test_multiregion_valid_data(mr_scenario) -> None: +def test_multiregion_valid_data(mr_scenario: Scenario) -> None: """Multi-region, multi-sector input data can be checked.""" s = mr_scenario c = macro.prepare_computer(s, data=mr_data_path("2")) c.get("check all") -def test_multiregion_derive_data(mr_scenario) -> None: +def test_multiregion_derive_data(mr_scenario: Scenario) -> None: s = mr_scenario path = mr_data_path("1") c = macro.prepare_computer(s, data=path) @@ -356,7 +394,7 @@ def test_multiregion_derive_data(mr_scenario) -> None: pd.testing.assert_series_equal(obs, exp) -def test_multiregion_derive_data_2(mr_scenario) -> None: +def test_multiregion_derive_data_2(mr_scenario: Scenario) -> None: """Multi-region multi-sector data can be computed.""" s = mr_scenario c = macro.prepare_computer(s, data=mr_data_path("2")) @@ -372,7 +410,7 @@ def test_multiregion_derive_data_2(mr_scenario) -> None: assert set(check["sector"].unique()) == set(sectors) -def test_sector_map(westeros_solved, w_data) -> None: +def test_sector_map(westeros_solved: Scenario, w_data: dict[str, pd.DataFrame]) -> None: """Calibration works when sector and commodity names are mismatched.""" for table in "aeei", "config", "demand_ref", "price_ref": w_data[table] = w_data[table].replace({"sector": {"light": "FOO"}}) diff --git a/message_ix/tests/test_models.py b/message_ix/tests/test_models.py index 8c8d940ea..88ec1ccc7 100644 --- a/message_ix/tests/test_models.py +++ b/message_ix/tests/test_models.py @@ -2,16 +2,21 @@ import ixmp import pytest +from ixmp.backend.jdbc import JDBCBackend from message_ix.models import MESSAGE, MESSAGE_MACRO -def test_initialize(test_mp): +def test_initialize(test_mp: ixmp.Platform) -> None: # Expected numbers of items by type exp = defaultdict(list) for name, spec in MESSAGE.items.items(): exp[str(spec.type.name).lower()].append(name) + # balance_equality is removed in initialize() for JDBC + if isinstance(test_mp._backend, JDBCBackend): + exp["set"].remove("balance_equality") + # Use ixmp.Scenario to avoid invoking ixmp_source/Java code that # automatically populates empty scenarios s = ixmp.Scenario(test_mp, "test_initialize", "test_initialize", version="new") @@ -25,7 +30,7 @@ def test_initialize(test_mp): assert sorted(obs_names) == sorted(exp_names) -def test_message_macro(): +def test_message_macro() -> None: # Constructor runs successfully MESSAGE_MACRO() diff --git a/message_ix/tests/test_report.py b/message_ix/tests/test_report.py index 076faba07..b1af82844 100644 --- a/message_ix/tests/test_report.py +++ b/message_ix/tests/test_report.py @@ -9,6 +9,8 @@ import pyam import pytest from genno.testing import assert_qty_equal +from ixmp import Platform +from ixmp.backend.jdbc import JDBCBackend from ixmp.report import Reporter as ixmp_Reporter from ixmp.testing import assert_logs from numpy.testing import assert_allclose @@ -18,9 +20,14 @@ from message_ix.report import Reporter, configure from message_ix.testing import SCENARIO, make_dantzig, make_westeros +# NOTE These tests maybe don't need to be parametrized. +# Does `Reporter.from_scenario()` depend on otherwise untested Scenario functions? + class TestReporter: - def test_add_sankey(self, test_mp, request) -> None: + def test_add_sankey( + self, test_mp: Platform, request: pytest.FixtureRequest + ) -> None: scen = make_westeros(test_mp, solve=True, quiet=True, request=request) rep = Reporter.from_scenario(scen, units={"replace": {"-": ""}}) @@ -33,7 +40,9 @@ def test_add_sankey(self, test_mp, request) -> None: assert rep.check_keys(key) -def test_reporter_no_solution(caplog, message_test_mp) -> None: +def test_reporter_no_solution( + caplog: pytest.LogCaptureFixture, message_test_mp: Platform +) -> None: scen = Scenario(message_test_mp, **SCENARIO["dantzig"]) with assert_logs( @@ -51,7 +60,14 @@ def test_reporter_no_solution(caplog, message_test_mp) -> None: assert 3 == len(result) -def test_reporter_from_scenario(message_test_mp) -> None: +# IXMP4Backend is currently not storing the MACRO variables 'C' and 'I' for MESSAGE +# models. +MISSING_IXMP4 = {"C:", "C:n", "C:n-y", "C:y", "I:", "I:n", "I:n-y", "I:y"} + + +def test_reporter_from_scenario( + message_test_mp: Platform, test_data_path: Path +) -> None: scen = Scenario(message_test_mp, **SCENARIO["dantzig"]) # Varies between local & CI contexts @@ -65,8 +81,10 @@ def test_reporter_from_scenario(message_test_mp) -> None: # message_ix.Reporter can also be initialized rep = Reporter.from_scenario(scen) - # Number of quantities available in a rudimentary MESSAGEix Scenario - assert 268 == len(rep.graph["all"]) + # NOTE Used to write out the expected data + # Path(test_data_path / "reportergraph.txt").write_text( + # "\n".join(list(map(str, sorted(rep.graph)))) + # ) # Quantities have short dimension names assert "demand:n-c-l-y-h" in rep, sorted(rep.graph) @@ -83,12 +101,22 @@ def test_reporter_from_scenario(message_test_mp) -> None: # check_attrs False because we don't get the unit addition in bare xarray assert_qty_equal(obs, demand, check_attrs=False) + # Prepare the expected items in the graphs + expected_rep_ix_graph_keys = set( + Path(test_data_path / "reporterixgraph.txt").read_text().split("\n") + ) + expected_rep_graph_keys = set( + Path(test_data_path / "reportergraph.txt").read_text().split("\n") + ) + if not isinstance(message_test_mp._backend, JDBCBackend): + expected_rep_ix_graph_keys -= MISSING_IXMP4 + expected_rep_graph_keys -= MISSING_IXMP4 + # ixmp.Reporter pre-populated with only model quantities and aggregates - assert 6477 == len(rep_ix.graph) + assert set(map(str, sorted(rep_ix.graph))) == expected_rep_ix_graph_keys # message_ix.Reporter pre-populated with additional, derived quantities - # This is the same value as in test_tutorials.py - assert 13739 == len(rep.graph) + assert set(map(str, sorted(rep.graph))) == expected_rep_graph_keys # Derived quantities have expected dimensions vom_key = rep.full_key("vom") @@ -103,7 +131,9 @@ def test_reporter_from_scenario(message_test_mp) -> None: assert_qty_equal(vom, rep.get(vom_key)) -def test_reporter_from_dantzig(request, test_mp) -> None: +def test_reporter_from_dantzig( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: scen = make_dantzig(test_mp, solve=True, quiet=True, request=request) # Reporter.from_scenario can handle Dantzig example model @@ -113,7 +143,9 @@ def test_reporter_from_dantzig(request, test_mp) -> None: rep.get("all") -def test_reporter_from_westeros(request, test_mp) -> None: +def test_reporter_from_westeros( + request: pytest.FixtureRequest, test_mp: Platform +) -> None: scen = make_westeros(test_mp, emissions=True, solve=True, request=request) # Reporter.from_scenario can handle Westeros example model @@ -154,7 +186,9 @@ def test_reporter_from_westeros(request, test_mp) -> None: assert_allclose(df["value_y"], df["value_x"], err_msg=df.to_string()) -def test_reporter_as_pyam(caplog, tmp_path, dantzig_reporter) -> None: +def test_reporter_as_pyam( + caplog: pytest.LogCaptureFixture, tmp_path: Path, dantzig_reporter: Reporter +) -> None: caplog.set_level(logging.INFO) rep = dantzig_reporter @@ -167,6 +201,7 @@ def test_reporter_as_pyam(caplog, tmp_path, dantzig_reporter) -> None: rename = dict(nl="region", ya="year") # Add a task that converts ACT to a pyam.IamDataFrame + assert as_pyam rep.add("ACT IAMC", (partial(as_pyam, rename=rename, drop=["yv"]), "scenario", ACT)) # Result is an IamDataFrame @@ -195,6 +230,7 @@ def add_tm(df, name="Activity"): key2 = rep.add("as_pyam", ACT, "iamc", rename=rename, collapse=add_tm) # Keys of added node(s) are returned + assert isinstance(ACT, genno.Key) assert ACT.name + "::iamc" == key2 caplog.clear() diff --git a/message_ix/tests/test_snapshots.py b/message_ix/tests/test_snapshots.py index 63279a030..3abd77130 100644 --- a/message_ix/tests/test_snapshots.py +++ b/message_ix/tests/test_snapshots.py @@ -4,6 +4,7 @@ import numpy.testing as npt import pytest +from ixmp import Platform import message_ix from message_ix.testing import SNAPSHOTS @@ -31,7 +32,7 @@ @pytest.mark.nightly @pytest.mark.parametrize("scenario_info, hash", SNAPSHOTS) def test_solve_and_check( - snapshots_from_zenodo, scenario_info, hash + snapshots_from_zenodo: Platform, scenario_info: dict[str, str], hash: str ) -> None: # pragma: no cover """Test that snapshots scenario solve and satisfy :data:`CHECK`. diff --git a/message_ix/tests/test_testing.py b/message_ix/tests/test_testing.py index e5445b790..e9371a14d 100644 --- a/message_ix/tests/test_testing.py +++ b/message_ix/tests/test_testing.py @@ -1,4 +1,5 @@ import pytest +from ixmp import Platform from message_ix import ModelError, Scenario from message_ix.testing import make_austria, make_dantzig, make_westeros @@ -12,7 +13,9 @@ dict(solve=True), ), ) -def test_make_austria(request, test_mp, kwargs) -> None: +def test_make_austria( + request: pytest.FixtureRequest, test_mp: Platform, kwargs: dict[str, bool] +) -> None: """:func:`.make_austria` runs. Depending on the `kwargs`, this also tests that the resulting Scenario is feasible. @@ -28,7 +31,9 @@ def test_make_austria(request, test_mp, kwargs) -> None: dict(solve=True, multi_year=True), ), ) -def test_make_dantzig(request, test_mp, kwargs) -> None: +def test_make_dantzig( + request: pytest.FixtureRequest, test_mp: Platform, kwargs: dict[str, bool] +) -> None: """:func:`.make_dantzig` runs. Depending on the `kwargs`, this also tests that the resulting Scenario is feasible. @@ -52,12 +57,14 @@ def test_make_dantzig(request, test_mp, kwargs) -> None: dict(model_horizon=[694, 720]), ), ) -def test_make_westeros(request, test_mp, kwargs) -> None: +def test_make_westeros( + request: pytest.FixtureRequest, test_mp: Platform, kwargs: dict[str, list[int]] +) -> None: """:func:`.make_westeros` runs. Depending on the `kwargs`, this also tests that the resulting Scenario is feasible. """ - s = make_westeros(test_mp, **kwargs, request=request) + s = make_westeros(test_mp, **kwargs, request=request) # type: ignore[arg-type] assert isinstance(s, Scenario) s.solve(quiet=True, solve_options=dict(iis=1)) diff --git a/message_ix/tests/test_tutorials.py b/message_ix/tests/test_tutorials.py index 9a1a55f42..3544dcbe4 100644 --- a/message_ix/tests/test_tutorials.py +++ b/message_ix/tests/test_tutorials.py @@ -1,19 +1,27 @@ import logging import os import sys +from collections.abc import Generator +from pathlib import Path from shutil import copyfile -from typing import Union +from typing import Any, Optional, Union -import numpy as np +import ixmp.backend +import numpy.testing as npt import pytest from ixmp.testing import get_cell_output, run_notebook +from nbclient.exceptions import CellExecutionError, CellTimeoutError + +from message_ix.testing import GHA +from message_ix.tests.test_report import MISSING_IXMP4 + +log = logging.getLogger(__name__) # Shorthands for tutorial directories/file names. AT = "Austrian_energy_system" W = "westeros" # Common marks for some test cases -GHA = "GITHUB_ACTIONS" in os.environ MARK = [ pytest.mark.skipif( # 0 condition=GHA and sys.platform == "linux", @@ -37,7 +45,14 @@ ] -def _t(group: Union[str, None], basename: str, *, check=None, marks=None): +# NOTE Pytest.param returns ParamSet, which is private and hard to type hint +def _t( + group: Union[str, None], + basename: str, + *, + check: Optional[list[tuple]] = None, + marks: Optional[list[pytest.MarkDecorator]] = None, +) -> tuple: """Shorthand for defining tutorial test cases. Parameters @@ -48,12 +63,15 @@ def _t(group: Union[str, None], basename: str, *, check=None, marks=None): Group ID. When pytest-xdist is used, tests in the same group are run in sequence on the same worker. If one tutorial depends on contents in the temporary test database produced by another tutorial, they should be in the same group. - check : list of 2-tuple, optional + check : list of tuple, optional Each tuple consists of: 1. Name or index of cell whose output will contain a certain value, e.g. the - MESSAGE objective function value. - 2. Expected value for that cell output. + MESSAGE objective function value. This cell's output is retrieved and passed + as the first positional argument (`actual`) to + :func:`numpy.testing.assert_allclose`. + 2. Further positional arguments to :func:`numpy.testing.assert_allclose`: + `desired`, `rtol`, `atol`, etc. marks : list, optional Any pytest marks applicable to the test. """ @@ -77,20 +95,24 @@ def _t(group: Union[str, None], basename: str, *, check=None, marks=None): _t("w0", f"{W}_baseline_using_xlsx_import_part1"), _t("w0", f"{W}_baseline_using_xlsx_import_part2"), _t("w0", f"{W}_emissions_bounds"), - _t("w0", f"{W}_emissions_taxes"), - _t("w0", f"{W}_firm_capacity"), - _t("w0", f"{W}_flexible_generation"), + _t("w0", f"{W}_emissions_taxes"), ### + _t("w0", f"{W}_firm_capacity"), ### + _t("w0", f"{W}_flexible_generation"), ### _t("w0", f"{W}_fossil_resource"), _t("w0", f"{W}_share_constraint"), - _t("w0", f"{W}_soft_constraints"), + _t("w0", f"{W}_soft_constraints"), ### _t("w0", f"{W}_addon_technologies"), _t("w0", f"{W}_historical_new_capacity"), _t("w0", f"{W}_multinode_energy_trade"), _t("w0", f"{W}_sankey"), - # NB this is the same value as in test_reporter() - _t(None, f"{W}_report", check=[("len-rep-graph", 13739)]), + # NB This is the same count as in test_report.test_reporter_from_scenario. + # Using len(MISSING_IXMP4) for atol allows the test to pass when the value is + # 16010 - 8 = 16002. + _t(None, f"{W}_report", check=[("len-rep-graph", 16010, 1e-7, len(MISSING_IXMP4))]), _t("at0", "austria", check=[("solve-objective-value", 206321.90625)]), - _t("at0", "austria_single_policy", check=[("solve-objective-value", 205310.34375)]), + _t( + "at0", "austria_single_policy", check=[("solve-objective-value", 205310.34375)] + ), ### _t("at0", "austria_multiple_policies"), _t("at0", "austria_multiple_policies-answers"), _t("at0", "austria_load_scenario"), @@ -114,13 +136,15 @@ def _t(group: Union[str, None], basename: str, *, check=None, marks=None): @pytest.fixture -def nb_path(request, tutorial_path): +def nb_path( + request: pytest.FixtureRequest, tutorial_path: Path +) -> Generator[Path, Any, None]: """Prepare the `nb_path` fixture to `test_tutorial`.""" # Combine the filename parts with the tutorial_path fixture yield tutorial_path.joinpath(*request.param).with_suffix(".ipynb") -def default_args(): +def default_args() -> dict[str, Union[int, str]]: """Default arguments for :func:`.run_notebook.""" if GHA: # Use a longer timeout @@ -131,8 +155,16 @@ def default_args(): # Parametrize the first 3 arguments using the variables *TUTORIALS* and *IDS*. # Argument 'nb_path' is indirect so that the above function can modify it. -@pytest.mark.parametrize("nb_path,checks", TUTORIALS, ids=IDS, indirect=["nb_path"]) -def test_tutorial(caplog, nb_path, checks, tmp_path, tmp_env): +@pytest.mark.parametrize("nb_path, checks", TUTORIALS, ids=IDS, indirect=["nb_path"]) +@pytest.mark.parametrize("ixmp_backend", ixmp.backend.available()) +def test_tutorial( + caplog: pytest.LogCaptureFixture, + nb_path: Path, + checks: list[tuple], + tmp_path: Path, + tmp_env: os._Environ[str], + ixmp_backend: str, +) -> None: """Test tutorial in the IPython or IR notebook at `nb_path`. If `checks` are given, values in the specified cells are tested. @@ -150,10 +182,26 @@ def test_tutorial(caplog, nb_path, checks, tmp_path, tmp_env): if nb_path.name.startswith("R_"): args.update(kernel_name="IR") + # Set the "default" platform to be either the platform named "local" or + # "ixmp4-local", according to the ixmp_backend parameter + p = {"jdbc": "local", "ixmp4": "ixmp4-local"}[ixmp_backend] + # The notebook can be run without errors - nb, errors = run_notebook(nb_path, tmp_path, tmp_env, **args) + try: + nb, errors = run_notebook( + nb_path, tmp_path, tmp_env, default_platform=p, **args + ) + except (CellExecutionError, CellTimeoutError) as e: + if ixmp_backend == "ixmp4": + # Show errors but make these non-fatal. We do this because it is complicated + # to apply an XFAIL mark that is conditional on the value of `ixmp_backend`. + log.error(f"with IXMP4Backend:\n{e!r}") + return + else: + raise + assert errors == [] # Cell(s) identified by name or index have a particular value - for cell, value in checks: - assert np.isclose(get_cell_output(nb, cell), value) + for cell, *check_args in checks: + npt.assert_allclose(get_cell_output(nb, cell), *check_args) diff --git a/message_ix/tests/tools/test_add_year.py b/message_ix/tests/tools/test_add_year.py index 3c94921e5..e35bc6251 100644 --- a/message_ix/tests/tools/test_add_year.py +++ b/message_ix/tests/tools/test_add_year.py @@ -1,4 +1,8 @@ +from collections.abc import Callable, Generator +from typing import Any, Union + import pytest +from click.testing import Result from ixmp import Platform from message_ix import Scenario @@ -6,7 +10,9 @@ @pytest.fixture -def base_scen_mp(test_mp, request): +def base_scen_mp( + test_mp: Platform, request: pytest.FixtureRequest +) -> Generator[tuple[Scenario, Platform], Any, None]: scen = Scenario( test_mp, "model", scenario=request.node.name + "_standard", version="new" ) @@ -21,12 +27,12 @@ def base_scen_mp(test_mp, request): scen.add_set("year", years) scen.add_set("technology", "tec") scen.add_set("mode", "mode") - output_specs = ["node", "comm", "level", "year", "year"] + output_specs: list[Union[int, str]] = ["node", "comm", "level", "year", "year"] for yr, value in data.items(): scen.add_par("demand", ["node", "comm", "level", yr, "year"], 1, "GWa") scen.add_par("technical_lifetime", ["node", "tec", yr], 10, "y") - tec_specs = ["node", "tec", yr, yr, "mode"] + tec_specs: list[Union[int, str]] = ["node", "tec", yr, yr, "mode"] scen.add_par("output", tec_specs + output_specs, 1, "-") scen.add_par("var_cost", tec_specs + ["year"], value, "USD/GWa") @@ -35,7 +41,9 @@ def base_scen_mp(test_mp, request): yield scen, test_mp -def adding_years(test_mp, scen_ref, years_new): +def adding_years( + test_mp: Platform, scen_ref: Scenario, years_new: list[int] +) -> Scenario: scen_new = Scenario( test_mp, model="add_year", scenario="standard", version="new", annotation=" " ) @@ -43,7 +51,9 @@ def adding_years(test_mp, scen_ref, years_new): return scen_new -def assert_function(scen_ref, scen_new, years_new, yr_test): +def assert_function( + scen_ref: Scenario, scen_new: Scenario, years_new: list[int], yr_test: int +) -> None: # 1. Testing the set "year" for the new years horizon_old = sorted([int(x) for x in scen_ref.set("year")]) horizon_test = sorted(horizon_old + years_new) @@ -84,7 +94,12 @@ def assert_function(scen_ref, scen_new, years_new, yr_test): YEARS_NEW = [2025, 2035] -def test_add_year(base_scen_mp): +# NOTE This should work on IXMP4Backend already, but somehow, add_year() does not seem +# to add years to scen_new. In assert_function(), this means that the filtered +# `var_cost` is empty and .at[] fails. +# TODO Experiment in a notebook why add_year() doesn't work. +@pytest.mark.jdbc +def test_add_year(base_scen_mp: tuple[Scenario, Platform]) -> None: scen_ref, test_mp = base_scen_mp # Adding new years @@ -98,7 +113,13 @@ def test_add_year(base_scen_mp): assert_function(scen_ref, scen_new, YEARS_NEW, yr_test=2025) -def test_add_year_cli(message_ix_cli, base_scen_mp): +# NOTE This should work on IXMP4Backend already, but with version=None, we can't find a +# default Run for scen_ref. Not sure if JDBC sets this as default before deletion +# (if so, how?) or if it doesn't need a default to load a scen (in contrast to ixmp4). +@pytest.mark.jdbc +def test_add_year_cli( + message_ix_cli: Callable[..., Result], base_scen_mp: tuple[Scenario, Platform] +) -> None: scen_ref, test_mp = base_scen_mp # Information about the base Scenario diff --git a/message_ix/tests/tools/test_lp_diag.py b/message_ix/tests/tools/test_lp_diag.py index 4a3078740..2aac1f8e0 100644 --- a/message_ix/tests/tools/test_lp_diag.py +++ b/message_ix/tests/tools/test_lp_diag.py @@ -1,9 +1,15 @@ +from collections.abc import Callable +from pathlib import Path + import pytest +from click.testing import Result from message_ix.tools.lp_diag import LPdiag -def test_cli(tmp_path, message_ix_cli, test_data_path): +def test_cli( + tmp_path: Path, message_ix_cli: Callable[..., Result], test_data_path: Path +) -> None: """Test lpdiag.main() script.""" p = str(test_data_path.joinpath("lp_diag")) @@ -26,7 +32,7 @@ def test_cli(tmp_path, message_ix_cli, test_data_path): assert "Path '/surely this dir cannot/exist/' does not exist" in result.output -def test_aez(test_data_path): +def test_aez(test_data_path: Path) -> None: """Test reading of aez.mps file Check that the number of lines, rows and columns are correct""" @@ -58,7 +64,7 @@ def test_aez(test_data_path): assert lp.gf_seq != -1 -def test_diet(test_data_path): +def test_diet(test_data_path: Path) -> None: """Test reading of diet.mps file Check that the number of lines, rows and columns are correct""" @@ -90,7 +96,7 @@ def test_diet(test_data_path): assert lp.gf_seq != -1 -def test_jg_korh(test_data_path): +def test_jg_korh(test_data_path: Path) -> None: """Test reading of jg_korh.mps file Check that the number of lines, rows and columns are correct""" @@ -122,7 +128,7 @@ def test_jg_korh(test_data_path): assert lp.gf_seq != -1 -def test_lotfi(test_data_path): +def test_lotfi(test_data_path: Path) -> None: """Test reading of lotfi.mps file Check that the number of lines, rows and columns are correct""" @@ -197,7 +203,9 @@ def test_lotfi(test_data_path): ("error_bounds_unknown_type.mps", TypeError), ), ) -def test_error_cases(test_data_path, filename, exception) -> None: +def test_error_cases( + test_data_path: Path, filename: str, exception: type[Exception] +) -> None: """Test error cases""" lp = LPdiag() @@ -207,7 +215,7 @@ def test_error_cases(test_data_path, filename, exception) -> None: lp.read_mps(test_data_path.joinpath("lp_diag", filename)) -def test_lpdiag_print_statistics(test_data_path): +def test_lpdiag_print_statistics(test_data_path: Path) -> None: """Test auxiliary stat function.""" # Read in the diet.mps file @@ -227,7 +235,7 @@ def test_lpdiag_print_statistics(test_data_path): assert lp.mat.shape == (10, 5) -def test_lpdiag_locate_outliers(test_data_path): +def test_lpdiag_locate_outliers(test_data_path: Path) -> None: """Test locating outliers.""" # Read in the diet.mps file diff --git a/message_ix/tests/tools/test_migrate.py b/message_ix/tests/tools/test_migrate.py index 24cfc7b15..bfc0fb514 100644 --- a/message_ix/tests/tools/test_migrate.py +++ b/message_ix/tests/tools/test_migrate.py @@ -3,17 +3,21 @@ import sys import pytest +from ixmp import Platform from message_ix.testing import make_westeros from message_ix.tools.migrate import v311 +@pytest.mark.jdbc @pytest.mark.xfail( condition=sys.version_info < (3, 10), raises=ImportError, reason="Uses itertools.pairwise, added in Python 3.10", ) -def test_v311(caplog, request, test_mp) -> None: +def test_v311( + caplog: pytest.LogCaptureFixture, request: pytest.FixtureRequest, test_mp: Platform +) -> None: """Minimal test of :func:`.v311`.""" s = make_westeros(test_mp, request=request) diff --git a/message_ix/tests/tools/test_sankey.py b/message_ix/tests/tools/test_sankey.py index fa2bfa43e..84dd3e9c7 100644 --- a/message_ix/tests/tools/test_sankey.py +++ b/message_ix/tests/tools/test_sankey.py @@ -1,5 +1,7 @@ from typing import TYPE_CHECKING, cast +import pytest +from ixmp import Platform from ixmp.testing import assert_logs from message_ix.report import Reporter @@ -9,8 +11,12 @@ if TYPE_CHECKING: import pyam +# NOTE This test likely doesn't need to be parametrized -def test_map_for_sankey(caplog, test_mp, request) -> None: + +def test_map_for_sankey( + caplog: pytest.LogCaptureFixture, test_mp: Platform, request: pytest.FixtureRequest +) -> None: from genno.operator import concat scen = make_westeros(test_mp, solve=True, request=request) diff --git a/message_ix/tests/util/test_gams_io.py b/message_ix/tests/util/test_gams_io.py new file mode 100644 index 000000000..545773837 --- /dev/null +++ b/message_ix/tests/util/test_gams_io.py @@ -0,0 +1,88 @@ +import pandas as pd +import pytest +from ixmp import Platform +from ixmp.testing import min_ixmp4_version + +from message_ix import Scenario +from message_ix.testing import make_westeros +from message_ix.util.scenario_data import HELPER_INDEXSETS, HELPER_TABLES + +pytestmark = min_ixmp4_version + + +def test_store_message_version() -> None: + from ixmp.util.ixmp4 import ContainerData + + from message_ix.util.gams_io import store_message_version + + data: list[ContainerData] = [] + store_message_version(container_data=data) + expected_names = ["version_part", "MESSAGE_ix_version"] + for index, item in enumerate(data): + assert item.name == expected_names[index] + + +@pytest.mark.ixmp4 +def test_add_default_data_to_container_data_list(test_mp: Platform) -> None: + from ixmp.util.ixmp4 import ContainerData + + from message_ix.util.gams_io import add_default_data_to_container_data_list + + scenario = Scenario(mp=test_mp, model="model", scenario="scenario", version="new") + + # Test with empty 'technology' set + data: list[ContainerData] = [] + + for name in ("cat_tec", "type_tec_land"): + add_default_data_to_container_data_list( + container_data=data, name=name, scenario=scenario + ) + expected = [ + pd.DataFrame(columns=["type_tec", "technology"]), + pd.DataFrame({"type_tec": ["all"]}), + ] + + # Add some test data + scenario.add_set(name="type_tec", key="foo") + scenario.add_set(name="technology", key="bar") + scenario.add_set(name="type_tec_land", key={"type_tec": ["foo"]}) + + for name2 in ("cat_tec", "type_tec_land"): + add_default_data_to_container_data_list( + container_data=data, name=name2, scenario=scenario + ) + + # Assert new and default data are merged correctly + expected.extend( + [ + pd.DataFrame({"type_tec": ["all"], "technology": ["bar"]}), + pd.DataFrame({"type_tec": ["foo", "all"]}), + ] + ) + + for index, item in enumerate(data): + assert isinstance(item.records, pd.DataFrame) + pd.testing.assert_frame_equal(item.records, expected[index]) + + +@pytest.mark.ixmp4 +def test_add_auxiliary_items_to_container_data_list( + test_mp: Platform, request: pytest.FixtureRequest +) -> None: + from ixmp.util.ixmp4 import ContainerData + + from message_ix.util.gams_io import add_auxiliary_items_to_container_data_list + + scenario = make_westeros(mp=test_mp, emissions=True, solve=False, request=request) + data: list[ContainerData] = [] + + add_auxiliary_items_to_container_data_list(container_data=data, scenario=scenario) + + # Test the container data list contains all helper items listed in scenario_data + expected = HELPER_INDEXSETS.copy() + expected.extend(HELPER_TABLES) + + # TODO Iterating over 34 items here, but how to do this faster? Is it sufficient to + # compare len()? + for index, item in enumerate(data): + assert item.name == expected[index].name diff --git a/message_ix/tests/util/test_ixmp4.py b/message_ix/tests/util/test_ixmp4.py new file mode 100644 index 000000000..e69de29bb diff --git a/message_ix/tests/util/test_sphinx_gams.py b/message_ix/tests/util/test_sphinx_gams.py index 43b0193ec..4b2c977c3 100644 --- a/message_ix/tests/util/test_sphinx_gams.py +++ b/message_ix/tests/util/test_sphinx_gams.py @@ -3,7 +3,7 @@ from message_ix.util.sphinx_gams import files, transcribe_docs -def test_files(tmp_path): +def test_files(tmp_path: Path) -> None: # Names of input files in_exp = [tmp_path.joinpath(n).with_suffix(".gms") for n in ("foo", "bar")] # Touch files @@ -31,7 +31,7 @@ def test_files(tmp_path): """ -def test_transcribe_docs(tmp_path): +def test_transcribe_docs(tmp_path: Path) -> None: """Full unit tests are a bit much for the nonce..""" f_in = tmp_path / "in.gms" diff --git a/message_ix/tests/util/test_tutorial.py b/message_ix/tests/util/test_tutorial.py index e32113b9e..608e50a04 100644 --- a/message_ix/tests/util/test_tutorial.py +++ b/message_ix/tests/util/test_tutorial.py @@ -1,11 +1,18 @@ +from typing import TYPE_CHECKING + from ixmp.report import Key -from message_ix import Scenario, make_df +from message_ix import Reporter, Scenario, make_df from message_ix.testing import SCENARIO from message_ix.util.tutorial import prepare_plots, solve_modified +if TYPE_CHECKING: + import pytest + from ixmp import Platform + -def test_prepare_plots(dantzig_reporter): +# NOTE This test likely doesn't need to be parametrized +def test_prepare_plots(dantzig_reporter: Reporter) -> None: # Function runs without error prepare_plots(dantzig_reporter) @@ -26,7 +33,9 @@ def test_prepare_plots(dantzig_reporter): assert Key("CAP_NEW", ["nl", "t", "yv"]) == key -def test_solve_modified(caplog, message_test_mp): +def test_solve_modified( + caplog: "pytest.LogCaptureFixture", message_test_mp: "Platform" +) -> None: base = Scenario(message_test_mp, **SCENARIO["dantzig"]) # Base objective value diff --git a/message_ix/util/__init__.py b/message_ix/util/__init__.py index 5700c7a38..d1795c9d5 100644 --- a/message_ix/util/__init__.py +++ b/message_ix/util/__init__.py @@ -4,15 +4,17 @@ from collections import ChainMap, defaultdict from collections.abc import Mapping from pathlib import Path -from typing import Optional +from typing import TYPE_CHECKING, Optional import pandas as pd from ixmp.backend import ItemType from pandas.api.types import is_scalar -from message_ix.core import Scenario from message_ix.models import MACRO, MESSAGE +if TYPE_CHECKING: + from message_ix.core import Scenario + def copy_model( path: Path, @@ -277,7 +279,7 @@ def _deprecated_make_df(base, **kwargs): return pd.DataFrame(base) -def expand_dims(scenario: Scenario, name, **data): +def expand_dims(scenario: "Scenario", name, **data): """Expand dimensions of parameter `name` on `scenario`, filling with `data`. This function is for use when an existing parameter `name` has dimensions that are a diff --git a/message_ix/util/gams_io.py b/message_ix/util/gams_io.py new file mode 100644 index 000000000..fb08d089e --- /dev/null +++ b/message_ix/util/gams_io.py @@ -0,0 +1,364 @@ +from typing import TYPE_CHECKING, Literal, Optional, Union, cast + +import pandas as pd + +if TYPE_CHECKING: + from message_ix.core import Scenario + +from ixmp.util.ixmp4 import ContainerData + +from .scenario_data import ( + HELPER_INDEXSETS, + HELPER_TABLES, + HelperFilterInfo, + HelperIndexSetInfo, + HelperTableInfo, +) + +# MESSAGE scheme version +# This value is used by MsgScenario in two ways: +# 1. To generate commit/exception messages in .checkOut() and +# .updateMsgScheme() related to use of initializeMsgSetsParameters(). +# These methods do not check this value, nor is it stored (except as a +# commit message). +# 2. In .toGDX(), it is written to the GAMS parameter "MESSAGE_ix_version" +# to signal to the GAMS code which version of ixmp_source was used to +# generate a particular GDX file. +# Increment *only* in the event that the generated GDX contents change in a +# way that requires corresponding changes to the MESSAGE GAMS source. +# See also https://github.com/iiasa/message_ix/issues/254. + +# MESSAGE_IX_VERSION = { +# { "major": 2 }, { "minor": 0 } +# } + +# This must be convertible to pd.DataFrame +MESSAGE_IX_VERSION: dict[str, Union[list[float], list[int], list[str]]] = { + "version_part": ["major", "minor"], + "value": [2, 0], +} + + +def store_message_version(container_data: list[ContainerData]) -> None: + """Store 'MESSAGE_ix_version' in `container_data` for validation by GAMS.""" + # Add a helper IndexSet + container_data.append( + ContainerData( + name="version_part", + kind="IndexSet", + records=MESSAGE_IX_VERSION["version_part"], + ) + ) + # Add the actual parameter + container_data.append( + ContainerData( + name="MESSAGE_ix_version", + kind="Parameter", + domain=["version_part"], + records=MESSAGE_IX_VERSION, + ) + ) + + +def add_default_data_to_container_data_list( + container_data: list[ContainerData], + name: Literal["cat_tec", "type_tec_land"], + scenario: "Scenario", +) -> None: + """Add default data for item `name` to `container_data`.""" + # Gather existing data for `name` from `scenario` + records = scenario.set(name=name) + domain = scenario.idx_sets(name=name) + + # Set the default data to be added + if name == "cat_tec": + technologies = cast(pd.Series, scenario.set(name="technology")) + data = { + "type_tec": ["all"] * len(technologies), + "technology": technologies.to_list(), + } + else: + data = {"type_tec": ["all"]} + + additional_records = pd.DataFrame(data) + + # Merge default data with existing data + records = pd.concat([records, additional_records], ignore_index=True) + + # Add complete data to `container_data` + container_data.append( + ContainerData(name=name, kind="Table", domain=domain, records=records) + ) + + +def _compose_resource_grade_map( + scenario: "Scenario", +) -> dict[tuple[str, str], list[str]]: + """Compose the helper data structure `resource_grade_map`.""" + # 'resource_grade_map' maps ["node", "commodity"] to ["grade"] + resource_grade_map: dict[tuple[str, str], list[str]] = {} + + # 'resource_grade_map' is based on 'resource_volume' + resource_volume = scenario.par(name="resource_volume") + + for row in resource_volume.itertuples(index=False): + # Create the key from each row + key = (str(row.node), str(row.commodity)) + + # Get existing grade_list or start a new one + grade_list = resource_grade_map.get(key, []) + grade_list.append(row.grade) + + # Set the key to grade_list + resource_grade_map[key] = grade_list + + return resource_grade_map + + +def _handle_renames( + df: pd.DataFrame, renames: Optional[dict[str, str]] +) -> pd.DataFrame: + """Rename columns from `df` according to `renames`, if present.""" + return df.rename(columns=renames) if renames else df + + +def _handle_empty_parameter( + scenario: "Scenario", + source_name: str, + columns: Optional[list[str]], + renames: Optional[dict[str, str]] = None, +) -> pd.DataFrame: + """Create an empty pd.DataFrame with correct column names.""" + _columns = columns or scenario.idx_names(name=source_name) + record = pd.DataFrame(columns=_columns) + return _handle_renames(df=record, renames=renames) + + +def _compose_records( + scenario: "Scenario", + sources: dict[str, Optional[list[str]]], + filters: Optional[HelperFilterInfo], + renames: Optional[dict[str, str]], +) -> pd.DataFrame: + """Compose the records for an auxiliary IndexSet/Table. + + Parameters + ---------- + scenario: Scenario + The scenario to gather data from. + sources: dict + A mapping to specify the sources. Keys are parameter names, values are optional + columns to limit the data to. + filters: Optional[HelperFilterInfo] + Optionally, specify a filter that limits a single column to specific values. + renames: Optional[dict[str, str]] + Optionally, rename columns of the records to align them properly. + """ + # Create a list to collect records + records: list[pd.DataFrame] = [] + + for source_name, columns in sources.items(): + # Copy the scenario data to avoid modifying it + df = scenario.par(name=source_name).copy() + + # If `df` is empty, add an empty record with correctly named columns + if df.empty: + records.append( + _handle_empty_parameter( + scenario=scenario, + source_name=source_name, + columns=columns, + renames=renames, + ) + ) + continue + + # Apply filters if requested + if filters: + df = df.loc[df[filters.column_name].isin(filters.target)] + + # If no columns are specified, exclude 'value' and 'unit' at least because we're + # composing Table.data + df = df[columns] if columns else df.drop(columns=["value", "unit"]) + + # 'map_relation' and 'map_land': fix mismatch with column names expected by gams + # 'map_tec' and 'map_commodity': align different column names in their sources + if renames: + df.rename(columns=renames, inplace=True) + + # Add record to the collection + records.append(df) + + # NOTE ixmp_source only adds elements that were not already in records, but here we + # add everything and drop_duplicates() afterwards + return pd.concat(records, ignore_index=True).drop_duplicates() + + +def _compose_map_tec_time( + scenario: "Scenario", sources: dict[str, Optional[list[str]]] +) -> pd.DataFrame: + """Compose the records for an auxiliary IndexSet/Table. + + Parameters + ---------- + scenario: Scenario + The scenario to gather data from. + sources: dict + A mapping to specify the sources. Keys are parameter names, values are optional + columns to limit the data to. + """ + records: list[pd.DataFrame] = [] + + for source_name, columns in sources.items(): + df = scenario.par(name=source_name).copy() + + if df.empty: + records.append( + _handle_empty_parameter( + scenario=scenario, source_name=source_name, columns=columns + ) + ) + continue + + if columns: + df = df[columns] + if source_name == "relation_activity": + # TODO (from ixmp_source) this should be dependent on the correct sub-annual + # time slice + # TODO once we fix that, we can likely drop this function and use + # _compose_records() for `map_tec_time` + df["time"] = "year" + records.append(df) + + return pd.concat(records, ignore_index=True).drop_duplicates() + + +def _compose_map_resource( + scenario: "Scenario", + sources: dict[str, Optional[list[str]]], + filters: Optional[HelperFilterInfo], + resource_grade_map: dict[tuple[str, str], list[str]], +) -> pd.DataFrame: + """Compose the records for an auxiliary IndexSet/Table. + + Parameters + ---------- + scenario: Scenario + The scenario to gather data from. + sources: dict + A mapping to specify the sources. Keys are parameter names, values are optional + columns to limit the data to. + filters: Optional[HelperFilterInfo] + Optionally, specify a filter that limits a single column to specific values. + resource_grade_map: dict[list[str], list[str]] + An auxiliary mapping from (`node`, `commodity`) to list of `grade` to construct + `map_resource`. + """ + records: list[pd.DataFrame] = [] + columns = ["node_loc", "commodity", "grade", "year_act"] + + # There's just one item here: {`input`: None} + for source_name, _ in sources.items(): + df = scenario.par(name=source_name).copy() + + if filters: + df = df.loc[df[filters.column_name].isin(filters.target)] + + # columns is None for map_resource + # if columns: + # df = df[columns] + df = df.drop(columns=["value", "unit"]) + + for row in df.itertuples(index=False): + key = (str(row.node_loc), str(row.commodity)) + grade_list = resource_grade_map.get(key, None) + if not grade_list: + # TODO This used to be an IxException + # TODO Why do we mention `level` instead of `commodity`? + raise ValueError( + f"the resource-commodity '{row.level}' at node '{row.commodity}'" + "does not have a resource volume assigned for any grade!" + ) + + base_record = { + "node_loc": [row.node_loc], + "commodity": [row.commodity], + # NOTE ixmp_source used to have a placeholder here + # "grade": [grade_list[0]], + "year_act": [row.year_act], + } + for grade in grade_list: + base_record["grade"] = [grade] + + # Add to collection with correct column order + records.append(pd.DataFrame(base_record)[columns]) + + # For some tutorials, input['level'] is never 'resources', so map is empty + return ( + pd.concat(records, ignore_index=True).drop_duplicates() + if len(records) + else pd.DataFrame(columns=columns) + ) + + +def add_auxiliary_items_to_container_data_list( + container_data: list[ContainerData], scenario: "Scenario" +) -> None: + """Add GAMS helper items to `container_data` based on data in `scenario`.""" + # Collect some helper data specific to this Scenario + resource = scenario.set(name="level_resource") + renewables = scenario.set(name="level_renewable") + stocks = scenario.set(name="level_stocks") + resource_grade_map = _compose_resource_grade_map(scenario=scenario) + + helpers = HELPER_INDEXSETS.copy() + helpers.extend(HELPER_TABLES) + + for item_info in helpers: + # If filters are to be applied, gather the local helper data + if item_info.filters: + # NOTE the locals() are Table data, so always pd.DataFrame, with str data + # The following are thus mostly no-ops for mypy + item_info.filters.target = ( + pd.DataFrame(locals().get(item_info.filters.target_name))[ + item_info.filters.column_name + ] + .astype(str) + .to_list() + ) + + # Construct the records to be added + # Handle special cases + if item_info.name == "map_tec_time": + records = _compose_map_tec_time( + scenario=scenario, sources=item_info.sources + ) + elif item_info.name == "map_resource": + records = _compose_map_resource( + scenario=scenario, + sources=item_info.sources, + filters=item_info.filters, + resource_grade_map=resource_grade_map, + ) + else: + renames = ( + item_info.renames if isinstance(item_info, HelperTableInfo) else None + ) + records = _compose_records( + scenario=scenario, + sources=item_info.sources, + filters=item_info.filters, + renames=renames, + ) + + # Add the item to the the list of container data + container_data.append( + ContainerData( + name=item_info.name, + kind="IndexSet" + if isinstance(item_info, HelperIndexSetInfo) + else "Table", + domain=records.columns.to_list(), + records=records, + ) + ) diff --git a/message_ix/util/ixmp4.py b/message_ix/util/ixmp4.py new file mode 100644 index 000000000..d1e7f6a1c --- /dev/null +++ b/message_ix/util/ixmp4.py @@ -0,0 +1,42 @@ +from typing import Union + +import ixmp +import ixmp.backend + + +def on_ixmp4backend(obj: Union["ixmp.Platform", "ixmp.TimeSeries"]) -> bool: + """:any:`True` if `ts` is stored on :class:`IXMP4Backend`. + + .. todo:: Move upstream, to :mod:`ixmp`. + """ + if "ixmp4" not in ixmp.backend.available(): + return False + + from ixmp.backend.ixmp4 import IXMP4Backend + + return isinstance( + (obj if isinstance(obj, ixmp.Platform) else obj.platform)._backend, + IXMP4Backend, + ) + + +def platform_compat(platform: "ixmp.Platform") -> None: + """Handle units and regions compatibility. + + This ensures `platform` backed by :class:`IXMP4Backend` has units and regions that + are automatically populated when using :class:`.JDBCBackend`. + """ + from message_ix.util.scenario_data import REQUIRED_UNITS + + if not on_ixmp4backend(platform): + return + + if not platform._units_to_warn_about: + platform._units_to_warn_about = REQUIRED_UNITS.copy() + + units = set(platform.units()) + for u in {"-", "kg/kWa", "y", "Mt CO2/yr", "USD", "USD/GWa"} - units: + platform.add_unit(u, "For compatibility with ixmp.JDBCBackend") + + for r in {"India"} - set(platform.regions()["region"]): + platform.add_region(region=r, hierarchy="common") diff --git a/message_ix/util/scenario_data.py b/message_ix/util/scenario_data.py new file mode 100644 index 000000000..9b4196143 --- /dev/null +++ b/message_ix/util/scenario_data.py @@ -0,0 +1,1779 @@ +from dataclasses import dataclass +from typing import Literal, Optional, Union + +# NOTE on transcribing from ixmp_source: +# The data in this file is based on +# https://github.com/iiasa/ixmp_source/blob/master/src/main/java/at/ac/iiasa/ixmp/modelspecs/MESSAGEspecs.java +# for the item data and +# https://github.com/iiasa/ixmp_source/blob/2ae0dcb6093e93e3047bf94b996da1e647ad701e/src/main/resources/db/migration/hsql/V1__hsql_base_version.sql +# for the units +# Comments within the item lists not starting with 'NOTE' or 'TODO' are copied from +# ixmp_source unless otherwise noted + +# List of required indexset names +REQUIRED_INDEXSETS = [ + "commodity", + "emission", + "grade", + "land_scenario", + "land_type", + "level", + "lvl_spatial", + "lvl_temporal", + "mode", + "node", + "rating", + "relation", + "shares", + "technology", + "time", + "type_addon", + "type_emission", + "type_node", + "type_relation", + "type_tec", + "type_year", + "year", +] + + +@dataclass +class DefaultIndexSetData: + name: str + data: list[str] + + +# List of indexset names and data added to them by default +DEFAULT_INDEXSET_DATA = [ + DefaultIndexSetData(name="node", data=["World"]), + DefaultIndexSetData(name="lvl_spatial", data=["World", "global"]), + DefaultIndexSetData(name="type_node", data=["economy"]), + DefaultIndexSetData(name="time", data=["year"]), + DefaultIndexSetData(name="lvl_temporal", data=["year"]), + DefaultIndexSetData( + name="type_year", + data=["firstmodelyear", "lastmodelyear", "initializeyear_macro"], + ), + DefaultIndexSetData(name="type_tec", data=["all"]), + DefaultIndexSetData(name="rating", data=["firm", "unrated"]), + DefaultIndexSetData(name="mode", data=["all"]), +] + + +@dataclass +class TableInfo: + name: str + indexsets: list[str] + column_names: Optional[list[str]] = None + + +# List of required table names and indexsets they are linked to, including column_names +# if they differ +# NOTE The list in ixmp_source includes some dimension entries with three items: +# Apparently, (indexset.name, unique_indexset.name, another name?). +# In ixmp4, we only need the real name and unique names if the same indexset is linked +# to multiple columns of the same item. Thus, the list below is constructed ignoring the +# third ixmp_source item. +REQUIRED_TABLES = [ + TableInfo(name="addon", indexsets=["technology"]), + TableInfo( + name="balance_equality", indexsets=["commodity", "level"] + ), # disabled in models.py + TableInfo( + name="cat_addon", + indexsets=["type_addon", "technology"], + column_names=["type_addon", "technology_addon"], + ), + TableInfo(name="cat_emission", indexsets=["type_emission", "emission"]), + TableInfo(name="cat_node", indexsets=["type_node", "node"]), + TableInfo(name="cat_relation", indexsets=["type_relation", "relation"]), + TableInfo(name="cat_tec", indexsets=["type_tec", "technology"]), + TableInfo(name="cat_year", indexsets=["type_year", "year"]), + TableInfo(name="level_renewable", indexsets=["level"]), + TableInfo(name="level_resource", indexsets=["level"]), + TableInfo(name="level_stocks", indexsets=["level"]), + TableInfo( + name="map_node", + indexsets=["node", "node"], + column_names=["node_parent", "node"], + ), + TableInfo( + name="map_shares_commodity_share", + indexsets=[ + "shares", + "node", + "node", + "type_tec", + "mode", + "commodity", + "level", + ], + column_names=[ + "shares", + "node_share", + "node", + "type_tec", + "mode", + "commodity", + "level", + ], + ), + TableInfo( + name="map_shares_commodity_total", + indexsets=[ + "shares", + "node", + "node", + "type_tec", + "mode", + "commodity", + "level", + ], + column_names=[ + "shares", + "node_share", + "node", + "type_tec", + "mode", + "commodity", + "level", + ], + ), + TableInfo( + name="map_spatial_hierarchy", + indexsets=["lvl_spatial", "node", "node"], + column_names=["lvl_spatial", "node", "node_parent"], + ), + TableInfo(name="map_tec_addon", indexsets=["technology", "type_addon"]), + TableInfo( + name="map_temporal_hierarchy", + indexsets=["lvl_temporal", "time", "time"], + column_names=["lvl_temporal", "time", "time_parent"], + ), + TableInfo( + name="map_time", + indexsets=["time", "time"], + column_names=["time_parent", "time"], + ), + TableInfo(name="type_tec_land", indexsets=["type_tec"]), +] + + +@dataclass +class DefaultTableData: + name: str + data: dict[str, list[str]] # based on current usage + + +# List of table names and data added to them by default +DEFAULT_TABLE_DATA = [ + DefaultTableData( + name="map_temporal_hierarchy", + data={ + "lvl_temporal": ["year"], + "time": ["year"], + "time_parent": ["year"], + }, + ) +] + + +# NOTE There are several options in ixmp_source that I don't understand: +# - 2LDB +# - noMode +# - noTimeSeries +# - mode +# - LoUpFx +# - noPar +# - noTs2C +# They are migrated to preserve the information, but I don't know how to handle them +# further. +# Are noMode and mode really flags for whether `mode` is a linked indexset? If so, why +# do we need them? And why do not all parameters have such a flag? + +# NOTE ixmp_source also includes additional DB query options for some parameters, where +# I don't immediately know how to translate them, so they're ignored for now. + + +@dataclass +class ParameterInfo: + name: str + gams_name: str # could default to None and use name in that case, maybe? + indexsets: list[str] + column_names: Optional[list[str]] = None + write_to_gdx: bool = True + is_tec: bool = False + is_tec_act: bool = False + section: Optional[ + Literal[ + "energyforms:", + "demand:", + "resources:", + "systems:", + "variables:", + "relationsX:", + ] + ] = None + # NOTE changing '2LDB' to 'toLDB' + toLDB: bool = False + mode: bool = False + noMode: bool = False + noTimeSeries: bool = False + LoUpFx: bool = False + noPar: bool = False + noTs2C: bool = False + + +# List of all parameter names and indexsets they are linked to, including column_names +# if they differ. +# NOTE this includes a key 'gams_name' because apparently the names in the gams code +# differ. Not yet sure how best to handle this, but we'll likely receive data under the +# names used as keys here and need to ensure it's written to the correct names in the +# gdx. +# NOTE the list in ixmp_source includes parameters with write_to_gdx = False, which are +# not required. We include them here, too, and construct a separate list of required +# parameters below. +PARAMETERS = [ + # NOTE these headings are copied from ixmp_source + # energyforms (stocks) + # NOTE this includes an indexset '', not sure how to handle that + ParameterInfo( + name="commodity_stock", + gams_name="commodity_stock", + indexsets=["node", "commodity", "level", "year"], + section="energyforms:", + toLDB=True, + noMode=True, + noTimeSeries=True, + ), + # demand + ParameterInfo( + name="demand", + gams_name="demand", + indexsets=["node", "commodity", "level", "year", "time"], + section="demand:", + toLDB=True, + noMode=True, + ), + # resources + # resource cost and remaining resources + ParameterInfo( + name="resource_cost", + gams_name="cost", + indexsets=["node", "commodity", "grade", "year"], + section="resources:", + toLDB=True, + ), + ParameterInfo( + name="resource_remaining", + gams_name="resrem", + indexsets=["node", "commodity", "grade", "year"], + section="resources:", + toLDB=True, + ), + ParameterInfo( + name="bound_extraction_up", + gams_name="uplim", + indexsets=["node", "commodity", "grade", "year"], + section="resources:", + toLDB=True, + ), + # resource volume and base year extraction + # NOTE this includes an indexset '', not sure how to handle that + ParameterInfo( + name="resource_volume", + gams_name="volume", + indexsets=["node", "commodity", "grade"], + section="resources:", + toLDB=True, + noTimeSeries=True, + ), + # NOTE this is deactivated for unknown reasons + # # NOTE this includes an indexset '', not sure how to handle that + # ParameterInfo( + # name="resource_baseyear_extraction", + # gams_name="byrex", + # indexsets=["node", "commodity", "grade"], + # section="resources:", + # toLDB=True, + # noTimeSeries=True, + # ) + # systems + # technical parameters + ParameterInfo( + name="technical_lifetime", + gams_name="pll", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + section="systems:", + noMode=True, + ), + ParameterInfo( + name="capacity_factor", + gams_name="plf", + indexsets=["node", "technology", "year", "year", "time"], + column_names=["node_loc", "technology", "year_vtg", "year_act", "time"], + is_tec_act=True, + section="systems:", + toLDB=True, + noMode=True, + ), + ParameterInfo( + name="operation_factor", + gams_name="optm", + indexsets=["node", "technology", "year", "year"], + column_names=["node_loc", "technology", "year_vtg", "year_act"], + is_tec_act=True, + section="systems:", + toLDB=True, + noMode=True, + ), + ParameterInfo( + name="min_utilization_factor", + gams_name="minutil", + indexsets=["node", "technology", "year", "year"], + column_names=["node_loc", "technology", "year_vtg", "year_act"], + is_tec_act=True, + section="systems:", + toLDB=True, + noMode=True, + ), + # cost parameters + ParameterInfo( + name="inv_cost", + gams_name="inv", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + section="systems:", + toLDB=True, + noMode=True, + ), + ParameterInfo( + name="fix_cost", + gams_name="fom", + indexsets=["node", "technology", "year", "year"], + column_names=["node_loc", "technology", "year_vtg", "year_act"], + is_tec_act=True, + section="systems:", + toLDB=True, + noMode=True, + ), + ParameterInfo( + name="var_cost", + gams_name="vom", + indexsets=["node", "technology", "year", "year", "mode", "time"], + column_names=["node_loc", "technology", "year_vtg", "year_act", "mode", "time"], + is_tec_act=True, + section="systems:", + toLDB=True, + mode=True, + ), + # input, output + ParameterInfo( + name="main_output", + gams_name="moutp", + indexsets=["node", "technology", "year", "mode", "node", "commodity", "level"], + column_names=[ + "node_loc", + "technology", + "year_act", + "mode", + "node_dest", + "commodity", + "level", + ], + write_to_gdx=False, + section="systems:", + toLDB=True, + mode=True, + ), + # NOTE this includes an indexset '', not sure how to handle that + ParameterInfo( + name="main_input", + gams_name="minp", + indexsets=["node", "technology", "mode", "node", "commodity", "level"], + column_names=[ + "node_loc", + "technology", + "mode", + "node_dest", + "commodity", + "level", + ], + write_to_gdx=False, + section="systems:", + toLDB=True, + mode=True, + noTimeSeries=True, + ), + ParameterInfo( + name="output", + gams_name="outp", + indexsets=[ + "node", + "technology", + "year", + "yearmode", + "node", + "commodity", + "level", + "time", + "time", + ], + column_names=[ + "node_loc", + "technology", + "year_vtg", + "year_act", + "mode", + "node_dest", + "commodity", + "level", + "time", + "time_dest", + ], + is_tec_act=True, + section="systems:", + toLDB=True, + mode=True, + ), + ParameterInfo( + name="input", + gams_name="inp", + indexsets=[ + "node", + "technology", + "year", + "yearmode", + "node", + "commodity", + "level", + "time", + "time", + ], + column_names=[ + "node_loc", + "technology", + "year_vtg", + "year_act", + "mode", + "node_origin", + "commodity", + "level", + "time", + "time_origin", + ], + is_tec_act=True, + section="systems:", + toLDB=True, + mode=True, + ), + # costs for 'soft' relaxation of dynamic new capacity constraints + ParameterInfo( + name="abs_cost_new_capacity_soft_up", + gams_name="abs_cost_new_capacity_soft_up", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + ), + ParameterInfo( + name="abs_cost_new_capacity_soft_lo", + gams_name="abs_cost_new_capacity_soft_lo", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + ), + ParameterInfo( + name="level_cost_new_capacity_soft_up", + gams_name="level_cost_new_capacity_soft_up", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + ), + ParameterInfo( + name="level_cost_new_capacity_soft_lo", + gams_name="level_cost_new_capacity_soft_lo", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + ), + # costs for 'soft' relaxation of dynamic activity constraints + ParameterInfo( + name="abs_cost_activity_soft_up", + gams_name="abs_cost_activity_soft_up", + indexsets=["node", "technology", "year", "time"], + column_names=["node_loc", "technology", "year_act", "time"], + is_tec=True, + ), + ParameterInfo( + name="abs_cost_activity_soft_lo", + gams_name="abs_cost_activity_soft_lo", + indexsets=["node", "technology", "year", "time"], + column_names=["node_loc", "technology", "year_act", "time"], + is_tec=True, + ), + ParameterInfo( + name="level_cost_activity_soft_up", + gams_name="level_cost_activity_soft_up", + indexsets=["node", "technology", "year", "time"], + column_names=["node_loc", "technology", "year_act", "time"], + is_tec=True, + ), + ParameterInfo( + name="level_cost_activity_soft_lo", + gams_name="level_cost_activity_soft_lo", + indexsets=["node", "technology", "year", "time"], + column_names=["node_loc", "technology", "year_act", "time"], + is_tec=True, + ), + # bounds on activity and new capacity (old MESSAGE formulation) + # NOTE from ixmp_source: TODO: only included for legacy reasons of MESSAGE V - + # marked for deletion + # So should we delete this now? + # Otherwise: does '*' work as intended? + ParameterInfo( + name="bounds_new_capacity", + gams_name="bdc", + indexsets=["node", "technology", "year", "*"], + column_names=["node", "technology", "year", "dir"], + write_to_gdx=False, + is_tec=True, + section="systems:", + toLDB=True, + noMode=True, + LoUpFx=True, + ), + # NOTE from ixmp_source: TODO: only included for legacy reasons of MESSAGE V - + # marked for deletion + # So should we delete this now? + # Otherwise: does '*' work as intended? + ParameterInfo( + name="bounds_total_capacity", + gams_name="bdi", + indexsets=["node", "technology", "year", "*"], + column_names=["node", "technology", "year", "dir"], + write_to_gdx=False, + is_tec=True, + section="systems:", + toLDB=True, + LoUpFx=True, + ), + # Otherwise: does '*' work as intended? + ParameterInfo( + name="bounds_activity", + gams_name="bda", + indexsets=["node", "technology", "year", "mode", "*"], + column_names=["node", "technology", "year", "mode", "dir"], + write_to_gdx=False, + is_tec=True, + section="systems:", + toLDB=True, + LoUpFx=True, + ), + # new formulation for upper and lower bounds (new GAMS-MESSAGE formulation) + ParameterInfo( + name="bound_new_capacity_up", + gams_name="bound_new_capacity_up", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + ), + ParameterInfo( + name="bound_new_capacity_lo", + gams_name="bound_new_capacity_lo", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + ), + ParameterInfo( + name="bound_total_capacity_up", + gams_name="bound_total_capacity_up", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_act"], + is_tec=True, + ), + ParameterInfo( + name="bound_total_capacity_lo", + gams_name="bound_total_capacity_lo", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_act"], + is_tec=True, + ), + ParameterInfo( + name="bound_activity_up", + gams_name="bound_activity_up", + indexsets=["node", "technology", "year", "mode", "time"], + column_names=["node_loc", "technology", "year_act", "mode", "time"], + is_tec=True, + ), + ParameterInfo( + name="bound_activity_lo", + gams_name="bound_activity_lo", + indexsets=["node", "technology", "year", "mode", "time"], + column_names=["node_loc", "technology", "year_act", "mode", "time"], + is_tec=True, + ), + # bounds on market penetration of new capacity (old MESSAGE formulation) + # TODO Does '*' work as intended? + ParameterInfo( + name="market_penetration_new_capacity", + gams_name="mpc", + indexsets=["node", "technology", "year", "*", "*", "time"], + column_names=["node", "technology", "year", "dir", "item", "time"], + write_to_gdx=False, + section="systems:", + toLDB=True, + noMode=True, + LoUpFx=True, + ), + # TODO Does '*' work as intended? + ParameterInfo( + name="market_penetration_activity", + gams_name="mpc", + indexsets=["node", "technology", "year", "mode", "*", "*"], + column_names=["node", "technology", "year", "mode", "dir", "item"], + write_to_gdx=False, + section="systems:", + toLDB=True, + LoUpFx=True, + ), + # technological learning and spillover effects across technologies/regions + # (new GAMS-MESSAGE formulation) + # NOTE deactivated for unknown reasons + # ParameterInfo( + # name="diffusion_factor", + # gams_name="diffusion_factor", + # indexsets=["node", "technology", "year", "node", "technology", "year"], + # column_names=[ + # "node_loc", + # "technology", + # "year_act", + # "node_origin", + # "technology_origin", + # "year_origin", + # ], + # is_tec=True, + # ), + ParameterInfo( + name="initial_new_capacity_up", + gams_name="initial_new_capacity_up", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + ), + ParameterInfo( + name="growth_new_capacity_up", + gams_name="growth_new_capacity_up", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + ), + ParameterInfo( + name="soft_new_capacity_up", + gams_name="soft_new_capacity_up", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + ), + ParameterInfo( + name="initial_new_capacity_lo", + gams_name="initial_new_capacity_lo", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + ), + ParameterInfo( + name="growth_new_capacity_lo", + gams_name="growth_new_capacity_lo", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + ), + ParameterInfo( + name="soft_new_capacity_lo", + gams_name="soft_new_capacity_lo", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + ), + ParameterInfo( + name="initial_activity_up", + gams_name="initial_activity_up", + indexsets=["node", "technology", "year", "time"], + column_names=["node_loc", "technology", "year_act", "time"], + is_tec=True, + ), + ParameterInfo( + name="growth_activity_up", + gams_name="growth_activity_up", + indexsets=["node", "technology", "year", "time"], + column_names=["node_loc", "technology", "year_act", "time"], + is_tec=True, + ), + ParameterInfo( + name="soft_activity_up", + gams_name="soft_activity_up", + indexsets=["node", "technology", "year", "time"], + column_names=["node_loc", "technology", "year_act", "time"], + is_tec=True, + ), + ParameterInfo( + name="initial_activity_lo", + gams_name="initial_activity_lo", + indexsets=["node", "technology", "year", "time"], + column_names=["node_loc", "technology", "year_act", "time"], + is_tec=True, + ), + ParameterInfo( + name="growth_activity_lo", + gams_name="growth_activity_lo", + indexsets=["node", "technology", "year", "time"], + column_names=["node_loc", "technology", "year_act", "time"], + is_tec=True, + ), + ParameterInfo( + name="soft_activity_lo", + gams_name="soft_activity_lo", + indexsets=["node", "technology", "year", "time"], + column_names=["node_loc", "technology", "year_act", "time"], + is_tec=True, + ), + # emission intensity factor + ParameterInfo( + name="emission_factor", + gams_name="emission_factor", + indexsets=["node", "technology", "year", "year", "mode", "emission"], + column_names=[ + "node_loc", + "technology", + "year_vtg", + "year_act", + "mode", + "emission", + ], + is_tec=True, + ), + # construction time + ParameterInfo( + name="construction_time", + gams_name="ctime", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + is_tec=True, + section="systems:", + toLDB=True, + noMode=True, + ), + # power relations, initial cores, final cores + # NOTE all of these are deactivated for unknown reasons + # ParameterInfo( + # name="power_relation", + # gams_name="prel", + # indexsets=["node", "technology", "year", "mode", "time"], + # column_names=["node_loc", "technology", "year_act", "mode", "time"], + # is_tec=True, + # section="systems:", + # toLDB=True, + # mode=True, + # ), + # # NOTE the setup for this is partly missing from ixmp_source + # ParameterInfo( + # name="initial_cores", + # gams_name="corein", + # is_tec=True, + # section="systems:", + # toLDB=True, + # noMode=True, + # ), + # # NOTE the setup for this is partly missing from ixmp_source + # ParameterInfo( + # name="final_cores", + # gams_name="coreout", + # is_tec=True, + # section="systems:", + # toLDB=True, + # noMode=True, + # ), + # constraints on activity, including the lag (a + ParameterInfo( + name="con1a", + gams_name="con1a", + indexsets=["node", "technology", "year", "mode", "*"], + column_names=["node", "technology", "year", "mode", "relation"], + write_to_gdx=False, + section="systems:", + toLDB=True, + ), + ParameterInfo( + name="con2a", + gams_name="con2a", + indexsets=["node", "technology", "year", "mode", "*"], + column_names=["node", "technology", "year", "mode", "relation"], + write_to_gdx=False, + section="systems:", + toLDB=True, + ), + # # NOTE deactivated for unknown reasons + # # NOTE the setup for this is partly missing from ixmp_source + # ParameterInfo( + # name="conca", gams_name="conca", is_tec=True, section="systems:", toLDB=True, noMode=True # noqa: E501 + # ), + # note that the investment-related con1c entries are already collected individually + # (using mappings) + ParameterInfo( + name="con1c", + gams_name="con1c", + indexsets=["node", "technology", "year", "*"], + column_names=["node", "technology", "year", "relation"], + write_to_gdx=False, + section="systems:", + toLDB=True, + noMode=True, + ), + ParameterInfo( + name="con2c", + gams_name="con2c", + indexsets=["node", "technology", "year", "*"], + column_names=["node", "technology", "year", "relation"], + write_to_gdx=False, + section="systems:", + toLDB=True, + noMode=True, + ), + # pseudotechnology (what is called variables in Message) + # NOTE from ixmp_source: TODO: only included for legacy reasons of MESSAGE V - + # marked for deletion + ParameterInfo( + name="cost_pseudotec", + gams_name="cost", + indexsets=["node", "pseudotechnology", "year"], + write_to_gdx=False, + section="variables:", + toLDB=True, + noMode=True, + ), + # upper, lower + # TODO (@danielhuppmann, 26/11/2015): integrate this with activity bounds in systems + # NOTE from ixmp_source: TODO: only included for legacy reasons of MESSAGE V - + # marked for deletion + ParameterInfo( + name="upper_bound", + gams_name="upper_bound", + indexsets=["node", "pseudotechnology", "year"], + write_to_gdx=False, + section="variables:", + toLDB=True, + noMode=True, + ), + ParameterInfo( + name="lower_bound", + gams_name="lower_bound", + indexsets=["node", "pseudotechnology", "year"], + write_to_gdx=False, + section="variables:", + toLDB=True, + noMode=True, + ), + # constraints on activity + # TODO (@danielhuppmann, 26/11/2015): integrate this with con1a/con2a in systems + ParameterInfo( + name="con1a_pseudotec", + gams_name="con1a", + indexsets=["node", "pseudotechnology", "year", "*"], + column_names=["node", "pseudotechnology", "year", "relation"], + write_to_gdx=False, + section="variables:", + toLDB=True, + noMode=True, + ), + ParameterInfo( + name="con2a_pseudotec", + gams_name="con2a", + indexsets=["node", "pseudotechnology", "year", "*"], + column_names=["node", "pseudotechnology", "year", "relation"], + write_to_gdx=False, + section="variables:", + toLDB=True, + noMode=True, + ), + # renewables representation + ParameterInfo( + name="renewable_potential", + gams_name="renewable_potential", + indexsets=["node", "commodity", "grade", "level", "year"], + ), + ParameterInfo( + name="renewable_capacity_factor", + gams_name="renewable_capacity_factor", + indexsets=["node", "commodity", "grade", "level", "year"], + ), + ParameterInfo( + name="reliability_factor", + gams_name="reliability_factor", + indexsets=[ + "node", + "technology", + "year", + "commodity", + "level", + "time", + "rating", + ], + column_names=[ + "node", + "technology", + "year_act", + "commodity", + "level", + "time", + "rating", + ], + is_tec=True, + ), + ParameterInfo( + name="peak_load_factor", + gams_name="peak_load_factor", + indexsets=["node", "commodity", "level", "year", "time"], + ), + ParameterInfo( + name="flexibility_factor", + gams_name="flexibility_factor", + indexsets=[ + "node", + "technology", + "year", + "year", + "node", + "commodity", + "level", + "time", + "rating", + ], + column_names=[ + "node_loc", + "technology", + "year_vtg", + "year_act", + "node", + "commodity", + "level", + "time", + "rating", + ], + ), + ParameterInfo( + name="rating_bin", + gams_name="rating_bin", + indexsets=[ + "node", + "technology", + "year", + "commodity", + "level", + "time", + "rating", + ], + column_names=[ + "node", + "technology", + "year_act", + "commodity", + "level", + "time", + "rating", + ], + is_tec=True, + ), + # relations (relations1, relations2, relationsc) + # right-hand side + ParameterInfo( + name="righthandside", + gams_name="rhs", + indexsets=["node", "*", "year", "*"], + column_names=["node", "relation_name", "year", "dir"], + write_to_gdx=False, + section="relationsX:", + toLDB=True, + noMode=True, + noPar=True, + noTs2C=True, + ), + # right-hand side (if both upper and lower bounds exists) + ParameterInfo( + name="range", + gams_name="rng", + indexsets=["node", "*", "year"], + column_names=["node", "relation_name", "year"], + write_to_gdx=False, + section="relationsX:", + toLDB=True, + noMode=True, + noPar=True, + noTs2C=True, + ), + # initial value + # NOTE deactivated for unknown reasons + # ParameterInfo( + # name="initial_value", + # gams_name="initval", + # indexsets=["node", "*", "year"], + # column_names=["node", "relation_name", "year"], + # section="relationsX:", + # noMode=True, + # ), + # availability (plant load factor) - it is not clear whether we really need this at + # all + # NOTE deactivated for unknown reasons + # ParameterInfo( + # name="availability", + # gams_name="plf", + # indexsets=["node", "*", "year"], + # column_names=["node", "relation_name", "year"], + # section="relationsX:", + # noMode=True, + # ), + # cost of relations + # NOTE same gams_name as one above, maybe unique iif combined with section? + ParameterInfo( + name="cost", + gams_name="cost", + indexsets=["node", "*", "year"], + column_names=["node", "relation_name", "year"], + write_to_gdx=False, + section="relationsX:", + toLDB=True, + noMode=True, + ), + # taxes and subsidies + ParameterInfo( + name="tax", + gams_name="tax", + indexsets=["node", "type_tec", "year"], + column_names=["node_loc", "type_tec", "year_act"], + ), + ParameterInfo( + name="subsidy", + gams_name="subsidy", + indexsets=["node", "type_tec", "year"], + column_names=["node_loc", "type_tec", "year_act"], + ), + # emission + ParameterInfo( + name="historical_emission", + gams_name="historical_emission", + indexsets=["node", "type_emission", "type_tec", "type_year"], + ), + ParameterInfo( + name="emission_scaling", + gams_name="emission_scaling", + indexsets=["type_emission", "emission"], + ), + ParameterInfo( + name="bound_emission", + gams_name="bound_emission", + indexsets=["node", "type_emission", "type_tec", "type_year"], + ), + ParameterInfo( + name="tax_emission", + gams_name="tax_emission", + indexsets=["node", "type_emission", "type_tec", "type_year"], + ), + # land-use emulator + ParameterInfo( + name="land_cost", + gams_name="land_cost", + indexsets=["node", "land_scenario", "year"], + ), + ParameterInfo( + name="land_input", + gams_name="land_input", + indexsets=["node", "land_scenario", "year", "commodity", "level", "time"], + ), + ParameterInfo( + name="land_output", + gams_name="land_output", + indexsets=["node", "land_scenario", "year", "commodity", "level", "time"], + ), + ParameterInfo( + name="land_use", + gams_name="land_use", + indexsets=["node", "land_scenario", "year", "land_type"], + ), + ParameterInfo( + name="land_emission", + gams_name="land_emission", + indexsets=["node", "land_scenario", "year", "emission"], + ), + ParameterInfo( + name="initial_land_scen_up", + gams_name="initial_land_scen_up", + indexsets=["node", "land_scenario", "year"], + ), + ParameterInfo( + name="growth_land_scen_up", + gams_name="growth_land_scen_up", + indexsets=["node", "land_scenario", "year"], + ), + ParameterInfo( + name="initial_land_scen_lo", + gams_name="initial_land_scen_lo", + indexsets=["node", "land_scenario", "year"], + ), + ParameterInfo( + name="growth_land_scen_lo", + gams_name="growth_land_scen_lo", + indexsets=["node", "land_scenario", "year"], + ), + ParameterInfo( + name="initial_land_up", + gams_name="initial_land_up", + indexsets=["node", "year", "land_type"], + ), + ParameterInfo( + name="initial_land_lo", + gams_name="initial_land_lo", + indexsets=["node", "year", "land_type"], + ), + ParameterInfo( + name="growth_land_up", + gams_name="growth_land_up", + indexsets=["node", "year", "land_type"], + ), + ParameterInfo( + name="growth_land_lo", + gams_name="growth_land_lo", + indexsets=["node", "year", "land_type"], + ), + ParameterInfo( + name="dynamic_land_up", + gams_name="dynamic_land_up", + indexsets=["node", "land_scenario", "year", "land_type"], + ), + ParameterInfo( + name="dynamic_land_lo", + gams_name="dynamic_land_lo", + indexsets=["node", "land_scenario", "year", "land_type"], + ), + # generic relations (included as legacy from MESSAGE V) + ParameterInfo( + name="relation_upper", + gams_name="relation_upper", + indexsets=["relation", "node", "year"], + column_names=["relation", "node_rel", "year_rel"], + ), + ParameterInfo( + name="relation_lower", + gams_name="relation_lower", + indexsets=["relation", "node", "year"], + column_names=["relation", "node_rel", "year_rel"], + ), + ParameterInfo( + name="relation_cost", + gams_name="relation_cost", + indexsets=["relation", "node", "year"], + column_names=["relation", "node_rel", "year_rel"], + ), + ParameterInfo( + name="relation_new_capacity", + gams_name="relation_new_capacity", + indexsets=["relation", "node", "year", "technology"], + column_names=["relation", "node_rel", "year_rel", "technology"], + is_tec=True, + ), + ParameterInfo( + name="relation_total_capacity", + gams_name="relation_total_capacity", + indexsets=["relation", "node", "year", "technology"], + column_names=["relation", "node_rel", "year_rel", "technology"], + is_tec=True, + ), + ParameterInfo( + name="relation_activity", + gams_name="relation_activity", + indexsets=[ + "relation", + "node", + "year", + "node", + "technology", + "year", + "mode", + ], + column_names=[ + "relation", + "node_rel", + "year_rel", + "node_loc", + "technology", + "year_act", + "mode", + ], + is_tec=True, + ), + # auxiliary parameters + ParameterInfo( + name="duration_period", gams_name="duration_period", indexsets=["year"] + ), + ParameterInfo(name="duration_time", gams_name="duration_time", indexsets=["time"]), + ParameterInfo(name="interestrate", gams_name="interestrate", indexsets=["year"]), + # historical and reference values + # new capacity installed before the start of the model horizon + ParameterInfo( + name="historical_extraction", + gams_name="historical_extraction", + indexsets=["node", "commodity", "grade", "year"], + ), + ParameterInfo( + name="historical_new_capacity", + gams_name="historical_new_capacity", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + ), + ParameterInfo( + name="historical_activity", + gams_name="historical_activity", + indexsets=["node", "technology", "year", "mode", "time"], + column_names=["node_loc", "technology", "year_act", "mode", "time"], + ), + ParameterInfo( + name="historical_land", + gams_name="historical_land", + indexsets=["node", "land_scenario", "year"], + ), + # reference extraction, investment, activity and relation level + ParameterInfo( + name="ref_extraction", + gams_name="ref_extraction", + indexsets=["node", "commodity", "grade", "year"], + ), + ParameterInfo( + name="ref_new_capacity", + gams_name="ref_new_capacity", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + ), + ParameterInfo( + name="ref_activity", + gams_name="ref_activity", + indexsets=["node", "technology", "year", "mode", "time"], + column_names=["node_loc", "technology", "year_act", "mode", "time"], + ), + ParameterInfo( + name="ref_relation", + gams_name="ref_relation", + indexsets=["relation", "node", "year"], + column_names=["relation", "node_rel", "year_rel"], + ), + # fixed decision variable values (for 'slicing', i.e., fixing of decision variables) + ParameterInfo( + name="fixed_extraction", + gams_name="fixed_extraction", + indexsets=["node", "commodity", "grade", "year"], + ), + ParameterInfo( + name="fixed_stock", + gams_name="fixed_stock", + indexsets=["node", "commodity", "level", "year"], + ), + ParameterInfo( + name="fixed_new_capacity", + gams_name="fixed_new_capacity", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + ), + ParameterInfo( + name="fixed_capacity", + gams_name="fixed_capacity", + indexsets=["node", "technology", "year", "year"], + column_names=["node_loc", "technology", "year_vtg", "year_act"], + ), + ParameterInfo( + name="fixed_activity", + gams_name="fixed_activity", + indexsets=["node", "technology", "year", "year", "mode", "time"], + column_names=["node_loc", "technology", "year_vtg", "year_act", "mode", "time"], + ), + ParameterInfo( + name="fixed_land", + gams_name="fixed_land", + indexsets=["node", "land_scenario", "year"], + ), + # parameters for MACRO + ParameterInfo( + name="historical_gdp", gams_name="historical_gdp", indexsets=["node", "year"] + ), + # parameters for share constraints + ParameterInfo( + name="share_commodity_up", + gams_name="share_commodity_up", + indexsets=["shares", "node", "year", "time"], + column_names=["shares", "node_share", "year_act", "time"], + ), + ParameterInfo( + name="share_commodity_lo", + gams_name="share_commodity_lo", + indexsets=["shares", "node", "year", "time"], + column_names=["shares", "node_share", "year_act", "time"], + ), + ParameterInfo( + name="share_mode_up", + gams_name="share_mode_up", + indexsets=["shares", "node", "technology", "mode", "year", "time"], + column_names=["shares", "node_share", "technology", "mode", "year_act", "time"], + ), + ParameterInfo( + name="share_mode_lo", + gams_name="share_mode_lo", + indexsets=["shares", "node", "technology", "mode", "year", "time"], + column_names=["shares", "node_share", "technology", "mode", "year_act", "time"], + ), + # parameters for addon formulation + ParameterInfo( + name="addon_conversion", + gams_name="addon_conversion", + indexsets=["node", "technology", "year", "year", "mode", "time", "type_addon"], + column_names=[ + "node", + "technology", + "year_vtg", + "year_act", + "mode", + "time", + "type_addon", + ], + ), + ParameterInfo( + name="addon_up", + gams_name="addon_up", + indexsets=["node", "technology", "year", "mode", "time", "type_addon"], + column_names=["node", "technology", "year_act", "mode", "time", "type_addon"], + ), + ParameterInfo( + name="addon_lo", + gams_name="addon_lo", + indexsets=["node", "technology", "year", "mode", "time", "type_addon"], + column_names=[ + "node", + "technology", + "year_act", + "mode", + "time", + "type_addon", + ], + ), +] + +# List of required parameters +REQUIRED_PARAMETERS = [parameter for parameter in PARAMETERS if parameter.write_to_gdx] + + +@dataclass +class DefaultParameterData: + name: str + data: dict[str, Union[list[int], list[str]]] # based on current usage + + +DEFAULT_PARAMETER_DATA = [ + DefaultParameterData( + name="duration_time", data={"time": ["year"], "values": [1], "units": ["%"]} + ) +] + + +@dataclass +class VariableInfo: + name: str + gams_name: str + indexsets: Optional[list[str]] = None + column_names: Optional[list[str]] = None + + +# List of required variable names and indexsets they are linked to, including +# column_names if they differ +# NOTE this includes a key 'gams_name' because apparently the names in the gams code +# differ. Not yet sure how best to handle this, but we'll likely receive data under the +# names used as keys here and need to ensure it's written to the correct names in the +# gdx. +REQUIRED_VARIABLES = [ + VariableInfo(name="objective", gams_name="OBJ"), + VariableInfo( + name="extraction", + gams_name="EXT", + indexsets=["node", "commodity", "grade", "year"], + column_names=None, + ), + VariableInfo( + name="stock", + gams_name="STOCK", + indexsets=["node", "commodity", "level", "year"], + column_names=None, + ), + VariableInfo( + name="new capacity", + gams_name="CAP_NEW", + indexsets=["node", "technology", "year"], + column_names=["node_loc", "technology", "year_vtg"], + ), + VariableInfo( + name="maintained capacity", + gams_name="CAP", + indexsets=["node", "technology", "year", "year"], + column_names=["node_loc", "technology", "year_vtg", "year_act"], + ), + VariableInfo( + name="activity", + gams_name="ACT", + indexsets=["node", "technology", "year", "year", "mode", "time"], + column_names=["node_loc", "technology", "year_vtg", "year_act", "mode", "time"], + ), + VariableInfo( + name="emissions", + gams_name="EMISS", + indexsets=["node", "emission", "type_tec", "year"], + column_names=None, + ), + VariableInfo( + name="land scenario share", + gams_name="LAND", + indexsets=["node", "land_scenario", "year"], + column_names=None, + ), + VariableInfo( + name="relation (lhs)", + gams_name="REL", + indexsets=["relation", "node", "year"], + column_names=["relation", "node_rel", "year_rel"], + ), + # variables for MACRO (partly also used for MESSAGE reporting) + VariableInfo( + name="demand (at solution)", + gams_name="DEMAND", + indexsets=["node", "commodity", "level", "year", "time"], + column_names=None, + ), + VariableInfo( + name="commodity price (at solution)", + gams_name="PRICE_COMMODITY", + indexsets=["node", "commodity", "level", "year", "time"], + column_names=None, + ), + VariableInfo( + name="emission price", + gams_name="PRICE_EMISSION", + indexsets=["node", "type_emission", "type_tec", "year"], + column_names=None, + ), + VariableInfo( + name="cost by node and year", + gams_name="COST_NODAL", + indexsets=["node", "year"], + column_names=None, + ), + VariableInfo( + name="cost net of trade and emission costs", + gams_name="COST_NODAL_NET", + indexsets=["node", "year"], + column_names=None, + ), + VariableInfo( + name="gross domestic product (MACRO)", + gams_name="GDP", + indexsets=["node", "year"], + column_names=None, + ), + VariableInfo( + name="total investment (MACRO)", + gams_name="I", + indexsets=["node", "year"], + column_names=None, + ), + VariableInfo( + name="total consumption (MACRO)", + gams_name="C", + indexsets=["node", "year"], + column_names=None, + ), +] + + +# NOTE identical to VariableInfo +EquationInfo = VariableInfo + +# List of required equation names and indexsets they are linked to, including +# column_names if they differ +# NOTE this includes a key 'gams_name' because apparently the names in the gams code +# differ. Not yet sure how best to handle this, but we'll likely receive data under the +# names used as keys here and need to ensure it's written to the correct names in the +# gdx. +REQUIRED_EQUATIONS = [ + EquationInfo( + name="commodity balance", + gams_name="RESOURCE_HORIZON", + indexsets=["node", "commodity", "grade"], + ), + # NOTE The following two were uncommented in ixmp_source for an unknown reason + # in preparation of MESSAGEix release 1.2 + # EquationInfo( + # name="relation upper bound", + # gams_name="RELATION_CONSTRAINT_UP", + # indexsets=["relation", "node", "year"], + # column_names=["relation", "node_rel", "year_rel"], + # ), + # EquationInfo( + # name="relation_lower_bound", + # gams_name="RELATION_CONSTRAINT_LO", + # indexsets=["relation", "node", "year"], + # column_names=["relation", "node_rel", "year_rel"], + # ), +] + + +@dataclass +class HelperFilterInfo: + column_name: str + target_name: Literal["resource", "renewables", "stocks"] + target: Optional[list[str]] = None + + +@dataclass +class HelperIndexSetInfo: + name: str + sources: dict[str, Optional[list[str]]] + filters: Optional[HelperFilterInfo] = None + + +HELPER_INDEXSETS = [ + # auxiliary dynamic sets for technology categorization + # mapping for technologies with investment costs + HelperIndexSetInfo( + name="inv_tec", + sources={ + "inv_cost": ["technology"], + "bound_new_capacity_up": ["technology"], + "bound_new_capacity_lo": ["technology"], + "bound_total_capacity_up": ["technology"], + "bound_total_capacity_lo": ["technology"], + }, + ), + # check if the level is a "renewable" and add to auxiliary technology subset + HelperIndexSetInfo( + name="renewable_tec", + sources={"input": ["technology"]}, + filters=HelperFilterInfo(column_name="level", target_name="renewables"), + ), +] + + +@dataclass +class HelperTableInfo(HelperIndexSetInfo): + renames: Optional[dict[str, str]] = None + + +# NOTE on transcribing from ixmp_source: ixmp.Element.getVector() only returns keys, +# NOT values, units, levels, or marginals. Thus, sources with `None` values are lacking, +# in theory, but we handle these default exclusions in util/gams_io. + + +HELPER_TABLES = [ + # auxiliary mapping set of resources, stocks, commodities and technologies from + # implicit definition in parameters + # check if the level is a "resource" and add all grades through a dedicated function + # in util/gams_io + HelperTableInfo( + name="map_resource", + # NOTE we do filter specific columns in the dedicated function due to complexity + sources={"input": None}, + # TODO Renaming this Literal to singular 'resource', should we test the others, + # too? + filters=HelperFilterInfo(column_name="level", target_name="resource"), + ), + HelperTableInfo( + name="map_commodity", + sources={ + "demand": None, + "input": ["node_origin", "commodity", "level", "year_act", "time_origin"], + "output": ["node_dest", "commodity", "level", "year_act", "time_dest"], + }, + renames={ + "node_origin": "node", + "node_dest": "node", + "time_origin": "time", + "time_dest": "time", + "year_act": "year", + }, + ), + # check if the level is a "stock" + HelperTableInfo( + name="map_stocks", + sources={ + "input": ["node_loc", "commodity", "level", "year_act"], + "output": ["node_loc", "commodity", "level", "year_act"], + }, + filters=HelperFilterInfo(column_name="level", target_name="stocks"), + ), + # auxiliary mapping set for technologies and relations + HelperTableInfo( + name="map_relation", + sources={ + "relation_new_capacity": ["relation", "node_rel", "year_rel"], + "relation_total_capacity": ["relation", "node_rel", "year_rel"], + "relation_activity": ["relation", "node_rel", "year_rel"], + }, + renames={"node_rel": "node", "year_rel": "year_all"}, + ), + # get the mapping set for all years where a technology can be in operation, i.e., + # year_actual + HelperTableInfo( + name="map_tec", + sources={ + "input": ["node_loc", "technology", "year_act"], + "output": ["node_loc", "technology", "year_act"], + "relation_new_capacity": ["node_rel", "technology", "year_rel"], + "relation_total_capacity": ["node_rel", "technology", "year_rel"], + "relation_activity": ["node_loc", "technology", "year_act"], + }, + renames={ + "node_loc": "node", + "node_rel": "node", + "year_act": "year", + "year_rel": "year", + }, + ), + HelperTableInfo( + name="map_tec_mode", + sources={ + "input": ["node_loc", "technology", "year_act", "mode"], + "output": ["node_loc", "technology", "year_act", "mode"], + "relation_activity": ["node_loc", "technology", "year_act", "mode"], + }, + ), + HelperTableInfo( + name="map_tec_time", + sources={ + "input": ["node_loc", "technology", "year_act", "time"], + "output": ["node_loc", "technology", "year_act", "time"], + # NOTE `relation_activity` doesn't have `time`, only `year_rel` and + # `year_act`. Currently, `time` = "year" is hardcoded in util/gams_io + "relation_activity": ["node_loc", "technology", "year_act"], + }, + ), + # auxiliary mapping set for land-use model emulator scenarios + HelperTableInfo( + name="map_land", + sources={ + "land_cost": None, + "land_input": ["node", "land_scenario", "year"], + "land_output": ["node", "land_scenario", "year"], + # this mapping needs to be included explicitly so that the LAND_CONSTRAINT + # is written correctly: + "fixed_land": None, + }, + renames={"year": "year_all"}, + ), + # we need auxiliary mapping sets to keep track of upper and lower constraints and + # bounds for activity and investment as well as for bounds on emissions and + # relations + # assign elements to flag (mapping) sets for upper and lower bounds + HelperTableInfo( + name="is_bound_extraction_up", sources={"bound_extraction_up": None} + ), + HelperTableInfo( + name="is_bound_new_capacity_up", sources={"bound_new_capacity_up": None} + ), + HelperTableInfo( + name="is_bound_new_capacity_lo", sources={"bound_new_capacity_lo": None} + ), + HelperTableInfo( + name="is_bound_total_capacity_up", sources={"bound_total_capacity_up": None} + ), + HelperTableInfo( + name="is_bound_total_capacity_lo", sources={"bound_total_capacity_lo": None} + ), + HelperTableInfo(name="is_bound_activity_up", sources={"bound_activity_up": None}), + # no need for a flag 'bound_activity_lo' because this defaults to 0 in MESSAGE + # flag for dynamic constraints + HelperTableInfo( + name="is_dynamic_new_capacity_up", + sources={"initial_new_capacity_up": None, "growth_new_capacity_up": None}, + ), + HelperTableInfo( + name="is_dynamic_new_capacity_lo", + sources={"initial_new_capacity_lo": None, "growth_new_capacity_lo": None}, + ), + HelperTableInfo( + name="is_dynamic_activity_up", + sources={"initial_activity_up": None, "growth_activity_up": None}, + ), + HelperTableInfo( + name="is_dynamic_activity_lo", + sources={"initial_activity_lo": None, "growth_activity_lo": None}, + ), + # flags for emission constraints + HelperTableInfo(name="is_bound_emission", sources={"bound_emission": None}), + # flags for land-use emulator constraints + HelperTableInfo( + name="is_dynamic_land_scen_up", + sources={"initial_land_scen_up": None, "growth_land_scen_up": None}, + ), + HelperTableInfo( + name="is_dynamic_land_scen_lo", + sources={"initial_land_scen_lo": None, "growth_land_scen_lo": None}, + ), + HelperTableInfo( + name="is_dynamic_land_up", + sources={ + "initial_land_up": None, + "dynamic_land_up": ["node", "year", "land_type"], + "growth_land_up": None, + }, + ), + HelperTableInfo( + name="is_dynamic_land_lo", + sources={ + "initial_land_lo": None, + "dynamic_land_lo": ["node", "year", "land_type"], + "growth_land_lo": None, + }, + ), + HelperTableInfo(name="is_relation_upper", sources={"relation_upper": None}), + HelperTableInfo(name="is_relation_lower", sources={"relation_lower": None}), + # auxiliary mapping sets for fixing decision variables + # flags for fixed decision variable values (for 'slicing', i.e., fixing of decision + # variables) + HelperTableInfo(name="is_fixed_extraction", sources={"fixed_extraction": None}), + HelperTableInfo(name="is_fixed_stock", sources={"fixed_stock": None}), + HelperTableInfo(name="is_fixed_new_capacity", sources={"fixed_new_capacity": None}), + HelperTableInfo(name="is_fixed_new_capacity", sources={"fixed_new_capacity": None}), + HelperTableInfo(name="is_fixed_capacity", sources={"fixed_capacity": None}), + HelperTableInfo(name="is_fixed_activity", sources={"fixed_activity": None}), + HelperTableInfo(name="is_fixed_land", sources={"fixed_land": None}), +] + +REQUIRED_UNITS = [ + "-", + "%", + "???", + "cases", + "kg", + "km", + "t", + "tC", + "tCO2", + "USD", + "y", + "G$", + "GW", + "GWa", + "MW", + "MWa", + "T$", + "kg/kWa", + "USD/GWa", + "USD/kg", + "USD/km", + "USD/kWa", + "USD/tC", + "USD/tCO2", +] diff --git a/message_ix/util/scenario_setup.py b/message_ix/util/scenario_setup.py new file mode 100644 index 000000000..393c61d6b --- /dev/null +++ b/message_ix/util/scenario_setup.py @@ -0,0 +1,439 @@ +import logging +from typing import TYPE_CHECKING, Any, Literal, TypeVar, Union, cast + +import pandas as pd + +if TYPE_CHECKING: + from ixmp4 import Run + from ixmp4.core import IndexSet, Parameter, Table + + from message_ix.core import Scenario + +from ixmp import Platform + +from message_ix.util.ixmp4 import on_ixmp4backend + +from .scenario_data import ( + DEFAULT_INDEXSET_DATA, + DEFAULT_PARAMETER_DATA, + DEFAULT_TABLE_DATA, +) + +log = logging.getLogger(__name__) + + +# NOTE This is currently not in use because we don't use scenario_data for this, but +# models.py. We may want to keep something like below's function should that change. +# TODO If this is writing every single addition to the DB, the following is slow. Could +# we tell sqlalchemy to only commit to the DB at the end of this function? +# def set_up_scenario(scenario: "Scenario") -> None: +# """Create all optimization items required by MESSAGEix in `scenario`. + +# (According to ixmp_source.) +# """ +# if not on_ixmp4backend(scenario): +# return +# +# # Get the Run associated with the Scenario +# run = cast("Run", scenario.platform._backend.index[scenario]) + +# # Add all required IndexSets +# for indexset_name in REQUIRED_INDEXSETS: +# run.optimization.indexsets.create(name=indexset_name) + +# # Add all required Tables +# for table_info in REQUIRED_TABLES: +# run.optimization.tables.create( +# name=table_info.name, +# constrained_to_indexsets=table_info.indexsets, +# column_names=table_info.column_names, +# ) + +# # Add all required Parameters +# for parameter_info in REQUIRED_PARAMETERS: +# run.optimization.parameters.create( +# name=parameter_info.name, +# constrained_to_indexsets=parameter_info.indexsets, +# column_names=parameter_info.column_names, +# ) + +# # Add all required Variables +# for variable_info in REQUIRED_VARIABLES: +# run.optimization.variables.create( +# name=variable_info.name, +# constrained_to_indexsets=variable_info.indexsets, +# column_names=variable_info.column_names, +# ) + +# # Add all required Equations +# for equation_info in REQUIRED_EQUATIONS: +# run.optimization.equations.create( +# name=equation_info.name, +# constrained_to_indexsets=equation_info.indexsets, +# column_names=equation_info.column_names, +# ) + + +def add_default_data(scenario: "Scenario") -> None: + """Add default data expected in a MESSAGEix Scenario.""" + if not on_ixmp4backend(scenario): + return + + # Get the Run associated with the Scenario + run = cast("Run", scenario.platform._backend.index[scenario]) + + # Add IndexSet data + for indexset_data_info in DEFAULT_INDEXSET_DATA: + indexset = run.optimization.indexsets.get(name=indexset_data_info.name) + + # Only add default data if they are missing + # NOTE this works because all DEFAULT_INDEXSET_DATA items have str-type data + if missing := [ + item for item in indexset_data_info.data if item not in indexset.data + ]: + indexset.add(data=list(missing)) + + # Add Table data + for table_data_info in DEFAULT_TABLE_DATA: + table = run.optimization.tables.get(name=table_data_info.name) + + # Only add default data if they are missing + # NOTE this works because all DEFAULT_TABLE_DATA items have just one row + if not pd.DataFrame(table_data_info.data).isin(table.data).all(axis=None): + table.add(data=table_data_info.data) + + # Add Parameter data + for parameter_data_info in DEFAULT_PARAMETER_DATA: + parameter_df = pd.DataFrame(parameter_data_info.data) + + # NOTE parameter_data_info.data *must* contain a 'unit' column + check_existence_of_units(platform=scenario.platform, data=parameter_df) + + parameter = run.optimization.parameters.get(name=parameter_data_info.name) + + # Only add default data if they are missing + # NOTE this works because all DEFAULT_PARAMETER_DATA items have just one row + if not parameter_df.isin(parameter.data).all(axis=None): + parameter.add(data=parameter_data_info.data) + + +# TODO Should this really be a ValueError? +def ensure_required_indexsets_have_data(scenario: "Scenario") -> None: + """Ensure that required IndexSets contain *some* data. + + The checked IndexSets are: ("node", "technology", "year", "time"). + + Raises + ------ + ValueError + If the required IndexSets are empty. + """ + if not on_ixmp4backend(scenario): + return + + indexsets_to_check = ("node", "technology", "year", "time") + + # Get the Run associated with the Scenario + run = cast("Run", scenario.platform._backend.index[scenario]) + + # Raise an error if any of the checked IndexSets are empty + for name in indexsets_to_check: + indexset = run.optimization.indexsets.get(name=name) + # NOTE this is prone to failure should ixmp4 make indexset.data optional + if indexset.data == []: + raise ValueError(f"The required IndexSet {name} is empty!") + + +def _maybe_add_to_table( + table: "Table", data: Union[dict[str, Any], pd.DataFrame] +) -> None: + """Add (parts of) `data` to `table` if they are missing.""" + # NOTE This function doesn't handle empty data as internally, this won't happen + + # Convert to DataFrame for subsequent logic + if isinstance(data, dict): + data = pd.DataFrame(data) + + # Keep only rows that don't already exist + new_data = data[~data.isin(table.data).all(axis=1)] + + # Add new rows to table data + table.add(data=new_data) + + +def compose_dimension_map( + scenario: "Scenario", dimension: Literal["node", "time"] +) -> None: + """Add data to dimension maps. + + This covers `assignDisaggregationMaps()` from ixmp_source. + + Parameters + ---------- + scenario: Scenario + The Scenario object holding the data. + dimension: 'node' or 'time' + Whether to handle the spatial or temporal dimension. + """ + if not on_ixmp4backend(scenario): + return + + # Get the Run associated with the Scenario + run = cast("Run", scenario.platform._backend.index[scenario]) + + # Handle both spatial and temporal dimensions + name_part = "spatial" if dimension == "node" else "temporal" + + # Load Tables + hierarchy_map = pd.DataFrame( + run.optimization.tables.get(name=f"map_{name_part}_hierarchy").data + ) + # TODO do we want to call this function when 'hierarchy_map' is empty? If not, + # remove this: + if hierarchy_map.empty: + return + + map_parameter = run.optimization.tables.get(name=f"map_{dimension}") + + # Create auxiliary variables + dimension_items = set(hierarchy_map[f"{dimension}"].to_list()) | set( + hierarchy_map[f"{dimension}_parent"].to_list() + ) + self_map = pd.DataFrame( + [(dim, dim) for dim in dimension_items], + columns=[f"{dimension}", f"{dimension}_parent"], + ) + + # Create original map with self-maps and direct descendants + data = hierarchy_map.drop(columns=f"lvl_{name_part}").merge(self_map, how="outer") + + # Group for recursion + grouped = data.groupby(f"{dimension}_parent", sort=False) + + T = TypeVar("T", int, str) + + def _find_all_descendants(parent: T) -> list[T]: + """Find all descendants of parent dimension by recursion.""" + _descendants: list[T] = [] + base = grouped.get_group(parent) + if len(base) == 1: + pass + else: + for _dim in base[base[f"{dimension}"] != base[f"{dimension}_parent"]][ + f"{dimension}" + ]: + _descendants.append(_dim) + _descendants.extend(_find_all_descendants(parent=_dim)) + return _descendants + + # Prepare descendant data + descendant_data: dict[str, list[str] | list[int]] = { + f"{dimension}": [], + f"{dimension}_parent": [], + } + + # Iterate over parents to find all descendants + for dim in dimension_items: + descendants = _find_all_descendants(parent=dim) + if number := len(descendants): + descendant_data[f"{dimension}"].extend(descendants) + descendant_data[f"{dimension}_parent"].extend([dim] * number) + + # Merge descendant data to original map + new_map_df = data.merge(pd.DataFrame(descendant_data), how="outer") + + # Add new rows to map_{dimension} data + _maybe_add_to_table(table=map_parameter, data=new_map_df) + + +def _maybe_add_single_item_to_indexset( + indexset: "IndexSet", data: Union[float, int, str] +) -> None: + """Add `data` to `indexset` if it is missing.""" + if data not in list(indexset.data): + indexset.add(data=data) + + +def _maybe_add_list_to_indexset( + indexset: "IndexSet", data: Union[list[float], list[int], list[str]] +) -> None: + """Add missing parts of `data` to `indexset`.""" + # NOTE missing will always only have one type, but how to tell mypy? + # NOTE mypy recognizes missing as set[float | str]. If int indexsets mysteriously + # turn to float indexsets, look here + if missing := set(data) - set(indexset.data): + indexset.add(list(missing)) # type: ignore[arg-type] + + +def _maybe_add_to_indexset( + indexset: "IndexSet", + data: Union[float, int, str, list[float], list[int], list[str]], +) -> None: + """Add (parts of) `data` to `indexset` if they are missing.""" + # NOTE This function doesn't handle empty data as internally, this won't happen + if not isinstance(data, list): + _maybe_add_single_item_to_indexset(indexset=indexset, data=data) + else: + _maybe_add_list_to_indexset(indexset=indexset, data=data) + + +# NOTE this could be combined with `_maybe_add_to_table()`, but that function would be +# slower than necessary (though likely not by much). Is the maintenance effort worth it? +def _maybe_add_to_parameter( + parameter: "Parameter", data: Union[dict[str, Any], pd.DataFrame] +) -> None: + """Add (parts of) `data` to `parameter` if they are missing.""" + # NOTE This function doesn't handle empty data as internally, this won't happen + + # Convert to DataFrame for subsequent logic + if isinstance(data, dict): + data = pd.DataFrame(data) + + # Only compare entries of specific columns (not of `values` and `units`) + columns = parameter.column_names or parameter.indexset_names + + # Keep only rows that don't already exist + new_data = ( + data[~data[columns].isin(pd.DataFrame(parameter.data)[columns]).all(axis=1)] + if bool(parameter.data) + else data + ) + + # Add new rows to table data + parameter.add(data=new_data) + + +def compose_maps(scenario: "Scenario") -> None: + """Compose maps. + + - Call :func:`compose_dimension_map` for: + + - :py:`dimension="node"` + - :py:`dimension="time"` + + - Call :func:`compose_period_map`. + """ + # Compose some auxiliary tables + for dimension in ("node", "time"): + compose_dimension_map(scenario=scenario, dimension=dimension) + + compose_period_map(scenario=scenario) + + +def compose_period_map(scenario: "Scenario") -> None: + """Add data to the 'duration_period' Parameter in `scenario`. + + This covers `assignPeriodMaps()` from ixmp_source. + """ + if not on_ixmp4backend(scenario): + return + + # Get the Run associated with the Scenario + run = cast("Run", scenario.platform._backend.index[scenario]) + + # TODO Included here in ixmp_source; this should likely move to add_default_data + # Add one default item to 'type_year' + type_year = run.optimization.indexsets.get(name="type_year") + _maybe_add_to_indexset(indexset=type_year, data="cumulative") + + cat_year = run.optimization.tables.get(name="cat_year") + cat_year_df = pd.DataFrame(cat_year.data) + + # Get the first model year for determination of the model horizon below + first_model_year = None + if not cat_year_df.empty: + first_model_year_df = cat_year_df[cat_year_df["type_year"] == "firstmodelyear"] + assert len(first_model_year_df) <= 1, ( + "A MESSAGEix Scenario can't have multiple first years!" + ) + first_model_year = ( + int(first_model_year_df["year"][0]) + if not first_model_year_df.empty + else None + ) + + # Load 'year' data. NOTE that this is somehow converted to str going through ixmp, + # but we need int for the calculations here, then str to add the data back. + year = run.optimization.indexsets.get(name="year") + years = [int(_year) for _year in year.data] + + # TODO do we want to call this function when 'year' is empty? If not remove this: + if years == []: + return + + # Ensure that years are sorted + sorted_years = sorted(years) + if years != sorted_years: + year.remove(data=years) + year.add(data=sorted_years) + + # Store years within the model horizon + for y in sorted_years: + if first_model_year is None or first_model_year <= y: + y_str = str(y) + _maybe_add_to_indexset(indexset=type_year, data=y_str) + _maybe_add_to_table( + table=cat_year, + data={"type_year": ["cumulative", y_str], "year": [y_str, y_str]}, + ) + + # Initialize duration_period with this data + duration_period = run.optimization.parameters.get(name="duration_period") + durations = [ + sorted_years[i] - sorted_years[i - 1] for i in range(len(sorted_years)) + ] + + # Correct very first duration: Assume it's equal to second period or 1 if there is + # no second period + durations[0] = durations[1] if len(sorted_years) > 1 else 1 + + # Add data to `duration_period` + _maybe_add_to_parameter( + parameter=duration_period, + data={ + "year": [str(y) for y in sorted_years], + "values": durations, + "units": ["y"] * len(sorted_years), + }, + ) + + +def check_existence_of_units(platform: Platform, data: pd.DataFrame) -> None: + """Check if all units requested for use in `data` exist on the `platform`. + + Create them if they don't exist, but warn that this will be disabled in the future. + + Parameters + ---------- + platform : ixmp.Platform + The platform to check. + data : pd.DataFrame + The data containing the requested units. + """ + # Handle singular and plural form; could there be others? + try: + unit_column = data["units"] + except KeyError: + unit_column = data["unit"] + + units = unit_column.astype(str).to_list() + existing_units = platform.units() + + # As long as this function is called after Scenario.__init__() sets + # '_units_to_warn_about' for this `platform`, this will always be true + assert platform._units_to_warn_about is not None + + for unit in units: + if unit in platform._units_to_warn_about and unit not in existing_units: + log.warning( + f"Unit '{unit}' does not exist on the Platform! Please adjust your " + "code to explicitly add all units to the Platform. This will be " + f"required in the future, but '{unit}' will be added automatically for " + "now." + ) + + # Add the unit to retain backward compatibility + platform.add_unit(unit=unit) + + # Ensure each unit is only warned about once + platform._units_to_warn_about.remove(unit) diff --git a/pyproject.toml b/pyproject.toml index be35093dd..375453b5e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,7 +59,7 @@ tutorial = ["jupyter", "matplotlib", "message_ix[report,sankey]"] report = ["ixmp[report]"] sankey = ["plotly"] tests = [ - # "ixmp[tests]", # TODO Uncomment after iiasa/ixmp#568 + "ixmp[tests]", "message_ix[docs,tutorial]", "pint", "pooch", @@ -105,7 +105,17 @@ addopts = """ --cov=message_ix --cov-report= -m "not nightly and not rmessageix" -p no:faulthandler""" +# Parallel to .util.ixmp4.configure_logging_and_warnings(), prevent warnings +# from appearing in the test output +filterwarnings = [ + "ignore:Accessing the 'model_fields' :DeprecationWarning:ixmp4.db.filters", + # NB The following don't work if a message regex is added + "ignore::pandas.errors.SettingWithCopyWarning:ixmp4.data.db.base", + "ignore::DeprecationWarning:sqlalchemy.sql.schema", +] markers = [ + "ixmp4: tests exclusive to IXMP4Backend.", + "jdbc: tests exclusive to JDBCBackend.", "nightly: Slow-running nightly tests of particular scenarios.", "rmessageix: test of the message_ix R interface.", "tutorial: Tests of the tutorial Jupyter notebooks", diff --git a/tutorial/westeros/westeros_emissions_taxes.ipynb b/tutorial/westeros/westeros_emissions_taxes.ipynb index fa4257cb5..7b353364f 100644 --- a/tutorial/westeros/westeros_emissions_taxes.ipynb +++ b/tutorial/westeros/westeros_emissions_taxes.ipynb @@ -257,6 +257,15 @@ "scen_tax.commit(comment=\"setting taxes on emissions\")" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "scen_tax.set_as_default()" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/tutorial/westeros/westeros_report.ipynb b/tutorial/westeros/westeros_report.ipynb index 57ef40085..483abcc28 100644 --- a/tutorial/westeros/westeros_report.ipynb +++ b/tutorial/westeros/westeros_report.ipynb @@ -493,7 +493,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Over 13,000 nodes!\n", + "Over 16,000 nodes!\n", "\n", "Remember: `rep` simply *describes* these operations; none of them is executed until or unless you `get()` them.\n", "\n",