Repository 'tabpfn'
hg clone https://radegast.galaxyproject.org/repos/bgruening/tabpfn

Changeset 9:ed78e1448387 (2026-04-20)
Previous changeset 8:ec6df5e22055 (2026-04-15) Next changeset 10:f0c7f0bad621 (2026-04-22)
Commit message:
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/tabpfn commit e058339b740892abfea2153620ee263c0756ab6f
modified:
main.py
tabpfn.xml
added:
test-data/classification_local_test_rows_labels_noheader.tabular
test-data/classification_local_train_rows_noheader.tabular
test-data/classification_test_data_noheader_labels.tabular
test-data/classification_test_data_noheader_nolabels.tabular
test-data/classification_train_data_no_header.tabular
b
diff -r ec6df5e22055 -r ed78e1448387 main.py
--- a/main.py Wed Apr 15 20:19:01 2026 +0000
+++ b/main.py Mon Apr 20 08:08:59 2026 +0000
[
@@ -17,8 +17,8 @@
 from tabpfn import TabPFNClassifier, TabPFNRegressor
 
 
-def separate_features_labels(data):
-    df = pd.read_csv(data, sep="\t")
+def separate_features_labels(data, header):
+    df = pd.read_csv(data, sep="\t", header=0 if header == "true" else None)
     labels = df.iloc[:, -1]
     features = df.iloc[:, :-1]
     return features, labels
@@ -85,12 +85,12 @@
     Train TabPFN and predict
     """
     # prepare train data
-    tr_features, tr_labels = separate_features_labels(args["train_data"])
+    tr_features, tr_labels = separate_features_labels(args["train_data"], args["train_header"])
     # prepare test data
     if args["testhaslabels"] == "true":
-        te_features, te_labels = separate_features_labels(args["test_data"])
+        te_features, te_labels = separate_features_labels(args["test_data"], args["test_header"])
     else:
-        te_features = pd.read_csv(args["test_data"], sep="\t")
+        te_features = pd.read_csv(args["test_data"], sep="\t", header=0 if args["test_header"] == "true" else None)
         te_labels = []
     s_time = time.time()
     if args["selected_task"] == "Classification":
@@ -133,6 +133,18 @@
     arg_parser.add_argument("-trdata", "--train_data", required=True, help="Train data")
     arg_parser.add_argument("-tedata", "--test_data", required=True, help="Test data")
     arg_parser.add_argument(
+        "-train_header",
+        "--train_header",
+        required=True,
+        help="if train data contain header"
+    )
+    arg_parser.add_argument(
+        "-test_header",
+        "--test_header",
+        required=True,
+        help="if test data contain header"
+    )
+    arg_parser.add_argument(
         "-testhaslabels",
         "--testhaslabels",
         required=True,
b
diff -r ec6df5e22055 -r ed78e1448387 tabpfn.xml
--- a/tabpfn.xml Wed Apr 15 20:19:01 2026 +0000
+++ b/tabpfn.xml Mon Apr 20 08:08:59 2026 +0000
[
b'@@ -1,8 +1,9 @@\n-<tool id="tabpfn" name="Tabular data prediction using TabPFN" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="24.2">\n+<tool id="tabpfn" name="Tabular data prediction using TabPFN" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">\n     <description>with PyTorch</description>\n     <macros>\n         <token name="@TOOL_VERSION@">7.0.0</token>\n-        <token name="@VERSION_SUFFIX@">0</token>\n+        <token name="@VERSION_SUFFIX@">1</token>\n+        <token name="@PROFILE@">24.2</token>\n     </macros>\n     <creator>\n         <organization name="European Galaxy Team" url="https://galaxyproject.org/eu/"/>\n@@ -21,6 +22,8 @@\n             --model_path \'$model_source.pretrained_model\'\n             --selected_task \'$selected_task\'\n             --train_data \'$train_data\'\n+            --train_header \'$train_header\'\n+            --test_header \'$test_header\'\n             --testhaslabels \'$testhaslabels\'\n             --test_data \'$test_data\'\n         ]]>\n@@ -51,7 +54,9 @@\n             </when>\n         </conditional>\n         <param name="train_data" type="data" format="tabular" label="Train data" help="Please provide training data for training model. It should contain labels/class/target in the last column"/>\n+        <param name="train_header" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Does the train dataset contain header?" />\n         <param name="test_data" type="data" format="tabular" label="Test data" help="Please provide test data for evaluating model. It may or may not contain labels/class/target in the last column"/>\n+        <param name="test_header" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Does the test dataset contain header?" />\n         <param name="testhaslabels" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Does test data contain labels?" help="Set this parameter when test data contains labels"/>\n     </inputs>\n     <outputs>\n@@ -68,7 +73,9 @@\n             </conditional>\n             <param name="selected_task" value="Classification"/>\n             <param name="train_data" value="classification_local_train_rows.tabular" ftype="tabular"/>\n+            <param name="train_header" value="true"/>\n             <param name="test_data" value="classification_local_test_rows.tabular" ftype="tabular"/>\n+            <param name="test_header" value="true"/>\n             <param name="testhaslabels" value="false"/>\n             <param name="non_commercial_use" value="True"/>\n         </test>\n@@ -79,7 +86,9 @@\n             </conditional>\n             <param name="selected_task" value="Classification"/>\n             <param name="train_data" value="classification_local_train_rows.tabular" ftype="tabular"/>\n+            <param name="train_header" value="true"/>\n             <param name="test_data" value="classification_local_test_rows_labels.tabular" ftype="tabular"/>\n+            <param name="test_header" value="true"/>\n             <param name="testhaslabels" value="true"/>\n             <param name="non_commercial_use" value="True"/>\n         </test>\n@@ -90,7 +99,9 @@\n             </conditional>\n             <param name="selected_task" value="Classification"/>\n             <param name="train_data" value="train_data_multiclass.tabular" ftype="tabular"/>\n+            <param name="train_header" value="true"/>\n             <param name="test_data" value="test_data_multiclass_labels.tabular" ftype="tabular"/>\n+            <param name="test_header" value="true"/>\n             <param name="testhaslabels" value="true"/>\n             <param name="non_commercial_use" value="True"/>\n         </test>\n@@ -101,7 +112,9 @@\n             </conditional>\n             <param name="selected_task" value="Classification"/>\n             <param name="train_data" value="train_data_multiclass.tabular" ftype="tabular"/>\n+            <param name="train_header" value="true"/>\n             <param name="test_data" value="test_data_multiclass'..b'lue="regression_local_train_rows.tabular" ftype="tabular"/>\n+            <param name="train_header" value="true"/>\n             <param name="test_data" value="regression_local_test_rows_labels.tabular" ftype="tabular"/>\n+            <param name="test_header" value="true"/>\n             <param name="testhaslabels" value="true"/>\n             <param name="non_commercial_use" value="True"/>\n-          </test>\n+        </test>\n         <test expect_failure="true" expect_exit_code="1">\n             <conditional name="model_source">\n                 <param name="source_type" value="preinstalled" />\n@@ -123,10 +138,38 @@\n             </conditional>\n             <param name="selected_task" value="Regression"/>\n             <param name="train_data" value="regression_local_train_rows.tabular" ftype="tabular"/>\n+            <param name="train_header" value="true"/>\n             <param name="test_data" value="regression_local_test_rows.tabular" ftype="tabular"/>\n+            <param name="test_header" value="true"/>\n             <param name="testhaslabels" value="false"/>\n             <param name="non_commercial_use" value="True"/>\n-          </test>\n+        </test>\n+        <test expect_failure="true" expect_exit_code="1">\n+            <conditional name="model_source">\n+                <param name="source_type" value="preinstalled" />\n+                <param name="pretrained_model" value="unknown" />\n+            </conditional>\n+            <param name="selected_task" value="Classification"/>\n+            <param name="train_data" value="classification_train_data_no_header.tabular" ftype="tabular"/>\n+            <param name="train_header" value="false"/>\n+            <param name="test_data" value="classification_test_data_noheader_labels.tabular" ftype="tabular"/>\n+            <param name="test_header" value="false"/>\n+            <param name="testhaslabels" value="true"/>\n+            <param name="non_commercial_use" value="True"/>\n+        </test>\n+        <test expect_failure="true" expect_exit_code="1">\n+            <conditional name="model_source">\n+                <param name="source_type" value="preinstalled" />\n+                <param name="pretrained_model" value="unknown" />\n+            </conditional>\n+            <param name="selected_task" value="Classification"/>\n+            <param name="train_data" value="classification_train_data_no_header.tabular" ftype="tabular"/>\n+            <param name="train_header" value="false"/>\n+            <param name="test_data" value="classification_test_data_noheader_labels.tabular" ftype="tabular"/>\n+            <param name="test_header" value="false"/>\n+            <param name="testhaslabels" value="false"/>\n+            <param name="non_commercial_use" value="True"/>\n+        </test>\n     </tests>\n     <help>\n         <![CDATA[\n@@ -143,10 +186,8 @@\n                 - Prediction plot (when test data has labels available).\n \n             **License**\n-                - TabPFN is available under an open source license (https://github.com/PriorLabs/TabPFN?tab=License-1-ov-file) that combines Apache with a LLama-like attribution clause. It requires you to prominently display "Built with TabPFN" when you use a pipeline including it in production.\n-\n-            **Help improve TabPFN**\n-                - The TabPFN project seeks new training datasets for improving models, and if you want to help this project, please visit https://ux.priorlabs.ai/playground.\n+                - TabPFN software is available under Apache 2.0 with ADDITIONAL PROVISION (https://github.com/PriorLabs/TabPFN?tab=License-1-ov-file). It requires you to prominently display "Built with TabPFN" when you use a pipeline including it in production.\n+                - TabPFN v2_5 models are available under a non-commercial license (https://huggingface.co/Prior-Labs/tabpfn_2_5/blob/main/LICENSE) and can only be used for non-commercial purposes. Please reach out to sales@priorlabs.ai for commercial use.\n \n         ]]>\n     </help>\n'
b
diff -r ec6df5e22055 -r ed78e1448387 test-data/classification_local_test_rows_labels_noheader.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/classification_local_test_rows_labels_noheader.tabular Mon Apr 20 08:08:59 2026 +0000
b
@@ -0,0 +1,4 @@
+3.919 2.6909 0 0 0 0 0 31.4 2 0 0 0 3.106 2.55 9.002 0 0.96 1.142 0 0 0 1.201 0 0 0 0 1.932 0.011 0 0 4.489 0 0 0 0 2.949 1.591 0 7.253 0 0 1
+4.17 2.1144 0 0 0 0 0 30.8 1 1 0 0 2.461 1.393 8.723 1 0.989 1.144 0 0 0 1.104 1 0 0 0 2.214 -0.204 0 0 1.542 0 0 0 0 3.315 1.967 0 7.257 0 0 1
+3.919 2.6909 0 0 0 0 0 31.4 2 0 0 0 3.106 2.55 9.002 0 0.96 1.142 0 0 0 1.201 0 0 0 0 1.932 0.011 0 0 4.489 0 0 0 0 2.949 1.591 0 7.253 0 0 0
+4.17 2.1144 0 0 0 0 0 30.8 1 1 0 0 2.461 1.393 8.723 1 0.989 1.144 0 0 0 1.104 1 0 0 0 2.214 -0.204 0 0 1.542 0 0 0 0 3.315 1.967 0 7.257 0 0 0
b
diff -r ec6df5e22055 -r ed78e1448387 test-data/classification_local_train_rows_noheader.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/classification_local_train_rows_noheader.tabular Mon Apr 20 08:08:59 2026 +0000
b
b'@@ -0,0 +1,837 @@\n+3.919\t2.6909\t0\t0\t0\t0\t0\t31.4\t2\t0\t0\t0\t3.106\t2.55\t9.002\t0\t0.96\t1.142\t0\t0\t0\t1.201\t0\t0\t0\t0\t1.932\t0.011\t0\t0\t4.489\t0\t0\t0\t0\t2.949\t1.591\t0\t7.253\t0\t0\t1\n+4.17\t2.1144\t0\t0\t0\t0\t0\t30.8\t1\t1\t0\t0\t2.461\t1.393\t8.723\t1\t0.989\t1.144\t0\t0\t0\t1.104\t1\t0\t0\t0\t2.214\t-0.204\t0\t0\t1.542\t0\t0\t0\t0\t3.315\t1.967\t0\t7.257\t0\t0\t1\n+3.932\t3.2512\t0\t0\t0\t0\t0\t26.7\t2\t4\t0\t0\t3.279\t2.585\t9.11\t0\t1.009\t1.152\t0\t0\t0\t1.092\t0\t0\t0\t0\t1.942\t-0.008\t0\t0\t4.891\t0\t0\t0\t1\t3.076\t2.417\t0\t7.601\t0\t0\t1\n+3\t2.7098\t0\t0\t0\t0\t0\t20\t0\t2\t0\t0\t2.1\t0.918\t6.594\t0\t1.108\t1.167\t0\t0\t0\t1.024\t0\t0\t0\t0\t1.414\t1.073\t0\t8.361\t1.333\t0\t0\t0\t1\t3.046\t5\t0\t6.69\t0\t0\t1\n+4.236\t3.3944\t0\t0\t0\t0\t0\t29.4\t2\t4\t0\t-0.271\t3.449\t2.753\t9.528\t2\t1.004\t1.147\t0\t0\t0\t1.137\t0\t0\t0\t0\t1.985\t-0.002\t0\t10.348\t5.588\t0\t0\t0\t0\t3.351\t2.405\t0\t8.003\t0\t0\t1\n+4.236\t3.4286\t0\t0\t0\t0\t0\t28.6\t2\t4\t0\t-0.275\t3.313\t2.522\t9.383\t1\t1.014\t1.149\t0\t0\t0\t1.119\t0\t0\t0\t0\t1.98\t-0.008\t0\t10.276\t4.746\t0\t0\t0\t0\t3.351\t2.556\t0\t7.904\t0\t0\t1\n+5\t5.0476\t1\t0\t0\t0\t0\t11.1\t0\t3\t0\t0\t2.872\t0.722\t9.657\t0\t1.092\t1.153\t0\t0\t0\t1.125\t0\t0\t0\t0\t2\t0.446\t0\t18.375\t0.8\t0\t0\t0\t1\t4.712\t4.583\t0\t9.303\t0\t0\t1\n+4.525\t3.8301\t0\t0\t0\t0\t0\t31.6\t3\t2\t0\t-0.039\t3.418\t2.468\t9.786\t5\t0.98\t1.142\t0\t0\t0\t1.179\t0\t0\t0\t0\t2.119\t-0.002\t0\t11.115\t3.889\t0\t0\t0\t0\t3.379\t2.143\t0\t7.95\t0\t0\t1\n+4.596\t3.0777\t0\t0\t0\t0\t2\t44.4\t2\t0\t0\t0\t2.97\t0.875\t9.54\t0\t0.968\t1.115\t0\t0\t0\t1.328\t1\t0\t0\t0\t2.175\t0.041\t0\t0\t1.069\t0\t0\t0\t0\t3.626\t1.917\t0\t7.939\t0\t0\t1\n+5.04\t3.6112\t0\t0\t1\t0\t2\t41.2\t0\t4\t3\t-1.29\t3.483\t1.258\t10.159\t8\t1.069\t1.127\t0\t1\t0\t1.199\t1\t0\t0\t0\t2.323\t0.005\t0\t30.959\t1.711\t0\t1\t2\t1\t3.888\t3.5\t1\t8.706\t0\t0\t1\n+4.91\t2.7414\t0\t0\t0\t0\t2\t52.9\t0\t2\t0\t-0.302\t3.364\t0.629\t10.06\t5\t1.018\t1.098\t0\t0\t0\t1.279\t3\t0\t0\t0\t2.333\t0.004\t0\t10.717\t1.207\t0\t1\t0\t0\t3.767\t2.5\t0\t8.427\t0\t0\t1\n+3.618\t2.1906\t0\t0\t0\t0\t0\t29.4\t2\t0\t0\t0\t2.333\t1.522\t7.853\t0\t0.959\t1.147\t0\t0\t0\t1.178\t0\t0\t0\t0\t1.732\t0.294\t0\t0\t2.094\t0\t0\t0\t0\t2.794\t1.7\t0\t6.333\t0\t0\t1\n+4.214\t2.6272\t0\t0\t0\t0\t0\t30\t3\t0\t0\t0\t2.523\t1.459\t8.755\t0\t0.959\t1.145\t0\t0\t0\t1.213\t0\t0\t0\t0\t1.902\t-0.181\t0\t0\t2.052\t0\t0\t0\t0\t2.998\t1.722\t0\t6.77\t0\t0\t1\n+3.732\t2.3391\t0\t0\t0\t0\t0\t30\t2\t0\t0\t0\t2.511\t1.585\t8.16\t0\t0.959\t1.145\t0\t0\t0\t1.196\t0\t0\t0\t0\t1.802\t-0.181\t0\t0\t2.488\t0\t0\t0\t0\t2.846\t1.667\t0\t6.557\t0\t0\t1\n+3.879\t2.5951\t0\t0\t0\t0\t0\t31\t2\t0\t0\t0\t2.908\t2.281\t8.743\t0\t0.96\t1.143\t0\t0\t0\t1.202\t0\t0\t0\t0\t1.902\t0.036\t0\t0\t3.685\t0\t0\t0\t0\t2.924\t1.611\t0\t7.029\t0\t0\t1\n+3.942\t2.7719\t1\t0\t0\t0\t0\t31.6\t2\t0\t0\t0\t3.44\t2.777\t9.207\t0\t0.969\t1.141\t0\t0\t0\t1.22\t0\t0\t1\t0\t1.95\t0.003\t0\t0\t5.294\t0\t0\t0\t0\t3.542\t1.739\t0\t8.127\t0\t1\t1\n+3.966\t2.852\t1\t0\t0\t0\t0\t32\t2\t0\t0\t0\t4.075\t3.146\t9.522\t0\t0.965\t1.138\t0\t0\t0\t1.243\t0\t1\t0\t0\t1.97\t0\t1\t0\t6.909\t0\t0\t0\t0\t6.866\t1.603\t0\t11.578\t0\t1\t1\n+3.732\t2.3761\t0\t0\t1\t0\t0\t26.3\t2\t0\t1\t0\t2.532\t1.585\t8.16\t0\t0.969\t1.157\t0\t0\t0\t1.152\t0\t0\t0\t0\t1.802\t-0.195\t0\t0\t2.488\t0\t0\t1\t2\t2.858\t2\t1\t6.599\t0\t0\t1\n+4\t2.6264\t0\t0\t0\t0\t0\t23.1\t0\t0\t0\t0\t2.167\t0.811\t8.318\t0\t0.972\t1.166\t0\t0\t0\t1.182\t0\t0\t0\t0\t1.732\t-0.522\t0\t0\t1\t0\t0\t0\t0\t2.991\t2\t1\t6.579\t0\t0\t1\n+2\t1.1521\t0\t0\t0\t0\t0\t16.7\t1\t1\t0\t0\t1.549\t0\t4.174\t0\t1.016\t1.173\t0\t0\t0\t0.93\t0\t0\t0\t0\t1\t-1.099\t0\t0\t1\t0\t0\t0\t1\t2.279\t4\t0\t4.948\t0\t0\t1\n+3.732\t2.4062\t0\t0\t0\t0\t0\t27.8\t2\t1\t0\t0\t2.555\t1.585\t8.16\t1\t0.979\t1.15\t0\t0\t0\t1.134\t0\t0\t0\t0\t1.802\t-0.205\t0\t0\t2.488\t0\t0\t0\t1\t2.874\t2.333\t0\t6.649\t0\t0\t1\n+4\t2.3699\t0\t0\t0\t0\t0\t30\t1\t1\t0\t0\t2.273\t1\t8.482\t0\t0.998\t1.146\t0\t0\t0\t1.09\t1\t0\t0\t0\t2.17\t0.34\t0\t0\t1\t0\t0\t0\t0\t3.302\t2.083\t0\t7.174\t0\t0\t1\n+3.414\t2.2525\t0\t0\t0\t0\t0\t20\t2\t2\t0\t0\t2.243\t1\t7.408\t0\t1.031\t1.166\t0\t0\t0\t0.98\t0\t0\t0\t0\t1.618\t-0.642\t0\t0\t1.707\t0\t0\t0\t2\t2.817\t3.75\t0\t6.32\t0\t0\t1\n+4.17\t2.8042\t0\t0\t0\t0\t0\t23.1\t2\t2\t0\t0\t2.449\t0.971\t8.597\t1\t1.015\t1.16\t0\t0\t0\t1.044\t0\t0\t0\t0\t1.848\t0.391\t0\t0\t1.542\t0\t0\t0\t2\t3.047\t3.367\t0\t6.782\t0\t0\t1\n+4.303\t2.9558\t0\t0\t0\t0\t0\t25\t2\t2\t0\t0\t2.608\t1.459\t8.815\t2\t1.005\t1.156\t0\t0\t0\t1.056\t0\t0\t0\t0\t1.932\t-0.229\t0\t0\t1.745\t0\t0\t0\t2\t3.083\t3.056\t0\t6.914\t0\t0\t1\n+3.414\t2.6294\t0\t0\t0\t0\t0\t37.5\t1\t1\t0\t0\t2.333\t1\t7.408\t1\t1.012\t1.13\t0\t0\t0\t1.215\t0\t0\t0\t0\t1.618\t-0.66\t0\t0\t1.707\t0\t0\t0\t1\t3.188\t3.5\t0\t7.035\t0\t0\t1\n+4.214\t3.0057\t0\t0\t0\t0\t0\t25\t1\t2\t0\t0\t2.608\t1.459\t8.755\t1\t1.005\t1.156\t0\t0\t0\t1.104\t0\t0\t0\t0\t1.902\t-0.236\t0\t0\t2.052\t0\t0\t0\t1\t3.087\t2.722\t0\t6.989\t0\t0\t1\n+3.848\t2.8521\t0\t0\t0\t0\t0\t27.3\t2\t2\t0\t0\t2.858\t2\t8.584\t1\t0.993\t1.151\t0\t0\t0\t1.117\t0\t0\t0\t0\t1.879\t-0.076\t0\t0\t3.284\t0\t0\t0\t1\t2.997\t2.375\t0\t7'..b'0\t10.38\t1.951\t0\t1\t2\t2\t3.708\t2.773\t1\t8.322\t0\t0\t0\n+4.892\t3.2952\t0\t0\t2\t0\t2\t36.7\t2\t3\t1\t-0.505\t3.598\t1.805\t10.235\t7\t1.009\t1.134\t0\t0\t0\t1.205\t1\t0\t0\t0\t2.295\t-0.001\t0\t11.03\t2.809\t0\t2\t0\t1\t3.712\t2.456\t1\t8.522\t0\t0\t0\n+5.451\t2.5976\t4\t0\t0\t0\t4\t42.4\t1\t2\t0\t0\t4.191\t1.113\t10.865\t8\t1.013\t1.099\t0\t0\t0\t1.36\t2\t0\t1\t0\t2.409\t0\t0\t0\t3.05\t0\t4\t0\t0\t4.72\t2.293\t0\t9.912\t0\t2\t0\n+5.106\t2.5769\t0\t0\t0\t0\t4\t47.1\t2\t0\t0\t0\t3.656\t1\t10.411\t0\t0.969\t1.11\t0\t0\t0\t1.311\t2\t0\t0\t0\t2.384\t0\t0\t0\t2.266\t0\t0\t0\t0\t3.798\t1.854\t0\t8.644\t0\t0\t0\n+4.928\t1.7361\t0\t0\t0\t0\t2\t45\t0\t0\t0\t0\t3.753\t0\t10.506\t0\t0.968\t1.114\t0\t0\t0\t1.29\t3\t0\t0\t0\t2.348\t0\t0\t0\t3.091\t2\t0\t0\t0\t3.685\t1.722\t0\t8.6\t0\t0\t0\n+5.075\t2.4622\t0\t0\t0\t0\t4\t48.3\t0\t3\t0\t-0.203\t3.768\t0.922\t10.518\t9\t1.01\t1.108\t0\t0\t0\t1.263\t2\t0\t0\t0\t2.369\t0\t0\t12.066\t2.847\t0\t2\t0\t1\t3.827\t2.52\t0\t8.828\t0\t0\t0\n+5.459\t3.1356\t1\t0\t2\t0\t4\t41.7\t0\t3\t2\t0\t3.784\t1.029\t10.764\t6\t1.029\t1.113\t0\t0\t0\t1.28\t3\t0\t0\t0\t2.462\t0\t0\t22.286\t1.583\t0\t2\t2\t3\t4.748\t2.906\t1\t9.674\t0\t0\t0\n+5.35\t2.9948\t1\t0\t2\t0\t5\t40\t0\t4\t2\t0\t3.843\t1.024\t10.837\t9\t1.041\t1.117\t0\t0\t0\t1.254\t3\t0\t0\t0\t2.442\t0\t0\t21.854\t1.865\t0\t3\t2\t4\t4.738\t3.078\t1\t9.706\t0\t0\t0\n+5.35\t2.9783\t1\t0\t2\t0\t5\t40\t0\t4\t2\t0\t3.843\t1.024\t10.837\t9\t1.041\t1.117\t0\t0\t0\t1.251\t3\t0\t0\t0\t2.443\t0\t0\t21.831\t1.871\t0\t3\t2\t4\t4.738\t3.078\t1\t9.706\t0\t0\t0\n+5.161\t2.5397\t0\t0\t0\t0\t6\t46.4\t0\t5\t0\t-0.525\t3.844\t0.745\t10.717\t13\t1.038\t1.112\t0\t0\t0\t1.222\t2\t0\t0\t0\t2.404\t0\t0\t12.008\t2.924\t0\t4\t0\t4\t3.881\t3.037\t0\t8.952\t0\t0\t0\n+5.164\t2.9809\t1\t0\t0\t0\t0\t26.7\t0\t2\t0\t0\t3.083\t0.917\t9.968\t4\t1.018\t1.133\t0\t0\t0\t1.245\t1\t0\t0\t0\t2.256\t-0.072\t0\t20.861\t0.939\t0\t0\t0\t0\t4.66\t2.988\t0\t9.26\t0\t0\t0\n+4.802\t1.7802\t2\t0\t5\t0\t2\t39.4\t0\t0\t4\t0\t3.892\t0\t10.46\t0\t0.986\t1.113\t0\t0\t0\t1.339\t4\t0\t0\t0\t2.384\t0\t0\t0\t3.735\t0\t0\t5\t1\t4.341\t1.824\t2\t9.301\t0\t0\t0\n+4.562\t2.931\t0\t1\t0\t0\t0\t33.3\t0\t2\t2\t-0.603\t3.052\t0.875\t9.54\t2\t1.062\t1.153\t1\t0\t0\t1.166\t1\t0\t0\t0\t2.17\t0.05\t0\t20.392\t1.14\t0\t0\t4\t2\t3.587\t3.292\t2\t8.026\t0\t0\t0\n+5.062\t4.0287\t0\t0\t0\t0\t0\t26.3\t0\t6\t27\t0\t4.146\t1.975\t10.792\t12\t1.021\t1.162\t0\t0\t0\t1.137\t1\t0\t0\t0\t2.404\t0\t0\t0\t2.398\t0\t0\t0\t0\t3.83\t2.296\t6\t8.939\t0\t0\t0\n+4.807\t2.7734\t2\t0\t0\t0\t0\t26.3\t0\t0\t4\t1.008\t3.352\t0.881\t9.833\t0\t0.994\t1.131\t0\t0\t0\t1.334\t1\t0\t0\t0\t2.246\t-0.023\t0\t0\t1.06\t0\t0\t0\t0\t4.094\t2.019\t2\t8.76\t0\t0\t0\n+5.092\t2.0631\t0\t0\t3\t0\t5\t51.5\t0\t2\t4\t-0.32\t3.945\t0.548\t10.725\t6\t1.002\t1.103\t0\t0\t0\t1.304\t4\t0\t0\t0\t2.412\t0\t0\t12.207\t3.461\t0\t2\t3\t2\t3.924\t2.375\t1\t9.072\t0\t0\t0\n+5.051\t1.6237\t4\t2\t16\t0\t14\t41.9\t2\t8\t20\t-2.695\t5.032\t0.964\t11.786\t14\t1.032\t1.124\t0\t0\t0\t1.265\t4\t0\t1\t0\t2.399\t0\t0\t50.918\t9.592\t0\t12\t18\t2\t4.016\t2.595\t6\t10.274\t0\t4\t0\n+3.618\t3.4245\t0\t0\t0\t0\t0\t44.4\t0\t1\t0\t0\t2.593\t0\t8.412\t0\t1.011\t1.116\t0\t0\t0\t1.332\t1\t0\t0\t0\t2\t-0.237\t0\t0\t0.579\t0\t0\t0\t0\t3.526\t2.3\t0\t7.6\t0\t0\t0\n+5.389\t2.7726\t1\t0\t3\t0\t2\t41.7\t0\t3\t3\t0.144\t3.772\t1.506\t10.698\t9\t1.029\t1.113\t0\t0\t0\t1.278\t3\t0\t0\t0\t2.504\t0\t0\t23.066\t2.22\t0\t1\t2\t0\t4.757\t2.728\t1\t9.614\t0\t0\t0\n+5.318\t2.6699\t2\t0\t0\t0\t2\t36.4\t0\t3\t0\t0\t3.7\t0.985\t10.545\t9\t1.02\t1.107\t0\t0\t0\t1.317\t3\t0\t0\t0\t2.402\t0.001\t0\t0\t1.511\t0\t1\t0\t0\t4.706\t2.293\t0\t9.538\t0\t0\t0\n+5.306\t2.2373\t0\t0\t11\t0\t4\t36.2\t3\t6\t11\t-1.722\t4.217\t1.577\t11.222\t9\t1.031\t1.14\t0\t0\t0\t1.191\t6\t0\t0\t0\t2.527\t0\t0\t23.86\t3.172\t0\t2\t10\t5\t3.942\t2.846\t4\t9.248\t0\t0\t0\n+4.843\t2.7944\t0\t0\t1\t0\t2\t34.4\t0\t5\t1\t-0.929\t3.729\t2.297\t10.299\t7\t1.029\t1.139\t0\t0\t0\t1.153\t1\t0\t0\t0\t2.268\t0\t0\t10.307\t4.371\t0\t2\t0\t3\t3.681\t2.755\t1\t8.613\t0\t0\t0\n+3.618\t2.3247\t2\t0\t0\t0\t0\t27.3\t2\t0\t0\t0\t3.679\t1.522\t7.853\t0\t1.008\t1.131\t0\t0\t0\t1.338\t0\t1\t1\t0\t1.732\t0.336\t0\t0\t2.094\t0\t0\t0\t0\t6.866\t2.272\t0\t11.578\t0\t2\t0\n+3\t1.7389\t1\t0\t0\t0\t0\t25\t2\t0\t0\t0\t3.426\t0.918\t6.594\t0\t0.985\t1.136\t0\t0\t0\t1.383\t0\t1\t0\t0\t1.414\t0.691\t0\t0\t1.333\t0\t0\t0\t0\t6.867\t2.083\t0\t11.561\t0\t1\t0\n+5.051\t3.532\t0\t0\t2\t0\t0\t30\t2\t6\t2\t-0.794\t4.214\t3.546\t10.717\t9\t0.991\t1.146\t0\t0\t0\t1.141\t0\t0\t0\t0\t2.291\t0\t0\t11.784\t10.986\t0\t0\t2\t6\t3.519\t2.435\t1\t8.71\t0\t0\t0\n+4.876\t2.8477\t0\t0\t2\t0\t0\t30\t2\t2\t3\t-0.608\t3.21\t1.193\t10.053\t4\t1.02\t1.154\t0\t0\t0\t1.174\t1\t0\t0\t0\t2.336\t0.014\t0\t21.357\t1.586\t0\t0\t3\t2\t3.631\t2.9\t2\t8.126\t0\t0\t0\n+4.953\t3.4085\t0\t0\t2\t0\t2\t40\t1\t2\t3\t0\t3.351\t1.273\t9.975\t4\t1.015\t1.129\t0\t1\t0\t1.241\t1\t0\t0\t0\t2.288\t-0.008\t0\t20.772\t1.602\t0\t1\t2\t0\t3.853\t2.803\t1\t8.521\t0\t0\t0\n+5.418\t3.1768\t10\t0\t0\t0\t12\t54.5\t0\t0\t0\t0\t4.608\t0.72\t11.151\t0\t1.121\t1.069\t0\t0\t0\t1.413\t2\t0\t1\t0\t2.532\t0\t0\t0\t2.359\t0\t10\t0\t0\t4.361\t2.778\t0\t10.237\t0\t10\t0\n'
b
diff -r ec6df5e22055 -r ed78e1448387 test-data/classification_test_data_noheader_labels.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/classification_test_data_noheader_labels.tabular Mon Apr 20 08:08:59 2026 +0000
b
b'@@ -0,0 +1,50 @@\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0'..b',0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2\n'
b
diff -r ec6df5e22055 -r ed78e1448387 test-data/classification_test_data_noheader_nolabels.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/classification_test_data_noheader_nolabels.tabular Mon Apr 20 08:08:59 2026 +0000
b
b'@@ -0,0 +1,50 @@\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0'..b',1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n'
b
diff -r ec6df5e22055 -r ed78e1448387 test-data/classification_train_data_no_header.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/classification_train_data_no_header.tabular Mon Apr 20 08:08:59 2026 +0000
b
b'@@ -0,0 +1,50 @@\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0'..b',0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,2\n+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1\n'