ExplainTS: A Benchmark Suite for Reproducible Time-Series XAI Research
Authors/Creators
Description
Collection of Time-Series Classification Datasets with Pretrained DL Models and Local Post-hoc Explainers (SHAP, LIME, Anchor & PHAR)
Precomputed bundle of post-hoc explanations and black-box models for time-series classification.
This dataset introduces ExplainTS, a comprehensive testbed containing 83 univariate and 20 multivariate time-series datasets from the UCR/UEA repository (source: TSC), each used for multiclass classification with a deep learning model. For each dataset, we provide:
- Precomputed train/test splits (75/25).
- A trained ConvLSTM-based TensorFlow model (SavedModel and .h5 formats).
- Post-hoc local explanations generated using four methods:
- Shapley Additive Explanations (SHAP),
- Local Interpretable Model-agnostic Explanations (LIME),
- Anchor,
- Post-hoc Attribution Rules [1] (PHAR).
Impact of the dataset
These datasets provide a ready-to-use, frozen benchmark layer for Explainable AI in time-series classification. Since models and explanation outputs are precomputed, researchers can immediately use them for evaluation, visualization, or developing new post-hoc XAI metrics without the massive computational overhead of retraining or re-explaining models.
- Comprehensive Coverage: 83 univariate and 20 multivariate UCR/UEA time-series, each with a standardized 75/25 train-test split in NumPy .pickle format.
- Pretrained Models: Ready-to-use ConvLSTM1D models for every dataset (requiring no custom dependencies), eliminating costly training and ensuring experimental consistency.
- Precomputed Explanations: Post-hoc outputs for training and test sets spanning attribution scores (DeepSHAP, LIME) and discrete rule sets (Anchor, PHAR) with confidence and coverage metadata.
- Living Resource: ExplainTS is designed as a community-driven resource; we actively invite researchers to contribute their locally computed explanation artifacts to future releases.
- Educational & Prototyping Value: Includes a ready-to-use Jupyter notebook demonstrating how to calculate XAI stability metrics and render publication-quality explanation plots directly over time-series signals.
The following visualizations, generated using the included educational notebook, demonstrate a practical XAI auditing use case on the ECG5000 dataset. We compare the explanations of a reference sample against its nearest neighbor to evaluate method stability.
- View SHAP attributions.
Link: https://raw.githubusercontent.com/mozo64/papers/main/zenodo-ucr/results/shap_stability_casestudy_ECG5000.png
- View Discrete PHAR interval rules applied to the same signals.
Link: https://raw.githubusercontent.com/mozo64/papers/main/zenodo-ucr/results/phar_casestudy_comparison_ECG5000.png
Companion Code & Notebooks
All resources are openly available under the CC-BY-4.0 license. The linked GitHub repository (https://github.com/mozo64/papers/tree/main/zenodo-ucr) provides a suite of Python scripts and Jupyter notebooks for reproducing and interacting with the benchmark:
ExplainTS_CaseStudy.ipynb— An educational case study for calculating XAI stability metrics and plotting explanations over time-series.UCR-train.ipynb— Pipeline for training the baseline ConvLSTM models.UCR-explainers-lime-shap.ipynb— Execution of DeepSHAP and LIME explainers.UCR-explainers-anchor.ipynb— Execution of the Anchor explainer with cascade retries.UCR-explainers-phar.ipynb— Execution of the PHAR rule extraction and hyperparameter optimization.datasets_summary.ipynb— Utility for extracting dataset statistics and model accuracies.
Repository content
train_test.zip— contains files of the form {uni|multi}_{series_name}_train_and_test.zip. Each includes: trainX.pickle, trainy.pickle, testX.pickle, testy.pickle. Format: `numpy.array`models.zip— trained models as directories in the form {uni|multi}_{series_name}_model. Each contains a TensorFlow SavedModel and .h5 file for loading flexibility.shap.zip— DeepSHAP values in {series_name}_shap_values.zip. Files: svtr.pickle (train), svts.pickle (test). Format: `numpy.array`lime.zip— LIME values in {series_name}_lime_values.zip. Files: lvtr.pickle (train), lvts.pickle (test). Format: `numpy.array`anchor.zip— Anchor rule records in {series_name}_anchor_values.zip. Files: avtr.pickle (train), avts.pickle (test). Format: `List[List[Dictionary]]`phar.zip— PHAR rules and hyperoptimization logs in {series_name}_phar_values.zip. Files: pvtr.pickle and pvts.pickle, plus phar_metadata.json and phar_trials_log.jsonl.
[1] Mozolewski, M., Bobek, S., & Nalepa, G. J. (2026). Explaining Time Series Classifiers with PHAR: Rule Extraction and Fusion from Post-hoc Attributions. arXiv preprint arXiv:2508.01687. https://arxiv.org/abs/2508.01687
Technical info (English)
Model Training
The time series classification model was trained using a deep neural architecture based on stacked ConvLSTM1D layers. Input data consisted of time series samples of shape ($T$, $F$), where $T$ denotes the number of timesteps and $F$ the number of features. The same model architecture was used for both univariate and multivariate inputs; in the univariate case, the number of features is $F = 1$. Prior to training, the data was normalized to zero mean and unit variance using StandardScaler.
To facilitate temporal feature learning, the input sequences were divided into smaller temporal blocks. Specifically, each sequence of length $T$ was segmented into n_steps parts, where n_steps corresponds to the third smallest integer divisor of $T$ above 2. The segment length was then computed as n_length = $T$ / n_steps, resulting in a reshaped input tensor of shape (n_steps, n_length, $F$). This restructuring enables the model to capture both local patterns within segments and long-range dependencies across segments.
The model architecture includes two ConvLSTM1D layers with 64 and 32 filters, respectively, each using a kernel size of 9 and ReLU activation. A dropout layer with a rate of 0.5 follows for regularization, and the output is flattened to create an intermediate embedding representation of length $N$. This is followed by two fully connected layers: one with 100 ReLU units and another with softmax activation for classification. Class imbalance was addressed using computed class weights during training. The model was trained using the Adam optimizer and categorical cross-entropy loss for 25 epochs with a batch size of 64.
The generic architecture of the models across all datasets is presented below. The exact number of trainable parameters depends on the dataset-specific input shapes ($T$, $F$, and $C$ classes).
Layer (type) Output Shape
=============================================================
reshape (Reshape) (None, n_steps, n_length, F)
conv_lstm1d (ConvLSTM1D) (None, n_steps, n_length, 64)
conv_lstm1d_1 (ConvLSTM1D) (None, n_steps, n_length, 32)
dropout (Dropout) (None, n_steps, n_length, 32)
embedding (Flatten) (None, N)
dense (Dense) (None, 100)
dense_1 (Dense) (None, C)
=============================================================
The dataset was split into training and testing sets using a predefined stratified partitioning strategy: 75% of the samples were used for model training, while the remaining 25% were held out for evaluation, preserving the class distribution across both sets. Labels were one-hot encoded to support the categorical cross-entropy loss.
Post-hoc Local Explanations
The explanations were computed for both training and test subsets. All indices in the explanation files are aligned with the respective train/test instances.
Explanation coverage:
- Univariate: Anchor (31.33%), LIME (100.00%), SHAP (100.00%), PHAR (100.00%)
- Multivariate: Anchor (20.00%), LIME (95.00%), SHAP (100.00%), PHAR (100.00%)
Rule-based explanations:
Anchor:
Each explanation is a list of rule sets grouped per instance, e.g.:
[
[
{
'index': 0,
'success': True,
'prediction': '1',
'rule': {
'feature_1': ['>-0.74'],
'feature_4': ['<=0.73'],
'feature_11': ['>-0.74'],
'feature_42': ['<=0.73'],
'feature_110': ['>-0.74']
},
'confidence': 0.9565,
'coverage': 0.7197
}
]
]
Each entry corresponds to a sample index. The `rule` defines a conjunction of feature constraints satisfied by the sample. `confidence` measures the fraction of samples fulfilling the rule for which the model gives the same prediction, while `coverage` is the fraction of the train/test set satisfying the rule.
PHAR rules follow a similar pattern, here for multivariate series:
[
[
{
'index': 0,
'success': True,
'prediction': '2',
'rule': {
'var_0_ts_24': ['>-1.05', '<=0.45'],
'var_0_ts_25': ['>-0.98', '<=0.51'],
'var_0_ts_26': ['>-1.12', '<=0.33'],
'var_2_ts_142': ['>0.15', '<=1.89'],
'var_2_ts_143': ['>0.10', '<=1.95'],
'var_5_ts_210': ['>-0.55', '<=-0.42'],
...
},
'confidence': 0.9812,
'coverage': 0.8450
}
]
]
In addition to the extracted rules, the PHAR archive includes two metadata files generated during its two-stage hyperparameter optimization (HPO) process via the Optuna framework:
- phar_metadata.json: Captures the single optimal configuration applied globally to extract the final rules. It details the winning parameters (such as the base explainer, threshold percentile, and perturb sigma) and provides aggregated statistics for confidence, coverage, and sparsity.
- phar_trials_log.jsonl: A JSON Lines file recording the complete history of all multi-objective Pareto-front optimization trials. Each line details a single trial's tested configuration, execution time, evaluated metrics, and the intermediate rules generated for the evaluation pool.
Attribution-based explanations:
SHAP and LIME:
Unlike the discrete rule records, SHAP and LIME provide continuous feature attributions. The explanations are stored as serialized NumPy arrays (.pickle files) containing float values.
Format: numpy.array of shape (M, C, T, F)
Where:
- M is the number of observations (instances) in the respective train or test split.
- C is the number of target classes.
- T is the length of the time series (number of timesteps).
- F is the dimensionality (number of features or channels; F=1 for univariate series).
Each numerical value in this 4D array represents the local attribution score (importance weight) for a specific class, timestep, and channel of a given instance. A positive weight indicates a feature that contributed towards the model's predicted probability for that specific class, while a negative weight indicates a feature that pushed the prediction away from it.
Accompanying GitHub repository
The complete open-source codebase used to construct the ExplainTS benchmark, train the underlying deep learning models, and compute the post-hoc explanations is publicly hosted on GitHub.
Repository link: https://github.com/mozo64/papers/tree/main/zenodo-ucr.
Code used for generation:
The repository is structured to ensure full reproducibility and is organized into the following key directories:
notebooks/
Contains the core Jupyter notebooks executing the entire pipeline:
- UCR-train.ipynb: Handles data loading, preprocessing, and training of the unified ConvLSTM-based classifiers.
- UCR-explainers-lime-shap.ipynb: Executes the extraction of continuous feature attributions using DeepSHAP and LIME.
- UCR-explainers-anchor.ipynb: Manages the Anchor explainer pipeline, including the multi-stage cascade retry mechanism for continuous signals.
- UCR-explainers-phar.ipynb: Runs the PHAR rule extraction, including the Optuna-based multi-objective Pareto-front hyperparameter optimization.
- datasets_summary.ipynb: Evaluates model accuracies and aggregates dataset statistics.
- ExplainTS_CaseStudy.ipynb: An educational template demonstrating how to load the precomputed artifacts, visualize them, and calculate XAI metrics (like the Jaccard Index).
services/
Contains helper Python utilities (model_manager.py, model_server.py) used to parallelize and distribute computationally heavy extraction jobs (specifically for Anchor) across GPUs.
scripts/
Includes bash shell utilities used to validate completeness and assemble the final Zenodo archives (e.g., compress_models.sh, compress_explainers.sh, filter_move.sh, and compress_all.sh).
List of all Time series
The following tables summarize the properties of the 20 multivariate and 83 univariate time-series datasets included in the ExplainTS benchmark. For each dataset, the tables report the number of instances in the standardized 75/25 train/test splits, sequence length, dimensionality, and the number of target classes.
Furthermore, they detail the test-set accuracy of the provided baseline ConvLSTM classifiers, along with the availability of precomputed local explanations across the four evaluated methods (LIME, DeepSHAP, Anchor, and PHAR). A "Yes" indicates that the respective explanations were successfully generated and are available in the repository archives for both the training and test sets.
Multivariate:
| Time Series | Train | Test | Len. | Dim. | Classes | Acc. (%) | LIME | SHAP | Anchor | PHAR |
| ArticularyWordRecognition | 431 | 144 | 144 | 9 | 25 | 97.22 | Yes | Yes | No | Yes |
| AtrialFibrillation | 22 | 8 | 640 | 2 | 3 | 50.00 | Yes | Yes | No | Yes |
| BasicMotions | 60 | 20 | 100 | 6 | 4 | 100.00 | Yes | Yes | No | Yes |
| Cricket | 135 | 45 | 1197 | 6 | 12 | 91.11 | Yes | Yes | No | Yes |
| Epilepsy | 206 | 69 | 206 | 3 | 4 | 91.30 | Yes | Yes | No | Yes |
| ERing | 225 | 75 | 65 | 4 | 6 | 96.00 | Yes | Yes | No | Yes |
| EthanolConcentration | 393 | 131 | 1751 | 3 | 4 | 32.82 | Yes | Yes | Yes | Yes |
| FaceDetection | 7060 | 2354 | 62 | 144 | 2 | 50.25 | No | Yes | Yes | WIP |
| FingerMovements | 312 | 104 | 50 | 28 | 2 | 56.73 | Yes | Yes | No | Yes |
| HandMovementDirection | 175 | 59 | 400 | 10 | 4 | 25.42 | Yes | Yes | No | Yes |
| Handwriting | 750 | 250 | 152 | 3 | 26 | 56.40 | Yes | Yes | No | Yes |
| Heartbeat | 306 | 103 | 405 | 61 | 2 | 72.82 | Yes | Yes | No | Yes |
| Libras | 270 | 90 | 45 | 2 | 15 | 65.56 | Yes | Yes | Yes | Yes |
| LSST | 3693 | 1232 | 36 | 6 | 14 | 22.40 | Yes | Yes | No | Yes |
| NATOPS | 270 | 90 | 51 | 24 | 6 | 86.67 | Yes | Yes | No | Yes |
| PenDigits | 8244 | 2748 | 8 | 2 | 10 | 98.62 | Yes | Yes | Yes | Yes |
| RacketSports | 227 | 76 | 30 | 6 | 4 | 80.26 | Yes | Yes | No | Yes |
| SelfRegulationSCP1 | 420 | 141 | 896 | 6 | 2 | 90.78 | Yes | Yes | No | Yes |
| SelfRegulationSCP2 | 285 | 95 | 1152 | 7 | 2 | 47.37 | Yes | Yes | No | Yes |
| UWaveGestureLibrary | 330 | 110 | 315 | 3 | 8 | 92.73 | Yes | Yes | No | Yes |
Univariate:
| Time Series | Train | Test | Len. | Dim. | Classes | Acc. (%) | LIME | SHAP | Anchor | PHAR |
| Adiac | 585 | 196 | 176 | 1 | 37 | 28.06 | Yes | Yes | No | Yes |
| Beef | 45 | 15 | 470 | 1 | 5 | 46.67 | Yes | Yes | No | Yes |
| BeetleFly | 30 | 10 | 512 | 1 | 2 | 80.00 | Yes | Yes | No | Yes |
| BirdChicken | 30 | 10 | 512 | 1 | 2 | 60.00 | Yes | Yes | No | Yes |
| BME | 135 | 45 | 128 | 1 | 3 | 91.11 | Yes | Yes | No | Yes |
| CBF | 697 | 233 | 128 | 1 | 3 | 100.00 | Yes | Yes | No | Yes |
| Chinatown | 272 | 91 | 24 | 1 | 2 | 98.90 | Yes | Yes | Yes | Yes |
| Coffee | 42 | 14 | 286 | 1 | 2 | 78.57 | Yes | Yes | No | Yes |
| Computers | 375 | 125 | 720 | 1 | 2 | 64.80 | Yes | Yes | No | Yes |
| CricketX | 585 | 195 | 300 | 1 | 12 | 64.62 | Yes | Yes | Yes | Yes |
| CricketY | 585 | 195 | 300 | 1 | 12 | 62.05 | Yes | Yes | No | Yes |
| CricketZ | 585 | 195 | 300 | 1 | 12 | 64.62 | Yes | Yes | No | Yes |
| Crop | 18000 | 6000 | 46 | 1 | 24 | 68.68 | Yes | Yes | No | Yes |
| DiatomSizeReduction | 241 | 81 | 345 | 1 | 4 | 96.30 | Yes | Yes | No | Yes |
| DistalPhalanxOutlineAgeGroup | 404 | 135 | 80 | 1 | 3 | 77.78 | Yes | Yes | Yes | Yes |
| DistalPhalanxOutlineCorrect | 657 | 219 | 80 | 1 | 2 | 77.17 | Yes | Yes | Yes | Yes |
| DistalPhalanxTW | 404 | 135 | 80 | 1 | 6 | 68.89 | Yes | Yes | No | Yes |
| DodgerLoopDay | 118 | 40 | 288 | 1 | 7 | 57.50 | Yes | Yes | Yes | Yes |
| DodgerLoopGame | 118 | 40 | 288 | 1 | 2 | 87.50 | Yes | Yes | Yes | Yes |
| DodgerLoopWeekend | 118 | 40 | 288 | 1 | 2 | 97.50 | Yes | Yes | No | Yes |
| Earthquakes | 345 | 116 | 512 | 1 | 2 | 69.83 | Yes | Yes | No | Yes |
| ECG200 | 150 | 50 | 96 | 1 | 2 | 86.00 | Yes | Yes | Yes | Yes |
| ECG5000 | 3750 | 1250 | 140 | 1 | 5 | 92.16 | Yes | Yes | Yes | Yes |
| ECGFiveDays | 663 | 221 | 136 | 1 | 2 | 99.55 | Yes | Yes | Yes | Yes |
| ElectricDevices | 12477 | 4160 | 96 | 1 | 7 | 84.69 | Yes | Yes | No | Yes |
| FaceFour | 84 | 28 | 350 | 1 | 4 | 92.86 | Yes | Yes | Yes | Yes |
| FiftyWords | 678 | 227 | 270 | 1 | 47 | 63.00 | Yes | Yes | No | Yes |
| FordA | 3690 | 1231 | 500 | 1 | 2 | 83.92 | Yes | Yes | No | Yes |
| FordB | 3334 | 1112 | 500 | 1 | 2 | 85.16 | Yes | Yes | No | Yes |
| FreezerRegularTrain | 2250 | 750 | 301 | 1 | 2 | 97.33 | Yes | Yes | No | Yes |
| FreezerSmallTrain | 2158 | 720 | 301 | 1 | 2 | 94.17 | Yes | Yes | No | Yes |
| Fungi | 153 | 51 | 201 | 1 | 18 | 3.92 | Yes | Yes | Yes | Yes |
| GunPoint | 150 | 50 | 150 | 1 | 2 | 84.00 | Yes | Yes | No | Yes |
| GunPointAgeSpan | 338 | 113 | 150 | 1 | 2 | 90.27 | Yes | Yes | Yes | Yes |
| GunPointMaleVersusFemale | 338 | 113 | 150 | 1 | 2 | 100.00 | Yes | Yes | No | Yes |
| GunPointOldVersusYoung | 338 | 113 | 150 | 1 | 2 | 100.00 | Yes | Yes | No | Yes |
| Herring | 96 | 32 | 512 | 1 | 2 | 56.25 | Yes | Yes | No | Yes |
| InsectWingbeatSound | 1650 | 550 | 256 | 1 | 11 | 65.64 | Yes | Yes | No | Yes |
| ItalyPowerDemand | 822 | 274 | 24 | 1 | 2 | 95.99 | Yes | Yes | No | Yes |
| LargeKitchenAppliances | 562 | 188 | 720 | 1 | 3 | 63.83 | Yes | Yes | No | Yes |
| Lightning2 | 90 | 31 | 637 | 1 | 2 | 54.84 | Yes | Yes | No | Yes |
| Lightning7 | 107 | 36 | 319 | 1 | 7 | 66.67 | Yes | Yes | No | Yes |
| Meat | 90 | 30 | 448 | 1 | 3 | 63.33 | Yes | Yes | No | Yes |
| MedicalImages | 855 | 286 | 99 | 1 | 9 | 65.03 | Yes | Yes | Yes | Yes |
| MiddlePhalanxOutlineAgeGroup | 415 | 139 | 80 | 1 | 3 | 78.42 | Yes | Yes | Yes | Yes |
| MiddlePhalanxOutlineCorrect | 668 | 223 | 80 | 1 | 2 | 70.40 | Yes | Yes | No | Yes |
| MiddlePhalanxTW | 414 | 139 | 80 | 1 | 6 | 64.75 | Yes | Yes | No | Yes |
| MoteStrain | 954 | 318 | 84 | 1 | 2 | 95.28 | Yes | Yes | No | Yes |
| OliveOil | 45 | 15 | 570 | 1 | 4 | 13.33 | Yes | Yes | Yes | Yes |
| OSULeaf | 331 | 111 | 427 | 1 | 6 | 60.36 | Yes | Yes | No | Yes |
| PhalangesOutlinesCorrect | 1993 | 665 | 80 | 1 | 2 | 67.82 | Yes | Yes | Yes | Yes |
| Plane | 157 | 53 | 144 | 1 | 7 | 94.34 | Yes | Yes | Yes | Yes |
| PowerCons | 270 | 90 | 144 | 1 | 2 | 100.00 | Yes | Yes | Yes | Yes |
| ProximalPhalanxOutlineAgeGroup | 453 | 152 | 80 | 1 | 3 | 69.74 | Yes | Yes | No | Yes |
| ProximalPhalanxOutlineCorrect | 668 | 223 | 80 | 1 | 2 | 71.75 | Yes | Yes | No | Yes |
| ProximalPhalanxTW | 453 | 152 | 80 | 1 | 6 | 46.71 | Yes | Yes | Yes | Yes |
| RefrigerationDevices | 562 | 188 | 720 | 1 | 3 | 43.62 | Yes | Yes | No | Yes |
| ScreenType | 562 | 188 | 720 | 1 | 3 | 40.96 | Yes | Yes | No | Yes |
| ShapeletSim | 150 | 50 | 500 | 1 | 2 | 48.00 | Yes | Yes | No | Yes |
| ShapesAll | 900 | 300 | 512 | 1 | 60 | 66.00 | Yes | Yes | No | Yes |
| SmallKitchenAppliances | 562 | 188 | 720 | 1 | 3 | 59.57 | Yes | Yes | No | Yes |
| SmoothSubspace | 225 | 75 | 15 | 1 | 3 | 93.33 | Yes | Yes | Yes | Yes |
| SonyAIBORobotSurface1 | 465 | 156 | 70 | 1 | 2 | 98.72 | Yes | Yes | No | Yes |
| SonyAIBORobotSurface2 | 735 | 245 | 65 | 1 | 2 | 99.18 | Yes | Yes | No | Yes |
| Strawberry | 737 | 246 | 235 | 1 | 2 | 73.58 | Yes | Yes | Yes | Yes |
| SwedishLeaf | 843 | 282 | 128 | 1 | 15 | 83.33 | Yes | Yes | Yes | Yes |
| Symbols | 765 | 255 | 398 | 1 | 6 | 94.90 | Yes | Yes | No | Yes |
| SyntheticControl | 450 | 150 | 60 | 1 | 6 | 89.33 | Yes | Yes | Yes | Yes |
| ToeSegmentation2 | 124 | 42 | 343 | 1 | 2 | 85.71 | Yes | Yes | No | Yes |
| Trace | 150 | 50 | 275 | 1 | 4 | 68.00 | Yes | Yes | Yes | Yes |
| TwoLeadECG | 871 | 291 | 82 | 1 | 2 | 90.03 | Yes | Yes | No | Yes |
| TwoPatterns | 3750 | 1250 | 128 | 1 | 4 | 99.84 | Yes | Yes | No | Yes |
| UMD | 135 | 45 | 150 | 1 | 3 | 91.11 | Yes | Yes | Yes | Yes |
| UWaveGestureLibraryAll | 3358 | 1120 | 945 | 1 | 8 | 95.54 | Yes | Yes | No | Yes |
| UWaveGestureLibraryX | 3358 | 1120 | 315 | 1 | 8 | 80.89 | Yes | Yes | No | Yes |
| UWaveGestureLibraryY | 3358 | 1120 | 315 | 1 | 8 | 71.96 | Yes | Yes | No | Yes |
| UWaveGestureLibraryZ | 3358 | 1120 | 315 | 1 | 8 | 75.62 | Yes | Yes | No | Yes |
| Wafer | 5373 | 1791 | 152 | 1 | 2 | 100.00 | Yes | Yes | Yes | Yes |
| Wine | 83 | 28 | 234 | 1 | 2 | 60.71 | Yes | Yes | No | Yes |
| WordSynonyms | 678 | 227 | 270 | 1 | 25 | 67.84 | Yes | Yes | No | Yes |
| Worms | 193 | 65 | 900 | 1 | 5 | 52.31 | Yes | Yes | No | Yes |
| WormsTwoClass | 193 | 65 | 900 | 1 | 2 | 50.77 | Yes | Yes | No | Yes |
| Yoga | 2475 | 825 | 426 | 1 | 2 | 90.91 | Yes | Yes | No | Yes |
Notes (English)
Files
anchor.zip
Files
(5.4 GB)
| Name | Size | |
|---|---|---|
|
md5:feca5e739c85b9c5a582c1fc83aad65d
|
1.3 MB | Preview Download |
|
md5:97c4bf4952e29af5045cb57e4292fff9
|
402.8 MB | Preview Download |
|
md5:0475d404f8e93ebe040022da36d6ced1
|
2.8 GB | Preview Download |
|
md5:45bbab3bb1d062b8eafbe919463d36a4
|
761.3 MB | Preview Download |
|
md5:5635ee54bf0aa2d36d35fd2e249327b1
|
455.3 MB | Preview Download |
|
md5:20573856720811582ac78becc7845a70
|
977.4 MB | Preview Download |