1742 lines
361 KiB
Plaintext
1742 lines
361 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "0d316ehisw2",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"=== 验证PyTorch unfold行为 ===\n",
|
||
"原始张量形状: torch.Size([1, 1, 1, 30])\n",
|
||
"原始张量内容: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0]\n",
|
||
"Unfold后形状: torch.Size([1, 1, 1, 5, 14])\n",
|
||
"输出时间步数: 5\n",
|
||
"\n",
|
||
"每个输出时间步对应的原始时间步:\n",
|
||
"输出 0: 原始 [ 0:14] -> [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0]\n",
|
||
"输出 1: 原始 [ 4:18] -> [4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0]\n",
|
||
"输出 2: 原始 [ 8:22] -> [8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0]\n",
|
||
"输出 3: 原始 [12:26] -> [12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0]\n",
|
||
"输出 4: 原始 [16:30] -> [16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0]\n",
|
||
"\n",
|
||
"=== 验证转换函数 ===\n",
|
||
"测试案例:\n",
|
||
"输出范围 中心位置 保守范围 可能范围 实际长度(ms) \n",
|
||
"--------------------------------------------------------------------------------\n",
|
||
"0-0 6.5-6.5 0-13 4-8 80\n",
|
||
"1-1 10.5-10.5 4-17 8-12 80\n",
|
||
"0-1 6.5-10.5 0-17 4-12 160\n",
|
||
"206-207 830.5-834.5 824-841 828-836 160\n",
|
||
"5-10 26.5-46.5 20-53 24-48 480\n",
|
||
"\n",
|
||
"=== 实际数据验证 ===\n",
|
||
"转换结果统计 (基于 4000 个segments):\n",
|
||
"输出时间步长度: 平均 1.6, 中位数 2.0\n",
|
||
"简单映射长度: 平均 3.4, 中位数 5.0\n",
|
||
"保守映射长度: 平均 16.4, 中位数 18.0\n",
|
||
"可能映射长度: 平均 7.4, 中位数 9.0\n",
|
||
"\n",
|
||
"原始时间步 vs 输出时间步的比例:\n",
|
||
"简单映射: 平均比例 1.8x\n",
|
||
"保守映射: 平均比例 11.3x\n",
|
||
"可能映射: 平均比例 4.7x\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAPdCAYAAABlRyFLAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xl4TNf/B/D3bNlFEhFrSKp2tYegtlprCVG1lCIV+04pal8Su9ZeS4XWUrS+WlrUWkXVGktCiygimkVWSSaznN8f88ttxiSRkGQk8349zzzmnrudz2TMvfdzzz1HJoQQICIiIiIiIiIiIiIiE3JzV4CIiIiIiIiIiIiI6E3FJDoRERERERERERERURaYRCciIiIiIiIiIiIiygKT6EREREREREREREREWWASnYiIiIiIiIiIiIgoC0yiExERERERERERERFlgUl0IiIiIiIiIiIiIqIsMIlORERERERERERERJQFJtGJKM9otVrExcVBr9ebuypERESvRaPRmLsKRERERZJWqzV3FYoUnU4HIYS5q0FU5DGJThYhLi4OsbGxeP78OVJTU3P0SkhIQFJSEgAgLS0tx+ulv9LS0nJVx88//xxLly596XK3b9/G2LFjERYWluUy//vf/7Bt27Yc7ffOnTvYt29fjusZHh6OuLi4TOdduHABzs7O+Pvvv1+6ncjISDx79sykPDo6Gg8fPsxRXVJTU3Hs2DFER0ebzIuPj891Mv/p06d499138ccff+RqPQB4/Pix0b5Xr14NtVqd6+30798fEydOzPV6RESUe/v374eHh4fJ7/WxY8fg4eGBBw8eAADUajWSk5Nf+6I/NDQUO3bsyNU6ISEh+PPPPzOdFxsbm+s6fPnll/joo49yvV5GFy5cwIYNG3K8/M8//4xbt269dLm4uDgcO3YMycnJmc4XQuDJkyfS9P3797F169Yc1yOdRqNB/fr1ERQUlOt1iYgoZ65fv45hw4YhPDzcZN7ChQtRp04dxMfH53q7Pj4+2L9/f15UsUCdP38ea9asMTmXSE1NRUBAAKKiol66jfj4eNStWxc3btwwKv/mm29Qr1496bwlt2JiYuDj44OLFy++dNmNGzdi6dKl2SbtZ8+ejevXr2c5PyIiAseOHYNOpzOZ9yrnNidPnkTjxo2zPH8gyitMopNFGD16NFxcXODg4ABbW9sc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G20F9P+Bf9dCLON35oXvS17FasPH+YmIiqZr14D58w0J9IYNgWnTACsrc9eK3hBMohMREdFrcXNzg16vR0REBFxcXHDz5k2j+YmJibCysoKLiwuioqJMyrNjbW1tkpQHALlcnifJHpHhsf+CSB7JZLIc1b2g65UfchprbgnZf13d5GTbGZfP6Tq5lV+xvokKPlbjvx8K8DPm37WwyvCdySSevIi1aHxORERk5MoVYMECQKMBvLwMCXSVyty1ojcIj/5ERESUK5MnT8bOnTul6fPnz0Mul8Pd3R1eXl44f/68NC8sLAxqtRouLi4m865evYpy5coVaN2JiIiIiIiMPHr0XwK9cWMm0ClTTKITERFRrtSpUwczZszA8ePHcfToUQwfPhwDBgyAnZ0dWrRogYSEBGzduhUAEBAQgLZt20KhUMDHxwdnz57FsWPHoNFosGTJEnTo0MHM0RARERERkUUrXx7o2BFo0gSYOpUJdMoUu3MhIiKiXOnfvz9u3bqFDz74AAqFAv3790dAQAAAQKlUYvPmzejbty8mT54MuVyOU6dOAQBcXV2xcuVKdOrUCQ4ODnByckJQUJD5AiEiIiIiIsslBCCTGV5DhgA6HaBkqpQyx28GERERvZQQxv0SBwYGIjAwMNNlfXx8cO/ePVy+fBne3t4oUaKENG/48OHo0KEDbt++jebNm8PBwSFf601ERERERGTi/Hng1Clg8mRD4lwmYwKdssVvBxEREeW50qVLo3PnzpnO8/T0hKenZwHXiIiIiIiICMC5c8CSJYaW54cOAd26mbtGVAgwiU5ERERERERERERF3++/A0uXAno90LIl0KWLuWtEhQST6ERERERERERERFS0nTkDLFtmSKC3bg2MHw/I5eauFRUSTKITERERERERERFR0XX6NLB8uWEw0TZtgLFjmUCnXGESnYiIiIiIiIiIiIqmxERg/XpDAr1dO2DMGMNAokS5wCQ6ERERERERERERFU3FigGzZhn6Qx8yhAl0eiVMohMREREREREREVHR8vw5YG9veF+jhuFF9IrY+Q8REREREREREREVHUePAkOHAmFh5q5JrgzY/Acm7bmKAZv/MHdV6AVMohMREREREREREVHRcPgwsHo1kJBg6MKlkKg09RDO3X+GuBQtzt1/hkpTD5m7SpQBk+hERERERERERERU+P38M7B2reF9t25A//7mrU8O9dt4HroXynT/X05vBvaJTkRERERERERERIXboUPAhg2G976+gJ9foRlE9O+opFyVU8FjS3QiIiIiIiIiIiIqvH766b8E+gcfFKoEOgBULumQq3IqeEyiExERERERERERUeGk0wHnzhnef/ghMHBgoUqgA8COoU2geKFM8f/l9GZgdy5ERERERERERERUOCkUwOzZwG+/Ae3aFboEerp7izqj/8ZzEKnxaOpcHN8ObWruKlEGTKITERERERERERFR4RISAtSoYXhvYwO0b2/e+uSB7f7eiIyMhJubm7mrQi9gdy5ERERERERERERUeOzZA3z2GbB7t7lrQhaCLdGJiIiIiIiIiIiocNi9G9ixw/C+kHbdQoUPk+hERERERERERET0ZhMC2LXL8AIMA4j27GneOpHFYBKdiIiIiIiIiIiI3lxCGFqff/edYdrPD+jRw7x1IovCJDoRERERERERERG9ub791tAPOgAMHgx0727W6pDlYRKdiIiIiIiIiIiI3lwuLoZ//f2Bbt3MWxeySEyiExERERERERER0Zurc2egZk3Aw8PcNSELJTd3BYiIiIiIiIiIiIgkQgD/+x+QmPhfGRPoZEZMohMREREREREREdGbQQjYfvstZF9/DcyaBWi15q4REZPoRERERERERERE9AYQAvjqK1j/+qthumNHQMneqMn8mEQnIiIiIiIiIiIi8xICWL8esp9/BmQyiDFjgA4dzF0rIgBMohMREREREREREZE5CQGsXQv88gsgkyHZ3x9o187ctSKS8HkIIiIiIiIiIiIiMp/t24EjRwwt0MeNQ1rNmuauEZERtkQnIiIiIiIiIiIi82nfHihZEpg0CWjd2ty1ITLBluhERERERERERUxKSgpsbW3NXQ0iopwpUwbYsAGwsgL0enPXhsiE2VqiHzhwAG+99RaUSiXq1q2L0NBQAMDYsWMhk8mk19tvvy2tc/PmTXh5ecHZ2RmTJ0+GEEKad/r0aVSvXh2urq5YsWJFgcdDRERERERElN927NgBANBqtdi+fXumywgh8PbbbyM2NrYgq0ZElHN6PbBqFXDp0n9lVlbmqw/RS5gliX7v3j34+flh0aJFCA8PR5UqVeDv7w8AuHTpEg4dOoTY2FjExsbi6tWrAAC1Wo2uXbuiQYMGuHTpEkJCQhAUFAQAiIqK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uIheo0YNTZw40Rz++9//rqCgIPXt21d9+/aV0+mUJLVr104ffPABJ+QAAFiA/TUAAP4hNzdXkvTvf/9bCxcuVExMjN566y1JUkREhLZv304BHbCCYbhbn//5eVRCgnTbbdbGBOC8nXMHaR07dvQYDgkJMR+3bNny3CMCAABlhv01AAC+yeFwSHLf8Hvy5Mnq3LmzOa1atWpq1qyZVaEB/sswpNdfl/7zH/fw3XdLt9xiaUgAygZ3GQEAAAAAwEs8+uijysjIUP/+/fXAAw9IkjZs2KD333/fnMdms6lDhw7q16+fVWEC/iklRfrgA/fjoUOlXr2sjQdAmbFbHQAstLSv+89H7R92v/YPu9/qMCDpoS8eMv8AAAAAnLt3331Xf//73/Xee+/piiuu0H//+19dccUVWrJkieLj43XFFVfooosuUkJCgjIzM60OF/Av0dHSpEnSsGEU0AEfQxEdAAAAAAAvcPz4cdlsNt15552qWrWq7rzzToWHh+vOO+9UcHCwXnnlFV155ZUaOXKkbr/9dp06dcrqkAHfZxhSauqZ4dhYqVs36+IBUC4oogMAAAAAUMk5HA5dcsklSklJkSTz5uD5bxI+cOBAde7cWZs3b9arr76q2rVrWxIr4DcMQ1qwQBoxQtq71+poAJQjiugAAAAAAFRy1apV0+eff66qVavqtddeU3p6ul577TU5HA699tprys7O1j333KNZs2bplltu0fHjx60OGfBthiHNmye9/76Uni7t2WN1RADKEUV0AAAAAAAqOZvNphYtWmjAgAH65ptv1KdPH61du1a33nqr1q5dq5ycHElSnz591KFDB40aNcriiAEfZhjS3LnShx9KNpu7Jfp111kdFYByFGh1AAAAAAAAoGRmzJhR6PiDBw8qJydHQUFBGj16tDZu3FjBkQF+wjCkOXOklSvdBfSHH6aADvgBiugAAAAAAHix48eP66233lJQUJAkqXnz5vrb3/5mcVSADzIM6aWXpE8/dRfQ//lP6dprrY4KQAWgOxcAAAAAALxIdna2DMMwh2fPnq0NGzaYw6dOndJ1112n/fv3WxEe4LtycqSDB90F9JEjKaADfoSW6AAAAAAAeJHQ0FDZbDZJkmEYstls+v77783hwYMH69ChQ6pZs6aFUQI+KDhYmjhRSk6WLrvM6mgAVCBaogMAAAAA4EUiIiJ0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7THu66+/Vrdu3ZSRkfGXy9tsNk2dOlXz5s0r0fMBAHDZZZcpOjpaTZo0KfZv0qRJHsvNmzdPH374oce43bt3q23btvr5559L9NyPPfaY+cNvbm6uIiIitH379gLzXHbZZUpOTi7ROo8fPy6bzaaTJ0+WaP5zYRiGbDabtm7d6jE+OjpaLpdLd999tySpVatWBY4dqlWrpsjIyALrzMvL0+eff24W3du2basVK1YUGcNXX32levXqFRh/0UUX6YMPPig2/tTUVDVr1kzvvvuu/u///k/vvfee/vvf/+q9994z59m+fbtatWpV7HoAAN7tpptu0oIFCzzGLVmyRB07dtT8+fNLtI42bdroo48+Ou9YOnXqVOi5dWxsrAYNGqTjx4/rgQceKLBfrVmzZqH7ZEn64YcflJKSIkl65JFHNGrUqBLFcvHFF2vlypUe46ZNm6YxY8aUaHmn06m77rpL3333XYnmB7wdRXTABwQEBKh69epmwfvFF18sME9wcLCCg4MLjO/YsaMeeOABORwODR48WFlZWUpPT9fx48fNv65duyo0NLTAsq+88opZyA4MDPSYJy8vT6dOnSo03tDQUI95d+zYoVtvvVUtWrRQeHh4gfmHDx+uevXqeRQ5Dhw4oOeff94crlevnmJjY//6xQIA+KWgoCDNmzdPv/32m/nXtGlTrVq1yhzet2+fnnrqKY/l9u3bp/bt23uMmz9/voYOHao2bdooLS2t2Ofdv3+/jh8/rsjISGVmZmr79u2qUaOGLrjgAjkcDknSm2++qeXLl+vtt9/WP/7xDx06dKjAerZv3+7x43FISIgkKSwszBz32muvac+ePSV6PZ588kkFBwebBe/atWsXmMdmsykwMLDA8YPNZtOMGTMUERGhrKws/fLLLzp58qTHscOqVasKPXbIzc3V9ddfb7YKPPv4ISsry6NVYGhoaKHHLyEhIR7js7KylJ2d7THP//3f/6l9+/Zq0qSJli1bpnvvvVdr1qzRunXrdOjQIe3YsUPh4eGqWrVqiV4zAIB3ycnJ0fHjx7Vnzx61a9fOvPJox44devDBB/Xmm29q5syZ+vrrrz2WO3XqlJ544gmP/UpISIjHPnfVqlVas2aNOfz111/Lbrd7FLy3bNlSIKaizssTExPVvn17paWlacGCBcrMzNSJEyc89q1Vq1YtdN/68MMPa926dZIK7ldzcnIK7B9PO/u8/O2339bkyZMLHPec1rZtWzVs2NA8B4+Li1N4eLj69OmjJk2aqHHjxoqOjta9995b6PKAtwu0OgAA5y8oKEg//fSTLr74YnXv3l2BgYF64oknFBQUJLvdLpvNpm+//VaHDx/Wk08+qV69eqlVq1a66KKLNHv2bM2cOfMvnyMwsODXRUBAgAICAiRJdrtd69atU5MmTSS5i+ht27bV+++/X+x6f/nlF3Xp0kUPPfSQnnjiiULnyc3NVWJiokaOHKljx47p008/Vb9+/SS5W5m99957Gjp06F/mAADwXzabzWP44MGD2rBhgxo0aFDo/GvXrtXy5cu1adMmvf322/rkk0906623qkmTJnr33Xe1bt06GYahm266Sffff7/uvPPOQtczbdo0s0XYvHnz9PTTT8vpdKpdu3Zq3769brvtNiUkJOidd95R9+7ddfToUbVv316vvvqqrr32WnM9e/bs0euvv26emJ7OJ39ec+fOVb169XThhRf+5esRFBSk22+/XW+88YbWr1+vHj166IsvvtB3332ngIAA2e12c/3z5s1To0aNNGLECC1atEgLFy7UN998o1deeaXY5yjq2EGSedJut9vVv39/c9jpdOqtt95Sx44dzelnbzvJXYQ4va5Dhw7p9ttvV2xsrP7973+b87z00ku6++67ddlll2nQoEFyOBx6/vnnJUlz5szRqlWr9MwzzxS6fgCA99uwYYP69++vw4cPq1+/fsrLy9MHH3yg66+/Xvfee6/69eunpk2b6sYbb9QTTzyh+++/X3a7XS6XS5MmTdL48ePNddlsNo/9xWeffSabzaZOnTpJcu9X69evrz/++EOSFB4erj/++EPvvvuuAgMDzX3W/v379cknn+jQoUN65JFHlJKSoksvvVTHjh3T22+//Zc5FbVvzb9fnTVrll599VVJ7iL68OHDC1wJfrb33ntP99xzj959913deOONhc6TlZWl5cuXm1fOHTlyRNdcc40kadOmTTp48KBuuummv8wB8FYU0QEfcPaONCgoSLGxsQoMDFRgYKBsNpt+/fVXOZ1OXXrppapRo4Yk9wno6ZZsrVq1MlvEnXbfffcVuJTL5XLJ5XIVuvOOj4/X6tWrPcbl5OQoKCio0Li///573XLLLXr44Yf/8pIxm82mU6dO6eDBg3rsscfMIvqR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nz568sknS7yeq6++2rxJSFG/HOe/ZOybb75RTEyM9u3bp5SUFH377bfmfE6nU/369dOOHTskSTNnzpTT6VRGRobuvfdejR07VhkZGXrttdfUtm1bZWRkmH9Op9Pj5qgnT540b3hWvXp13XLLLXr++ef1/PPP6/3339fAgQNLnCMAwD+dPHlS1apVk2EYuvHGG7V161aPvxkzZhTYn65du1bt2rXTzp071aBBA0VEROiBBx5Q69atC9zYq2fPnh7DTz/9tNmq/LTVq1crNDTULOKGhYUpODhYO3bsMLt+CQsLU5UqVRQcHOxx0rxkyRL9+OOPSk1NVWpqqnmSfno4NTVVK1asKNCtWlEKO3aQpPHjx+uNN94w4/kr77zzjnns0KxZsyLnO31S7nK51K9fPz3yyCOSpDVr1njcnPWtt97SpEmTPJa12WwKDQ1VWFiYIiIizNe+qP7sr7rqKn322Wey2+3KycnRkCFDNHDgQL3yyivasGGDmjdvXqLcAADe7dtvv9UFF1ygjz/+WIZhqHr16goODtaBAwf0888/Syp8v/vyyy/rlVde8djHtmvXTsuXLzeHf//9dyUnJysnJ0dS0fvVO++8U9nZ2XrjjTdKFPMff/xh7lebNGlS5A+/+Qvy06dP1zXXXKO8vDwlJyfrl19+Maft2rVLAwcOVHp6uiR3P/GnTp1SRkaGmjdvrhUrVigjI0P33HOPRowYYZ6Tnzx5Ujk5OWYBXfI8L2/evLnq1atnnpf/73//8+iaDfBFtEQHfEBeXp7H8OnLve69994Cl6sX55tvvvHozqU4GzZsUJ8+fTR37lw1atRIycnJZj9wLpdLd955p5KTkz0upS7MLbfcYva/lr+rmfwOHz6s+vXr64477jD7qg0PDzenOxwO1a1bVw8//HBJUwUA+JnDhw8rMjJS//vf//T999+rSZMmyszMNPchkvv+IPl98803GjhwoL744gvzJp+33nqr3n//fY8W33l5efr444/Nm2lt3LhR9evXV506dTzW99xzz0lyX4mVkZFhXtpdr149BQcH69SpU0W2JF+zZo2cTmexOaakpGjNmjUlej2KOnb429/+piFDhuh///uf2Zd7cfr06VOgO5finvO+++7T8ePHNWXKFEky798iST/++KOGDh2qZ599tkQ5FOf06xgUFKTnnntOzZo105AhQ7R27Vr9+uuv+vbbbwu9PB4A4Dv69OmjPn366Oeff9a//vUvXXvttdq8ebNq1aplXil29g1DJWnr1q2qVq1aseu22Wx66623tHTpUkkF96uSe98aGBiof/7zn+bV2H+lQYMGBbpzKc6iRYs0a9YsffbZZwoICPDYrx49elQ9evRQu3btzK5Si/LAAw+oQ4cOevDBB9WoUaMC03NycpSenq6oqCg1bdpULpdLQUFB5g/bLpdLH330kS699FKPLtYAX0IRHfABeXl5at++vex2uxwOh3r16iVJ6tixozp27FiidRR2IlnUr+lffvml+vTpo5dfflm33367x7TMzEwNHjxYu3fv1ueff27+Ul0Ul8ulZ599Vvfdd59atGihv/3tbwXm2bVrlxo0aKDXX39dDodDcXFxevXVV9W6dWv93//9nyZPnqxhw4aVKE8AgP9JTU3V0aNH1bhxY7Vq1UpdunRRVFSU2Q/66tWrdfz4cbMf09PmzJmjyZMna+/evWafqcHBwVq4cKFHNyItWrTwaJn+zDPPePRFmt++ffu0Y8cO/fDDD+YJ7ZEjR3TixIliC9Al6aalqBuMFSYvL0/vvPOOVq5cqdzcXI+T63nz5pVoHUUVoQs7fnA6nRowYIAOHTqkTz75pEBx4rPPPlPfvn3NY4KifPHFFx5dwJXE6R83Hn/8cY0aNUpNmjTRihUr/vJHCQCA90tLSzPvPzJ06FC1aNFCJ06c0KFDh4pcpqT73Pz/8/LydOjQIbMLmJMnTyo3N1eS+0afJVGa/arkPt547rnn9OWXXyo2NtZj2m+//aabb75Z7du31yuvvPKXxwcXX3yxBgwYoL59++qLL75QWFiYx/Q9e/aobt26stls+vXXX7V+/XoNGTJEX3/9tapVq6YRI0bI6XRSQIdPozsXwAfk5ubqhx9+UGpqqm644QbzkrLSqFOnjq655hrzsrFly5YVeTIfGhqqRYsWqW/fvh7jf//9d7Vu3VqBgYH6+uuvFR0dXexzLlq0SBdddJHat2+vvn37qlOnTvryyy895tm+fbsMwzBbyFevXl3z589Xr169NGvWLD322GP673//y92/AQBF+vLLL9W6dWvVqFFD+/fvV2xsrLZs2WJOT0tL0yWXXKIPP/zQY7nu3bvrhhtu0GBN53kAANGkSURBVMUXX6xhw4bp448/LvLE+vT4tWvXqlmzZoqIiCgwz4QJE9S2bVutXr1aTZs2NfejwcHBZh+rOTk5RZ4sl6Xc3Fz16dNHqamp+vzzz8/p2CEkJESrV682jx0uueQSNW7cuNDitN1uV1xcnD799NMCBfSnnnpKgwcP1pIlS4osoG/cuFE9evTQrbfeqmPHjhWY/vvvv+v++++Xw+EodPn09HT985//1OOPPy5Juv/++0t1tR4AwPt8+eWXqlevnubOnavq1aubfZgHBgaa549ltd/Nzc1VvXr1zO5eqlatWup96+kiev7uXA4fPlzksUdERITWrFlToIC+cuVKxcXF6Y477tCrr75abF/sp06d0qOPPqorr7xS06dPV25urjp37uzRGl5yv5b5C+SXX365Bg8erK5du2rMmDHatGmTZs2aVap8AW9DS3TAB0RFRZmXbM2fP7/Ar8aSu8uTs3e+mZmZ5q/jRd2Y0zAMpaammuvMy8tTgwYNVLNmTX3++efau3ev1q9frw8++EDNmjXT6NGj1bVr12LjTUtL0+uvv67g4GDNmDFDjRs31osvvqiqVavq+uuv1y233KJp06apadOmmj9/vnr06GEum5GRobS0NIWHh+uRRx5R165dtXnzZhmGobp16/7lZWoAAP+zbNkyXX/99fr999/VvXt3PfTQQ2rZsqV5345atWqZN85auHChbrnlFknS4sWL9Z///Ec//PCDfvnlF2VkZMgwDD3wwAMercrS09PNE98ZM2Zo4cKFhcYxevRoTZgwQc8//7wyMzNVv3595eXlqU+fPtqzZ4+++uortWjRQjabTRs2bPDYb2dnZ5tXneWXv/V8bm6uLr/88hK9JlWqVDGXbdmypdatW1dgHqfTqezsbI848h873HXXXbrrrrsKXX9KSorH8UhGRob+8Y9/aPv27dq3b5+2b9+uVatWac+ePbrrrrv0n//8R7Vq1Sqwnh9//FH79+9Xx44d9dBDD2nx4sWqXbu2Jk+erD179pjzvfvuu3r77bf1wgsvmONycnKUl5envXv3qn///mrfvr3+8Y9/mNN/+uknbd26lWMHAPBRnTt3VkpKinbu3KnHHntMrVq10meffaYrr7xSd9xxhxYtWqTIyEhde+21MgzD3N9lZ2dr5MiRHl2cZmRkqHv37uZ599kCAgI8GpFt3ry50Ht3nH1enpmZKcm9D4+NjS1QvM6/nNPpNPet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v3XrFpo1a4YlS5boPbewsBAFBQU6r9q1a+PPP//E7t27pbaiX14ePHhQ6jUREVVkHK+BmzdvIiYmBnFxcbh06ZJRr7i4OERHRxe7xmPHjmHu3LnFitO3b9/Grl27pO0ffvgBH3zwgbTN8ZrjNRFVHIWFhbh37x5ycnJ0/p308PDATz/9VOzfzwcPHuh8AVlYWIiYmBhcunQJly9fll4LFizA1q1bddouXbqEmJiYcrza58/bb7+NBw8eYPv27aUe+8EHH2Dy5MkIDw/HRx99hKFDh0Iul2Py5MmwsbGBTCbTealUKgQHB0vn5+bm4sqVK8Vej4+tRe7cuWNwTHyasbmIRqNBhw4dMGfOHACAXC7H3LlzsWrVqlLPfVRhYSG+/fZbFBYWQqVSmXQuEQBAEFVweXl54ueffxZBQUGidevW4vDhw2Lv3r3S/pEjR4o33nhDpKamCg8PDzFr1iy9fTk7O4utW7fqtNWvX19s3rxZp61z584iODjYrNdhTqmpqUKlUokjR44IIYQYMWKE+PDDD4sd9+GHH4q33367WHtiYqKIj4/XeZ07d040b95crF+/vti++Ph4kZubK4QQ4sSJEwKAUKlUQqVSCZlMJj788ENRWFgocnJyRE5OjkhJSREAxD///CO15efn68SwcOFCAaDYq3HjxsXirV27tvj555/15uPHH38UCoVCp+3Bgweiffv2wtXVVfz11196z1WpVCXGoe81Y8YMvX0REVVkHK//JzQ0VNja2gpHR0dRtWpVgy9ra2uhVCqFo6OjsLa2Fj/99JPUz4MHD0SDBg3EtGnThBBCTJ06VaxZs0YIIcTRo0eFu7u7OHDggHjttdeEg4ODmD59ulCr1UIIjtccr4moIomPjxcAhFwul/7d1/eytrYWMplMhISESOenp6cLpVIpKleurDNGWVlZiUqVKum0ValSRSiVymLjRUWhVCpNGo8AiN9//106v0WLFlLuJ0+eLDp27CiEEOLevXsiLS1NpKen67yK2oocP368xPd49JhHNW/eXISGhuq9nqcZm4usW7dOKBQKER8fL7VFREQIW1tbkZCQUOI5165dE/Hx8SIxMVEkJSWJpKQksWnTJgFA7N27V2orev3777/i77//FjExMaXGQxWX0oz1eCKLlJOTg2nTpiElJQUODg6YOHEi8vLy0L9/f3z33Xc4duwYoqOj4ezsjMjISPj4+CA+Ph5r1qxBtWrVdPqysbGBra1tqe9pbW0Na2vrsrqkp7ZlyxbUrFkTPj4+AB5+06tPSft8fX0RHx9f4vFjxowpsT0uLg5NmjSBlZUVACAtLQ329vZo27YtrKyssGvXLgwbNkznnIYNG0o/f/DBB1i+fLm0rVKp0KlTJ+zbt09q27FjB7788sti723orreSaDQavPnmm0hKSsKRI0fQvHlzvccqlUps3boV/fr1AwBMnjwZvXv3Rt++fQE8fCxt9OjR+PLLL1GzZk1+I05EpAfH6/+ZM2eOdDdWaYYNG4YbN27g5MmTOu1arRaBgYGoX78+Fi1aBADo1KkTAgIC4O3tDeDh3ejz58/Hu+++i3379sHOzk46n+M1x2siqjgaN26M3NxcqFQqHDp0CL/99hvmz5+vc8yRI0dw4sQJTJ06FQ4ODjrTdzg6Okp3satUKunf8x49euDVV1/F3LlzATy8Uzg7Oxu2trZQKBTP7PqepXPnzuHYsWM6T3c9qlKlSggODsa4ceOK7SssLNTJy6lTp9CnTx/Y2NhIbY/+3rJ//37pyXEnJyej4lMqH5YJr1+/jlq1auHgwYPo06cPMjMzER8fD2trayiVSsjlcshkMuTl5eHOnTv473//i6pVq6JevXoG+zdlbAaAzMxMLFiwAKNHj8ZLL70ktY8ZMwbr16/HyJEjceLEiWK/r4WGhmLTpk0l9unn52fwPYWBqeWoYuN0LlThOTg44O+//4ajoyO2bduG+Ph4JCYm4sSJExgzZgycnJxQtWpVyGQytG7dGg0aNEBUVBQaNWqE6dOn68ylZeqHu+dRdnY2li5dCg8PD6lNq9VCo9EUmw9do9GU+FiXjY0NQkJCIIQo8XXy5En8/fffEELgt99+k84BUGKx4tEixvXr16VHzv/66y9cv34drVq1KnaetbU18vPzkZaWJr2ysrJgZWWFy5cv4+LFi0hISMA///yDgoICJCcn48KFC0hNTTWYn6ysLAwcOBBnzpwxatCXy+WwsbGBXC6Hra0tTp06JRUc7O3tYWtri9OnT8PW1haOjo7PZbGGiOh5wPG6uMzMzBIfub5+/Xqp527evBnff/89UlJS0Lp1a9SrVw/jxo2DQqHAwIEDcevWLbi7u+P333/HO++8Azs7O6xcuRLLli0DwPGa4zURVSRF034AgK2tLRYsWIADBw7oHPPFF19g//79sLe3h0wmk4qxRY4cOQJnZ2dUrVoVLi4ucHFxwYkTJ7Bo0SJp28XFBW5ubrh06dIzu7Zn7dy5c1ixYoXe/bm5uahUqRLs7OywePFiFBYWwtHREY6Ojpg6dSqGDBkibRf97lPSfOOXLl1CYmIi/Pz8pC8w9NFoNNLvSUVfkj/ur7/+Qrdu3fDaa69Jr65duyIxMRFfffUVfHx8sHbtWoPXburYDAAfffQR1Go1PvvsM532oi+/z58/j+HDhyMvL09n/5o1a6DRaFBYWAghBDZv3gyVSoV//vkHKSkpCAkJwd27d0usVxDpwzvRifBwgLl37x46dOiAgoIC/Pjjjxg5ciSWL1+OkSNH6vyDbG1tjXv37mHUqFG4fv36C3cn0ooVK3Dr1i00btxYasvNzcWaNWuwZs2aYse/9dZbxdpyc3MNvsfo0aPx1ltvYeHChVAqlahSpQry8/MBlHxnu0wmk9pr1aoltXt6ekofZEu6U+Gvv/5Cx44dpW2NRoPGjRvj/fffx+nTp2FlZQW5XI779+/jww8/RGFhIcLDwzFlyhS9sY8cORJ//fUXjh49imbNmhm8ziKpqak6d+9NmDCh2GJtjRo1AgC8//77WLdunVH9EhFVNByvde3YsaPEBd1cXV1x584dg+d2794dn376KVq1aoX69eujevXqcHFxwd27d7F27VpUr14d6enpuHbtGmrXri3NI1q/fn0AHK85XhNRRVK0rpW1tTWqVauGDh064Ndff5WeNLp37x5++uknrF+/HklJSdBqtcjLy4ODgwNcXV1x//59tG3bFjdv3tTpd+DAgejYsWOxtUy0Wi1SUlJQrVq1F+aLb2PduXMHlSpVwvXr17F//35s2LABy5cvR0BAAIQQOvOPd+jQAWlpaSX2ExkZCU9PT7Ro0QI9evTAr7/+avB9p0yZghUrVuh9Cr1Pnz7Iyckp1u7t7Y0333wTs2bNKvXaTB2b9+7di/Xr12Pbtm3FnioEgJYtW2LXrl0YPHgwevTogR07dki/fzx6d35qaiqmT5+OWbNmoUGDBoiPj0doaCjeffddODs7lxoHUREW0YnwcNHLXr164f3330e9evXQvXt3+Pj44MyZMzhz5gwA4OWXX8a7774L4OE3qG3bti022Ofl5ZVYVA4MDCy2AGf79u1NinH06NFISUnBL7/8IrWtXbsW8+bNQ3JyMhQKBTIzMzFlyhTs378fOTk56Ny5M7744gvUrl3bqPe4ePEi5s+fjy5duui0P7qw2OjRo6FUKrFx48YS+8jNzcXWrVtRo0YNve+jUqmkQa1Dhw64detWsV+OGjduDJlMhjt37sDX11dnMC8q0j86MJY02Hfq1AnHjh2Ttrds2YI1a9YU+wWibt26WLNmDXx9faW2CxcuQC6XQy6XIzk5GcDD4k1QUBBGjBgBhUJR7A6J/Px82NraSgUG4OEvgDVq1EBWVhZsbGzg5eWFSZMmSUWPGzduwMPDA//++y9q1aqld8EWIiLieP24SpUqoU6dOrhy5YrUtmbNGml6FkPq1q2LmTNn6tyZlpmZCWtra8yePRvp6emws7NDnTp1oFAoIISAXC6X7kQvwvGaiOjF98EHHyA1NRXW1tbS57aTJ0/qTBXWpk0bfPnll/jyyy+lJ5kHDBiADh06YNCgQVCpVDpfpKrVashkMpw7d67Yl5JarRa5ubm4c+eOtDj1559/ji+++AJ37txBkyZNsHTpUrz22mvSOcePH8fHH3+M8+fPo27dupgzZw78/f2l/deuXcN7772HP/74A02bNoWvry82bNiA6dOnY8+ePWjSpAliYmJw4cIFrFy5EpGRkfi///s/TJ06VboLes+ePZg7dy4uX76Ml156CUuWLEH37t0BAHPnzsWxY8cQFhaGiRMnIj4+Ht7e3vjmm29Qr149jB49Glu3bpXiKcpjSEiINJ0N8HDqm59++gn9+/fH2bNnMX/+fIwePRpNmjRBXl6ezhPjhtjb2yMnJweZmZnYuHGjzlQwb731Ftq2bYsZM2YAePjltYODg05cj79PUfs///yjM01bScwxNp86dQoBAQEYOHAgvLy8EB8fX+IXKvXr18f69esxbdo0NGvWDKtXr8bIkSN1+n3rrbdQo0YNvP3227hx44b0xUNqaqpOn3Z2dkZPe0MVE4voVOEVFBRg/fr1mDFjBv7zn//gypUrqFSpEt58800sXboUoaGh2LlzJ06fPg2VSoUPP/wQJ0+exKJFizBv3jydvk6dOlXsQ1X37t0xYcIEvPHGGzrtRb8MGGvo0KEYNGgQsrKyYG9vDwDYt28f3nzzTWkwnD17NiIjI7FhwwZUqlQJ8+fPx5gxY3Dw4EGj3uOTTz5Br1690KNHD+zevRuFhYUoKCjQ+WXpcUV3GVhZWUGhUOCzzz7DggULSn2vkJAQhISESNuLFy/GRx99JG3/9ttvsLW1Re/evaHVanUeUSv6UP7oXYVCCOTk5KBSpUpS2/Hjx4vF3aZNG8TFxeHdd9/F8ePH9T6OPXDgQNy+fRsqlQp5eXkoLCzEq6++CuBhkUEmk0n/HR59f19fX3z//fdSe15eHmxsbKQ72woLC5GTk4P79+8DePjLY9H5+h6dIyIijtcl0Xe3mKG1TB41cODAEu9MO3PmDNzc3BAaGopOnTpJuXJ3dy/2oZrjNRHRi+/QoUNPdX7Rk2KFhYWIi4vDZ599hsuXLyMiIgKtW7fGlStXEB4ejpycHKxfvx6VK1fWOf+nn37CzJkzsWzZMqkw/ei//3///Tdef/11jB49GosXL8b//d//Yfjw4XBzc5OK3O+++y6USiX27duHr776CsuXL8ehQ4fg6uqKPXv24JtvvsGmTZuwYcMGvPPOO5g/fz4aN26M5cuX47PPPsOxY8fw1ltvYdasWejRowe++eYb9OnTB+fPn5fm6r527RoGDx6MWbNmoU6dOhg7diw+/vhj7N69G3PnzsXEiROxb98+rF+/Hnv37gWAYjefXbt2DcOHD0fjxo3xzTffYO7cuXj77bdRv359ZGZmGjUFCgCMGzcOa9aswbJly3Q+dwMPx+UqVaqgbt26xeZZL/odIioqCtWqVcPx48cxevRoyGQyHDhwAL6+voiLi9N5cv1xTzs25+bmYtSoUWjfvj369+8vrdWiT+/evXHmzBkEBgaiQ4cOUnthYSECAwNx/PhxAA+/jH9UmzZtdLZHjx6NzZs3G3wvquCe4SKmRM+lY8eOSStOW1lZidq1a4u1a9eKHTt2iPbt24t//vlHjB8/Xrz//vti9+7donbt2uLatWsCgNBqtVI/GzduFOvXry/Wf/369cXmzZt12tLT08Wnn34q0tLSjI4zPz9fVK1aVfzwww9CiIcrWtvY2IgTJ05Ix/j5+YmXX35Z2k5MTBSHDx82+j0uX74s0tLSxOrVq0XXrl1FVFSU0SuCHz16VAghRFpamrhy5YpITk4WKSkpJb6aNWsmZsyYIVJSUsSNGzdEYmKiuHfvnhBCiOjoaAFAZGZmCiGEaNOmjejXr59RMdSpU0e6ltWrV4tOnTrprDweEREh2rRpI9RqtbCxsZFyU6dOHfHzzz/rzcvjK4p//vnnol69eqKwsNBgPgsKCgQAcfbsWamtTp06JcYeFxdn9H8nIqKKiON1cV9//bXO2CfEw/Hv0bahQ4eKTp06lXh+3759xfz583ViByAuXLggDhw4IOzs7KR9WVlZ4uDBg9I2x2sioopn7NixRv07/9tvv5V4/ogRI6RjHB0dhb29vTSuBwYGitjYWPHvv/8WO2/ZsmXCyspKZGVlCSGEuH//vvj555/FgwcPhBBCjB49WrRs2VLnnFatWomRI0dK23Z2duI///mPEEKIuLg4AUDcvHlTCCFE165dxXvvvSeEEGLOnDmiYcOGQgghjhw5IorKZq+99prw8/OT+issLBQuLi5izpw5QgghQkJCBACxZ88e6ZhFixaJBg0a6MS1efPmYmP34/7991/xyiuvCBsbG/H3339L7c2bNxdr1qwxeG6bNm1ESEiIEEKI0NBQ6b2WLl0qXn/9dZGXlyc6deokZsyYIb7++mvRunVrnXHy7NmzAoC4fv26EEKIAwcOCAAiPz9fFBQUiEaNGunktWXLljq/SzzuScfmmzdviszMTJGXlyc0Go148OCBkMlkYufOnTrHdevWTfpv96isrCzxxhtvCDs7OzF8+HDRsmVLkZ+fL/Lz88WlS5cEAHHjxg2pbciQIeL99983GBMRFxalCq9z58749ddfkZmZiZEjR+K9997DuHHjIJPJcP78efTu3RvffvstAEChUEAmk0l3Sz1619TJkyelRTJLU1BQgAULFpQ4p5g+SqUSb7zxBvbt2wcAOHz4MFxcXKRvdAEgKCgIZ8+eRbt27TBt2jRcvHgRPj4+Rr9H/fr1UbVqVWnb29sbSUlJSE5OxldffQWFQoHWrVvD3d0dTZo0QXJyMpKTk5GUlCR941u1alXUqVMHX375Jfbs2YNq1aoVeymVStjb26NatWqoWbMm6tWrZ/CxKS8vL6SkpCAtLQ337t3D5MmTAQDDhg3DvXv3kJaWhtu3b+PUqVMAgMuXLyMtLQ0FBQU6C6FmZ2cDACpXrowuXbroPGpvihEjRiA5ORlff/21weMyMjIAANWqVUNaWhru3LmD6OhopKenF3tVr169xAVhiIjoIY7X+mN8dFHRe/fuGX2ulZUVZs+eLeWq6A5rhUIBGxsb6Q7yffv2wdvbG0OHDjU41zrHayKiF1ulSpXQtWvXEv99TE9Pxx9//AFAdxqvR4WHh+Off/5BUlIS5syZA1dXV0ycOFFanPL27dvw8vLC0aNHdc4bPHgwnJyc0Lx5c7z33nv44Ycf0LVrV9ja2gIAzp8/j5iYGGk8k8lkiI6Oxj///CP18dJLL+E///kPsrOzsW/fPlStWhXu7u7S/qI7wmUymc7PRc6fP4+9e/dK/SsUCqSlpem8R/Xq1XWeaHN1dZXW/jLG7du3ce3aNdjY2GDnzp0IDQ1F5cqVcevWLdy6dQvXr1/X2U5JScHVq1dx48aNEvtzd3fH9evXIYTAhg0bUKVKFZ2nqTw9PfHXX39Jvz8B0DvGCSGgUCgwfvx47NixA0lJSUZf16OMHZurV68Oe3t7WFlZwdraGpcuXYIQAi1atNA5Ljk5WWcdlqJr6N69Ow4dOoSff/4ZL7/8MoCHv6MplUrpznuFQiG1lbQYLtHj+DeEKjy5XI5u3brptBUt1tGhQwccO3YMs2bN0rtgR5Gi+UKNUfSPs75fLvQZNmyYtKDIvn378NZbb+kM7P3798fff/+NX375Bb/99huGDBmCvn37Ys+ePSa9TxEbGxvUrVsXmZmZWLhwISZPnox79+7B29sb0dHR2LJlCz755JMSz7W1tcUHH3yAFi1aFJtj3ZCiR8YzMjJQUFAgPV5WtJBIQUEB9u7diwkTJuCrr75CRESETuEfeDgwnz59GsDDXwweVfTI1pAhQ0zOf5EaNWpg/Pjx+PDDD9G9e/dig3aRlJQUyOVyuLu744033sCvv/6KBw8ewN7eXueRuaysLHh6eiI2NrbEBdeIiIjjtT7JycnFxjpT5lb/9NNPpenUCgsL4eLiIu3Lzs6Gt7c3YmJi8Oabb2Lx4sVwc3MDwPGa4zURVURyuRxKpVLvVGdF07CUVIz87rvvcOzYMZw5cwZ//fUXtFot2rRpg7/++gu9e/eWCvEA4Ovri19++UX6Arp27dr4+++/cfDgQZw8eRKffvop5s+fj3PnzklzeQ8cOLDYtCVFRXbg4Q1iX331FdasWYMqVargm2++MXr6syLjx4/He++9p9P2aC4eXWvjSXz44YfYvn27TlvRvOVFRo0aVey8Tp066cxPf//+fbzzzjuIjIxEv379cPz4cVy6dAk7d+4sdl6vXr0wf/58+Pv7Qy6XS+P7jRs3UFBQgNu3bwP437jv7+8PW1tbvWNqaYwdmx/3008/STfzPSo5ObnYVHMKhQLr1q1Dbm4uOnbsiIsXLz5RrESP453oVOEVFBTg4sWL2LZtG86ePYslS5agZ8+eAB4uiDFw4ECdhTXLU9euXSGEwJkzZ7B//34MGzZMZ//MmTORlZWFMWPG4Ouvv8aqVavwww8/SL+MPIn8/HyMGDEClStXRlhYGICH38hv3bpVmv+8pMW1ZsyYgbfeegvDhw8vtaDx+PsBQK1ateDk5IRz587pfHu/Zs0apKamIjw8HPXr18eHH35YrI9jx45Bq9VCCAEhBHr37o1hw4bpzG/27rvvIiAgwOi4iuTl5Ul3BTg5OaF3795678pLSEiAm5sbFAoFIiMjkZWVBX9/fwwaNEi6227//v2wtrbG1q1bn7hIQERUEXC8Lk6r1aJOnTrSeCeEQEREhM5ioU9Do9GgQYMG+O9//4tdu3bpzCXK8ZqIqGL69ddfde74fvT1+F3Cj7p79y7u3r2L1q1bY9GiRfjmm2/QsWNH3L59G5GRkYiNjZWeRnrnnXfg7Owsnbtx40YcO3YMQ4cOxerVq3H8+HEkJSVJ63o0b94c165dg7e3t/T6/fffpTus//rrL+zduxd3795FQkICbt26pbNItTGaN2+OlJQUnfeIjIzE/v37pWOM+YLVxsZG7zi9ceNGaDQanbFRCAGNRoOXX34ZI0eOhFqtltq1Wi1ycnKKzVnv6OiIW7du4e2338b27dsRGhqK3r17o2XLlsXeMzg4GAkJCVKBvehO9Jdffhmenp4YPXo0AEgxu7m54b333nui9UFMGZsflZycjNWrV+Odd97RuSlBrVYjKyurxMVWvb290bFjRwAwajFwLhhOxmARnSq8ooEwODgYd+/eRf/+/aVHsF1cXDBw4EBp0Yy8vDy9/7gae1fb01AoFHjrrbcQEhIClUqF9u3b6+w/e/YsJk6ciF9++QXHjh3D999/j6pVq6JKlSomvU/RoFz0y8X58+exb98+nYXBWrRogZ9++gkLFixA27Ztdb75LhIREYEqVaogISHB6PcuGpwzMzMhhED//v2lOxouXryIkJAQfPTRR7C3t8fChQuxZcsWfPPNNzp92NjYSIPrxx9/jD///BMLFy40KQcliY2NRceOHTF8+HBcvnwZP/zwA27duoXWrVuXuDDb8ePH0a5dO522VatW4ciRI1iwYAESEhIwZMgQLF68GK+88spTx0dE9CLjeF1c/fr1i92RNn78eCQnJxvdx4IFC+Dk5AQnJyedu9ABwNnZGbt370bbtm0B6OaO4zURUcXUvXt3nQLvo6/Y2Fi9540dOxYDBgzAvn37oFAoEBAQgObNm8PGxgYNGjTA/v37Ub9+fSxYsABz585F06ZNpXNv376NiRMn4vvvv8cff/yBtWvXAvjfU0zBwcGIjY3FmDFjcOzYMXz55Zf46KOPpHFJoVDg3r17+OKLL5CamoqEhASjirePmjNnDn766Sd8+umnOHHiBMLDwzFv3jxUr17dpH7atGmD27dvY9OmTfj999+xaNEi6XcWGxsbWFtb6xSKU1JS0LdvX6SmpmLevHlo3749Xn/9dZw7dw4ymQw2NjY6d9wXfaH9n//8BytWrMDp06dx7Ngx6amzx3Xt2hWtWrXCxo0bAfyviF40DcyhQ4egUqme+gt6U8fmIteuXcPrr78OZ2dnBAcH6+wrqjOUVER/lEaj0bvvyJEj+OSTT/Drr7/C1dXVhCuiiohFdKrwPDw8EBsbixs3bqBHjx5o2LAhnJ2dkZeXh2rVqmH06NHw8vIC8HBQ0/cPtEajwdatW4t9G5+YmIjAwECdNkPzf5dm6NChOHDgAIYOHVps35YtW1CtWjWMHDkSffv2RVZWFvbu3WvyY2parRZarRbnzp3DgwcPcOLECWleuKJvxQHg9ddfx5kzZ1CvXj2dX3KKODk54fz58+jUqVOx/vWpXbs2wsLCpIL93r178emnnyIxMRG9evWCp6enNIVM//79MWrUqBJX0b537x6GDx+OdevWYd++fcUeEzc2HgBITU1FYWEh2rRpA41Gg5MnT6JVq1Zo0aIFjhw5AisrK/To0UP6wqGoz59//rnYHLcuLi7Yv38/5s2bhzZt2uDNN9/EhAkTDL4/ERFxvC5Jp06dEBoaavAYjUaj82H8cfPnz5eKH4/O/S6Xy5GdnS3NFw4AU6dORa9evQBwvCYiqoiMLaQ++qVrTk4O5s2bB09PT0ybNg2ffvopxo8fj4KCAiQnJ0tj36BBgzB16lR88cUXqF27NsLDw6U+Pv74YwQEBODjjz9Gt27dsH//fmzcuBHe3t4AHs53fvDgQZw7dw69evVCeHg4QkNDMW3aNABAs2bN0LZtWyxcuBA9evSAt7c33N3d0a1bN6PXPenevTt27tyJyMhIvP7669i6dSs2bdqkMwe6MRo2bIgvv/wSoaGheO2117Bt27YSjztz5gw++OADNGzYEA8ePMCvv/4qrT2Wn5+PNm3aYOTIkbh27ZrOeY/PwV6vXj3MmzcP3bt3x759+zBu3DicP38elSpVko757rvv8J///AfAw/VSatasKU3J07NnT+Tm5pb4Rb9Wq8X9+/cN/p7xJGMz8PCGiE2bNqFjx47IysrCwYMHpS9FTpw4geDgYAQFBcHFxaXUaXQeL6IX/T4hhICVlRWWLl0KLy8vvPvuuwb7IULZrVlKZHlGjhwpZs+eLYQQYt26daJr167iP//5j3BwcBCzZs0SQgjx3XffiZdffllnhWkhhLhz545ISkoy6hUTEyMAiFu3bj3zazRGeHi4aNu2bYn7hgwZIoYPH25yn+fPnxdLliwRs2fPFtbW1mLVqlVGn7tt2zZhb28vGjVqJFJSUnT2aTQa0atXLwFAfPjhh0KIh6ugOzo6iiZNmoj4+HiRn58vtm3bJvr16ydeeeUV6dwNGzaIKVOmCJlMJs6cOaP3/YcPHy4AiEmTJonc3Nxi++/duydGjRolXnvtNWmF+F27dgmFQiGSk5NFdna2+Oeff8SePXvE+PHjhbu7u2jWrJl47bXXhEKhEC+//LKYOnWq+OKLL8SPP/5Y4or0RET0PxyvDXvw4IEICgoSb7zxhrCyshIjRowo8ThfX18xf/58IYQQv//+u2jTpo0AIK5fvy7u3LkjateuLWQymVAoFEKhUAiVSiW++uorve/L8ZqI6MU2fvx4AaDU16lTp3TOmzZtmggNDRWZmZlCCCEKCwtFs2bNBAAxatQonWMfPHggQkNDxffff2+2uGfNmiXatWsnDh8+LE6fPi1OnjwpFi5cKACImJgYs73P07p586YYNmyYqFOnjgAgGjVqJNavXy8KCgqKHbtnzx5RvXp1YWNjI3788UepvWHDhiIkJKTE/n/77TdRvXp10bdvX/H3338/VawjRowQbm5uAoDYt2+f3uOeZGwWQohvv/1WyGQyERAQIG7fvq1zztWrV0WVKlVEjx49xO+//25y7HFxcQKAuHbtmtBqtSXml6gkLKITPWLo0KHio48+0mnLz88Xp0+fFlqtVgghRHx8vHBychIff/zxE79Penq6AFChPnxdu3ZNyOVyUb16dTFixAhx7949k86dMGGCSE9PL3F/Xl6e+Oyzz6RfyuLj48WCBQt0BulWrVoJT09PsWfPHqlt+fLlwt3dXSxcuNDg+ycnJ4tt27aVGuejg29cXJxYvHixEEKIN954Q9jZ2YlXX31VzJgxQ/z111/ScVevXhURERHC399fvPTSS8LGxkZcvXq11PciIqrIOF6Xrnv37qJFixYiKChI3Lhxo8RjevToIRXR79+/L+zt7cW4ceOe+D05XhMRvdjGjBkjunfvrnd/bGysACBOnDhRal/nzp0T586dM2d4el26dEn4+voKNzc3YWVlJezt7UXbtm1NurHrWVm1apWYMWNGsS8iSpKeni5mz54tsrKynkFkuk6fPi1WrFghoqOjDR73JGNzkX/++edJwzMoOjpaACiz/unFJRPiGUwMacD9+/eRkJCARo0aPdUjs0TPklarNfmRa3r4aNmTLEBiDtnZ2TpzxQEPH+t6fM65spCbmwtra2uj/s4UFhYatSANERGVjuO1aZ6HMYjjNRHR8ysnJwdarRZ2dnblHQoR0TNXrp8qdu3ahbp16yIoKAi1atXCrl27AACTJ0/WmY+yQYMGRvV3/PhxNGnSBC4uLli2bFlZhk4VHD+QP5nyKqADKPaBHABUKlWZfyAHHs7Na+zfGX4gJyIyH47XpnkexiCO10REz69KlSqxgE5EFVa5fbLIyMjA+PHjceLECcTGxiIiIgLTp08H8HABhf379yM9PR3p6emIjo4utb/U1FT4+fnB398fUVFR2L59O44ePVrWl0FEREREREREREREL7Bym87l+vXrOHHiBAICAgAA58+fR6dOnZCeno6qVasiOTkZ9vb2Rve3YsUKfPnll4iLi4NMJkNkZCR27dqFb775pqwugYiIiIiIiIiIiIhecOU+JzrwcJ7kMWPGoLCwEFOnTkWXLl3g7u6O5ORkdO3aFevXr0ft2rUN9hEYGIhKlSph7dq1AICUlBR069YN8fHxJR6v0Wig0Wikba1Wi3v37qFq1arP5HFRIiKixwkhkJmZiRo1anAaCj20Wi1u3ryJypUrc7wmIqJywfG6dByviYiovJl7vFaaIaanEhMTg27dusHa2hrx8fHYv38/GjdujNWrV8PFxQVTp07FmDFjcPDgQYP9qNVqNG3aVNp2cHDAzZs39R4fFhaG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RCciInoSVdsB9QIfzomeexuQy4F6o17Iu9CPHDmCiIgInDp1ClZWVsX2u7m5QavVIiUlxWBh29nZGampqdJ2ZmYmrK2tDb63SqXSKbwXkcvlZikcyWQys/VVETBfpmG+TMN8mYb5Mk77Wu0xynsUtp7bilsPbgEyYJT3KLSv1f6J+2TOiYiIKh4W0YmIiJ5U85lAtW7AzWtAjdqAy5N/IH9eJSUlwd/fHxEREdJULNOnT0erVq0wfPhwAEBUVBTkcjk8PDwM9tWuXTvs2LFD2o6OjkbNmjXLLngiIiIAMzvPRDfPbg+ncKlR+6kK6ERERFQxsYhORET0NJzbAgW1AecneyT8eZaTkwNfX18MGDAAgwYNQlZWFgDAy8sLs2bNgru7OwoLCzFp0iSMHDkStra2AB5OuVKpUqVid637+flhwoQJOHz4MLp27YpFixahV69ez/y6iIio4mlboy1qK598ChciIiKq2FhEJyIiohIdOnQIcXFxiIuLw4YNG6T2pKQkDB06FIMHD4ZCocCIESOwcOFCab+XlxdWrFiBgQMH6vTn4uKC5cuXo2/fvrC3t4ejoyO2bNnyjK6GiIiIiIiI6MmwiE5EREQlGjBgAIQQJe4LCwtDWFhYifuuXLmit8+xY8eiV69euHTpEjp37gx7e3tzhEpERERERERUZlhEJyIiomfK09MTnp6e5R0GERERERERkVG4rDgRERERERERERERkR4sohMRERERERERERER6cEiOhERERERERERERGRHiyiExERERERERERERHpwSI6EREREREREREREZEeLKITEREREREREREREenBIjoRERERERERERERkR4sohMRERERERERERER6cEiOhERERERERERERGRHiyiExERERERERERERHpwSI6EREREREREREREZEeLKITEREREREREREREenBIjoRERERERERERERkR4sohMRERERERERERER6cEiOhERERERERERERGRHuVeRL9//z5Onz6N9PT08g6FiIiIiIiIiIiIiEhHuRbRd+3ahbp16yIoKAi1atXCrl27AACRkZGoV68elEolvL29ER8fb1R/fn5+kMlk0qtHjx5lGT4RERERERERERERveDKrYiekZGB8ePH48SJE4iNjUVERASmT5+OxMREBAYGIjw8HMnJyWjUqBGCgoKM6vPM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W18VAfNlGubLNMyXEXoe+v9zoGshg4Ac2oePivc8VN6RWQRz/R3j31EiIjLk/0b9H6xCraDF/6b/UkLJqVyIiIiIyli5f1qXyWRo06YNtm7dih9++AHOzs5ITU3VOSYzMxPW1tYG+3n8PGPOISKiRwzPB1y7A1ZOD/8cnl/eEREREdFj8kPy0b1udzipnNC9bnfkh3C8JiIiIipr5VZEP378OKZPny5tW1tbQyaToUmTJoiKipLak5KSoNFo4OzsbLC/du3a6ZwXHR2NmjVrmj9wIqIXWfeDwCtbuZgoERHRc+zg2wex9Y2tOPg2x2siIiKiZ6HciuiNGjXC+vXrsX79ely/fh2ffPIJXn/9dfTt2xdqtRqbN28GACxcuBA9evSAQqEAANy/fx+FhYXF+hs8eDB27tyJ2NhYZGVlYdWqVejVq9czvSYiIiIiIiIiIiIierGUWxG9evXq2L17N1auXIlmzZohOzsb27Ztg1KpxMaNGzFx4kS4uLggMjISn3/+uXSek5MTYmNji/XXsmVLTJkyBW3btkXNmjWhUCgwfvz4Z3lJRERERERERERERPSCKdeFRXv27ImLFy8Wa/fz80NiYiLOnj2Ljh07omrVqtI+IYTe/hYsWICAgAAkJyeja9eunBOdiIiIiIiIiIiIiJ5KuRbRDalWrRr69etn8nlNmzZF06ZNyyAiIiIiIiIiIiIiIqpoym06FyIiIiIiIiIiIiKi5x2L6EREREREREREREREerCITkRERERERERERESkB4voRERERERERERERER6sIhORERERERERERERKQHi+hEREREREREFi4tLQ2enp64cuWK1DZ58mTIZDLp1aBBA2nfhQsX0K5dOzg5OWH69OkQQkj7jh8/jiZNmsDFxQXLli17lpdBRET0XGIRnYiIiAyKjIxEvXr1oFQq4e3tjfj4eACGP3wbsnv3btSpUwc1atTAt99+W5ahExERVQhpaWnw9fXVKaADwJkzZ7B//36kp6cjPT0d0dHRAACNRoP+/fujTZs2OHPmDOLi4rBlyxYAQGpqKvz8/ODv74+oqChs374dR48efcZXRERE9HxRlncARERE9PxKTExEYGAg1q1bh65du2LSpEkICgrCkSNH0L9/f/Tq1Qs7d+7E5MmTsWXLFgQGBhrs78KFCwgICEBERAQ6dOiAN954A61b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ZWdnIzExEXfu3IGVlRUAQKVSleUlEBEREREREREREVEFUC5F9Pj4eISHh2PIkCEAgHHjxqFfv36wtraGtbW1dNzatWsxaNAg1K9f32B/0dHR8PLygqura5nGTUREREREREREREQVS7kU0X19fXW2ExIS0LBhQ5223NxcrFy5EqdPny61vz///BM3btyAq6sr8vPz4e/vjxUrVhi8G12j0UCj0UjbarUaAKDVaqHVak25nGK0Wi2EEE/dT0XBfJmG+TIN82Ua5st05swZ805ERERERET0/CmXIvqj8vLysHTpUkybNk2nfceOHejQoQPq1q1bah8JCQl49dVXMXfuXNy/fx8BAQFYvnw5Zs6cqfecsLAwhIaGFmtPTU1Fbm6uydfxKK1Wi4yMDAghIJdz7dbSMF+mYb5Mw3yZhvkynTlzlpmZaaaoiIiIiIiIiMhcyr2IHhISAjs7u2ILga5btw5z5841qo9169bpbM+ZMwerVq0yWEQPDg7WKdyr1Wp4eHjA1dUVDg4Oxl9ACbRaLWQyGVxdXVmEMgLzZRrmyzTMl2mYL9OZM2c2NjZmioqIiIiIiIiIzKVci+hHjhxBREQETp06JS0ICgCXL1/G5cuX0bNnzyfq183NDcnJyQaPUalUJU73IpfLzVI4kslkZuurImC+TMN8mYb5Mg3zZTpz5Yw5JyIiIiIiInr+lNun9aSkJPj7+yMiIgJNmzbV2ff999/D19dXp7BuyMsvv4zr169L21FRUahTp45Z4yUiIiIiIiIiIiKiiqdciug5OTnw9fXFgAEDMGjQIGRlZSErKwtCCADAwYMH8dprrxU77/79+ygsLCzW3qxZM7z//vs4ffo0tm7diqVLl2LcuHFlfRlERERERERERERE9IIrlyL6oUOHEBcXhw0bNqBy5crS6+rVq8jJycHp06fxyiuvFDvPyckJsbGxxdqXLFkClUoFHx8fhISEYPHixRg1atSzuBQiIiIiIiIiIiIieoGZfU70nJwcVKpUyeAxAwYMkO46L4lGoymxXd85jo6O+PHHH40PkoiIiIwas4mIiIiIiIgqOqPvRN++fTsAoKCgANu2bSvxGCEEGjRogPT0dPNER0RERCbjmE1ERERERERkPkYX0adMmSL9vHjxYulntVot/ZyWlob79+/DycnJTOERERGRqThmExEREREREZmP0UV0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1lW1alU0aNDAfNERET2N4QLYodDdJnrBccwmIksjQgQUoQqdbSIiIiKi54lJC4sWyc3NRW5urrljISIyv2H5wJ07gJtbeUdCVC44ZhORJcifnY87d+7AjeM1ERERET2HjFpY9HFVqlRBWlqauWMhIiIiM+OYTURERERERPR0TC6iFxYWYsWKFahSpUpZxENERERmwjGbiIiIiIiI6OkZXUTXarU4efIkFAoFZs+eDQCYN28eNm7cWGbBERERkek4ZhMRERERERGZj9FF9Pz8fAwdOhQAoFKpAACNGzfGtGnT+KGciIjoOcIxm4iIiIiIiMh8jF5YVKVSSR/EZTIZAGDo0KGoV68eevfujdq1a+P1118vmyiJiIjIaByziYiIiIiIiMzniRYWfVS7du2wc+dOBAYGIiMjwxwxERERURngmE1ERERERERkOqPuRP/ll19gY2OD3NxcnDhxAkIIREdHIz09HUqlEiqVCk2bNsWiRYuwYMGCso6ZiIiI9OCYTURERERERGReRhXRg4ODoVQqUbt2bXz88ccQQmD79u04fvw4lMr/dbFp0ybMnTsXVlZWZRYwERER6ccxm4iIiIiIiMi8jCqi//XXXzrbbm5uWLJkSbHjevTogWPHjqFnz57miY6IiIhMwjGbiIiIiIiIyLyMmhNdq9UiOzsbQghotVoAgBACH3zwAbKzs6XjfHx88Pvvv5dNpERERFQqjtlERERERERE5mVUEf3o0aOwt7eHUqmEUqlEQUEBcnJycPnyZfTu3RsPHjwAADRp0gSxsbFlGjARERHpxzGbiIiIiIiIyLyMKqL7+PggNzcXeXl5yMvLg0KhgK2tLX7++Wc0atQIvXr1QnZ2NmrXro1//vnHqDeOjIxEvXr1oFQq4e3tjfj4eADA5MmTIZPJpFeDBg2M6u/48eNo0qQJXFxcsGzZMqPOISIietGUxZhNREREREREVJEZVUSXy+WwtraGQqGAUqmU7mKTyWRYv349qlWrhjVr1sDZ2RlXr14ttb/ExEQEBgYiPDwcycnJaNSoEYKCggAAZ86cwf79+5Geno709HRER0eX2l9qair8/Pzg7++PqKgobN++HUePHjXm0oiIiF4o5h6ziYiIiIiIiCo6oxYWfVRBQQG6du0KIQRkMhnkcjl27NgBuVyOrKws/PDDD6X2ER8fj/DwcAwZMgQAMG7cOPTr1w8FBQW4ePEiunTpAnt7e6Nj2r59O2rUqIHZs2dDJpNhzpw52LRpE3x8fPSeo9FooNFopG21Wg3g4VyyRXPIPimtVqszFy0ZxnyZhvkyDfNlGubLdObMmbnzbo4xm4iIiIiIiKiiM7mIrlQqceDAAZ02a2trAICjoyO6d+9eah++vr462wkJCWjYsCFiY2Oh1Wrh7e2N5ORkdO3aFevXr0ft2rUN9hcTEwMfHx/IZDIAQPv27TFz5kyD54SFhSE0NLRYe2pqKnJzc0u9BkO0Wi0yMjIghIBcbtTN/hUa82Ua5ss0zJdpmC/TmTNnmZmZZorqIXOM2UREREREREQVnclFdHPLy8vD0qVLMW3aNMTFxaFx48ZYvXo1XFxcMHXqVIwZMwYHDx402IdarUbTpk2lbQcHB9y8edPgOcHBwZg2bZpOHx4eHnB1dYWDg8NTXZNWq4VMJoOrqyuLUEZgvkzDfJmG+TIN82U6c+bMxsbGTFERERERERERkbkYVUR3c3ODjY0NlErDh9va2uLtt9/GjBkzjA4gJCQEdnZ2CAoKgpWVFQICAqR9a9euhaenJ9RqtcHCtlKphEqlkrZtbGyQnZ1t8H1VKpXOOUXkcrlZCkdFj82zCGUc5ss0zJdpmC/TMF+mM1fOzJHzshyziYiIiIiIiCoio4roubm5xR4HL8mdO3cwZMgQTJ06VXpc3JAjR44gIiICp06dgpWVVbH9bm5u0Gq1SElJMVhEd3Z2RmpqqrSdmZlp1PsTERG9aMpqzCYiIiIiIiKqqIwqoiuVSrRp0wbAwwU5S7qDu6h98uTJyMnJKfUDeVJSEvz9/RERESFNxTJ9+nS0atUKw4cPBwBERUVBLpfDw8PDYF/t2rXDjh07pO3o6GjUrFnTmEsjIiJ6oZTFmE1ERERERERUkZn83PhLL70EhUKh85LL5VIhfMGCBahSpYrBPnJycuDr64sBAwZg0KBByMrKQlZWFry8vDBr1iz8+uuvOHToEMaOHYuRI0fC1tYWwMN5y/Pz84v15+fnh99//x2HDx9Gfn4+Fi1ahF69epl6aURERC8Uc4zZRERERERERBXdE02+mp2djQcPHsDDwwPZ2dnIzs6GVqs1+vxDhw4hLi4OGzZsQOXKlaVX586dMXToUAwePBj+/v7o3bs31qxZI53n5eWF/fv3F+vPxcUFy5cvR9++feHu7o6EhATMmjXrSS6NiIjohfK0YzYRERERERFRRVfqdC6FhYU6d3/LZDLp0XC5XC79LJPJjH7TAQMGQAhR4r6wsDCEhYWVuO/KlSt6+xw7dix69eqFS5cuoXPnzrC3tzc6HiIiohdBWYzZRERERERERBVdqUX0goIC1KhR41nE8tQ8PT3h6elZ3mEQERGVC0sas4mIiMg4+fn5sLKyKu8wiIiIKrRSi+gqlQoJCQnIy8uDtbU1hBB45513AACpqal455139N5VTkRERM8Ox2wiIiLLcurUKbRv3x5yeckzrd68eRM9e/bEwYMH4eHh8YyjIyIioiKlFtHT09Px7rvvwtnZGRs3bsScOXOQm5sLuVyODh06AACEEOjSpUuZB0tERET6ccwmIiKyLH369IFSqUSfPn3w4YcfomXLljr7J06cCHt7e9SqVaucIiQiIiLAiCK6v78/tFot5s2bBwAIDAws86CIiIjIdByziYiILM+BAwewd+9epKWl6bTPnz8fp06dwh9//MH1TIiIiMpZqUX0bdu2wc3NDQDQuXNnKJVKvQN4QUEBcnNz8eeff5o3SiIiIioVx2wiIiLLIpPJ0LZtW7Rt21ZqU6vV+PTTT7F//36cOHECdevWLb8AiYiICIARRfSiD+MA8O6778LW1hYKhaLEY7Ozs5GVlWW+6IiIiMhoHLOJiIgs0+TJk3H79m1kZGQgKioKEydORExMDCpXrlzeoRERERGMKKI/avTo0WUUBhEREZkTx2wiIqLnk1qtxqRJkzBjxgyprXXr1rh79y5u3LiBW7duITIyEp07d0bv3r3LMVIiIiIqYlIRfc2aNWjYsCF69epVVvEQERGRGXDMJiIiej7du3cP1tbW6NatG9RqNX744YdiX34fPnwYQUFBmDZtGiZPnlw+gRIREZFEbsxBcXFxuHz5Mq5du4YbN27g2rVrJb6uX78OrVZb1jETERGRHmUxZqelpcHT0xNXrlyR2iZPngyZTCa9GjRoYFRfx48fR5MmTeDi4oJly5Y9ySUSERFZtLp162LDhg24fv06tm/fjtDQULz88suIiYmRjunRoweOHj2K8PBw/PDDD+UYLREREQFG3onevHlzWFlZAQAUCoXe+VXz8vJQt25dXLp0iauHExERlQNzj9lpaWnw9fXVKaADwJkzZ7B//3688sor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eH4YJyIieg5wzCYiIno+yWQyWFlZwcrKCiqVCgUFBbCyssJ7772HrVu3YtKkSQCAmTNnYs+ePSVOzUZERETPjskToarV6ocnKpWYN28efHx8pH2VK1dG48aNzRcdERERPTGO2URERM+nKlWqICQkRNp+5ZVXYGVlhaFDh2Lo0KHQaDQAgDZt2uDnn3+GTCYrr1CJiIgIJhTRP/zwQ2RlZcHf319aVOTs2bPYu3evdIxMJkPnzp0xbNgw80dKRERERuGYTUREZFm6dOmis61SqaSfW7Ro8azDISIioscYPZ3LDz/8gFdeeQU//fQTOnTogB9//BEdOnTA9u3b0bFjR3To0AH169dHYGAgsrOzyzJmIiIiMoBjNhEREREREZH5GFVEv3//PmQyGUaNGgU7OzuMGjUK9vb2GDVqFKytrfHVV1/h5ZdfxrRp0zBkyBDk5OSUddxERERUAo7ZREREREREROZV6nQuarUaL730Eh48eAAA0lxsj87JFhAQAB8fHxw4cABbt24to1CJiIjIEI7ZREREREREROZX6p3olStXxuHDh2FnZ4dt27YhMzMT27Ztg1qtxrZt25CXl4f33nsPK1euxMCBA3H//v1nEDYRERE9jmM2ERERERERkfmVWkSXyWRo3rw5hg8fjpMnT+LNN99EVFQUBg0ahKioKOTn5wMA3nzzTXTu3BkzZswo86CJiIioOI7ZREREREREROZX6nQuRZYtW1Zi+82bN5Gfnw8rKyvMnDkT0dHRZguOiIiITMcxm4iIiIiIiMh8jC6il+T+/fv47rvvYGVlBQBo0qQJGjVqZJbAiIiIyHw4ZhMRERERERE9mVKnc3lUXl4ehBDSdkREBM6ePStt5+TkoHv37rh+/XqpfUVGRqJevXpQKpXw9vZGfHy8wfbS+Pn5QSaTSa8ePXqYcmlEREQvFHOO2UREREREREQVmUlFdBsbGyiVSigUCsjlcsyZMwfW1tYAACEERo4ciZSUFDg6OhrsJzExEYGBgQgPD0dycjIaNWqEoKAgve3GOHPmDGJjY5Geno709HRERkaacmlEREQvFHON2UREREREREQVnUnTuTg7OyMhIQHAww/gq1evhlwux507dzBq1CikpKTg2LFjqFy5ssF+4uPjER4ejiFDhgAAxo0bh379+ultL01ycjKEEGjevLkpl0NERPTCMteY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I0eUmpqq2NhYSWffUCQnJ2vfvn0+TgZcGYzX1jBeVw/j9eVhvL44xuvaLSYmRrm5uW7zCgsLFRoaWmHZufn+7Py/+aqOzVcufK8QSPW/2Pscf6/9he87Aqn20sXfN/lj/T29h6mqvv5U++q+B4uPj9ePP/4op9PpV/nPd+710ahRoyv6uqeJDp86cOCA+vXrp1dffVVJSUm+juPXNmzYoIyMDNd0aGiobDab7Hb+jCuzbNkyrVq1SvXr11f9+vW1bNkyjRgxQiNGjPB1NL+UkZGhZcuWuaazs7Nlt9uVkJDgw1T+7brrrqvwU/BDhw6pSZMmPkoEXDmM19XHeG0N47U1jNfWMV7XbikpKcrOznZNHzhwwNUIunDZ9u3b/e51UdXffFXH5guVvVcIlPpXlj1Qau/pfUeLFi0Covae8mdlZfl9/T29h3nzzTc91tefau8pf1pamr744gvXetnZ2WrYsKHCwsL8Jr+nv8+WLVte2de9F26KigvovLtpw7Pi4mIzKSnJfOSRR8zCwkLX49ydcuHu2LFjZlRUlPn666+bhw8fNgcNGmR27drV17H81g8//GAeOHDA9ejTp4/58ssvm7m5ub6O5pfeeustMzEx0fzkk0/Mjz76yLz55pvN3//+976O5ddOnTplRkVFma+99pr5ww8/mLNmzTLDw8PNw4cP+zoaqonxunoYr61hvLaG8doaxmvrGK9rn/PH99LSUjMuLs584403TNM0zSFDhpjdu3c3TdM0c3NzzfDwcHPdunXmmTNnzK5du5qPP/64r2K7nJ+/qr/5qo6tpnl6r3DmzBm/r7+n7H/6058Covae3ncEymvfU/5AeO1X9R7GU32//vprs27duuY333xjFhYWmq1btzanTZtW49mryv/888+bt912m7lx40bzww8/NBs2bGhOmjTJNE3/ee14en1c6dc9TfQrgA/l1bNy5UpTUoUHtfPs448/NpOSksx69eqZDzzwgHny5ElfRwoYDz/8sLl48WJfx/BrY8eONa+55hozJibGHDlypFlUVOTrSH7viy++MFNTU806deqYN9xwg/nnP//Z15FgAWNO9TBeW8d4fekYry+O8do6xuva5cIxatWqVWZERITZoEEDMy4uzty9e7dr2WuvvWaGhISY0dHRZmJionnixAkfJHZ3Yf6q/uarOraaVNV7BX+vf1XZA6H2pun5fYe/1/4cT/kDpf7nnP8epqr6PvPMM2ZoaKgZFRVltm3b1iwuLvZRYnfn8p85c8b8z//8T7Nu3bpmo0aNzKysLLO0tNS1nr+8djy9Pq7k695mmqZp7bvrAAAAAAAAgeHEiRPatm2bUlNT1aBBA7dlBw4c0N69e9WhQwdFRkb6KOGlq+rY/MXVWn9q71v+Xv+q6puTk6OjR4+qU6dOfnFNcav8/bVzpV73NNEBAAAAAAAAAPCAOxwBAAAAAAAAAOABTXQAAAAAAAAAADygiQ4AAAAAAAAAgAc00QEAAAAAAAAA8IAmOuCHSkpKKp2/ceNGlZeX13CayvXv319ffPGFJOnMmTMqLS2Vv9+n2OFwaOnSpb6OAQC4SjBeXxmM1wAAAPA3NNEBP/Sb3/xGCxcudJu3dOlSdezYUQsWLKjWPlq3bq3Vq1dfdpZOnTrpf/7nfyrMT0pK0sCBA5Wfn68RI0bommuuUf369d0eNptNu3btqrDtli1blJubK0kaPXq0nn766Wplad68udauXes278UXX1RmZma1tnc6nfrP//xP/e1vf6vW+gAAVIXxunKM1wCAQPDzzz/r4Ycf1qFDh3wdpUY5nU5NmzbtkrcvKirSnDlzvJgICAw00QE/Ulpaqvz8fP3jH/9Q27Zt9dNPP0mS9u7dq8cee0zLly/XjBkztHHjRrftTp8+rUmTJunMmTOueWFhYYqIiHBNf/bZZ9qwYYNreuPGjbLb7W4foHfu3FkhU2hoqEJDQyvMz8jIULt27ZSXl6eFCxequLhYBQUFys/Pdz3q1q2r8PDwCtuOGjVKmzdvliQFBwe7rVNaWup2HOcLDw93W3fFihV67rnn1K5du0rXb9OmjRISEtSsWTM1a9ZMKSkpioyM1AMPPKBmzZqpadOmio+P19ChQyvdHgCAyjBeM14DAAJf3bp19c0331Q4IX4+0zRls9kUExOjBg0ayGazaevWrerZs6dr3Dr3aNy4seUTwJ5OgkvSkCFDNHbsWLd5GzduVLdu3VRUVGTpec43fPhwFRcXX/L2derU0f/+7//q7bffvuR9AIEo2NcBAPzbtm3b1K9fP504cUJ9+/ZVeXm5/vKXv+iee+7R0KFD1bdvX910003q2rWrJk2apOHDh8tut8swDGVlZWn8+PGufdlsNtlsNtf0unXrZLPZ1KlTJ0lSSEiIGjdurCNHjkiSIiMjdeTIEX3wwQcKDg5WUFCQJOmHH37QRx99pOPHj2v06NHKzc3Vrbfeqp9++kkrVqy46DEFB1f8v5mgoCDXh2u73a5Zs2bpzTfflHT2Q/kTTzxR4c3ChVauXKlHHnlEH3zwgbp27VrpOiUlJVq1apV+9atfKScnRydPntRdd90lSdqxY4eOHTum3/zmNxc9BgAAzsd4zXgNAAg8zz33nN544w23eT/++KOmTZumt956y23+s88+q0ceeUQ2m00hISH6+9//ruPHj6tnz55q27at3nnnHYWGhrrGYenseBYSEiLpbLO7U6dOioqKkiQVFBTom2++UcuWLd2ex9NJcKniSem9e/eqd+/e+q//+i9FRkZeUg0+/fRTHTp0qEIdrAgKCtLy5cvVvn17devWTdHR0Ze8LyCQ0EQH/EhqaqpmzJih+fPnKysrS4cPH1Zqaqr69++vFStWuD4Ed+3aVV999ZXef/99LVu2zDVonT+AX8hud//hSWUflq+55holJSUpJCREdrtdNptNUVFRuu6663TrrbcqJCREkZGRcjqdqlOnjnJycnTfffdV2M/ixYuVlpbmNq+srEx2u71CDkl68sknNWnSJLd5paWlrjcgF1qwYIEyMjL0wQcf6D/+4z88HrMklZeXy+l06rPPPtPmzZtdH8o3bdqkTZs26d5771VZWZnCwsKq3A8AAOcwXv8b4zUAIFAUFRWpc+fOFb55fvToUUVERLjG6TvvvFOnT592LT/X5F63bp3uvfde2Ww21alTp8L+z294X+pJ8HNN9wt999136ty5sx5//PEKY7EVkyZN0uzZsy95+3NiYmI0bNgwzZkzRxMmTLjs/QGBgCY64Gf+93//V61bt9Z///d/6+2331bHjh21Z88eNWvWTNdee62WL18uSXr33XfldDp17bXXeryxWVXsdruOHTum+vXrSzp7Pbhrr71Wv/rVr3Tw4EH94he/kCS9/vrratOmjR544AHXepLcvjV38OBB179TU1MrvWHZtGnTNGHCBEVGRso0TT300EOy2WwyDEOS3H7CdubMGaWlpWnVqlUqKChQaGiobDabTNPUmTNnFBsbqxUrVuiOO+5wO/YzZ84oLCzM9QHbNE19+eWXGjRokAoLC1VcXKzWrVtLOvuNg59//lmtW7fWnXfeqddee81yDQEAtRfjNeM1ACCwJCcny+l0as+ePRo6dKjmz5+vFi1a6N1339Wf/vQnff3115KkgQMHKikpqcL2H330kYYNG+b6xvmFJ8UNw1BJSYkiIiIu+SR4Zb788kv16tVLo0aNqvb9RSrzz3/+U/n5+a4x9nL1799f9957L0101Bo00QE/cvz4ca1Zs0bjxo3TiRMntG3bNnXo0EHfffed7rvvPj3zzDP66KOPlJWVpV69erk+kJaVlalBgwaKjY117augoEA9e/Z0G4hHjhzp+rfdbq9wZtxms2np0qV66aWXtGfPniq/KXduH9Wdn5GR4faTb4fDoaioKL3xxhsKDg7WoEGDKt3X3XffrZycHAUFBen06dPq2bOn69/n/3zu3Af2d955R3369JF09ud0nTt31hNPPKG5c+dq/fr1eumllyRJy5cv1/fff68//elPVR4jAAAXYryuiPEaAODvBg4cqPLycpmmqR49euj222/XjBkzJEnNmjVzrTds2LAK2zocDm3ZskX/7//9P/3ud7/T+vXrZbfb5XQ65XQ6FRUVJdM05XQ6dfTo0cs+CR4UFKTy8nKVlZUpOjpaY8eOdTXwzykrK5PNZlPdunWrdfy7du1SSkqKa/rzzz/XwIEDdccdd+ijjz7SSy+9pIkTJ+rmm2/W559/rrKyMg0dOlSrVq1SSEiInnzyST3zzDOu7Rs2bKji4mKVlZVVetIAuNpwY1HAj2zatElNmjTRX//6V5mmqaioKIWGhuro0aOus+IRERGqU6eOQkNDXR9+X3vtNb3xxhs6deqU69G2bVutWrXKNX3o0CHl5OSotLRUklzfKLvQww8/rDNnzlT7JiFHjhxxu5nK9u3bK13v/A/4U6dO1V133aXy8nLl5OTou+++cy3bt2+fBgwYoMLCQklnrzt7+vRpFRUVqUWLFlqzZo2Kior0yCOPaOTIkSoqKlJRUZF+/vlnlZaWuj6QS2ffgDRo0ECS1KJFC1177bWaOXOmZs6cqX/+85+un4oDAGAF4zXjNQAgMHXu3FmzZs1SRkaG1qxZo6ZNm+r06dNq0qRJldtFRkbqtttu0yeffKL33ntPP/30k06dOqU5c+bo3nvv1alTp/Tjjz+qqKhI11xzjesk+Pk38T53Ejw9PV3l5eWVPs+4ceMUExOj2NhYLVq0SFOnTlXbtm311FNPKSoqSrGxsa5HgwYNLnpvkvOdPHlSDRs2dJt39OhR9e/fX23bttWMGTO0evVqbdy4UcePH9cbb7yhTZs2acuWLVq1apVeeOEF7d2712372NhYnTp1qtoZgEBGEx3wIw888IC2bNmi559/Xtdff73uvvtuSVJ0dLQSEhIkVbwBmXT2jPKxY8eq3LfNZtO7777r+nBc2aBtmqaCg4P15JNP6syZM9XKfN111+ngwYOuR5s2bapcf/HixZo1a5befvttBQUFKTg42HXW+scff1SPHj2qdTZ9xIgRmjdvng4fPlzp8tLSUhUWFiouLk433XSThgwZok8++URffPGFvvjiC/3f//2fnn/+eW3evLlaxwkAwDmM14zXAIDA9Oyzz2rmzJnq1auX7rjjDnXu3FknTpzQ9ddfX+V2drtdzz77rJ577jlJ0ocffqivvvrKtTwnJ0fvvfeea/pST4LPmDFDTqdTRUVFGjp0qJ555hkVFRXpT3/6k9q0aeM6KV1UVCSn06k5c+ZU+9jr1q2roqIit3kNGzZUz549lZCQoF69eqlt27aSzo7PderUkWmaKisrU/v27ZWXl6ebb77ZbfuioqJLvskpEGhoogN+Ji8vT1999ZX27t2rIUOGSDr7U+/jx4973ObCD+mVOfctuHP/XV5eruPHj7vOYv/8888qKyuTdPbGYY888shF91nZtVQlz28YXn75ZWVmZmrdunUVrjF38OBBdejQQe3atdObb77p8afn5zRv3lz9+/fXQw89pOLi4grL//GPf6hRo0ay2Wz6/vvv9e677yo4OFgbN27U119/rbvuukv33nuvbr/99oseJwAAF2K8ZrwGAAQO0zR1+vRp3X333frqq6/cbrh99OhR10lw6exlUiobs5KTk/X999/rxx9/1BNPPOH2rew9e/bokUceUV5eniTvnQQ/p1evXjp27Jg++OADS9udr2nTptq/f7/bvPNvhnr+vyWpX79+uv/++5Wenq7GjRtr4sSJbsvLyspUWFhIEx21Bk10wI98+umnuvbaazVv3jxFRUW5rokaHBzsuvlWaWmpxw+9VpSVlenaa691/Xy8bt26rp+OV9e5D+Xn/zz8xIkTHpsEMTEx2rBhQ4UP5GvXrlVKSop+97vf6c0336zy2q6nT5/WH/7wB7Vv315Tp05VWVmZ0tLS3G6WJp2t5fkfuG+77TYNGjRIXbp0UWZmpnbs2KFZs2ZZOl4AACTGa8ZrAECgOXz4sKKjoxUTE6Nf/vKXevbZZxUbG6uYmBh9+OGHGjlypOuEdUxMjFq0aOG2/TvvvKO7775bnTt31rp161SvXj3179/ftbxPnz665ZZbXPf08MZJ8PMZhqFp06bp0Ucfdbu8mhXJycnau3dvhW+je7Jv3z499thj+v7777Vx40YtWbJEK1eudC3fsGGD7rzzzkvKAgQimuiAH0lLS1Nubq5ef/11NWrUSMnJySovL1f79u31u9/9TtLZa47dfffdMk3T9eH3zJkzGjNmjOrXr+96bN26Vd27d3dNN2rUyO25goKCFB8f75r+5ptv1Lx58wqZHA6H24fsc2fky8rKlJSU5PbT8HOPtLQ0ORwOOZ1ORUREuLa7++67VVJSotWrV2vmzJl68MEH9frrr6t58+bauHHjRe80np+fr759+2r9+vWaN2+e6tWrp3Xr1ik6OlotWrTQ6NGjXTdiWbhwodLT013bnjhxQtHR0dq9e7deeukltWnTRps2bdKRI0csfwsAAFC7MV4zXgMAAkvTpk1VUlKi/Px8t3uTDB48WD179tT69et1+PBhnTp1Sg6HQ4cOHXJtW15erttuu03jxo3TypUrNWHCBGVmZlY4mfzss89qzpw5OnnypFdOgp+zePFi3XjjjWrXrp0eeughderUSZ9++qnl/dhsNv3ud7/TK6+8Uq313377bf3+979XTk6OnE6nJLlOBEjSCy+8UOlNWIGrFU10wI/YbDbVq1dPpaWlrrtunz59WpL06KOP6q677lLLli2VlJSkhQsXus76Llu2TMXFxa6bluTn56usrExFRUWu6RMnTkiS6wNo+/bt9fe//9313DfccINCQ0Nd019//bViY2P197//3XVdNEmus9bn3xX8QqtXr1ajRo3UpUsX1wf/4uJitW/fXn369NHs2bN1+PBh9enTR/v379fbb7/tuju5JydOnFBBQYGGDBmir776Su3bt5ck1a9fX2vXrtWsWbOUkJCgunXrKi8vT9dff73uv/9+/dd//ZduvPFGdenSRQcOHNDf/vY3HThwQE2aNNHLL7+s1q1bKywsTNu2bavG/0IAADBeV4XxGgAQCP7xj3/owQcf1Pr167Vo0SKNHTtWzZs31/z58ytciqW0tFTNmzfX73//ex08eFBNmjRR//799be//U1fffWVq5neo0cP/fd//7cMw7jkk+Dny8vL04wZM/TUU09p6tSpatq0qebMmaNBgwbpnnvuUZ8+ffT9999bOu6nnnpKK1as0NatWy+67tNPP634+Hjdcccd+vWvf6309HTdf//9kqS5c+eqUaNGfBMdtYrN9HSRRAB+yzCMi16D1Bu2bt2qpKQk17fTqsvpdOrnn39WTEyMV/McOnRITZs2tbTNP//5T9WrV6/KYzh16pRiY2MvNx4AAG4Yr6uP8RoAcKVt2rRJX375pf785z9r27ZtGjp0qP74xz+6xp41a9boySefVFBQkGbPnq3OnTvLNE3Z7XYdOHBAzZo1c9vf4MGDtWXLFo0fP159+/a1lOXrr79W586dVVJSoi+//FK//OUvK6zTtm1bRUdHa9myZW4NeUn64osvtHTpUs2ePVshISGWnnvnzp166qmntGbNGkvbnVNQUKBu3bpp7dq1XA8dtQpNdAAAAAAAAFzV1qxZo9mzZ6t3797q06ePGjRoUGEdp9OpF154QXfccYe6dOlyRfNc7CT4sWPHFB8fr+DgYK8/9+We6K+pLwoA/oQmOgAAAAAAAAAAHnDaCAAAAAAAAAAAD2iiAwAAAAAAAADgAU10AAAAAAAAAAA8oIkOAAAAAAAAAIAHNNEBAAAAAAAAAPCAJjoAAAAAAAAAAB7QRAcAAAAAAAAAwAOa6AAAAAAAAAAAePD/AX9QUi2z01k/AAAAAElFTkSuQmCC",
|
||
"text/plain": [
|
||
"<Figure size 1500x1000 with 6 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"=== 关键发现 ===\n",
|
||
"1. 输出时间步到原始时间步的映射比例约为 4:1\n",
|
||
"2. 简单映射(中心位置)的平均比例: 1.8x\n",
|
||
"3. 保守映射(完整范围)的平均比例: 11.3x\n",
|
||
"4. 平均音素长度: 128 ms\n",
|
||
"5. 中位数音素长度: 160 ms\n",
|
||
"\n",
|
||
"=== 置信度计算原理解释 ===\n",
|
||
"基于之前的代码分析,置信度计算如下:\n",
|
||
"1. 对每个输出时间步t,计算softmax概率: softmax(log_probs[t])\n",
|
||
"2. 取该时间步预测的音素token对应的概率作为置信度\n",
|
||
"3. 对连续的相同音素时间步,计算平均置信度\n",
|
||
"4. 这个置信度反映了模型对该音素预测的确信程度\n",
|
||
"\n",
|
||
"例如您的例子: confidence = 0.9999608993530273\n",
|
||
"这表示模型对该音素'JH'的预测有极高的置信度(99.996%)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# =============================================================================\n",
|
||
"# 验证时间戳复原算法的正确性\n",
|
||
"# =============================================================================\n",
|
||
"\n",
|
||
"import torch\n",
|
||
"\n",
|
||
"# 创建一个模拟测试来验证我们的理解\n",
|
||
"def test_unfold_behavior():\n",
|
||
" \"\"\"测试PyTorch unfold的实际行为来验证我们的理解\"\"\"\n",
|
||
" \n",
|
||
" print(\"=== 验证PyTorch unfold行为 ===\")\n",
|
||
" \n",
|
||
" # 创建一个简单的序列用于测试\n",
|
||
" original_length = 30\n",
|
||
" patch_size = 14\n",
|
||
" patch_stride = 4\n",
|
||
" \n",
|
||
" # 创建一个简单的测试张量 [batch=1, features=1, height=1, time_steps=30]\n",
|
||
" test_tensor = torch.arange(original_length).float().unsqueeze(0).unsqueeze(0).unsqueeze(0)\n",
|
||
" print(f\"原始张量形状: {test_tensor.shape}\")\n",
|
||
" print(f\"原始张量内容: {test_tensor.squeeze().tolist()}\")\n",
|
||
" \n",
|
||
" # 应用unfold操作 (模拟RNN模型中的操作)\n",
|
||
" unfolded = test_tensor.unfold(3, patch_size, patch_stride)\n",
|
||
" print(f\"Unfold后形状: {unfolded.shape}\")\n",
|
||
" \n",
|
||
" # 分析每个输出时间步对应的输入\n",
|
||
" num_patches = unfolded.shape[3]\n",
|
||
" print(f\"输出时间步数: {num_patches}\")\n",
|
||
" print()\n",
|
||
" \n",
|
||
" print(\"每个输出时间步对应的原始时间步:\")\n",
|
||
" for i in range(min(10, num_patches)): # 只显示前10个\n",
|
||
" patch = unfolded[0, 0, 0, i, :].tolist()\n",
|
||
" start_idx = i * patch_stride\n",
|
||
" end_idx = start_idx + patch_size - 1\n",
|
||
" print(f\"输出 {i:2d}: 原始 [{start_idx:2d}:{end_idx+1:2d}] -> {patch}\")\n",
|
||
" \n",
|
||
" return unfolded\n",
|
||
"\n",
|
||
"# 运行测试\n",
|
||
"unfolded_result = test_unfold_behavior()\n",
|
||
"\n",
|
||
"# 验证我们的转换函数\n",
|
||
"def validate_conversion_function():\n",
|
||
" \"\"\"验证我们的时间戳转换函数\"\"\"\n",
|
||
" \n",
|
||
" print(f\"\\n=== 验证转换函数 ===\")\n",
|
||
" \n",
|
||
" # 测试几个具体案例\n",
|
||
" test_cases = [\n",
|
||
" (0, 0), # 第一个输出时间步\n",
|
||
" (1, 1), # 第二个输出时间步\n",
|
||
" (0, 1), # 跨越两个输出时间步\n",
|
||
" (206, 207), # 您提供的例子\n",
|
||
" (5, 10), # 较长的segment\n",
|
||
" ]\n",
|
||
" \n",
|
||
" print(\"测试案例:\")\n",
|
||
" print(f\"{'输出范围':10s} {'中心位置':15s} {'保守范围':15s} {'可能范围':15s} {'实际长度(ms)':12s}\")\n",
|
||
" print(\"-\" * 80)\n",
|
||
" \n",
|
||
" for output_start, output_end in test_cases:\n",
|
||
" conversion = convert_output_timestamp_to_original(output_start, output_end)\n",
|
||
" \n",
|
||
" output_range = f\"{output_start}-{output_end}\"\n",
|
||
" center_pos = f\"{conversion['center_positions'][0]:.1f}-{conversion['center_positions'][1]:.1f}\"\n",
|
||
" conservative = f\"{conversion['conservative_mapping'][0]}-{conversion['conservative_mapping'][1]}\"\n",
|
||
" likely = f\"{conversion['likely_mapping'][0]}-{conversion['likely_mapping'][1]}\"\n",
|
||
" duration_ms = conversion['output_duration'] * PATCH_STRIDE * ORIGINAL_BIN_MS\n",
|
||
" \n",
|
||
" print(f\"{output_range:10s} {center_pos:15s} {conservative:15s} {likely:15s} {duration_ms:8d}\")\n",
|
||
"\n",
|
||
"validate_conversion_function()\n",
|
||
"\n",
|
||
"# 如果有实际数据,进行更详细的验证\n",
|
||
"if 'phoneme_data' in locals() and phoneme_data is not None:\n",
|
||
" print(f\"\\n=== 实际数据验证 ===\")\n",
|
||
" \n",
|
||
" # 统计转换结果的分布\n",
|
||
" all_output_durations = []\n",
|
||
" all_simple_durations = []\n",
|
||
" all_conservative_durations = []\n",
|
||
" all_likely_durations = []\n",
|
||
" \n",
|
||
" for phoneme, segments in phoneme_data.items():\n",
|
||
" for segment in segments[:100]: # 每个音素取前100个进行统计\n",
|
||
" output_start = segment['start_time']\n",
|
||
" output_end = segment['end_time']\n",
|
||
" \n",
|
||
" conversion = convert_output_timestamp_to_original(output_start, output_end)\n",
|
||
" \n",
|
||
" output_duration = conversion['output_duration']\n",
|
||
" simple_duration = conversion['simple_mapping'][1] - conversion['simple_mapping'][0] + 1\n",
|
||
" conservative_duration = conversion['conservative_mapping'][1] - conversion['conservative_mapping'][0] + 1\n",
|
||
" likely_duration = conversion['likely_mapping'][1] - conversion['likely_mapping'][0] + 1\n",
|
||
" \n",
|
||
" all_output_durations.append(output_duration)\n",
|
||
" all_simple_durations.append(simple_duration)\n",
|
||
" all_conservative_durations.append(conservative_duration)\n",
|
||
" all_likely_durations.append(likely_duration)\n",
|
||
" \n",
|
||
" print(f\"转换结果统计 (基于 {len(all_output_durations)} 个segments):\")\n",
|
||
" print(f\"输出时间步长度: 平均 {np.mean(all_output_durations):.1f}, 中位数 {np.median(all_output_durations):.1f}\")\n",
|
||
" print(f\"简单映射长度: 平均 {np.mean(all_simple_durations):.1f}, 中位数 {np.median(all_simple_durations):.1f}\")\n",
|
||
" print(f\"保守映射长度: 平均 {np.mean(all_conservative_durations):.1f}, 中位数 {np.median(all_conservative_durations):.1f}\")\n",
|
||
" print(f\"可能映射长度: 平均 {np.mean(all_likely_durations):.1f}, 中位数 {np.median(all_likely_durations):.1f}\")\n",
|
||
" \n",
|
||
" # 转换比例分析\n",
|
||
" simple_ratios = [s/o for s, o in zip(all_simple_durations, all_output_durations) if o > 0]\n",
|
||
" conservative_ratios = [c/o for c, o in zip(all_conservative_durations, all_output_durations) if o > 0]\n",
|
||
" likely_ratios = [l/o for l, o in zip(all_likely_durations, all_output_durations) if o > 0]\n",
|
||
" \n",
|
||
" print(f\"\\n原始时间步 vs 输出时间步的比例:\")\n",
|
||
" print(f\"简单映射: 平均比例 {np.mean(simple_ratios):.1f}x\")\n",
|
||
" print(f\"保守映射: 平均比例 {np.mean(conservative_ratios):.1f}x\") \n",
|
||
" print(f\"可能映射: 平均比例 {np.mean(likely_ratios):.1f}x\")\n",
|
||
" \n",
|
||
" # 创建可视化\n",
|
||
" plt.figure(figsize=(15, 10))\n",
|
||
" \n",
|
||
" # 子图1: 长度分布对比\n",
|
||
" plt.subplot(2, 3, 1)\n",
|
||
" plt.hist([all_output_durations, all_simple_durations, all_conservative_durations, all_likely_durations], \n",
|
||
" bins=30, alpha=0.7, label=['输出', '简单', '保守', '可能'])\n",
|
||
" plt.xlabel('时间步长度')\n",
|
||
" plt.ylabel('频次')\n",
|
||
" plt.title('不同映射方法的长度分布')\n",
|
||
" plt.legend()\n",
|
||
" plt.grid(True, alpha=0.3)\n",
|
||
" \n",
|
||
" # 子图2: 比例分布\n",
|
||
" plt.subplot(2, 3, 2)\n",
|
||
" plt.hist([simple_ratios, conservative_ratios, likely_ratios], \n",
|
||
" bins=30, alpha=0.7, label=['简单', '保守', '可能'])\n",
|
||
" plt.xlabel('原始/输出 时间步比例')\n",
|
||
" plt.ylabel('频次')\n",
|
||
" plt.title('时间步长度比例分布')\n",
|
||
" plt.legend()\n",
|
||
" plt.grid(True, alpha=0.3)\n",
|
||
" \n",
|
||
" # 子图3: 输出时长 vs 简单映射时长散点图\n",
|
||
" plt.subplot(2, 3, 3)\n",
|
||
" plt.scatter(all_output_durations, all_simple_durations, alpha=0.5, s=10)\n",
|
||
" plt.xlabel('输出时间步长度')\n",
|
||
" plt.ylabel('简单映射时间步长度')\n",
|
||
" plt.title('输出 vs 简单映射长度')\n",
|
||
" plt.plot([0, max(all_output_durations)], [0, max(all_output_durations)*PATCH_STRIDE], 'r--', alpha=0.7, label=f'{PATCH_STRIDE}x线')\n",
|
||
" plt.legend()\n",
|
||
" plt.grid(True, alpha=0.3)\n",
|
||
" \n",
|
||
" # 子图4: 输出时长 vs 保守映射时长散点图\n",
|
||
" plt.subplot(2, 3, 4)\n",
|
||
" plt.scatter(all_output_durations, all_conservative_durations, alpha=0.5, s=10, color='orange')\n",
|
||
" plt.xlabel('输出时间步长度')\n",
|
||
" plt.ylabel('保守映射时间步长度')\n",
|
||
" plt.title('输出 vs 保守映射长度')\n",
|
||
" plt.grid(True, alpha=0.3)\n",
|
||
" \n",
|
||
" # 子图5: 输出时长 vs 可能映射时长散点图\n",
|
||
" plt.subplot(2, 3, 5)\n",
|
||
" plt.scatter(all_output_durations, all_likely_durations, alpha=0.5, s=10, color='green')\n",
|
||
" plt.xlabel('输出时间步长度')\n",
|
||
" plt.ylabel('可能映射时间步长度')\n",
|
||
" plt.title('输出 vs 可能映射长度')\n",
|
||
" plt.grid(True, alpha=0.3)\n",
|
||
" \n",
|
||
" # 子图6: 实际时长分布(毫秒)\n",
|
||
" plt.subplot(2, 3, 6)\n",
|
||
" actual_durations_ms = [d * PATCH_STRIDE * ORIGINAL_BIN_MS for d in all_output_durations]\n",
|
||
" plt.hist(actual_durations_ms, bins=50, alpha=0.7, color='purple')\n",
|
||
" plt.xlabel('实际时长 (ms)')\n",
|
||
" plt.ylabel('频次')\n",
|
||
" plt.title('音素segment实际时长分布')\n",
|
||
" plt.grid(True, alpha=0.3)\n",
|
||
" \n",
|
||
" plt.tight_layout()\n",
|
||
" plt.show()\n",
|
||
" \n",
|
||
" # 关键洞察\n",
|
||
" print(f\"\\n=== 关键发现 ===\")\n",
|
||
" print(f\"1. 输出时间步到原始时间步的映射比例约为 {PATCH_STRIDE}:1\")\n",
|
||
" print(f\"2. 简单映射(中心位置)的平均比例: {np.mean(simple_ratios):.1f}x\")\n",
|
||
" print(f\"3. 保守映射(完整范围)的平均比例: {np.mean(conservative_ratios):.1f}x\")\n",
|
||
" print(f\"4. 平均音素长度: {np.mean(actual_durations_ms):.0f} ms\")\n",
|
||
" print(f\"5. 中位数音素长度: {np.median(actual_durations_ms):.0f} ms\")\n",
|
||
"\n",
|
||
"print(f\"\\n=== 置信度计算原理解释 ===\")\n",
|
||
"print(\"基于之前的代码分析,置信度计算如下:\")\n",
|
||
"print(\"1. 对每个输出时间步t,计算softmax概率: softmax(log_probs[t])\")\n",
|
||
"print(\"2. 取该时间步预测的音素token对应的概率作为置信度\")\n",
|
||
"print(\"3. 对连续的相同音素时间步,计算平均置信度\")\n",
|
||
"print(\"4. 这个置信度反映了模型对该音素预测的确信程度\")\n",
|
||
"print()\n",
|
||
"print(\"例如您的例子: confidence = 0.9999608993530273\")\n",
|
||
"print(\"这表示模型对该音素'JH'的预测有极高的置信度(99.996%)\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "beufhfhmaao",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# =============================================================================\n",
|
||
"# 滑动窗口时间戳复原算法\n",
|
||
"# =============================================================================\n",
|
||
"\n",
|
||
"# 首先理解PyTorch unfold的工作原理\n",
|
||
"print(\"=== PyTorch unfold操作分析 ===\")\n",
|
||
"print(\"unfold(dimension, size, step) 的含义:\")\n",
|
||
"print(\"- dimension: 在哪个维度上进行unfold\")\n",
|
||
"print(\"- size: 每个窗口的大小 (patch_size = 14)\")\n",
|
||
"print(\"- step: 窗口间的步长 (patch_stride = 4)\")\n",
|
||
"print()\n",
|
||
"\n",
|
||
"# 配置参数\n",
|
||
"PATCH_SIZE = 14 # 滑动窗口大小\n",
|
||
"PATCH_STRIDE = 4 # 滑动窗口步长\n",
|
||
"ORIGINAL_BIN_MS = 20 # 原始时间bin大小(ms)\n",
|
||
"\n",
|
||
"print(f\"配置参数:\")\n",
|
||
"print(f\"- PATCH_SIZE: {PATCH_SIZE}\")\n",
|
||
"print(f\"- PATCH_STRIDE: {PATCH_STRIDE}\")\n",
|
||
"print(f\"- ORIGINAL_BIN_MS: {ORIGINAL_BIN_MS}\")\n",
|
||
"print()\n",
|
||
"\n",
|
||
"# 模拟unfold操作来理解输出时间步与原始时间步的对应关系\n",
|
||
"def analyze_unfold_mapping(original_length, patch_size, patch_stride):\n",
|
||
" \"\"\"分析unfold操作后的时间步映射关系\"\"\"\n",
|
||
" \n",
|
||
" # 计算输出长度 (模拟unfold的行为)\n",
|
||
" output_length = (original_length - patch_size) // patch_stride + 1\n",
|
||
" \n",
|
||
" print(f\"原始序列长度: {original_length}\")\n",
|
||
" print(f\"输出序列长度: {output_length}\")\n",
|
||
" print()\n",
|
||
" \n",
|
||
" # 为每个输出时间步计算对应的原始时间步范围\n",
|
||
" mappings = []\n",
|
||
" for output_idx in range(output_length):\n",
|
||
" start_idx = output_idx * patch_stride\n",
|
||
" end_idx = start_idx + patch_size - 1\n",
|
||
" center_idx = (start_idx + end_idx) / 2\n",
|
||
" \n",
|
||
" mappings.append({\n",
|
||
" 'output_idx': output_idx,\n",
|
||
" 'original_start': start_idx,\n",
|
||
" 'original_end': end_idx,\n",
|
||
" 'original_center': center_idx,\n",
|
||
" 'original_range': f\"[{start_idx}:{end_idx+1}]\"\n",
|
||
" })\n",
|
||
" \n",
|
||
" return mappings, output_length\n",
|
||
"\n",
|
||
"# 分析一个示例序列\n",
|
||
"print(\"=== 滑动窗口映射分析 ===\")\n",
|
||
"original_length = 100 # 假设原始序列有100个时间步\n",
|
||
"mappings, output_length = analyze_unfold_mapping(original_length, PATCH_SIZE, PATCH_STRIDE)\n",
|
||
"\n",
|
||
"print(\"前10个输出时间步对应的原始时间步范围:\")\n",
|
||
"for i, mapping in enumerate(mappings[:10]):\n",
|
||
" print(f\"输出 {mapping['output_idx']:2d} <- 原始 {mapping['original_range']:8s} (中心: {mapping['original_center']:4.1f})\")\n",
|
||
"\n",
|
||
"print(f\"\\n后5个输出时间步:\")\n",
|
||
"for mapping in mappings[-5:]:\n",
|
||
" print(f\"输出 {mapping['output_idx']:2d} <- 原始 {mapping['original_range']:8s} (中心: {mapping['original_center']:4.1f})\")\n",
|
||
"\n",
|
||
"def convert_output_timestamp_to_original(output_start, output_end, patch_size=PATCH_SIZE, patch_stride=PATCH_STRIDE):\n",
|
||
" \"\"\"\n",
|
||
" 将输出时间戳转换为原始数据时间戳\n",
|
||
" \n",
|
||
" Args:\n",
|
||
" output_start: 输出序列中的开始时间步\n",
|
||
" output_end: 输出序列中的结束时间步\n",
|
||
" patch_size: 滑动窗口大小\n",
|
||
" patch_stride: 滑动窗口步长\n",
|
||
" \n",
|
||
" Returns:\n",
|
||
" dict: 包含原始时间戳信息的字典\n",
|
||
" \"\"\"\n",
|
||
" \n",
|
||
" # 计算输出时间步对应的原始时间步中心位置\n",
|
||
" original_start_center = output_start * patch_stride + (patch_size - 1) / 2\n",
|
||
" original_end_center = output_end * patch_stride + (patch_size - 1) / 2\n",
|
||
" \n",
|
||
" # 由于每个输出时间步对应一个patch,我们需要考虑如何处理重叠\n",
|
||
" # 最简单的方法:使用中心位置\n",
|
||
" original_start_simple = int(round(original_start_center))\n",
|
||
" original_end_simple = int(round(original_end_center))\n",
|
||
" \n",
|
||
" # 更精确的方法:考虑实际的音素边界\n",
|
||
" # 输出时间步的范围对应的原始patch范围\n",
|
||
" patch_start_first = output_start * patch_stride\n",
|
||
" patch_end_first = patch_start_first + patch_size - 1\n",
|
||
" \n",
|
||
" patch_start_last = output_end * patch_stride \n",
|
||
" patch_end_last = patch_start_last + patch_size - 1\n",
|
||
" \n",
|
||
" # 保守估计:音素可能存在于重叠区域的任何位置\n",
|
||
" conservative_start = patch_start_first\n",
|
||
" conservative_end = patch_end_last\n",
|
||
" \n",
|
||
" # 最可能的范围:基于中心位置但考虑patch边界\n",
|
||
" likely_start = max(patch_start_first, int(original_start_center - patch_stride/2))\n",
|
||
" likely_end = min(patch_end_last, int(original_end_center + patch_stride/2))\n",
|
||
" \n",
|
||
" return {\n",
|
||
" 'output_range': (output_start, output_end),\n",
|
||
" 'output_duration': output_end - output_start + 1,\n",
|
||
" 'simple_mapping': (original_start_simple, original_end_simple),\n",
|
||
" 'conservative_mapping': (conservative_start, conservative_end),\n",
|
||
" 'likely_mapping': (likely_start, likely_end),\n",
|
||
" 'center_positions': (original_start_center, original_end_center),\n",
|
||
" 'patch_ranges': {\n",
|
||
" 'first_patch': (patch_start_first, patch_end_first),\n",
|
||
" 'last_patch': (patch_start_last, patch_end_last)\n",
|
||
" }\n",
|
||
" }\n",
|
||
"\n",
|
||
"print(f\"\\n=== 时间戳转换示例 ===\")\n",
|
||
"\n",
|
||
"# 使用您提供的例子\n",
|
||
"example_output_start = 206\n",
|
||
"example_output_end = 207\n",
|
||
"\n",
|
||
"conversion = convert_output_timestamp_to_original(example_output_start, example_output_end)\n",
|
||
"\n",
|
||
"print(f\"示例: 输出时间戳 {example_output_start}-{example_output_end}\")\n",
|
||
"print(f\"输出持续时间: {conversion['output_duration']} 个输出时间步\")\n",
|
||
"print(f\"实际时长: {conversion['output_duration'] * PATCH_STRIDE * ORIGINAL_BIN_MS} ms\")\n",
|
||
"print()\n",
|
||
"print(f\"转换结果:\")\n",
|
||
"print(f\"1. 简单映射(中心位置): {conversion['simple_mapping']}\")\n",
|
||
"print(f\"2. 保守映射(完整范围): {conversion['conservative_mapping']}\") \n",
|
||
"print(f\"3. 可能映射(调整范围): {conversion['likely_mapping']}\")\n",
|
||
"print()\n",
|
||
"print(f\"详细信息:\")\n",
|
||
"print(f\"- 中心位置: {conversion['center_positions']}\")\n",
|
||
"print(f\"- 第一个patch范围: {conversion['patch_ranges']['first_patch']}\")\n",
|
||
"print(f\"- 最后一个patch范围: {conversion['patch_ranges']['last_patch']}\")\n",
|
||
"\n",
|
||
"# 如果有phoneme_data,分析实际数据\n",
|
||
"if 'phoneme_data' in locals() and phoneme_data is not None:\n",
|
||
" print(f\"\\n=== 实际数据转换分析 ===\")\n",
|
||
" \n",
|
||
" # 随机选择一些segments进行分析\n",
|
||
" sample_conversions = []\n",
|
||
" \n",
|
||
" count = 0\n",
|
||
" for phoneme, segments in phoneme_data.items():\n",
|
||
" for segment in segments[:3]: # 每个音素取前3个\n",
|
||
" if count >= 10: # 只分析前10个\n",
|
||
" break\n",
|
||
" \n",
|
||
" output_start = segment['start_time']\n",
|
||
" output_end = segment['end_time']\n",
|
||
" \n",
|
||
" conversion = convert_output_timestamp_to_original(output_start, output_end)\n",
|
||
" conversion['phoneme'] = phoneme\n",
|
||
" conversion['session'] = segment.get('session', 'unknown')\n",
|
||
" conversion['trial_num'] = segment.get('trial_num', -1)\n",
|
||
" \n",
|
||
" sample_conversions.append(conversion)\n",
|
||
" count += 1\n",
|
||
" \n",
|
||
" if count >= 10:\n",
|
||
" break\n",
|
||
" \n",
|
||
" print(f\"前10个segment的时间戳转换:\")\n",
|
||
" print(f\"{'音素':4s} {'输出':8s} {'简单映射':12s} {'保守映射':12s} {'可能映射':12s} {'实际时长(ms)':10s}\")\n",
|
||
" print(\"-\" * 70)\n",
|
||
" \n",
|
||
" for conv in sample_conversions:\n",
|
||
" output_range = f\"{conv['output_range'][0]}-{conv['output_range'][1]}\"\n",
|
||
" simple = f\"{conv['simple_mapping'][0]}-{conv['simple_mapping'][1]}\"\n",
|
||
" conservative = f\"{conv['conservative_mapping'][0]}-{conv['conservative_mapping'][1]}\"\n",
|
||
" likely = f\"{conv['likely_mapping'][0]}-{conv['likely_mapping'][1]}\"\n",
|
||
" duration_ms = conv['output_duration'] * PATCH_STRIDE * ORIGINAL_BIN_MS\n",
|
||
" \n",
|
||
" print(f\"{conv['phoneme']:4s} {output_range:8s} {simple:12s} {conservative:12s} {likely:12s} {duration_ms:6d}\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "a530adfb",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import matplotlib.pyplot as plt\n",
|
||
"\n",
|
||
"# 设置中文字体支持\n",
|
||
"plt.rcParams['font.sans-serif'] = ['SimHei', 'DejaVu Sans', 'Arial Unicode MS', 'sans-serif']\n",
|
||
"plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题\n",
|
||
"\n",
|
||
"print(\"已启用matplotlib中文支持\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "mks6harmjq",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"=== 滑动窗口参数分析 ===\n",
|
||
"输入patch大小: 14 时间步\n",
|
||
"滑动窗口步长: 4 时间步\n",
|
||
"相邻窗口重叠: 10 时间步\n",
|
||
"原始数据分辨率: 20 ms/bin\n",
|
||
"输出数据分辨率: 80 ms/output_step\n",
|
||
"\n",
|
||
"=== 时间步长度统计 ===\n",
|
||
"总segment数量: 214218\n",
|
||
"输出时间步长度:\n",
|
||
" 最小: 1 步\n",
|
||
" 最大: 12 步\n",
|
||
" 平均: 2.1 步\n",
|
||
" 中位数: 2.0 步\n",
|
||
"\n",
|
||
"对应的实际时长(毫秒):\n",
|
||
" 最小: 80 ms\n",
|
||
" 最大: 960 ms\n",
|
||
" 平均: 170.4 ms\n",
|
||
" 中位数: 160.0 ms\n",
|
||
"\n",
|
||
"输出时间步长度分布 (前10个):\n",
|
||
" 2 步 (160ms): 78068 个segment (36.4%)\n",
|
||
" 1 步 ( 80ms): 74821 个segment (34.9%)\n",
|
||
" 3 步 (240ms): 30313 个segment (14.2%)\n",
|
||
" 4 步 (320ms): 21718 个segment (10.1%)\n",
|
||
" 5 步 (400ms): 8254 个segment (3.9%)\n",
|
||
" 6 步 (480ms): 977 个segment (0.5%)\n",
|
||
" 7 步 (560ms): 59 个segment (0.0%)\n",
|
||
" 8 步 (640ms): 7 个segment (0.0%)\n",
|
||
"12 步 (960ms): 1 个segment (0.0%)\n",
|
||
"\n",
|
||
"=== 示例分析 ===\n",
|
||
"示例segment: start_time=206, end_time=207\n",
|
||
"输出时间步数: 2\n",
|
||
"实际时长: 160 ms\n",
|
||
"对应原始数据范围: bin 824 到 bin 841\n",
|
||
"原始数据时间步数: 18\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAMWCAYAAAAgRDUeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3XucjHX/x/H37Nnu2tbag9PGYuummxKLdKNFKUKhg0Phbosk7sRd3UVRVCqkHyJCjkVJJ7ecQm4dSA4tihDrNE47s7t29jDX74+9d25jZ1manZm1r+fjMY/u6/pe1zWf6/u113zuz3UyGYZhCAAAAAAAAPAgP28HAAAAAAAAgPKHohQAAAAAAAA8jqIUAAAAAAAAPI6iFAAAAAAAADyOohQAAAAAAAA8jqIUAAAAAAAAPI6iFAAAAAAAADyOohQAAAAAAAA8jqIUgCLy8vK8HUKJ5ebmejsEAAAAt0hPT9fvv//u7TAAwGMoSgHl1Pbt29W/f3+lpaUVaRszZoxuvPFGpaenX9Y2O3furKVLl7orREnS0aNHVatWLa1bt65I27Fjx1SnTh19+umnkqT8/HxlZmYqJydHhmFc8XeePXtWM2bM0NmzZy8rzlWrVik/P79I25kzZy47hrVr16pZs2bKysq6rPUMw9CRI0cc07///rtmzZp12d+fm5urm2++WbNnz77sdQEAwJVp166d+vTpc9Flzp07pyVLljh9Pv74Y9ntdp05c8blycWsrCxlZ2dfUUwXy8UKpaam6ocffnDZdjl50OHDhx3/+9ixY5o8eXLJAz1Pu3bt9Prrr1/RugA8i6IUUE7t2LFDH374oWJiYpzmnzlzRhMnTtS5c+f07LPPFrv+t99+q6NHjzrN27ZtW5HE4/fff9exY8ec5p09e1YHDhxw+pxfSDmfn5+fDh486LLYU6VKFXXs2FH9+vXTgQMHtGnTJoWHhys4OFh+fn4ymUxOn8jIyIt1icPJkyf16KOPXlYStX79et1+++2y2+1O848dO6YbbrhBb775ZrHr5ufnKy8vz+lz7bXX6ocfftCSJUsc83JycmS1WpWZmVnstr744gvVrVtXv/zyi6SCJDElJUV79uwp8b5I0urVq7V161bVqFHjstYDAABX7qGHHtK3336rXbt2FbtMenq67rvvPj3//PN67bXX1L9/f40ePVp+fn5q1KiRAgMDi+RAYWFh+uKLLxzbcFcuVuidd97RU089VWT+mjVrVKdOHa1du/aS+75jxw7Vrl1bX3/9tSTJbDbrySef1MqVKy+57vl2796t1atXq3Llype1HgDvCPB2AAA8Kzc3VytWrNA333yjOnXqaMOGDcrKylKnTp0kSf/4xz/Upk0bTZs2TTfffLNGjBihl19+uch2unTpogkTJujhhx92zAsMDJSfn3Otu2/fvvrb3/6msWPHOuZNmjRJL774otNyN954o37++eci3xMQEOD030JWq1X5+fl66623dPr0aR08eFBNmzbV3r17FRwcrODgYJlMJsfyc+bMKfaM2blz51SxYkV99dVXuuOOOxzflZaW5kjACgtDf/3rX11uIzg4WP7+/goMDHTMy8rKUpcuXZSXl6e2bdu6XE+SwsLCZLPZXLb16dOnyBnTZ555Rq+99prL5V999VXdfPPNuuGGGyRJd999t5o0aaJBgwbp66+/duqTQjt27FBISIgCAgIc7ZMmTdJ1112nunXr6sCBA07L2+125eTkKDQ0VNdee22x+wUAAFzbuHGj/va3vxXbXr9+/SLzAgMDlZOTo6CgIEnStGnTdNttt+nGG29Uhw4dJEnff/+9y3wsNzdX4eHhjml35GLnCw4OVoUKFZzm7dmzR/fdd58SExN14403FrtuobFjx6pGjRpKTk6WJDVo0EDdu3fXU089pS1btig4OLjIOrt375a/v79TDjN+/HhFRkaqVatWLnOY3Nxc+fv7q27dupeMCUDpoygFlDPnzp3T0KFDdfToUUVERGjQoEHKyclRp06d9OGHH+qbb77R1q1bFRUVpWXLlik5OVm7du3S//3f/6lKlSqO7YSEhCg0NPSS3xcUFORIngoFBASoTp062rt3ryTp2Wef1apVq3TgwAEdP35cgYGBCggIkJ+fnywWi6SCK66Cg4NVt25dVa5cWYMHD9bOnTv1448/6sMPP3Rsu06dOi7jCAsLKxLH+fuSn5/vSHb8/f0lFdyOWJjU5eTkKCwsrMjVYcWx2Wzq3r279u/frzVr1hRbzCrsjzlz5qhjx46SpMGDB+vOO+90JJiHDx9W3759NW3aNFWvXt1lUiZJy5Yt06ZNm7Rhwwan+ZMmTVKLFi00adIkDRkypMh6jRo1KvbsZ0JCQrFx9+nTh9v7AAC4AoUFnPXr16tBgwZF2vPz8x35iCS9+eabmjRpkiQ55TOHDh3S9u3bNWXKFElSXFxcib7fHbnYxfzxxx+68847lZiYqK+//loREREXXX7Lli1avHixZs+e7XSCb9y4cfrrX/+qZ599VhMmTCiy3t133619+/a53Ob1119f7Pe1bt1a33zzzUVjAuAZFKWAciYiIkK//vqr4uPjNXv2bMcVPOvXr9djjz2mhIQEp0SjcePG2rRpk6677jr1799fr7zySpGrkC7X+clGoYCAAL333nuaMGGC4wzf+Wf5Bg8erLy8PC1atEidO3dWRESEI6Gz2+2OhOlCoaGhxRajChXuy/nJn1Tw3K0ruX0tIyND9913n7Zs2XLJgpRUcFl8SEiI47/fffedmjRp4jijGRoaqu+//16hoaGKjIx0WUA6ffq0BgwYoPvvv7/ImddmzZrpmWee0dNPP62qVavq/vvvd2pPT093XOllMpmUnJwsf39/rVq1Sv/+97915MgR/f3vf7/sfgAAAK4VPt+pYsWKOn36tBYvXqynn37acTVSYmKievbsqVGjRkmSoqKinK50KvTll18qJiZGt9xyi7Kyshy/5xcyDEPZ2dmOYpM7crHi7N27V3fccYeqVKmiFStWXLIglZOTo379+qlJkybq1auXU1utWrU0fvx49e/fX/Hx8Ro6dKhT+/bt2xUYGCh/f3/5+fmpb9+++v7777Vt2zb99NNP+s9//lNkHQC+hWdKAeXQ7t27dfr0aTVr1kx5eXlavHix2rdvr9dff13/+c9/dObMGcdn/fr1+v7775WUlKRDhw4Ve5XO5bjwkvLCeWPGjFFWVpbS09N15swZnTp1ynH266uvvlJWVpYjCTr/0vRjx46pUqVKLj8zZ850GUN+fr7OnTtX5BlQkootuBmGIZvNdsm3Ez788MP66aeftHbt2ksWpAqZzWaFhYXJ399fu3bt0hNPPOF4DkTNmjUlSdddd50CAwOLXO1kGIYee+wxSdL//d//udz+K6+8ol69eqlHjx4aPXq0U2ErLCzMcdn77Nmz9f333zvOuK5du1bz588v0T4AAICSadq0qc6cOaMGDRpoz549euutt9S4cWP9+OOPkgqKVufnG0OHDnX5zKdly5apY8eO8vPzU0REhOP3/MKPn5+fQkNDHc+Vckcu5kpWVpaSk5NLXJCSpOeee0779u3T7NmzXeZgjz32mJ5//nk9/fTTGjhwoNMD20NDQx054dq1azV37lxNmzZNQUFB2rp16xU/KB2A53ClFFAO/fvf/1b79u3Vv39/1a5dW23btlVycrI2b96szZs3S5JuueUWPfLII5IKrvxp0qSJ04PPc3JydN999xXZdr9+/dSvXz+neU2bNnWaNplM2rdvn1Pi0aJFC0kFVz0dOHBAtWvXLvH+FF4xtWPHDqciUN26dRUSEuJynQ0bNjieWVCoZcuWTtPx8fEu1124cKEefPBB7dy503EWsfAthrt371ZKSop69+4tf39/7d6922nd3NxchYaGOt1maLfbVa1aNWVkZCgkJEQNGzbUk08+qQEDBkgquH0vPj5ev//+u2rUqFGkkDZ8+HAtW7ZM//d//6fjx4/r1KlTLuN+9tlnFRQUpBdffFHLli3TkiVLnG7P+/nnn/XEE0/omWeeUWhoqA4fPqxz584pPz/f6W04khQTE+OWAiUAAOVR4dVKX3/9te666y7t3r1bjzzyiDp37qzff/9dOTk5xeYh5wsPD9eJEyckFeRBQUFB8vf3V35+vurWravZs2erdevWjiulqlevLunP52I5OTlKTU11XD1/5swZZWVl6Y8//tALL7ygm2++WUeOHClSSLPZbKpatapiY2MlFZxMGz9+vF5++WXl5uZq165dLgtTvXv3liS99tprWrlypRYtWqTGjRs72g8dOqQePXqoX79+ql27tg4fPiyr1SpJRXKYqKioEj2CAoBnUJQCypm8vDxNnz5dzzzzjL766isdOHBAFSpUUPfu3fXWW29p1KhRWrRokb7//nsFBwfr6aef1rfffqtx48Zp9OjRju189913RYojbdu21RNPPKGuXbs6zb/wrXd+fn6qWbOm417+119/XTt27JBUcLbso48+0m+//XbRB2qerzB5sVqtOnv2rGO+3W4v9qqnxo0ba+fOnapYsWKR2/tOnz6tDz74QL169XJ6O2HhwzGjoqIkSffcc4+OHz+u4OBg5eTkKD8/33HrnNVqlclkcrrU3jAMnTt3Tnfffbc++ugjx/ycnByFhIQoLCxM0v+u4ircl8JbEw3DKHK5/apVqzRhwgRNmzZNixYtchSyirNo0SK1bdtWH3/8seMKLKngUvtOnTopKytLL730kl566SWn9S5MjL/55hu1bt36ot8FAACK99VXX+n+++/X/fffr3fffVdLly7Vvn37VKFCBVmt1hK9TGT8+PFKSEjQunXrnH6XC6+yiouLU61atYo8o+rP5mJHjx5V06ZNFRoaqoCAAGVmZjrlQadPn1ZYWJjTCazC/Oatt97SE088odTUVA0fPlwvvPCCDhw4oIYNG150X1977TV9/fXXeu2115weBH/ixAl17NhRx48f18yZM4tcJX9hDjN79uwiL5EB4D3cvgeUMxs3btSuXbvUt29fLV26VOvXr9dPP/2kChUqKDw8XDfddJPi4uLk5+enChUqKCQkxHG1UWHxZubMmVq9erXq1q3r9AkMDFRsbKzTvOjoaE2cONHp6h273a6AgADVqlVLtWrV0jXXXONo69+/v9LS0jR37tzL3rcWLVo43bq3f//+YpetWLGibrjhBl177bWqUqWKduzYodGjRysiIkKBgYF6/fXX5e/vrypVqjg+Bw4cUHx8vCpWrCipoJBjtVp18uRJffDBB/L399fJkyd18uRJvfzyy6pevbpOnDjhmHfq1CllZWU5FaTy8/OVm5vrVLjLzs7W0KFDHftR+CY9V2/oa9eunePqrC+++EJ5eXmaNm2aQkNDZbfbZRiGDMPQH3/8IakgMXvwwQe1ePFix6X7P/30k1q2bKmaNWuqfv36euutt5Sbm6vc3Fz961//0h133OGYzsjIkCSukgIA4E+67777tGbNGn377bdq3ry58vPzVadOHZ06dUrnzp1zOnlUnPj4eLVq1UqzZs2SJHXv3l0vvPCC0zJPPvmkBg4c6DTvz+ZiNWvWVE5Ojs6ePauTJ0+qf//+atWqlSPnufPOO9WtWzfH9MmTJ3XmzBllZ2friSeekFTwhsHt27fr5Zdf1uTJk5WTk6N///vfkgoezVCYw+Tn5ysgIEDx8fFq06aNvv76a8dV8vv371fr1q2Vk5OjVq1aafDgwY6cZdq0abr++usd07m5uYqLiyOHAXwMRSmgnGnZsqVWr14tq9Wqhx9+WI8++qgef/xxmUwmbd++XXfeeacWLlwoSY4HXxdebVT432+//bbIG96Kk5eXpzFjxujcuXOOea4e1G0YhiSpdu3a6tixo1599VWXz3u6mB07djgSGMMwin0T34X27t2rBx98UGlpaQoICHAkK+ff+rdlyxYlJydrxIgRJdpm7969S1RcS09PlyRVqVJF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z6hTp07eDqPMmzFjhuLj4xUaGqrbbrtNv//+u7dDAnTy5EklJCTowIEDjnn8NgEAAFwdKEqhWPv27VO/fv302muvKS0tTdddd51SUlK8HdZVYf78+VqxYoW3w7gqbN++XVOmTNHbb7/t7VDKtH379mn06NFatmyZdu/erTp16qhv377eDqtMclVE2blzp5KSklSpUiUNHz5cPM6xZE6ePKm7777bqS/5bcLVoLjC6sWOFevWrVO9evUUHR2t8ePHeyv0cun8E4kXG4clS5aoZs2aqlatmhYuXOiFSMuvC09Q8rfkO4o76ckYedfl5quleuwzgGJ8/vnnxrRp0xzTa9asMSpUqODFiK4Op06dMuLi4ozrr7/emDVrlrfDKdPy8/ONZs2aGSNGjPB2KGXe4sWLjfvuu88x/e233xpVq1b1YkRlk9lsNpo1a2ZIMvbv328YhmFkZ2cbtWrVMvr372/s3bvX6NChg/H+++97N9Ayom3btsbbb7/t1J/8NqGs27t3r1GpUiXjww8/NI4dO2bcd999RosWLS56rDhx4oQRERFhjBo1yvj111+Nm2++2VizZo2X96R8mDdvniHJmDVr1kXHYceOHUZQUJDx3nvvGdu3bzfq1q1r7N6928vRlw/btm0zwsPDjX379hmGcfHfXf6WPGvv3r1GfHy8sWXLFuPgwYPG3//+d6Nly5aMkZddbr5a2sc+ilIosalTpxoNGzb0dhhlXt++fY0BAwYYffr0oSj1J02ePNkIDQ01Zs6caSxbtsyw2WzeDqnM+uWXX4zKlSsbW7duNc6ePWv07NnTePjhh70dVpnjqoiydOlSo1KlSkZmZqZhGIbx888/G7feeqsXoyw7fv/9d8MwDKf+vBC/TShriiusXuxYMWHCBOMvf/mLYbfbDcMwjE8//dTo1auX54MvZy48kXixcRgyZIjRvn17x7oTJ040nn/+ea/EXZ64OkHJ35LvKO6kJ2PkXZebr5b2sY/b91AiOTk5euuttzRgwABvh1KmrV27VqtXr9a4ceO8HUqZl5GRoRdffFG1a9fWwYMHNWHCBP3tb3/TuXPnvB1amVS/fn11795djRo1UmRkpDZt2qQ333zT22GVOe+9954GDx7sNG/btm1q3ry5QkNDJUkNGzZUamqqN8IrcxISEi7azm8TyqK7775bjz32mGN6z549SkxMvOixYtu2bUpOTpbJZJIkNW3aVFu2bPF88OXM008/rXvvvVfNmzeXdPFx2LZtm9q0aeNYlzHyjHfffVc7duxQrVq19NlnnyknJ4e/JR9Sv359rVmzRj///LPS09M1ZcoU3X777YyRl11uvlraxz6KUiiRF198UWFhYTy340/Izs5W//79NXXqVFWsWNHb4ZR5n3zyiTIzM7V27VqNGjVKK1eulNVq1dy5c70dWpn0ww8/6PPPP9d3332ns2fPqkePHurQoQPPPrpMroooFovFab7JZJK/v7/OnDnjydCuSvw2oaw7v7B6sWPFhW0RERE6cuSIN0IuN1ydSLzYODBGnlfcCUr+lnxHcSc9GSPvutx8tbSPfRSlcElr1qzR5MmTtWDBAgUGBno7nDLr5ZdfVlJSkjp27OjtUK4Khw8fVvPmzRUdHS1JCggIUMOGDbV3714vR1Y2LVy4UA8++KCaNWuma665Rq+88or27dunbdu2eTu0Mi8gIEDBwcFO80JCQpSVleWliK4O/DbhanB+YfVix4oL2ziGlK7iTiRebBwYI88r7gTl+++/z9+SjyjupCfHO99zpWPijvGiKIWL2r9/v3r06KHJkyerfv363g6nTFuwYIGWLVumyMhIRUZGasGCBRo4cKAGDhzo7dDKpBo1ahS5Ve/gwYOqXr26lyIq2+x2u06cOOGYtlqtysrKUn5+vhejujpERUXJbDY7zbNarQoKCvJSRGUfv024GlxYWL3YseLCNo4hpau4E4kXGwfGyPOKO0F59uxZ/pZ8RHEnPTne+Z4rHRN3jBdFKRTr3Llzuvvuu9WlSxfde++9ysjIUEZGBrfzXKENGzZo586d+vnnn/Xzzz+rc+fOGj16tEaPHu3t0Mqkjh07KjU1Ve+++64OHz6sSZMmadu2beratau3QyuTWrZsqU8++UQTJkzQggULdM8996hKlSpq2LCht0Mr85KSkrRp0ybH9P79+2Wz2RQVFeXFqMoufptwNXBVWL3YseLCtq1bt3ISphQVdyJxzpw5xY4DY+R5xZ2gnDhxIn9LPqK4k54BAQGMkY+50t8gt4zXn3psO65qn376qSGpyKe4NyDh8vD2vT/v22+/NZo3b25UqFDBqF27tvHZZ595O6Qyy263G6NHjzauvfZaIzAw0GjUqJHx008/eTusMuv8Y2Vubq4RExPjeK1uSkqKcffdd3sxurLn/P7ktwllXVZWllG/fn3j0UcfNaxWq+OTk5NT7LHCbDYbISEhxsqVK42cnBzjzjvvNAYNGuTN3biqHTp0yNi/f7/j061bN+ONN9646Dj8/PPPRlhYmLF9+3bDarUaN910k/Hmm296eU+ubidPnjQiIiKMqVOnGocOHTLefvttIyQkxPjjjz/4W/IRixcvNkJDQ43x48cb8+fPN5KTk42aNWtyvPMRJc1XS/vYR1EKAAA3u7BIsmzZMiM0NNSoXLmyERMTY/zyyy/eCw6AV12ssHqxY8XUqVONwMBAo1KlSkZCQoJx7NgxL+5F+XL+icSLjcO//vUvIygoyIiIiDAaN25sZGVleSni8qO4E5T8LfmGi530ZIy873Ly1dI89pn+GwwAAChFx44d05YtW9S8eXNVrlzZ2+EA8FEXO1bs379fu3fvVsuWLRUeHu6lCHGxcUhNTVVaWppat27Nc3C8jL8l38cY+Z4rHZM/c+yjKAUAAAAAAACP40HnAAAAAAAA8DiKUgAAAAAAAPA4ilIAAAAAAADwOIpSAAAAAAAA8DiKUgC8Jjs72+X8DRs2KD8/38PRuNazZ099++23kqScnBzl5uaK90MAAAAAwJ9HUQqA19x1112aMWOG07z58+erVatWeu+990q0jZtuuklffvnln46ldevW+r//+78i8+vXr6/evXvr7NmzGjhwoK655hpFRkY6fUwmk3bu3Flk3R9++EFms1mS9NRTT+mZZ54p9vuPHTumCRMmSJJq166tn3/+WXPnztV//vMf7du3T40bNy62iAcAAK4umZmZ6tOnjw4ePOjtUDzKZrPpzTffvOL1MzIy9M4777gxIgCljaIUAI/Lzc3V2bNn9fvvv6tx48Y6ffq0JGn37t164okntHDhQk2YMEEbNmxwWu/cuXN66aWXlJOT45gXHBys0NBQx/TatWu1bt06x/SGDRvk5+fnVEDasWNHkZiCgoIUFBRUZP7w4cPVtGlTnTlzRjNmzFBWVpbS09N19uxZxycsLEwhISFF1h0yZIi+//57SVJAQIDTMrm5uU77cc0112jBggX67LPPFBAQIH9/f40ZM0ZVq1bVTz/9pKCgIJffAQAArj5hYWHavn17kZN35zMMQyaTSVFRUapcubJMJpM2b96sLl26qFatWk6fatWq6T//+c9lxVDcCTtJSklJ0bPPPus0b8OGDerYsaMyMjIu63vO9/jjjysrK+uK169QoYK++OILzZs374q3AcCzArwdAIDyZ8uWLerRo4eOHTumBx98UPn5+fr88891++2367HHHtODDz6oxMRE3XnnnXrppZf0+OOPy8/PT3a7XaNGjdKIESMc2zKZTDKZTI7plStXymQyqXXr1pKkwMBAVatWTYcPH5YkhYeH6/Dhw/rkk08cxR9JOnTokFasWKGjR4/qqaeektls1g033KDTp0/ro48+uuQ+BQQUPZz6+/s7Ckl+fn56++23NWfOHEkFRaknn3zSkdClpqaqZ8+eyszMVHZ2tlavXq1mzZrp4MGDWr16tdq1a+fYrs1mU2BgoPz8OK8AAMDVYPTo0Xr//fed5p06dUpvvvmm5s6d6zT/+eef16OPPiqTyaTAwED99NNPOnr0qLp06aLGjRtr0aJFCgoKcuQ4UsEjEwIDAyUVFI9at26tiIgISVJ6erq2b9+uBg0aOH1PcSfsJCkkJMTpZNnu3bt177336pFHHlF4ePgV9cGaNWt08ODBIv1wOfz9/bVw4ULdcsst6tixoypVqnTF2wLgGRSlAHhc8+bNNWHCBE2fPl2jRo3SH3/8oebNm6tnz5766KOPHEWgO++8Uz/++KOWLFmiBQsWOBKL85OsC11YqHFVLLrmmmtUv359R2HHZDIpIiJCNWrU0A033KDAwECFh4fLZrOpQoUKSk1NVYcOHYpsZ9asWUpOTnaal5eXJz8/P5cFo3/84x966aWXnObl5uYqMDBQqamp2rFjhyZMmKBDhw7pu+++U8WKFbVx40YtX75c+fn5mjt3ro4fP66KFStq/fr1+stf/lJsPwAAgLIjIyND7dq1K3JlVFpamkJDQx050N/+9jedO3fO0V5YNFq5cqXuuOMOmUwmVahQocj2zy8gXekJu8Ii1oV+/fVXtWvXToMGDSqS51yOl156SZMmTbri9QtFRUVpwIABeueddzRy5Mg/vT0ApYuiFACv+OKLL3TTTTdp2LBhmjdvnlq1aqVdu3apVq1aqlq1qhYuXChJ+vDDD2Wz2VS1atUreqaSn5+fjhw5osjISEkFz2ioWrWqbr75Zh04cMBR2Jk2bZoaNWqk7t27O5aT5HQV1oEDBxz/u3nz5i4feP7mm29q5MiRCg8Pl2EYeuCBB2QymWS32yXJ6TL4nJwcJScna9myZXrooYd09uxZbd++XYGBgYqMjNRf/vIXNWnSRCNHjtS5c+cUFBSkZs2aafLkyRSkAAC4ijRs2FA2m027du3SY489punTp6tevXr68MMP9cEHH+jnn3+WJPXu3Vv169cvsv6KFSs0YMAAxxVRF57As9vtys7OVmho6BWfsHPlu+++0z333KMhQ4boueeeu+L9P378uM6ePaubbrrpirdxvp49e+qOO+6gKAWUAdz7AcDjjh49quXLlys+Pl7Hjh3Tli1b1LJlS9WtW1eDBw/W1q1btWLFCrVo0UIHDx50FIPy8vJUuXJlRUdHOz5btmxRly5dHNPvvvuu06Xmfn5+qlatmtPzn0wmk+bPn6/OnTuX6C1/xd0m52r+8OHDlZOTo9OnT+vMmTPav3+/Tp48qTfffFMTJ07UyZMnHR+LxaJly5ZJkh555BGtXLlSq1at0jXXXKO+fftq3bp1jjOO+/fvlyQdOXJE1apVu5zuBgAAPq53797q27evEhMT1alTJzVr1kwzZ86UJNWqVcux3IABA9SqVSundS0Wi3744QfdfvvteuihhxQTE6Po6GhVrFhRQUFBio6OVkxMjGJjY5Wenu50wi4yMtJxwq5Tp076y1/+os6dO6tTp06KjY11nLCrUKGCMjMzHY8ZyM/PV15enipVqqRnn31WTz31lLKzsx2fjIwMxwm+kti5c6eSkpIc0998841q1KihBx54QJGRkZo2bZqqVKmiVq1ayW63KycnR3379lWlSpUUGxursWPHOm0vLi5OWVlZysvLu4LRAOBJFKUAeNzGjRtVvXp1ffXVVzIMQxEREQoKClJaWprjTGBoaKgqVKigoKAgR/Fn6tSpev/9950KO40bN9ayZcsc0wcPHlRqaqpyc3MlyXGF0oX69OmjnJycEj8I8/Dhw04PDN26davL5c4/Mzlu3Djddtttys/PV2pqqn799VdH2969e9WrVy9ZrVZJ0muvvaZPPvlEkydPVps2bdS8eXMtWLBAOTk5+vvf/66NGzfq3LlzysjIoCgFAMBVqF27dnr77bc1fPhwLV++XDVr1tS5c+dUvXr1i64XHh6uJk2aaNWqVVq8eLFOnz6tkydP6p133tEdd9yhkydP6tSpU8rIyNA111xzxSfsXnjhBUVFRSk6OlozZ87UuHHj1LhxY/3zn/9URESE00nDypUrF3kQ+sWcOHFCcXFxTvPS0tLUs2dPNW7cWBMmTNCXX36pDRs26OjRo3r//fe1ceNG/fDDD1q2bJnGjBmj3bt3O60fHR2tkydPljgGAN5BUQqAx3Xv3l0//PCDXn75ZV177bVq06aNJKlSpUqKj4+XVPQB5lLBWbQjR45cdNsmk0kffvihozjkKrEyDEMBAQH6xz/+4fQGvIupUaOGDhw44Pg0atToosvPmjVLb7/9tubNmyd/f38FBAQ4Lpc/deqUOnXqJJPJpLCwMEkFb7FJSEjQCy+8oMWLF6tWrVoKCwvTm2++qW7dumnZsmX67rvvnM4iAgCAq8fzzz+viRMn6p577tGtt96qdu3a6dixY7r22msvup6fn5+ef/55jR49WpK0dOlS/fjjj4721NRULV682DF9pSfsJkyYIJvNpoyMDD322GP617/+pYyMDH3wwQdq1KiRMjIyHB+bzaZ33nmnxPseFhZW5K19cXFx6tKli+Lj43XPPfeocePGkgqex1mhQgUZhqG8vDzdcsstOnPmjK677jqn9TMyMq74oesAPIeiFACvOHPmjH788Uft3r1bKSkpkgre/nL06NFi17mwSOVK4VVVhf/Nz8/X0aNHHWfuMjMzHZdy/+Mf/9Cjjz56yW26enaUVHxS98Ybb+i5557TypUrizz34cCBA2rZsqWaNm2qOXPmOOJctmyZZs+erdtuu00HDx7U0qVLdf3116tp06Zq166dtm/frlGjRrl84DoAACi7DMPQuXPn1KZNG/34449Ov/VpaWmOE3ZSwaMMsrKyimyjYcOG+u2333Tq1Ck9+eSTTlcN7dq1S48++qjOnDkjyX0n7Ardc889OnLkiD755JPLWu98NWvW1L59+5zmnf9w9vP/tyT16NFDXbt2VefOnVWtWjW9+OKLTu15eXmyWq0UpYAygKIUAI9bs2aNqlatqnfffVcREREaPHiwpII35QUHB0sqOAtWXNHncuTl5alq1aqO2/vCwsIct/aVVGFR6vzb944dO1ZskSwqKkrr1q0rUpD697//raSkJD300EOaM2dOkYeQbt++XadOndJdd92lfv366e9//7ukgn7p06ePvv32Wz388MOXFTsAAPBtf/zxhypVqqSoqCj99a9/1fPPP6/o6GhFRUVp6dKlGjx4sOPkWlRUlOrVq+e0/qJFi9SmTRu1a9dOK1euVMWKFdWzZ09He7du3XT99dfr9ddfl+SeE3bns9vtevPNN9W/f3+nRxVcjoYNG2r37t1FrpYqzt69e/XEE0/ot99+04YNGzR79mx9+umnjvZ169bpb3/72xXFAsCzKEoB8Ljk5GSZzWbHQysbNmyo/Px83XLLLXrooYckFTwHoE2bNjIMw1H8ycnJ0dChQx0P5oyMjNTmzZt19913O6arVKni9F3+/v6KjY11TG/fvl1169YtEpPFYnEqMhWehczLy1P9+vWdbt0r/CQnJ8tischmsyk0NNSxXps2bZSdna0vv/xSEydO1P33369p06apbt262rBhQ7Fvp3nqqae0YcMGZWdnq3r16po1a5YWLlyodevWafbs2br55pv1+OOP89BOAACuIjVr1lR2drbOnj3r9NzMfv36qUuXLlq9erX++OMPx0tSDh486Fg3Pz9fTZo00QsvvKBPP/1UI0eO1HPPPVfkxNfzzz+vd955RydOnHDLCbtCs2bNUp06ddS0aVM98MADat26tdasWXPZ2zGZTHrooYf01ltvlWj5efPmqW/fvkpNTZXNZpMkp/xozJgxGjBgwGXHAcDzir4PFABKmclkUsWKFZWbm6vs7GxJ0rlz5xQQEKD+/fvrtttuU4MGDfTbb79pxIgRmjJliiRpwYIFl9x2dna2KlSooJycHAUFBemWW27RTz/95GivXbu20/I///yz2rVrp+zsbMf3SHKcqcvOzi720u8vv/xS9913n9q3b+8ofGVlZemWW25ReHi46tSpoxtuuEHdunXTu+++q6ioqGLj/vHHH7VgwQJ9+eWXGjx4sJ544gkdPnxYzz//vL799lt9/PHHuu6669SmTRs1bdpUX3zxBQ88BwDgKvT777/r2Wef1a+//qrVq1erd+/e2rZtm1566SU98sgjTgWn3Nxc1a1bV+3atdMvv/yi6tWrq2fPnvrPf/6jH3/80bFsp06dNGzYMNntdpcn7GrUqFEkjgtP2J3vzJkzmjt3roKCgjR+/HjVrFlT77zzjsLCwnT77bfrnnvu0WuvvabExMQS7/c///lPJSUlqWPHjpdc9plnntFjjz2mW2+9VYZh6IEHHlDXrl0lSVOmTFGVKlW4UgooI0xGcQ9LAQAvs9vtjmculabNmzerfv36jqudSspmsykzM/OixaaS2rp1q7777jv17t1bFStWlFSQ8M2cOVOPP/6444HoNptNn376qR544IE//Z0AAMA3bNy4Ud99950+++wzbdmyRY899pheeeUVR26yfPly/eMf/5C/v78mTZqkdu3ayTAM+fn5af/+/apVq5bT9vr166cffvhBI0aM0IMPPnhZsZx/wu67777TX//61yLLNG7cWJUqVdKCBQucClyS9O2332r+/PmaNGmSAgMDL+u7d+zYoX/+859avnz5Za1XKD09XR07dtS///1vnicFlBEUpQAAAADAi5YvX65Jkybp3nvvVbdu3VS5cuUiy9hsNo0ZM0a33nqr2rdvX6rxXOqE3ZEjRxQbG+t4s7A7/dmTkp46qQnAPShKAQAAAAAAwOMoIQMAAAAAAMDjKEoBAAAAAADA4yhKAQAAAAAAwOMoSgEAAAAAAMDjKEoBAAAAAADA4yhKAQAAAAAAwOMoSgEAAAAAAMDjKEoBAAAAAADA4yhKAQAAAAAAwOMoSgEAAAAAAMDjKEoBAAAAAADA4yhKAQAAAAAAwOMoSgEAAAAAAMDjKEoBwJ9w/PhxnT59WpJkNptlNpud2m0222Vv88CBA/rtt9/cEh8AAAAA+CqKUgBK1dKlS1WrVq1iizMbN250WYCx2+2yWCyX3P6OHTv0+eef/+k4C+3du1fJycnauXNniZZ/5JFH9Morr0iSnnzySQ0dOtSpvVGjRhoxYsRlxfDss8/q73//e4mWzcrK0tmzZy/rk5GRcVnxAACAK1PaeZA7GYbxp9Y/fPiw438fO3ZMkydPvqLttGvXTq+//nqJlz916pSOHDmi06dPXzIHctWn2dnZkqSMjAy9+eabOnnypHJycpSbmytJ+vXXX7Vjx44r2hcAl0ZRCsBlO3bsmA4cOOD0Kbxa6EI5OTk6ePCgAgMDXbanpKRo9uzZReaPHj1azZo1U1pa2kVjWblypV599VXH9KxZszRo0CANGzbM6TN48GCn4tCmTZs0ffr0Itv76quv9PPPP+vaa6+96Pfm5uYqLy9PISEhCgkJkSQFBQUpKCjIkXieOXNGu3btUrt27S66rQsFBwcrKCioyPy8vDxlZmY6zRs0aJAqVap0WZ/k5OTLigcAAPyPL+RBq1evlslkUnR0tNPHZDIpMjLSaZ6/v7+mTJlSZBv5+fnavXu35syZo549e6pZs2ay2WzFFnQKizeu7NixQ7Vr19bXX38tqeDq8SeffFIrV64sdh1Xdu/erdWrV6ty5colXufFF19U9erVVbly5UvmQLVr13Za1263q2XLlpo3b54yMzM1fPhwnTx5Uh988IFuv/12SdL8+fN1xx13KD8//7L2BUDJUJQCcNl69uyphIQEp8/o0aNdLhsQECCTySQ/P9eHm+DgYFWoUMFp3kcffaTRo0erVatWqlq1qsv1qlatqsWLFyswMFAmk0mnT5/W0aNHValSJSUkJCg+Pl6ffvqp0tLSdO2116pWrVqqUaOGY/3Vq1friSee0IYNG5y2O3/+fPXv318REREX7YM5c+YoMDBQH3/8sV599VWZTCbNnTtX77//vkJCQpSRkaE1a9aoSpUqatWqlWM9m812yaTGZDJpzZo1MplMTp/AwECFh4crLy/PsWxAQIC6desmwzAcn2XLlmnJkiWy2+1O8w3D0Msvv+yy4AUAAErGF/KgwhNix44d08mTJx0fSfriiy+c5iUkJDiWl6T09HQlJiYqNDRUf/3rXzVw4EDVqFFDzz33nI4cOVJsQWfkyJHF9snYsWNVo0YNx4mvBg0aqHv37nrqqaeKvUps9+7d+u2337R//35HcW/8+PGKjIxUq1atihT+fv/9d+3Zs0d79+512s5rr70mi8WirKwsnTt3zulz9uxZvfbaa4qIiFCjRo30f//3f07r+vn56Y033tCQIUMcJ/4CAgI0ceJEDRgwQJK0efNm3XvvvfL39y92/wFcuQBvBwD8P3v3HhdF1f8B/DO7C7sidwENJUREgxSvEFmKqD2UF8hLJVqpyS8vmeaF0nq0NAW1wrS8pJAomZaWaZmPZZqaUj2hEoiX9CFKTMFEdrktl5nfH8bkBijq7C6Xz/v1sphzZobvfBfl7HfPnKGGR6PRYPz48UhISAAAhISEQKPRIC0tDUajETY2NlCr1VCpVDh//jwEQcDx48dRXFyM++6774a/1L/++ms8/fTTmDhxIlauXAlBEGrcT61Ww9bWFoIg4IcffkDbtm1RWlqK33//HY8++igA4O2338b//d//oV+/ftWOf+WVV5CSkoKRI0ciLS0Nbm5uSEtLw48//ogff/yxxmnj4eHh+M9//gMAGDNmDMaMGYOnnnoK7du3x8KFCzF27FhoNBqsWLECdnZ22LFjBy5evFhtIHro0CE8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FufOnYNGo5H/FBQUyEWmBx54ANnZ2Vi3bh0uXLhgMlX9eqIoorCwsNqjj6//U1RUhIqKihvGs2vXLowePRpHjx7Fm2++iY0bN2Lp0qX47LPP4OzsXOPTaYiIiOjWWHscVOXf//43Vq5cCXd3d7zzzjuws7PDTz/9hM8//xz33nsvSktLsWjRIgQFBeHnn382OTY/Px9vvPEGRo4ciebNm+Pf//43XnjhBVRUVCArK6vGPy+//LLJOfz8/OS4bWxscOLECbi7u6Nly5byPrm5uaioqDBZAgG4dstejx49IIoi9u7dC3d3dwiCII+nqgpN14+xqravd31BKj09Hffff7/8VEQA2LlzJ/r06YN9+/bVmMO33noLnTt3RocOHXDx4kWsXbsW99xzD7y9vZGXl4ennnoK4eHh2L59O9LT01FRUVHrzHciuj0sShHRLftnEcVoNMpPddFoNFi+fDlefPHF2zr3yy+/jN9//x3z5s2rdZ/Vq1ejdevWePjhh02OGzFiBLy9veXBYl5eHjw9PeV9/jmIXLVqFQDg1VdfNWlPSEjA008/jaysLPlJLLXx9fVFRUWF/Of6W+Xatm2LLl264LnnnoOrq2utU9tLS0vxySefwMfHp9Y/n332mcli6P/k5+eHQ4cOYdKkSfD09MRnn30GSZIwZMgQ+Pr6Yv369dWeHENERES3ztrjIACYPHky2rVrh7vuuguzZ89GQUEBzpw5g3/961/QarVo3749VqxYgaCgIGi1WgQFBZk8LW7GjBlwc3PD8OHDAVxbSzM6Ohpubm7QarVYvnw5PD090bZtW6SlpUGlUsHFxeWGMX322WcICwszaauadf7P2eJeXl5ISEjAwYMHqxWsbkXVDKjly5cjODgYw4YNwzvvvCMXCZcvX45x48Zh4MCBNY7p3njjDZSVlWHw4MGYMWMGCgsL8ccff6B58+Z44oknAFxbQiE5ORmrV69G3759bzhznYhuHdeUIqJbVllZiY8++ki+Xx+49vSSKv98skldff/993B1dcWbb76JyZMnw8vLC88991y1/V544QU8/vjj8kDkyJEjcHFxwU8//QQAcHd3h52dHb777juTuK5/8kx2djZee+01rFixAg4ODnL71q1bsW/fPpw9exadOnXCuHHjcOTIEbRr1+62rmny5MmYMGECnnnmmRoHMdnZ2di9ezec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xMXFYcCAAQgODjbpKysrw/vvv4+JEydWO/9//vMfBAYGmiyKXpNDhw7hgQceqHU9hevjLCsru+lU9S1btkAURZNPIxMTE9G7d2906NABwLU1IHr37o22bdsCAN577z14e3vLi7w/88wzJlPMb2bhwoX49NNPcfTo0TrtT0RERLfHXOMg4NpM6eufRFdSUoLXX38dgwYNwgMPPFDnGBMSEjB79mxcvnwZL774IoYNG4aQkJAa9/3666/RuXNneZ2qiooK5OTkVBuPKeHtt9/Gm2++ifPnzyt63gEDBqBbt27yzLbi4mLMnj0bo0aNqnbd7777Ljp16oS+ffuatH/yySfo2bOnWa6bqCliUYqIqAHLzc2FKIryAJGIiIiIiKihYFGKiIiIiIiIiIgsjgudExERERERERGRxbEoRUREREREREREFseiFBERERERERERWZzm5rs0baIo4sKFC3BwcIAgCNYOh4iIiMxEkiQYDAZ4enrW+pRNMsVxEhERUdNgrnESi1I3ceHCBXh5eVk7DCIiIrKQ33//HW3atLF2GA0Cx0lERERNi9LjJBalbsLBwQHAtcQ7OjpaORrrEEUReXl5cHd35yfHCmA+lcV8Kov5VBbzqSxz51Ov18PLy0v+3U83x3ES/54rjflUHnOqLOZTWcynssyZT3ONk1iUuomqqeiOjo5NerBVWloKR0dH/kOhAOZTWcynsphPZTGfyrJUPnkbWt1xnMS/50pjPpXHnCqL+VQW86ksS+RT6XGS1V71hIQEeHl5wc7ODn379sX//vc/AEBGRgaCgoLg4uKCmJgYSJIkH3PgwAH4+/vDzc0N8fHxJufbtm0bvL294enpic2bN5v0rVy5Ei1btkS7du2wb98+818cERERERERERHdkFWKUufOncOCBQuwY8cOnDp1Cr6+vhg7diyMRiOGDBmCHj164KeffkJmZiaSkpIAAHl5eYiIiEBUVBRSUlKwadMm7N+/H8C1Qtbo0aMxd+5c7NmzB/PmzcPp06cBAHv27MGsWbOwdu1afPDBB4iOjsaff/5pjcsmIiIiIiIiIqK/WKUodezYMYSEhKB79+64++678cwzz+Ds2bPYvXs3CgoKEB8fD19fX8TGxiIxMREAsGnTJnh6emLu3Lnw8/PDvHnz5L6EhASEhYUhOjoanTt3xpQpU5CcnAwAWL16NcaM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j4iIiIiIiIiIrMMqt++1aNECX375JWbNmoUZM2bgrrvuwscffwwvLy8kJCQgKioKMTExUKlU+PbbbwEAbm5uWLZsGQYOHAh7e3s4OzsjKSkJANClSxdMmzYNPXv2hE6ng5+fHyZPngwAGDJkCLZu3Qo/Pz8AQP/+/TFs2DBrXDYREREREREREf3FKkUpAHjggQdMbqurEhERgXPnziE1NRUhISFo0aKF3Ddx4kSEh4fj1KlT6N27N+zt7eW+RYsWYfTo0cjJyUFoaKi8bpQgCEhOTsbUqVNRVFSE0NBQCIJg/gskIiIiIiIiIqJaWa0odSOtWrXCoEGDauzz8fGBj49PjX0BAQEICAiosS8oKEix+IiIiIiIiIiI6M7wMTNERERERERERGRxLEoREREREREREZHFsShFREREREREREQWx6IUERERERERERFZHItSRERERERERERkcSxKERERERERERGRxWmsHQAREREREd2YJEmQpL++/mv776+r2v/eB3+1S7jWUCle10FERFRPsChFRERERHSbPj2ag0W7MlEuAgLqVjCS/vpPVcHoWvHorz5Juu5ri1wCERGR1bAoRURERER0m3al/4H8kgprh1En9loNut/tYu0wiIiIZCxKERERERHdoZn/6oDBgZ4Q/toWBED4a0sQ/t5PEADhrwbhuj4Bwl/HVO1oevzf5xVq/B4Qrj9Xzftp1AJs1FxSloiI6g8WpYiIiIiI7pC7vS183JpbOwwiIqIGhR+VEBERERERERGRxbEoRUREREREREREFseiFBERERERERERWRyLUkREREREREREZHEsShERERERERERkcWxKEVERERERERERBbHohQREREREREREVkci1JERERERERERGRxLEoREREREREREZHFsShFREREREREREQWx6IUERERERERERFZHItSRERERERERERkcSxKERERERERERGRxbEoRUREREREREREFme1otTUqVMhCIL8p3379gCAjIwMBAUFwcXFBTExMZAkST7mwIED8Pf3h5ubG+Lj403Ot23bNnh7e8PT0xObN2826Vu5ciVatmyJdu3aYd++fea/OCIiIiIiIiIiuiGrFaV++ukn7Nq1C/n5+cjPz8exY8dgNBoxZMgQ9OjRAz/99BMyMzORlJQEAMjLy0NERASioqKQkpKCTZs2Yf/+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FFRju0qlQu/eve8oJiIiIiJz8vX1NZlp7urqirffflveFkURlZWVsLGxsUJ0RERERMqrc1Fq9+7daNasWbWCU1lZGYKCguDk5IQPP/wQ0dHRmDVrFuLi4hQPloiIiKgxqno6cNVM78rKSpSVlcHJyQkAcOHCBURFReGhhx7Cv//9b2uGSkRERKSYOhelhg8fjr59+0KSJJN2QRDw9ttvw8nJCWPGjMEDDzyABx54gEUpIiIiojpycnKCIAiQJEn+v0qlQkVFBQ4cOIDHH38cgwYNwvPPP2/tUImIiIgUU+eiVMuWLfHll1/W2Ldt2zacOnUKAFBUVISysjJloiMiIiJqAry9vZGVlWXS5uLiAlEU8fzzz2PFihV44oknrBQdERERkXnUuShVNZ18+/btWLZsGby9veHr64v27dsjLi4Ovr6+8qd7s2bNMlvARERERI1N1Tjrn20qlQrHjh2DWq22QlRERERE5nVLC50DQKdOnTBx4kRUVlaiqKgIR48eBQDk5+fjjTfeQEhIiOJBEhERETVVhw4dQt++fa0dBhEREZHi6lyUKi8vxy+//AJJktCzZ0+5vV+/fli4cCGOHDmCZ555BpMnT8aUKVPMEiwRERFRY3TlyhW8/PLL8rYkSSgtLcWff/6JsWPHonv37tiwYQMcHBysGCURERGRsupclNJqtRg2bBg0mr8PEUURRqMRCQkJGDBgAL7//ns88MADaN26NYYOHWqWgImIiIgam9mzZ0Or1UKlUkGv16NZs2Z45ZVX0KJFC5w6dQovvvgi7r//fnzxxRdo27attcMlIiIiUkSdi1JnzpzBJ598gscee0xu++2333D33XcDAPbt24eOHTtiw4YNGDJkCB566CHY29srHzERERFRI7J48WKEhISgb9++KCsrg6urKwoLC3HgwAEEBQVh//79WLFiBdasWYMXXngBn332mbVDJiIiIlKE6lZ2Hjt2rPx1WVkZ7rnnHnl7//79WLduHbp3747FixezIEVERERUB6Io4vDhwwAAW1tb2NjYoLCwEM8//zwWLVokj6kmTpyIpKQkK0ZKREREpKw6z5RSqVSorKzEggULAFxb60AURXk7KysL//vf//Daa6/hqaeeMk+0RERERI3MgAEDcP/992PRokWQJAllZWVwcnKCSqXCo48+Kj/duLy8HKIoorKy0tohExERESnilmZKCYIAnU4HrVYLnU4HlUoFrVYLrVaLzp0749SpU7hw4YK5YiUiIiJqdDp37gxPT08UFxejuLgYdnZ2WLlyJe655x6MHz8eFy5cQHFxMcrLy2EwGKwdLhEREZFi6lyUKikpgSAIePHFF/HSSy9h+vTpAICXXnpJ/tOtWze8//77ZguWiIiIqLFp1qwZBEFAUVERKisrIUkSJk6ciKNHj8LZ2RldunRBamoqAMDOzs7K0RIREREpp86379na2uK7774z2T5+/LjJPjNnzoSnp6diwRERERE1Bdu2bUPz5s1RUVGBWbNmAQBsbGzw+uuvo3PnzrjrrrusHCERERGR8uo8U0qtVqN79+4mbR06dMDFixfx66+/4rfffkOnTp3g6uqKs2fPKh4oERERUWMVHBwMANBoNHjttddM+rKysuDg4ACDwYC1a9daIToiIiIi86jzTCkA+Pzzz/Hxxx9DEAQAgE6nQ2VlJb744guoVNfqW3l5efDw8ODaUkRERER10KNHD9ja2kIQBIiiCH9/f6xfvx4AkJycjHXr1mHSpEl45513sGPHDjz77LNWjpiIiIhIGbdUlGrTpg369OkDlUoFSZLw8ssvIzc312QfFxcXFqSIiIiI6qioqAjx8fGYMGEC3nvvPUyZMgWvvPIKpk+fjhkzZiAiIgIqlQrLli3Df/7zH2uHS0RERKSYWypKdevWDd26dZO358yZU22fqllURERERHRzjo6OCA0Nlf9fWVmJDRs24N5778Xo0aPx66+/YseOHejTpw969uxp7XCJiIiIFFPnNaVqwgIUERERkbKcnJwwd+5cpKSk4LXXXsPly5cxevRobNy40dqhERERESmqzjOlVq9eDTs7O5NClNFoNBkgSZKEsrIyZSMkIiIiasRycnKwYMECXLhwAQsWLIAgCOjXrx9mzpyJefPm4ezZs3jxxRcBAK6urpg6dSrs7OysHDURERHRnatzUeqrr76CVqutVpTavXu3yX4VFRXKRUdERETUyEmShJKSEoiiiJKSEvz888+4fPkybG1tsXz5ckiShBYtWgC4tvB58+bN8fzzz1s5aiIiIqI7V+ei1Pbt26u1ubu7Y/PmzSZtrq6udx4VERERURPRpk0bxMXF4ZtvvkFcXBzeeecdvPbaa7jvvvvkhc1ffPFFFBcXw83NDT4+PrWeKyMjA+PGjcPZs2cRHR2NpUuX1nm5hatXr8Lf3x8pKSlo27atEpdGREREdENcU4qIiIioHuncuTPUajXy8vIwbtw4XL58GXFxcZg6dSrGjx+Pfv361Xic0WjEkCFD0KNHD/z000/IzMxEUlJSnb9vTEwMLl68qNBVEBEREd3cLRWlLl++jKysLPz222/Izs42V0xERERETUZZWRl+++03+f+CIGD+/PnIysrC6NGjIQgCunXrhp07d+KHH36o9Ty7d+9GQUEB4uPj4evri9jYWCQmJtYphoMHD2Lnzp3ybYJEREREllDn2/cAICEhAfHx8VCr1QAAZ2dnvP/++zh79iyAa2silJaWKh8l0U2IooQzuQYUFJfDyc4GHTwcoFJxJh8REdV/v/76K4KDgyEIAnr27ImuXbsiKCgIMTExcHR0hJ+fH8rLy7FkyRJMmDABR48ehUpV/XPFtLQ0hISEyIugBwYGIjMz86bf32g0YsKECVixYgVeeuklxa+PiIiIqDa3VJSaPXs2Zs+ebdKWnJwMW1tb+Va+6dOn1/l8V69exenTp9GhQwe4uLjcSihEstTsK9hwJBtncwtRVlEJW40a7T3sMaaXN3p4c40zIiKq365evVpje9WYa9myZejevTvc3Nxw8OBBFBUVwcHBodr+er3eZL0pQRCgVquRn59/w3FWbGwsOnTogCeeeOKmRSmj0Qij0WjyPQFAFEWIonjDYxs7SZKafA6UIIoic6kw5lRZzKeymE9lmTOf5nqNbqkoVZOnnnrqto7bunUr/u///g9eXl743//+h6SkJDz22GM3XKDzwIEDmDhxIvLy8vDyyy9jxowZ8vm2bduGmTNnory8HG+99RaioqLkvpUrV2LBggVo3rw5EhISal2LgRqe1OwrWLTrJK4Wl8PDQQudjRal5ZU4caEAi3adxCuD/FmYIiKiBu3hhx+Wv77RGlEajQZardakTafTobi4uNai1MmTJ7FmzRocO3asTrHExcVh/vz51drz8vKa7Gz5qiKdQW9Abm6ulaNp+ERRREFBASRJqnFGIN065lRZzKeymE9lmTOfBoNB0fNVueOi1O0oKCjA5MmTcfDgQQQGBiIpKQkxMTGIiIjAkCFDEB4eji1btmDq1KlISkrCuHHjkJeXh4iICMycORNRUVEYOXIkunXrhrCwMGRkZGD06NFYuXIl7rvvPgwb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AQMGQK1WIyIiAocPH8bevXtRXl6OpUuXIjw8HAAwfPhwbNmyBenp6SgsLMSKFSvkvhEjRmDVqlXIycnBpUuXkJiYKPcRkanU7CtYtOskMnIK4KjToI2LHRx1Gpy4UIBFu06yMEVERERERESKqVe372k0GiQkJCAqKgoxMTFQqVT49ttvAQBubm5YtmwZBg4cCHt7ezg7OyMpKQkA0KVLF0ybNg09e/aETqeDn58fJk+eDAAYMmQItm7dCj8/PwBA//79MWzYMGtcHlG9JooSNhzJxtXicrRtYSc/6bK5VgM7WzWyrxRj45FsdPNyqde38hEREREREVHDYPWilCRJJtsRERE4d+4cUlNTERISghYtWsh9EydORHh4OE6dOoXevXvD3t5e7lu0aBFGjx6NnJwchIaGyutGCYKA5ORkTJ06FUVFRQgNDZXfbBPR387kGnA2txAeDtpqf0cEQYC7vRa/5BbiTK4B97Rqmov+ExERERERkXKsXpSqSatWrTBo0KAa+3x8fODj41NjX0BAAAICAmrsCwoKUiw+osaooLgcZRWV0NlUX+gfAHQ2alwuNKKguNzCkREREREREVFjVK/WlCIi63Gys4GtRo3S8soa+0vLK2GrUcPJzsbCkREREREREVFjxKIUEQEAOng4oL2HPfIKjdVuq5UkCXmFRvh52KODh4OVIiQiIiIiIqLGhEUpIgIAqFQCxvTyhlMzG2RfKUaRsQKVooQiYwWyrxTDqZkNnu7lzUXOiYiIiIiISBEsShGRrIe3K14Z5I97PZ2gL63A+fxi6Esr0MnTCa8M8kcPb1drh0hERERERESNRL1c6JyIrKeHtyu6ebngTK4BBcXlcLKzQQcPB86QIiIiIiIiIkWxKEVE1ahUAu5p5WjtMIiIiIiIiKgR4+17RERERERERERkcSxKERERERERERGRxbEoRUREREREREREFseiFBERERERERERWRyLUkREREREREREZHEsShERERERERERkcWxKEVERERERERERBbHohQREREREREREVkci1JERERERERERGRxLEoREREREREREZHFsShFREREREREREQWx6IUERERERERERFZHItSRERERERERERkcSxKERERERERERGRxbEoRUQNlihKOH1Jj9MX9Th9SQ9RlKwdEhEREREREdWRxtoBEBHdjtTsK9hw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",
|
||
"text/plain": [
|
||
"<Figure size 1200x800 with 4 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"=== 总结 ===\n",
|
||
"1. RNN使用14时间步的滑动窗口,步长为4\n",
|
||
"2. segment中的时间戳是输出时间步,不是原始时间步\n",
|
||
"3. 每个输出时间步对应原始数据的4个时间步(80ms)\n",
|
||
"4. 输出时间戳206-207表示2个输出步长,对应160ms实际时长\n",
|
||
"5. 这2个输出步长实际上对应原始数据中更多的时间步(由于滑动窗口重叠)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# =============================================================================\n",
|
||
"# 分析滑动窗口与时间戳的关系\n",
|
||
"# =============================================================================\n",
|
||
"\n",
|
||
"# 从配置文件我们知道:\n",
|
||
"PATCH_SIZE = 14 # 每个输入patch包含14个时间步\n",
|
||
"PATCH_STRIDE = 4 # 滑动窗口步长为4个时间步\n",
|
||
"ORIGINAL_BIN_SIZE_MS = 20 # 原始数据每个bin为20ms\n",
|
||
"\n",
|
||
"print(\"=== 滑动窗口参数分析 ===\")\n",
|
||
"print(f\"输入patch大小: {PATCH_SIZE} 时间步\")\n",
|
||
"print(f\"滑动窗口步长: {PATCH_STRIDE} 时间步\")\n",
|
||
"print(f\"相邻窗口重叠: {PATCH_SIZE - PATCH_STRIDE} 时间步\")\n",
|
||
"print(f\"原始数据分辨率: {ORIGINAL_BIN_SIZE_MS} ms/bin\")\n",
|
||
"print(f\"输出数据分辨率: {ORIGINAL_BIN_SIZE_MS * PATCH_STRIDE} ms/output_step\")\n",
|
||
"\n",
|
||
"# 分析时间步长度分布\n",
|
||
"if 'phoneme_data' in locals() and phoneme_data is not None:\n",
|
||
" durations = []\n",
|
||
" output_durations_ms = []\n",
|
||
" original_durations_ms = []\n",
|
||
" \n",
|
||
" for phoneme, segments in phoneme_data.items():\n",
|
||
" for segment in segments:\n",
|
||
" # 输出时间步长度\n",
|
||
" output_duration = segment['end_time'] - segment['start_time'] + 1\n",
|
||
" durations.append(output_duration)\n",
|
||
" \n",
|
||
" # 对应的输出时长(毫秒)\n",
|
||
" output_duration_ms = output_duration * ORIGINAL_BIN_SIZE_MS * PATCH_STRIDE\n",
|
||
" output_durations_ms.append(output_duration_ms)\n",
|
||
" \n",
|
||
" # 对应的原始数据时长(毫秒)\n",
|
||
" original_duration_ms = output_duration * PATCH_STRIDE * ORIGINAL_BIN_SIZE_MS\n",
|
||
" original_durations_ms.append(original_duration_ms)\n",
|
||
" \n",
|
||
" print(f\"\\n=== 时间步长度统计 ===\")\n",
|
||
" print(f\"总segment数量: {len(durations)}\")\n",
|
||
" print(f\"输出时间步长度:\")\n",
|
||
" print(f\" 最小: {min(durations)} 步\")\n",
|
||
" print(f\" 最大: {max(durations)} 步\")\n",
|
||
" print(f\" 平均: {np.mean(durations):.1f} 步\")\n",
|
||
" print(f\" 中位数: {np.median(durations):.1f} 步\")\n",
|
||
" \n",
|
||
" print(f\"\\n对应的实际时长(毫秒):\")\n",
|
||
" print(f\" 最小: {min(output_durations_ms)} ms\")\n",
|
||
" print(f\" 最大: {max(output_durations_ms)} ms\") \n",
|
||
" print(f\" 平均: {np.mean(output_durations_ms):.1f} ms\")\n",
|
||
" print(f\" 中位数: {np.median(output_durations_ms):.1f} ms\")\n",
|
||
" \n",
|
||
" # 长度分布\n",
|
||
" from collections import Counter\n",
|
||
" duration_counts = Counter(durations)\n",
|
||
" print(f\"\\n输出时间步长度分布 (前10个):\")\n",
|
||
" for length, count in duration_counts.most_common(10):\n",
|
||
" actual_ms = length * ORIGINAL_BIN_SIZE_MS * PATCH_STRIDE\n",
|
||
" print(f\"{length:2d} 步 ({actual_ms:3d}ms): {count:4d} 个segment ({count/len(durations)*100:.1f}%)\")\n",
|
||
" \n",
|
||
" # 分析您提到的例子\n",
|
||
" print(f\"\\n=== 示例分析 ===\")\n",
|
||
" example_segment = {'start_time': 206, 'end_time': 207}\n",
|
||
" output_steps = example_segment['end_time'] - example_segment['start_time'] + 1\n",
|
||
" actual_duration_ms = output_steps * ORIGINAL_BIN_SIZE_MS * PATCH_STRIDE\n",
|
||
" original_start_bin = example_segment['start_time'] * PATCH_STRIDE\n",
|
||
" original_end_bin = example_segment['end_time'] * PATCH_STRIDE + PATCH_SIZE - 1\n",
|
||
" \n",
|
||
" print(f\"示例segment: start_time={example_segment['start_time']}, end_time={example_segment['end_time']}\")\n",
|
||
" print(f\"输出时间步数: {output_steps}\")\n",
|
||
" print(f\"实际时长: {actual_duration_ms} ms\")\n",
|
||
" print(f\"对应原始数据范围: bin {original_start_bin} 到 bin {original_end_bin}\")\n",
|
||
" print(f\"原始数据时间步数: {original_end_bin - original_start_bin + 1}\")\n",
|
||
" \n",
|
||
" # 可视化长度分布\n",
|
||
" plt.figure(figsize=(12, 8))\n",
|
||
" \n",
|
||
" # 子图1: 输出时间步长度分布\n",
|
||
" plt.subplot(2, 2, 1)\n",
|
||
" plt.hist(durations, bins=50, alpha=0.7, edgecolor='black')\n",
|
||
" plt.xlabel('输出时间步数')\n",
|
||
" plt.ylabel('频次')\n",
|
||
" plt.title('输出时间步长度分布')\n",
|
||
" plt.grid(True, alpha=0.3)\n",
|
||
" \n",
|
||
" # 子图2: 实际时长分布\n",
|
||
" plt.subplot(2, 2, 2)\n",
|
||
" plt.hist(output_durations_ms, bins=50, alpha=0.7, color='orange', edgecolor='black')\n",
|
||
" plt.xlabel('实际时长 (ms)')\n",
|
||
" plt.ylabel('频次')\n",
|
||
" plt.title('实际时长分布')\n",
|
||
" plt.grid(True, alpha=0.3)\n",
|
||
" \n",
|
||
" # 子图3: 时长vs频次散点图\n",
|
||
" plt.subplot(2, 2, 3)\n",
|
||
" unique_durations = list(duration_counts.keys())\n",
|
||
" counts = [duration_counts[d] for d in unique_durations]\n",
|
||
" plt.scatter(unique_durations, counts, alpha=0.7)\n",
|
||
" plt.xlabel('输出时间步数')\n",
|
||
" plt.ylabel('出现次数')\n",
|
||
" plt.title('时长频次散点图')\n",
|
||
" plt.grid(True, alpha=0.3)\n",
|
||
" \n",
|
||
" # 子图4: 累积分布\n",
|
||
" plt.subplot(2, 2, 4)\n",
|
||
" sorted_durations = sorted(durations)\n",
|
||
" cumulative = np.arange(1, len(sorted_durations) + 1) / len(sorted_durations)\n",
|
||
" plt.plot(sorted_durations, cumulative)\n",
|
||
" plt.xlabel('输出时间步数')\n",
|
||
" plt.ylabel('累积概率')\n",
|
||
" plt.title('时长累积分布函数')\n",
|
||
" plt.grid(True, alpha=0.3)\n",
|
||
" \n",
|
||
" plt.tight_layout()\n",
|
||
" plt.show()\n",
|
||
" \n",
|
||
"else:\n",
|
||
" print(\"phoneme_data 未加载,无法进行详细分析\")\n",
|
||
"\n",
|
||
"print(f\"\\n=== 总结 ===\")\n",
|
||
"print(\"1. RNN使用14时间步的滑动窗口,步长为4\")\n",
|
||
"print(\"2. segment中的时间戳是输出时间步,不是原始时间步\")\n",
|
||
"print(\"3. 每个输出时间步对应原始数据的4个时间步(80ms)\")\n",
|
||
"print(\"4. 输出时间戳206-207表示2个输出步长,对应160ms实际时长\")\n",
|
||
"print(\"5. 这2个输出步长实际上对应原始数据中更多的时间步(由于滑动窗口重叠)\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "ea2c9908",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"找到 4 个PKL文件:\n",
|
||
" ctc_results_20251008_235600.pkl (25.6 MB)\n",
|
||
" ctc_results_20251009_202457.pkl (23.9 MB)\n",
|
||
" phoneme_dataset_20251008_235600.pkl (21.1 MB)\n",
|
||
" phoneme_dataset_20251009_202457.pkl (19.1 MB)\n",
|
||
"\n",
|
||
"分析最新的phoneme dataset: phoneme_dataset_20251009_202457.pkl\n",
|
||
"=== 分析文件: phoneme_dataset_20251009_202457.pkl ===\n",
|
||
"数据类型: <class 'dict'>\n",
|
||
"字典键数量: 40\n",
|
||
"字典键: ['B', 'R', 'IH', 'NG', ' | ', 'T', 'K', 'L', 'OW', 'S']...\n",
|
||
"总segment数量: 214218\n",
|
||
"\n",
|
||
"音素分布 (前20个):\n",
|
||
" ' | ': 50607 segments\n",
|
||
" 'T': 13049 segments\n",
|
||
" 'AH': 12663 segments\n",
|
||
" 'IH': 10561 segments\n",
|
||
" 'N': 9368 segments\n",
|
||
" 'S': 7054 segments\n",
|
||
" 'R': 6865 segments\n",
|
||
" 'L': 6429 segments\n",
|
||
" 'IY': 6278 segments\n",
|
||
" 'D': 6260 segments\n",
|
||
" 'AY': 5337 segments\n",
|
||
" 'DH': 5259 segments\n",
|
||
" 'K': 5178 segments\n",
|
||
" 'M': 5125 segments\n",
|
||
" 'UW': 4802 segments\n",
|
||
" 'EH': 4589 segments\n",
|
||
" 'AE': 4373 segments\n",
|
||
" 'Z': 4348 segments\n",
|
||
" 'W': 4100 segments\n",
|
||
" 'AA': 3403 segments\n",
|
||
"\n",
|
||
"=== Segment结构分析 ===\n",
|
||
"示例segment结构:\n",
|
||
" phoneme: B (<class 'str'>)\n",
|
||
" start_time: 17 (<class 'int'>)\n",
|
||
" end_time: 18 (<class 'int'>)\n",
|
||
" confidence: 0.8151801824569702 (<class 'numpy.float64'>)\n",
|
||
" session: t15.2023.08.11 (<class 'str'>)\n",
|
||
" block_num: 2 (<class 'numpy.int64'>)\n",
|
||
" trial_num: 0 (<class 'numpy.int64'>)\n",
|
||
" corpus: 50-Word (<class 'str'>)\n",
|
||
"\n",
|
||
"字段统计:\n",
|
||
" 不同session数: 1\n",
|
||
" 不同corpus数: 1\n",
|
||
" 平均持续时间: 1.7 time steps\n",
|
||
" 平均置信度: 0.976\n",
|
||
"\n",
|
||
"=== Session分布分析 ===\n",
|
||
"Session统计:\n",
|
||
" t15.2023.08.11:\n",
|
||
" Segments: 4771\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 34\n",
|
||
" t15.2023.08.13:\n",
|
||
" Segments: 8607\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.08.18:\n",
|
||
" Segments: 5281\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.08.20:\n",
|
||
" Segments: 7333\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.08.25:\n",
|
||
" Segments: 2319\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.08.27:\n",
|
||
" Segments: 4064\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.09.01:\n",
|
||
" Segments: 7875\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.09.03:\n",
|
||
" Segments: 8962\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.09.24:\n",
|
||
" Segments: 6282\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.09.29:\n",
|
||
" Segments: 4035\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.10.01:\n",
|
||
" Segments: 5869\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.10.06:\n",
|
||
" Segments: 4510\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.10.08:\n",
|
||
" Segments: 7583\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.10.13:\n",
|
||
" Segments: 3903\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.10.15:\n",
|
||
" Segments: 6246\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.10.20:\n",
|
||
" Segments: 2584\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.10.22:\n",
|
||
" Segments: 4172\n",
|
||
" Trials: 49\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.11.03:\n",
|
||
" Segments: 3734\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.11.04:\n",
|
||
" Segments: 1732\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.11.17:\n",
|
||
" Segments: 2443\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.11.19:\n",
|
||
" Segments: 1358\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.11.26:\n",
|
||
" Segments: 5678\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.12.03:\n",
|
||
" Segments: 6631\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.12.08:\n",
|
||
" Segments: 6024\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.12.10:\n",
|
||
" Segments: 3732\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.12.17:\n",
|
||
" Segments: 3976\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2023.12.29:\n",
|
||
" Segments: 5764\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2024.02.25:\n",
|
||
" Segments: 5424\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2024.03.03:\n",
|
||
" Segments: 4121\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2024.03.08:\n",
|
||
" Segments: 5090\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2024.03.15:\n",
|
||
" Segments: 7502\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2024.03.17:\n",
|
||
" Segments: 7940\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2024.04.25:\n",
|
||
" Segments: 6605\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 39\n",
|
||
" t15.2024.04.28:\n",
|
||
" Segments: 2575\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 34\n",
|
||
" t15.2024.05.10:\n",
|
||
" Segments: 3012\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2024.06.14:\n",
|
||
" Segments: 2524\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2024.07.19:\n",
|
||
" Segments: 5249\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2024.07.21:\n",
|
||
" Segments: 4687\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2024.07.28:\n",
|
||
" Segments: 4603\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2025.01.10:\n",
|
||
" Segments: 3078\n",
|
||
" Trials: 49\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2025.01.12:\n",
|
||
" Segments: 4819\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2025.03.14:\n",
|
||
" Segments: 1811\n",
|
||
" Trials: 25\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2025.03.16:\n",
|
||
" Segments: 2812\n",
|
||
" Trials: 49\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2025.03.30:\n",
|
||
" Segments: 4856\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" t15.2025.04.13:\n",
|
||
" Segments: 2042\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAhF9JREFUeJzs3XdcVuX/x/H3DShDBURNxUxRKcVZLty40hy4sjRMrXBkVlZiajkyc+XKHLmSMr9qmn61TNFcmJGFAweOUsmtuIBAAeH8/vDr/ZPARNRzA76ej8f9eHSu65zD50MC+uY6120xDMMQAAAAAAAAYCI7WxcAAAAAAACARw+hFAAAAAAAAExHKAUAAAAAAADTEUoBAAAAAADAdIRSAAAAAAAAMB2hFAAAAAAAAExHKAUAAAAAAADTEUoBAAAAAADAdIRSAAAAAAAAMB2hFAAAyNHat2+vvn373tc9Vq9erd9+++2er7t27ZouX75sPd67d6++/fbbe77P+fPnVbVqVa1Zs+aer82sEydOKC4uLt14QkKCXn75ZYWEhKSb+/DDDzV06FAZhvHQ6vqnpKQkDR8+XH/88ce/nhcXF6e//vrLpKoAAMDDQCgFAAByhJSUFF2+fFnXrl3TjRs3rK+SJUvqv//9b5qxGzduKD4+XgkJCenuERERoUOHDunPP/+0vj755BN99dVXacYOHTqkiIiIf61p3rx58vb21sWLFyVJoaGheu2113TlypV76m3lypXav3+/ypUrd2+flEyKiYnRc889p++//z7dnIuLi65fv66ePXvq6tWr1vG4uDhNnz5dhQsXlsVieSh1ZSQ4OFgff/zxXQO677//Xs8995xiYmJMqgwAADxoFsPMX30BAABk0aFDh1ShQgXZ2dkpT548/3quYRhKTk7W8OHDNXLkSOv41atXVaRIETk7Oytv3rzW8djYWDk4OMjFxcU6divYunbtmhwcHNJ9jOTkZJUrV04NGjTQN998I0m6fv26nnrqKTVv3lzz5s3L8JpDhw7J2dk5zT39/f1VpEgRzZ8/P901qampSkxMVMGCBVWsWLF/7ftOOnfurGLFiunzzz/XjRs3dPr0aTk6OsrR0VEWi0UnT55UcHCw3nnnHeXPn1+S9Pnnnys4OFg7duyQg4ODUlNTlZCQoEKFCsnZ2Vl//PGHXn/9df3yyy+ys7NT+/bt9cUXX1ivl6Tp06drwoQJunbtmnr37q2PP/5YdnZ3/p3ohQsXVKlSJTk7OyspKUm7du1S8eLF73j+m2++qfPnz2dpdRoAALA9QikAAJAjGIahpKQkOTo6av369dq2bZs+/vjjNOds2rRJoaGheuedd+Tq6qqUlJR0gdKtlVS3AhlJatasmerXr28NsFJSUpSQkCAXFxfZ29tnWM9nn32mQYMG6eDBgypTpox1fPny5ercubNWrlyp9u3bp7nm1KlTKlmyZJb6HzFiRJqALbPWr1+vN954Q/v375ejo6OioqLk5eWVpRokacOGDapbt66qVaumPHny6K233tKlS5c0atQodevWzRrGLViwQK+99ppGjBihGjVq6O2331avXr30/vvvZ3jf1NRUtWrVSlFRUdqxY4datmwpi8WidevWydXVNcNrEhMTVbFiRc2ePVtNmzbNck8AAMA2CKUAAECO8/PPP6thw4Zas2aNnnvuOet4586dFRUVpV9//fWOYdL69evVvn17OTk5WVft/HOlVEpKiq5fv67w8HBVrFgx3T2OHj2qKlWqqH///ho/fny6+ZdeekmrV6/W2rVr1aBBA+u4YRhKSEiQo6Oj7O3tlZSUpKpVq6pevXqaP3++lixZorx586pjx4739fm5XfPmzfXaa6+pS5cukm6GcpcuXZK7u7vy5s2b6Ufzrl+/rqtXr8rNzU0LFy7U6NGjtXfvXrm7u0uShgwZolmzZunq1asyDEMlS5aUv7+/Zs6cKelmYNixY0ddvHgxw5Vn/fr108KFCxUaGqqnn35aJ06ckK+vr4oVK6a1a9eqaNGiGda1ZMkSffXVV1q7dm0WPjsAAMCWCKUAAECOEBkZKUnWx+5efvll1atXz7rJ+eXLl1WvXj3NmTNHDRo0UGpqqpKSkuTq6qonnnhC165d09WrV+Xo6JjuEbL27dvL19dXgwcPTjN+69G5YsWKWcObxMRENW7cWLGxsQoPD5eTk1O6Wq9du6Z27dopNDRU06ZNU+/evTPsaeTIkZo1a5YiIyNVqFAhvfjii8qfP3+Gj/FlxeXLl1WmTBmdPXtWzs7OaeYWLlyo7du3p7vG399frVq1SjPWu3dvFSxY0BrARUdHKyYmJs0eWBMnTtRHH32kuLg4HTx4UD4+Pvr5559Vr149STcDOXd3d61bt0516tSxXpeQkKDAwEB99913WrNmjSpVqqTBgwdrwIABcnFxkZ+fn1JSUvTZZ59Zg7XbJSQkqESJEjp27JgKFiyY9U8WAAAwXfpfUwEAAGRDAwYMUHR0dJrVPT///LN+/vln6znVq1fX7NmzNXv2bGug1K5dO40aNUqbNm1Shw4drKuUbomNjZXFYtGePXv0xRdfpPmYqampun79ui5cuCB3d3elpKSoR48e2r9/v+bNm6ejR4/ecUXWxIkTNXz4cPXp00dLly7V8uXL04Qm69at08cff6w5c+bo2rVrOnXqlJKSkpSYmKhTp06luVfx4sXv+HH+TWRkpHWPpn/avn27duzYoTfeeMM6Nnr0aJUuXVqtWrVSoUKFNHHiRL3yyiuKjY1N8/GLFCmiIkWKpLnf2rVrVbduXUnS6dOnJUlVqlSxzlssFnl5eemPP/6whlLff/+93n77bV29elU//vijmjZtqjNnzuirr75SQECAmjdvrrCwML344ovq2rWrpk2bptdff10vvPCCHB0dJd3cqL1ixYo6ePCg9eMDAICcgVAKAADkCOvXr7+v61u3bq2kpCRJNx/Pi4yM1OjRo/Xnn39qxowZeuaZZxQVFaVx48bp2rVrmjNnjgoUKJDmHl999ZVWrFihVatW6c0339TRo0f/9WP++uuv8vPz05EjR9IEUjt27FCXLl2UmpqqwMDAdNctWrQozXFUVJRKlSp1zz2fPXv2jhuFOzs7q1SpUmk+/hdffGFdiebk5GRdBebg4PCvodjWrVu1adMm6yN0165dk729fbrPX/78+RUdHS1J6t69uxYuXKgaNWooJCRE3t7ekmR9hPLWI36lSpXStm3b9Mknn2jixIn64IMP1LZtW2soJd0M7c6cOZP5TwwAAMgW7vz2JwAAANnQ66+/LovFctfX7Suo/qlnz56qUqWKvv32Wx07dkzNmzeXo6OjKlWqJEn64IMPdPHixXTXvfrqqzpw4ICee+457du3Tzdu3NCQIUNUvnx5GYZhfYWGhkqSSpYsqQEDBlj3VZJubhTevHlzNW/eXAULFtR3332n5ORkJScn66WXXlLv3r2tx/v375ekNAHMvbCzs1NqamqGc/b29tq8ebOqVatmfUVGRlofbbz1ebybhIQE9erVSy1btlTLli2t9WYUYlksFl27dk2SNG7cOE2bNk2//vqrNZCS/j+Muv1j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mjRRkyZN0ox16dJFXbp0eWj13YvMBmytW7dWSEiIfH19deXKFQUGBqps2bIKCgpS9+7d1bp1ay1evFhhYWE27ggAAMB2CKUAADDZo7Y/Vm5yLwHbZ599lm6scePGWr16tcLCwvTOO++ke9fB7ODPP//UoUOH5Ovrq8KFC0uSUlJSrHuT1a9fX/b29rYsEQAA5BKEUgAAIMuye8B2L+Gaub0U1If7d93TFQ8jKCxXrpwef/xxSTfDpurVq2v69Olq3ry53nvvPYWEhKh06dLq2rWrSpQooaSkJE2ZMkX//e9/NWrUKG3atMl6rx07dujatWsPvEYAAJB7EUoBAAA8gv78809Vq1ZNy5cvt45NmDBBK1askJubm6Kjo7V9+3bly5dPdevW1YABAyRJxYoVkyQNHz5cw4cPlyQtWbJEdevWNb2H2/0zYGvevLnef/995cuXT87Ozlq6dKny5cunrl276sSJE8qTJ4/y58+vH374QX/88YfeeecdxcfHK1++fJozZ448PT1t2g8AAI8C2719DQAAAGxm69at+u2339SwYUPVq1dPO3fu1KBBg+Ts7Kwff/xR27ZtU/PmzVWkSBENGDBA586d08cffyx/f/8090lKStKkSZP0wQcf2KiT/w/YtmzZoi1btmj06NH67LPPtGbNGm3cuFEFCxbUypUrJUmHDh3Szz//rC1btuiHH36QJPXp00fvv/++Nm/erLZt22rYsGE260W6GbD5+fnJz89PH374oSRp//79evrpp63nrF692nqOn5+fPDw8FBYWpn379snPz08NGzZUu3btbLp6LTN93LhxQ6+88oqaNGmiGjVq6Ntvv5UkHT58WCVKlLBef3t4CgDIPVgpBQAA8AiqUqWKfvrpJz355JMKDQ3VwIEDtXnzZsXExGjFihVycnJK8y6Ie/fu1bp169S6ddrHCIODg9WpUyfly5fP7Basbg/YUlJSNG3aNK1YscI6f+7cOXl6euro0aM6duyYGjZsqMTERL3xxhvq0aOHIiMjVadOHUmSl5eXQkJCbNVKhivYfv75Z40dO1ZXrlyxjvn7+1sDwqioKAUGBsrX11edO3fWhAkTVKtWLQ0ePFhfffWV+vbtm237WLt2rXx8fLRgwQIdPXpULVq00AsvvKBt27ZpyJAh6t+/v+m1AwDMw0opAACAR1ClSpX05JNPSpKqVq2qAwcOSJKKFCmiefPmqX79+goODrae/+yzzyo0NFRz5szRpUuXrONffPGFAgMDTa39n24FbKGhoRo7dqwGDhxonfvuu+9ksVjUpEkTOTo6avXq1dq2bZvWrVunESNGKD4+XgEBARoyZIi2bt2qESNG6OWXX7ZZLxmtYCtVqpRWr159x2uGDBmisWPHymKxqFixYgoPD1dcXJwiIiLk4+NjYvX/L7N9tG3bVkFBQZL+Pzy8df2cOXNUv359tWnTRpcvXza9BwDAw0coBQAA8Ajq3r27QkNDJUlLly7VM888o/r16+vgwYOSpMuXL8vDw0P79u1TkyZNlJqaqmvXrskwDLm4uEiSwsPDVbx4ceu79NnKnQK2vXv36uOPP9aiRYskScWLF7euiPLw8FDBggX1119/adKkSerYsaOWLl2qvHnzqkOHDrZpRBkHbCVLlrzjOx4eOnRIMTExqlmzpiSpS5cuCg0N1bRp0+Tu7q4qVaqYWb7VvfaRmJiod999V6NHj5Ykde7cWdu3b9fPP/+sWrVq6fPPPzezfACASXh8DwAA4BE0duxYBQQEKCEhQSVLltTs2bN19uxZ9ezZU46OjqpYsaICAgLk4OCgxo0bq1atWnJyctLUqVPl7Ows6ea+Rs2aNbNxJzcDtjfffFMNGza0BmxHjhzRyy+/rGXLlqlIkSKSbq7qunTpkoYPH64DBw7o7Nmz8vLykiTVqFFDffv21ZIlS2zZiipVqmT9/N4esN3J9OnT1adPH+vxm2++qV27dslisWjdunX68MMPNX369Idac0butY8+ffqoc+fOatiwoSSpefPmaa6/FSzaWpcuXdSyZUuVKlVKw4YNU2pqqipUqKC5c+fKzs5OM2fO1Jw5c+Th4aHZs2fL29tbBw4cUJ8+feTi4qLExEQtXryYjfQB4H8IpQAAAB5B5cqV044dO9KMlSpVKt2YJA0bNizDzb9HjRr10Oq7FxkFbC+99JKuXr2qV199VZLUo0cPvfrqqwoICFDFihWVP39+LVmyxBp8TJkyRe3bt1eFChVs2UqGAdudJCcn68cff9SUKVOsY6dPn9axY8dUunRpbd68WXZ2tnkw4l76eO+99+Tm5mZ97DI1NVU1a9ZUaGioChYsqGXLlv3r9WZZtGiRVq9erZYtWyooKEg//vijHnvsMXXp0kXr169XiRIlNGPGDIWHh+vUqVN6++239eOPP2rSpEkKDg5WuXLlNGzYMH355ZfWjd9t6VbAVrx4cfXr108lS5aUJI0ePVr169dXUFCQduzYoevXr+v9999Xp06d9Ntvv2no0KFKTk6Wp6en5syZowIFCti4EwA5GaEUAAAAcrSMArbt27dneO7tG6DfbtCgQQ+8rqzIKGC7k23btqly5cppNqSfNm2amjdvrnPnzqlatWpavHixGWWnk9k+NmzYoClTpqhOnTqqX7++pJv7SY0dO1b169eXvb296tevr3feecfM8tM5efKkpkyZon79+kmSihUrpt9//121a9fWsWPH5O3tre+//14dOnSQs7OzvL29debMGaWkpOjLL7+03ufcuXPWR0ht6faAbdu2bfrss8/Upk0b6/z+/ft14MABhYaGKi4uTj4+PurYsaO6d++utWvXysvLS0OGDNHUqVNt/m6V//Tnn3/q0KFD8vX1veujxRcvXtSOHTvk7e1tfQQYgLkIpQAAAHKR0oPX2LqEu4oa1/ruJyl39ZJZGQVs1o8VFZXmuEmTJmrSpEmasS5duqhLly4PtKasyGwfzZs3V2pqarpz2rZtq7Zt2z6s8u6JYRjq1auXZsyYobVr10q6uRJsxYoV+v3331WlShU9/vjjiouL0xNPPGG9zsXFRdHR0SpWrJgkaceOHfr99981Y8YMm/Rxyz8Dtq1btyokJESffPKJypQpoy+//FIeHh46deqUoqOjtXfvXj355JO6du2a4uPjrY+8enl56dChQ7ZsxerWqi83NzdNnz5dzZs313vvvaeQkBBduHAhTeh85MgRTZo0Sb6+vnr++efVpUsXffzxxwoKClKnTp1s2EV69xKwATkVoRQAAADwkD2KAVtuMXXqVNWrV0+1a9fW2rVrFR8fr7lz51pX433xxRf6/PPP5erqqvj4eOt1N27ckGEYkqRTp06pV69eWr58ufLmzWuTPqSMA7Y333xTHTp0UJ48efTqq69qyZIl6tatm2rVqqVZs2bp+PHjCgwMlIuLi2rVqqXJkyercuXKmjRpks1W4t3u9lVff/zxh1asWCE3NzdFR0dr+/btCggI0JYtWyRJMTExatmypTp06KCQkBDNmjVLtWrVUvny5bV69epsEUr9W8BWunRp63mzZs3Sjh07FBwcrFOnTunVV19VUlKS7O3t9Z///EdF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F99JTv3/kl3k3L9dAFmwa9cu1a1bV7GxsWrWrJkk6caNGzau6v7Z2dnpp59+0uHDh9WjR49c8U3++PHjev755yVJFoslx3yzv/1zv3jxYrVv316tWrVSaGioDavKmujoaPn7+6tZs2Z66aWXVKtWLetvHHOSiIgI1alTR02aNNHYsWMVEBCgTp06acuWLbYu7Z7d+odbTvqauBdRUVFq166drcu4ZxEREfL19dXff/+tggULKikpSbVr19bMmTNz9ApDi8WiQYMG6a+//tKlS5dybGAo5fyfk7e+9itVqqRr167pt99+s3FFWXPhwgVduHBBtWvX1tChQ3X16lWtWrVKCxYsyNGr2I4eParXX39dzz//vHx8fLR06VIdPnzY1mVlmaOjo77++mv9+OOP6tevn63LyZI9e/aoYcOGGjZsmHx9fdPM5ZSfn7t27VKDBg00YMAAzZs3T0eOHMmRK/BSUlI0Z84c1ahRQ2fOnFGzZs20YMEC6y9tc+LPlmPHjqlLly6KjIxUfHy8LBZLrlolbToDeEScPXvWcHd3NwYPHmyMGTPGcHBwMH766SfDMAwjJSXFxtVlzdmzZ9Mcnzt3znj88ceNl19+2bh06ZKNqnowTp8+bXh4eBjPPfecdSw1NdWGFd3dmTNnDE9PT6NXr17GokWLrOPvvPOO4eLiYmzdutWG1d2748ePG88++2y68aSkJCMpKckGFd27ixcvGp6enkbr1q3TjL/88stGnTp1jMTERBtVdu8uXrxo1K9f31i6dKl1LLt/TdyrS5cuGU8++aSxefNmW5eSabf+jLVq1SrN+Pjx440SJUoYkyZNylF/zgzDMK5evWr977179xply5Y1fv31VxtWlHW54efkra/9b775xjAMwyhbtqyxcuVKwzD+/3tATvhecObMGaNQoUJGs2bNjE2bNhmGYRjdunUzHB0dDX9/f+Ozzz4z4uLibFzlvUtKSjI2btxoWCwWo0OHDsaaNWuMZ555xujdu7f1nJzy98wLFy6kOf71118NDw8P47333rNRRVmzb98+w8nJyfj000/TjP/11182qujeXbp0yfDw8DAGDx5sGIZhXL582Shfvrzxyy+/2Liye3P06FFjxYoVRmhoqNGmTRsjX758xrRp04zmzZsbnp6exrFjxwzDyDlfI7eEhYUZFovFqF69uvHmm29a+7gl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86V27doyatQoSx0SERER0TPZqF0AEREREYm4urrKrVu3yvU39+/fl44dO4qdnZ2IiMTExMi6deskPDxc2rRpI1euXJFt27ZJWFiYuLi4SOXKlf+L0omIiIheCGdKEREREWnI5cuXpWXLllK3bt1i+548eSKpqamSmZlpDqJERLKysqR+/fpy584d8fb2lkqVKklaWpo4OTnJhx9+KB06dJBmzZpZ8jCIiIiInoszpYiIiIg0xNbWVmxtbSUxMbHYvsTERPH09Cz2up69vb2cP39eHj16JDt27BCj0ShLliyR/v37S3Jysvj7+8vGjRulX79+ljoMIiIioufiTCkiIiIiDUlMTBRvb29p0qRJsX05OTly/fp1eXr4Nnr0aDlx4oQkJCSIiIibm5vk5eVJzZo1xcXFRapUqSInTpyQ06dPc8YUERERaQZnShERERFpjL29vVy6dKnYdtNMqaeFhIRIhw4dJDMzU9577z1ZtWqVZGRkyNKlS2XXrl3SvXt3SUhIYCBFREREmmKldgFERERE9H+5ubnP/UxeXp7532fOnJGdO3fKggUL5MmTJ+Ls7Gzen5ubK0ajURo2bCibN2+WGzdu/Gd1ExEREZUXZ0oRERERaciTJ08kKytLmjdvXmxfTk6O+b/29vaSm5srn376qbRo0UKuXr0qTk5OMm3aNImOjpaIiAgxGAyyefNmSUpKktmzZ0tqaqo0atTI0odEREREVCKuKUVERESkIXl5efLw4UNxdnZ+ob9PSEiQR48eia+v76stjIiIiOgVYyhFREREREREREQWxzWliIiIiIiIiIjI4hhKERERERERERGRxTGUIiIiIiIiIiIii2MoRUREREREREREFsdQioiIiIiIiIiILI6hFBERERERERERWRxDKSIiIiIiIiIisjiGUkREREREREREZHEMpYiIiIiIiIiIyOL+BzMVsJVlXu9qAAAAAElFTkSuQmCC",
|
||
"text/plain": [
|
||
"<Figure size 1200x600 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"分析最新的CTC results: ctc_results_20251009_202457.pkl\n",
|
||
"=== 分析文件: ctc_results_20251009_202457.pkl ===\n",
|
||
"数据类型: <class 'list'>\n",
|
||
"列表长度: 4\n",
|
||
"第一个元素类型: <class 'dict'>\n",
|
||
"第一个元素的键: ['session', 'input_layer', 'trial_idx', 'block_num', 'trial_num', 'corpus', 'original_sequence', 'sentence_label', 'n_time_steps', 'predicted_phonemes', 'ctc_score', 'alignment_info']\n",
|
||
"示例CTC结果结构:\n",
|
||
" session: t15.2023.08.11 (<class 'str'>)\n",
|
||
" input_layer: 0 (<class 'int'>)\n",
|
||
" trial_idx: 0 (<class 'int'>)\n",
|
||
" block_num: 2 (<class 'numpy.int64'>)\n",
|
||
" trial_num: 0 (<class 'numpy.int64'>)\n",
|
||
" corpus: 50-Word (<class 'str'>)\n",
|
||
" original_sequence: <class 'numpy.ndarray'> (500,)\n",
|
||
" sentence_label: Bring it closer. (<class 'str'>)\n",
|
||
" n_time_steps: 321 (<class 'numpy.int64'>)\n",
|
||
" predicted_phonemes: ['B', 'R', 'IH', 'NG', ' | ', 'IH', 'T', ' | ', 'K', 'L', 'OW', 'S', 'ER', ' | '] (<class 'list'>)\n",
|
||
" ctc_score: -409.8164916324466 (<class 'float'>)\n",
|
||
" alignment_info: [('B', 17, 18, np.float64(0.8151801824569702)), ('R', 19, 20, np.float64(0.9981182217597961)), ('IH', 21, 21, np.float64(0.9999998807907104)), ('NG', 22, 23, np.float64(0.9939739406108856)), (' | ', 24, 26, np.float64(0.9843189120292664)), ('IH', 42, 42, np.float64(1.0)), ('T', 43, 43, np.float64(0.9999998807907104)), (' | ', 44, 47, np.float64(0.9870144575834274)), ('K', 61, 62, np.float64(0.9999440908432007)), ('L', 63, 64, np.float64(0.9994930922985077)), ('OW', 65, 65, np.float64(0.9999935626983643)), ('S', 66, 66, np.float64(0.9999934434890747)), ('ER', 69, 70, np.float64(0.9999157190322876)), (' | ', 71, 74, np.float64(0.9988113343715668))] (<class 'list'>)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"#!/usr/bin/env python3\n",
|
||
"\"\"\"\n",
|
||
"PKL文件读取和内容展示工具\n",
|
||
"用于查看phoneme_segmented_data目录中的数据结构\n",
|
||
"\"\"\"\n",
|
||
"\n",
|
||
"import pickle\n",
|
||
"import numpy as np\n",
|
||
"from pathlib import Path\n",
|
||
"from collections import defaultdict\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import pandas as pd\n",
|
||
"\n",
|
||
"def load_and_analyze_pkl(pkl_path):\n",
|
||
" \"\"\"加载并分析PKL文件\"\"\"\n",
|
||
" print(f\"=== 分析文件: {pkl_path.name} ===\")\n",
|
||
" \n",
|
||
" with open(pkl_path, 'rb') as f:\n",
|
||
" data = pickle.load(f)\n",
|
||
" \n",
|
||
" print(f\"数据类型: {type(data)}\")\n",
|
||
" \n",
|
||
" if isinstance(data, dict):\n",
|
||
" print(f\"字典键数量: {len(data)}\")\n",
|
||
" print(f\"字典键: {list(data.keys())[:10]}...\") # 显示前10个键\n",
|
||
" \n",
|
||
" # 如果是phoneme dataset\n",
|
||
" if all(isinstance(v, list) for v in data.values()):\n",
|
||
" total_segments = sum(len(v) for v in data.values())\n",
|
||
" print(f\"总segment数量: {total_segments}\")\n",
|
||
" \n",
|
||
" # 显示每个phoneme的segment数量\n",
|
||
" phoneme_counts = {k: len(v) for k, v in data.items()}\n",
|
||
" sorted_phonemes = sorted(phoneme_counts.items(), key=lambda x: x[1], reverse=True)\n",
|
||
" \n",
|
||
" print(f\"\\n音素分布 (前20个):\")\n",
|
||
" for phoneme, count in sorted_phonemes[:20]:\n",
|
||
" print(f\" '{phoneme}': {count:4d} segments\")\n",
|
||
" \n",
|
||
" return data, phoneme_counts\n",
|
||
" \n",
|
||
" elif isinstance(data, list):\n",
|
||
" print(f\"列表长度: {len(data)}\")\n",
|
||
" if len(data) > 0:\n",
|
||
" print(f\"第一个元素类型: {type(data[0])}\")\n",
|
||
" if isinstance(data[0], dict):\n",
|
||
" print(f\"第一个元素的键: {list(data[0].keys())}\")\n",
|
||
" return data, None\n",
|
||
" \n",
|
||
" return data, None\n",
|
||
"\n",
|
||
"def analyze_segment_structure(phoneme_data, sample_count=5):\n",
|
||
" \"\"\"分析segment结构\"\"\"\n",
|
||
" print(f\"\\n=== Segment结构分析 ===\")\n",
|
||
" \n",
|
||
" # 获取一些sample segments\n",
|
||
" sample_segments = []\n",
|
||
" for phoneme, segments in list(phoneme_data.items())[:3]: # 取前3个phoneme\n",
|
||
" sample_segments.extend(segments[:sample_count]) # 每个phoneme取前5个\n",
|
||
" \n",
|
||
" if sample_segments:\n",
|
||
" print(f\"示例segment结构:\")\n",
|
||
" segment = sample_segments[0]\n",
|
||
" for key, value in segment.items():\n",
|
||
" print(f\" {key}: {value} ({type(value)})\")\n",
|
||
" \n",
|
||
" # 统计不同字段的分布\n",
|
||
" sessions = set()\n",
|
||
" corpora = set()\n",
|
||
" durations = []\n",
|
||
" confidences = []\n",
|
||
" \n",
|
||
" for segment in sample_segments:\n",
|
||
" sessions.add(segment.get('session', 'unknown'))\n",
|
||
" corpora.add(segment.get('corpus', 'unknown'))\n",
|
||
" \n",
|
||
" start = segment.get('start_time', 0)\n",
|
||
" end = segment.get('end_time', 0)\n",
|
||
" if end >= start:\n",
|
||
" durations.append(end - start + 1)\n",
|
||
" \n",
|
||
" conf = segment.get('confidence', 0)\n",
|
||
" if conf > 0:\n",
|
||
" confidences.append(conf)\n",
|
||
" \n",
|
||
" print(f\"\\n字段统计:\")\n",
|
||
" print(f\" 不同session数: {len(sessions)}\")\n",
|
||
" print(f\" 不同corpus数: {len(corpora)}\")\n",
|
||
" print(f\" 平均持续时间: {np.mean(durations):.1f} time steps\")\n",
|
||
" print(f\" 平均置信度: {np.mean(confidences):.3f}\")\n",
|
||
"\n",
|
||
"def analyze_session_distribution(phoneme_data):\n",
|
||
" \"\"\"分析session分布\"\"\"\n",
|
||
" print(f\"\\n=== Session分布分析 ===\")\n",
|
||
" \n",
|
||
" session_stats = defaultdict(lambda: {'segments': 0, 'trials': set(), 'phonemes': set()})\n",
|
||
" \n",
|
||
" for phoneme, segments in phoneme_data.items():\n",
|
||
" for segment in segments:\n",
|
||
" session = segment.get('session', 'unknown')\n",
|
||
" trial_num = segment.get('trial_num', -1)\n",
|
||
" \n",
|
||
" session_stats[session]['segments'] += 1\n",
|
||
" session_stats[session]['trials'].add(trial_num)\n",
|
||
" session_stats[session]['phonemes'].add(phoneme)\n",
|
||
" \n",
|
||
" print(f\"Session统计:\")\n",
|
||
" for session in sorted(session_stats.keys()):\n",
|
||
" stats = session_stats[session]\n",
|
||
" print(f\" {session}:\")\n",
|
||
" print(f\" Segments: {stats['segments']}\")\n",
|
||
" print(f\" Trials: {len(stats['trials'])}\")\n",
|
||
" print(f\" Phonemes: {len(stats['phonemes'])}\")\n",
|
||
"\n",
|
||
"def plot_phoneme_distribution(phoneme_counts):\n",
|
||
" \"\"\"绘制音素分布图\"\"\"\n",
|
||
" # 排序并取前20个\n",
|
||
" sorted_phonemes = sorted(phoneme_counts.items(), key=lambda x: x[1], reverse=True)[:20]\n",
|
||
" phonemes, counts = zip(*sorted_phonemes)\n",
|
||
" \n",
|
||
" plt.figure(figsize=(12, 6))\n",
|
||
" bars = plt.bar(range(len(phonemes)), counts)\n",
|
||
" plt.xlabel('音素')\n",
|
||
" plt.ylabel('Segment数量')\n",
|
||
" plt.title('音素分布 (前20个)')\n",
|
||
" plt.xticks(range(len(phonemes)), phonemes, rotation=45)\n",
|
||
" \n",
|
||
" # 在条形图上显示数值\n",
|
||
" for i, bar in enumerate(bars):\n",
|
||
" height = bar.get_height()\n",
|
||
" plt.text(bar.get_x() + bar.get_width()/2., height + height*0.01,\n",
|
||
" f'{int(height)}', ha='center', va='bottom', fontsize=8)\n",
|
||
" \n",
|
||
" plt.tight_layout()\n",
|
||
" plt.show()\n",
|
||
"\n",
|
||
"# 主要调用函数\n",
|
||
"def analyze_pkl_files():\n",
|
||
" \"\"\"分析phoneme_segmented_data目录中的所有PKL文件\"\"\"\n",
|
||
" data_dir = Path(\"../phoneme_segmented_data\")\n",
|
||
" \n",
|
||
" if not data_dir.exists():\n",
|
||
" print(f\"目录不存在: {data_dir}\")\n",
|
||
" return\n",
|
||
" \n",
|
||
" # 查找所有PKL文件\n",
|
||
" pkl_files = list(data_dir.glob(\"*.pkl\"))\n",
|
||
" print(f\"找到 {len(pkl_files)} 个PKL文件:\")\n",
|
||
" \n",
|
||
" for pkl_file in pkl_files:\n",
|
||
" size_mb = pkl_file.stat().st_size / 1024 / 1024\n",
|
||
" print(f\" {pkl_file.name} ({size_mb:.1f} MB)\")\n",
|
||
" \n",
|
||
" # 分析最新的phoneme dataset\n",
|
||
" phoneme_files = [f for f in pkl_files if f.name.startswith(\"phoneme_dataset_\")]\n",
|
||
" if phoneme_files:\n",
|
||
" latest_phoneme_file = max(phoneme_files, key=lambda x: x.stat().st_mtime)\n",
|
||
" print(f\"\\n分析最新的phoneme dataset: {latest_phoneme_file.name}\")\n",
|
||
" \n",
|
||
" phoneme_data, phoneme_counts = load_and_analyze_pkl(latest_phoneme_file)\n",
|
||
" \n",
|
||
" if phoneme_data and phoneme_counts:\n",
|
||
" analyze_segment_structure(phoneme_data)\n",
|
||
" analyze_session_distribution(phoneme_data)\n",
|
||
" plot_phoneme_distribution(phoneme_counts)\n",
|
||
" \n",
|
||
" # 分析最新的CTC results\n",
|
||
" ctc_files = [f for f in pkl_files if f.name.startswith(\"ctc_results_\")]\n",
|
||
" if ctc_files:\n",
|
||
" latest_ctc_file = max(ctc_files, key=lambda x: x.stat().st_mtime)\n",
|
||
" print(f\"\\n分析最新的CTC results: {latest_ctc_file.name}\")\n",
|
||
" \n",
|
||
" ctc_data, _ = load_and_analyze_pkl(latest_ctc_file)\n",
|
||
" \n",
|
||
" if isinstance(ctc_data, list) and len(ctc_data) > 0:\n",
|
||
" print(f\"示例CTC结果结构:\")\n",
|
||
" sample = ctc_data[0]\n",
|
||
" for key, value in sample.items():\n",
|
||
" if isinstance(value, np.ndarray):\n",
|
||
" print(f\" {key}: {type(value)} {value.shape}\")\n",
|
||
" else:\n",
|
||
" print(f\" {key}: {value} ({type(value)})\")\n",
|
||
"\n",
|
||
"# 运行分析\n",
|
||
"analyze_pkl_files()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "hw37welyuqr",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"数据目录: f:\\BRAIN-TO-TEXT\\nejm-brain-to-text.worktrees\\dev2\\data_analyse\\..\\phoneme_segmented_data\n",
|
||
"目录是否存在: True\n",
|
||
"\n",
|
||
"=== 发现的PKL文件 ===\n",
|
||
"ctc_results_20251008_235600.pkl: 25.6 MB\n",
|
||
"ctc_results_20251009_202457.pkl: 23.9 MB\n",
|
||
"phoneme_dataset_20251008_235600.pkl: 21.1 MB\n",
|
||
"phoneme_dataset_20251009_202457.pkl: 19.1 MB\n",
|
||
"\n",
|
||
"=== 加载最新的Phoneme Dataset ===\n",
|
||
"文件: phoneme_dataset_20251009_202457.pkl\n",
|
||
"数据类型: <class 'dict'>\n",
|
||
"音素数量: 40\n",
|
||
"总segment数量: 214218\n",
|
||
"\n",
|
||
"音素分布统计 (前15个):\n",
|
||
" 1. ' | ': 50607 segments (23.6%)\n",
|
||
" 2. 'T': 13049 segments (6.1%)\n",
|
||
" 3. 'AH': 12663 segments (5.9%)\n",
|
||
" 4. 'IH': 10561 segments (4.9%)\n",
|
||
" 5. 'N': 9368 segments (4.4%)\n",
|
||
" 6. 'S': 7054 segments (3.3%)\n",
|
||
" 7. 'R': 6865 segments (3.2%)\n",
|
||
" 8. 'L': 6429 segments (3.0%)\n",
|
||
" 9. 'IY': 6278 segments (2.9%)\n",
|
||
"10. 'D': 6260 segments (2.9%)\n",
|
||
"11. 'AY': 5337 segments (2.5%)\n",
|
||
"12. 'DH': 5259 segments (2.5%)\n",
|
||
"13. 'K': 5178 segments (2.4%)\n",
|
||
"14. 'M': 5125 segments (2.4%)\n",
|
||
"15. 'UW': 4802 segments (2.2%)\n",
|
||
"\n",
|
||
"=== Segment结构分析 ===\n",
|
||
"Segment字段数量: 8\n",
|
||
"Segment字段: ['phoneme', 'start_time', 'end_time', 'confidence', 'session', 'block_num', 'trial_num', 'corpus']\n",
|
||
"\n",
|
||
"第一个segment详细信息:\n",
|
||
" phoneme: B (<class 'str'>)\n",
|
||
" start_time: 17 (<class 'int'>)\n",
|
||
" end_time: 18 (<class 'int'>)\n",
|
||
" confidence: 0.8151801824569702 (<class 'numpy.float64'>)\n",
|
||
" session: t15.2023.08.11 (<class 'str'>)\n",
|
||
" block_num: 2 (<class 'numpy.int64'>)\n",
|
||
" trial_num: 0 (<class 'numpy.int64'>)\n",
|
||
" corpus: 50-Word (<class 'str'>)\n",
|
||
"\n",
|
||
"=== 字段统计分析 ===\n",
|
||
"start_time: 范围 [17, 195], 平均 56.3\n",
|
||
"end_time: 范围 [18, 195], 平均 57.3\n",
|
||
"confidence: 范围 [0.815, 1.000], 平均 0.975\n",
|
||
"session: 1 个不同session - ['t15.2023.08.11']\n",
|
||
"trial_num: 6 个不同trial - 范围 0 到 7\n",
|
||
"corpus: 1 个不同corpus - ['50-Word']\n",
|
||
"\n",
|
||
"=== Session分布分析 ===\n",
|
||
"总session数: 45\n",
|
||
"t15.2023.08.11:\n",
|
||
" Segments: 4771\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 34\n",
|
||
" Corpus: ['50-Word']\n",
|
||
"t15.2023.08.13:\n",
|
||
" Segments: 8607\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard', '50-Word']\n",
|
||
"t15.2023.08.18:\n",
|
||
" Segments: 5281\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2023.08.20:\n",
|
||
" Segments: 7333\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2023.08.25:\n",
|
||
" Segments: 2319\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2023.08.27:\n",
|
||
" Segments: 4064\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2023.09.01:\n",
|
||
" Segments: 7875\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2023.09.03:\n",
|
||
" Segments: 8962\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2023.09.24:\n",
|
||
" Segments: 6282\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard', '50-Word']\n",
|
||
"t15.2023.09.29:\n",
|
||
" Segments: 4035\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2023.10.01:\n",
|
||
" Segments: 5869\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2023.10.06:\n",
|
||
" Segments: 4510\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard', '50-Word']\n",
|
||
"t15.2023.10.08:\n",
|
||
" Segments: 7583\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2023.10.13:\n",
|
||
" Segments: 3903\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2023.10.15:\n",
|
||
" Segments: 6246\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2023.10.20:\n",
|
||
" Segments: 2584\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2023.10.22:\n",
|
||
" Segments: 4172\n",
|
||
" Trials: 49\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Freq words', 'Switchboard']\n",
|
||
"t15.2023.11.03:\n",
|
||
" Segments: 3734\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Freq words']\n",
|
||
"t15.2023.11.04:\n",
|
||
" Segments: 1732\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Freq words']\n",
|
||
"t15.2023.11.17:\n",
|
||
" Segments: 2443\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Freq words']\n",
|
||
"t15.2023.11.19:\n",
|
||
" Segments: 1358\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Freq words']\n",
|
||
"t15.2023.11.26:\n",
|
||
" Segments: 5678\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Freq words']\n",
|
||
"t15.2023.12.03:\n",
|
||
" Segments: 6631\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Freq words']\n",
|
||
"t15.2023.12.08:\n",
|
||
" Segments: 6024\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Freq words']\n",
|
||
"t15.2023.12.10:\n",
|
||
" Segments: 3732\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Freq words']\n",
|
||
"t15.2023.12.17:\n",
|
||
" Segments: 3976\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Freq words']\n",
|
||
"t15.2023.12.29:\n",
|
||
" Segments: 5764\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Freq words']\n",
|
||
"t15.2024.02.25:\n",
|
||
" Segments: 5424\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2024.03.03:\n",
|
||
" Segments: 4121\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard', '50-Word']\n",
|
||
"t15.2024.03.08:\n",
|
||
" Segments: 5090\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2024.03.15:\n",
|
||
" Segments: 7502\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2024.03.17:\n",
|
||
" Segments: 7940\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2024.04.25:\n",
|
||
" Segments: 6605\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 39\n",
|
||
" Corpus: ['Switchboard', '50-Word']\n",
|
||
"t15.2024.04.28:\n",
|
||
" Segments: 2575\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 34\n",
|
||
" Corpus: ['50-Word']\n",
|
||
"t15.2024.05.10:\n",
|
||
" Segments: 3012\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2024.06.14:\n",
|
||
" Segments: 2524\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2024.07.19:\n",
|
||
" Segments: 5249\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2024.07.21:\n",
|
||
" Segments: 4687\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2024.07.28:\n",
|
||
" Segments: 4603\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2025.01.10:\n",
|
||
" Segments: 3078\n",
|
||
" Trials: 49\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2025.01.12:\n",
|
||
" Segments: 4819\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2025.03.14:\n",
|
||
" Segments: 1811\n",
|
||
" Trials: 25\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2025.03.16:\n",
|
||
" Segments: 2812\n",
|
||
" Trials: 49\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2025.03.30:\n",
|
||
" Segments: 4856\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"t15.2025.04.13:\n",
|
||
" Segments: 2042\n",
|
||
" Trials: 50\n",
|
||
" Phonemes: 40\n",
|
||
" Corpus: ['Switchboard']\n",
|
||
"\n",
|
||
"=== 加载最新的CTC Results ===\n",
|
||
"文件: ctc_results_20251009_202457.pkl\n",
|
||
"数据类型: <class 'list'>\n",
|
||
"条目数量: 4\n",
|
||
"\n",
|
||
"第一个CTC结果结构:\n",
|
||
" session: t15.2023.08.11 (<class 'str'>)\n",
|
||
" input_layer: 0 (<class 'int'>)\n",
|
||
" trial_idx: 0 (<class 'int'>)\n",
|
||
" block_num: 2 (<class 'numpy.int64'>)\n",
|
||
" trial_num: 0 (<class 'numpy.int64'>)\n",
|
||
" corpus: 50-Word (<class 'str'>)\n",
|
||
" original_sequence: <class 'numpy.ndarray'> shape=(500,) dtype=int32\n",
|
||
" sentence_label: Bring it closer. (<class 'str'>)\n",
|
||
" n_time_steps: 321 (<class 'numpy.int64'>)\n",
|
||
" predicted_phonemes: <class 'list'> length=14\n",
|
||
" 第一个元素: B (<class 'str'>)\n",
|
||
" ctc_score: -409.8164916324466 (<class 'float'>)\n",
|
||
" alignment_info: <class 'list'> length=14\n",
|
||
" 第一个元素: ('B', 17, 18, np.float64(0.8151801824569702)) (<class 'tuple'>)\n",
|
||
"\n",
|
||
"前5个CTC结果的共同字段: ['original_sequence', 'trial_idx', 'sentence_label', 'block_num', 'predicted_phonemes', 'corpus', 'input_layer', 'n_time_steps', 'alignment_info', 'session', 'trial_num', 'ctc_score']\n",
|
||
"\n",
|
||
"数组字段形状分布:\n",
|
||
" original_sequence: 1 种不同形状\n",
|
||
" (500,): 4 次\n",
|
||
"\n",
|
||
"=== 变量总结 ===\n",
|
||
"以下变量已创建,可供后续使用:\n",
|
||
"- pkl_files_info: 所有pkl文件信息列表\n",
|
||
"- phoneme_data: 音素数据字典\n",
|
||
"- phoneme_counts: 各音素的segment数量统计\n",
|
||
"- sorted_phonemes: 按数量排序的音素列表\n",
|
||
"- sample_segments: 示例segment列表\n",
|
||
"- session_summary: session统计信息字典\n",
|
||
"- ctc_data: CTC结果数据列表\n",
|
||
"\n",
|
||
"可以直接使用这些变量进行进一步分析!\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# =============================================================================\n",
|
||
"# 数据结构展示代码 - 保留所有变量供后续调用\n",
|
||
"# =============================================================================\n",
|
||
"\n",
|
||
"import pickle\n",
|
||
"import numpy as np\n",
|
||
"from pathlib import Path\n",
|
||
"import pandas as pd\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"from collections import defaultdict, Counter\n",
|
||
"\n",
|
||
"# 设置数据目录\n",
|
||
"data_dir = Path(\"../phoneme_segmented_data\")\n",
|
||
"print(f\"数据目录: {data_dir.absolute()}\")\n",
|
||
"print(f\"目录是否存在: {data_dir.exists()}\")\n",
|
||
"\n",
|
||
"# 获取所有pkl文件信息\n",
|
||
"pkl_files = list(data_dir.glob(\"*.pkl\")) if data_dir.exists() else []\n",
|
||
"pkl_files_info = []\n",
|
||
"\n",
|
||
"print(f\"\\n=== 发现的PKL文件 ===\")\n",
|
||
"for pkl_file in pkl_files:\n",
|
||
" size_mb = pkl_file.stat().st_size / 1024 / 1024\n",
|
||
" mtime = pkl_file.stat().st_mtime\n",
|
||
" pkl_files_info.append({\n",
|
||
" 'path': pkl_file,\n",
|
||
" 'name': pkl_file.name,\n",
|
||
" 'size_mb': size_mb,\n",
|
||
" 'mtime': mtime\n",
|
||
" })\n",
|
||
" print(f\"{pkl_file.name}: {size_mb:.1f} MB\")\n",
|
||
"\n",
|
||
"# 按修改时间排序,获取最新文件\n",
|
||
"pkl_files_info.sort(key=lambda x: x['mtime'], reverse=True)\n",
|
||
"\n",
|
||
"# =============================================================================\n",
|
||
"# 加载和分析 Phoneme Dataset\n",
|
||
"# =============================================================================\n",
|
||
"\n",
|
||
"phoneme_files = [f for f in pkl_files_info if f['name'].startswith(\"phoneme_dataset_\")]\n",
|
||
"if phoneme_files:\n",
|
||
" latest_phoneme_file = phoneme_files[0]['path']\n",
|
||
" print(f\"\\n=== 加载最新的Phoneme Dataset ===\")\n",
|
||
" print(f\"文件: {latest_phoneme_file.name}\")\n",
|
||
" \n",
|
||
" # 直接加载数据,不使用函数封装\n",
|
||
" with open(latest_phoneme_file, 'rb') as f:\n",
|
||
" phoneme_data = pickle.load(f)\n",
|
||
" \n",
|
||
" # 基本信息\n",
|
||
" phoneme_data_type = type(phoneme_data)\n",
|
||
" phoneme_keys = list(phoneme_data.keys()) if isinstance(phoneme_data, dict) else None\n",
|
||
" phoneme_keys_count = len(phoneme_keys) if phoneme_keys else 0\n",
|
||
" \n",
|
||
" print(f\"数据类型: {phoneme_data_type}\")\n",
|
||
" print(f\"音素数量: {phoneme_keys_count}\")\n",
|
||
" \n",
|
||
" if isinstance(phoneme_data, dict):\n",
|
||
" # 统计每个音素的segment数量\n",
|
||
" phoneme_counts = {k: len(v) for k, v in phoneme_data.items()}\n",
|
||
" total_segments = sum(phoneme_counts.values())\n",
|
||
" \n",
|
||
" print(f\"总segment数量: {total_segments}\")\n",
|
||
" \n",
|
||
" # 按数量排序的音素列表\n",
|
||
" sorted_phonemes = sorted(phoneme_counts.items(), key=lambda x: x[1], reverse=True)\n",
|
||
" \n",
|
||
" print(f\"\\n音素分布统计 (前15个):\")\n",
|
||
" for i, (phoneme, count) in enumerate(sorted_phonemes[:15]):\n",
|
||
" print(f\"{i+1:2d}. '{phoneme}': {count:4d} segments ({count/total_segments*100:.1f}%)\")\n",
|
||
" \n",
|
||
" # 获取示例segments进行结构分析\n",
|
||
" sample_segments = []\n",
|
||
" sample_phonemes = []\n",
|
||
" \n",
|
||
" for phoneme, segments in list(phoneme_data.items())[:5]: # 取前5个音素\n",
|
||
" for segment in segments[:3]: # 每个音素取前3个segment\n",
|
||
" sample_segments.append(segment)\n",
|
||
" sample_phonemes.append(phoneme)\n",
|
||
" \n",
|
||
" # 分析segment结构\n",
|
||
" if sample_segments:\n",
|
||
" first_segment = sample_segments[0]\n",
|
||
" segment_keys = list(first_segment.keys())\n",
|
||
" \n",
|
||
" print(f\"\\n=== Segment结构分析 ===\")\n",
|
||
" print(f\"Segment字段数量: {len(segment_keys)}\")\n",
|
||
" print(f\"Segment字段: {segment_keys}\")\n",
|
||
" \n",
|
||
" print(f\"\\n第一个segment详细信息:\")\n",
|
||
" for key, value in first_segment.items():\n",
|
||
" value_type = type(value)\n",
|
||
" if isinstance(value, np.ndarray):\n",
|
||
" print(f\" {key}: {value_type} shape={value.shape} dtype={value.dtype}\")\n",
|
||
" if value.size < 10: # 小数组显示具体值\n",
|
||
" print(f\" 值: {value}\")\n",
|
||
" else:\n",
|
||
" print(f\" 范围: [{value.min():.3f}, {value.max():.3f}]\")\n",
|
||
" else:\n",
|
||
" print(f\" {key}: {value} ({value_type})\")\n",
|
||
" \n",
|
||
" # 统计字段分布\n",
|
||
" field_stats = defaultdict(list)\n",
|
||
" for segment in sample_segments:\n",
|
||
" for key, value in segment.items():\n",
|
||
" field_stats[key].append(value)\n",
|
||
" \n",
|
||
" print(f\"\\n=== 字段统计分析 ===\")\n",
|
||
" for key, values in field_stats.items():\n",
|
||
" if key == 'session':\n",
|
||
" unique_sessions = list(set(values))\n",
|
||
" print(f\"{key}: {len(unique_sessions)} 个不同session - {unique_sessions}\")\n",
|
||
" elif key == 'corpus':\n",
|
||
" unique_corpus = list(set(values))\n",
|
||
" print(f\"{key}: {len(unique_corpus)} 个不同corpus - {unique_corpus}\")\n",
|
||
" elif key in ['start_time', 'end_time']:\n",
|
||
" times = [v for v in values if v is not None]\n",
|
||
" if times:\n",
|
||
" print(f\"{key}: 范围 [{min(times)}, {max(times)}], 平均 {np.mean(times):.1f}\")\n",
|
||
" elif key == 'confidence':\n",
|
||
" confs = [v for v in values if v is not None and v > 0]\n",
|
||
" if confs:\n",
|
||
" print(f\"{key}: 范围 [{min(confs):.3f}, {max(confs):.3f}], 平均 {np.mean(confs):.3f}\")\n",
|
||
" elif key == 'trial_num':\n",
|
||
" trials = list(set(values))\n",
|
||
" print(f\"{key}: {len(trials)} 个不同trial - 范围 {min(trials)} 到 {max(trials)}\")\n",
|
||
" \n",
|
||
" # Session分布分析\n",
|
||
" session_stats = defaultdict(lambda: {'segments': 0, 'trials': set(), 'phonemes': set(), 'corpus': set()})\n",
|
||
" \n",
|
||
" for phoneme, segments in phoneme_data.items():\n",
|
||
" for segment in segments:\n",
|
||
" session = segment.get('session', 'unknown')\n",
|
||
" trial_num = segment.get('trial_num', -1)\n",
|
||
" corpus = segment.get('corpus', 'unknown')\n",
|
||
" \n",
|
||
" session_stats[session]['segments'] += 1\n",
|
||
" session_stats[session]['trials'].add(trial_num)\n",
|
||
" session_stats[session]['phonemes'].add(phoneme)\n",
|
||
" session_stats[session]['corpus'].add(corpus)\n",
|
||
" \n",
|
||
" # 转换为更易于访问的格式\n",
|
||
" session_summary = {}\n",
|
||
" for session, stats in session_stats.items():\n",
|
||
" session_summary[session] = {\n",
|
||
" 'segments': stats['segments'],\n",
|
||
" 'trials_count': len(stats['trials']),\n",
|
||
" 'phonemes_count': len(stats['phonemes']),\n",
|
||
" 'corpus_list': list(stats['corpus'])\n",
|
||
" }\n",
|
||
" \n",
|
||
" print(f\"\\n=== Session分布分析 ===\")\n",
|
||
" print(f\"总session数: {len(session_summary)}\")\n",
|
||
" for session in sorted(session_summary.keys()):\n",
|
||
" stats = session_summary[session]\n",
|
||
" print(f\"{session}:\")\n",
|
||
" print(f\" Segments: {stats['segments']:4d}\")\n",
|
||
" print(f\" Trials: {stats['trials_count']:3d}\")\n",
|
||
" print(f\" Phonemes: {stats['phonemes_count']:2d}\")\n",
|
||
" print(f\" Corpus: {stats['corpus_list']}\")\n",
|
||
"\n",
|
||
"else:\n",
|
||
" print(\"未找到phoneme dataset文件\")\n",
|
||
" phoneme_data = None\n",
|
||
" phoneme_counts = None\n",
|
||
" sorted_phonemes = None\n",
|
||
" sample_segments = None\n",
|
||
"\n",
|
||
"# =============================================================================\n",
|
||
"# 加载和分析 CTC Results\n",
|
||
"# =============================================================================\n",
|
||
"\n",
|
||
"ctc_files = [f for f in pkl_files_info if f['name'].startswith(\"ctc_results_\")]\n",
|
||
"if ctc_files:\n",
|
||
" latest_ctc_file = ctc_files[0]['path']\n",
|
||
" print(f\"\\n=== 加载最新的CTC Results ===\")\n",
|
||
" print(f\"文件: {latest_ctc_file.name}\")\n",
|
||
" \n",
|
||
" # 直接加载数据\n",
|
||
" with open(latest_ctc_file, 'rb') as f:\n",
|
||
" ctc_data = pickle.load(f)\n",
|
||
" \n",
|
||
" ctc_data_type = type(ctc_data)\n",
|
||
" ctc_length = len(ctc_data) if hasattr(ctc_data, '__len__') else 0\n",
|
||
" \n",
|
||
" print(f\"数据类型: {ctc_data_type}\")\n",
|
||
" print(f\"条目数量: {ctc_length}\")\n",
|
||
" \n",
|
||
" if isinstance(ctc_data, list) and len(ctc_data) > 0:\n",
|
||
" first_ctc = ctc_data[0]\n",
|
||
" ctc_keys = list(first_ctc.keys()) if isinstance(first_ctc, dict) else None\n",
|
||
" \n",
|
||
" print(f\"\\n第一个CTC结果结构:\")\n",
|
||
" if ctc_keys:\n",
|
||
" for key, value in first_ctc.items():\n",
|
||
" value_type = type(value)\n",
|
||
" if isinstance(value, np.ndarray):\n",
|
||
" print(f\" {key}: {value_type} shape={value.shape} dtype={value.dtype}\")\n",
|
||
" elif isinstance(value, list):\n",
|
||
" print(f\" {key}: {value_type} length={len(value)}\")\n",
|
||
" if len(value) > 0:\n",
|
||
" print(f\" 第一个元素: {value[0]} ({type(value[0])})\")\n",
|
||
" else:\n",
|
||
" print(f\" {key}: {value} ({value_type})\")\n",
|
||
" \n",
|
||
" # 分析前几个CTC结果的共同字段\n",
|
||
" if len(ctc_data) > 1:\n",
|
||
" common_keys = set(ctc_data[0].keys())\n",
|
||
" for i in range(1, min(5, len(ctc_data))):\n",
|
||
" common_keys &= set(ctc_data[i].keys())\n",
|
||
" \n",
|
||
" print(f\"\\n前5个CTC结果的共同字段: {list(common_keys)}\")\n",
|
||
" \n",
|
||
" # 统计数组形状分布\n",
|
||
" shape_stats = defaultdict(list)\n",
|
||
" for i in range(min(10, len(ctc_data))):\n",
|
||
" for key, value in ctc_data[i].items():\n",
|
||
" if isinstance(value, np.ndarray):\n",
|
||
" shape_stats[key].append(value.shape)\n",
|
||
" \n",
|
||
" print(f\"\\n数组字段形状分布:\")\n",
|
||
" for key, shapes in shape_stats.items():\n",
|
||
" unique_shapes = list(set(shapes))\n",
|
||
" print(f\" {key}: {len(unique_shapes)} 种不同形状\")\n",
|
||
" for shape in unique_shapes[:5]: # 显示前5种形状\n",
|
||
" count = shapes.count(shape)\n",
|
||
" print(f\" {shape}: {count} 次\")\n",
|
||
"\n",
|
||
"else:\n",
|
||
" print(\"未找到CTC results文件\")\n",
|
||
" ctc_data = None\n",
|
||
"\n",
|
||
"print(f\"\\n=== 变量总结 ===\")\n",
|
||
"print(\"以下变量已创建,可供后续使用:\")\n",
|
||
"print(\"- pkl_files_info: 所有pkl文件信息列表\")\n",
|
||
"print(\"- phoneme_data: 音素数据字典\")\n",
|
||
"print(\"- phoneme_counts: 各音素的segment数量统计\")\n",
|
||
"print(\"- sorted_phonemes: 按数量排序的音素列表\")\n",
|
||
"print(\"- sample_segments: 示例segment列表\")\n",
|
||
"print(\"- session_summary: session统计信息字典\")\n",
|
||
"print(\"- ctc_data: CTC结果数据列表\")\n",
|
||
"print(\"\\n可以直接使用这些变量进行进一步分析!\")"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"language_info": {
|
||
"name": "python"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|