diff --git a/.skyignore b/.skyignore new file mode 100644 index 0000000..86cfc06 --- /dev/null +++ b/.skyignore @@ -0,0 +1,6 @@ +/artifacts +/data/raw +/.venv +/notebooks +__pycache__ +*.pyc diff --git a/configs/remote_mlp_tiny.toml b/configs/remote_mlp_tiny.toml new file mode 100644 index 0000000..2d7eb9b --- /dev/null +++ b/configs/remote_mlp_tiny.toml @@ -0,0 +1,32 @@ +[run] +name = "remote_mlp_tiny" +seed = 0 +artifact_dir = "artifacts/current_run/training_runs" + +[data] +root = "data/processed/minimal" +train_cases = 4 +val_cases = 1 +test_cases = 1 +points_per_case = 128 +batch_size = 128 + +[model] +type = "mlp" +hidden_width = 128 +depth = 4 +activation = "gelu" + +[optim] +lr = 0.001 +weight_decay = 0.0 +steps = 100 +log_interval = 25 + +[device] +type = "cuda" +allow_cpu_fallback = false +benchmark_kernels = true + +[loss] +type = "normalized_mse" diff --git a/configs/remote_smoke.toml b/configs/remote_smoke.toml new file mode 100644 index 0000000..c05edf4 --- /dev/null +++ b/configs/remote_smoke.toml @@ -0,0 +1,73 @@ +[run] +name = "airfrans-smoke" +timeout_minutes = 45 +local_artifact_dir = "artifacts/remote_runs" +max_attempts = 2 + +[provider] +kind = "vastai" +disk_gb = 64 +max_price_per_hour = 0.60 +image = "vastai/base:0.0.2" + +[provider.gpu] +name = "RTX 4090" +count = 1 +min_vram_gb = 16 + +[selection] +min_reliability = 0.95 +min_down_mbps = 100 +min_up_mbps = 25 +require_verified = true +blocked_geos = ["CN"] +blacklist_hosts = [59017] +drop_cheap_frac = 0.30 +image_size_gb = 5.0 +base_url = "https://cloud.vast.ai" + +[workspace] +workdir = "." +exclude = [ + "/artifacts", + "/data/raw", + "/.venv", + "/notebooks", + "__pycache__", + "*.pyc", +] + +[bootstrap] +command = """ +uv sync --no-dev +uv run --no-dev python -c "import torch; assert torch.cuda.is_available(); print(torch.cuda.get_device_name(0))" +""" + +[data] +validation_command = """ +uv run --no-dev python -c "from pathlib import Path; files=sorted(Path('data/processed/minimal').glob('*.npz')); assert len(files) >= 6; print(f'processed_minimal_cases={len(files)}')" +""" + +[job] +command = """ +uv run --no-dev remote-run smoke-train configs/remote_mlp_tiny.toml --artifact-dir artifacts/current_run --run-id "$AIRFRANS_REMOTE_RUN_ID" +""" +artifact_dir = "artifacts/current_run" +heartbeat_file = "artifacts/current_run/heartbeat.json" +metrics_file = "artifacts/current_run/metrics.jsonl" + +[artifacts] +mode = "rsync" +required = [ + "final_metrics.json", + "metrics.jsonl", + "checkpoint.pt", + "run_manifest.json", + "environment_manifest.json", + "artifact_manifest.json", + "checksums.txt", +] + +[cleanup] +on_success = "sky_down" +on_failure = "collect_then_keep" diff --git a/notebooks/airfrans_simulation_deep_dive.ipynb b/notebooks/airfrans_simulation_deep_dive.ipynb index aff1d3f..09be800 100644 --- a/notebooks/airfrans_simulation_deep_dive.ipynb +++ b/notebooks/airfrans_simulation_deep_dive.ipynb @@ -60,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "1346d8f4", "metadata": { "execution": { @@ -70,7 +70,16 @@ "shell.execute_reply": "2026-07-20T19:11:12.518263Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "repo: /home/aaron/data/airfrans\n", + "raw data: /home/aaron/data/airfrans/data/raw/OF_dataset\n" + ] + } + ], "source": [ "from pathlib import Path\n", "import gzip\n", @@ -135,7 +144,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "eb38682d", "metadata": { "execution": { @@ -145,7 +154,19 @@ "shell.execute_reply": "2026-07-20T19:11:12.523621Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Re=2e6 U_inf= 31.20 m/s Mach=0.090 q/rho= 486.7 m^2/s^2 q= 576.3 Pa\n", + "Re=3e6 U_inf= 46.80 m/s Mach=0.135 q/rho= 1095.1 m^2/s^2 q= 1296.6 Pa\n", + "Re=4e6 U_inf= 62.40 m/s Mach=0.180 q/rho= 1946.9 m^2/s^2 q= 2305.1 Pa\n", + "Re=5e6 U_inf= 78.00 m/s Mach=0.225 q/rho= 3042.0 m^2/s^2 q= 3601.7 Pa\n", + "Re=6e6 U_inf= 93.60 m/s Mach=0.270 q/rho= 4380.5 m^2/s^2 q= 5186.5 Pa\n" + ] + } + ], "source": [ "NU_DATASET = 1.56e-5 # m^2/s, paper Table 6 / docs note\n", "RHO = 1.184 # kg/m^3, paper Table 6\n", @@ -226,7 +247,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "a7370288", "metadata": { "execution": { @@ -236,7 +257,34 @@ "shell.execute_reply": "2026-07-20T19:11:12.586915Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AirfRANS raw subset\n", + "status: ok\n", + "data_dir: /home/aaron/data/airfrans/data/raw/OF_dataset\n", + "manifest: /home/aaron/data/airfrans/data/raw/OF_dataset_subset_manifest.json\n", + "simulations: 50 / 50\n", + "files: 5820 / 5820\n", + "bytes: 7565631222 / 7565631222 (7.57 GB)\n", + "source_zip_bytes: 71310335730\n", + "sample_seed: 20260719\n", + "sample_method: uniform random sample without replacement from the 1000 top-level OF_dataset simulation directories, using sorted names as the sampling population\n", + "sample_simulations:\n", + "- airFoil2D_SST_32.137_12.122_4.854_5.202_9.247\n", + "- airFoil2D_SST_33.238_-0.071_0.667_2.065_6.479\n", + "- airFoil2D_SST_33.816_-1.984_6.59_0.0_7.983\n", + "- airFoil2D_SST_33.846_6.261_0.922_3.023_1.0_12.36\n", + "- airFoil2D_SST_36.155_8.69_3.296_7.636_1.0_8.571\n", + "- airFoil2D_SST_38.797_3.751_1.748_7.04_0.0_19.453\n", + "- airFoil2D_SST_40.175_10.442_1.962_3.054_0.0_6.878\n", + "- airFoil2D_SST_40.585_14.545_0.315_2.716_9.25\n", + "... 42 more\n" + ] + } + ], "source": [ "report = inspect_raw_subset(DATA_DIR, MANIFEST_PATH)\n", "print(format_raw_inspection(report, sample_limit=8))\n", @@ -286,7 +334,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "473b211e", "metadata": { "execution": { @@ -296,7 +344,52 @@ "shell.execute_reply": "2026-07-20T19:11:12.596532Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "local simulations: 50\n", + "U_inf range: 32.137 .. 93.213 m/s\n", + "Re range from U/nu: 2.060e+06 .. 5.975e+06\n", + "angle range: -2.718 .. 14.794 deg\n", + "families: {'NACA-4-like': 26, 'NACA-5-like': 24}\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'name': 'airFoil2D_SST_32.137_12.122_4.854_5.202_9.247',\n", + " 'turbulence': 'SST',\n", + " 'u_inf': 32.137,\n", + " 'alpha_deg': 12.122,\n", + " 'naca_params': [4.854, 5.202, 9.247],\n", + " 'family': 'NACA-4-like',\n", + " 'reynolds_from_name': 2060064.1025641027,\n", + " 'mach_from_name': 0.09285466628142156},\n", + " {'name': 'airFoil2D_SST_33.238_-0.071_0.667_2.065_6.479',\n", + " 'turbulence': 'SST',\n", + " 'u_inf': 33.238,\n", + " 'alpha_deg': -0.071,\n", + " 'naca_params': [0.667, 2.065, 6.479],\n", + " 'family': 'NACA-4-like',\n", + " 'reynolds_from_name': 2130641.0256410255,\n", + " 'mach_from_name': 0.09603582779543483},\n", + " {'name': 'airFoil2D_SST_33.816_-1.984_6.59_0.0_7.983',\n", + " 'turbulence': 'SST',\n", + " 'u_inf': 33.816,\n", + " 'alpha_deg': -1.984,\n", + " 'naca_params': [6.59, 0.0, 7.983],\n", + " 'family': 'NACA-4-like',\n", + " 'reynolds_from_name': 2167692.307692308,\n", + " 'mach_from_name': 0.09770586535683329}]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "SIM_RE = re.compile(\n", " r\"^airFoil2D_(?P[^_]+)_\"\n", @@ -339,7 +432,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "2f2e29bb", "metadata": { "execution": { @@ -349,7 +442,18 @@ "shell.execute_reply": "2026-07-20T19:11:12.852448Z" } }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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TiI1NVWrfcfFxYkGDRqIzp07i7Nnz4rs7GwRHBwsnJycxMiRI5Xlvv32WwFAxMfHl/t6S/z8888CgNi1a5fK8sOHDwsAYtGiRcplhYWFonv37sLBwUHs379fZGZmiitXroju3buLpk2bioyMDCGEEK+++qqoU6eOePDggco2V61aJQCIf//9VwghxNmzZwUA4efnJ/z9/UVSUpK4ffu26N27t7C1tRWZmZnKullZWaJly5bC1dVVnDx5UmRmZoqDBw+KevXqiS5duoiHDx8KIYS4fv26ACA2b96srJuZmSmaNGki3NzcRGhoqMjIyBC7du0SEydOFADERx99pCy7dOlSYWFhIQ4cOCCys7PF3bt3xb59+8TUqVPLPY7avJbffvtNABBnzpxR2caDBw8EAPHpp5+W2u6IESPERx99JFJSUsTly5dF8+bNxYABA8S6devE4sWLxd27d8XVq1dFy5YtRadOncqM7aWXXhLvvvuuSE5OFrGxsWLcuHHC2NhYhISEaP0el2xz+PDh4p133hGJiYnizJkzIiwsrMLHkIj00969e4VMJhPXrl0TQgixdetWIZfLRVxcXKmyLi4uolevXmLEiBEiMjJSZGRkiC+++EIAEL/99ptK2alTpwpzc3OxdetWkZGRIcLDw8XgwYNF586dRevWrVXKenh4iCFDhqgs+/LLL4VcLheffPKJSEhIECkpKeKDDz4QRkZG4ujRo0IIIa5cuSJMTEzEO++8I+7cuSOys7NFaGioGDNmjEhISCj3dc+ZM0cYGxuL7777TqSmpoorV66Inj17CisrK3Hp0iVludmzZ5d5bfA0+fn54vz586J79+6iRYsWIicnR7muZcuWYtiwYWXWK2+dptsvuV5auHChiImJERkZGeLPP/8UY8eOVZZxcXERfn5+Qoji66x33nlHGBkZiW+//Vbr10pE9DReXl7C0dFR7XpN7wUKCgqEt7e3qFevnti1a5e4f/++iI+PF2vWrBHLli0rc9vp6eni119/FXZ2dmLevHnK5WXdV5RFk2vfilz/a3Ltrsm+Nb2+v3jxogAgtm3bVu7rLaHJsdb0fRs1apSwt7cXBQUFKvsouZcPDQ3V6rWUd6/yJHXvf0ZGhnBxcRGtW7cW//33n8jMzBR79+4Vr7zySql7SE3jIukwUSgRTRKFgwcPFjY2NipJEyGEmDFj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RuW+UdNZjzW99q3I9f/Trt013bem93D79u0TrVq1EsbGxgKAeP/998t97Zoca03ft5I469atKwCIDz/8sMx9Puu9ihCavf9CqN5D2traitdee015Xv3iiy8qdIxJGjIhOMUmkb4YO3Ys9u7di5iYGDRp0kTqcIiISM+5ubmhadOmpbolExEREUnt8uXLaNOmDTZt2qQcV5H0H7seE+mJnJwcHDx4EH379mWSkIiInury5cuIjo6u0DAiRERERJWtZKzj7t27Sx0KaaGW1AEQUfG08p9//jlycnLw3nvvSR0OERHpmf379yM6OhqjRo1CgwYNcP78ecyaNQuOjo547bXXpA6PiIiIajh/f3907NgR3bp1Q1FREfbv349ly5bhlVdeUU50SoaBLQqJJLZ27VqYmJhg8+bNWLlyJXr27Cl1SEREpGf69euHrKwsDB06FHXr1sWYMWPQrl07hISEwNbWVurwiIiIqIZ79dVXsWvXLnh6esLZ2RlfffUVFi5ciA0bNkgdGmmJYxQSERERERERERERWxQSERERERERERERE4VEREREREREREQEA5/MRKFQICkpCbVr14ZMJpM6HCKiGk8IgQcPHsDBwQFyOf8XpQ2e04iI9AvPaRXHcxoRkX7R5pxm0InCpKQkNG7cWOowiIjoCfHx8XBycpI6DIPCcxoRkX7iOU17PKcREeknTc5pBp0orF27NoDiF1qnTh2JoyEioqysLDRu3Fj5/Uya4zmNiEi/8JxWcTynERHpF23OaQadKCxpxl6nTh2egIiI9Ai7GWmP5zQiIv3Ec5r2eE4jItJPmpzTONgGERERERERERERGXaLQiIiIiIioppKoVDgjz/+wJkzZzB48GB07txZZf3Zs2dx4MCBUvU++eSTcgezLywsxL59+3Djxg24urpi1KhRMDc313n8RESkf9iikIiIiIiIyMCcPn0aLVq0wOrVq/HVV18hNDS0VJnz589jzZo1MDMzU/kpr+tZbm4uunbtik8//RQZGRn48ssv0aFDB2RkZFTiqyEiIn3BFoVEREREREQGxt7eHseOHUOTJk1Qt25dteVsbW2xePFijbf7zTff4NatW4iKioKdnR0ePHiA1q1bY+nSpVi6dKkuQiciIj2mFy0K79+/jwsXLiAnJ0fqUIiIiJ5JQkICwsPDUVhYKHUoRERUjbVq1QpN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ERERERGBk5kQERERERERkQFTKASCIpP+NztuLpxsLTg7LlEFMVFIRERERERERAZJoRCYvycMgRHJkMsAhQCSM/MRGpuG4KgUrPLzZLKQSAvsekxEREREREREBikoMgmBEckAipOEjz8GRiQhKDJJosiIDBMThURERERERERkkHaG3oa6BoNyWfF6ItIcE4VEREREREREZJAS0nOVLQifpBBAQnpe1QZEZOCYKCQiIiIiIiIig+Rka1Fui0InW/OqDYjIwDFRSEREREREREQGabyXc7ktCsd7OVdtQEQGjolCIiIiIiIiIjJIPu4O8PVwAABly8KSR18PB/i4O0gUGZFhqiV1AERERERERFQxkZGROHPmDLp06YK2bduWWp+amop//vkHubm58PDwQKtWrcrd3pUrV3Dq1KlSy2fMmAGZTE3/TiIJyeUyrPLzRB+3+tgZehsJ6XlwsjXHeC9n+Lg7QK6uXzIRlYmJQiIiIiIiIgMTHh6O2bNnIysrC9evX8fSpUtLJQo//vhjbN68Ge7u7rCwsMDUqVMxfvx4rF+/Xu12T506hYULF2LcuHEqy4UQTBSS3pLLZRjm6Yhhno5Sh0Jk8JgoJCIiIiIiMjBFRUVYtmwZunbtirp165ZZpm3btrh69SrMzYsnc4iIiMALL7yAQYMGYfjw4Wq3Xa9ePaxdu7ZS4iYiIv3GRCEREREREZGBefHFF59aZuTIkSrPPTw80KBBA0RFRZWbKMzPz8euXbtgZGQET09PPPfcc88cLxERGQZOZkJERERERFQDXLhwAcnJyWjXrl255fLz87Fv3z5s3boVbdu2xaxZs8otX1BQgKysLJUfIiIyTGxRSEREREREVM2lp6dj/Pjx6N+/PwYOHKi2nLe3N27evIk6deoAAEJDQ9GtWzd07NgRkydPLrNOQEAAlixZUilxExFR1WKLQiIiIiIiomosKysLgwYNQp06dbB3795yJyVp27atMkkIAF5eXujVqxf++OMPtXX8/f2RmZmp/ImPj69QnAqFwIHwRPitOwPvpcHwW3cGB8IToVCICm2PiIi0xxaFRERERERE1dSDBw8wcOBAPHr0CMeOHYO1tbXW2zAzM0N6erra9aampjA1NX2WMKFQCMzfE4bAiGTIZYBCAMmZ+QiNTUNwVApW+XlCLuesy5pSKASCIpOwM/Q2EtJz4WRr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ZSYL9anVpFwuwyo/T/Rxq4+dobeRkJ4HJ1tzjPdyho+7gySzTzNRSEREREREVA3t2rULdevWVT4fMmQIGjZsiD179mDGjBlq61lYWGDgwIFVEaJW9PGGmsgQ1YS/JUNqNSmXyzDM0xHDPB2lDgUAE4VERERERETV0uNJQgCwsrKCubk5srOzy613//59+Pn5wcjICC+88AJmzZoFS0vLygxVY/p2Q01kqKr731JNaDVZWZgoJCIiIiIiqgF++uknZGRklNtaUCaToX///vDx8UF+fj5Wr16NdevW4dy5c7C2ti6zTkFBAQoKCpTPs7KydB47VQ8KhUBQZNL/WrHlwsnWolq1YiP9URNaTVYWJgqJiIiIiIgMwP79+7F27dpyyyxevBhdu3YttfzMmTN444038Omnn6J169Zq60+YMEGlW/Lo0aPx3HPP4csvv8Snn35aZp2AgAAsWbJEw1dBNZVCITB/TxgCI5KVLbuSM/MRGpuG4KgUrPLzZPKGdKq6t5qsLEwUEhERERERGYB27dph/vz55ZZp0aJFqWVnz57FoEGDMHv2bLz33nvl1reyslJ5bm1tDW9vb1y4cEFtHX9/fyxYsED5PCsrC40bNy53P1TzBEUmITAiGQCUE0yUPAZGJKGPW30mdIj0ABOFREREREREBsDFxQUuLi5a1Tl//jz69++PqVOnYsWKFRXab1paGmxtbdWuNzU1hampaYW2TTXHztDbypaET5LLitczUUgkPbnUARAREREREZHuhYWFoV+/fpg6dSq++uqrMssEBQVh4MCBUCgUAIANGzYgNzdXuf7XX3/FqVOnMHLkyCqJmaqvhPTcMpOEQHHyMCE9r2oDIqIysUUhERERERFRNeTn54ecnBxcunRJZQITX19fvP766wCAW7du4ciRI1AoFJDL5cjNzUXLli3h5OSEBw8e4NatW/jiiy8wceJEqV4GVRNOthZIzsxX26LQyda86oMiolKYKCQiIiIiIqqG1q9fj/z8/FLLH+++7Ovri+bNm8PIyAgAMHfuXLz22mu4ePEijI2N8dxzz8HS0rLKYqbqa7yXM0Jj08pcpxDF64lIekwUEhERERERVUM9e/Z8ahlnZ2c4O6smaMzNzdGxY8dKiopqKh93BwRHpSAwIkk5VmHJo6+HA3zcHaQOkYjARCERERERERERVTK5XIZVfp7o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w9izZw/u3LmDpk2bYurUqaVmLSTNHTp0CJs3b0ZWVhZatWqFN998k124DcTHH3+MY8eOlVreokULbN68GUBxS/BJkybh22+/Rbt27aBQKLBz504cPHgQDx48QMuWLfHGG2+UO67hszp69Ch+/PFHpKWloX379li4cKHK2CrvvfceHjx4oDL+7dPqVLYPPvgAJ06cKLW8VatW2LBhA4DiiR6mTp2KNWvWoG3btlAoFNi+fTt+//135OTkoFWrVnjjjTeq/O8pJiYG33//PS5fvowGDRqgf//+mDBhgsoERW+//TYA4Msvv1QuO3z4MDZu3IiMjAx4eXnh3XffrbKJKErk5eVhyJAhmDNnTpnjGV28eBGzZs3Cxo0b0bJlS2U35T/++AN5eXlwc3PDnDlzKrXbqLrrTScnJ+zevVv5/P79+1i2bBnCwsJgb2+PmTNnKiddAYoThXPmzMFPP/2knE37aXWe1Y8//ogtW7aUWv7hhx+if//+uHLlCqZPn15m3ZLvEKA4UVi7dm188cUXAIBr167hhx9+QFRUFBo2bIhBgwbBz89PZ5NiFRYWonfv3qWWu7i4YMeOHQCKZ33fvHkzjhw5gsLCQjz//POYM2eOSkOBc+fOYf78+di2bZtyPNF79+5h6dKlCA8PR7169TBr1iy19xNUcQcPHlTbivD333+v8u8aQ3f9+nX88MMPuHLlCmxtbdG5c2dMmzYNlpaWUodm8F5//XW4uLgwuVUBubm5WLt2LU6ePAkjIyN4eHhg7ty5VXr9Vp3k5eXh66+/xsmTJ2FpaYmePXti5syZlTKGbrVOFBIREREREREREZFmqv0YhURERERERERERPR0TBQSERERERERERERE4VERERERERERETERCERERERERERERGBiUIiIiIiIiIiIiICE4VEREREREREREQEJgqJiIiIiIiIiIgIQC2pAyAyVIcOHUJWVhYAYOTIkTA2Nq7wtv766y/Y2dnB3d29Qs+rQkhICBISEgAA/fr1g729fZXtm4iIpHfy5EkkJycDAAYOHAgbG5syy4WFhSEnJwddu3bV6f7DwsIQHR0NAOjSpQucnZ11un0iIjJ86enpOHLkCADA0dER3bp1q/C28vPzsX//fgwaNAjW1tZaP68Kjx49wi+//AIAqF27NoYMGVIl+6XqjYlCqtYe/+IEAGtra7Rs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oLq62hg7ffo0drs9oALwv/32G263G5PJxNy5c9m2bRtJSUkcPnz4coQtIiLjJCwsjLi4OD777DNj7P333wfg6NGjo55n8uTJzJs3j5qaGmOst7eXAwcOGNfh4eEsWLBgxDX2l19+AWDKlCnccccd1NbWGvf6+/v94hMRkatbSEgIu3btwuFwUF5eDkB6ejqtra00NDT4PdvT00NfX994hBmQJUuW4HA4jDfYACoqKjCbzcyfP3/U8wxfL9PS0igpKcHpdPLzzz+PdcgigE4UyjVq+/bt3HnnnXz66aekpaWxZ88eVq5cSXd3N6mpqZw6dYqPPvqIxx57jI0bN453uBc1YcIEXn/9ddauXYvL5SImJobdu3eTkJBAdnb2qOf56aefWL16NVlZWSQkJNDS0kJrayulpaWXMXoRERkPL774IuvWrSM4OJiBgQGampqwWq0UFRVhNptZvHjxqOYpLi5mxYoVDA0NMWfOHPbs2WPUy/XZvXs3FosFi8VCZmYm/f39HDhwgNtvv53XXnsNgJdffpmHHnqIoaEhZs+ezbvvvgtg1GsSEZGrX2xsLOvXr2fr1q08+uijpKens3btWpYtW0Zubi6xsbF899131NTUYLfbmTJlyniHfFHLly8nNTWV+++/n7y8PFwuF9u3b6eoqCigE4WlpaU0NzeTnp7OtGnTeO+995g/f77RGVpkrOlEoVzVQkJCsFqt3HzzzX7jixYtoqioyDg5sXz5cr755hsSExOpr6+nr6+PkpKSv00SOhwObDYbZ8+eBcBisZCYmOj3THp6Orfeeqvf2IoVK/z+sKekpBj1of7J9erVq7Hb7fzxxx80NjaSnZ1NXV0dwcH//y5gpNjuuusuo5DvwoULsdvtmM1m6urqmDhxIkePHmXRokUA1NfXU1VVddHPQ0RE/hvWrFlDdXU1TqeT7u5uPvnkE8rKykhOTr7oqcITJ05gs9mM14TT0tI4ePAgg4ODtLW1sXXrVt544w2j/iCcb3DS1tbG0qVLOXz4ML/++iubN282koQAGRkZ2O123G43x48fp7CwkGXLljF16lTjma+++gqbzcbg4ODYfyAiIvKvio+P55FHHrlgfMuWLdx9990cOXIEOF82au/evfT29vLFF18QGRlJY2Oj0Xzxr1RXV3Po0CEApk6ditVqZfLkycb9adOmYbVa/V7dDQ8Px2q1GnXrJ02ahNVqNcpyBHoNsH//fp577jkcDgddXV1UVlZSUFBg3B8pNgCr1WrUIHzllVd4/vnncTqdNDY2smrVKurq6jCZTHg8Hmw2G83NzRf9PEQCEeT1tQ4SkYDk5+cbx8DfeecdzGbzOEd0ee3YscNYsF966SV9gyUico0pLi7m2LFjALz66qtER0eP2dw9PT2YzWbjCy63201CQgKbN28mLy8PgPLycj7++GMA8vLyjC+6REREfNrb2yksLAQgKSmJZ599dpwjurwGBgZ4/PHHAYiIiKCkpGR8A5KrghKFIiIiIjKuvv32W3JycsjKyiI4OJjy8nJ+//13mpqaAmqwIiIiIiKXRolCERERERl3DoeDffv24XK5SExM5IknnrjqT+uLiIiIXGmUKBQRERERERERERE1MxERERERERERERElCkVERERERERERAQlCkVERERERERERAQlCkVERERERERERAQlCkVERERERERERAQlCkVERERERERERAQlCkVERERERERERAQlCkVERERERERERAQlCkVERERERERERAT4H76YeKaSQEHXAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, axes = plt.subplots(1, 3, figsize=(13, 3.5))\n", "axes[0].hist(re_vals / 1e6, bins=12)\n", @@ -389,7 +493,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "b1fa24ec", "metadata": { "execution": { @@ -399,7 +503,29 @@ "shell.execute_reply": "2026-07-20T19:11:12.856721Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "airFoil2D_SST_32.137_12.122_4.854_5.202_9.247\n", + "{\n", + " \"name\": \"airFoil2D_SST_32.137_12.122_4.854_5.202_9.247\",\n", + " \"turbulence\": \"SST\",\n", + " \"u_inf\": 32.137,\n", + " \"alpha_deg\": 12.122,\n", + " \"naca_params\": [\n", + " 4.854,\n", + " 5.202,\n", + " 9.247\n", + " ],\n", + " \"family\": \"NACA-4-like\",\n", + " \"reynolds_from_name\": 2060064.1025641027,\n", + " \"mach_from_name\": 0.09285466628142156\n", + "}\n" + ] + } + ], "source": [ "SIM_INDEX = 0\n", "SIM_NAME = sim_names[SIM_INDEX]\n", @@ -411,7 +537,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "e35d99c0", "metadata": { "execution": { @@ -537,7 +663,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "9f350525", "metadata": { "execution": { @@ -547,7 +673,25 @@ "shell.execute_reply": "2026-07-20T19:11:12.876263Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "solver application: simpleFoam\n", + "final solver iteration/endTime: 40000\n", + "writeInterval: $endTime\n", + "RAS turbulence model: kOmegaSST\n", + "Uinf from controlDict: 32.137 m/s\n", + "nu from transportProperties: 1.560e-05 m^2/s\n", + "Re = U*chord/nu: 2.060e+06\n", + "Mach = U/c: 0.093\n", + "dragDir: [0.97770268 0.20999399 0. ]\n", + "liftDir: [-0.20999399 0.97770268 0. ]\n", + "angle inferred from dragDir: 12.122 deg\n" + ] + } + ], "source": [ "control_text = read_text(SIM_DIR / \"system\" / \"controlDict\")\n", "transport_text = read_text(SIM_DIR / \"constant\" / \"transportProperties\")\n", @@ -603,7 +747,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "1e0fc222", "metadata": { "execution": { @@ -613,7 +757,241 @@ "shell.execute_reply": "2026-07-20T19:11:12.884089Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "--- 0/U ---\n", + "/*--------------------------------*- C++ -*----------------------------------*\\\n", + "| ========= | |\n", + "| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n", + "| \\\\ / O peration | Version: v2112 |\n", + "| \\\\ / A nd | Website: www.openfoam.com |\n", + "| \\\\/ M anipulation | |\n", + "\\*---------------------------------------------------------------------------*/\n", + "FoamFile\n", + "{\n", + " version 2.0;\n", + " format ascii;\n", + " class volVectorField;\n", + " object U;\n", + "}\n", + "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n", + "\n", + "dimensions [0 1 -1 0 0 0 0];\n", + "\n", + "field\t\t(31.42043092852577 6.748576832617464 0);\n", + "\n", + "internalField uniform $field;\n", + "\n", + "boundaryField\n", + "{\n", + " aerofoil\n", + " {\n", + " type noSlip;\n", + " }\n", + "\n", + " freestream\n", + " {\n", + " type\t\t\tfreestreamVelocity;\n", + " freestreamValue\tuniform $field;\n", + " }\n", + "\n", + " frontAndBack\n", + " {\n", + " type empty;\n", + " }\n", + "}\n", + "\n", + "\n", + "// ************************************************************************* //\n", + "\n", + "--- 0/p ---\n", + "/*--------------------------------*- C++ -*----------------------------------*\\\n", + "| ========= | |\n", + "| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n", + "| \\\\ / O peration | Version: v2112 |\n", + "| \\\\ / A nd | Website: www.openfoam.com |\n", + "| \\\\/ M anipulation | |\n", + "\\*---------------------------------------------------------------------------*/\n", + "FoamFile\n", + "{\n", + " version 2.0;\n", + " format ascii;\n", + " class volScalarField;\n", + " object p;\n", + "}\n", + "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n", + "\n", + "field 0;\n", + "\n", + "dimensions [0 2 -2 0 0 0 0];\n", + "\n", + "internalField uniform $field;\n", + "\n", + "boundaryField\n", + "{\n", + " aerofoil\n", + " {\n", + " type zeroGradient;\n", + " }\n", + "\n", + " freestream\n", + " {\n", + " type\t\t\tfreestreamPressure;\n", + " freestreamValue\tuniform $field;\n", + " }\n", + "\n", + " frontAndBack\n", + " {\n", + " type empty;\n", + " }\n", + "}\n", + "\n", + "\n", + "// ************************************************************************* //\n", + "\n", + "--- 0/nut ---\n", + "/*--------------------------------*- C++ -*----------------------------------*\\\n", + "| ========= | |\n", + "| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n", + "| \\\\ / O peration | Version: v2112 |\n", + "| \\\\ / A nd | Website: www.openfoam.com |\n", + "| \\\\/ M anipulation | |\n", + "\\*---------------------------------------------------------------------------*/\n", + "FoamFile\n", + "{\n", + " version 2.0;\n", + " format ascii;\n", + " class volScalarField;\n", + " object nut;\n", + "}\n", + "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n", + "\n", + "dimensions [0 2 -1 0 0 0 0];\n", + "\n", + "field\t\t1.56e-5;\n", + "\n", + "internalField uniform $field;\n", + "\n", + "boundaryField\n", + "{\n", + " aerofoil\n", + " {\n", + " type nutLowReWallFunction;\n", + " value\t\tuniform 0;\n", + " }\n", + "\n", + " freestream\n", + " {\n", + " type freestream;\n", + " freestreamValue uniform $field;\n", + " }\n", + "\n", + " frontAndBack\n", + " {\n", + " type empty;\n", + " }\n", + "}\n", + "\n", + "\n", + "// ************************************************************************* //\n", + "\n", + "--- 0/k ---\n", + "/*--------------------------------*- C++ -*----------------------------------*\\\n", + "| ========= | |\n", + "| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n", + "| \\\\ / O peration | Version: v2112 |\n", + "| \\\\ / A nd | Website: www.openfoam.com |\n", + "| \\\\/ M anipulation | |\n", + "\\*---------------------------------------------------------------------------*/\n", + "FoamFile\n", + "{\n", + " version 2.0;\n", + " format ascii;\n", + " class volScalarField;\n", + " object k;\n", + "}\n", + "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n", + "\n", + "dimensions [0 2 -2 0 0 0 0];\n", + "\n", + "field\t\t1.2533430000000003e-09;\n", + "\n", + "internalField\tuniform $field; \n", + "\n", + "boundaryField\n", + "{\n", + "\taerofoil\n", + "\t{\n", + "\t\ttype\t\tfixedValue;\n", + "\t\tvalue\t\tuniform 0;\n", + "\t}\t\n", + "\t\n", + "\tfreestream\n", + "\t{\n", + "\t\ttype\t\t\tfreestream;\n", + "\t\tfreestreamValue\tuniform $field;\n", + "\t}\n", + "\n", + "\tfrontAndBack\n", + "\t{\n", + "\t\ttype\t\tempty;\n", + "\t}\n", + "}\n", + "\n", + "\n", + "// ************************************************************************* //\n", + "\n", + "--- 0/omega ---\n", + "/*--------------------------------*- C++ -*----------------------------------*\\\n", + "| ========= | |\n", + "| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n", + "| \\\\ / O peration | Version: v2112 |\n", + "| \\\\ / A nd | Website: www.openfoam.com |\n", + "| \\\\/ M anipulation | |\n", + "\\*---------------------------------------------------------------------------*/\n", + "FoamFile\n", + "{\n", + " version 2.0;\n", + " format ascii;\n", + " class volScalarField;\n", + " object omega;\n", + "}\n", + "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n", + "\n", + "dimensions [0 0 -1 0 0 0 0];\n", + "\n", + "field\t\t0.40171250000000003;\n", + "\n", + "internalField uniform $field; \n", + "\n", + "boundaryField\n", + "{\n", + "\taerofoil\n", + "\t{\n", + "\t\ttype\t\tomegaWallFunction;\n", + "\t\tvalue\t\tuniform 312000000.0;\n", + "\t}\n", + "\t\n", + "\tfreestream\n", + "\t{\n", + "\t\ttype\t\t\tfreestream;\n", + "\t\tfreestreamValue\tuniform $field;\n", + "\t}\n", + "\n", + "\tfrontAndBack\n", + "\t{\n", + "\t\ttype\t\tempty;\n", + "\t}\n", + "}\n", + "\n", + "// ************************************************************************* //\n" + ] + } + ], "source": [ "for field in [\"U\", \"p\", \"nut\", \"k\", \"omega\"]:\n", " candidate = SIM_DIR / \"0\" / field\n", @@ -652,7 +1030,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "dc969024", "metadata": { "execution": { @@ -662,7 +1040,19 @@ "shell.execute_reply": "2026-07-20T19:11:14.071808Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mesh vertices/points: (520500, 3)\n", + "patches:\n", + " aerofoil type=wall nFaces= 908 startFace=516702\n", + " freestream type=patch nFaces= 1624 startFace=517610\n", + " frontAndBack type=empty nFaces= 517968 startFace=519234\n" + ] + } + ], "source": [ "points = parse_foam_list(SIM_DIR / \"constant\" / \"polyMesh\" / \"points.gz\", columns=3)\n", "patches = parse_boundary(SIM_DIR / \"constant\" / \"polyMesh\" / \"boundary\")\n", @@ -674,7 +1064,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "04c89f1f", "metadata": { "execution": { @@ -684,7 +1074,18 @@ "shell.execute_reply": "2026-07-20T19:11:14.346335Z" } }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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fgZ6VxoqlYoT6OXyzW9+Ezt37sTu3btB0zS+973vVfR4hKODN998s6Lfk3ztk3lHOFYhM54gSnt7OyiKQnd3d87nzz33XFmPc8YZZ+C0007DAw88ILmw3rJlS8E3FJ/85CeRSqXwj3/8I+fzcvxBOfPMM0HT9BTxR4kSb7FYsGHDBjz22GN44403sHPnzhzTWiCbtpRIJPDMM88U3VeTyQSVSoVEIjHld0ra/853voMtW7bgkUcewV/+8hf09/fjX//1X2X3Q6PRYMWKFbjtttvwla98BR9//HGOIKfX63O27+3txVtvvSW7faU8++yzOT8PDQ3ho48+Klht6vzzz8c///nPnIgbAoFAIEwPP/rRjzhT9qOB1atXg6bpKemp+diyZQvOOOOMvMbx5TwegVAqZN4RjlWIsEIQRa/X4+qrr8bvf/97vPrqqwiFQnj++efx4osvctEs5eLxxx/HnDlzcMopp+D3v/89xsbGkEwmsXfvXtx2220466yzpkTOCNmwYQNWrVqF66+/Hps3b0YoFMLLL7+Mv/zlL6ipqSmpfxs2bMDxxx+PG264AW+88QZCoRBeeuklPP3004ravvbaaxEMBnH11VfDYrHg8ssvz/n9BRdcgA0bNuD666/H7373O4yOjiIcDmP79u248847cffddxc8hk6nw4IFC7B58+YpD6Ny29+0aRN+8pOf4Hvf+x7OOeccHHfccfjlL3+JRx99FL/+9a8lj51Op/GJT3wCTz75JAYHB5FIJLBt2zY8//zzOP7442Gz2bh+PP/88/jrX/+KSCSC9957D1dddZWsktrFMjIygt/+9rfw+/3o6enBhg0bYLVaceutt+bd74c//CFcLhfWr1+PV199FYFAAJOTk3jjjTfw+c9/nnisEAgEQoVYv349gsEg/v3f/72s7bIRiFKpRvzt+GkOhbxNim1XLLWJjYykaRputxt6vV5W23KOJ5fZnHJVaWZqbOQel2EYpNNpANm5xM4ddj+pOcdSaC4Xap9tg8w7wrEGEVYIktx///0477zzcMkll6CtrQ1PPvkkfvnLX5b9OI2NjXj33XexceNG/OEPf0BXVxdsNhs+85nPYNeuXfjzn/+M8847L28bOp0O//jHP3DaaafhoosuQktLC373u9/hV7/6FVKp1JQICSVotVq89NJL+OQnP4mLL74YLS0t+O1vf4v//u//VpSOcvLJJ2PJkiUYHBzEhg0bRL1fHn30UfzoRz/Cb37zGyxYsADNzc249tprYTKZcNNNN8k6zm9+8xv4fD40NjZCpVLhS1/6kuz2Dx06hH/5l3/Bpz/9adx5553cfl/+8pdxzTXX4P/9v/+HDz74QPS4Go0G9913H55++ml84hOfgMPhwKWXXopzzjknJ9rn7rvvxk033YSvfe1rqKurw7e+9S3853/+J+bMmSNvIIvgrrvuwt69e7FgwQKsXbsWVqsV//znPwv61DQ2NmLr1q0488wzcf3116O+vh7Lly/HPffcg/PPPx+nnHJKxfpMIBAIxzJLlizBNddcg1/+8pfo6+sruH0sFsMdd9yBzs5OUBQFp9OJq666CsPDw9w2kUgEBoOB+4+iKMydOxcbN25EPB7ntmM9Iv7yl7/gf/7nf7g233zzTdFjDw8PT2l3wYIFuOuuu3IWp2LeE3zvkPvvvx8dHR2gKAp33nknDAYD4vE4HnzwQa5tNrV1cHAQX/ziF1FbWwuNRoOOjg7cfvvtoudRjNcFv1/33XcfmpubYTKZcMkll3BeZv/xH/+BlpYWaLVanH322RgcHJzSTjAYxDe/+U10dHRAo9HA5XLhmmuuweTkJLdNKpXCHXfcgXnz5kGv16O1tRVXXHEF9u3bJ9q3//qv/0JbWxu0Wi3Wrl3L+dcVIhgM4tvf/jbmzZsHrVaL9vZ23HzzzfB6vdw2csaVPzZy+iLnuHLGSe5xH330Ue5l1cUXX8zNnZ///OdT2uHPue7ubllzuVD7UvOuEmNLIFQVFak1RCBUCX6/nwHA/PCHP5zprhBmALbc8v79+2e6KwQCgUCQweTkJAOA+eY3v8mMjIwwJpOJueqqq7jfP/nkkwwA5tlnn+U+SyQSzCmnnMK0tLQwzz33HBOJRJh9+/Yxn/zkJ5k5c+YwPp9P9FjhcJjZtGkTU1tby3zta1/jPt+6dSsDgLnggguYjRs3MuPj48zWrVuZ7du3yzqHYDDIPPHEE4zNZmO++93vTmn3r3/9K/fZyy+/zABgLrroIuaee+5h3G4388YbbzD79u1jGIZh9Ho9c9NNN+W0PzExwbS0tDBLly5ltm7dykQiEeaZZ55hnE4nc/bZZzPpdFryeGKficH265JLLmHuv/9+xu/3Mzt27GDa2tqYyy67jPnxj3/M/OQnP2F8Ph/T09PDzJkzh/n0pz89ZXxXrlzJzJs3j3n55ZeZaDTK9PT0MCeeeCKzZMkSJhKJMAzDMLfeeivjdDqZ1157jUkkEszExATzxBNPMN/4xjem9GfDhg3Mj3/8Y8bj8TD9/f3MySefzDQ1NTGxWCzv+YRCIWb58uVMW1sb8+yzzzLBYJAZGhpi/uu//ot58MEHFY2rkr7IOa7ccVJy3C1btkz5ngjHUmrO8ZGay/naF5tjlRhbAqHaIMIK4ajm97//PQOA2bx580x3hTADEGGFQCAQZhd8YYVhGObOO+9kVCoV88EHHzAMIy6sPPjggwwA5tVXX81pa3x8nDEajcyPfvQj0WOl02kmlUoxP/zhDxmTyTRFkDj99NNztqdpmkmlUtx/mUxGtF12u1tuuYVpaGjgPs8nrFx44YWibYkJK7fffjujUqmYHTt25Hz+P//zPwwAZtOmTZLHUyqs8EUthmGYn/zkJ4xarWauvvrqnM9//vOfMwCYoaEh7rN7772XAcBdO5ZDhw4xGo2G+fWvf80wDMOcdNJJzPr162X154orrsj5/J///CcDgHnqqafy7n/33XczAJh33nlHchu546qkL3KOK3eclBxXjrAiNef4SM1lpcJKJcaWQKg2SCoQ4ajhvvvuwx//+EeMjo7C6/Xisccew7e//W2cffbZOO2002a6ewQCgUAgEBRy6623oq6uDt/+9rclt3nuuefgdDrxyU9+EkDWpyGTycDlcmHp0qU5flhPP/00Tj31VFitVmg0GhgMBvzgBz9ANBrF6OhoTrvnn39+zs96vZ6rWKTVanP8X/70pz9h3bp1MJvNoCgKBoMBv/jFLzA+Pi6rgqDwWPl47bXX0NnZieXLl+d8/rnPfY77fbngV/UDgK6uLmQyGZxxxhlTPgeAQ4cOcZ8999xzmDNnDlavXg3gyHVpb2/H3LlzueuyatUqvPzyy7jzzjuxY8eOvH42n/nMZ3J+XrZsGQDpyoIsf//73zF37lycdNJJktsoHVc5fZFzXLnjpOS4cpCac6XOZTEqMbYEQrVBhBXCUcNVV12F1157DevWrUNjYyNuv/12XHPNNSVV2SEQCAQCgTBzWCwWfP/738frr7+Ov//976LbjI+Pw+fzQavVgqIoaLVa6HQ66PV6bNu2DYFAAEC2mt/nPvc5nHTSSejp6UE6nQZN0/jZz34GIOv1wae5uTnnZ4qioNFouP/YcrIPP/wwvvjFL2L9+vXYt28fZ+jJepUJ2xVDeKx8eL1eNDY2Tvnc5XKBoii43W7ZbRVCeBzWH07qc3asgex16e/vB0VRU65Lb28vt+19992Hf/u3f8Mf/vAHHHfccairq8MXvvAFUY8V4XGtVisAcL4vUkxOThYcY6XjKqcvco4rd5yUHFcOYv0qx1wWoxJjSyBUG9RMd4BAKBetra34wx/+MNPdIFQR1113Ha677rqZ7gaBQCAQSuBf//Vf8cADD+C2227Dd7/73Sm/r6urQ0tLC4aGhvK286c//QnNzc34yU9+kvO5lDmuVqvN+Zlvssnnj3/8IxYvXozvfe97stqVc6x8uFwujI2NTfnc7XaDpmnU1dXJbqsQUib9csz76+rqoNfr0d3dnXc7i8WCn/zkJ/jJT36CgwcP4pVXXsHdd9+NV155BYcOHYLJZFJ0XDHq6+tzjIzFUDqucvoi57hyx0nJceUgNufKMZfFqMTYEgjVBolYIRAIBAKBQCBULRRF4d5770V3dzf+93//d8rvzz//fAwPD0tW7WFRq9WiYsnjjz9eUv/UajV0Ol3OZ4FAoGIRs2eddRYOHjyIHTt25Hz+1FNPAQDOPvvsihxXKeeffz527949pZ/56OzsxFe/+lVs3LgR4+PjOHDgQFn68tnPfhZ9fX1550glxlXOcYsZp0KYzWYAQCKRULSf3LmstP3ZMmcJhFIgwgqBQCAQCAQCoaq5+OKLccopp+DFF1+c8rvrrrsOZ555JjZs2IBHHnmE81p755138PWvfx0PPvggAODCCy9Ef38/fvSjH8Hn86G7uxsXX3wxTj311JL6duGFF+Ljjz/GL3/5S/j9fmzfvh0XXXQRV5K23Nxyyy1obW3F5ZdfjrfffhterxdPPvkkbr/9dpxzzjlYv359RY6rlG984xtYs2YNLrzwQjz11FMYHx+H2+3Gm2++ia985Sv405/+BCDr4/K73/0O+/btQzQaRU9PDx599FG0trZi4cKFZenLzTffjOOPPx4bNmzAU089BbfbjUOHDuFnP/sZfvnLXwKozLjKOa7ccVJCZ2cnTCYTXnjhBQSDQdA0DYZhCu4ndy4rbX+2zFkCoRRIKlCRZDIZjIyMwGq1knA1AoEwq2AYBqFQCM3NzZxHAIFAIFQDKpWK8zAR8pOf/ASnnXYaGIbJuXdptVq8+OKLeOCBB3D//ffj+uuvh9FoxMKFC/H5z38eX/rSlwBkvdjcbjd+9atf4d5778WCBQvw/e9/H+Pj43j66ae55zm2D3LvjzfccAOCwSB+8YtfYOPGjViyZAnuuecebNu2DX/729/ytqtWq/Mei/V14eNyufDuu+/izjvvxGWXXQafz4eWlhbcfPPNuOOOO/IeT+65SfVLan+xz00mEzZv3oyf/exnuOeee3Dw4EGYzWZ0dXXh6quvxmWXXQYA+PnPf44HHngAP/3pTzE0NIT6+np86lOfwiOPPAKDwSCrP2LzhY/ZbMbmzZvxox/9CHfccQeGhobQ2tqKiy66CN/5zncUjauSvsg5rtxxUnJcm82G3/72t7j77rvR0NCAVCqF++67D7fcckveOSd3LudrX2wuVGJsCYRqQ8XIkS8JUxgaGkJbW9tMd4NAIBCKZnBwEK2trTPdDQKBQCAQCAQCYVZDIlaKhHWnHhwchM1mm+HeEAgEgnyCwSDa2tq4+xiBQCAQCAQCgUAoHiKsFAk/FI4IKwQCYTZC0hgJBAKBQCAQCITSIcn1BAKBQCAQCAQCgUAgEAhFQoQVAoFAIBAIBAKBQCAQCIQiIcIKgUAgEAgEAoFAIBAIBEKREGGFQCAQCAQCgUAgEAgEAqFIiHktgUAgEAiEKWQyGYyMjMBqtRKjYwKBQCAQCMccDMMgFAqhubkZanX+mBQirBAIBAKBQJjCyMgI2traZrobBAKBQCAQCDPK4OAgWltb824z64SV9957D2+//TYoisInPvEJrFq1aso2Pp8PTz31FMbHx7F8+XJccMEFU962ydmGQCAQCIRjFavVCiD7MGGz2Wa4NwQCgUAgEAjTSzAYRFtbG/dMlI9ZI6xkMhmcfvrpoGka69atQzQaxcaNG3HjjTfivvvu47br7+/HKaecgrlz52LNmjX4+te/jt///vd45plnuPAdOdsQCAQCgXAsw75ssNlsRFghEAgEAoFwzCInAEPFMAwzDX0pGYZh8Pbbb+OUU07hPnvuuedw/vnno6enB0uWLAEAXH755RgYGMCWLVtAURQOHjyIrq4u/PGPf8QVV1whe5tCBINB2O12BAIB8sBJIBBmFeT+RZADmScEAoFAIBCOZZQ8C82a8AyVSpUjqgDA2rVrAWQjUACApmk8++yz+OIXvwiKygbjdHZ24rTTTsPTTz8texsCgUAgEAgEAoFAIBAIBDnMmlQgMR555BHo9XqsXr0aADAwMIBYLIb58+fnbLdgwQK88847srcRI5FIIJFIcD8Hg8FynQbhGINOZzDsj2I8mIBGBSxttiOcSGLTx2NYPceJaDwNbyQOg5bCsD8Oh4nCggYr/JEkwkkaq9rsODQZxUQwiVSahkqjggoqWHUUJsIJdNZasHM0gNMWurD1kB86rRpMhkEilcGyNjuGPBFApcaCBgvMOgousw6eaBJggAabAQAwHopzP1MaNddv9nOXWYdAnIbdQMETSYLOZAAVgAxAUWrY9RT6vDG0OvQY8ifQ6tCjzxuD06RFi8MEABgOROEOJlBr06PBYuDaE/vXZdZx/Sg0tsI+svvS6Qw8kaTkz3LalrN9qcdR0g8AZW2bQCAQCAQCgUAgKGfWCivvvPMO7rjjDtxzzz2or68HAEQiEQCYEqZjt9u538nZRox7770Xd911V9n6Tzi6EC7oPdEk6HQGdIZBKEajq9EKOp3BhwN+tNYYsWckhD1jAVj1Oui1FD7s9+LDPg92DQdgM2rhCScQTWUQSaRgNWjRWRtGLEVDowJG/HG4gwnsnQginspAzTDQ6SgwaUCjYfByehwGrQrdQwHEUjR84SQYqGDSUdg24EMqnRVBBtx2HNfugC+aQiCWhAoqbnHe545wP7NiiyeS5D73RVOgNCpMhhIIxlLwRZJgwABQwWnWgk4ziKbSODARgl6rwYGJEOIpGla9DgZt9razczCAEV8czU4DQrVprj2xf4Ejok8+xPrI7uuJJOGLJiV/ltO2nO1LPY6SfgAoa9sEAoFAIBAIBAJBObNSWPnoo4/wmc98BjfccAO+9a1vcZ9bLBYAQCAQyNne7/dzv5OzjRgbN27ELbfcwv3MOgQTjj3iSRp7xkM50RcfD/qxaySI1hoj6qwGBGJJ+CMp+KMpUBqA0qjhCSewfyKMNMNgWasNdTY9NCpgfp0ZjTYt0hlGUcTKokZbGSNWtJwoBAB0rTnnZyD7//zP+RErLU6D7IgVts3lbXY02Q2yI1bkINZHdt9C/8ppW872pR6nmH6Uq20CgUAgEAgEAoGgnFknrGzbtg1nn302/uVf/gX3339/zu/a29thMpmwb98+nHPOOdzn+/btQ1dXl+xtxNDr9dDr9WU+G8JsgU5nMB6MAypgMpjgok3Y6IshfxThZAoMjJhfZ4YnqgXtPBKxMr/OjDk1RgDA6nYHLEYdOlxHhDyDjsKXPzFPdn9qraa8v187zwUAmF9nn/K741qdUz5r0eXeCljBiA+lUed8bji8j3BflmUt2cW+w5yNpFhpzo2o6KixoKMmdwzy/SsHqT6yv+NHdQh/ltO2nO1LPY7S9kmkCoFAIBAIBAKBMLPMqqT87du34+yzz8bVV1+NX/ziF1N+r9FocOGFF+Lhhx9GKpUCAOzduxdbtmzBpZdeKnsbwrFLPElj+4AP/d4w4kka48E452nR74mizx2B06JFV5Mdy1ptcJl1cJl1WNnmwLrOWpw8zwWDjkKLw4QOlwWddVasbHfCoKNgMepw+qJ6WIwkuoBAIBAIBAKBQCAQjhZmTbnlSCSCOXPmQK1W4ytf+UrO7y6++GLOwHZwcBCnnnoq6uvrsWbNGjzzzDM4+eST8eSTT3L1p+VsUwhShvLogRVO7AYK7/V6MeyLwmbUYk6tBZRGBacpK56wESsNVgMxCiXMasj9iyAHMk8IBAKBQCAcyyh5Fpo1qUBqtRrf+MY3RH+n0Wi4/29ra8POnTvx17/+FePj43jooYdwzjnn5AgmcrYhHN3wK6uwZqCToQScJgrpjBGdDWbO94OtuNLizJ9+QyBMN+WuOEQgEAgEAoFAIBCUM2siVqoN8iZv9iC2+BwPxuGLJrloFDZiRUlpXwKhVMTmphKxhD+PlXitkPsXQQ5knhAIBAKBUF58kSS6RwJY1myHkxQfqHqOyogVAkEp4VgS7/f7YNFpYDZoARwx+uRXVuGbgSoxSiUc/QhFjnJHiIiVYlZSnrncFYcIhKMV9kG21WHE7rEgVFDhpHmuGXuo5fdnyB+r+AP2dD3IV/I4R/tipHcyjBd6xrB+aSPm1klXqSTMLEf7PDwamO77q1K6RwLYtH0Yf35vALVmLfSUGj1jIdxweidOW1g/092TDfkuTIWsIglHFXy/lFf2TODgRBh1VgOO73DmLD7LXamFUBr86yYVNSQlagj3ldOGWatGnzeG+XXmvGKaUORQInrIIV/pZDliCZnHBII0vkgS7x7yIJRIYcgbgzeSRLPTiB2DAQCAxUDh1AV109YfduF88jwX3j7kwYgvhmanEZ5w9p5Sqb74Ikk8unUAw75YRY8DZBcMb+ydLOtx2If3cJzGB/2+srY9E0gJKC/0jOH5HaMAgBvPmD9T3SMUQO4cJ4vOmYO9Ri6LDsO+GHYOB3Dl2vaquQ7Lmu149uMRbO31gs5kkGYYxFIZhGN7sbzFAQB4ZdcYBnwxnNVVj1CCljWPpnvOVeJ+L5dq/X4RYYVwVECnMxgPxTEZTECrUWEypEKHy4x0hsHKNgc6XOZZk95DpzMY9kcxFopDxQAqBnj24xE0O4xY1mJDk9MEqAB/OAmrSQt/OIEMowbDpEFpKNiNGgx5Y3i/14vOOguaagwwUhQ6XAbsGA6hxqTBntEw2mosaLRnS4j7Y0nUWvRwmXTYNxFBNJFEOJnBggYLOmrMAMCZ97pMOgTiNMxaNQ5MZqsktdhNkmLHcDCGQxNhzKuzoMVuhCeaBJisMMHuw/e5oTRZryOhYCAlagj3ldPGnkAc0VQaALCsZWpJahahyFHuCBExYYSIJQRCcfAftADg0a0D+KDPi2CMhs2gxZq5Tqxf2og5LhNUUHHbTVe/3u/14LU9k+hzR6DVqNHiNGL90kbujWql6B4JYMQXQ4vTWLbjSD3Usu2Xehx+++zD++oOB85YVFf2sZruSBEpAWX90sacfwnVidw5rnTRWa0LRSVUS9QVe21aHUa80DOGEV8M3SOBnOswk1EtTrMON5zeCZtRi0SShp5S461DXrQ4DOgeyQr/j384hMlgAuPBOKyHo+6l5hF7LqF4Ch/2+/NuW06Kud+Xa47MpKiTDyKsEGYtQgPaPncEmUz2hjW/zoxAnMbyFntVCyrhWBJbDrqRohnUWbSodxgRitIY8EaxbzwEFQPsGg1g/0QYOkqNXrcDK1prwIBBNJEGnckgmkojnKChYhiYDVqYdBps7/ehzx3B+70eLGiwYH69Fd0jGngjSQz7o4jE0rCa/FjR4gQARBMptDhNsBgo7BkL4uBkBBoVA08oCcvS7A293xMFAwY+YwqURoU9gTjGAjGY9RQMFCUpdmwf8KFvMoKJQBLHtTsQiCWhgipHQGCFCn60iRApUUO4r5w2Wu0GLmIlH0KRoxpED2JYSyDk4osk8c4hN/aMhuCNJLnPh33Zh+XWGiOsei2X+jNdD/zCh92uRivOW0Hh5HmunDeQ5epP72QYT28bRrvTiLOXNHKLBP7Db7kWDlIPtU6zrqSHXLHolEr0n890R4pICShz6ywkUmUWIHeOK110in2nhGJLtYsv1RJ1xb9GV65tzxHcWdjxNuk02D7oQ41Zj387awEcJt20jPHcOgu+e94S7mfhi4HLV7dOiViRgj2XNR3OiojPUsj9LvDPrVxzpFwifrkhwgph1sEuLOlMBqE4DSC7YKZrzTmRENXmlxJP0tg7HoZRq0IonkatTYeDExH8c+8kPJEEWuxGdNZb0e4yocVhRINDDxUDnLawVnHESleDVTJi5ZOLXHkjVqwGLZY2WbmIFVaMoF2mnIiVVrsBBya1cFq0ecUOo16NBrueF7GiBRhIpmZJXTcpUUNsXzltLGupvocSlnziSbnTkQiE2YTw4ZMVLjZtH0WSzmDNXGfOg9Z0LUBYcYfv3SL2sFuJvvAjYjZtH0WdTY9Gh5F74C1V7BCjUg+1YtEpleg/n+mOFDnWBJRqiWKYbpTOW7HvlFBsqda39CzVGHUldR3YcR7zx/Bizxj63FG80DOG5S12vLF3EuE4DQYMInEaZgOFdfNqK/q3RNjPy9a2592e/7ew0uJzqfDnbbnmSKX/LhQLqQpUJKRawszBVkKx6ilQGnXVvbln05LAZIUFNjLiwGQEO4f98EWS0KpVaHIYsbjZhn3joZyIFYNGk5MmQzj6KBR1kq/aTzkiVsj9iyCHaponwkiGMxZlH6hY4YIBM6OGtFv2T+KRdwcAAJ8/qR2nLqir2NtlYbtb9k/ijb2T6Gq0YsAbnRKxMpuo9jfyYszGPpeKknP+9RsH8PyOUZy3oqksgtKxNN7FRqwcS2NUKr5IEq/sHseAN4JLVrVyESusYO+OJFBr1nP39WqBve+fsaiu6r1+qqEPpUCqAhGOKoQLSWFFn5noz3gwDprJgFKpp4ggbFqSCiqk0hnOy2N+XdbzhR+x0mI3obPOOu3nQJg+4kkaByYjOUa5haJO8nm5VEM6EoFQaYQPYvl8Nqb7YU3sIXFZsx0XrGzK8W4p9xs1KRPXan9bqYRqfQuZj2qPIiiGQgshJedc7iiGUsZ7ti3whN8Hud+P2T4npzMFymnW4bI1bTmfscI4AC5iRRidt33Ahz+83YdVrXasbHfi7UOeaY3KkhM12DsZxoObDyKTycZQVHIu5LtGs/G+XixEWCFUPcJF6HQtLFkTWV80hfm1ZgQSNHA4vqvfE4U3kkCNWT+lP/y0JH7EikFH4bg2R8X7TagMxUaKHJiMYNAXBXDEKLeQCS4RTwjHKmzaQK1Fh71jYQD5xYOZeFgTW7Q4zTp8ZnlzWY8jV1yq5ofWSi6IqiXFpJxpUdWy8C+0MFdyzuVOfSplvMspOFTLtRKjWv0n5FINKVCF7ul/fn8Ar+2ZwK7RIHaNhdAzEgSQFRDLfV8Sm2tS932hn8mOIT9WtDoqPhdmu5hXLoiwQqh6yl2JJR9CQ9zuoSBCiSQC0axhqwoqdNSa0OEyoaXGAEqlntIvSqNGi8PE/VzNXh7HEqzHjcNIocVpmiKOFCr5XKy3CWuQyzfKLZdwQoxsCUcbrLHdWV31MyYeFFqwV3rRIlXhYbZFprBlnkcqVOa5Go0yi0GsAhJQ+cVJPmGg0ByfSTGvlGOX87tb6FrNpPBSrusj5h01HQivUzUKRVed0I4EnZkSsSJ2X/JFknj3kAcMmKK8WuTcF9i/W3UWPfaMhQDkRotV+trJvUbVLEiWAyKsEKqeSr295y9KgezCmU5nEEocMcRd1mqbErHSYCX+J9MJm3oF1ZGxF7t2YuICf7sDkxHsGg3AqtfCoKMkSzFLlWsuVuAz6Ki8JZ1LgRjZEo42+A+C0xmFoKRqQbkXlUIhR6rCQzVHpojRPRLAcJnLPPOpRqPMfEgtKPiLpkouIKUioICpi7XZNtfkUs7zKnSt2PENxVOwGrSiC8lqX2R2jwSwaXv2XmgxUFyKTKXFlmJToKaTle1O/Ge7M+dnQPy+1D0SwN+2jwAAJoIJbBv0YVWbExeubJEcP/7fhUJzzRdJ4sHNB/HxkB+fXtKQY/w9XaLzsZKmVggirBBmnOl8686PSjgwGYGKze0Bsoa4BgpOk47rS4fLgg5X9vcWY/X90atW+Aa+7IKfL4SwHjVgAEo91aeG386esRC8kQQ0ahW3LV9QACApLvC3Yz1uHEYqbylmqXLN05mCJvf7MJ3RXISZJRaL4f7778fmzZthNpvx+c9/Hpdeeqnsfa+44gp4PB68+OKLsFiqtzLHTFVMqUTVArk8vW0Iz348iliSxjc/3VXWyJTpWLhJHaPSETblmCuVHh850SjCcarUYkN4/GqMAphNFLpW7LiG47TkQrLaF5li3lFiYgtLtQtF04HYfWlZsx0XrmwGAwYv9YzhtT2T2D0SQme9Bcua7Xhm+xDe3O9GjVmLE+bW4uzFDVME/nzzo3skAIZhcFyrA5esahV9KVHKtSnndT3a7ztEWCHMONPx1p01ELUaNYglM5gMJaBSAQyjylmUznRKBRudEU+nEYrSmOMy4uBkFIlMGpF4Gtv7vDixsw5Lms14+6AX/d4ouhqsgApY3mLFzuEQjBQFo04Nl1WLv2wdPly2WY0VbVZEEoAnHEONVQ+HUYd+dxgOkwFNdj1cZh16xoPwhVLocBkRSzFwmbWckMEvtSwUH4RCAN/Al/2ML4SwHjUqqOA8vJ/YtfdEklCpAJtRizqrfoqQILx2QoRGx/k8buSUfJ4OlHwfiBfLscNFF12EoaEh/OAHP8Do6Ci+8IUvYHJyEjfccEPBfb/xjW/gwIED2LVrF2ianobeVidyUx8q9ZZPrFT0smY72mvMqLXo0V6TTRcs5+K6Egs34RtrqWMUcx7TvTCr9MJWTjRKqddbrteM8PilHLeQuajUXHeadZL9PdoW5ez4+iJJWETMTwF5i8zpNHIVIuYzIia2sEh9n6r52k5H35xmHdYvbwIANNuNAIBVbU5OcP3ze4Po90agVavQ646h0W5QJPDLEbGV3utKSVEs1ci2WvyzioEIK4QZp1Jv3YVpIIO+KJrSBjQ5jKI+GjO5QKXTGQz7otg3HkYokUQ4noaeUqPPE8FkMI7hQByHxkNwR5MY8MewxlODtw54MB6MYetBDxY2WLFnLIRAOIlwksa8WisGfBHsHA4ikUihscaEvRNBqFVq+CJJ1Ji0MGq18MYSMGg1WNNRA6uBwtY+L7yhOOxmPRwmLVocJoQSaQRjKTBg4DNmvWb46TLA1IgRvoGvmPhBH/aoYSNWpK69VAUooaAgde1mUngo5NkiBYlCIQh59dVX8Y9//AM9PT1YsmQJACAQCODOO+/EddddB61WK7nvk08+iffeew/f+973cMUVV0xXl6uSmUh9YHPrQ4kUBr1ReCMp7ndsX85e3IBGu6Ei5qeVeDsofGNdrmNUypOlFC+RUpmOaBS5XjOVFOzy/Qwg53dS/S1V5Mon5swk+cZdzjWpBiNXPvlMXaW+T0KBsXskgFaHEUP+2Ixfo+6RAF7sHsP7vV4sabJV3EtGmEK0rNmOq05sy4lYUSrwy5lHSj1Q+B5fSu+TpQox1eKfVQxEWCHMOOVc/PJL2wbidE4aCPsvG40wk1EJwGExJRCFL5yC06LFzuEgBrxRWAwadDVZodNouIiVpZk0IvNrcyJWnCZt3oiVTy+vUxyxYtCri4pYAXKFAKGBL5ArfrQ4c38nxWyOyCjk2SLFbD5nQmV4+eWX0dnZyYkqAHDhhRfie9/7Hj766COceOKJovv19fXh5ptvxssvv4wDBw5MV3dnBL454OJGm+gD+0yEIL97yIPfv9ULOp2By6zH6jnOnOOXY8HNP3cAOYa35TRWlSotXa4Fe6U8WWbSS6ScUSFSzITXTCFzUbHvGvv/Uv0t9fuZT8zJR7UKMizFGrnORKSL1Hzn95m9Ti6LDp5w9hmd3WcmIluWNduxcziAD/u82D8ezvGSKcVwVi5Osw7XnDIP15wyryLt84+jxAOF7/Gl9D5WqhAz2/yz+BBhhTBtVMpLhS+m8EvbdjVaARyJdqiUgahc2PPXa4CPBgIwGzUY88URT6WxqNGG5S02NDuMcJm1OVVrVpuPLLI/teTITeaClVPFiUZ7bsjcN8+15e3T4qbcMTlxTq3odi08EUpMmDpahACpOVrM3C3k2UIgyKW/vx8tLS05n7E/DwwMiAorNE3jyiuvxHe+8x0sW7ZMlrCSSCSQSCS4n4PBYIk9ryxCQYGNouhri055YAcqv4gWC19mwMBmoDCvzoLV7c6ct6HljB5gjREvXNmcY3hbDIVCwMtRWlpKsGH/LeciZrbm9Mt96zsTvkSFzEWFP/P/X6q/pX4/84k5+ZAjyIjN1+kSAYo1chWLdHmpeww7hwO4cm37tKYV8fvMXhN+xIpUn6cDp1mHK9e2Y47LNMVLhr2vWg3aHPFnOgQXFiXXSOn1LOU+XGq6Dx/hd3emvNbKARFWCNNGpbxU+GIKPzJlptNABjxhHJyMorPOhHqrAR8O+OE0UTjkjqLXHYHLrMPSFhs0KjW6Gq0w6Ch0iOsahAohFEyk5mgxc7daPFsIs59UKgWDIXfeGY3ZPO1kMim2C+644w44HA587Wtfk32ce++9F3fddVfxHZ0m+KHKrJhy4cpmzhyQH7FS6X7wvUbEwpfXzauVrAhS7DHFHoTZcy81jF2YjlMOUUKsz1KCTakpIGLnPl0eJuVmtgpCM0U+MScfcgQZsfk60yk5hRCLcNk5nI0K6x4JFEwrqtS8518nYbszNeelvGTY+6pQ/BEKLpUUqJTMM6VzspT7cDnnfzVWfSoW8rRPqCj8hWulvCOEaT7TGZnCj0J566AH/kgKqzsciKcZ7Bjyo98TxXgwjrYaE1fG+YyFtbAZtJjjMqLdZSGlm8uE3BLMfISCidQcraTvyXRWxSLMTmpqatDX15fzmcfj4X4nxkMPPYT6+nqceuqpAACv1wsAWL9+Pb785S/jK1/5ypR9Nm7ciFtuuYX7ORgMoq2trRynUDL8h/whf4wLVZYSFMq9AGYfnPlvWYVeI2Lhy+V6YBTLe+c/CLPGiMW2yy4IhOk45ei/2AN4ORdQlV7gzlS+/9G02Khm5Agy+cSXahW+xCJdrlzbnpP2lO8cpOZ9JUUEJXO+0ilcUvdVMcGF9WnZvG8SJq0GF69qKdvfICXzTOmclLO9nKpvhCMQYYVQUYQL11IiSKQWoNMhprDVeqACGqzZ0sBsKWAVGOyfCOP13RMIxpMY8sWwbr4LixqsaLIZuYiVPm+ME3/OXHx0pM5UAuF1lpueI7cEMx+hYCIV5VTJ6KfpqIpFmN2sWrUKjzzyCKLRKEymbArg+++/D5VKheOOO050n+eeew6p1BGj1C1btuA73/kOvv/97+d4tfDR6/XQ6/XlP4ESYB/qtvZ68eqeCQDAlWvbAVSujK/Y8VlBg+8LIOY1Us6Ft5SYVGqqDyAt1FQiHUfsAVypaDCTBrSl5vtXc0UUgjzE5ut0CF/lnjtK0oqk5n21ROoUSuGqZMSNUHBho4H+0TMGfzQFg07D/S3wRZJ4efcYhryxogQXJfNMalupeVSMeXIx/TqWIMIKoeyUM0qFTmcwHooDDAAVEIpnoz4qvQANx5J4v8+HeqsWE+EUOmpMGA8mwIABpVZzhq5syeYzFtZCq1FxEStWk44TYFiWtRxbD1SFBBIpwUQoNMhNz5FbgplPJQQTpREopAoQoRCXXnopbrvtNvzsZz/DnXfeiXg8jp/+9Kc499xz0dycDV+enJzExRdfjHvuuQdnnHHGFN8Vt9sNADjppJPgcDim+xQUIebxsajRgvNWNGH90sZpXdCE4zQ+6PdxgoawkkWpXiNSx13WbM95Y1xuMUnMoBCoTDpOpaJeytl+PkrN969UyevZKtaU2vfZfO5KmUkRQ2reV0ukQqEUrhd6xvDXj4awZf8kLlnVijUdzopVIWKjgWotOgx5YzliVPdIAE9sHcJ4MI79EyG0OozQa9U4NBnFCXNrcOHKFkX9KWb+lzKPquV6zxaIsEIoG+yCkk5nuLSXYqNUuLYyGfS5I1BBhQ6XCU6TrmILUH5Uyt6xED4e8sMfTcJhyh5v0eHqO8KFMLuAPm9Fi2TbxfRlwBPGvokwtBo1xgJxNNsNiKbSqLHoUGvSYcAbw/YBP85Z0YiuBltJaSTsucfTaYSiNOa4jOjzxmA1UKBUKlCUOkco4pcSHg/F4Q4nUGvRo8VxxHS3kEAiJZiIjS//X6nt5JZgrjRKI1BIFSBCIerq6vD444/ji1/8Iv7v//4PXq8X8+bNw+9//3tum0QigbfeeosTUGYr+Tw+pnMRxT6Iru5w5FRGAMqbZrR9wIc/vz+Aq05ox8p2Z84DMP+NcamCh1AQKve4VnoBWMrDvdQYTBflWpiIRTABlVtwV0rAKHWuVEvExHSgtALQdMzxUqLNgPKl7BRK4Vq/tBHvHvTgwEQYj28dxGQ4gWFfjDPvLWdf2P5sWNM+5fNlzXZsWNuKtw64cXAigg8H/KDTGcSTaRyYCCOapPHuIS+uO3UuTltYn/cY7N/H4QIl6YXfXbnzSCzKpxojU6pZXCXCCqEscGkxKsBh0pYsgLCLU6uewpxaM8BkF6nl9qCIJ2nsGQ/BadKCUqvR74mCAYMOlwlgwEWsnNDhhMWYez6VTg95+6AXPcMBeCJJJNNpaNVqmHQUasxa1FkN2Dbox2QohkAshSvXteP1XROgVGpoNIDdRMGo1aLdpcfBiTiGvREsbrFBo1JhNBDH8XOdaLYasHc8BJVKDZdZi2F/HIcmw9BqVOjzRBBP0UinVbCbtHCatVykDts/tpRwvzuCYV8ULU4TDFqK26aQQCIlmAjHdSbSc0qBRKAQKsH69esxPDyMnp4emEwmdHV15fy+vr4eW7ZsweLFi0X3P+2007BlyxZYrdbp6G7RVMLjQ4xCC5FKCzrs8Z/6cBBv7s/65axsd045brGREr2TYTy9bQjxVAbRZBotTmNOpaRylwEuVTyohAGtMOpIrLzrdFCusZaKYKoUlRIwSp0r5X6DXs3llpUaieab4zO1GM2XslPJPs2ts+CuC5bi6W1DaK8xY02HEy/0jGHksHkv25dwnAYDBhPBBIb9MSxosOBTixvL6tWyYU07PrW4ES/vHsP+sVBOxMpLu8aw7XA6ppSwwr+XjcgoSS/87uabR1L3mGquylPN4ioRVghlwRNJQgUGDKOakgJTDMJokHLBTy1qsBlwYDKCPaMBWPU6rOxwZAWVwz4qnXXTtwDhCzwtDhNcZh1O7qxBrVUnGbGyqNHKRay8c8CD1/eMwxtLwaTVwKxXo8Fmgt1Eoc8dRSCSxPZhP4yUBql0Gt5IEktb7Ng7GgKjYnDSvFp0uExocOglI1bEUmzsBgpWgwaNDj1qLfqcbQoJJNUqjJTK0XpehJlHr9fj+OOPF/2dTqfDJz7xCcl9a2pq8v6+Wqi0oMG+kasz67BnPCy5ECm3oCNmEvvG3kmsanNCT2lw1QntZTkue37eSAKv7JqAw6TFp5c2clEOlTKLLbXflXhQFkYdiZV3rXbKHcGkhEqlAJTa93Kfu5xyy0Kq7Y05e43yzXH2PMNxGhYDxfW90lWv8qXsSH3vyzW+c+ss+Oanj7yEEJr3AuCqyx2aDCMQS6HJboA7nMSyZhv+8tEwVrXaceGq1rJE2IhFtMyrM+N3W3px3alzp/xOKA6v7nDgnGWNBcdFyXdX6h4j1ZfpnvOVEPIriYphGGamOzEbCQaDsNvtCAQCsNlsM92dGYOfEhKI01VX2UTYPzqdQZ8nm1rUWW+B3UDlCBrT3Xc2BWfveAij/hgcRh3WzK1RvDB3h6J4Yutw0RErS5qspCTwMQS5fxHkcLTME/6D2aNbB/D8jlGc2VWPE+bWVCx0XliKmX14PWNRXdnf1Iqd38mdLhi0arTXmHH24oayelkU2/d8+xXTZqF9qm3xWwxHwzlUO8VErGzZP5nzfS7UNnufmal0NH5fWMNqtu+/fuMAnt8xivNWNE1b9Z9Cx2DHd02HM0cEqlQf3jnk5iJWGDCIJzMY8EaxbdCPRrsB3/vskhmJjGDHYXWHA1aDtiLjIPe+LPwbNl3I/a5VEiXPQrNqJcUwDF566SX893//N/bs2YOHH34YJ5xwQs42P/jBD/DYY4/lfLZw4UJs2rQp57Pnn38eDzzwAMbHx7F8+XLcddddmDdvXsXP4Wij1IomlSg1y2+Tn7JCaVSwGo6kFrHHXNnmLMtx5fZt2BfFRCgJtYpBrVWPYV8cKoZBk8OIzjpzUSkktVYTbjxzgejvlrdK77d6jkvxsaoBYeQRIK+8ciWJJ2kcmIxwlZ8IBMLMICVqALlv5Ni3s5V4SyssxSx8w1ZqeoiS8ytHu+WI5imnAa0cr4FyVh6aKarR3+BoQ065ZSFy35gLU3RmMlWHPU9fJMkt0oHC1X+EES6V6JMQtm+heGpK6hD/HlUubxS+CTl7HRiG4SJW+Nc5m2Y5DJdZB5NeA6teW7a+CClXBGex5uL8e/Z0RInMtugUMWbV0/9tt92Gjz/+GBdddBH+9re/IRqNTtlmbGwMHR0d+M///E/uM2H5yL///e+46KKLcO+992LdunX4+c9/jlNPPRXd3d1wOqdvkT1bKUfVH3YRajVqEEtmAJRuNspGf0yGE9CqVTn9mumImniSxt7xMBKpFPaMhTEaSMBp1OKEzpqc9KNqivaZSfhGwi5TViCjmQwo1ZGKTKypMTtmM12y+MBkBIO+7D2p0uW/CQTCEcQMYKVEjXKWRGYf8iOJNMAwMBsorJtXy5kFCksxl7JAFr45rMT5FRKDSqUcBrRWPYW3D3lQZ9bJ8hqQ06YwPQuovrz9o5VyR0VNF3K/z8IUHTmpOkBl/UeEfS9U/UcobrBU0jBXSgQS3qMq8T3lj4+Y58kLPWPYtH0EekoNm1GLWoue64svksS7hzxgwHB/C+Qidr3F5tl0VgUS/m2p9H2xEmmm082sElbuvvtu6PV6DA0N4cYbb5Tczmq1TjH24/ODH/wAV111Fb71rW8BANauXYvGxkb893//NzZu3Fj2fh9tCKNUilnIsovQprQBTQ5j0UafrDeJ1UAhFKcRimVNqGrMek5EYfs3HVEE/KgFANg7HoZVr0afJ4ZRfwx0hoHVqMFxVjvqrDp0NRz9KTh8IQ44EllCpzM5ER7CSCPWSNhnTCEYS8EbSaDGrAelyfq90LzII5aZNIxlrzn7L4FAqBz8h8s/vz+AV3dPADhiAFtOUUPsmOxCfNP2UbjDCUAF1Jr1sBq0nFlguUoxi1VKqsT5ldpuJQ1o2fSFUDyFnpEgzuyql+U1IKdNIPsQPxvejFa74KAUqQXf0SJy8ed8oQg54fyb6TGQEjdYpAxzyzlHhfcM4T1qJli/tBGxZDonYoV/zf62fQSpdBp9nqii6kNyrrfcqkBC5Nzb5Ao7lWQ23IMLMatWdMLIEyneeustHH/88bDb7Tj11FNx6623wmLJ3sjC4TA++OAD/L//9/+47XU6Hc4++2y8/vrrRFjJA9+vBChuEcu2MafGCABFp02wAkaCprF/PIR0WoU2lxE2gxZ1Nn3Foz/Y47c69DjojgJgsKjeivf7fRj1RUFnMqDUauwaDSCdZtDiNKLJYcQclxF6HTVro1OEZZm7Go8IQ2ICilmrxocDfjhNR64xK8pNhhI5ER58wc5l1oE+HMnDRqy01BhAqdScYNbiMOX0rdRIlVJTeQw6Km+kSiXS3giEYxGh0MAav/INYMslavARPviyD/n8iJVyPhByRrsW/ZRKSZU4v1LbLddCUCyvf02HE2csquMiVkox2hS2qTQ9q9Jmn/mY6cV2uZFaSE3nAqvQ9ZwuMUtMROD/WwhhP8vV70LpOsIonErO0Urd+5SQNcRdJPq7Zc12XLiyGbtGgxgWVB86MBHC7tEQF1nJwo/84d+PxOgeCRSM1FMikIjda4GZu7fMtugUMWaVsCIHh8OBW265BaeffjqGh4fxve99D88++yzee+896HQ6DA0NgWEYNDU15ezX2NiI7u5uyXYTiQQSiQT3czAYrNg5VCul+qnktGHSFZUuwS5ORwMxjAbiqLfq0dVkh9VAwUBpKlKSGTiSyuMwUmhxmrBnLIS9Y0HsHVPDE44DjBrheBoqAAzUcJq0aLAakM4wsOrVisUUfySOF3vGYdJpsLTVjgazHrvHwhj1R5DMMIgmMqi3aHFoMopGuw4Osx4j/hjMegoNdgNaHMa8ZrzxJI2e0QDAqLCowYKRUBzb+/1Y2WZHsz1bEajVoceQP4H5dWZQGnU2HSedQb8nypVlpjRq7jry5weQFVD2BOIIJWgAwJLm3MgSVqBjIzyElaBanEeEk5ZpiOqpdCpPOb4/BAJBvCQz/0G1Uoj5pJQzKuWV3eMY8EZwyapWzK2zcKUvz+yqw7lFRmewbb9zyI1InM5JVyo35VoMS+X1s32We62lFpal+hbMZEnSUse42iJepBZS07nAKnQ9Z2rBqXQMhP2sdL/FonEA+XN0JudipdKYnGYd1i9v4jyq+GPwlw+HsGW/G0D2HsamsC5psmHQF5tizlrIb0Sqv0qu+3R7qBwLHHXCyr//+79Do9FwP69Zswbz5s3D448/ji9+8YtIp9MAslEqfPR6PWialmz33nvvxV133VWZTs8SivVTKUcbbKSEO5wEpQacJi0otboiRqFikQsHJiPYNRqAVa+FQUfBadHCrKewsMmKUMwMNmIlkKCxsMHKCTzHtTmK6sMb+9x4Y88EMgwQjNFoqzFha58X+8aCCMVpqFRAOp1BPJWBUUvBZqQQSqagVWvQWW/FqnYHRnxxHJgMI51Oo8NlRSAWRzCWgcuiRa1dj4/7/FCpgHCCRs9wAAcmQ3CHE1jabEc0lcaBiRD02ux3qc6qhy+ahNVA5ZRl5qe9iF3bVrsBfd4YJ84AR0QFvijD/lwuwaGY6JBypfJIHbsc3x8C4Vij2IfLchxHSLkXe9sHfPjD231Y1WpHvd2Ax7cOwh1OwKijcOMZ80syouXDpSxFEjnpSuWmnClJ7L+ltFlu812WfCVJlaJ0cVlKOlW1vJWuNgpdz9my4BT2c6b6LXeOzuRcFEtjanUY8ULPGE6e50IoQZf090XMENmqp6Cj1FxkJZvCmqDTuHR1m2SqFbu/WLti5LvuwvtNoXtttQmxs4GjTljhiyoA0NbWhjlz5qCnpwcA4HJlq6C43e6c7dxuN/c7MTZu3IhbbrmF+zkYDKKtra1c3Z4VKFn48s1H+ZEaxS6eWc8NOpNBjVlf1tLIXHoLnUYoTiOdyWAilL3Rsgv/+XVmpDMMHEbq8MJYBwNFTVk8W4zF33j4gs4ZC2sRT6VzIlZMOgoL682yIlb0Gg3eOeTGWwcmkUxlUGPRI3n4/NqcZnz2uGasnuvkIlaanAbU9uvzRqwAyCtUCK8t+//LWipzMxYTMNjP6EwGoTid049CFErlkYtUZEo5hSMC4VihkmZ2M7XgZFMPdgz58dYBD3aNBnHL2Qtx+do2DHgj3AJPylQyH1JC1AUrm7iIFSULrVLMGIulEgJNOSnmugDi16ZS805qbs/EYjtfOeNqWLgVup6ViJ6pxHkL+1mqCFfp61FoLvLvPYsbbWWNLBFLY2JL1fe5I7AatADK+51c2e7Mibbjp7CKReEV+10VXvd8f+fE5gg/NW7IHyNCrEKOOmFFSDKZxNjYGOz27MRsbGxEa2sr3n33XVxwwQXcdu+88w4+9alPSbaj1+tle7wcDZTqN8E3H6XUpS8o+Z4bpfqTsKV6E0kavhgNgEEkkcagJwaNhsGCehvanKacyAWDjpoSfVLuRbIwFeWKEzpyfr92bg2AGllt0ekMrEYKdqNONGJl3byaHBFooVGHhfVHarOzYojDPFUomU74vj6BOJ1T3UlMwGA/s+opOE26skeHyImEIZEpBEL5KOdCUJhuw39orNSCU2yhwqYeHN/uwJld9VjVai+pXGchgaiUlCXWjBFAUZEu5V6oKWmv2vL1xa5NKfMu31jkS6eaqegAlulMV6lW5BqVTrfolK9fQpGV3b7Y/hWai/x7T19bdEqZ6lLGRyyNiRW0+RErLJW4FkKhJV8fS+mDHGGV3zY/NY413632aK1q4qgSVpLJJL7//e/j9ttvh91uRzwex8033wyaprFhwwZuu69+9at44IEHcM0112DBggV46KGHcODAATzxxBMz2PvqolS/iRzz0RJMbtkFrNBzo1jiSRrv9XqRYRgM+2KIJlNotJnQXmvCSfONCMXpaanUI7ZAL2dVGUqjxsIGGxY22ApvPINICRXCyJPJUAKURsX9C4gLGEKflnIjxydFLDKFGNcSCPmRiowo50KweySQk27Df2gs53H4+fsv9IxNqeBQjhQfqbeK5fbgYM0YGTBFtVnuhXOp7VVysVqobbFrI2feSbWbbyxmWkyR6ovUZzO1cMsXTVNJ5Jy31PWtZJ/z9UsosgLApm3DePbjEVx1QnvJ6TNifWHvPfyIFX5/+Pe9UschX+SS8Fr0Tobx9LZhuMw61Nv0JUXzyb0nyb33KU33EbbN//tU7ntHNUSoVZpZJaz89a9/xcaNGzkvlKuvvhomkwlf+9rX8LWvfQ1arRa1tbVYtGgRtFot3G43lixZgpdffhmdnZ1cO7fffjsGBgawbNky2O120DSN//3f/8WKFStm6tSqjlIX+cUIIWwkCRgAKihO5ZBqk7+gPTAZQThBw6jV4OTOGvhiNGoturKmFuWDjQSyGjWIJTMAkFMOuhKmqTOJMOKEvQ6ccJLOcOa2/OssjDwRi1gREzAqnW5TbDSKUuNaIsQQjjVKjYyQgv8gt6zZnpNuU86HRtaIkF1gsPn7YhUcik0lYfFFknhw80HsGPIDQMkCUaFQ8fXLmwq0kEWsukq5IzJKXYhXonIR266wfLOQYuebVJ/zjcVMiyl8xPwmpH433UhF05TTb0OMUrwy8kUAsRRrzpqvX2Ii67Mfj3D3IWH6TKmLaOG9RyhC88en0pFPwmvxQs8YNm0fgZ5SY16dBVaDlpszSgRzYYW7fJV75FQNAqbeL+REvgjFl3KZcguPdSxEqM0qYeXMM8/EM888M+Xz2tpsSJpKpcI3v/lNfPOb38Tw8DCcTidMpqmLe4qi8Jvf/AY//elP4fF40NraCq1WW+nuVz38xdx0L/LpdAZ7xkLwhuOgNBp0uExlSeUQLmj5glGlo1KArJCyazQEOk3DZTWg3xNFLEGjxWlCk8M4a9NF+CIYPw1HKHyw48+PNGmwGY4IJwbxlB2xyBP2epV63UoRLfIJN/naVSrIyBViiABDOFooNTJCCuGD3GVryuONJoywYY0IAWDj+sUAULaKE2xVHxVUXLUJJsNgRaujKIFIrL1yRLyIVVcpt/lsqQvxYs8v3wIBgGj55mLbltvnmRYljgakomnk+m1UqroMULjMsVgEEIuYOWupc0VMZL3h9M4pApSwD6F4ClaDNsdXh3//KYdBbL7vdTmiJITXYv3SRsSSaS5ihT9ngKzYzRdepXyqhBXuxPrOCi/nLGuUdQ0L3eMq6VtW6FgzHaE2HcwqYcVut3NeKYVoaWkpuI3NZoPNVt2pEtPJTJWDZUWVDMPAbtKj1qJTXDZZKjJCuKCtpGAUT9LYMxaCnlJjwBuDWafGaDCOiUAcMTqDJpsRzU4DLAYtuhrzpxux52PWqrF3IoRYIoNALIF6mwnLW2xlF4XodAbDgSh84RTXNzqdwbA/Cl80hVaHHj0jYaxud8BizPqb9LkjUEHFXScxAYUdd/51AQqn7FQy8qTUeS4lZuRrV+n5yBViSAlnwtGCksgIKSoR4SCFMMKGb0QoVYZUCfzFBwMGm7ZnH9gtPPPZYhcKbJUgqfbkPGCLjXU5q+Ww/eH/Ww7KFTUitbgt9nrke4s7GwWU2RLyLxVNk89vg08xAkY5IjmkIoBY2P7yBZ9KkC/6jj1mOE5P8dUR3n/KLXzwEft+lXoN5tZZ8M1PL8r5jH//Ewqv7N+KiWACu0aDnGGt2L1cmOaZT3gRo9D9YjrFDeGxjoXUIhXDMMxMd2I2EgwGYbfbEQgEjhpxRunb71LflvN9NPyRJBio0NVoVdwW65viNOugVqlAaVRwmnQVXWjS6Qz6vRHsGQ1Co1ZjZZsVL/VMIsMwmAgk4YvGwTBAm8uY9XCpMcBlNcCg1eQ13xWWlXaHk9g7GsQhdxixZBoNdgOcRh3MRgpznEaoNRq4w3FE4mksbrJi33gYDpMOve4w5rrMmAgnYNJqkGIYfGpxHSLJDNzhBAwaNbYPBmExabCs2Q4DpcG2AR8iCRpLWxxY1mLHeDCOD3q9CCWSSNAMUmkGC+otOH1RveyIlWqkmHnL34cVM4RzrNLRI/mqICk95tF4/yKUn9kwT8TSWM5YVFf2qkHCh7ZyVsvhH8cfTeKFnjHUWnR4bXf2wZyN5FH6hleq/+V4Y7xl/2RZx7oYptMYdya9WWYjcueH1LmLpZXJ3Xc6KSZiJd/YyDnvSlPp75VUxBw7HtPxvWavwZoOJywGirt+5YwyFItYealnDG/u9+CsxfW479LjRPf99RsH8PyOUZy3oikn8qWSc7wavkvFMF1/h5Q8C82qiBVC+REuzJSIEaW+Lef7aNRaDYoXumw558lQAuF4CgBw4tyanMiIciJcXL97wIutvR4Y9WrsnwhBq1JDp1PjgpVNXMSKUa/B0iZ7wQgTVqgY88cx7I/BaqBQZzVkI0QMGixptiMQS2DYF8fOoSDc0ThqTQaYDCpM+BOAGnj7oBvpDANfNIFMRgW1ClCrVUik0mhwGJCkM6g16zHsi2LIF8OgLwotpUY4msYZi+uwvM0OXzjFpUu5zDosa7VNiVgBDnvoOHLT7PheMeWA9aOZU2NEIEFzIk6pokUx0TD8uS4VTVLOKBsxwUTs+0ZKOBOOVdgHQb6vRbnfxOWLJChHhA2QXUj94tV98IZTuOrEdvR6Inh+xyjO6qrHBSubShI/pPpfSpUgFqVjXYmUiXIb2Ra63pV6cC8mlavaF0Fy54fUmIullcndlw9fqGDbLadoUUx0Wr6xkXPelabcPhhiZaD59x/heEhFmLy8eww7B/3Q6zT4/Akdssdb7PvFHisUT+VEHJl0GuwfD+OClU1YN6+2LFWHAHB/K5rtRugpDRfhKIaYeawvksSW/ZMV+87PVu+TakwtIsLKMU4p4kgxRp78BWOxFVw4P5ZIAhq1Cq1OIyi1hfNNKWVhH44l8eGAH8e12pBIQ3Jh6zLrcNL8GjjMFBexsncsyqXKLFbwJY8ns2GS+yaCqLfpYdBQcJp1XPTO6g5XTv82O93wRBNFR6w0OvQ4Zb4rJ2KFjaLp4FVzpjRqdLgsYA9/+qLSqzJJISYksJWpPOFsehGbdjQTQoJwrpazD2KlzcW+l6SMM4FwBPZBkO9rUcriVywCZToe2l7oGcNH/X4YtBowYIquGNQ7GcZftw2jtcaITy1urHj/lVazqYTnQ7mNbIsVi6Zb4CjnIqhS5yD3uyg15nLSyuRcL75QASCvaDFd1zPf2ChNp6tEn5V8DyrhXyJ2/O6RAJ7YOoQDEyHoKQ1qzHqsX9pYtFDGFyxY49khfwxj/hj2j4ehgmrK96wc5yossSzWplh6VaHvfDF9Exq7A9UlUMihGtMkibByjFPKYq3UN/8NNoPs/YXRIioVYDNoUWfT502tkQu7uB0NRNHvicEXTaKrycb1E5i6uO6ss6Kzzsq10WhXdmNn04k275vEiDeCYDzrw7J2bo1kZIbFqMN5x0m/aTx+jkvydwBQC6DDle3n0lZn3m3LhZwUFjEhgY2c4UeszJSoUElBR6y0udj3kkSnEAhHKNVnRIhYVaJyPLQVKo2aNUGk0V5j5gSdYt5Uv9Azhk0fj6DWokeT3Vi2/peCmCmuXM8HOQuFchvZKm2vEhWG5MzlUhdB+apATTdSYy6ncpac6yUmVEiJFjM9FoDyimGV6LOS78F0HX9Zsx0b1rZyESusqFJqdI8w4sgXSaLRketnIoykYc14Wx1G7BkLFZUOyn4Hw3EaH/T7AOQfv0LmvIUqC4khvHbVJlDMVoiwcowz3Ys1pUIOmyIzGUxAe9gUtdhIF36bQj8QdnHrMumwoF6TE7HCUu5Ujz1jIWwb8METTqDOasSJ88xYN88Fi3H2RSSwwlSrQ48+TwxOixYtdpOkaCL8TGxe8I2G5Y6JlIlxOaiUh4pYaXMiohAIWaT8QEpZVEuVBS5XVSI2+mU8GMe2QR906iP3C+EiJGuC2FXUOfAjVNYvbUQ8mUZrjXyTQ7avlXpLL2WKm88z4+XdYxjyxtBaY8TesTCAyi1yZ6rCkBCli9NS+12uKlBymcnUJaFQkW8BPhvf2pfS53Jcl+mKbnGaddiwph0b1hxJockX3cP/u9FkN+DtQx5ZkS35jIGFZrwuiw47BgMAwFU9emXXGAZ8MVyyqiXvsdjv4OoOx5RKYmLjJPadZ/+O1Vp0BQ1uK2nsXux1nQ0pjcVAhBVCQUpZUAr3VbpgHA/Fsa3fB7M+6zlSbCoG36+jzxuDCgwmQyqugs10lWHmG/aqwGBRgxUtTiNO6HBWraDCr1DU541hfp2ZE0zYz5J0VgA7MBFCIpWGWU/BQFGSoonwMyXXVDinxIxlhdWJyoGctLlivivCSlWkhDKBkKV3MowHNx/EmD8Gk14Li4EqS2TA+71evLYnWxqZXxa4VM+U3skwnt42jHiSxkF3BIPeGGKpNE7udIm+AVXaNl8MEotQuUVQpUKKckYs5Hs4ViIAsG9d/9EzBn80hQuOay6qdHG5kGMiWq6IoOleHEsJXpU4FlAdkSBymK4ILzEz12L9h0rps1BgK+baliO6pdh5lS+6h195yGak0DMSBFCabw0/fYg1vJ3rMnNifPdIAI9/OITJYAKxVBo1Zp3k/UMs4pIvlMgRldmInbO66nHussa841eoxHIpIkex3+/Zcl9QChFWCAUpxoeFExDSGYQStKJ92bLFTosWyAB2ow5WA6W4YhBbQtgdSsAbSSFJZ+AJJ1Br1YNhVJhfZ86JaqhUGeZwLIl3DnlhN2rQYDcilspwhr2LGqcuntkyx+5wAg6jDrFkGm8fdKOzzgSrUYcGqwF2I4WPBgOoNWmx3x3BWYvq4DArExD8kThe3TOJuS4TDrojWNlqR1uNGeOhOHdsg04DMEAoQWNPII5oKg0AqLPq4Ysmuc/qLTq0OU05ESv5RJNSIjKE81HMWFZY3rkciAlEclKa8iHXpJZAOBZ5oWcMO4b8WNRoxblLm0peeLIPcl0NFpy3oqnkssDCh9EXesawafsInGYtTltQh9MW1METSeCSVa3cw6pSk9J3D3kQSqTw1gE39o6FAGQXB6VEqPDDxotd1CsNZZfan28cO+KLYc2cGpi0Glxc4I2vWBvFINVGKWkGSvslZ3EqJfQUszgpV8lpuVRbJMhMvykXjmMh/6FK9Zd/XaQMY8tV+Ux4PD5CgafUimVsO6z5Nz9ihQ8b1RJJpGHRU7KPJxV9t6zZjstXt2LAF0M8SXP3jyvXtnOReOx9Tew7yBdKpERl/lxQ4sdV6Duo5LstnI/Ffr8L7TfT39NiIcLKMUSxb8KL8WHhKv4YKDhNOkX7HpiMYO9YEGY9hVUdTixstCquGDTsi+LgZAT+WBLuYBK1Nh1cZj1WtzsQSWW49sodncJWK4qn0vBHU6i16XBwPIJ3ez0wajU4e0kDmuzGvOczHoxjyz4PQokkrHod9o2FcNAdxNY+Dboa7FjUZAOdyaDPHcaQNwZKo8aBkRBUahWWttgQTdH45KI6eGM0Pu73Y3GTFeFEBv5oHE1OE3YPBzCn1opBXxjbB/14bfc49Fo1JoMJnLaoHv3uCIZ9UZj0WsytM2FOrRlOkw6tdkNOxAqAnM/YsVypUOBhx03u3BTORyljWeG1LTVNSEwMkpPSlA+5JrUkioVwrFDsgyMfdhG6rNmG53aMIpNhAFTGl4X/MJr1S0mj3WnE2UsaS1rsv3vIg12jAewaCSEQS8Gk02BFq4Mbk7l1FlkRKuxYnDzPhVCCRjhO54SNy11kCxdZ+ULZ5ZDPOLbQuIlVhCpW1JFaUMg1ERWLNqhEFJCU0DOdokWxx5pprx8hUiLCdC3ihONYyH+oUm/2+ddFyjBW6DsFFF/hS2oeCAUeNtIEACwGStKfqtCx+JWH+Iax/PPbtH0U7nACtRY9d6xS0pUuW5tNVeqdDMNpyRrsssa77nACBp1GUqiV8/dOOBfkir6FvoNKvtvCPhT7/S4UMTNbI1pUDMMwM92J2YiSmtbVwngwDl80CadJV5E34WykhS+awvxac46AoQR+xArr0yHn2OPBOOhMBv4ojT53BOEEjXqrHjUWLWoterQ45LUlB9b7BQxg1qnx0UAArS4jovE0gvEUBjwxxJIpNDmMWNxiw6HxCOxGDVa0OiXFHHbxHKdpHBoPI82oMLfWVDBi5fV9k9g1EsCQNw6dRoW5tWYc1+FEJE7j4EQIZoMWarUK8VQaNJ1BOEmj0W7EOUsaMRKIFYxYKYc5cL7x40edVGpuAkfmP51mQGlUZTlWqYKH3P2lvrvFHn823r8I089MzJMt+yfxxt5JnLGoODM9XySJe1/YjR1DftRbDZgIxbGi1YGN6xcXtWDK91azXIsxYTtb9k/ikXcHkKQzWNpiRVuNCVa9VtEbXLbNrb1evLpnAkubbbAatFjd4eD8AOS0xY9MYRdZnz+pXfYCRGqMlIyd2PiwFaHYxZCSc2EFGVYQKsUfgG2LjTYopU0Wse+AnNQkgjzE5l4p951KizIz9eZeKmKFHSv+nC/XwpfvjcKA4b6nAPBi9xhanEZcubY9J4Wq2HERu7ezi/lFjRYMeqNorzHj7MUNJd/fhRErhfou5S1WDVEcleiD2PevGs6VRcmzEBFWimQ2LUwqaejJZzwYxwe9XoQSSSxrcVYstUaMYV8U2wb8yDAMHEYKZj0FSqPBogZL2aJS+GVxA3EaByZCUEGFiVAcfe4IdBo1lrc6YDVSsOopLmKlkDgkTJuy6ilQGrXs6xRP0niv14P3DnoVRaysbLNPi5+M2HmMB+Pc+HXWWzh/lFLnZr5jKvkeiJVALuXYpSLVdrFi6Wy6fxFmjpmYJ6U8TLGeLMFoEjaTDp9d0YTukWBJi1FW5GDfan7+pPayvj3jp+acs6yRy+EvJgRfLBJjUaMF7nCSi1hRKoSwD7yrOxzcYkdJn4pdsIqdC9uG3DlSLkEm33mxbRXjjyG339O1r1KqaeFTKqWcS6li8GxDacRKsaKgsKKa8D5Zzu+z8Jhbe72ch9U3zl6Qc9+x6inZZrhS7bMplGJzhv2b8GGfF1qNpqS/ObPlO1rt/VTyLERSgY4BKu3ZwF+wLmu1ZSNWeBVOKkU4lsT7/T501JhAUSrYDBqY9Vo0OgwlRVlILcD5ZXG7Gq2ga80AAyxpsuAjgxatLiPMWkqyVLLUsfaMhaBSAQ6TlkubUtJ3g47C6YsacPqihpzPa63AwvqpN4DjylRmmYsSYjKIxtPYNRbEKZ1OuMNpTnySmncus44bv2INicXIN9fzpQkJESuBLKRUfxUlSI1PKeXSCYRqpJS0AdaThR+hctrCekVtCEUNNleffatZSsqF2AKjeyQwpaKDEiNdfptD/photRclESGlpOiIoSTEXM65APLnSLHnIuchX6ytckWSlMuQtNyLfDFfnJkM1S/nYqyUMS/Vp0goUEzXIrPY48ip8MVHmMYmV2gRXpMr17bnCC3sv6F4qmzzkD1mq8MIBgzaa8w5qUhv7J2EJ5zAB/0+fNjrxdx6MxY12GRFtbCCybAvhlPmuyRTKNm/CUua7VjSZCvpb06lvqPlnqPVli5YCkRYOQZQsvgq5k09f0HZ4bKgw1V4n3JUGuoZCeDjQT9GfHF8sqsOi5rsRUcLhGNJfDjg5zxYxCrL8CsHURo1Whwmbv8zF8tfSNPpDPp9EfRPRjHHZcy+A2RUFUm5KQXW/HfEG0U4mcG6uTVc5aJslIwXDAOEEyn0DIcQSiQw4o9hfr0VQFZ8AsTnnXD8ykW+ua5kzomVQAamRi2V4q9SDkhZZsKxjpQnS7Gh4Y9uHcAHvT7oKDXnK8DP1VfK9gEf/vB2L1a1OeGJJPDanuxDLpsbX4xwwQ8tj6bSeOegB0B24cFvq5hqHcWKGFIo2Z+/AFNyLlIP+UrPRYl3y0wsBJQKPuUmn1A1E1TLorFUM2Chaa3wvColtMit0lPq8YV+RUKhRW77wnHmV+lh0xuFsPfK/eNhLGywyk7rmVtnwTc/3ZXzGdv+gYkQekaCODgZxs6RINprArDoKTBgEInTgEoFs17DRfaxaT27R4MY88cxt96SN+qvnF5glfqOzrSoWs0QYeUYQMniS86behZ+ZAcgb0HJN5atteoBKH+7zwo5HTXZhXlHjUlxlMh4MA6owIkZHw74sX8iW97slPm1AKZWlhGWxVUKnc6g3xvB9kE/fOEEwolshZ2lLVMFIVbUGAvEkUkDOkqFpc3lTd3hCw3xJI33+3w5UTeeSBI7BwP4sM8LtUYNnUaN0xdl3/4emIwgHE/BqKOwvM2OzjrLlIiVUhf9xYhv+Y6pJKJE6loLo5YA8ZLRxGyWQKgc+SIslFRwETNkHfHFsKzFhq4ma1miU3YMBfDWATd2j4TwldPm4bwVVI4hqhLzWFZMaa0xcmaIn1pcz1U4ktOWWO6+8EF+ph6UhcKYVD+Eb/qlhBA5bYiZJa7pcM5oqWcp5CxmKnn9yi26lbs/5YId51A8NcWPqJwih5RprfBfOde9mHQbqfETq1r0UvcYdg4HOMFTyRgIyyILhZZSzYTzzUPWOHbAG0V7jQlgGAz4YnCZtGiwG9HVaJWdwsceZ1mzHQ02AyYCcQwFYljUYAMDJmuEG0kADGA3Utg9GkS704S9E2F80OeFVa/FuvkuziMGEL9u5fxeVeo7OtOiajVDhJWjlGIXdlJv6sUoJvXBE0li53AQgWgSGrUKS5oK5+0Lz4UfGdB5ODpCDmzqkEVHIU6noVGrQKmzi+HV7Q4AwOp2h6KUETl9Hw/GEU+n0e+Oon8yCm80gRanEfPqrDhhjpOLAuGfK53JYOdgAHvHwogkUqix6LB/IgyrnoLZSCESS6PGnK24dNAdRSyRwmQ4iRPmOjDsS8IXjaPOasLxHVa8uc+HnSN+fHpxA/o8UTjNepzc6USfJ4ZQnMa8OjMOTISxY8iPPaNBrGx3cuO8vM0Ol1mLcDLDjRGQO0/YMVp8+AbbWOA+y7+eACTnqZL5xbZp1qqnVCliKUdEiTBqSUpIkdN3Ir4QCMoptVwwX0xRQZVT9aLYN4W9k2E88v4AVAyDq07swNw6C/dW9vg2O87sqsOqNqciE0Qx8YAVUy44rhkb1rbmmCHKhV91w2KgZFd1KEfp1UKLP+ECTHh8djxe6Bnj0qc84aQsIUR4bLHFXDlThQpRTBszvZgRzhP+mDpMumn3SKj0ojEcp6fMETkiQDERGPzvg/C85Fx39n7jiySzqYQyBBap8RMTeHYOZ9NTukcCAFCSECL8noudn1TUjlIvo2XNdmxY28pFrAx4o9i0fQQ6rRqdtRb0ttm5aCH23iInRUkYxeiLZNtgI1YGvFH0DAfxziEv6HQGALCq3ZEjqgDS1b6q3XNkpkXVaoYIK0chfN8OQFlEiJKoDCULVbYKDE1nDpupprGowVJwQcmmnDhNWgDgIlPknhM/quaVPRM4OBFGvc2A5S121Nn0XN8tRh0XjVEq/KpGyAA7h4PwRuLQqNVodOrRUWfCCR25ggrb1z1jIajAwGHKihp1Nj0yaWDIH8Gh8QhGgglkmAw0yN7YDFoKI4EoBj1RqCkVuoeDSGUy8IQSaHUacdBtxZv73XAHYtg1EoBFp4XNpEUynUaNWYdgLAWozFjd7kA6w3ARK+xiv6PGgo6aqX9gSone4YsOAPL6sPD/ldPmnkAc0VQ2EkjYv3KkzUidd6Gyy2IiSqW9jwiEoxGhJ4mSBzwu1afPC51GgwtWNuHClc1gwBTVFvvg+0LPGDZtHwFUgNOix41nzC+6VDT/PPlpAms6nEWLKXxYzxgVVLIW6Pz0GFaQ4ZdeLbQvX4yRWkTIgT8eI4evP+vFImfxITy22GKuWO+WYiimDan+zdQijD+my1vs0+btUmn4KSb8cr+APBGg3GkScuYle7/xRhJTvmPCkuvFpNwI/U0A8TEIx2lYDJQig1ex85OK2mG//3KjZ5xmHTasaed+7p3MRqaLRaw8unUAf9s+jJ1Dfiyot+LMrnpZ48Uehy+2cBWH4jQYFSSrugmjd0otJU+YeYiwchTiiSQ5345K+j3IXaiygoE3kgClVqOz3iI70uTAZLZsMgAskfmWhhU2rCYKoSgNrUaFyZAKHTUmpBkGK9sc6Kgxly1KIJ6ksXc8DIeRQovThAOTEewdC8Ksp9BWY4bNSKHB5oBWo0JXo1U0CoYVkGxGLbSHx5UVNrK/d2DHsB+TwYTiiJUmq1E0YiWSzOSkQ525uGFKv5TAL6HsMuskK++ICSZSPixyBQd2/1a7gYtYKSeFokuE5yTsu5iIQoxnCQR58BdWpeSfs6LMsmY7upqsiiMvhNEuH/T7AGQfir2RJFQMwz0g54u+KNQ2a5oLoKhqM1KlOgHxt63CfcUMStd0OHNEKDl0jwRyIoKEiwi5fQDE0yacZp3ook1sf+GxSxEpyhE5oqSNQpE+pS7kixUu+GPqMOVep3IyU34OYnNEjghQjvmh9Jqw95veyTBqzPqc7xgrgPW5I7Aasi8ppbxbpI4rPG+pMWCNZEPxFHpGgoglaZww15UjkBST3sP//rMRa3zB94KVTVw6Z772s94pi6Z8BmTncZ87gt0jAeweDWEsGIdWo+ZEHKXRSHK8uYR/J6o9HZFQGFJuuUiquVxptaQY8MsI+6NJpDIM6ix6RX4oSsx040kaPaNBHJoMIZbKQA0VOlxmOM06zmy0lDHhBBsjBYNWA5cpKx6M+mPYPRaEVa/F2rk1sBsoLmKlwWKQPC7f62UymMCwLwqLQYtT5tdWdWoIX0DhX0t+CWWbUQtKo1JcBjjnGIfHxq6nJNN7CrVRyveAvz8rjJRyPtXwnWSp5vsXoXqolnlSrnKmpZaxFUa7CP0XlLbHFz+6RwJ45N0BAFBcXlNYBrTWosNruyeLauvvO0e4hcpnljcrGjOxlAi56UP5yisrOSZQ2nypxtK5v37jAJ7fMYrzVjSJinXFzOtix3smqPa0iEogNQ+LGQupiBWxY/A/W9ZsV5z+J7wX1Vn02DMWwhmLsu2X45z42797yIO/bR/BhSubYTFQOX1/55AbE8EEPJEkLpEZ5cf3sjqzqx5vH/LklHh+YeconvxgCJ31Zqxqd8gal3zCqPAeCSjzr6kkx+L3TgpSbvkYp1KVQpQuDsdDcfS5I2itMaLWaii4n1j7clNO6HQG7/V6sWvEDyajQoPDgJUdDhg0Gm7xr2RR7g5F8fzOcZy3vAEOkwHjwTj2jocw6o8BjApz6kzwGVNZ8cCixZImOxzGIyk0K9uPlDTOF6GSYRjoKDVaa4ygNBbOu2MmEXqgjAfjiNNphOI0uhqsCMRp9LkjUEGVM9eEJZT5xr9Kj+uJJNHviYIBAzrNSKb35KPUVBv+/qVGl5DqPQSCMqSiVEqh2FQfNnKjlGiX7QM+/Pn9AXx2RRNUKlVOag2bbqAkIoS/gPnz+wNgGAYqlQo9I0Gc1VWvKN2HjwqqnH+VGMAKIwucZumy0fn2VXK9C3ml5Du2WDSQnGOXY8GhxJ+kUKRPMdE3xY63FKWOCX9/tn9sW9Xs51CpxafUNSkmekcqek7sGPzPhBFnco7Hv1Yr253wRZJotBskU4j458SaBReK0uMf46R5LtF0LdZL6tBkGAk6A6NOI6sCkTB1qMNlzpmXDBgE4yls7fVi0Jv1+VJBhV53GHvHQ7jm5Lk5z/+AuI8K249wnJ4yxkrn+nRXjZqu489WiLBCKAg/8iR0OC0n3yKRv70KKlAqeYvKYhbC/GM5TRTmN9hQY9ZiaZOyCjrxJI094yFYDRQolQrPbB9G/2QEAHDusib0e6JQAWiyG9FRa8qJWHGZdeioUSaGsClORq0Gc2rN2XQcQRv+SByv7pnEkiYLNJQGPUMBjHjjWNluw+o5rqKNddmKQ75wCnNcRhx0RwEwWFRvRSSVAZ3JIBSnue37PVH0Tkag0TCg1Gp0NVpzBBQWYQllqf5JCXRCIYN2maZErBRqg0+pYgh/fyKMEAjTyzuH3DmRE8VEcJSyyOMb5ApLyxZjQHv/y/uwcziAsUAcCxqsWNPhzBE/8okQYm2yOfiheAofD/lxXKsDV53QXtDXoNDYiC1UhPuzkTYMmBwfACWihNBDQDi+cq93MV4pUmVu5ezL35+/n1KU+JMoTSuT00+54y33u1TqmPD3B5Aj+lTzoq1SaUpyjWXzIUdEyJfqJFfszSdUFkoh4p8LaxbssugwfNhHpZCPklT7y5qzXlJsxAq/AtGLvApHSlOS2KiSSJyG2UBxBug7hv0Ix2mkaAad9RYYtWrEUhlcsqpFVBhl583qDkfOGBfzt6tSc1DuXJupVL1qhQgrxyBKI0/YBa/VkPX0KLRQ5bbXU+ist+Tdnt8XuQthNk2EZjLwRVLQatRwmLRosJuwpNmhKOLDH4njhe5x+KJJGLUa6DQa2E1aLGywQa1WHY5YObLIZ/1IWOSKG8ISz2JVdYAjlYs6akzYPuTHh/0+HJwMw6Kj8N4hD/zRBHaO+PDmfi9q7TpY9RR84QQmIkksabRhfr0FO4aDSKRopGkGwXgS8TSDebVmUBoNTl9Ug71jUXgiCaToDPo8EUwEYwCjRjieRoPdAKs+9zrTLhMa7HqE4jQXUcMXUKTOlzUN9kSSOWMnJaAJhYwW55FjdDUebgdAIE7niD9SgkepYshsEFOqLcWIQCgHvkgSe0ZDSKbTXOSEEop90GOjCOrMuhyDXEB5tMu7hzzYNRqEL5JEs9MIh1GL5S12XHfqXKhUKtkPztsHfPjD271YVG/BnMNiyYf9fi4H36qnMKfWzIkpwrel/P4IvWHEzkfsPH2RJF7ZNYYBXwxtNUYuzejClc05PgBKRAmhh0CxUQnF7Cfm11LM/qVEeBTrT6Jk4ZWvn+U26i11TKSiJ6p90VauaDq5KJnvUmOnxCdEjtibT6iUg9AsmPVRGfHF8ELPmGibckQjMY+TZc3ZCkcjhz1apLxm8vVVaFILACtabdh7+OXspu0joDMZUGo1FykjFEalhHo2FUt4vvmo1ByUO9em+ztQ7RCPlSKpltzzYhgPxhX5RShdvMndnl8Fp9ZqkL2IHQ/GcXAiDG8kAZtRixqzHl2NVkV9sxsoBOI03jwwiZd3jYFSAcfPceH0hXWgVCpQlHqKiKIU1oskkqCxcygAu1ELo06D+fVW0XOl0xk8t2MEByfCaLAZccJcJ3YOB3IiVvaMhuCLJjDoiSKUpKFXqxGIp5BIM2i2G9FWY8SwPwpfhEaKziCWogGoYNNrMKfegqUtdsxzmaGjNKiz6kUjVsrpSUKnGQRjKTBguPNWMj/E2qM0Klj1FFcSWsy7ZjaKDcX0W+l3mWU2378I08dMzZMt+yfxYvcYWpxGWW8VgdJKv7IP1u/3evHangmc2VWPE+bWKN6fXxp50/ZRJNNprJlTo6h6jZBbn/oYL3aPwWKgsKLFwXkJKOlbKd4w7P7/6B6DL5rChSub0dVkFTXGFY6H2DEqFTaez7B3NiI1Tko9YMqZojMTYzrTx5fqCzB9XhjFjkGxc6hYz5NijLaLbXPL/km81D2GZgV/I4Rt5/OaAQqbRovROxnG09uGcyJW8u1bbKnuUqnEcarpu1puiMcKIS9KUySUVP9hF4ayU4VUkF29iC+KdLhMaKkxcGlG+RairAHunBoj+rwxqFTAZCgBSqPC8hY7kqkMbAYNTl9YP6UEslLYY7U69Ph4KIhMJoM9o2HEUjQ66sxY3GyTPFdPJIl2pzFbuajVgQ6XGQsbj3yBF9bbQKczODQZxrsHvUgx6aIiVtzhdE6kzGrzkWtlMUqfGxcplMlk54RAeBLzJOFHrEhVzJFCqr1CJsRyU8qKETIqKdpI9TvfMUllIcLRiJK0G3ZB/VLPGPaMhQBk89jlmJ4Kozi6Giw4b0WT7Adp9th7RkPwHo5MYUsjs+HdrBeL3AdzoUBw1QntSNBpLmKlkGhQDm8YobHpsC+GtXNrYNBqJEs9i5mhAlPfugrfgpZrUcZ6KgBZz5piTG+VUM5FhFhbUmOo9O1wqREfct9ay10glmogPRPCBotUupIw6qHcfSt0DeVW8mEpNIfY47Glk5V4nii5z8lNUxJrk408GeZFnshFOC5S48Gm6/kiSRi0GjAMg4+HAtBpVPj6mQtEowP5VYfYc3SYdJLzQMyXSklkTrHfp3xzqhJtHkvMSmElEAhgcHAQc+fOhdksXlbV7/fD7Xajvb0dOp34xJCzTbVTzEJPzsJWSTUepR4sOaa2Fn3evvNTaMCAa5+fJlKoX6OBGEYDcXjCCdRadGAYVU6VoIUNyt/EhmNJvNvrg4ECoFIjnEhhXq0ZQ744oqk0DkyEoNVkwwDPWlqPIW8MJ8xx5gg3dDqDYV8UnkgKLrM2O2Y1Zqxoc0qOB6VRY2GjLUdwEXJce03evjcWeB4TmteyfixOsxbDvjh8kSQcZi0otTpvKg/7uxbB/JGqKiREqr1C81Gu2FCMp0+phrj5kOp3vmPOhnQlAkEpSsPdN20fRSRB47hWR8FSvgAviqPXBx2lxgUrm7i0FLlvaNlUn56RAMCosGauU3FkCj/Fhn2zKSYQ/KfIA7ywHTm+J3KrV9RadNg7Fub2k7N/qeazxaYRsLCeCoUMe6U8XgpRyKhX6f58lBjwKk19mq4wfeE5SI2P0nGTEjP4/19oIVou0UMqXSlfP8uxwJQrhABHyhHnE4cLzSH2OGzpZPa7ORqIwR1Ocm2XIpIJ54HSiDOnWYcr17bnXFcx2HZZTxQxYVlqPNi/Jd5IApu2jyCcoBGIpaBWAbFUGhevakU4kYIvkpoiOPsiSTz01iH0DIdw6ZoWydLLSq6tWB+LFTPyHbcSbZaTao+MmVXCyq5du3D//ffjmWeegcfjweuvv44zzjgjZxuapvHVr34Vf/rTn+ByuRCNRvHAAw/g6quvVrTNbKFSC72942HsGg0gnWFwXJtDVh/kerCAgSxT23iSxtsHPfDHkqi16NFZb5HXvqBfTlNWBJhTY8xJdZHrj8KPQjnojiCdAQ5NhvFRvx8Mk4FaDaihxiFXBIubrLDqKRzXasOQP8EJU0LxJp6ksWW/G7tHA1Cr1JhTm91uuhbJfPGETmewZzwEp0mLFocpZ04BwM7BACIJGouabNlIIaeBS8PhI7XIZ81y3cEEam16UGq1aFUhIcWKBnL3KybaYyYiREhUCoEgDX9BLeeBnBVVeifCWNZiU1ThR1jJIZVOY2mzHUuabNyx5byxZcPF40kaW/t98EVSXC6+UoFgWXO2rOhDb/bBZqRw2eq2or1L2De0Z3XV5whNct5oCgUYpf4AxfqdsEh5KgiR8niRux8g36g33/58xNoqVyUcOe2UY6EiPAep8VE6bvnEDLF2xMa5kOihxHNEyoi1UD/zUYzJLB/+sR/dOjClAo3SY/I9T/hVerb2evHqngmubbGxljuWwvESE5QLCWJyPZ02bR+FO5JArVkvu7oRcMQ0uncyDKOW4iJWQvEUMhkGj28dRCCWQjRJY/ugH3ddsJRLQw3HaewaCSEYT3E+YWLl55VcW7YN/jgUK2bkO24l2iwn1R4ZM6uElc2bN+PEE0/Et7/9bXR1dYlu86Mf/QjPPfccdu3ahc7OTjz88MO45pprsGLFCqxcuVL2NrOFSi26HEYKVr0WDmPhKSKMLBBDmCYktjAXcmAygtFAHOlMBvPqLIo9T8T6lS/VhYWtEMQKDazItHdMDU8oiVAiCYdRh9YaI+bUGFFjMXARK2aDluunwywhMviieK/Pi4PjITAqBgvqbFjeciRFKBxL4p1DXtjMFJY22DDoj+GtA26s6bBjMpjEm/s9WNZuxaHxCJprTEjRGWhUaixpseH9gx5oVEAsnkaNXY+V7U6M+qMw6rQIJVJwGijotFrQaRoT4SRWtjkQiqexZzQAq14Hg5aaMqeWt9nhC6fQ1WAtqhKRJ5LEzsEARnxxNDsNWNXuxByRqkJiY1VJr5RihJtKRohIiaQkKoVAyEX4cClnQc1P2xn1xzC33iIrN58VQTivp0gSJ893TUn1kXt8FVTYNRrEpu0jcJp0WDvHCYOO4t6OyjkfYdUiFVSwGbRY1mxTnCrEh2+oKhSI+Ck7rLEkkL+ajpxFlljIf7nSRcT2FYvAkfO2XLjYKGfkCLtAKpdPhdLxK3ahIjwOf1/+z0L/o1LalVthRkzgkBI9Slmo8ftaqG9SFDKZVZKKU6g0N/+YbHUcfqQd+zvh2M+ts6DVYYRBp+HaFhvX7pEAXuoew/u93hzBWXhNxdJxhIKymCAmNz1J2C4bsSL2/cve44fQXmPG2YsbprTHT+8Bjggk4QSNcCKFl3eNYzSQNdplK3yt7nDg0tWtYMDgpHku7nzEylfLEbn445svdagcTJdAUizTFRlTLLNKWLnhhhsAAENDQ5Lb/OY3v8FXvvIVdHZ2AgCuvvpq3Hvvvfjd736HX/7yl7K3mS2Ue9HF9yNZO7dGlmAjpw/D/ii6h4JY1mpDh8siy/tiTo0R6QwDh5FCi9Mky0eFn7qkdGziSRp7x8OYDCUwHozCYdTDoKU4kWlhgxmhBI10JisIGLSagv4uwnOi0xnsHA5iIhiHWU9hcbMNp86v4/pMpzN4Zc8Edgz6YdJTiCcyeO+gF3vH/dgzGsJEIIrBQBxb9k9Co1FDrQb0GjXMBgr/3DeByVAcgTgNFQC7SYsXe8Zg1GlgoDTQatTQazSot+uhp9TQa9TwubKCCZ3JwGnSipYW7qixoKNm6vmwKVr8stNiY+Ey67C8zY4muwG1Nr3kmAmFlELRWNVmUltqf0hkCoGQH3YBvHs0CG8kBUD+AoZ9c8kayhYSVdiH3X/um8Sm7SOw6Cl01JqwZk6NbDGFFWXanUZYDFrujexZXXW4YGUz2p1GnL2kUbaPDLvwZ31P+FWL8hnabh/w4c/vD+CzK5rQPRLEsEAUYRGW9RUTU5qdxinHlqKYBSsrGkn1UWofOf4ugPiiQY4/S6mLjUL7F5MSJfVGX+m451uo5IsakHscJaWl2WMUm2YlRj5xBihtoVaOt+dSx883J6QW43JLcy9rPlIdh195BwBeEhFc2Gg8fttic5pt94M+L/aPh7nvEyvkvN/rQVuNCVa9NkfEFBOUxcaFn57UOxnGsx+P4KoT2jEaiIsK3XKE6hd6xvDsx6NwGHUY9EYLRjE6zbnVks5YWD9FOGTHjH+dljXbRUsrh+N03kpt+cZkutNiqiENp9qFn1klrBRibGwMw8PDOPHEE3M+X7duHT788EPZ2xyr0OkM3uv1InzYx2RZS+lqILsA3z8egT+WhC+aQodLetscrxaTrmAaEuej4o9hNBiX3W+urLHLhBa7EYE4jbFAHLtGA9BrVGhymNBZZ84ucs06GHSU4gUzVxUoTmPnSADzXGbU2w1Y3mI7LDLo0GI/IhixVZJa7AYkaRs66kxY2mBDvU2PmgNaxRErnngCgUQKKRpYO6cGdTY9F7HiMGoQSWW4KJSVbflz+IXVlOh0Bv2eKBgw8BlToDTZUEcxAYTSqA+LMxbRNqWElEJCg5I0uOkQYUpNyyORKQSCNHxfFJUKWD3HWXAhxA+9XtxoU5QyxC5qVCoGTXYDlrXacHJnrSLz1/d7vdi0fQR1Nj2+fMocxSlLrJgCIGfhLxZ1kS9a5M/vD+DV3RMYC8TRXmMqKIoIfUhcliPlp/P5yAiraMhZsIp5l4zIEG6kxJRiFsmF0q8qGUHD7wOgLCVKKsVF6bgXcwwl6VBKS0uXkmYl7KMcSlmolePteSGTWbE5Uaqgw/coEbbPmsJKlTqW0+4clynn+8QKLh/2+fDOQS9qLfopImahqBZhetKDmw/i4yE/ACAYo5FKp9HniSquErR+aSNiSRrxVAbdIwHsGw9zESXs35Bedxh7x0O45uS5U0xrhYJTvggTviDDViNa3eFQlJYIAP5oflGmUgLITKbhVIOoI4ejSljxeDwAAJcrd+XucrngdrtlbyNGIpFAIpHgfg4Gg2XpczXhiWT9SABgfp24KXAxbfZ7otCoGLQ6TehqsObdVq5XCxuhYjVqEEtm4LRoQWnUBfvNLrB7RgLYMejDqC+O49odoDQqOIwUljTZRSNk5C5440kau0ZDSKRSCMTTiCZpDPtjSKYy0KhUWN7qyAoNtSLnYtBApQKMei0uOb6VO/5iow6Lm47ccD+1TFp9XzvnyLwOx5J4p9cDu0GHFa12WWk8bF8abVpsHfBDlVHhE/NdiKQy8EWTXDUl6+HKTMKIFSUUElJYoYEV54QVgaSEFzERpZKms0B23Eb9MTgt2oLjUG2RNgTCbOCVXWP4R/c4lrVacUpnnWxxhAu9PkkrK8WG/3YRyC5qTl9YL+thTmj+2tVg4SJT5AoybIj5gDeKXSMBaA+XSOYv/KUWYr5IEq/sHseANwKXWY93D3lx4cpmXHVCOwDgsyuaoFKpJM9FWOXolPm1OGNR3ZSwe6FJIztm/MiEG8+Ynzc9iF+aWq7ZrhwxhX9MJd4Z/Lkh7KOSN8pC5C5ExFKiCiGV4pJvfoiNHyAtRuRLo5ErSORbeIr1rRxpVqWmCeSbO6X0VQ7sfeTkwykkDtNU76ZSBB2x9CV++1KCi1zEokRYwWWuy4xQIgWrXisZocOm+xRKjbnh9E5unEYDcewaDeZUCRIzBxcjm+rTlSPE8yO0/rZ9BDuG/QjGUpgIJXDxqpYpETdS5LtO+e51UgijmPiijJLIvWKZyTScavdWYTmqhBWKyp5OMpnM+TyRSECr1creRox7770Xd911Vzm7W3WwC8IlzfayLfhcZh3owwvwQh4pcr1axkNx7B0NIZZKo8VhRJPDmN2nJn9lIZrJwBdOQatRZUUBICdixWXWoaNW2XnHkzQ+HvLDF0mh1WXE+4e8iCRS8IaTMOooNNmNWNPhRCyVwQkdudV+4kkae8ZCmAwnkKQzaHEa0WQ3lm3BbTHq8KklTVM+Z31e/DEanbUmBBI0V6HnwGQEg74oPuyPY/doECoARp0Gp8zPKkFS5Y6Foo0c8UBKSBHCiiKsqAPkF0fERJRKp9kcmIxgNBgHpVFLzsN8/csHEWIIBGDAFztsRq7PeeuXD2HodT6EviWnLqhTvNCVMn/NR+9kGH/dNozWGiOsei3+tn0E7nACNiM1xRhXTv//0TMGfzSF49qy58uAwcp2p2hpUL6QY9ZrAGQjY5J0BmvmOnOOK1VimT9mhfwd+NvzS1PLNduVI6ZIbS/VpjDKhr+f2OJFCqmFeKGFSLnewvqjSewczi6G2XMQtlkoskesj4XSaMqF0mvFmoSKXf9y9DFff8QEAPbzcrxNZ+8jfe4IrAZtTh+kPF2UIGU6yzdWVXrvk4MwhUYIO45suo+wf8Lx5Qt2KwEuTZJ/PR7/cAiTwQSMh71hnt42DJdJC7OemlIlSKx/7N+QFa02bDngBhjgia1DqLXoMR6IYdtQAIsaLJhTa8a6ebXccYVRN75IElv2T+b0vxhjabEoJrY9NgKGP5ZKBZBSjZQryUyKOko4qoSVlpYWqFQqjI6O5nw+OjqKtrY22duIsXHjRtxyyy3cz8FgMO/2s5FKpCJQGrWs0shyj++JJLMVZVSARU+hqzG/oSqdzqB7OIB+TxRQMagx6eE069BRY0Zn3ZHoGbklpc1aNfq8MbQ69BjyJ5CgaWzZ74E3FAOl0cBmoOAw6/DppU5oNBo02PRoceRGv/DTl/aOBaHVqOCyGLi0HFb4CMZS2DUWxCmdTgz7E0ikMqA0KriseoABPOEEYgkahyaj0FLA6rkuIJPBrtEwzuqqg8Wgw7AvikFfFL3uCKx6Cs1OE5xGCi/vmoDFoIU/mgSlUXEVetiIn7UddtTb9VBlVFjd7lBU7pi9ToXEAzbqRK4Awxd18h1DTESpdJoNO25yIqbodAZWAyVb5Kl0tA2BUM2wD3pnddVzD8dy91nWbC8owvgiSby8ewxvH/AgnclgMS9apdB+QsPTfOavUm08uPkg3jnoQYPNgC9/Yg4uXNnMCR2Folz4C80hfwzDvhjWzqmBQavGWV0NCCXovAv6R7cO4MM+HwKxFGotely4slkyXUnsgVvo9eI066b4OwjfospJKZJCaWSKnAdxYZQNf3slRrJSC3EpE1ehiCPcLx9i3gw7hwMFfUzyjR8fsX5WGqXXqpBXi5Q3DP//5aRm5Ys04AsAgLIUJDkm0ifPc035DlfK00XKWBUofT4orbrEpvvkO2+xNsUMcS9f3YoBXwzrlzbihZ4xbNo+Ap1WDbtRC5teiz5PFCfPc+G1PRNorTHiU4tzPa/4YsuVJ3Tg3UMeLuLmxZ4xvLZnAh/0ebG8xcGJYHLLjMsZFymzWl8kiSF/LGfbUiP3pPpZLVS7twrLUSWsWCwWrF27Fn//+99x5ZVXAshGorzyyiu47bbbZG8jhl6vh16vr/xJlIlKvOWeyTfnfI8PtqJMIeNY1rPEF0sAyKDNaUFDHvNU4b5slAsygC+Wglatwp5wEtFUGgcmQtBrNai36nHqAhcXsTIRSOCEOU5YjOI3LzqdzeEMxlJoqTFiUaMNTouW81rh+hxJ4u0DHgQTCYz4Y9Cr1RgJJmDVadBgN0AFFcYCMfR5ohgJRKGj1Bj2JaBSZwWXnmE/3OEEOussGPLHMOSNQUepsKLVgTm1FliMFMw6DVa3O7iIFfa6sh4165eacvrNF5aEpauFyE3TkSvAiIk6UseQI6IomctytqU0atRZ9QXb8kSSCCVoOE3yv0PE1JZwLMM+6J2xqC6vKaNQZJD7cNg9EsATW4cwFozj5E6XrPz8I6KEF1qNhvMKKGQcKaw+0T0SAMMwWN3hxMnzXQWFFGGEyZ7REFf+9Mq12XSffGk+wvSWYV8MS5qtaK8xw6zXiEbG5DNYlBPKni/KROkijX1jKybwSIka/O3Zbfn7ikXZlCstR0g+EUfJW1j2fPmRNGykSj4fE7mRPWL9LESpkTdyFk1KvFqkUp34/1+oilWhSAMxAUDudcy3gM13HynHW3sp01mp6D7hfGDvQ6zAUCiirtBivZC3Cts//r9y04YuO3xfBFgvlTQXsTLgi2LEF8Of3x/A2wc9oNTAa3smsKLFjngqg4sF6UPCiJYme/Y5k41YyTcPpMSsQn+npK632L5SYooSsWS2RIVUM7NKWPH7/RgaGsL4+DgAoLe3F7W1taivr0d9fT0A4K677sJnP/tZLFu2DOvWrcPPf/5zmM1mXH/99Vw7craZ7VTiLXe52ixmUcsZ2gJocciLgPFEklCpAKdRj4UNtrypSPxqSJFUhjNn9UYSAFSwGSnUmPVY3e7IiVjhVyECAORJ4Y8nabzX60WKTiNBMzBoNOhsPxI1w4oqmUwaVgOFC1Y25USsLBOJWFkjErHyj10TeOeAB8OBKILxNC45vhWBWJKLWFlYb87pez4RiL1O7LXfE4gjmkrDE06g4fAfFSnDWr4/ihKDWrnzQxjxAiDvfmLnI9V/PnK2ldteMSIJMbUlHIvwhQA5aRi/eHUfPur3IZZM48unzAUg7+FwWbMdG9a2Ysgbw8WrWiQXCPx8/bYa42FRIpuqI/chlK0+UWvRo9FuUJRj3zsZxoObD2I0EEMsmUGtRY8zF9fhvBVNWL+0saCvBt+Ilk1vOXdZo+ixxR7KxdJh+AvMJz4Y4MaQvxiRk7KjBLFFgnAxoMRLhF3EsgtopeWOlaRm8IUB4X5iC3gpxOYNP1qodzLMpQXJOQfh+EmldOUTT6bjTbeUV4tYvwqlOol9Z8XOId958ec/X7yTcx1ncgErFe0hFd0nnA9sdIs7nECtRQ8GDCcwiZ1zoXNlxzgUT3HGtMLvoFg0CjA1bUh4LfjpTWJlk7tHArDqKSTpDLYP+PFBnw87hgLQadQw6DQ4eZ6Lq6gm9Kda2e7EfwpSLIXRXyxyxCK5+wn3LRQJp2SuzZaokGpmVgkrmzdvxh133AEAWLp0KX72s58BAG688UbceOONAIBzzz0Xzz33HB544AE88cQTWL58Od588004HA6uHTnbzGaKSTeQQ7nenI+H4uhzR0DXmguKJHINbcUW44U8W/hRKQfHI4glaU4wYM1ZW2oMQAagKDUnzCxrybbrMOcvGT0eiiMYzabznLWoDkP+BEIJGiadBitbrGiwGqYs9lUqQK3WYEmjFZRGjcWHb4SN9qlvzdhUptO7cj+fW2vFkiYLXtk9gcvXdGBFm2PK+fP7TqczGPZH4YumML/WzEWi8MUCdixb7YYpESv5roUcg1p2O37FIVZEUyJ6AJgibkj1RclclrNtpaJKiL8K4ViFH6kiJ+rEF07CqKXQ7jQWfDgULiw2rGmX3Jbd/tGtA/hH9zh80SQuXNksKUrwET7wstUn2mvMBYUGvhHtJata8ULPGHYM+dHVaMMpx9VKpgqJVdl5Y+8k52UiRzjIF2Uitf0TW4fgDidg0GlES7IqEQ6kzkXYH+ExCvWfxaqn8Os3DnDXhV/iueWw9wsgXmVDOH5KBAW+MMD3Q2DL0ZZLmFAacSKM7JGKmMjXx5kUCuS8vQeyPjT55n6rwwiXRcdF/wDyziufeCclRhW7gBXObbE5qaQNOZVkhPOBjW5hI1aE5yyk0LmyYxuO06LlpfOl/QijhoTXgk1vAjBF/OH36/suM17ZPY6940HUmHSIpzJYv7QRD24+iFd3T2DQFwWlVkGnUaPGrINBq8HyVjuXOsRPKdWqVZJjIXdc5HidsNd/a6+Xi1wUi4SbTrGknJV7ZksVICGzSli58MILceGFFxbc7txzz8W5555b8jazFbnpBkoXbfnenCtqi0G2hCQjvQk/9QcobGi7ZywE1eEG2T5K9ZerwqPXYNgfhzeSgEWvhcWgxep2R94Ul3z97fdE8PGAF3vHwqgx6RFN0wjH0kikaWhUKpx7WO1nI0XYCBb2hsFfnMeTNDbvn8REIIl6mw6nL6yTjCwRYtBR+NTSFnxqaUtO/4Z9UXgiKVj1akRSGcypMWLIn4DVqEH3UBChRBKBaIqLRBEKU+xYssKSxQhR8gkYYtdEaE4rpyoUi5igYdaq0T0cwPw6MwJxWrQvSqJA5Gwrtz2lUV/EX4XAJxaLYefOnTCbzVi6dKmsfSYmJtDf34+Ojg4usnM2IHeh5oskEYqncP7KFlj0FE6a5yq4vdCkNh9spEgsSWPNXAeMWmpKVIbYMbpHAni/14PX9mQf8m88Yz5XfSLfsfjpTI9vHYQ7nIBRRxX0b5FK2RETRtj9pbwT8j2Ui3nL8KN++FEOxYSjF9qHv6D6+84RqKBCV6M1Z2GZr/+nLqjDr984kCM8dI8cKfHM937hIzS0FRtfJQj34/9baEFRaCz5c0WuP0YxaQlySzbzt/NHk6L9KWURJTciQnjthAz5Y/CEs+IL2zc5i9J80TFKRYxC48A/lpzzkitO5uurEGF0iy+SzDHxFUNojismMrHtCKsR8dN+GDBTvvNSPkIAuPQmFVQ5gpSwL06zDpetmeqbyVZUm+My4a/bRjARjIPOMKDUKrx9wIOdQwHotdm1wge9frgjCZzc6SpZYJRzLdhtFjVauMhF4ZjmQ853Tun3spwCcTX7veRjVgkrxypKBRC5b8/LuWhT0hbrcZIv2oHOZBCK549a4G+rUgEMo5K1GGcr3zTbjVxUCqVSc/2SEgxY2Go+JoMG7lACwSgNg1aNV3aPY/dwAL5oEiYdhXn1ZqzpcMFspHDGwloYdBTnXxJP0nh2xzBGA3EsbrJhSZMtJ33mlT0TeG3XGEYCcTTa9Bj2xTC33ozlLVa8d9CLnYMB6LQa1Jh1cFh0MFIU2pwGbBvyY9IfRzqjQpxOobXGgiXNZry21405NWaEkzTSaQY1Fi363BHotRo0pQ1Y1mqbErEiFAvYKJxC/jZCAcNuoLBnLDQ1bUqwPRuxwv5bCLHvRYPNgO7hAAZ9UQBAV6M1py+lzvNSIkiUlGRmsRsoTIYSnMAo1uaByYjk2BKOHp577jlcffXVqKurg9frRWtrK5577jm0tLSIbr9t2zZ861vfQnd3N9rb27F7926sX78e//d//weTSV465XQjVZkiH90jAXzY75cV2cJuzzdczdcXVhzZMeTHilYHbjpjgawHUPaBsKvRivNWUFNSKqT240caXLm2HZevbcOAN8ItQqWiD/gRF6fMdxWssiMl/LDkMz7sHglg0/ZsH1lvGamon0KRI2JRIHJC2IUeN71t9pyFZaEoGWFqg1CIERMg2G2Ei75yvQ3mtyOMZpHqi9T85c8VoYgkRTFpCYXSrMS245vs8vtTyiKq0PWWunZCihXJxMS7Qm1KnW+hceAfS855iUW4LGu25/x/IcFFiBxPFLF+SJnjip2bmNAbiqe4ew/7nQ/FUwCQI/Ty22YFIL74w+8Luy8DBosbbVMif9iKar5IErVWPXYOBRBPpeGNJDEeiOPtA26EE2k0OYxYM9cB02HhvVShQs61kBNNmO/YSsSbfNso7bdcZjIKrhTIk/gsQKkAUmgBKRYNUipKUiHyRZKwERwus04yakHou2LVU6i16EUXu2ILT34FFznVgNhID6NWjSFfFDQYeEPZ6I7JcBKJFA21Sg2VOoPVc5xQQYUOlwVOixanzq/lIk3odAb9vgj6J6MwGzSYDCThiyThMhs441r2vNqdRpzYWYtkikGczqYoTQTj2DMWwtZDXuyfCEKlUsOup2AzadFkN4JSq9DrDmM8lC3frFIBdVY9Xt+rRQYMMhkG561omRKxwo5Dx+EXvfkiUfrcEa6CkNg1FBMeWCELACcs8eELSgDgiSYLimpsf8S+F/zrW25/EuExlQgtSkoyswTiNCiNCoE4LTpXC40t4ehgcnISV155Jb7zne9g48aNSCQSOPPMM3HttdfixRdfFN2nt7cX3/3ud/HJT34SADAyMoKTTjoJ3/nOd/CLX/xiGnsvHzkP3yxKPVj4Cwqg8MMoXxy5YGUL52NSaHu27ULHYEWkXaMB+CLZxQF/wS/1BvWf+yZw34t7kc5kcP5xzbjyhI6ciAspA1x+alF7jRl7xkJ5hZ98ETBs5aBCD7xSkSNSvi/59uHDimOsxw3/7bVwO7FFQSGTYTGKMbQVI58ZMItU9ApwxHxXrvhQqAQ2SzECUb5IDT78FBu+yW6htpQidb3lXrtKpExIiT5iaUeAsnHgl9iWE2VUSAiTe/7CcZYjFixrljbHLQR/DAHkRKyE4zT3N4MVegtVDOL3RQUVt39fWzRHoN0+4MOf3x/AVSe0Y2W7ExvWtGPDmmyf2Pv3eCCGoUAMixpsOHtxg2REltTYyTlnpSmUUgiPvazZjnCcRiiegi+SLMofR6rfpTJb04AAIqzMCsrt31CJ9IJypAkdmIwgfFh9ZiM4xBDzXRHbNhxL4okPh6BWqUCnM1h52GSKHzki1d9+XwSHxiOwGSmMBRIYC8bgj9BI0Wk0O42YU2vG2nk1XMRKq9OIiZB0RaB4ksbbhzzoHvKDTjNY3ubAifNrAKiwpMmKcCyJV/ZMoKPGiHq7ES01Zqxoc4LSqBFP0tgxFEAgnsTyFivaHQbsHDQrilh5v8+Py9e2TPFqsRh0WZ+ZUHbB7zLpuJLGwjF1mXWgD1dkYuci/9oCyKZkZdNLufkgtxQxd131R65rvrkj9b3Id33ztSdnngqPqeS7JDUOxZxjoTYJRxdPPvkkMpkM/u3f/g1Atkrdt771LXzuc5/DyMgImpunumZfcsklOT83NzfjvPPOw9tvvz0dXS4KuQ/fbHoOk2FwwaqWvA9y/G2B7ANlvrx2NmJmcaONE2yUGoDKyZ1n374m6QzWzHVy++WLSnlm+xB+/cZBTIay95xgfADLWx2SQg6/itCAN4It+93wR1M4/7imvOdWKALmM8ubue3yPfRLRb4U8n1ht5HyjhA7X4dJV/Qb+EKLHaUP+XJMXsXMgMXGjR+9Aigr6QtkhYQr17ajeyQAh0lX1kVKvkgNPvwUm1MXiFf3KseCrBJvuMu1wBPOMbG0I6WIeekIK4+JRbgUEsKk/ISE+whTddhzk9pfyhy3EPxrwN57AHD+SKxAItafZc32KamL/L6wYo0wYgUA/vz+AF7eNYYhXxRfOKkjR7QWS4cSiwIUzp9lzXaE4imE4zR6J8OK/K7yRYIVE03iNOtgMVB4Y++krCii6WS2pgEBRFipavgLrnK+dS+XUCNnISrlfyKGMNJA6liFTGnZ7V/ZMwF3MA4GKjgXa/OeR1ZICaPVacJoII5+TwTD/hjaXSYsbbKhrcbERazMa7Cgw5nt48IClgVsv0cDMYz6ojDrNXCY9Fg3twYWo45Lr3n3kAeTwQQAYHmrM+e8DDoKJ/B8Ay483oILjxc/3or2GtHP181vAHAkjclqomDQaECnM9g5HESGYeCy6OAzpkBpssqI8FpRGjVaHKaciKcDkxHu2gLIBlQKUrIMOgpdjVZ4IslstIbMFCIAGA/GRYULfiSSkpScfEKI0tLPQOFUHT5Sgk++4xaKuCkkEhKODrZt24YlS5bAaDzydnP16tVgGAbbt28XFVaEMAyDrVu3YtGiRZLbJBIJJBIJ7udgMFhaxxUi9+H76W1DePugB6s7HAUXUazp64rW/NseSS/xQatRw3qSvIgZJeHwAHJEBVZEkooy6Z0M48/vD4ABg4UNVvz5vUGEY0nYDRo0O4w4/7hmyWiQVocRT28bxpZ9bgAMasx6rJ1TA4NWjUtWtU7xt+CnYBWKgBFGnACFBYlCET18YaSQd4TQbFWpiayQQm9ulfpkyDV5VSrYCT/L14dS+l9upiukvxKLQCXzSjieUpFyYv/mO56kUCESjSSsPCYWuSPXwyff9y9fupNcTxu5dI8E8GL3GN7v9aC9JrtO4Jt388UWYX/Y1MVUOoNeTwRXrm2f4u/C/5vDvy9edUI7xgJxJNNpLgWJNcDt90Tw5/cHcPrCbGTLoD8Oq16DE+a6cGYXUGfRc+MsvJ59nmyZ515PpOD4SEWvCb2k5CD2/ajWdJtq7ZcciLBSxZQ7skSuUCM3wkRuGdp8/ifCVB2xRaKYOFPQd+VwOk06w2BlhwMt9qmeAmw1nP3jEewa8cEXScGg1aLVaUCTw4BWpwmddSa0uyzcOCwu8CWn0xkcmgzhrQMexFNpnLGoHiq1Ck6TFktbHXCatGhxmLjUn56RIPrcIVh0FDR2Fc7uqgedzuCjAS+84SQWNFnRYjNiPBjHSCCOQU8Eh9wRLGg049BYFItbbfBHknCa9Th9wZG0o3iSRs9oALFkGoFYCjoNcMgdQ7PdgFCcRoYB5tVZYNZTsBk0MOu1aHQYciJW2LE0a9U44I5wfeebzYpdW/b/h/1Rzo+lGNGC35Zw7hSbApNPVCwkOIp9Lwql6hTaX85xCQSfz4eamlzRtLa2lvudHO677z50d3fjoYcektzm3nvvxV133VV8R6cBXySJeCqDWrMOn5hfVzCX/eTDonS+VB6+Qe2SZisWyyihXIwZq5ixqlhf/rptGK01Rgx5Y/jb9hGoAFy+lsJVJ7bh48EAvnTyHC4CU3gcNsXEZdFh10gAALB2bg1WtTumiCTC6BkAORU2Ci282IgTqYV+PjFFGOYutq3QOyKfsa3Yg7iSSJR8b26VLIKltldSljnf9sW8tVbaf7nkW6ALf1eOSCC5RrzFosToVQzheAp/lvIt4pNvHrNCBd/ElRUK+Pc7fuWxfP1kyxsLhSA2vbKQJw2LlNCSb38xE2wpljXbsXM4gA/7fHjnoBcAUGvRAwBXnnn3WFDUZ2VZczZ1cfdoEMO+GLpHAjnX4d1DHq66kbAfK9ud+M8rVnGiM98A99mPR/Dq7gnsHgliPJxAJsPglPnZam1Lmuz4oN+HRrtBVHQaLmCULTW2Qu8lMYFZKeUyuS2E0jZmKlKmHBBhpYop94Jr2B9F91AQy1pt6HCJ/1HiRAxBOodwG7keLfmiS+h0Bu/1ernSulIL5ELiDL9PnO+KgcpJp+FvNx6Kg05n4IumMOCOYjgQhUmrQ1OLEcuaHUimGSxqsMhaKI+H4ojGU+j3xtFeY0Q0mcaWA5PYvGcSKlUGep0G5y1vhsusQ4crtx97xkLwRhIAsoJCV6MV4+E4Pujz4cBoCP5YCu5wEivbnehzR/BhvwcfDwQQTtJ4fQ8DSqPGW4fcMB5OCeoe8sNp1uHMJXV4/uMxhGNJ+GM0kjQDbzSJDJPB0mYHTprnQkedCQaNBi6zDoG4Ief6UBp1zljuCcQxGojCqtfBoD1Swps1mTVr1Zw5LTtfxoPxHD+WYucyvxwzv4/FpsDkiwApFB0iJg4pOS8pcamUNDpSjvnYQKfTIRaL5XwWjUa53xXiD3/4A+6880488sgjWLFiheR2GzduxC233ML9HAwG0dY21edjpmCjSvzRJD69rBFnL26Q3JZdPJyxSDz1gN/mg5sPYtuAD6vanfjyKfOKjiQQtisW1ZFvkfny7jE8s20Y/Z4omuxGbFjbykW1iFUi6p0M48/v9SNGZ2Ck1IimMlzqTqvDiDkuU96Fi1j0jJTwUSgVR9im2HbCFB++z4jYtuzCK1/b/NLJcgURsWuT73pKXbN8b5PlCCByUob424udA99jSGlp33z9l0OpaQpKhR2lZaQBZQs6sf4oWeCVEpXCki+qgP3e8IVQ1leEf7/78inz0D0SgD8qfu5se2x5Y7Yf/DZOXVCH3skwtvZ6MRqIcWWF5SDH04aNJOGfA3DkPjjkjXH3PKdZhyvXtmOuy4zw4fWCWa/hhA6XRYcdgwGurVaHMUeA+8zyZi4STyhY/W37CNzhBOxGLXaNBuEy6zDkj6HVYUS9TY9182pFDXCt+uz6gI1YYVQqtNoN2LR9FGcurstJtZQSXZ1mcaNsKZSIx+WMRitHWk4lUnuq1YeFCCtVTDmNN+l0BgcnI/DHkvBFU5xRqRBPJCmaziHcJl/0gXCxly+axWnKNZQVa6dQyWV+RIvDrBP1XYknaewdDyNO0xjzxwEV4DTp0FJjQEuNAbUWPRdJIiSepLFt0Id9YyFQGjXOWVqPNKMGncmgzx3BxwN+eCIJ7BszYHmrHWvmOGHRUYin0rhgRSNqrVPPnx3nGrMeCxuscJl1ODAZwcGJECIJGh11Jhxn1HERK1a9Bi6LDosbbaIRK6P+GPaMhRBLZVN9dBoVNGoVTlvYALWa4SJWTltQhwUNVs67ZedwEJ5wHAsbLFxkjtDDptVuwAG3Fk6TlhtXlznrzRKn03hzvx9adfbhlxXHhH4scueymFAgNt/yRTdVSmgQE1GUfEelRJh8fS70XRsPxtHviYJ2mdDirM5KL4TS6ejowHvvvZfz2fDwMPe7fDz88MP46le/iocffhiXXXZZ3m31ej30/5+9Pw9y5D7vvMFPAon7Bgp1331V9cVu9sFbpEhREi2bOizJI3E3YmyPtWtvTGjCE/uONe/Ojh3hHXtmY7223/e1/W7M2DPjV5J1U9RBXaRIUSSbfbCv6u7qq+5CAYX7TgAJ5P6RldkJFICq7qZsitOPw9FUIZH5yxP5fH/fw2a7u8H+Akub7dN8I7aa5TT+2640oKZclTk8GuB3H9/R0XOkmxli67JvziW4spYjVazx6M6ejl4a6WKVn1yOcnU9D6hxnet5ibEeJx8/PMTT0/18+uhmJoBmQluu1XnhwhrVWoPxkIsP7u9rYqVsFWfbCSDZymC1W7PZjZkSzUq8dGWd3X1uitV6k89I6zrbNV77B2/5E2hj6pZ602lGtx3j5k5mf7vNJnc7LsZ93I5kqF21NsHbGQN0ZpJs57vb2ad2n3Uy4N0K+Go9D9s14jXW7TR0reO501n2+XiBL59aagv2tdvOdtebLlaZjeYpVuo8OR3GY7NsWpeRzdVqCt163ltjklv/ffFSlBfOR+hx2xjwdTbI3arasVM0JkmrCfZMJMtXT62QKFSwW8185thox5hmYzyzBiLvH/Tx5VNLvHBulYVEkd99fIcOlLTW/kHV0ytfqbGcKnEpkmUlVSZTruG0mqjUGiDArxwY4MhYoCmpLuCy6qzBjxxUpUgvXlwD0nhslo7A9N0wMbYj5dmOOfbt1u1er3eyjnca2P2nrHvAyru0ttsg3o5sp8dlxSwITPV5Oq5LbjTwO60d43S1ZTw2sSPwslWz1wyYONk72J7Nckv+s1n6I9cbxHIqQALojJY+j30TQyVZrBLNSlxey1KrN/A7rAz5HfT77G33U2e1yA0wwc31Iq/OrjMTyeC1WZAbCg9MhvDYRMZ7XPS6rTpjxWUT6fPaeWgyvGmdq9kS6UKNqX5PU5OtMXc8NjPDQQdjgoupfk8TY2asx81Yj5uHdvS0PeaFcpWXr64TzUo8uTfM+aUcB0Z8TG6AJXK9we5siVhG4uRiEpvZhICJV6+tk8xXSBSquOzqeW/HMto/KJLcMPkC9XpaTJaYjxep08BrtzSBY6LZRJ/H3vSddmW8FrKSrLNkYPusEOM9cCfyue3eQ3cLdHb6frcxb8mIEVTTNcOk7r16D9bTTz/Nn/7pnzIzM8P+/fsBeP755wmFQhw+fBhQ/VHefPNN9u3bRzisPn/+/u//nt/5nd/hv/23/8Y/+2f/7J9s/HdbRsr2ozt7tqSOw9YvsBqoMh8vMD3o6wjUaMtF0ipjaKuGtSDJuqb/yHig61hnIlm+cmaF5WRpU1xnu5lMbSw/uhQlU6rx9N4+PnpwgLLc4L4hHx/Ye2tWWQNtltJlPnF4iJVMuetsvFFmoS3byWC120twN5mP06o+X4eDDgZ8Dn0Gvt06OzVemj+BBra0a7a7SYagM6B0tz4toLIK2rF8btffYKvrt913OyXNGOt25EuwvXPdrjqBNtBswNvu+63MJG37fqeVA0Pqv+3qbqU87cC9O7ketmLW3Kk0SmNYADz34GhbD5ZOUp6t2Djttv3Mvn6kap3hYPdo+q0kWp3YKZqMp/W+//SxYVZSZZ7Z19+0z60yvU7MmGf29bOQKNJoKLx4KUqyUG3r92L0V9HAn/VchZVMmfl4gVevxpEV+OrpFebjJWbX8gwHHbpsSNs3bexT/R7mR3xM9Xv0z243Pel2qxUQ1rbZzRy7tbYa192AQduVQN7JvfZOAD6/iLoHrLwL63YMX7fbSGqN2d5BX8fmMZZX5RvjPZ0NQbdaRq43iBcqyI1G22ZvO1Ijbb+6yX+0xl5BYTzkahu3bEzaCbps7B3w4bGZsFnFTQCMVlp6T6ZYwWwyYzaplMPjk0EmN4xSNcaKcXu7+ptv7EK5ypmlDGM9dl69muT4ZJCbsQLFioxoNrF/yKfH9b41nyJbqgJWHtnZowMhq5mSLjPq91q4GitwLZpjLOgiL9WJFcr0ue0Mh1w8vquHZw8N69sfD3pYzZQ4tZBkvVAhV5RJFsqUawqVeoNBr4Mj434e392rM1aMx1luqMCVKhWSkRuNpgjkkMuKHHLS57ORl2R29rhIlqrIOQlRvAWqdLo2W6Vb8XwF0SzgsYt47KIK4NUbutntdu+B7UhzWoGU22VgvdPVbcxb7Xufx45oMnXd33v1y19PPvkkH/7wh/nUpz7Fv//3/55IJMJ/+A//gb/8y7/EYlGNuePxOO9///v52te+xic/+Umef/55fvM3f5Pf+Z3fYWBggFdeeQVQWSkPPfTQP+He3H61NhRb+apsl/a/HfaLURPf7QXO+EKrAQLtQJVWQ8vfODLM1fW8HtdpXL61YdHG0smE1vidsMvKV86sEM9VcGzM/ELnxvnkfIqXZ9cBmpZtnSF+cy7B7FpeB823I/NolTJ4bCJvzCWJZsrMxgr6d1r9AzT6frdz0S71ppMcSavtSGNaz9V2gbzbYX7cbsOyldyoU9JMNxPVrcbSrTnUPt/q+LTbZiuTxfh9I0Bk3D50T0W6WynPdsa9nWoF+7Z7HXWTiw37HeSlGk9NhXEZWCbG72ngwZExPx67Bb/zltRkuwwobdvponod/eYjE1te+1sBSe1A0nasGu2+//TRUf27fqe1a1Kc8RlpNMD+wjPTTbLDdn4vRnPw546PNZngzscLuG1XmYnkeGJPL06rmZlIljduJnV/l/lksQlwb73/jAy7Tka270R1k1/e7vffaebHdtd9J/fau9WH5R6w8i6s7XiKaLVdj4etGjS53iCeq9BogCHkpenzWE4imitTbygdl5mN5jFtSFz6ukhgOu3bduQ/GmtmyG/Xm/h2De+ZpQzrhqSdsZ7OHhUui4mFVJmKLLOWKVNvwL5BFz1eG6Jg6sjg0Uozi63XwWs38+JMlJrc4IeXalRkhXpD4am9vaQLNXaGXWSKEj+6so7LaqbPq84uPTARbJK/GGVGckPh2lqe9XwZi2iiVlcoVeq4bCI7+ly8dn2dJ3aFWUyUWcoUuX8sgCAIzCxnWcmWQVHo8zrYN+RhtMeFzWxi34APu1XUDYSlqkxWkokXKuRKVUSzmXRJTQkyRiBLVZnZWB6PXcQumhkbdOnjTRdrBFyWpma/EzBmlBtpjBUj60QsVrfFEGll2Gz1nVYgZatkn9thwdwuCHO3oM07KRe8V+/u+ta3vsWf//mf89//+3/H6XTyD//wD3z84x/XP7fZbDz++OM6W2VxcZFHH32UK1eu8Id/+If6cuFwmK997Wv/2MO/q9Io21vFMJ+YS/LtcxE+emhwy3Shbi+gRur6VL+HD+/v7/ii2s7rotNyJ+aSXF7L6RGfj+0K86ljo22XfXMuwQ8vRZmNqjKh33tiZ8cxz8cL/JfX51nLlFGASKbM03v7+Y0jwyyly7pxr5Gd8l9enyNVqHF8IshyusxUn5uPHBzYtGwr++OFc2tU63WOjge7novWsRpnljX5zpNTvZtmVY0Ndyudff+gTzfuNFbry3unbberbmDFnc6iGpupd1L7v9V4OslvWr93O2yJ1obndoAOrVqP61byI2OD6rGJqsmqTWQs5GoaS2sZl30njG7vtHGbCLubAAbtmBUkWZeuGNN92j1DWr+rARBG6ZdWrcBlq3fKdval23ne6hh0k2h1MqltHXMnwHfY79DlSu3uJSOoc2DI1/Y6185/63Xw4qUoL5yLoIDu5VSuydw3HOAD0338xWeONI3HaHSroGwCedux1jx2C69cjbeVXLU7VnfCaNk/6COalTg5n2TYf/uSrV8k82O76363giR3UveAlXdhbSdOWKt3qrFKFqtYzAIBV/vEoFhe4txSBqfNTNjTPpUnlpNIF9VmeW+/p+3Yt9q37SYN5SWZgHPzWI0pQ0dG/QAcGfVv2lahXOXkQhq3zYTLZmG2UKVUq9PrtrFvyNeU3tO6/gsrGdIlmckeB1aLGQS4GStyNZajXKlTqysUqlUExcQnj45wcSXLRw700eNxMuRrsJou8fy5VW7EigTcIk9N9fPARHAjYcake5jIBplRN8bKjUSeSLrE370+T7JYQ6rKrGcqfPrBUZ7e38d6oYJJEejz2tjd5+baeoFUsYZcbyBVZX5wKYpJEEgWKljMqneMz2mjx23VGStGqc5b8ylW0iVQBCY2WDzaeIf9DUTRtCXI0e460KRPt2t0ezv3QDspmzHZR2OwGMf1ThjU3uny98xr75VWdrudP/iDP+AP/uAP2n4eDod1VgrA5z//eT7/+c//I43uF1tGyna70s1IKzWATY13p3V2Y1vo1HUD5b61tDShRkPho4eH2i53binN370xj9duIZKRUFA6ghLnltJ86eQSewe8nJhLUazI3Dfs1xuWVnBEm20VEPju+TVKVZlBn53jkyE+0SInMjY4l9eyfPf8GlW5gUUU+OSRka7yA+NsaDc2znaPr7ERM46xteFupbMHXNa26T0a4LKWLfPixTUenAxt6yVdk1attpF5pYtV8lKNo2OBLZuC1obI2Ey9k81CJ+CknX+DEbQwfq8T4NCpke5mvmn8m3E8mVJ1W6BGp6bL+Pcvn1riUiTHG3NJDo0Guh7PN+aS+rLAbRvdvtPVCpjkpVpblkY7vxyttgIgoFl+t5IpM9XvaWrktzPGVqnG7TTbrUCSsTrJgLbyNOrEaGm97o3PEk0i1so4G/Y7eOXa+qZEtWf29ZMuVlE2/u8759aoyHVmVnMspUqEnBZWsmWG/U76vPamZ57a61g23X/Dfof+m9B6HLeSgN2uL4rxWMQLFV6ejeOwird9vf+iQI13q7nsL7ruASvvwnqnTWu303htCeYo4HGIeB0WptqAJnK9QaJQRVEahL22jtvaat+6GXxqniohZ/tlCuUq3zi7qjMP9g/5eHxP76ZlTi6k1fjiTJket40j40GOjPpZSJX12Oem7W4k/8wlyiTyErPRPJV6nZtBF2MhFwoKLpvIrl4vXrsaX7ycKTPZ62Ys4OL+0aAq7UmXiOYkLq1mcVpMTPY6eXAixIEhH7PRPDmpxo6wm6GACugM+VV/Gk1mtH+4OW5Vq0S+xLfPRRny2XTGylPTfTy8o6eJkdLvtfDt82uspcvIjTpWs4mQ24YJaCgKR0b9uuxH80jRKllSwax4vkLAaaGuOBgLObGLZv2a0ca7nbqbdJ67KSMop0mujEBLO6Djdox32/kPdbsHtwJttgJe3ulI9nt1r95NdbsU+qNjAZ57cPSuZgS1hvqp6V7ctvbNidacpooVLqxkODjs77jNL51c4qezcXrcNj5ysJ/pAW+TCaPx5f/PfnyNi6sZKnJ9SznRX796k5/OriMIAs8eGuBX7xtgLVPm0V09fOzQ8CYJz5dPLXFmIYXFbOap6V5+9b4BUoUav/nwhN5obMfgtlWe0662Ygts5ZXR2ky2+6z1eM8ni5xeSGE1m7cNaMxEskRaZp2NTc6ZxQxP7Nkc6d16nDoxZjr5rdxpdQNOtjpv2ve+fGpJBxw0CVU3iVC3MWj72zqei6vZbYEanRo6499vx7C23bK3Y3T7TpfxueS2iwz6HCy4S+wf9DITyeleON2OfSvbq1NSl3F7rQDNnaZP5aUaJ+aS2/K0ar3njc+1dl5JW227E6DU+p2JsJtn9vXr227HOAu5rXzr7VViOQmraMLnsOiR9r/3xE4CLivz8QICAuWajMMicimSZTldJltSGVABt7r/LpuZv37lJo/t6uEzx8c2HZcXL0W3/E2A9j5Qt+OL0nosntnXT7kqE3bb3nGm3J3WdlhP70Xw5R6w8h6v7TZeW3o5bEhhujFNRLNA0G3fJAHaCtzR/EiOjPpxO9ozZoyeKmJv+7GeWcpQrtSBzilDP5ldZ269gM9pYbzHxeERn56Gs3/Iqi8Xy0tUqjILyTKCAFciOZbSJSwmEyGXhQG/j/tHfTpjpVUuNDXoB1SGy8xqlkqjzlpKooGiGnYFnDy8I4RoNjETyTIfL2Iyg6yoAIwk10kUVGlWtVZnJVNmwGcnVaiynpfYN+jH77Tw0pUo6zmJfUN+VrJl8mX1R+Bn1+LMJ4o8titMqVZnLStxZlGiXJEJuqxM9Lp1Jk+9oeCxmchWZD2dSBDqiCZ1X9Klqi4F8tlFkqUqLptIXpIZ6nPcMVPiF8HG2Oo7rUBGK9DSKgu6nTGsZktcXM5yYKTZx6jbPbjVfbeVTGmrz+/Vvfplru3S0TVPhql+T9cZ8q3WZ2QwfHh/+0QPuEU/f3hHiGcPDenymXb12eOjVOQ6h0cCfPTQUFvAI5IuMxhw4HOIHBjyN4EdnfZDURSOjQcZDNh57vjYpv1ufXFfTZfZO+hj74CXBydDfOroCPPxAt86u8rZ5TT9XgcKSlM0NNyaWdaMcEcDDt0XpfX4tPNr0RrrrQxljbUdvxJjlKwGkOzb2L/tNibtpFXbaXK6SY+MdSWa23Q836lGwrjN2zEmNYIP25EI3cl4NMDgdjxGOi3TjQ3RWq3Ltn7vF9nEGYEEDQjQjkkrU2UmktOlTkZfkO2MqdO9041h1c0nZ9jvwGU1s5YtNzXk7Zgm3Y5fq8+KEVRqZXZo1e6+0SQ3WgoQ0ASutvvOt86u8sL5CFK1zu9/cM+mZYf9DhwWE+eXs3z2+KieduR3WFhJlZka8OC2iWTLNT57fJSxkEs1ss1KrGTLVGoNIpkyCgr/+bV5Ti+kWUqVODDs33TPaABHyGXjxAZzyhgp3+4ZqMkHNfCp9Tei0zFvfX4dnwjxytU4/T77u0JWsx2w9hfp7/JPVffext/DpRmAeuydE3y2W90aQKmqUnA7yWe2AnfOLGW4vq6+qLUyTIyeK2Mhp8pY6bAvRulPK+tEM0odDTioNxQOjfkZC9wy4JWqakyxxymSL8vkyjWWkiUEQWDAZ+fpvb3MJcp47GaGAo62+1koVzm5mGY44MAmqp/dXC+yli0j1xX8LgtjARf9XrtuXPv6jQS1egOTGcZCLkTBpKftRHMShUqVRL5KvlLDIpjJVWqUZZmr0TwWs5m3F1PkKjVOLWQQzZCTalRrCmYT9PkcVGoKH7mvH9Fk4tiYj0uRAvcNeynWGmQlmT6vnR63lbNLGbx2M2m3fZMHjtxoNMUmi5LM7FqGfKWKaFKNeFsZRZpfylZJVe8EG6NTKpD2v43jMF7H7e4PoyzIbhVvixGSLtQoVmTShRpjBnJRN1ZKN+BGrjdUkAtFH09rtY73Xt2r91Jtdxa9k2nn7axPTwlaLzDR6+66zU5SFuO6tJfhQ6MB/qIDSGI0Y31mXz8HhnzberFuBwiAOmv8zbMrjAZduGxmvalvXT5drPK108t88+wKC4kSbpvIjrCbjx4abAsmzESyuhHusy3LGCVGGjBj9GsxHltNctMqaWnnwWBczsj8aJUIaJ4rj2wjLar1WLZjTHQ6tu2W8dhE/uqVGx1nykcCDt3zo/UzuLtGwjj2raQ+rds0Ag6aSezdgg7G8QRc1rYeI9oY223nnTgu2r4/PBkiX5Hf8W10M+7tJF3ZP+jjzbkER8cCTPV7uBLNUZRketxWCpLMm3OJTeBbt+r0DJuJZDcxrLR7q1ipNwEurT4512IFrsUKTZHK+wc7G85qn2v37YDPTqpY4eEdIf2ebwWVtP0zAlBXojnd28S4H8YUoIIk8+1zEZ6aCtPvd2ySLIGaMtbjtjEcvJWGZXyu+J1WfvORSf0zn8OCVK1TqsnMRLJcixUoVWUurmZYTpf4xOFhUBR6fXY+eni46Vy7bSK1eoPHdvW0/Y2YCLs5PhHiiyeWAHj20ID+vOxmMtsqH9TlrVKt4/WxHZneP2VtR2L0bhvzO1H33sTfw5UsVslXbs3G30ltZ8b+RrzIWlZCNJnaG81uAe4YAZHW7xoThNpFNxvL7bA2ATOaBMZjN1OuqWMYCro4OBJoAlRuxItUZJkbsQK1usJoyInPYeXhHXbylQZ7+tzYrWJT8o8RRDGbBNazZX5+LUEsX2Es4GKyT32hcdlEBvwOxnqc2M1m3bNEO24FqYbDKnJ0PEjIaSVZqjLkt9Pns22LsTLot+mMlWShylwyh1wHt1Vkz4CXx3aFGfI7kaoyb84n8TnU7a+kywgI6nEQwOsQ8TmsjAcdLKTKjAcdOqCVLtYQUHRQIuSysn/YS7pU05lBRkZR2qEa3kJ7cEOrrQCHrWK9teqUCtQKirRLA2q9P1rH1G6Mne4JTSLXypbqBkp2A262Y2J9j7Fyr96L1TprudUsdzvTR61aG81OL3on5pKcWUizd9DTNiXI2FR1mkX/2bV1/vNr8zw4GSRZVP1eWrf3s2vr/PWrN3lsZw/P7B9oMsbtFFW6FRvB6J3ynfNr9Lht/PajE01muvsHffzkSoyrMbWZObWQIp6vMNHj5Om9ffR7HUz1e1jJlLm4muG7F9b47PFRDo2qDZlmhNvq3WKc2daAGY9NZGl2ndMLKX1G3ii5aZW0tPNgMO5nq+wlL9UoSjLjIacO5rST7HQ7lsYGX/usdWydSltGM+EFdZa+9Xo8NZ9q8gfRtmv8t111Azm28lYxSn20a7TTNo2AZLs47tsdW6fail3TusxW2+j0ucZcuBbNE9pIbnknG89uxr3dpCva9TkRdrOSKXNmMUPIbeVqtMDRsYAejWyU+HTax073/oDPvilq23hvPntooImloi3bKXWnneyv9Txq6/Y6RC5Fcnzk4AB+p1XfDw0g0BgrxmMYclu5sKyu2wgmtCYfvTmXAGAprSaIaQbAxvUdGwsy4GtObWtl3Az7HXzz7CqjAQcf2NvP739wT9PvjNsm8p9fm6cm1/nKqWXVg7BW528d8zw0HgSTiWG/g/ft7uV9u5sngFvLCEq1M+xt95xpBZE1QOXoWIAjY/4tzbB/WSU17yXTWq3uvY2/h+t2TUBba7vRyFoj2U5+sx1wpxUQARXweGs+hcdmxmrZvmeF8fuaKetoyMmAz7Fpec2ItSDV6Pc52NPvxeMUsZvNm1KANI+UZLFGyGXhZrzIhZU0VyN5vA4LN9ZzrOcqCCaFyX4X+4e8AIgmtamWqjI/v5EkWazQ57UzPehtOm52q0gsJ5GXZDw2EVEAl8XEa9eS9HrVH8BUqYasKHz2gVH8LvVc3GeYCTVKmJJFGZOgMOhTY48vrWZ560YKh83EU3v7Ge9xgaI25rGChMtmxu8UyVZUBsRCqoxoFojnKwgC1GQFudHQk4OG/E7GQreOjxa/jAA+m8hCqqzKhu5QBtMq0el23julArWCDq1jaXd/tDJa2m2v3T7JdZUB1Ml/6E7Ape2YWN9jrNyr92KdmEvyX16fx2sXm0xKjaUZxyoNhWc7GMcCfPPsCt85v0a5KvOvPzjVdpl0scrltRwKCtMD3i1NXNtJYN6cS/C/vHyDufUCtXqD33v/zk0NXLpY5f/9g6tcieVZSrankrdWp2bQGH08E8li3fBO+bX7BhgNuvQX+nNLaf7kxSvsHfDy3QtrLKVKDPocHJu4FdkMqhfM188sU6s3qNUVrm3IfQ6NBgi4rBwdDxIvRtuOz9hEAPzJi1d482aCPp9Dn2UGleHx5VNLTWyKdjPj3Y6BNrurNav7B31647ZVc7F/UDW5zUu1JqYAbC/dprVaPT1aPS6G/Q7sVnOTz8d2Golu19pPrsT4yqllfuPYCJ86OgJ0lvp0MiY1Hg/jv63/fbtj06rbeTA29Xe6jU6fa8yF+0Z87Oz1bNqXu23iWgEJ7W9GIAGa02daG2aPTSTktm5i1bTK3rbL8tHAg4Mjvk2svWG/g+GgHQGB4oZnkFbGZTsZg7ceZ6NJbjRTpsdjwWEReWxXD+M9rrbyMq006Z5x/8dDzk2MGO2+1r770GSPKp/fAKyMDBig6X4z+s+0Ple+fGqJF85FCHttuO0WHZwx7vuBIb/O8LkWy/Pd8xEWkiXm4kVEQeCbb6/w8I4gv/fEro7MyE4MvK2eTa0g8lSfW5e3aqBnN++o7bKxflkBmF+muvcm/h6uuzUB3SoaWSu7VWT/UPsf425mtN0kEG/cTLKSKjEccvI+A8MEmr0sxoKbH24aYKI0GjRMJqb6PE1NpxYXXG8oeB0WAPYNets2pol8iRfOR9nT5yVRqBDNlRnyO9k74AYBnbEyGXaQKsqEPRYODgewW0XkeoO5eIGvbGjoY3mJal1hus/L9IB303ELuay6CXC2VOGl2XUuRbJYBIEet4NMuYIJgaVEielBH1W5RiJfI5or4bVbGQ+7Ob+UYsjvIlGqELBbKVTq9PnsjIWd1JUgPoeVnT0uirUGPrvI1ViBhWQBFAGp1mA85GqKP9bAkUShSqZYJV28xUZpZYFojKJYTtKb/TtlVLS7bjqBNJ2u81bQoXWdW90fnbZ3O2Pr9tk7kehzt+DpvbpX78ZSUPDZRfYO+jo2ets1CRwNuuhx2xgNbgb+tZqJZEkXqxwdD+q6/tbqNtv95lyCv/35AjazwO4+D7/7xI625pEFSWbI70BWFH7t4EDTuowyng9M97VlI6jLqLOuLruoRx9r3iLai7xxJvaHl6L8/HqSilznN46NcDWWY0+ft2kbf/XKDV44F0Gq1en12fn4oUFGgk5+9eCA3qi0eiho1TqzPRPJ0mgo3D8W4PCwn+hGM/TQZE9bNkXAZeVXDgx2PDfGfWl3LjoZunbybtFShTSmQDdQYasmpJW51HqN3I4/iLG6XWtLqSKJQoWlVFH/W2sTrhkDb9fLRqu7kaIYq3W7rUyPdrK9TjIJrYznwhirbKzdvR4mwy4OjwS6ehR1q27Gy62Sw3Y+QNo4PTaRN+aSukxMW06TCuUrchMY0Mq624rlo7E7HpwIkCxVm4Aa43hXUpJ6bPo8m0ChrUC0brKjl2bjJAoVetw2BEHQr/PWdbdKpEJuK5F0mTfmkpuYge22Z7xG/U4rJ+aSHBnzt71vW4+T8bmiep/UGQ2oXlLtjudMJKszJNPFKoN+OyfnUuwMu3j+fIRIRuL7F2NMhFVWYzsApZM3Taf0sU7HPC/VmI0VdPZTNFPm5HyKYb9jU9rbVqzN1nP3Tnma3ANp2tc9YOWXrP4x41W7zZhvdxztmtetmDCaBMJkEtjR49rEHLkZK5Ir1zZ5WRi/r93kD0wEN/mtaHHBbrvIjrCHR3b2NHutxPJ4bCJ2q5kfXopyZiHJek7i6b19jASdhFwWhgJOJnu9+np3hD1IVZnzkQyvXF1nstdNLCfxpbeWyJYqBBwWJnu97BnwMD3oJeSyEstJm/w/1P8X8DltfOrIEP0eO71eKz1uO3OJItdiOTLlKt+5sEquXCWer1CUZOwWEZsoUFcU+nwFHpjsYUefS0/6keQ6QZeNHpeVbEXWE36ypQooAsMBO/1+B32eW0wd7biJGwCFoqjsGg0wieUk5HqDfEVuOo/adeOzixtGuNwWo6LdtXU70iB9+RYJWjcgpd0224FC22HNtFanz2I5icVkCTnkbCtzu5f4c6/+Ry1tlrLbC9vDkyEWEkU+e3yzbMdYH5juo99n7/rC2dqoG2urWf/5eIEfXooimgQe3tHLbz4y0dagdjVd5pGdIZ57aGzTdrSUnzdvJunz2jeZD95KIary40sxwl4bv/3IxCa6ebpY5fsXI7x5M8kbN5IMBew8OdWHTTTrsh5te0aplcZuKNdk7hsO8IHpPgD+9vV5Lkey/PqR4bZMCG0W2RgT2toQal4DHrtl28kVrUa3Rs8FTdK0lCoy7Hc0rWMrNkS6qHqyHBnzb/JjuR1mROsY24Fgd9N0dFvPJw4P47CKTSyYTk34nUpf7rZhagcOtI6jdUxbjdW4X6fmU5ycT9HvtTcBKMa45TsFVjoBiFvtR2tzn5dqXIrk9PVo12YrANLKctJKk+8Zm+ZWryFNUlSqNvR1Gs+bkbWhoDAbbQaFtqp2DJ90sUo0KzESdPDAZIB+b7MEp/U7rfs97Hfw4qUoq+kyM5FsE2isAVqdrrmZSJbTi2mOjgXaghqdALkTc0kKFZnpAY8OnBvlSa3nTTtevR47xWqdY5Mhjk2G+F9evsF4yKEzczQABdAZMO0YeK1SyHb3V+vvTLqovvsVNqwD4sUqL8+u47Cam2SH2rO3XVR3u3onnwlbgTRbpcPdTb2bQZ17wMovWb0TzdbdgCLbGYfRyNTYqGufzUbzNBp1TCZzx0Z0d7+H3X2etqBLj9uK2SQw1e9pu0/aOvcOeDfJSORGQ48L3hF26Sa0mtdKsVbj/EIGm9XMzl43D02EQIGHdobYFfY0rW8xUWA1UyYnyQz7bbw5n2YxUUCWFebjJbLlGiZFYdjn5PHpPh7fpT7Q35xPcj1aYHDj5S/ksrKaLZEubHiWuG36uTFGLD9Sb7CaLRFJlUgU5I6MlQcmQghmE2MhJ9mKjKw0OHEjRU6qMBJ0c3jUr7NSVi0mKvUiTptIPFch5Nwsl5LrDfxOi34uNdlSulTFY1fTglwWEzOrWV3W1Oe1E8tJWzKe2l2L2rUl1xt6ElU7aVC3ul1/oXZ+LO2MY+/k/ut0H8lKg1SxwlCw/Xq2w/a5B77cq/dabfeFKV+R8dgtOrDbbT3b9cxoV1u9PL54KcpsNM99w/5NoIomV5KqdaYGvZv8YowGhRrL49Gdt0wRNVr5d85FuBjJ8f49YZ49NMhowLGJZv7ixTUur+W4FMmymCiRlarsd3n56KEh/vkjE8zHC/zx9y5TqarPs5vxAlazWZda/c8f2aszYn5yOYrLrkaO5iQZAaGJfdE6+25M0Gk1Vf3ooUHylZreIDisIueXM03gUbf4Ym0dmgfETCTLV04tkyhUAIHjE0H9e91MjI0JTB/a37l5M5ZROtQKBM1EsvxgJsrF1WxbT57bmRm+nTjcibBbj0kG9Bntdka2d7I9UKV43z4X4aOHBnnmwEDT8u2kSK3V7X7qBBp12+fW/VrLljeZlcItSdbDk6GuMdfd9v924p3b7as2TkVR9LEAzEbzXFjOMhFyNclPWs9Xu/QsrWlu9RoCdBPYdka4RjZYq9fJnfrYzESyvHRlnWq9TsClSlU6eRWBen3OrRd0EPxKNEfYZWU85Gw6762AVjufLSObw8gKMQJQraUBsxq7BmgL2mvr1sxyAVbTJa6t51nNlBjyO/DaLTz3wDgTYTd+p5Unp8OspMoUKreA5VamjHaOAi4r4S6ARDvZldHQVmPchF23/HeM6WXbjXa/UzncVvdku+oGUt5tvZPMm3e67gErv2T1TlD/t5op304Mbjf2QCwn6SkzmseIVrfYKOZNfhRNshJ/e6NaHTQZ7B5p2yq5mI3mEVDwO630+Rz69zUQaC1TZi0nIQoC/X4H/T4bQwEnfR470xsPDbneYDVTQpYbpMs1FuJFzq1kkWoyNtGEAthEM/sH3dw/HqTeULi8luPxXSEqdZW1cTWa560bSawWMw6LmcmQk59eXedKJEPAqT70Bww/DppvSixT5nsX13hqb5i1jMTZ5QzpYpXdITeiycS51RTVeoP7R4O8ej3OeMhNIl9hIuzCZRUZDNgIyVbcVhMXV7OMBx2sZRQaCiQLEjeiBYJuy0bstK/puLYDKLSmP+S0YreKzKxmWU6XkOsNBvyqn426jMDOsEs/1p1AFO28GZkmQFtTWrhlOqwBOZ2uk+3eJ+1imNsZx3Za7x3JfRoAwsa/m2s7/in3zGvv1XuttvPCNB8vcHI+xVRf+/SedLHKX/30OqcW0zx3fJRPHRu97XFsRbHWZuP2D6rMxdaZVo2FcnYpzeHRwKbmW/eIURSenOrjo4eH2jYxL5xbYyVVxmExc2DYx6ePjjZtQ/dZWc0hCAr7Bn28b1eYZLHKJw7find+8VKUF85FqMp1xkMu3rc7zNSAZ1Nzo/kQ/PYjE3zyyDAC6iSG8aW9tanrFhM64LPz05PrKA2F+WRRT0EyNnitNHkj8yTgsm5qRH/14ABnl9OEXNama6UbY+XNuQSn59PsG9rsvWEcc2szp0mHChWZRKHKM/v68TvVRJegS5U1GGfejeM0/ms8Ju3OszZb7rFbmmQk7dajAR+7+9wUq3X981YgsZM0aqt7TJNdaf8al28nRWrdN+077YAy4/benEvwwrk1nj2knl/tvzVWQScmxNPT/ZvMSuGW9GorSVi3/fc7rbqUarvfaz2vGghiBH5bj6nx+dJpG63nftjvwGk1Ec1KTedZ8+Bolbe1G5dxO63AYKdIdI1lol2PHz00yOW1HJF0mRcvRfUUJFA9T9ayZf1e2T/o4zvnI1xYyQCQK6vH47kH1efY9y9GEBB0AMroV2RkqhnH4Heq+6c9d1rlRtox047vRw8NUqjIuGxmBISu18ZUvwc2gFxFgb955SbJYoU3bqYwCWqK1ljItSH3slCsFnDZzF1lOCuZMtdjBa7HCk2eU92YT61/C7isHJ8IqnHKfvUcGSOatWMQzUrEC5UtWSLt4sG7AWztfge7gTTpYpWw28aTU+Ftg5TttttpXHfKvPnHqHtv479kdbe+KQAIGw93of3HW82Cx/ISC4ki4y0yHeP6tZSZVtPZVvaD8bPtGOV22v9ujbSxSW41pdX2NbABKowHHRRrDd3v5PxKBlDYN+AjK8ksJIqkizW8DpGRkINer01nrKzlquzocTIaciOaTRTKVRaTRX44s45NFOj1ORgPOagrIdxWkcGggxvxIjdieUpVhX6fmUKlxg8vZnlkd4gdYQ/JYpWFRJEvnVhkIVXkajRHfeNY1eoKJ60p5IaCVKtzJVIg7LbjsJowmQT+xaMTKAhEsxViWYnxHg/XYnkWU0XOL5kY73Gys9fN1IAPp9VMulSlUqsjVW818iGXFbmhnjfNuFZLNtKaftFswuMwM1C3E3Bb9GsHQBDU9KOpfk/b66odoJGvyLp2WpPytJ73G/Eiy+kSQFt/n9u9T1qX7ySDu93rr6t5r2gi4LIgiu0ZNdsBh+6Z196r91pt9cKkARbnVzJ89NBQ25eumUiWUwsZIlmJpY2G/XbKCHo8e6i9Me5Ws3EzkSxKQ+HwaIDffXzHpnG+eCnK+ZUM9w1vlqUYX2afPTRAUZJx2UW94TTSwDWflf1DPqY2qO7aus4tpfmfvn6ezx4f5Zl9/aSKVSpVmYMjAY6OBbgSzensFE0SpPkQaKaJRuo+3GpG8lKN0wtlltJl0sVqk7GikR1SrTd0L5xn9vVveolvpcnDZi+L1pfsHb1ultNler02+rx21rJlXry4hoLSkbEiIGAVTewd6DyjqzVzVbnB20tpHBYzx8aDhNxWrscKvHEzCcBEyKVHwGqMGeN5adfIautvB6DsH/QSclspVuqcWcyQl2pcWMmwkCjyhWemN61Ha86Hgw4dYNBAiqeme3XpW6d7aat7zCjFa13eYxOJ5So8NdXX9B0jSKLNtENzYk6rDEKL2hUQKEg1EsUK67nKloy1rWbdt9q/bp93A11av6eBqw6Libfm0jx7aEBnK7QuO93vZWGkxHS/V9/OD2ai1OoNLBvvGK3HymgW+9r1OAVJ5nqsyPVYsYnxpQGKU/2ejr417fbl4mq2CRhsBXXykso0++bZVV6eXQfUZ90zBwYY8Nn5uzfmQbFv8jw5NZ/ipY3lP3NslGNjAfq8do6NBzi1kGZ04143ymmePTTQBGi1MtVa/Zl+5cAg6WJVTzqb6vdydCygP1+0fTk6FqBQkVlKFfnE4WH8TmtTqpDxWP1gJorDasZpMfPxjfSzh3f08Py5FX46u47FbObx3WH+5MUrKA2F90/3NjH1oD0gYDQR1sDiVrPd1mu63Xparw0jo0X77OR8kpdn4/px6lTtwKhuIOR2pUbG781G83oa1u3W7fpDvZvq3pv4e6y2I/Pp89gRTaaODduWDZ2i/hAavOQ6rr8VxOgkz1hNl7gRyzMSchBytZf4bOXz0okp0Nokd/wsqHmLqCyRiysZTlxP0uuzYxNFpvo9yD0uhv0NRNGkg0NSVeZSJIfLbiZerKIIqoP46cU0b82nqFTq7OrzsLPfy2jIzWjIzcwGXXso6OD4ZAhQ6HHZePV6nKV0kd6YlZV0idPzKT6wt5/ffnTiFmMl3cxYKch1rsVz7O33s7vXw9mlNHsHvSynSlyNFlhMFZAbAtWGwlS/hwG/nRG/qh3t8doY8qlyKI11YtsAQjQ5F6i0+3SpOUZZYy7F8hLl6i2minZsATVVCIVYXgIFHFaTDrC1uz6178mNBnlJxmExMRvNb2KmdEuieifqdoCZO0392eo+3E65LCZmsxLDvnsyoHv13qitXphOzCVZy0hM9Xs6zoTtH/Tx3AMjejzw7ZQG3Ly9lOb+jajh1s9nItlNM6ztxqD9q70YGzXnRslB6+dht01/KTXSyrUXcS2K88iYv63Pivay/qWTS7x0RW1w/tMn7+P/8ZG9nFtK86WTSxQrMifmUiSKFXpcNn1WGKBYrfPNs6ukilWGAg4i6TJBl4WCJOtjPLOQIivJeO0iR8eDOhVdA2Lm1gtM9rrV9I+NxJCJsHvTS3a749TaiBsZLVrDd3QswIOToaaZbS3uuV3D/OBkSI9d7USZvzUbn+W160nieYlXZuNMDXiYCDkJuazsH/RS0FgILZNTrc1Aa3NklBu8cjVOoiBxfjnLhQEPKAIPTqogzuO7VQBNaSicmEvqjZM23nYeRBpIsZQqMhvNNx3H1up0jxnHa2TAGJc/MZckV5ZZy0ocMny3KMkkiqrnWzvGiVZGAOahyR59396cS9DjspEsVlm+g9ShdqBWa+Paaf+N39VACo9N3PTd1u998+wqL5yLsHeDtSYYZitbl20FCzVgYz5eaAIVOwFyP5yJEnBZN6Lcq01Ml04SuG4MroDLqkvK2gFoxsZ9qs/NRw4O6BKrYb+DL51c4u3FNKsZic8P+/Vj9NguNW49mpN4eOP+nI0VeGKPuk+lap3+DXBh/6CPByYDnF/Osp6rbJIxGZlq7SRaRlmgwyLqgGKrbEhfxirymQ7sRe18/OhSlEyphn3DyyTgsvLE7l7SxRrDQQdXo3kdKG6VdmpjagUEjCbCs9H8JvBH2/5WLK9OsjPjNT/sd+CwilvK4YwsKGM8eKflbpcZcreMknczI2Wruges/JLUVtIHuHvWx3Y/11gf3ZJ+2vmudJMPZcoyZbmOaDJvGW27nX1tJw3SZD9a0278TFvnarbEzfUiArCWkbDbzYQ9Nl3OMuR3bgApWZaTZRSlzkKyzFKiSKlWx+uw0u+143Na8DssHBkN4LaJTA14CLks/OTyGpmSTMBlQa6D3WxmR4+FV64lGAs6ODbmR6rWSeQrvHkzyVqmzI14kX/9oV2E3TbOzGdI5CVQBEZ9Dkr1OlmpxsMTYfYNeTGbzTjX85xZSiPdVLBbTfgcIoM+O/liDakqMxl2YRfNeJyQl2T9nHnsZgZ8dnaGXSSLVRaTJRQUxkMuPHY15cgImIlmk+qzYlN9VtoBXBpTRTO5lesKorkBeQnRZNpkfqtdV7GchGdD5rKWVX+QjMyUTklU25GxvdPmz3ea+rPVfbaaLnFxNceBIS9jPe0R/5uJEpFsGX/Cyn0j7y4Dr3t1r26ntuOtosUiW0SBD3WhOgdc1juS/8AG00RRuL8D0+THV6J89dQKnz42vGlGsBtjYT5e4N+/cIlIVgUIfu+Jnfr3NbDDKgqcXcry5FS4CSDQwIwet5Wr0cImyv9MJMvF1QzfvbDG3n4Pyxn1mfnZ46P6v5rM5b+/ucBsNE9FrutsmGK1zsn5JD+r1vnR5XVsoomRoIMj40Ge2dfP6YUUP70a59xyhkMjflLFGnsHfYwGHCAIuGxmZqN5Ti+m9dSPyV63zlBplUG1RpJ2m6l97Xqc2UiOTFlNgdFMO5/YE95k0Nkt3lQ7H189vcRXT63w/qkeBMGkAz7a8g9Ohpjq9yDVGpxdTpMqVFXWTSTHfKLIqYUUv/XIJB67RQdIYDPbQDsvneJq3XaRm+sFVtMSYbeNeL5KslilVK0jCAJfeGZa99/ZjpeAETjSGiWjV4oGQnW7v4z+Kf0+e9vtGiUtRqDQZRfpcdlwtZGlGo+DkaVivEdaY3W7NVTtfF6241vRqVolSReWs5SrdUobMqtOXkCjAQdhr40HxgPs6OssMYPNjaIR2Bj2O7aUPVxczbKaLuOwmilV600gyv7BZi8gbd8LktyRwaWNodUw97FdYebjBb58aomHJ0NNjAyjt5Ke/DUS2ORBZPS/6iZxCbislGsNZqNq1P2H9w10BD6N3kJ+p1W/93/j2AhLqSKjAYcq2ZNkHawb9jv44sk4kz1ODo36NsVBD/sd/JfX51lKFhkNOfnk/SP0uK2spMpNAM6Ll6K8cD5Cj9vG+6d66PXY+dWD6rXSOlYjYGGMftbYN8ZEIiMr6MRcsskAXAOPu11T7UC47crhjN/txii5U2bI3TJK3s2MlK3qPQesvPjii5w5c6bpb729vXzuc59r+ls+n+f5558nFotx4MABPvShD/1jDvO2ayvpA2w/HrlbbZchcjtJP3K9waVIjmypwo4+T9smc0+fG7NJaGIgtEt2MW6r0Whg6jDj38oUMI7P77DoQICxksUqF5ezZMs1BvwO3rc7TL4iM9XnQarJvHA+gs9p4eRcEpdNVE39FAW7xYzDZmbfqI+w20aP24YoCIiiCZfFxKmFDNFMiZ/OFpiN5jGZ4IGJEIdG/cQLFV6P5bkeKwCws9cDKGTLNY5NBHnjZoKAw8xfvTzHUrJANCNRlhs0GiprRqlDA4UzzgxHE35GQi5cNjNBl4edYReRbIXxkIMrsQLXEgWW0iUODgcYCTlw2cygCDhEE7F6g3KtwYDPobNwbBYTPW71XN8yjxX189eOCdQu6SjkshLLSzqolpVk5Hqjyfy2NbpYYzZN9XkQTaZtM1O2krH9Isxe70QGtJ2K5SSuruXo9Vg7Aisem4l6XcFj+8UmhN2re/WLru00QTORrWOR77baMSi0ShervHEjSSwnsZLaLDHqtA8aqLKYLDIWcjW9tJ9bSvMv/+EsyUKVhyaDfOTgQFOz/7XTy3zz7AqJfIVn9g80NTrpYpW/e32emUgWqVbnarRARW7wySPDG81YhmhWIifVdGaHosCBIR+/+fCEnpzyV6/c4OXZOA/tCPHsoUH1WaYoJEs1QE2kuLCaxWExM3qfi5Ggov9muWxmnT1zdCxAvlLDaTGTLFY5vZBidmO5Vn8HTQKgoDQ11BobR/vO/kEf37FGiK3ndd8Rl9XMjfU8BUnmwclQ27jmTuyR67ECiUKF128kSW1IbTUQQ5PpLCRLpItVDg/7sVtFRgMOXji/ht1iJuSyNc3yt5MVZErNvgSdmsXHd4fZ0evW973V70Abd6cEE+NxbdcoRXNlbsYLRHPlbd1fRv8ULRmqdd+MbBmjPOMzx0b1v7duq7W5bnfMjE39xdVb3iPasc6UqjqI087nxcjO0M61oihtY5m10pYrbky0GRknIZcVh7Wuj0OXBzYUvXk/Oh7UPTM6Sflaz2e70kDJTucm4LLyzL5+XrwUbUoVMm5H8y/y2C0AurHp0TEV+JiPF7p6aRirk8zRmPBzYMjXdK6N595jE5s8koz71Lp/z+zrZyFRpNFQcNtF3S8G0MFBzfOoHVD5gek+/Rj0+x1NQOTF1eytFLWpCa5EcxQrdR2w+PKpJb57fo1CpcaFlSwO0YzdKqIoCn/+0jX9GfnMvn7WMmUShQrRbIVkscpMJIcgCB0Zaq1sFOM1rz3vZiKqAfXpxXSTAXgreHwn9U4zPlpBxX/MVJ53cwJQu3rPASvf/va3efXVV/n1X/91/W+VSqVpmZWVFR599FF6e3s5cuQIf/Znf8YjjzzCV7/6VQShg/HIP3FtR/rQahZ6J9WtGdzqs06gTrJYJVuukpPqHeVD7RgInaRDsbxEqiDhc9qaDHA7SYNagZhWnxWtQi4rB0Z8pAs1pvo9TcygH1yKcmIuwWqqhN1qYmeflw/vG0BR6ohmkV6PCg5cXMvyyuV1pHqDhyYDvHYjSTIvIdVguMfO7l4XQwEXu/pcLCZLlKt1RvwOGg0FQQCzoLB30MdCooBdtPDYjjBnl1PsH/AzGnRiFiCRl6grAh6LiYYA6XKNHT1uJnudrKQrKIpCwGWlWoehgINMuc6o34EATIZclGsNsuUqN9er+B1WKnKDoYCdSk31UYnVG6xmJBQU7BZRB0c0rxVNxtPKuGiX5iOaTU2JPnariN26wX4xSIaM560VsDFeF0bmlrZuI5CzlYxtO74lt8tquRPfn+2UaDbjdoiIZnPHZcyiCb/TgrmDT8u9ule/LLWdF8Fhv4PBgKNrJOfdVrcGaCaSxWIWeGhHiI+3SIzSxWrbWUZNWrSSLjEWcvFHz+5rmiH80sklkvkKZrPAY7vC/PNHJgAVcPmzH19jPS+RLcvs6nXrun/jeGZWc+QkmfdP9TAccOoslT958QrXYnlm11RZyF/8s8N6Qk8iX+Hv3ljgN0FvHADdmPXHV6I8f3aV9XwFh9XMM/v6kap1bBaB5VSJUq3Ojy/FOLuc4bcfmWAk4OAbZ1YACLqsCILApUiOw6N+qnJjU2OreQ5Uag3OLqYp1RoMBRyspss4LSacVlFvaAMuK7/7+A69qXzxUnRjn2v0uG1N3i7dzoXW6Ez1udXJEFHg6nqBRkPR2TNHxvwICETSZUwmgXKtwfv2BDcaIwsKCkVJ5osnlvTEnFZfGc2cN1mo6r4E378Y4YVzazw5HWbA52AtW+blK3FdDtPNRLLd9bjdpimSkciVa0QyEh87NLzld4xRzp3uA+PfW+Vs20kL2Wom2tjUj4ecOpPkylqeF85FKFfrPDXVRyxX4dh4UAesjHIYrTnXpFZ9XptuOGo8vto1cWTMz3MPjjYBPxrAp7E9vnV2lTduJjk6FtBZB9r5bZUctTMX7uZfYWyqtWptJrX9i2RvgSdGn4xWnyLt+GvLLCRLm4xdOzXJ2nndP+jlr165oQO92hjyFXmTv4sGFBh9O4yyl07Pa7/TyrGxAFfXC0QzZY6OB5sAhm+fi1Cr11lIlnhmXz9HxvwUJFlnyBi9VPKVGtejefb0e3TGiuYZpaDoYK5mnOsUTRwc9lGr19nR60YRBF44F6FQkanIMulijd9/ejcvza4TL1SZTxQZCjh18Fvzg9GAUyMo3O64aNeBMeHJyD40sl7WsmVOzacY9jvuyKPkdhkfW4EXrfuwXTbYnWxrq22/2+s9B6wA7Nu3jz/+4z/u+Pm/+Tf/hnA4zOuvv47FYuFf/at/xb59+/jGN77BJz/5yX/EkW6v5HqDrCRvStFpXaZdPOztVrdmcLuftfOZ2NHrBuX2Zu47bk9Rm84ed7NnSqusRCsN9DGZTF2PoWg2MRZ0M+RrsJgushgvcXw8gNth5YndPVTlBr79FpaTJT52eADRZOKlq3EODNoJuaz8ZHadM4tJzi/lQGhwZS3LcNBFwGXj+HgAk0lANIvIdZk3b6bp91lxWMwMBh2Ua6pRbiJfoVSrky/VWEglyZVqSLLMUrrIjh4vbrsJr83CXLJAUmmQyktkylXWMiXSRT8rmRIKIJrMDIccHB4JEvZYaSgKh702QCAWy5MsVDCbBBw2E06rGQQoVGoUKzJjPU7GQk5kpQVIManSH7FYbXsetYQauXHrPGheLK2sI2O1AnYd44nrDd6aT+n69rDHtgno6yav2S5gcjtMk27r7DaW7Uj79g54sIpbsHW2SBa6V/fql6W28yLYLU4X7jxCdDvfhc5slm5RvtrM+dHxIL/7+A593JqM4vHdYSpyncMjAT566BZY86WTS1xczbCz18PTe/v4xGG1Mf7j711CQOCzx9VG8FNHh/UZXVBlDX9/YpHZtTz7h7wcnwjyLx6b0D0LXry4xl/85DrZcg2baOLQaAC/08pEyMWpxRTLqRKvXU8Qz1fYEVY9UmajeUaCTn5+I87VaJ7HdvbozJZCReaHl6KcXc5gNQt8eP+ATpMXFIVLkRxvzCV1dky6WN3wYCmRk1Qj+B09LlLFKk6LiZsJlYXgsJp1CZGR3h5Jl9k/5GU46MBjs7Rt3mciWV6/kSTosujHxnjutBf1R3f0EC9WKUqy7gOhzS4bWSSaRCjgsvL9i6qfS75S0/0mVjJlCpKsN7fP7OtnNponmpX4/sWIzohYSZW5Gi3gspqp1uvMruUpVGRevhJnOOhgJVXWDVC7+Yh4bGJbVkfrdbu7181IyMnu3s3R00bWjfbfxkjt7dwPnZZvdz66pekYQSUjWKN5xQgIuuxmNODQpSYzkVwTWGD8F9ClVqNBlz4Go1Sk0/3cjik0HHTQ77Xz8M7QJnNfo5ToVw4MbiRIVXhwMsixCXdHxlI3dlxr5LW2rFF+ZpSdGAEMTQ5kXEYzStauZ2MiUCu7QpPvtRrGamCBoig64GJ8JuuSpEqNiZCrSfZiBCBPzCWbUnpemo2TKFRYSZV1BpB2XWgJRKtpFTDz2C38cCbKlbUcw0EHAoIOdn311AqJQoXARqzySqbMb20A1Sfmkjw5HdafGTORLCfm0zitIs89OMn+QR8/uRwFwC6aOLOYxucQ+dLJJd6aS+Gxi9w37Oe546NNvz1GkGQk4CBRkLi5XtBlWOoztdyUYKem2iWZ6ve09cYKuKwkClVeml3XvV5+0dUNvEgXqxQkucmk+G4YMbcLlLzT7JtfdL0ngZXl5WX+7M/+DJ/Px8MPP8z09LT+Wb1e5/nnn+dP//RPsVhU1HfPnj089thjfP3rX39XAivbafQ6xcPebnVrau/EL6JbA7lVc9nNkNbIbNCOTztZCXQHfdqN9635FHPxAtlyDbNJ4PE9vfhddj59bFSPXL6+XuQnV2LkyjVimQr7hryYgKl+H+MBt85YiRdkXFYBi8VMPF/l0moKq1nAZjFRlUUWEyXieYmDo37qio/59QJCA3rcVvYP+ZHrMmeXslxZy3JyPkml2qBSryPV6lRkkDfGfSOZIVmU2dXrwm4x0+t24LOLxLJlUGxEcxUsZoHRoAOzSeDAoA+3Q9VEl+UGNMBts+B3iIScqlyHhurBogEpWzEwtIQa0WwiYBF1I9tMqYqCQJ9nM7ul9fy0O8/G7wSc6j1rZGVt53o3Rm5Dd8Ck3X4WylXOLGU4MurH7bj199VMiZmVHPuHvYyFtj+rsB1pn2g2EfbYul6zsqKQLdWQlQ5UsHt1r95DtdUL1lYvbN0+387LXifwZyaS3RQj3G7MxuZJm5n/yMEB/uKf3a//3Qi4gOqPcmg0QLpY5QvfusDPriWwiyYCLque0KE1K5fXclyKZFEaqtzn95/ezaHRAOeW0nz+H85yeNiH0y4yGnSAoLJbNInDWqZMudbA57BwdDxIrqTOTL90OcoPrqxjM6nbHPI7WM1IfO59k+QrKntDUWCq343XbmHvgGru6rFbGPHbyVVknBZz0wzzfLyA1yHy2O4Q/V4Hl9dyvDy7zpNTvTyzr5+f30wwHy+gpZW0HstW0KNdw3pxNcuZhTTXY0U8dos+U2xcT16qMRsrMB5yNs0aGyU1L15ca/IpERB4cjrMSqrMheUsgxvslCNjfj60v7+JYaCZ6j57aIDnHhxtGrfdatYNeUEFoeCWHKXV5HUmkiWalXjpyjo2i4mr0RwLiSJP7Ak3SafgFmBhlKoY1ycg6PukxUm3Xved/Fm06731mBvvn7xUawIajPdAO7mEy2rmWqzARw8NqnG3G6X5xmjfN0bVGq+D1vOmAQuHRvyUaqr0A9So3Hyl1iS7MTJOjOvLlKo6eBVwWTk2FiRRqHJsLLjpOWD0jQFVHtfjttHrtTU13q3HuJ3JrnYstQmkQkXWPzP68xiPg99p3cRkMwInmuzlSiTLQqLIZ4+P6qbUmtTm6FiAYb9DB4jhFiPp4ckQ378Y4cpajlSxxkKiyPmVDNeiee4b8eGymnX/IwWFq9ECR8b8ADprzJhk9u1zERKFCj1uG09Oh9nV5+LgkIey3GhieDyxJ8wzBwaY6vfw4qUow34HfqeVi6tZTs+neeNmkh63TWcbFSqy7o9ivB4LkszXz6ywd9DDJw4PN4E2WuqQZrKrpQhV5Aa7+tzs7vXQ57UzGnDwgb3q8ejkq3JqPsX55SyraYnfenScJ/aEOTWf4uXZdT5i8GTRkns+clDcxJ7SrpF2Zr13Wrc7adBaM5EspxfTujTpbmVB7bbVaR2/bDIgeI8CK5VKhYWFBVZXV/m93/s9vvCFL/CHf/iHACwtLVEqldi9e3fTd3bv3s1bb73VdZ1GSVEul/uFjL1dbUdSoLEFOsmA7ta0sxu4023dnRpIjX2gMRu0z7qtq90YjD4sxgjndrIgud5gMVEgU5bZ0+duAnM0kKdSkylINQb8dsZCLo6M+nXvEE1+O7OS4/RCilqjjt9p5QN7exn02bkaK1CWZdKFCopiIl+ts5goEC9WsJhN2EUBUNjV52Y46OZqLMeltRx2UWBPv5eDw356XFbmkkUODPqwWUyUanUy5RoCCnIDKnUZmwAz0RxBj5VyqUayICEDQYeZgNtKo64QK0rEC+CwmCjLLvYOebGZzAiCQL1RJl2u4XNawaTOZCCAzWLCbhXJSvImU9pupR1r34Zpnc+urgPUazaeryAI6vnr89qRqjJrmTIepyoJar2mOl1r6jVu4oGJYFsZULeK5SVSxcqmCPB21Q4kPLOU4fq66hXw+J5e/e+JQoXVdJl+v20TsNINOOz3WjizKHFsrDMCr8Wayz0uhvzOtsskCxWi2TLJQoUdYU/bZe7VvXqvVDdWSycpjlbz8QKn5lPs6Xdv+nyr725V7cATzZD2s8dH24653Yuz5sWyli3z8fuH+U+fvE8f35dPLbGQKGI2wY5e1afFaGr78pU4tXqdfYM+9g54mer3MBvNE7kY4YeXorw8G+fyWo7f/8Bu/s8PjVOUZCLZMi/NrnN+JcNUv5dDIz7m1gvEc2VOLWbIS1UWkiWkap2dQ27ePxXm+bOrvL2Uxm0X+cIz0zw1FWYpXWYk6ODlK3FOzKV4arqXkNuK0y5SqSmcmEuxo1c97nmpxoDPQbJYZWevh8d2hRnw2YnlJJ6a6iVfkXHbLARdVqKZMt+/GNHTN7TzbzTRTBaqenyx8fiPh5yEXVZchibUaLZqZCVoDXW70sxa85Vas9SnWNXZKe3kDvsHbxlWGtND/E4VXNK+p21bURS+e2GNgY2EN2OzrjVdTqv6W3d42IdNNKE0FASETTISY2OqXXvFSp1EoUKxUlf91Tb2rZ03yf5BX5NJrRFkAZqYFO3ugZ9cienbMt4HRgPUgiTrDX2+UuNarICCssnfo5M/h3b+tPPWDrDRrg+NUXRhOctTBmNoY7OvGS9rDJiLq9mmcXSLAG8FgIxGvK9djzd5jrSrN+cSfOPMCns37t3Ti2mm+j0cHFHX184AGegI2Az7HRQqMm/eSOAUTVyO5pGqdbJlmevrBcZ7XDpTRZOvPLEnzEqmzGq6TMhlJS/V8Dt9OlPshXNr1OoN9g56CLlsVOUG0WyZS5EcI0EVKEwWqowEVJ+T9VyF5XRZb8Zfux7nBzNRnFYzw0E7D04E6PWpEcSlagOHVSRdrOj3p+YNo51j7dj7nVbCLitDATuD2LhvOKDfe58+esukO1+59Tx/cy5Btlzj0moehzWq38PaPWi8fo0pQnaLmQGfg996ZIJMqcrfvj5HuVanXG3o16/RgNtjE1lKlbhvxKczCNeyZZ7aAIx1OWK/h48cFPVnf7vfHyMbTKs7BRnuZtLAeGyMwN+dyIKM49/uxMZWbLd3I+DyngNW/uW//Jf8zd/8jf6/n3/+eT7+8Y/z9NNP88gjj1AoqM2Rz9f88uT3+/XP2tWf/Mmf8Ed/9Ee/mEFvUduJftXYAp1kQHdrpNkN3Om27k7eMCr7QNz0Wbd1tRtDJx+WduuJ5SReu55AEATMJoH9Qz4dFIhmJSLZMn0eO2M9bnaGXcj1BicX07isZipyA7NJYDzkYv+wl6DbQqJQwYSJeqPBpWiOhXiJmUiGWFYCQcBuFrBbLPhdIgeH/Yz1OJmLFYEGboeZJ/f0oDRU8MNrN6vARMBJr9fO4oZ53syqylZpoLCzx8PeIT9ziTyiKCJXFcZ7vNQUE5lSlcWURMjr4PhEiHoDBnx2FpNFRvwOlAb0B+zISoPdige50WAxWSInWdjT71UBClO16dhq/20ElTLFKvF8RZ9VSharm1KWYjmp6dhryUDa+m7Ei6zlJLJlM30++yZpkbaczy7qZrja9wQBHbS5retZAdFk0uVjt1tHRv1N/2rV47ExGLDT47Ft+k43VsqFlTzpYpULK3menG4PmshyQ43483fW+ZhNAh67iNn07vSGulf36h+rtjL8e/FSlJc2Zg5bPzfO5t/OS1pro278+797fka//40yGKMZY6uM4uR8iki2zKDPob90a4ySclXm0V09OCwinzg8hN9p5Q+/c4m3F9N8eH+/3sQP+hy8NLvO24spbiaKWM1mHpwMAgJ7+tzMJfK8cjVBvlxjKODgw/v6+eihIR6eDPHSbIw3bqZYy5ZpKApht52npnoRBIFPHB5iJVOmx23lwJCfXz04wEwki8suUqrW8dgsesrQUqpIuqjKAbS/3VjP840zK1hMAu+f7m2SUmjSjrPLac4vZ7lvxEe/18HXTq+QKlW4spbntx6ZaJu8sZIpE82UeeHcGk9Nhen3OyhIMm/cSDK4Mcusfc/YtGtmoFpz1akx0JrkaKbMmYU0ewc9m8CUTh4Ixphk7Rwb/VU0yc9KpsyphTSXIipzJ19Rpd/ujZn4TKmqm4Yen1CNSx/fMHOd6vdskpftH/RuauTdNlH1pLGJPDgZajIbbfUmAZju97IwUmK638sr19Z1E1zt91YDXrQyNmbGbRkjvw8Z4suNx0Fjg0z3exn0OVhIFHl4MrRl89QpxaidREYHezY8TzQz3Ei6zMERHyG3GqU9E8mpHkAbx+6W30jn5nLY72hit2h1JZrjzGJGZ+SEN5hMRubSbDTP2aUMsXyF5PU4I0HV8Dgv1ZiNVpvYVK3ViWWwkimTL8uUaw3OrmSZjea4b9jPvzg6zHcvrPHwhvykkzmyBrZoTK/9g7eStxQUzixm+OC+PmbX8pxdTusSrtlonh9cWuNqNE+/1677oczHC+SlGqENxprVbObx3b26WfHltSzODRaeJvnRmFQeuwWPTSRRqHAzphpWa9Ih7RprNbjVmGLPPThKplRldi3PQ5NBltIl9m9EY0fSZf38X1zN8vBkSP+3NWkompX4zvkI19cL9HntPLarh8trWS6t5rGKJt3nKV+RCblt7Oz16GCSxt7Rznern4p2LXX67WoHGK5lyyQKVd37Zqu6WylNK+jSSQ601fpbJXPQLAc0Xued/q7Vu9l35T0HrOzbt6/pf3/sYx9jYGCAn/70pzzyyCO4XGoT38o4yWaz+mft6gtf+AK///u/r//vXC7HyMjIOzjyu6u7Ne28m2jYbuvuFIurLbt3sHl77dbVLo1IYwOMBx2whfxHi1G+Fi3QuyGt2Bl26bKfgMuK3yFiNjl1kGc2muf6ep6lZIket537Rn2EPTZCTlXe4ndaeXl2HdPGbJJoMiHLMiGnjd29bnwOGz6XyHpG4maiiNBQOL+UIZotkyupEcf7hnwE3erMwGqmQlVu8NZCmg/tCxNwipxdTOGzmTk86mM45GLQ56DXYydbrpDMVZmXapxdVs0Uez02wl47948GCLqtNBpgFU0cnwyRKFTo99qJ5SoUpCo7+jzI9QbRnIRdNOusES29BwVdxiPXVQBGbjTw2i0IgoBoVgEVYBOzRarKrGXLBJwW/Ry0XjvaMR7221jJVHBZTE1pQtryRoAGaGuO3O6aa3ctd4oI3265HdYmpgqo12C6WOPAsI8hXzM4orKobsVXt9ZY2EkkU2Ys3B5UARBFEwGXBbGLMe2Q38YbjQZD/s3Azr26V/8j1VYvd92o1a1UfmN1a+46pWe8eClKsSozYjCTBfXF8m9/voDXbtGbFmg2Vv3E/cNNL8wvXopyYSXDwWE//7cndulN+pdPLRHLlbFbzezu8/DMgQHOLaX5d8/PEC9U6PfZed+uMFMDHqb7vezodZOXavx/f3yd5VSJgNPKY7vdLKVKnJhPsrCeZy1XxWk1c3Q8iMUs4LaZ+fmNBM89MMZE2M1yukSmJPMvHpvQEzG0GeoBn51DowFeux7n3EoWp8XE5bWcDsj8xxevsJgqMdWvjkeb9dckGE/sCfONMyu8dj2BVTTxsUPDXFnL8fLVdV67Hmc06KTfZ2+SfWighCJAVW7w85tJ3DaRR3aGGNwwwz0xl9QBDuM1YDx3n9mI5m7HZNLOfV6qYTGbGA26OsqQjGk0//m1efwOkcIBVW4TzZR5aTbOSED9LSxKqsRDY0tM9bn5yMEBetxWnW2iNVOaX8NaVsK9wQxt5zek7dPVaJ5KrcF4yKl/1sqq0Mp432gAzrDfwZVojgvLWcZDTiLpMlmpRiRd5vBIAK9DZNDXzHDRruNWBofLZiaalXTfHe3cvXhxTb/nTi2mePnKOj1uKwM+hx7V2+oz0loXVjLcWC9wYSXDB6b36PvRen3ALSDoRjzPibkUu/pcpIoquOixWbgaLXBqIcX1WJHxkJNfOTDI7z2xs+kabXfcPDZRZ5mVq3WOTwR1yZbGjrmwkuZmvECPx8JsrEDIbWU+XiCWU9/7pJoaYlCRFTw2yybAo1uz3a6p3D/o45NHhyhW6hSlGqNBB584PKx7lGhMca3yUo0Tc0mdedEKtgRc1qZGGFQG1EjQyfSAV/cJWcmUsZhMHBz28/GN+/6HM1F+enUdi9nEIztDTA94dfmNdh1fjxW5TlGXpg37HZxeSKnsFr+DFy9FObeU4Vo0h9suMuCzMz3g4eCwv8mUVgNh7BYT9434dAnUS7Pr+jvtz64nyJWqXFvP43dadDDnSyeXuBTJ6efwA9N9ZEpV4sUqV2M51rJlxnucqteVovCdC2tYzAIjQYfO9lrLlnFtjNl4jWi+OBqDTIuz1p7zW8lwtLQyzWB7di3PS7MqWNnNf2Wr66S1jBMF241gvh1ZULvf2XbsOtjsMdRa72bflfccsNKuTCaTzkYZHR3F4XBw48YNPvjBD+rLXL9+nT179nRch81mw2Z79zYvW7Fatvr8ThktdyIxul3Dz3Zj28qjwrie1XSJn19NUlcajIVcPLJTpei9fiNBtqTKu/YOeHUj3NdvJFhNl7CIJsZ7XOwb8FCs1SlWZa6u5TEJAifnUmSKVfwuKx+7b5BcRaZWb7CWlkgUqkz121hIlZhPFLkazXNpNceg30a/z8mOXheKIHBuKUO5VsdqNpEp15hZkbkeK5CTagz6HFxcy9KoKzwwESJbrHFmPoXfZuFqIovXIdDjVh9ixUqdp6Z6kRoC88kyNtFEqdZgcjJAtQ59Hht5SWYlXaLRUNihqMenx23DajGpP7I5iXSpRqpY2TCprSGaBRwW1dy2oZgxCdBQFPwtQJbxPM5G86xlJUSTqaMsSwPbYjkJ0SywkCojmgXkRgPRdCtNqB3I1gqWtIt4br1e7lYG16lmY3lm17JMDfgYCzWvN5aXWEmXGe9p7x805HVwaDTAkLc9NbhQrnI1mmcs6Gzypmmtn11LcXO9yM+upfj0sdt3jr9X9+q9Ut2ozN1eGOfjBa6s5XhyOsyDk6Gmz4xJL9A+KtT4r/adHreVXz04uCnFR0DA57Cwd9DT9ELYKiUyei60buPFi2tcXlP9No6NB9k74GOq38Nr1+N848wKy+kSAz4Hzx0f5QN7+8mUqnpM7JPTfXz2gRFOzqd5YCJIr9fGH3/vCutZiZWUxEfu60dQYDDgIF2s8fJsjPV8lQsrGZZSRd6cS3JzvcB3L6zx2eOj5KUaN+KyblAL8PUzKxwe9pEs1Xh54+V/74AXt12kJjfIlKpcieaaopWPjPnx2C184v4hrKJJZ8NoyUszqzmWUkVmo3ld9qM1XJF0mUd29rBvyMv55TS9G+xBbQb9zFKa+XiBXz8yzK8cGOQzx0Z5cy6B02Lmqale9g96+dvX5xgNuja9pLf6nAgIXF7LcX45Q8Bl4Xqs2DT7qjUJ12P5DeNhNz+4FMVqEujfaLZ29Xt4355e1rJlvnhiiQPDHpKFCoWAXR/zcMDOqfkUN9bzvDWX5sCwh7xUI5orc+NGkYurqpSoNcr54ckQCwl1wunCar6pgekkITHu86vX4nzr7VWcFrP+/iQgMBRw4rNbGAo4eWl2nbfmUvR57ewd8HaUCBklSE6rSLFSb2q6XDYzpapqYHplLaeblx4bCzaBO6CCIsZ7GFQQSarJWEUTNsut318t6to4ww/gsVnocdsQEEgUKhwc9jIUuCXHmE8WQVFIFCus5yr6Mb0lwzJzPVZoOt8A370Y4XqswHjYyWjAwQ9nouQrNapyA0Vn+tao1Rs4LCLv262esz9/6RrX1/MMBxwEXTaOTwYp1xpNHjPGZ4qxWW01mzUyNjTJ3K8cGFTPczSve5Q8PBlqktho69JkPvPJog4ydtq21ix/5dQyTquZB3eE9Odm63NM80OZXy8w1ONoksRp617Llgm7LSAIRHNl+lHP+0uzcapyA1AIuqx8cF8fZ5fTXFnLs5qRODjkp99nZ9jv4E1Pknihohv0Xl8vsLvfsynhaCaSI12o8KPLMUrVOvlynY8cHOCRnSEUBaJZCYd4K0IZYH69QLFa5/E9YZ47rgLM378YoVStb0xKqtflRMjFy1fU72lgZ8Bl1aVIRplPKyC/HRmOBsAeGfMzEnTy5FS4SUq0le/RdoCVThMFt7ONbttsB+52AkiMUsR2dbupR/+Y9Z4CVur1OpcuXeLgwYP6377//e+zurrKE088AYAoivzar/0af//3f8/nPvc5RFHk5s2b/OxnP+Pv//7v/4lG3rm2kx6yVW3VWBp9Sm53Rr8TINNpm7djIqpVa4MtVdUotF6PrWtiilxvsJoucW29QI/HikW85c8Ry0n6w0H7m7Y/AadIveFgR5+LIZ+T2WieG7ECyUIVn9PCgM/Brx0e4Nxyhj6PnavRHKWqgs8pcnI+yWq2zOmFJD6HyIDfwYFhH3v6PNxYL+C0msiXZSyiCQSFkMtGXqpRrTYIexysZiUODQfo86saVpfVRLmm8M23l1lMFKnIdapyA5NZwGuzkK8omE0mbqZLDHmd7B1w43VaqRdqXF4r4LSa1bSjHid+pwWvw6KDDWlHjfGgg2KtgdxoIKDgc1jpcavASVaSkRsN7BvGZOlSDRqqPEXzs+km/dLTmjakQq0xzEbJT3bj83bpQLfjuyPX1X3x2ESdQfPGzSSCALv7PR29SrTrpXU73bbtsYvU66oUZ9O6tpDxJItVcuWaqtNvc1+fXExzfjkDwI7ezt4pAaeZZKFCwNk5kvle3av/0avbC+NWEqEzCyn2DvqaXvyML5nG9aWLVf729XkuRbJ88sjwJhDH+GLZOrunvSRq0p9GQ/2NfGxXWJ85//KpJc4spFEUODoR4DPHRllMFvn3L1zC7xA5PBbQgYlipc6Pr0R5/UaSy5Esh0cDqrzELvKxQ8P69v9PD4zynfMR5IbCtWgBRYGzy1m8dgsP7ejBbjFRrtX5zvk17BYzUwNexoMO/u6NeTUhaFeYJ6d6cYom/uMPZ5ldy2ETTXz2+KgOep9eTGM1mzEJAgM+p2qeenYVuaFw34iP2bU8qWKVD+3v5z998j698T8y5mck4EAB3X9Fm/0Nua26V8JUv4fLa1mqcoOZSFafVV9Ilri6liMvyby9lFZlSukylzbkCB89NMh3L6zx5s0kIbeVeKGiN5Yzkaye5lOs1HVjzrWMGsUcctm4TrEJvND8Su4fVaUpKApvzKU4MhbgE4eHuBLNISDgsYl840aSYkXmeqzIueUMK2nVPDhZqJIoVDi/nGFH2EVWkplZUVhKl+n32gm6rJxZSOEUTZTkBheX07x8NcFvHBvBbRPJlWXCHjvPPdjZL0hRFK7H8jy+u6dpZvit+SSr6RJvzSf5nz40xfyICtpFc7dYHyGXFZuo/n7nKzUShQr5Sg33RqS2gtLkqxLLSdyMF4jlpCag6ocbcd3feHuV33x4nGhO4smp3iYmjtsmUqrKuG0i3zy7qsctO6xmvndhjftH1ZjiXz0wqK97OGhnJSXpRrgaSON3WnHbRW7G8lxZUyeA4nlVauOxW0gWqlRrMtlyjRvxPMvpZu+NaKbM9VhBP99aA2kSBIaCDj60tx+XXSTgslCp1Tk64cVjs/DK1Th7+j0E3LYmYPfwSIArkTzv39PLgWE/0UyZt+biulwoL9V4/UaSi6sqa0gzKNbYU1qjPhPJ8vUzK2TLNd3vQ3umaGPXzFJBNbXWwaYNgFKNs1aTd2YiWYAmcKG1URYQ8DpEPHaR1XSZN+cS+rqMpQEbLxLVI7mNNRPJ8vIVVdaDAFfW8vS4bXz00OBGGlCWy5E8FrOJ5x4c5bFdPfzNqzfZO+AFQQVC8lKNK2t5EoUKL83GGAk6uX/UT6pYZT5e0L1Kzi2lWUgUOTIW4MhYgGq9wXjIRXKDnXNxNct6XuLaepHdvS6+fmaFXyCQ1H8AAQAASURBVL9/CMEkMJcoEHJZ+OtXb/LZ46O6f4r2PFlNlxkPOXW5lNG/x+hhoz1zw25bEzDSrYzsK7ddpCDJzEbzHB0L6GysFy9F24L/RtDC+FujyeBaJxq6sTo7MUhuRxbUDgxp/Zs2zul+L54HLR1/d99tvirGek8BK4qi8Du/8zv09fWxb98+lpaW+MY3vsHnP/95PvzhD+vL/cf/+B955JFHeP/738+xY8f4+te/zoc//GE+/elP/xOOvn1txczYzmz8VmyUTj4l21l/JxlQp212Si/aqqk1rkMDOvb0e3Wwqd33NU8VRWkwGnLzyM6eTUkyewe8+rIh1y0mxu4+kdVsmZ9dj3NwyINc9+K0m8mXathFE28vZsiXqizEi8xGs5gQODwe5LHdYaJZidGAna+dXmVnyMT79w+wmCypNOpijYDLynjQSUVpMOhz0OOxkinVqNTq7Oh1U6zWSOQh4LQyHnKwmCzhdZjx2kCwQkaCel0BpYrPCrJgot9tQ5IbrBeqDPodLJSKZFCQ6wp2q5mg04rLJlJvNPT4btEsUKw1dEACBRDQQRO7VTOXVeVBO8MuPdJbM6JtLY2NogNoAvgdFgJOK3Kj0faaMAIoYrHa9VrS6JydWC3JYpW8dOta1hg0iqKwu8/T9Zpud812u3cERVHNy9ok8mwl45GVBqlihaFge2Bx2O9gNpLvaHan1VJSIlOqspSUui53r+7VL3Pd7QtVtxfGrSRCFrOZvQPebc0EzkSyXI5kyUlyW1lR60tku/UYpT9GvfmXTy0xt15g76CH6QEv0/1ePVr5SiTHwWE/Hzs0zMcOwd++Ps9r1xOgKHjsIvsGfYyF1Flyi8mkby9TqoIgMOB38PPrCaK5Co/uCDHW46Raq6Og8InDwyynS5xfzjIRdHB0MsTLV+JkShV6PXY+cmBATweq1uoM+508vjvMG3NJLGYTrg3jznzZhtMmYjELxHISq9kyiXwFq2jCYjY1JSoZm9kvnlwCYHrAo3uSuO2iPjutsTwureYxmQTi+QojARW8mV8vEHTbGA85OT2f4fR8hpDbwr5BH6MBNY2oXJXZN+TDhDo7rTWWP5yJEnBZeXAiwM9vxLGaTRwfD2IyCUhVmVSxyrOHBvTZ+nNLaf74e5cpVGR+69EJ/tMn7+Nrp5eZS5Q4POLXm6DTi+kN/4wc4z0uPDYzj+3q4cCwj2NjQVYyZW7G8qymy7htZpZSZR6aCHJgxM8z+/p59eo6S+kyr91IEs1JeB2q/8RSqsho0LXRpAodqfoA33x7lXPLGb759iof3NcHqIDIoN+B2WxicMP748JylomQi7l4kXheYi5epN9no1CVKVZrAGTLNUqVOrt7PbpE6H//2dyGfEFmZ6+LWr1BslhpYsEcHvZxeS3H4WEfa1mJXFlmLSs1gSF//epNLkVyfPfCGnsHvDqgoyVmOUUTJ+bTrGUl3ZzXazfrYM/pxTQvX1kn7LbxqaMjPLYrTEGS6XHbsG/8NmuNMKiMnWqtgYBAyG3Vk240kMKYSqSBaA9Phnjf7rDeQB8dC3B8IqT7pxwZ8+uN+Ewki9+psj5cNhGvw4Jz4x1WY7cspct6Oo2W3DMRcjVJw84sZtjT7+ZvX5/feG+1MJ8oEstJm54pj+1SGTIOq8jDkyHWshJHxvwUK/Umv4uHJnt4cy5BQVL9fbTtGeVhWmkAsXYPFiWZM4uZJvNfTfKigcQrQ82mv8MbXkhPTofVZ6WioAhQqtR1CeGDkyGdjaPt+/SAKqE/vZDi9Hya3X0unFYTO8IuQk4rV6MFKnKDt5cyBF1WPnNslOfPrfC3ry+QLdWIZiV29XmajqfHJpIqVpjocSOaBE7Mq35HAnDfiI+q3GA1K3F+OUtFbvDJI8NM93tZyZTZ1efhjbkk0/1e3Zja+Gyf6nM3Hb+ZSJbZaJ4n9oS7ym1aWZatAEtequkAsxbz3gpmdGKptRoza9XOMFerVgZJJ5nR3TJJOkmDjJ/Bu89XxVjvKWBFFEVOnDjBj3/8Y86ePcvExAT/9t/+202+K+Pj48zMzPC1r32NWCzGX/7lX/Lss89iMr1zMoF3qjqZv2q1HQmPy2JiNisx7Lt9j5Q7TQPqtM5O0cdtzWY7pKIE3BZcNpGA29Lx+3K9QaJQZcBnRxCEJlYKNDfzGgCgfddlMfHC+QjXYnlsZgGzoEYuF8pVfrKqRhyeX87gtpnZP6RqSQsVhT6PhWiuSr/XxlvzaeKlCq/eTCKYRexWgeDGw9UmmmkAhbzMygadO+i0cTmSpVypI5rMvHk9SbJY4bzDykqqzEK8RFpSqMpQr6P+WwGLGQJOkWSxzkjQQaEsc3E5x2KqgCiamB700euxE3CKXIzkiGXUBrzf58BjE/HZRVYzJZVhUa5hMQmIpltMFO2YLSSLILDJiLZdace00ahjMpl19olcbzQZ5LaeM9FswmcXmY3mdYZWKwOlG8jSuiyo9029oeB3iE0mxovJEnLIyVDAqY+5HWur272RrzQwmwXylc2slJDTStpRI+TscJyUDZ1ph5Rk0QReh0gXexUAvvjaLHN5KOZn+e337ei+8L26V7+k9ZPLUb5yZoXfODLMp1qo6tupbi+MnT7TTBWfmu7dJBHqNCu3f9DHrx8Z1meOoTso1G49RqAn4FK9GP7ipeuq9GciwG89MgnAl08tcXohhdKAg8N+fuPYCH/3+jylmsy1tTwoCgeGfVSqMtfiRc4spmgo8MjOHvYP+poSiEaDToIbYxsM2Dm/nCNdrFJXFBwWM8upMvOJIjVZ4f3T/Tw13auDDfmKaqZq/NtiqqS/7LtsZmajVY5OBEEQWMuW+frbK2SLNfr8Np1dY6R8axT6k/MpihWZglRnPSs1fabFwq5kyuQrNXJSjfdP9SAIJh6eDKkskEyZsNuG32Ul6LIy2evk/tEA0/1evnl2hfPLGXWCxmIimpGY6HUz7HdwajFFvlIjnpdYSpdJF6o8uCOEyy5iNZvAKpLamOnWzunfvTHP+ZUsolngjRtJnp7u5wPTffT77DrLRgMNHt/dw3iPi7VMmdeuJ3h6upcBn0OPzVUUBafVTFVukCvXKMt1/vWHpgD44slFcqUair+BCXh6uo9IVkKq1lnP32KWaNed5u2iMThevBRlOGAn7LbitpubZoZfOB9BriusZsqEXAUurmY4OOzdODeqcelbcynWcxJvzaXY0+chK9VYTZdYzZR59Wocn8OC22bCJIDbZuLYeJDzy1mOjQcZCTh1FsyDkyF29KmSuC+dXODCaoYDwx4KkiohC7usHBkLcHKD8SMIqECEzazfs189vaSDKMLGxFBl45iVKnVWMiWWUiXOr6R1f54Bnx2vQ2Rnn4esJDPgs+vRyodH/OTKql/QheUs5apMqar+vrdGM69l1bhtFIWFZIkjGxIbLXHp1avrfHcmyq8eGGhrWqxd7yuZEsvpMkfHAk2R3PsHffr5GvDZbyVoDt6K9v3GmWUEQWBPv4dqvcHZ5QyHRvybgBDteL12Pc7PbyQIuqxINZX9rHn97B/04bGrDBvNjBVoMjfWgABjOleycMtgVwOT1rJlvnZqiZ/fTHA5kuPwaACPTeSvXrlBj1sFPzRAYDDg4DPHRvX76K9eucGPL0eJ5SS+8Mx0W3aExyZyNZpjPSdxelGNph4NOnHaRZxWMyGXyszWkni+9NYyiZy08bkJQVB0o+HHdoX5//xolu9fiOJ1iFhMAmGPjUMjPtx2M69dS2IVTbxvV5ieDZD2iyeW2N3nplit68bEEyFXU3S5xizSIqq142cE5lpjm43ViWVpBFiKlTpXYznuG/Hzgem+rpMOxt+aVmPmbtWJQfKLAjm6MV7ezb4qxnpPASsAgiDwwQ9+sMk/pV0FAgE+97nP/SON6s6rk/mrVtsxpT2zlKFQkVlIldk/tHm5OzGmbQdIbGed7f7eriGW6w3i+Qr1hrKp+RzyObGLom5MG8tLyPKtpliTfyiKQo/Hzr5BL3K9wcxqdpOkKlms6qaoWgrNpUiW2bUcVbnOQNhDn8fK+eUM67ky67kKYY+NR3f3EE9LjPe41JmegJWT8ynOLKSxmAUODfm5fyTIeNBBTqpBxYzLZEIUTditJhwWM3aLmX6fDZMgYLObqMgNDo762Bl2MhfPczWeYTzsQFDsNBQ3C4k8hZJEoQr1De8xoQ5Bl8DefjcVWWEpVcTlEBkJuqjIDSZ7XNhFE6eXMtjNAkG3jVSxhmWDlo0ACwk1wcHrEPHaLcgbrBbt+MhyQwcBjIBUq7dJ0zEVwGQyM9Xv0T9vPfftri0jQ0uLCxUE6HHbNjFUWoGZVraKxszZN+htYkElClXkeh3jhLIGtoyFnG0BuNaSqjJyQ52l29O3edZhNVPm3FIGh8XUVspTqdVZTBXZ1dceML0eLfDCuVXCLiuTvd62ywDM5Zv/vVf36r1YS+ky8VyFpXT7SNw7rW6gx7fOrvKd82s8e9/gps86zcoZTR61avcC2ilNCDYDPS9einJ6MY3DYmZ6g2H55VNLzMcLerSyy2bmT1+cJZJVTVXfP9VHyGXlrfkkby9myJar+OxWHtoZ4rPHR5sSiAJOK4N+B7GsxI14kTOLGYJOG0M+G+vFKg6LmWSxgssqEnJbdNmHxWRCEAS9QXHbRFKFGm67iMNi4pGdPfoz/MiYn+l+L26b6rXx8pUY0axEpdpgJpLTpQ6aoa820y1VZXo8NqRamaTByHwmkmU1XSboslKQZARFBaIzJZndvW5eml3ntWsJEkWJkaBqOHl84laKz4sX13jtmuoJY7eYSBVr9PsdTIRcXInmNqKrGyrTIl9BVhQOjaj7sJAs8fBkSAeUtNrT6+ZNh0WftT8xl2TAZ+c75yM8vjusSo1yZV6+qkbgHhjy4bSYubKWR9kwAi5IMm67yH97Y4FTC2nGQg7cNhGppsYWvzGXRFFANAssp0uspiVOL6TZP+zjexfW6PfayEo1SpLMj69E+eqpFQb9Nj3R5/Jalu+cX+PpvX185OAgM5EsL86ssZAs4bGJ7OpxcXI+xa4eF2cW08TzFc4sphnw2anI9U3vYuVanXy5RrlWJyfVyJarxHJlej12TCbwOaycWkixlCpxaiHFzGqWL761BIrCWMjF37xyk//rEzuYWc2TLtaYWc2jKFnOL2XocVnwOqzkKzJnFtPsHfCSLddYTpb4q1du8My+fh1MERSIFyqsZcqgNMiWa6xmygz7HPicFqq1Bl88scRHDw0ynyxyKZIjmpVIFqt870KEq7ECkWyZfYNeKjWF+USBm4kCB4c8HJ8INZ1nXQKE6sfyo8tRbsZLXFzJYDKp73GVWgNBgHiuwmvX4nz34hrTG94pGpAhKOp7zZ5eTxMTxvg8OjGX3ATwaA170GVVGS0ZiSGfnR63DaWh8PLsut7otzIi9g/6uLia5cxCChA4OhHAZRf5wUyUV6+tI9UaOERTEyjTDgjQxtku5eZKNMeX3loiX5YJe60cHg3wu4/v0IGCp6Z6OTLmZz1XIVmssJS8ZRYM8PBkiJ/OxriwkuUnV2J86ujmkJBItozbZuHwiJ/FVJlavc5wwMH1WIG5eAGL2cxzD47id1qZjeb52OEBXr+RJFWs8vZSlmhOfZY4LSJPTvUi1RooCuq6anXmEkU+sLefXKlGWZY5Ohai12vjo4emeXMuwYWVHMNBBwM+B2vZsh4Vvn/QR0GSyUsqm8tjt5DeMEg2GgEbI+ONvwvG36NuTEptPcupEj+5vI7TIm7J5DT+ZgVc1q6mt8ZqxyBpFw+93er2m7sVM7Xd7+52DXf/Mes9B6zcq+ZSPUNUZkc3P5J21Y2REstJpIoVvA5LV/bCdrbR2jxr47aYTQRdNr2xbScNWk2XOLeUweMQ2dPv3ST/mBq49TejpKopVchjb2rUx0JO6jt6cDvM0FD48ew6fruFqQEfoyF1HGLFREQp8d1za7jtJvYO+jk07KNeV2goDXp9dqaH/PxgZpWVdIlaQ8EuivR5HewZcDEZdpMtyxQrVWajOXKlGslClTMLaa5FC5xdSrOSkMgW1+n3OYkXZbJVhZQE1RrUUd9xasBaTuZyNM/OXhcuu8jeQS9zMfXF4Oa6ekyvrWUZCroIuW30uCyqcZlTJJ5rMLzhaq7JVvKSjGhSvVEWEkWGgw529Lo3xVx3Yo747CLxfIWdYVdXs9itPFqMoFdrwlA7hkk7WVA7aY9oFgi67U2msHKjQbpYZSiwPePm2Vie67E8UwO+Td5Hcr3BueUM0ZzEYqq0CVgplKu8OBNFqtRZSUvs7t/8w/T//IezxBqwuHyWDx0c3PS5VsNWWKmq/96re/VerU8cHsJhNW9rhu12ql38I6gveKVaHb/TwnCwuxxPW77VQFL7e0GSOTLmb3oBbZ2NNHpSaNHMWj2zrx+pWmc46NDjRFfT6uyn5gfy+X84y0KyhF008eCOHj5xeIi/fvUm55azWM0CB4Z93DfsJ16ocm45w3K6zFSfmyf2hDm9kObl2XWCTgtW0YTZBB6HiNdm5kaixFpWwmoy4bWbWc2U+e75CGNBJ6uZMmGPVZ+JVVDURluq8dPZGv0+BwWpxvmVLEGXVfW1yJTxuyxYRYHhgIOxoIMzC+kNdoKfaFbia6eX+fmNuD7T/W8endQlP9qLt8cmMhRwEN7wbzky5ufoeJATNxL8YCZKVW7wwGSQx3b3cGw8oBt3vjmXQECgUJHxOsxYzGbSpSqHRgK4bSKnF9McHQvoXgkum5m/fvUmNBScNjMvXooyG8lxNZrn0R0hPRlo2O8gVZYZDDjY1etmPlFiLpHnr356g8VUiSuRHFP9HhZSJRaSRd5aSLOckRgO2JkMu3jfrh4EQdDp/QAWs4DFJFA3KfzkcpzZtRw31kuMBGyIJhOgGr7PJwo8vidMyGWlKteJpMtcWstiF83ciBeYW8+RKtf59tkVPnZoGItoYshn53o8z5s3k8ysZEgUaywnC1TrCqlijTfmkqSLVap11TT2jetxynX4xull+n125AYsJ4v8/HqSBvClt5YZ9NmQZIW3F9Jky1XyVYWvnFzEZRWJFmp87eQSpZpMrqLwN69cxyaKxIs1/vDbMzy0I0StXsdigteuJ6k1FN6aS/LZB8aQanXCbiuXIxkimTLfOR8hXqiyEC8w1qOm660XJN5ezBLPVxAQKNVkGkqDUq1OsSKTKFRYTktEc2X2D3o5cTPJE3vCzEbzqqfKurqusNvG92ei9LqtxHMSC8kiB0YCTYa4mgTIYTGxnJYAheWUxP1jAZUB22jw8tUEh0Z8FCsyoHAjVmAy5OS5B0d10+Inp8M8txGnrT0vtGZbA9hiOYlEocKDEwGOT6jsnm+fXeH/9/N5RgMOPnJgkMtrOX79yAhjIZfOjNEa/dYKbEhjwm4b12J5etxWHSz80UyMSLbMaMjJ+/aUNzWps9E8pxfTFCRZ9z758L4+3ZRZq2KlTk6SsYoCx8ZDeky6EShY2YhHj+YkRLMJAaHJk6RWV0gVqxux7beerQBv3EjisJoJuiyUaw2WUiUsZhO1BjhyFYIuG3v63JycTxHNqLKqJ/aE+ZX9g/zVK9e5vl5kV68qDcyUqyymiizEC9QbDYZ9NjKlGh6HRZWqRfOk1wtcXS9yYVWdvdLi142mspq5dcBlbYqJ1oCWdueiHftiJpLl22dX+c75CL/7+I4twY/hoIMet63pN+p2Unq2I7FtHafR0P3D+zf75my17m6Ry5pBL7QHm1q3pbEuI1l1wmW7YNEvuu4BK+/S2m6SyVZSoFuxxr7bTkTpum4BzBuUuVZz2ttJYGnXPGtNs99p0f0+Oo5H2HgJ3AB45HoDj02d2Qu51L/FcpIKoHDLVPWt+ZROrdTkLb4NE9KQy8qQz8Fb8ynWcxVMCDhtItP9bn4yW+JmrIDfqQItj+xSXyzV75owmwXKElyK5EgU45SqNVxWkd29XnJShXKtTqkoky7XMAsC8UKNYqWGQzQjyTIVGexmM6NBF7FsiYmgk4xUw21RsNHAJ0KqBlpYnk+E+4e9BBxmVjMSdouJtYxEoVonV1Z13Hv6vQRcdvp9dkYCDkwmMw9M+Di/muFqpMCDO4P4HLf8ZURTVZfkVOUGiVyFfn97qZe2nJG5pPm3ZCX5tgyXNYaJxnIx+uG0Y8UYfYGMJs+tPjqdpD1GFku6VMPjEJu20804uptx7Y1YjitrOUZDTo6PBTZ9/sLZVV44t8pjO4McH9/8OUCs0fxvp/oXH57mhbOrPLuRnnGv7tV7sbpJee6mOsUsz0SySNU6H9zXz9PTzYk/7V7yTswl+S+vz+O1i00xykYJkxFsaTUv/K9vLPDy7DpVucGfbwArxm39/gf36H/LSzUe3dmjS42+fGoJp8XEoREfj+wMMdmjskQUReH4RIDDIwFQFL5yZoVIpgQofHjfwAY7M8dauozJbGIy7MJmNRPLSqznqnxofx9PToW5vJrj1GKaRkPBZRNxWEReu5GkWm8wEnTqM9lum0jYo/pS5Ct1zi6lqcgNRoNOZlZzCIJCyG3jxM0Uc4kiJgGKFZket5Vr6wXsFjOXI1myZRmHxazPdE+E3TrY9LVTS3zlzApT/W4S+RpPTof1GfOHJqFcrXM1lidXriEIKiCnyZ2uRlXfEofVxKGRAPeN+PnplXVmVrMEnDY+cXiIt5fSnFlK8asHBrm2nueF86soDYVjEyE8Ngvnl7NkyjXm4kUWEyVev5kkJ9UIuSz8/IYa9RzLSaRLFd6aSxEvVHDZRCS5Tqqknjuv3cL+IQ9STeHkXIrrcdUT4tEdIQpVmWpNJuiycGjEx3quQrFaJ5GXkKo1CtU68RwkSzKTPQ7qdbgSLfBHL8xQqikIqBMuL8+uIwoCmVJNv0bPreTJlOZZSEn81zfmWUtLVBQo19QfmfMrWaqy2gCeX86y8Z/MJW+xxMp1mE+pkiztX4AGEM2rCYvRfAV543crX1XIb3ixRAu3xpKrKFBR/3e8WOOnV+PIDfjp1Tj5Sl291st1/rdX5gD4316ZI+AwUaw2KKbU8XxvZhWHWSRRkvm71+ap1utU64ruZfO9C1GcFhORjES6ICErAm/NpXhrLsWbc0lSxQp2i4jXbkaS6xwd8XM5qpqgoqhUmOV0mb/4yXUmehzMJ8p8+tgwHpuFC8tZdva6KFVlnFYTZpOAIAgcGPJxcSVDrlzjWizPYrJMwCVitZhAUbi4mtWThxL5ColCtcl7w7PhR1SoqA2m06qmN/ZupN+o5tUpcqUaQsiJy2rWvWkOjQb0Rv7ZQwNM93s3SU20ZwrA2aUMF1cyvH4jyeFhHx/c18vF1SwHhtR1GFODVANe1SskX6lxfjnDWq7CtfUCszE1cVV75rltIhMhF3sHPXzi8JD+DJsIu/WY8/2DXnb3uTkw7KFSU5jq9+jmqE9NhfnYoSHOLqd5aqpPBRvORQB4cCLAUqpEVa7jd9p4aiqMoCiU5QaDPjsXVnOkChWuAjfWCzy0I0jIbUNRFP761ZtcWctTqNQZ8DnZN+jn7HKaUb+Dl2fXKVXqlOU6TouIyyoS9trxZss8titMwGnhR5djnF1MM+hzcHI+STQr6WCsZkwLt7x3dCafAWjRJDydIpD3D/r4zvkIF1YyvHgpuuVv3tPT/Qz4HE1som4pPdrn7dKlWsfSaZwzkWyTp0u7SYFOaXrpYpXZtTzVer3pN1cDW4zPc+N6Im2Mec8tpfl3z8+QLteY7HG945Mud1P3gJV3aW03/ngrKdBWMcvdSmMe+OybZ+QBxkOuTVGwt5sS1K7RXUwXefN6kod2hTouq1Wfx94U0RvLSZTlBkMBB31e+8ZLThWcVl1StZop0VAaOC1mdoZdTTKQoYATqSrzg0tRlIYK7uzo7cFtM3FyIc2A10a9oXBgyIvNaiZdqJGX6sRyZdVFXlYQzQKraYlehxXJamK9WCVVqhDPS8SKVWKFKlabGavFjMtqIleEmfUsg0EnVpMJqVEnVZDIFGXeWkjTUBQKUh1JrlOVVZaKflwFsIgii6kywwEHyUKVkiTz4ESAfp+dbKFKslBlNKQ+BEWzCVlpbKTSyKRKEhdXs+zbeJD1ee36cTMJqjEdKEgJ9Zxrx9p4vluBMe26cVlMHeVC7arV+6Sb7Kj1Wmg1eb6dhJ+lZIELKxn29HuaruerMdVjod5QuG/E3zTWak1mNVuiWtss03llNs655Qw9Titux+b78t+9cJk6sJBY5Q8/dqjtsdjfCzPr6r/d6sP7eslLMh/et8WC9+pe/Q9YW83ItYt/hM2xoVp1SkZQUPDZxab0oHSxys9vJohmy7qEqXW2TzNzdNvNhN027hvZLDnQxtGaMKHFKEs1mYOjAZ7Z18+3zq7ytTPLPLN/gGcPDeGxiXzp5BKXIzkyxSqDfid7+jxcWcvxs+txYrkKQbeaALeYLIKgms3aLWZyxSq4rBSrMj67SB31dyhVqCAIcN+wn999fAcrmTL/x5sLnFtWn5UBl5XnHhjFYxeRqiq38pn9fbjsqrHp//ryDZbTJUpVmVhWosejSlVKFRm5oTDZ42LvoA+XTeRKNEe2rDIoHp4M8fLVdRYSBfx2izrTrUBeqnFiLslUv4fRgIP37Q6TKlY5NOLnSyeXuL6eZ7zHxeFh3wYTSebUfJKdfW76fHYwCYwGVF+Ls8sZ4rkKubKsgifJIl67Bakqk6/U2NXrJlmoYBUFgi4LJ+dS1BoN7BYT6WINp9XMUrJEplyjIMlYRdXv4fp6EZ/Dgl0UGQ9Z+d6FKFJVJpavEHbbOHEzyam5JOlyDZQGZZlNlZFUwEEDKK6ul/TPSjXNWFKtZLHNCoCFDTBkwQCKGNfhtAjINQWrqP6rVdhlJl6sE3aZ2dPn5edzaR6dDLCWlbiZLLMj5ODBHSG+enqVTx8d4kYsz1uLWR4Y85GXZC7Hiuztc1GuNZhPlZkIOlhMl2koYBJUaSzc+rddpcvNswzFChQ3ppgSpc37myhUaGx8RT2eCj+4FNM/n4k062e/+NYSo0E7VVmhXJWpyArLqRKxvCpvykt1vvn2CjfXi/R5bKyki1yLFRgPOfE7LOTLNf7iJ9exmGA9X8FpMSE3GuzsdeO1W1nLSXxvJsausItMucbX316lXlc4cTPJrx0cYDZW0COdtQZz2O/glWvr/OhSjB/MrHFiLs2DkwEe2x0m5LawlCpxM1EgtjFjb2QDXInmeOHcGg9OBCjJDR6eDPHGXJLVdJmqLLOaKdPjsnBqPsXMSob9wz6CLhvlWoOvnVnWDWTzUo2pfg/LqRLJYpWJkIv7RgKIkSy7+twICLx6bZ2b6wX6vHYGfKr8fjio+q38/EaCi6tZHp4M8Wc/vkYkW2YhEcBjt6Bg4nqsyOnFNEupErV6HZddpN/v4MZ6QWeqPTUVZild5maiyHyiwP4hH8/ep3oGLafL3IznCDqtVGsNyrWGLs+O5yROz2eYWckyG80hCDDgs7KWLVGu1XHbLJTrDcJuG2VbnaNjft5eyrKWlfizH18lW5b52OFBxntciCYTNxNFvnRyiTduqqyZzz02qQMBRtZFslBlNppnJVPWwbJhv6PJhPzialb3ljH+TmmyqdtJDGoXn976rwbMGUGKbp4l7UAXjYH58M6QztD5w+/M8PJsnIpc5y82gJVW8EX77pdPLRHJlDk6HtQnBubjBX50KUaxUsNjszSBJz++EuVHMzGOTjQzPufjBf7v37jAYrzAeNjFHz27710jA4J7wMq7tjqBGq11N8DJVuySTswDzVR2vGez1ON2UoI6bX8xXiJRqLAYL7Gj55aMwrivnRKDjNuXqjIrqSKCYGI8aDiOCthEUffTSBRU2QsCOpuloYDJZOKxXWGSxSo/nV1HURT6/Q7Ge5zkK3WiWQkEgeGAnZDbwkKiiCAIXFzJMh8vsCqaaSiQlarkXDXCPhv9WLHZzIRcVlYzEjOpgjqrZFK4Fsmxf8jHg+MhTqCwmi1hRmEpkSfosNAQBIqFGrHKrReoCa9IJFNGbjRw2UR29HoQUBAEM7t73URtFeaTRTx2K0MBJ7G8xMWlLF6HhR09TswmlZLtst7yrNHYO/G8icmwm4aiEPbYQEE/h6C+uMh1hR63VTefNV43C6kyolnY1jkHUG1cFFomjzddO63sFI2lNOhz6FKi20n4uZkosZgsMeBzNI3JYzNRryt4bJvvjTNLWS6vZRn0O5gebGadlGoys5EMD08GN30PVBmX8d929cjuCUryGo/sHuiyFMRyasJBLCfTRlF0r+7VL33djYb6J1difOXUMr9xbKStVv92EwxakxG0MtLDNSDmxFySVKHKkbEgn9hglJ2YS3JmIc3eQU+TVwGKwK8fHeZjh4b1fT45r4IF+wd9esP01HQvT+wJ47GJ/M/PX+TmepGHdoT4zLFRTswl+dl19UW4WJH50cwaJxZS1OQGewd8PLhDfR6dXkyDos6uD/iqXI3lSeQruGxmDg17WEiWKUg1Xr2eJOy20uez0+ezs5QsUazIWEUT/V4bD4wHePVanJPzKa5G1XU47epvW6/XxuO7d/DXr95kLSMxPeDFY7dwPZYnUaxgF83UGwo2ixmnxcxjO3t4ayHFyfkU6aIqI3p5dp21rMSuXjeLqRIXlzNcieZx20Qe3dVDr9fGmzeTvHEjQdhjZzTkZC2jRhYfHvXz1lyasEf93fvEoSE+sLeflWyZn1yKUVcU4vkqvV4bewe87OrzEMmWeXJPmJnVHGMhB3sHvNyMF4hkyrx5M8nNeAmrReCnV9epNxTK1TqZUpV6QyFnAlEQGPLadRAtlq9iAoqVKsVqndm1LJKscHGl+dmvMTDeyXr/rhClqsxbi1nMqNsb8dkIe6y8vZLn/mEPYY+dH12JE3aJJIoyHznQx+GxIP/7q3P8Xx6f5K2bCX50Jc4Hp8P87vt3dZSqGev/9Yn7uo7LeC//HycW+OJbyzz3wAh2i5n/+sYi//zhMc4vpXXgZjFZYjlbYcRnYyzk5OdzadxWKFTh0Ul1HNqy6/kK1+IlvDao1k0898AI/3B6iWKlg0N8S6XKMtlVlX2RLqtnaCWjsnBUyQ+cmFNlCvFCFVEAeQPYK1TrVOQ6kUyZsMdGrd4gJ9UoVuqcnk8TzUlYN2LLI7kKUk2mXoegy0okW+bqemHDm6fC+ZUMHruJf/sr+wi4rPynH17llatx+jxWFEVBrsNQwM5PLq/T41HBhOQGM0lLRipusH5W0yW+mCioBruJItaN9K2ZlSx5qUrIZWEwYKe4wVDZ0+8l7LLy5lyS88tpllJFCpLMRNjF1bU8QbeNgY0QjOkBD9P9Xv761Zsq0GAxsyPsZnefmzfmkngjIp88MozTauZHl6LMrKgypbDbxt5+D30+B4WNuPGlVJFUscaR8SDT/V6uRHMEXBbm1gu8SJQet5XrsQI9Hgt9PgcHhtREqTduJji7nAFFIVWyM+S3MWl14rSqMdCJfIVCVZX9NRoNYrkKuZLMXLxMwGnB47DgsJhwWc2M97hwWC3UGwqVep2iJCDXFdUvB0FnK7lsZnUSr6Hgspn134+vnV7miycWOTDs46EdIRQUXrka18EyLdY7klbj2iMb0datrJLHdoX5zLHRpgQp2L4JeutvmtHse269wGTvLQPdbr9/nSRAkXSZD21IgNLFKl67hV63TWVGdhiP9t35uLp9DVDSpDzL6RLHDGALqM+K58+uEstLmzxkPvq//kxlvQEPTITeVaAK3ANW3rV1p3IKY20FnGxXRrSJDdMl0aQT0NNuXZ22f3w8gNkkcGTUD7SXZCwlC7xxM8XDO4JN5p7G7c9G89xYL+Da0GOLZtMmL5DZaB6BBkGXDZ9N5PUbCZwWE7is3Dfs5Ua8iMNmUp3jyzVcVjNvL6QJeWyMh9woNOhx27gZL5IoVPA5rRwa9bOaybOeq9DjEvHYbBwcCbKQKrNWKBOoi8wlCqxmykTSJURRQMHE3l4PQ0EnK1kJp9lMqdJgLpanIIPFVMXrFCm0+MclJIXpkIVsSSZRqDI9ABVZ4Uo0i9VswmoWGPQ5CG747KCohnIeu8hoyI3LblXPgbBhVNtokCnVdI+UrCTrx0uqyqRLNVwWE1lJRq4riCZ0cENL8wm5rLoBrpHh0s3wWIt7Hu/ZzIJqvXZamSTJYpWy3KD//8/ef4dJct3X/fCnqquqq3P3dE+endmZzdiAXQALIhAESJAiQZCiSEmkKMmWrGBLsvxKL61gWaL4o/WzZb+m9UgmTVpWsiUxgGYQkwAGgACRF2GBzXFmdnbydE6Vq94/qru3Z6ZnNmABgtSc59lntqurbt/urq5b99zzPSehts6PTsRkp3Qs3bRxHJehZJixzHIPokBAJBVWCKz47cyXqjx7LosiCqRCMivx37873vr7obfvWvX8QBBmDf/vWtjWF+XlmRDb+tYfMKLBAI7j/93ABn4YsVY6QhPr3XBO5WutKNqrwVoS6ZX19eu9vodHJCjz9t29LWXKibky4LGrEd/caQWw+Z4fObXE/fv869fJuTKW4xIN+mkdn3z0HBdydQIBgTu2+jejJ+bKxIIS+4dTnJgt8eXDs9DwGbt/Xz8PPHeRsOKT5UIj2tSwHVIhmWBPlM1dIR4/m8fzPMa6w9iex5aeCOcX68yWNdxGrLzjuCxWDf7h5TmyVYNsRac7qhILyURVCUGEgYS/Wp2rmtwwEKOm23zh+Rls1ycj3jCWQgCeu1Dk3KJvwjuYChGelnBcl1REJhWROb9UxbAd3rKzm/mSTlk32dId5e7t3UwXNY5O+6U5/vhloEoilutxfqmK5bjErABDyRC9CZVnxnNMFzQs118o0C0HzXKYK2l8/egc03mNTV0hpvI1Ti+U+Vd3b+FHdvfxvx47j2Y5BCV4fjKPZXuIAiyUDUQRggGRmuVi4vG98/ll55EL5Ov+JLdqXtkEfyXERjuhgF+KExTA8GBLOkQiJPHidIWukEjF8Hj/LYOXJTcuh19449iyv02sR6hcKdpL+j787j18+N17Ws/99jtWj5WvFNv74nzqu+fBc5ks6CRVgaLul0ylwwGydaf1ub5hJMGzF0pX3HazVGquYYRa0X2CbLbkkzHNEqqi5pMepu0QCwXY1KUiIjBV0Ng9EOPUfBXNtDmS15jMVVko6TxycpGDo2n6EyHkAIiCf81QZJFCzaRcDyAHRG7f3OUrrrrCvvItKJGJBokGJSayVS7k68iiwO7BBD996zBnF6tM5Wvcv6+fgmaSrRiAwM2bU6TCwZZKYqrgKzqOTZdYqphYjstsUQMBnhrPkaua3DyS5NOHpjg6XWRHb5S7tnXTG1eZyFYp1ExG0yGERpJUturfd9+3px9VFvmHl+Y4uDnJT79hhL6E2opt3jMQb8Uzv2G0i4Wywam5EpbtMV/WuW00xdt393NoIs+XX5zBdl1SYZmgLPLEmSzRoMRQ16WkxxuH4lwoaEws1albDrbrIUsCXREFx/U4PV9BCgjctS3DG7dkqJo2Fc2ioJkMp8Itu4BHTi0w2h3lbbv8lKEtmSgDqVArRhv8sWaupGM7Lv3JEPft7iOmyswXNc4uVJfFercnP8FyIqJd1VjRLWKq3FIeuq7X8t9pH28ut0DQVJCM9URbSUnN49dauFjZZtPbq6lCafZTMx1+/JYh3rN/cM3yoe+cXOBbx+Y5ONq1LAHqwePzzJU0NqXC/OrdW1rbv3Fklv/wtRMIAmzvjfHeFaXu5Tay9MdvGlrzfX+/sEGsvE5xuRKfK8HliJP1YpjXI2Wa6oSr6VsnwmWt9xgNKdy941Jpw8oyD4DJnMZS1WAyp3VMTbEdl1gowNaeKJl4sGNU76n5Cq7nIYoBhpJBvnh4pjUwvWG0i2cn8lQNm76E7yOzrTeG5Tiko0GCskiuaiAFQLdceqIKgiDQEw3y3ZOLzBUN5so6c2WRfYMJVClAWpWohAMEBIG64ZCOyLiOiieI7BuIc6Go0R9XsRyXh6dLVE0LIQDYEAxARFouEfbrqR2mG5LakBLg8FSRPYMptidCTJc0NiUjTOTruK7aquGNhSR29sZa5NJ8Saema6iKRDQYIFsxSIUlSrq97Dvzy4cszi25qEqATFRpnQfHZ8ucmCthNsqwwK/dToUv+Za0lw1FZHFZSlPTMyWmSqvOu5VKJdvx62CTIamjia1u2jw7kW+9hybZMpnXqFvOsnSs0wtVcjWLkXSYkfQlYqVY03n45CKDSXXV+f9jH3uMeQviwJ+8/8Cqc+9y+Kt/dQf/8PIcd23N+ORTB9Jz90Cc80spdg+snQgEoMoBxrojqPIGsbKBH05cLh1hvTrxe3f2slA2uHdn76rjrjYGGTrfwK6V+nNyrsy9u3paN99Pj2c5PlNm92C8te3YbGlVjf5KD5bvnFzg8TM5Do6muG0sTaFmkokqvHNPH9v6YmzvifHHD55EN21u35rhvt19/PYXX/YN4eMqf/Rje/jMoSmOzhTZ2R+n23J46lyO7pjC3sEERc1iMlvj3FKdumkRlAOAQL5qUahblHQTzXQQBd96wvIc6nWHUrVIV2PcKxsmngeFmoFtuzw1nmNzOkyDi2GxqnNqoYxl+caWw6kwqahCWbcIBQJcyNUo1E229cXI10wEDw5s8lUIkWCAW0fTHL3oK21yVZNPPnqOquGwezBOxbDIVnVMGzJRBSUQYLao+R4CMyWWGlGxuuFgey5buiOUdQvH9chVDHJVk2LNxLBdpgs1JvM1dNPjybNL/Is7x9Bsf0L2vbNZao1kFrfxvlzXNz6HjutMV4RQAAwHMhGJpZpNKiSS11zevC3N3/zibdfY6gYAPnBwmA9cRTz7bz3wIl9+aY6IAmXj0vYA/vfb/I5E1lecdoILlDSHFxrkjSjAU+dz6LbLd08vYViuv6gngOF4fPfkAi/PlLlxMMG23hhDXWFSIYkvvjgDQF9cRRBFhrpCPHRsjql8nfcdGGRhrIuHjs+xWNbRTBtLFLh/Xz8j6Qh//r3zPDdZ4B17ejk40sW3Tsyjmb7fxdmFKs9P5lmqmVzI1hBFka29UXS7zGLZT+iMBqVWItZ8Sec7x+fJ1UwGkiE8PD9auG74v6WizpPnsmztibKpK0TdsNnZH+PkXIXZksZzFzzetKOHu7Z18+DROY5cLHF63jeG3jeUxBMgWzFRZIHpooYkCvQ0IrPnixp7hhIUGz4wJ2fLlA2L4bRKUBbwWkoin0At6RbbeiPUTRfDtJkuaISVAJIoEJH9kIrTixWKNYutvX5J4enFCmcWqlQNm3TEL9fTTJv3HRji7Xv6WmND09vk3p29TOXrxBuqlOmi1vJU6UuGWkbXzfFmLRLj8bNLrTIaAT8trKJbHJku+p9LQwnTJF3WM55ton08WzlerVy46GR++52TC5xZqHDjpgRv2+WrVZr9bFegdEo6Ap90KmoWqiy2+vrAc1P8/TMXuHEwwe+8Y2fr83jguSl+94tHAZAF+Ogv37ZKkdL0kgI4u1i9LqTv9cQGsfI6xSsp8WnicuRMp4lmE1frlXK1WKudlds7lXnYjstIt89Kr2n+WdaZyest3xRYbrh6bLZEoWrQFVXZ2hPhoePz1DT//d6/t5+SbpMK+7JA2/VwXT+ObUdPjKruyy0Llk1UETm/WECWRIKiyEvTRSzPIaZKROUQkZBCMiSTr5ucWapSqJtIokDdsLlpJE1fKkBSkXjsfJaBRIh/PDbLDf0JbhlJ0RdXma9UOXaxzELRYrK42sk0KEkUawbJsAxegJDim+ednBcYzUQ5l6shCwKTuRpBScITPLqjaotwKOk2VcO/yQSBhbJOPBigULfZ3utfHnTT5tR8Bc303/fuwTjRoExClRrKFZ/sCEoiuZpOUBJ8CWNYWXbutZ+PzZQmx/XoS6gtZYlvJNs5bch2XI7Nlijrdut7Xaj4zv3tZWlHZ8o8O57jxk0pbhhItt6DYTv0xJRl6Vii4HB6ocS+oeiy8/CBQ9N8/oUp7ruhn3t3LZ/QzTdMbsrQ0UNlMAgzhv+3E+JhX36er1oslPXW+dmOuunSFZZbEYtrIaFKWI572ZLBDWzgBxWXM65dr07cJ2vl1spjO9YiZK4kKeFyr9+uOGm2ISCgSCI39F+6Ye0UWXlstsSp+Qr37OgmGVZ44lzWV2PI/vWp3aNlKBniI189znRB45bNqZY5ZCYc5LaxNB962/bWTadhO8RVmcMXipR1k82ZMBeLGi9OFqiaTisKWTcdzC6HdFRhIltjtqjjeaBIAqIAsihhY+MJAtWG4q9i+RNHERjLKK20kT2DFQ5PFdAtB8t20WwXx4OpvMZbdvVyZqHKfEnj5ekSmWiQsYzKhWyNx89lMR2XimaTCinMlTTmGpO7Ut3k60dmMS2Pzd1hinULzfSIh2Tu2d5NSbf43tksnufhIhCSRaq65StYggr5hoFiUBbojYeo6DZnyxqCKGJZbssY/h+PzvOPR+axvWsnTZplOABhCXQbeqIyi1WL+/f28vGfueUaW97Aq4GPfeAmPvaBy+/3wHNTfOq759nRG+GJ8zm6IwphJcCJhdqy73w9uB6UGyU7s0W/1CjXeE4zHR47vUjdhsWyzlAyxD8cnmYwEWKupFPQLHb0RvnGkTn2DMaYzNZZKBsMp/wSuqMzRUbS/j2RYbn876cmiasyE9kamukwV9TxPIEdfTEqut0gU+HMYpXzS1U0y6FQM3nbDb38yzeN8c1j83zvbJaLuTqfOTTFr969hapuoyoBZF1kpqjxmWcvolkOewcT3DySxHM9f7HvYgHNsFmomDx9PtdSGAy3KR9OzJWpGRbxYJDRTJRd/THqhkO+bpAOK0QViVREpmY4fOfkAg+fWuItu7rpT4Q4Ol3k5FyJA5uSDCRUHj2TRZYEslUTUawRDcp0hRVu6E/gev71fSpfIyiLnJgpU6xbFLRFNndFiYUlZooa5xYVfzG3QfAOdYX4zDNTPH4mx67+eCudba6k8cjJpVaKmGF5bBmKkKubzJd0CjWTYt3k6EyJ+aLGS9Mljs6UWslInZJ72lUtJ+fL7OyNUjVt+uIq7z0wSDKsEFNlqrq95oLCSrQTN+3j1cRSlXzN4I4t6Vbq2krT2WOzJR547iLZqkEqoiwbu+5smKg3lS/t5atNFGomw10R3n1jP+874H/3H/jUEy11mOd5y4iTT333fOv/ltf0eVyOD79rFx/75mkUSbhqNeprgY278R9iXI6caY+2XYm1PF6u1FT3clirnZXbO5V5zBTrnJqpsGcoTjSkrCoV0k2b082SE2G1H8tCWaesWdRNl7GQxIk5P/0mEw/xlp2ZVgxzbyJEIiRz+GKxYXoFXzw8w87eKANJlTPzZb56ZAnTcklHgmzti/ETtwzyp98+R088hOE4FGs2SsCmblWJKAEsW8CwHQxL4OhMka5okHlXpz8a5OXpAsEAHJsucnCsi4lsjbmiRqFqdRyoBXwfEAQRJSAykArTF1eoGS6bUmFCsu+zcnaxSjgoI4tQ1BwyURnbdalqJtOFGqIgoCoihutweq5MOhpk92CiRb6cmq9waDyPrEB3REWVA8uMgZcqBqoikY4ESUUULMf3SVnPOLZ5zsWCgWXft+24SI39Zkp1jl4ssXdTgpGuKAsVnQu5GoInsL3P996ZL+rkqiZDDZWM7bhMZivopoMoeK3XPz5b5sULeW4a6WqdR7pp8/WX5zk6VWQsHWXv0KX6zk998zRF4O+/N85vvXO5RFkF9MbfTvjkL97O3z1zgX9220jH53tjKiPpCOWGhL0TMnGF/mSITHz9id165OgGNvBPAVdTJ34lz62ngLnS129Guu5pKM4KNZOKYbG9N8rOxrWr3WiyncBp79fT41nyNYObRlK878DQKlPAzz43xWzJNy5/175+/vThMyyUDA6Oprh3Zy9PjedIhGRG0hGGu8K8fLHElp4wkiSyWNZ9r4iASCYaYKmk43i+KmU6r1MzbEQRP9XGtLFtDwcwbd9nxfE8lICIHAoQC/peXwL+fcfjZ5Z4frLASDrEfNkgGADX8/A8X8WYicmcmC2xrSdCoWbiuC5jGZ9gztVMPM8jIPnKzkLd5PRCmZuGUwx3hahbDpW8hgvEghLbemOcX6wy3BVmrCfKF1+YpqbbLACpsMK23hiKFCATlhjP1SnUbGwPbNOX1dcNC90BnOUktnWZRLb18O4N0uSHGpdTwjSVL4oAmgsyfuhAs6zrcnA8aPrx2q4/zgNkqxYevhp4fKlKrmphOg5ywCc3Dk3mCAigBERqhs3u/jhHZooslTUeOTVPT0ylrNvUTYewLPL23UN87+wS5brJUFeIgaTK+aUqm5IhemJBDm7uQhAETMfFchxKms2R6SJfOjzDrv4Yd23NcHSmhCKJWI6DZgWQA/DGLRmWaib5msGJ2TK65aBbDt87mwUgGZbZ1hvj2GyJ+ZLO8dkS6WiQbN2irNk8O15gW28USRQxXZfhdJhsxeThk4ts641gOS5nFioIHhyd8cvCbxhIsKkrxDMTBQQ8uiIyybCCadlYrkt/QmVzJkJNt1mqxvn0s1Notucr+yJBuqI+8RQQBAp1E9102NoToyuiICBwcLSLU3NlTs1VEBB48lyWiuETts2SJ4Bc3eLsQo2zCzX6EipHZ0p89aUZRjMRglKAiYZvTK7q3/e2e6y0l/kcmy3xwoViw3vH5JaRFNNFjWRYaSlhOhmvXw7N8arpbzJX0njvTUMkw4rvg7JYZbTNh2XPQIIPHNzEVL62jHxp91ppjz1+301DLfLlKy/N8M0T83RHFH7y4HCLQGkvueuNLb9v/dU3b2kpVgA+/shZ/urnb122zy+8cYw37+jhS4enGe6KtBKsXi/YIFZ+SHE5ZcnKaNuVWMvj5XqUKK3XzsrtKwke23E5v1SjqBkU6hYj6dWeG6fmK8yXNPoSIXpj6iqyJh1R2NIdbU1qL+arFGsWNw4neOxMjprp4LgeO3qjHJ/xy2eCssjfPnOBhhcrNw4lOT5bxbRclIBIXzzE1kyEiUWNHb0xaobFXEmjpjtUDQfNtpkvGciiRzIURBA9qroFnkc6FmS+rJFUZM5nK8RCMk+fz2HZUNJMIkEwbX9Abh+UQ7IfZxhWJDwEdNNmrizQE5NZKBmM9UTJlnXmizq27ZCMKESCMnMlg14Ezi1UmSvVcRyBTekQCyUdBBhJh0mG5UtlNmEJWRboiajs2RSnN+YTILbrEpJFkP20oC0Z35PFdl0qug3oLY+Vld+Bqkjs7IsxU6yjWw4JVVp1zmYrBrMFnf6kykhXFNv2VUNDXSq9MZ/YmS7W8Vz/9QHGl6rMFHW29ES4vWGEVdVMnhrPMr5QZdfgpdKat/7HbzLdkPu+Y8/y253iir/t+MU3beZLL83wvv2dI46TUYV7dvSQjK6d1LWzN8a5pRrpcOd9BhP+JKNQteiNru2zNJQMcm6xwlByHcOWDWzgnyjWI13Wem49MmYlOqlbCjWTrx+ZY7Gic2y2zJu293BstsQjJ32yZrqoMdodpabbZGsGNX25mqa9XwICEUXmHY3692TjetF8vfYyqS8fnuHJczkSqkxIDvDhfzhGzfQp+b2DCY7PVKibDnJA4OyC7y2wrTdKJqqiiAKFLoMXLuQRBJFszcBzIRWRUUSRumnjieC5YFgekaBfBuN5AumoAoLvq1I2bMSGX9e58TyCAAFRIBoPYjgOuuWhSnBusc6ZhRqSKGC7LnXT4eFTC3THVGQRwkGRhZJJ3baRRIFsxaFQs/zyTs2/N3Ecj5As8itv2sJnDk0xlavx909fIFc1sV2o6TayKFDRLC7kSlQMG8N2ab/kLlZNrhbtioR/fc/Yq+INsoEfbFxO+dIkXjZ3hZgpGYRlyGuXp1y8tr8LFX8lv2msC/C1l2bZlI74SUYVk7AEpuOnRH3r5CL9cRXXhROzZTTLQVUkHjudpVA3GUqGCW/PMNYd4fnJAl0RhecnCxybKRMMwKZUhJ+8ZYhC3aRYM/jCCyXu29NPKhrkW8fmmS3r9ET80sDTi1UWyxqWA5u6IpTqBumoR65q8o9H57BdjxOzZeRAgE1dIZRAgDu2pqkbDs9O5Nk7EANBIKwEAJfeWJBESGZbb5SDI11o1gUeObnEM+N5ukIyt2/JcO/OHuZKOr/8plHqhsMjpxY4v1RDxFcAHZ0pEVYkvn50DgFfCZEMSXTHgmSiQc4t1qgYFrdu7qI/qfL4mRynF8qcnC9jOx5v2p5mR3+cY7Mln4RKhRhfdLh5c7xluhpT5ZbSREBgKBlivqixoy9GvmpiSC57BhJkogqj6UhLsdNULnp4fPPYfEvV0kyGmi5qzJU0vvLSLD+6v5937h3oOH61+6Ukw8qqkp7mY4BPPXae6UKdoVSY+3b38fR4lhcm89wwkFhmLtts7ydv2cT3zizya59+ASUg8qYdPewZSPC9M4v8wT8co2bYbO+Ltcakez/2CPmGCfSbtmXWHE/7EuFlxEiTsPzIV4+hWx6TuRoTS9VV5UCj3VFuHU3z6Okl+hLqVZnQv9rYIFZ+SHE5Zcl6z3fyrWjiakuU1iv5aRIm7dtXtt/09cjVTAYbZS6C59GfDLOzN9aY4DuEpADJkH86p6Kyn3rTG1nmBdOeetP0ibEdl/0jKQpVC9NxmS/V8TyBZEji3FKtEckmsVAxkBrM/fbeKJvTIe7f28vzDSPbpbLJsdkyS2WdqCrTEwuSrRooooAoedR1B0VwMUyXvGdh2zYuHtGgjGm6ZOsmAQky8SCyKNCbUKlbLv1xiUMTFVaK4QKNf0tFi66Yx56hBEpAZntflGQkSCamsLkrxFLFoG7aLFVhU1eUvqTK1kyEmuUylFA5veibnwZE2Nobo0dT2d0fZzKvIQj+9yEhIIsi4aCIKkmtWOti3Wr4sciIbSa16bCCJIqtsh7b9Y1pY6pEQpVa0ckLFZ1j02ViIb+kCFh2TmaiQQZTITLRYON7sxDwyMR8zxsEf0UyHpJb58zzkwVenirwtt39rTKdX/ybx3h2yiQThHfuG2h9htNtNdQ/fsul7QB9AZh3/L8r8S/uGiUVVdnZH0M3O5AeLoCw7tJUrm5S0kxydZnBDqSJFBAp1mx/gBaEVXHPrfdQNAjKAaaLBsnIKysd3MAGNtCZcFmrPKhddfLOvf415Dsn5jkxU2ZzJtK6ydwzkGjJxZs3mFXTplS3qJqdo3ELNRMPj/fsH2jduDf7VqiZPHh0Dg+vdRM81BViKOUnZjxyapFzSxWGUmHCcoD5osabtmfI1QwWSjqKJJKJBXnXnn7OLtUIKwHmyjquC5br4jbKXyqaRSAgYrsgiZAMSSgBEQFIhX1/p1MLVQo1HSkQIBGUMG0XRQpQNy1qpockwMHNKQo1i3nboD+p4riuv/rueSRCMrrpoJkOZxeqiAIkIzIRNYBVc0mGFWaMOvm67/kiCCCJAlJAYCKn8ZufO0zdcEDwJ0u2468dWy4sVS2K9eIy9UnV6PRpr42muelNQzG+9OtvurqDN7CBDliPePnZ//UUT4wXCEuXVCtRBWrm5UvSdAfOLl4qjWge7wGluk1IstmcCbFYNpAbpklBWWRbTwTL9ZjMVhnJRFAlkbJuM1eqs1jWmS1p1E2br748w8+8YTPHZyqUdRsPj9F0hPccGGB8scpsSefYdImqkac/qaJbDjv74igBkbgq8r1SDsfzsF2Xk3NlHAcGU0G29UapGw6Pn81yeKrAXKlOsWaxUDEQgIlsHVWRGEyonJqvcGa+ykJZYzAZQo6p3NAX4+xChYdPLXHvzm7qlsO5hRrzFZ2EGkCRJI7N+KU7uarJgeEkJS1ErqpzMa8xV9RxPQjKvsx9IBFCEkGz/GuKYTk8N1FkfyNQIxaUW0a27WNCc9xokgCPn13ipekSI10R7tyaIRaU8fB44UKx5av1+Nml1uM9AwlOzlV4fjLP5nS4NaYkwwrPTeQxHd8PpxMKNZNPPXael6eLgE+mt0cwt0ctV3SLuaLG3qEEv3nvdpJhhRenCuSqFsOp0DJz2ab/ygcPDvNH3zjJuYUqiZDEDf1xPvbNk3z60DTgq7Hee2Cw9d6bpArAL901umzc/MU7R/jrJy8gAM9O5PjOyYVlqX0fODjMjt5YY3HA5sHj8x3Lga9mEeS1xBUTK5/73OeuquGf+qmfuurObOD64XLKkvWebxqJpsKvzEel2VYnAqeTIe3Kkh7bcf0oZMdpqUv81S2XPUNx1AbRosoSW3tjLa+KwUQYVZJakcvt0bwzxTqT2Rp2I30mVzMZTIRJh2wePD5HJqbSG1N4/kKBO7emcNww0WCAnpiCbjqUNYuFkkFIkYiqCt0JlURQoqRZ6IZLXjPJaxai4MuUF4DjF8vUdI9oSGCgSyWkyMzk62QrDjXdwjAdFEkgIStEVAXbcbiQ0zAsh0LVWkWqAGTCAg6+s21QkRhOxwjJImFFpi+uYjouL0+XGekKMZqJYTsOvfEg/YmQ761i6OTqNgFRRJVFkmEZSRTZO5hYZjKbjigsNKSYiZCy7LxZapjcZmu+b8zLlsVSyWTvYNz3PynrxFQJPFrnU0m3W+eDbbtYjkskGCAii5xbqpGKyq3XGEyGUWWppXipGhYBMYAkiC3yLx6SW0a855ZKfO7ZCcq64y+tNvDslP96WQNub4tADgN1fIJKlZZfCv/ogwf4u6cn+We3b1792cfC3DLaxam5ElFVZn9bzByAJImkIjKStM5vZ51krSaSIYlYUG4Rhp2woVjZwA87rtbz5NXAWuVBzZvc9pvd04tVFqsGt229FAOZiiitm+QmCjVfRl6odbrC05KC37Pjkqlh8zN4ZjzHXz050VJyxlSZgyNdvufAxQIPHasRDUoc2JTk60fmCCsBUhGZim5z17YMFcNhOl9rXFdt5ksaE0u1lhIjAAQVEUkUMWwHWQQ5IPIjN/RiOC7fPblIybAwHQ/TdnFdAc32/VlmSwaSCKLofyaiKHBmoUquZmA5LjMFDc1yAI+tPTFiQQnH8bBcD80ycTw4v1QnGZIxHJeqbrXk8HgQD0sMJEJkaxb5qo5xGUOLqynpEQFZEvilN45uKFE28H3B3//LO9Z87t98+nm+dnQBYBnxcqWYL+tkyzqhYICL+TqHLxbJRBU007+HrRkOd27r5jsnFpkp1lkoaqiKSEmzcDw4OVvh5ekCgykVoejx/ESeXM3iHXv6UBWJ80tV8jULy3bYM5jg5s0p9gzEOTZbZq5QRw4I7O5PUbcdjlwsYdgOh8bzVAwHzbIRPKjqNucXq0SDMnJAICCKBESRYs3ggRemSYQkJpZqeB4sVnzlenPx9vxihbrpL5IqkkBYDrClJ0a2YjBf1jFsj4FkyPdlMhzKmo3l+r97KQCSF+DkfJmybiIHRMJKAEUSCIgCe/rjLJQ1euIhdvbFlpHcj59dailL2v9WdZuwEuDYbIld/XHu29tPoebfj1YbEdcro4lv6I+3UoSaODZbIlcz2ZKJcGKuzM6+2CoFx7HZEp7nceNQkjvG0syVdG4eSbbKitoTfZ4ZzxEJyrxjdz+j3VEeP7vE+GIdKSAQUaWWUqVZyqpKIm/8Lw9TM10EYN9QgtvG0vx/Pnu49fou8LY2P8KBmMJsxUQGvvjiNJtS4VafP/zuPbz7xkF+78tHyVUMnjiX5a27epeN7/uHU/z3Dx7gS4en6Y4GO5b7XC4N6fuFKyZWPvjBD5JOpy+/I5DL5TaIle8zXon57Xqky9Wa13byamkm9vQ76jJD2mcn8n55DD7ZslDRKWkmiXCwFcErBUSSEbn12u197ZQi0zRJBdjcFeKZ8zniYQnDtHnyXJZUI4b41FyZQs0mHVUYz2otZne4K8KDZxfY1hPHdj081yVbM4gEJfJ1nZlCnQnbYyQTZnd/nJJhIbguF/J1emJ+9PLZxSoeNiXNo2bo9MQdkiEFzdIwTAgqARAEPyrSckjGFWqWQ65sdbxpVABVFkmEZRRJZVtfAkkA3XGJeS6O5xEQPFzPo6I7JCMSJc1Dsx3mihq6bTOd95l71/Xo71KxbJet3RFyNbPxXal+atR8hc1dIbb0RFeRAKmIjG0HsBwoGyYTi3UKNYueuELFcBAEv5aWBsmUaCT+NJVQC65LdzxIJhbk0GSB+ZLGDQMJBhO0VC3N7zEii9iOxw39UXrjKmcXK3zumYvctrWrRRa9+789gdbo21xJpxPazWa/9btv4j985QQhKcDj57Pct+fSxGd7X5wfu2kTiEJHVUosKGE7ArHg6ktob0xdFjPdCVeSrNUbV6kYzrq/48kGATeZ09i/oVjZwA8hrtbz5NXAWitjt42lV9W5DyVDJEO+JHw9vPfAIKoSWDPtaK0khz0DCU7MlQlJIjcMJKjpNl99aY737B/gvr39fOGFaTTTZedAnHjYLwtKRWQKVZO67dIXD7Gtx+LoTIl/PDZHtmKQDCu4+DG0gYbYLqbKVBrpOQEBbNdDCQj0xsMYjothexTrOh4CluP5Ar3GGOF44Nq+csRxPSazNbRGPm1B81NVBGA860v1EQRG0mEUSWS+6Hu9aKaNZntobcyIKotYjh+Tehlf7yuCLMC/vHujnGcDPxj4+M/cwsc7bP9X/+cQ32yUGl4ONlBpu7GcL5tAY/GpavEHXz6K0EgAkwMis0W9RbgqkoiAwFPnsyxVTLrCMqoS4C8eH6eqW1QNGykgEgkGiQT9a9vJ+TLPT+ZJR2T2DCa5dTTFgU0pPv7IWc4vVYkGA5xfqgICibBCLCThuDDUFaKiO+Srvrom1VjMK2sWfYkgAwmVkmYTCQaIqQHOzJcpaBb5uuWX7AvQn1TJVk3myxqmDZZtM5Ovc9rw08/64kFmiwYO/jVrIBFCFmCmqKOIIiBiOh7DCZWq6d9nmbbLlw5PLzOxffT0EmElwNmFKtt6oxRqJqbjkq0anJ2vko7InJgrt5SHk7k6swWNqCpx17buZePabWPpll9LOwlz46YE3z21xNGZIgD/9kd2tI5plhO9ZWcvO/tiPHh8vuWBAr5C5Y1bM+zsi/HMeI6KYbWUkBNLVZ6byHPX9jR98RCu5/Ezf/UsNcPi/bcM8/v338D+jz7USkTzgI/+6B5SEYX33zLYUqwAFOuXyI+nfv9t/OPRWT72zTM8dS7HcNfMsj7vH07xyZ++if/fN09zfrGySrUCr+9yn/VwVaVA2Wz2ivYThDUcGTfwusF6pUDrkTJrHbdSbdLav0PJw0JFZzqvsTlzad9cGxvZIltsl7JmM9IVbpXt4MHmhtoE1i4paj7Xnij07ESeXNUkIAoU6jYzhTqOG2IsE0ENioxmIoz1RsiXDQKiwA39MR45tcRSxSAc1Ng3mGQ8W8WyPKaLdVwbpvO+HLFct5iwPfYNJTkyVQDXYywTI1vV6UuopGM2i0Wdsg4XixYCFmrA98tTRMDzqJgOLgI9YoC+mMrFrEanBQkLmC07VA2NrQNJukIKYkDEMC1Kmk1KsxBEgXBQIBNXyFZNzi1WkUQBzXDZOxQjGlSQRYGaaXNhqU7dsHh+Ms+WnijDmTDFmsn4Uo1gw1SmOxb0E40aZVS5mklFtzEsl5pp43kCmaiK4/grDAIetgNLZQNZElElkYeOzzOcCpGOBluEzdYev5xLED1czy/jOrtY4WuH53j3gX529Sco1nT+7tkp+mNBehqExC9+/AlmXXjw0AWe+n/vA2iRKgAfeMOlbPvfv287f/adM7xrXx9VzWyRK0OpGO+7ZZjHTi+sklcOpsKcXaxxdqFMOqJy08hyVYqqBBjtDqMqq2uFroTUvJJ91vI5akcqKhMJSqSi8rptbWADP6gYSoZIR5XLEhWvJq5mZcxr3BZ7lxHur5d2tFKl0/4ZHJstUaiZ3L41wwcPDvP0eLb1uoWayYFNScDjwFCSs0s1dvRHERDYvylJXzzEbWNpdvb5xpHPTeRxPZACAq7joUgihu3huB665fimlS4N1aTH/31hhpgqYTRIkrrlb1+JTFTBsF2Kmj+CCUK7vSMojYScuuk21DC+J8qO3iilmk7V8tMihBWt27aL3lngc8X4mVuH+I/vu/GVNbKBDbyO8Oc/d+uqbc2SoqgCV2Ml1K7wyq1Q0yVDEucWK9QMPwVyV3+MY3MVlso6siTiefim/J7Ft44voEoi8bDMhWyd2aKI63oYtm8K+76bhvifj55nrCdKQbMp6z7hOtYdZUdfjIGEypGZEqbtR7SPdYf80knDZiCpsjkd5sULJWqmw0yxTFgOIIk+CQHNUkYbx/OjrQMimI5HzTBxXQgpAiXDbpFGckAkqviJmLrlMNCtsqs3xtnFml+6NFumatqIYogTsxXOLtRacccA5xerPF0zuC3SRUgJML5YZXyxxkJF8+ccNZOnx7NM5uqML1YZaxjEtqtDjs2WuW93HzFV5tHTS0QbC9LPXyiQjirUDIuwLIHn8TtfeJmfvnWYREjmU4+dx3M93ryrhwePz7fa9zyP3/jcYRIhifcfHObBY3P81ROTbE6H+c23bedj3zzJZw9NkwgF+OW7t3Lf3n5G/9032rx8/P9V9EtEnCJeKnX6j++7kf5kiP/+8Dkk0eO/fPMUf/zefa253O1jGe7dVeTxs0ucW6yu8koZ7Y6ytSfC0ZlSR9UKXFpgGEqGlqk2X8+4YmLlN37jN6640avZdwPfH0RkkVMlnaHE6sndeqqUtdQsnUp7gI4lD7bjUqxZ2KlLV3Bf2SLwhtFLqS3+UpbX+Nu5RKn9dXf2xZb1eypX5anzee7Y4rd5c6M+8ubhJDnNZK7k+7BM5jXyVYueaJBizUQURe7f28tjZ3MMp0L0xBVuHE4RQMB1XSZyVSKyhOtBSAlgOh49cZWaYfKFFy7SHZORJIGXpgvMFzSyZR05IHBwc5oXJnNkdf/jqDeuVbNFC0WGbT0qoaCEiMdssY61hsTZw48hczyQPI983SQRUagaNp4LFwt13rg1gyJLSIJIKiyTCsm4LpQNi5LmEA8LeARwXI/pXJ2lmkFPPMjR6aIft2faVHWb3mSIt3SFWt9J+/dfNS2OXiyRigTZ1hNFkkS29frfadNj5UK+TlyVWSjrLJb94nbDdnnqXI67tme4dSxDtlJnIlvn9tE0iaDEJ77tr2TE1AC7+hO8/T89zIIDceDQf3i7/5k1Tp1Fj9a5cPuIyNMXXLbFwHEvESX/7PZRBFFkJlfl6Yk8b7vh0grxG7ekCcmB1rnRhBQQSYUlAoKI561eGr0SVcorxZUYRfdGVSoZh97ohlplAz+cmC766rqm6Ws7XqsyoXYTv/Y+dFLTXK7Ep1N7K9/HynbbP4OhpG+ceN9uP5Hh9rFMyzSxGZV559YMF/N19m9KcmahwrdPLPDuG/u5Z3sPn31uijvG0uiWg+14JMMyPTGFimajG67vCwakQzKG5eAIPukNYDgeoukQEPzxZy3kqyZBWUAJgO2AbrnLCJJ2v96QIqIZLlN5rZV+4r/WasrGvsrc496ozOf+1R2rzpsNbOCHHWuVFP3Xh07yPx4dv6Y2LxYNLhZ935O4GuDYTJmCZgIeWkMFI4oQCIBpuzw9niMSlHBcl56wwlzRYCCpEgtK/P6XjzZipj16YirdUY9szSQgCIQkkW+dWMB2PcJKgNmizql5X72bqxrMFnXmSzoBQQQ8qoaF67n+dUYARRQRRQGtYd4dbKSYaaaLC8iir36rGz6xK4oCITmA43ncPJJkvqyTr1ts6YnRnwrz9PksihSgR5F4594++uIhPDyGkiGeGc9doow9Wr4zm9Nh3ryzhweeu8gHDm4iHvIjkmcLGmM90ZY31mefm+JLL07z+UMekuTft36wYeDaJBXmixqnFyu8ZWcvvXGVh47P80QjYak3HuSp8zluHkmxWDb41rF5Do528cGDw/zxgyc5OlNk72CSZ85n+Z+PjeN40BPzSfqm2qSgOS3lZPslNhnyF+x+6uBQa98bGmRQ85r662/ZTkmz+dxzUxyeKvCdE/P8ZKP/qYjCr92zlZJm8eJUgU89dp7fu2/XsrH6fQeGWCgb6KbNZ5+ban0uTTQXNR4/u8RDDWPflfu83nDFxMqf/umfXnGjV7PvBl576KbNd04tIgpCx5jWhbLOhVwdOx1u+ZY0sdZK+1rRzZ1KHiRRJBVRWkku0Hl1XhJEuiJBJGF12U+n112pppnMaSxVDSZzGmM9fjTz3Tt6/Ehf3ebASMpPuIn6E+eCZvDI8UV2Dya4WKiTq5ikowpj3VE/WcfxyFZNijWTKaPOu/b1UzUtwpKE53p85aU5VAkM0yUZCrJU06jpvkFfRbd56nwOQbgUvdeE5oFmwmxFY6saxUOgpnf2VmkiCIx1h/EEkXzNRBQFFFGkatjs7E9QMRxCrstz2So39Me4dSxDRTOwXQ/TtpktavTGFGbLOhXLpjemMpAM+eSM58u+e2Iqw8kQk3mNnX2xVhxys0xnOqdRqNt4gkBBs9jcFeLF+QoCMJgMcXSmRDKsEAtLmLbDWHeU20ZTPDNRoG7ZlHWH0wtFfvvzR9jaG6IrrPBbn36C4zlfJv7zbxzzz8cGwVSG1rnR9EdpPzs/+6v3cWgix+NnFlkoG4yk/Qu/qkjsG0pQqlkkVviVREMKd27NkKuZqIq7jEjcPZAgKEsd48hfSand9cTlTHA3sIEfdKxnUPdalQl9+fAMX315Ft10+FCbnLlT31aW+HQif9pNAX/tnq2r3ke7QqUp1d7RF22VBbUTTe03ns0o5rMLVb51fIEf3T/AYEJFlkRCcoBPPXae5yfzfO3lWYIBX/3p4XEhp+PhYdsupuev7l4oargN01qzcbctCjCcCjGVr6Gt4+9gNeKML8eDSEDNcDuSNFfJobTwi3eO8OF377nGozewgR9u/PY7di0rffuR//ZdzizVV6nD1oMHlHSHkt5h9c8BxQPXg9mCjodPYoiiwGJZ4+svz/Hg0Tmqmo0SELFclxOzJQRBoCeqsFTROb3gx8E7rkd3LIjluJh1l4BgUjcd6oaFIstEFb9kyLA9DMfBsB2CskAqLFO3bBqVNIgixIP+tTdXNXFcj/mSQTgo0hVR8BBwPf/+3vOqpKMK8yWd751d4paRFJGgxPsPDrE5E+H2sQzgG5d/+tAFnp8oElMluqIycVVmtqDx7HiB9+wf4PYtaeKhS6qW75yYb6W5NVN3CjWTkCQyVdEYSIQ4Ol3ijrHasvFsqWby9Pk89+6UiAQllADsH0r4cfZFnUxUYUdPhG8en2exaqBbDh/56lEOXyiysy/Gh962nR/75FOt9n7vnbuYLrZrvGklzrV793z20EV+/S3b+Y/vu5Hfevsu/vjBkzw/mecjXz3OR390d4tc+elbhzk2U2IiW+OJ81neekNfa6xLRRR+9e4t/OnDZ5jK1/jrJyf4hTsvmdmOdkf5vft2tcx1j82W1kzre24iz/OTeUbTEe7b23+FZ+trj4078X+CONeIIHM9r+Ok0ReYeKyojlhXySIFRLqbaS0rtq+cgHYiWzopaFbu16ktVZFaCpl23xXbcdmc9qXjt25eXsaxUNGZzNXYnPENbaWAyJ7BBN94eYZczUC3bG4d6iKuygylVE7MVXA9l/54iM3dEc7MVdBNh2fG8/TFQ0wXNB47t0gmKmPYLvs3pTi7WGWxYpCKKmwfivPkqQUKjTSCtZxpciUbnAqSCPPV9QvIgzLolsemtEoiGGDPcBLNcElEJNSAhCB4nJyrkauaRBSJGwbilDQTw3aYKtjEVZvuWJC7t6XBg72DcYa7IswW6xy+WOLGoUTLfFXAY6ZYp1i30S0b0/YYTofYlFLRTIeCZjKVq3N2ocLEUo2uqML5RX/AGOuJslgUePJ8gbu2pZmvanzl8EXu3NbNbaMpbvrotzGBIzMV/vD+vfzmA/7784A7tvjfWwSoNf428Wf/bD9/+8wU//y24eUfjNdwClihMtk3mCSsyB3P97XK29Y6p68EV+tF1AkLFb1ltDyYDHfcx7b9lfGh5HUwHNjABl6HWK8MZ89AgoputYwAX61VrKEuP51sqGt5OdKVlAg9M57jKy/NtjxQgGUxybCaoDk1X+HIxRKj6Qgn5kp87eU53n1jP6mIsibRFAtKmI5LOqLw4JHZRommR67uJz1olovrekgBkYv5OvGQzI2DCdIRmUfOZFFEEaeRBuQ2DB1dWO5l4sGFQg39Ckwzr2SS5uB7ObwS9EQkDn347a+skQ1s4J8ovvVv37xq2x997Rh/9eSFa26zec1o0i51y2WmUMdwoG5funiogkexblMzHBzPo2rYKAGoGQ6a4xBAQGuoUARAEDx028XzIBBwCYgyckDk/hv7+M7xRfI1C93yWGykCTWhmy5h2WskXfrbbBdMy0W3LQTPYzQToVi30G2XaDCA63lczNe5kK1RMRw/cU1NAj6p8tdPTFI1LHTLRZLAsAJkYgoDqRDnszVemCpwYq5EvqFcrOq2b76rStw62kUyrPCpx87z3GQeTXdwPY+6afPEuSym7XLz5hT37e7jYqHOd08tckN/lHxV5y8eHyeiBLhhIM5fPTHJppTKQDzEJx8bx3Nddg0keODZqRYZngwr7B9ePgfaO+i/j3Yy7SsvzfDzd47y5O+9jV/+22d5aapMf+KSaWyTIPn3hTpn5sv86cNn+H/e7XutjHZH+U/v3cufPnyGhZLekTx5x+5+/vyxcR4/u8QNDSPfJlIRhQ8eHPb9X3RrTaPanf0xzixUL1tm+/3GNRMrTzzxBE8++SSFQmHVc//5P//nV9Spf8q4HhOyy7XTrvLo5N2wVpnDer4snZ67mvdyPltntqSRzCrcuGl1ms+VoJ14mSnUmS+b7OiLLTMsBZaVJ7X3sSuqkI4EiYdkslWLzWlfrRENSnjAUsXE9hwOjqU4O1chHQsy3BVmPFtlIB7EcD0+cOsmHj6+wEJRIxgIMJgMEVEkktEQeU3DYe0UXgOYrV4m4qC5rwVLZZ1EWEPpCvP8RJ5kWEEQw4TjMmfnqyiSb+o1VagSUgIYlsubd2S4kNOpGjam7TBTNNnZHycRDqIqEhFVYWdfDA+BnX0xwFcwnV6oMJ3XKOu+x8piVWe0K0zNsjFMB9fx/XCCAQERj9OLFTIRlc8+eYTnZyEN3LgpwT/7X89iAt88usBP3TpCe+lvMqJycx+8MA9dMoxn62RiYf7T+/fyf1+c4dbNqZaR7F3beulPRlcrpJK+Y3vvCj+GdgJuJdYqublcZPl6WE/1BVf427iC5CAaNxxrJPBtYAM/1EhFFAQEvvLSLMCqVaxrKRXqdMzbdvXRnwhdUazjSjVK8yaw/WZwpb/KSoKm/Zh0WEGWRNJhZdm+zTSKZp8+c2iKI9NFjk4XObdUQxYFjkwXmSlo3DySYlNXiOFUiELdYqli4LoeR2ZKyKLAQkn3DSsbry8AaofUERcu63FytSvf14KwBJ/5l3esmjBsYAMbeOX48Lv3LFN9vVKiBegYxKA7Hotlw0/eEUCzfA8lQXAQBd+w9r0HBvjy4Rk0w2FXf4wnx3PolgcI9CeDmI7LE2ezVA0LCf8aFWiY74qAIPhKu2YUuyyJbO0OcyGv4bgujuMhAkXfMIpURCYoBbBdl6pus6s/5qd0mk5LVSggEA9JdMf88qaQJBEP+SRPXzzELZu7+N6ZRWYKOr2JIG/f3bvMcLypPPQ8j5AcoFAziQZlbtyU5NRcBctx+PxzF5krajx6epG5ko5u2kzm62iWi2m5fO9sDoBMNMiDJxZbn+muvhjPXyi2Hu8b8pN9ZMFXEgKtkpv/8wsH+beff4mKbvPA8xe5e3s3o91R/utPHPB9WzxvmYJktDvK+/YP8hePT5Cvmquee8fufv7qyQlevljgs88FlpXs3DaW5sRciZcvFltGvitLfqKqxFcOz/Do6SV+9e4tq0o428teX89+K9dErPzRH/0RH/3oR9m/fz/JZPI6d+mfNq5kMnclk7L12llvkglrlzms5/nQ6bm1+tBp+8po2VMLFU7NlbBdtxVnW9VMXpgqcvNwcjVZwvLPZS3VTbOPhbpFQpU4NV9BaNzeDST9C2I0KPLSVJHBtEq1btGfCrOlO8KFXB3DDpCJqmimy4mZEsFAgPfuH+S5yTy98RDPnM1zoaBR0UxUUWQyq6GILoZpEpWh9AqN95oQBVACIktlHVGAsCJi2h5v3JLh9GKVs0sVMmGFTDzEUkVnobRIfzJEWbcYSoXQbYepbI2q6TKYVNmSiaCbNnNFjVhIQgoILJR1EqrEucUqakCgUDfY3hMhX3e4mK9Sqvm1rsmQxHzJYEkzODCY4i+/cZpZoBto+tTngNtHu1pEitn4vqJAFWhePj/9a2/nfz85ybGZIksVX+Jz764+cnUbAX8ld/9wClWRWp46TdUR+FHbkiCC4Lff/vtYy2B5LQPkpvLJdt1VbV0W65x/cHniBa4sOWgDG/injk7ERRPfPjnP55+b5v0Hh3j/LcOrnu+ETuVFaylTOpEwK9Uou/riTG6qs6sv3jpuLc+WJpo3kHsGEjw9nmVLJkrPCj+0p8ezfPWlOX50fz9Vw+bEbInNGZ9s1qxZhrtCFGomM0WdsFJmPFtnNBNmoawxkg5RM1x006ZmOghATJWoGr7viiSybqnPeni11hIjMhz/o/tfpdY3sIENrIWVREuhZvKrf/ccz0wWX3HbLqDb/jVHCQiN6HUXzXApaRZ///QFLNclLEtEVAmxQd3qlsPp+SpVw8Zq1BJGFBEPge6IzGTBT4ZUJd8/RTNtXMB2XRaqJp7nERBFRNdFEKBuWsRCCgslnWLNxHE8So5NxXBIRRTGeqL0xUNUdItoUCKmSuzojXHraIBCzWJHX4zHziwRCQYYTUc4GlY4PlumpFl88cVpYkGZHf0xBODoTJHnJguMZnwLA91y6IoG+Ymbh1go6Tx4fAE5IPDo6SUWSjq2C0dnKwCr/K3etDXNmYVq63F/MkRXSCSv+Uu4T57LA/CtD93Nlw5PU6xbPD9RaJXT/MU/P8i///JRclWTLx+e4UM/sqNVnnNstrSKxHjrDX1EG76JhyZyDCVDrTGsmXr0wlSB5yfzbE6HeedeP20zFVH4hTvHWj5gnUp+9gwk+NrLs365UUlfVm7UbKNZ9vr9TgpcD9dErHz84x/noYce4q1vfev17s8/eVyJYeWVkC9X0s7VYj1fiU7PdYpaXqtvg6kwqiK1tqXCMrGg0opDBnhhqsjZRf8CcveOnlV9WPa5tKluVhJRTT+X89m6H+ccUkiokk/iDCd56WKBi/kaMTVAVyTIlm6/FMP2PMYXqvQlVQp1k4lslbmyTnc8yGhPFNf1UIMB+mJB+mNBv6+WycWqgWa4mFdIqgS4JKFcC0EJwqpMbyJMSAoQlEQGEyonZst4HkRkmaF0hBuHkjxyegEZkXzVpFS3qDTSF47PlqkbNsGAn9jTn1TJlg30JRfNdDgxX2Jrd5S6aRMggCyKGI7H+aUKX3/6AosuxPBXBUqNfr1hJM1s4/8rw/9URWI0AhM1SAl+qcvXf/suPvXd89w80tVK7Llpc5Ka4Zcqge+DcvfObp48k8V0nBbJ0el3IAVEbM/l6FSJvZsSjHRduiifXqhyYq6E43rcuCnZ2n58rswLkzkMO83NI12t7U3CplA3kUTzqlQrlzO3tV2XQs1kMLV2m1eaLtQeP76BDfxTQzsJsRLTeY1s1WA6r3U4sjPW83RZiU5lPsmwwt7BRKtm/eR8mSMXS2xOh1s3iStVLSvRTuR0ImaAVpKZgMDR6RLTBZ0Dwyl+/KYhwkGJkCzywHMXSYV9GfdUXsN2XRYrJgMJlVzNoCcWJGA6qLJKb8z3Yjk5X0Y3HayGY22zJOj7hRt6I/zj//ee72MPNrCBDbQjFVH43K/cuWzbJx45wye+e66hJrl62G157TWjccXxYL7i3+Ppisuz4wWcRu2g6XhUdYtAwI9g9/ANc20XLpiX7qBdx8PAxbRpxL/7BuMeEJG9FhPsIVCsWSy6BkEpQESR2JyJcNtoF09P5IkqElFV4qFj81zM1zm3VOXkbIW37+klX7N44LmLzJY05ks6w11h3rKjB9P2ODNfJigKbO2J8s0TfgzyV1+aRRBBlQMU6xZhRWQyW+P/+coxxnMaEYWWP8xKqPLy56aL2jJflMfPZvnir93Fock8n3jkLHduS/OPR2e5fSzDv/2RnfzNk+M8M55nvuyPifuHU/z8nZv5/HPTy0pd1yIxUhGF+/b288lHz/HtEwsslI2WIW3zOYBj00X+/pkLDCRCLWVhs+SnuRixEs1yo4+UdGZLGg8en+84Pl7NGP39wDURK7quc9ttt13vvmyAK5tMrUVYXGk716vc6HJYKy62k0JgZX8Hk2FUWVo2MW1P9VmJprIgFpQuW9LRfL6qW0znbUbSYUq6TUW3CckiFd0mGZLZ2htlrDvW+pwuZOscmy1T1Cwy0SC98RB102a6pHHnWJoLeY3bxzJkqwbPns/RpUoUDYeeaJAZW8e8wgHnSoqBdBccx6GqmyS7wpiOw5nFCqmwguG6RJUAmWiQ6aIvYZyu1EmEJUp1vwRIM21kUUQQBU4tlAl4cHo2QCoi05dQ+fqpBSo1g1MzJXrCKs9cyBIyPOZW9KOy4rFluyj4ipQA8Bc/dxO/96WjvO/GAWZKdb78oXv5wovTRGQZ23bZnInz1l19PHs+Tyqc4227+9k3mCQoSSRDUotEUQMBEmGZ2aLOYFJnMBX2SbOGmqRdUVKoWpQ0i/MLNV/B0ti+UhV1CR6uJ5CvmquUKddKUF4Pc9sr+Z2+FulEG9jADypWGsleCTqpU9YqKeqkllmpeGknQJpYqWpZ77XWSkW6bSxNVJXYM5DgxQt5FNmPtW/uL+KhygH2bY0TVCS298XRTJuL+TqzRY1i3SIZkhlIhchEFQo1m6gqEQwEqLpOq6THF92/ekqUtTD5nzfUKRvYwA8Kfv0t2/n1t2xvPf7EI2f42LfOXrf2a6ZLzVzunWK6ILhua5vlrr5OWS6Y7iVquP35muVf2yJKgLjqK68FIBYM0BVR+MlbhqgbDgslnU8fusCH3raDrojCsekiruvheW6jRFPg1FwZWRSRBIGKYXEhX2ehrPnKmoUKJ+erVAwLy/Uo1nUc13/dfFu9ZbbafK/L30NPRGKx5u+nW/CGkQTPXvCXM588n+Mz//IOEiGZ3/niEc4sVPj0oQv8wf27GUiG+JsnJvnrJyYBeOfeAQo1C81yePliqeVl0ix19dpinJtkyFokxn27+zg9X2a+pPPMeG5ZGe5tY2k+e2iKozNFPnNoalnJZqdS1vYxdbQ7ykd/dHdL0dkJV+Jt9v3ENREr999/P5///Of5hV/4hevdnw1cAdYiLK4U1+odcbWEzNVEM69su9PEtJnq06k/uZpJRb8UxTxTrLeMP3tj6rJ+NNuu6f7n4DguQRVOzZXpiQUJywF2DMQ5sMkvOWmWIKVUCdPySIZkZgoaBzalmMjW6I4reIgkQhKiKNIfV9FtBwSIqxKKBJLoXRFhcqWQgZLmUDJq5OsmsiDSn1RbZFRXNMhCSefkfIlsxaRm2ixVBAIBkfmKjioKzJUNwopIIAAzBYPRdJiLRY1SVSert7+aT58U1+jLQBBmDX9lc6lq8De/fAv/4+HzvHVnHzv6EnzyZ27h0ESOM3NV3ryzh/v2DnBytszzFwqkIwrJcBA1GCAZ9hUqqiKRiSpcyNWRAiKDqTC9cZVNqQgXCzXshjGtFBB9M8Wcfy41S2p29sUoaRapxnnRPI9WqqKa2N2fIF+1qBgWM8V6K03oleJyZs+XU5pcSbnQ6yWdaAMb+H5hvWSglV4m1/s1OqlJYkGJim4RC/pj886+GBObEi3Pqsv1q73E5517B5a11066tOP+fQOUdJv79w0wkvZ9p+ZKGhcLOobrcXyqyP37+jld0TFsh5AcICQHiCgBLuY15ksG6YjMkZkimxIqpuOiWzYCHoa9frTy9YQATGwQKhvYwA88VhIt18OnBVYTJ16Hbevtv9bzSkBEFiEUlOiOKBgeZMs6j5zJslDWWarofP3IHAdHUsyXDEq6hSyKTJd85UfNtClrNobjYC26PHh0HrNx4SzrVkePGcNeu96yXSn4v37uVv7LQyd5erxAXA3w82/cwj+/0+PffekIuuHw5987z6d+9hb2b0oyka0xXdAo1Ez2DCTYMxjn2GypRey/98Ag82UdbUW88V3buvmdL7zMt0/MM1/S+bOfOtBSoXQiMUa7o7x9dx9feH6GE3OlZZ4pqYjCh962nb95apIb+mIdzWivZNxei3xp4lo81F4LXBOx8id/8ifs2bOHz3/+82zZsgVBWG4k8IlPfOK6dG4DnfFKy3zWO369yeBahMxax3Sa9NmOSywYYCARWmY8ei3eMu2pKemwslzF02b8udbks6g51EybouYwmSsxma2hSgHGemJs7go1CCyRQ5MFjkwXkQQBzXaYKWjUTJ/cGuxSMS2Xim5R1ixKmsNi2TcGjEcUclWT2bxG1YBrLFnviK54kP6kQqFiEwh4eB7EQzLg4goeFd1kOlfj9HwJzXHojatotksqKJKvGJzI19Fsj1pbedKFZmzRFeCWTTGKdZNoUOBHD4ySigT44gszWDb0xcL87n03UNJMECATVVACAU7OlxnriTDSFeGpepaTMyXiqsxd2zIokrhMoYLgl8tkq2bLa6Q3HkS3nFb8NtDwUnGW7acqUitCeVnM9xrngapIdMeD5OZ0CnWLkfSl59Y7Ly9HNK5HjFyJ0sT2XPI1g8GutYmT10p9toENvF7xWsiC13qNTmqSL7x4kW8dX0CRBPYPpzrus94NYc1wmC/rvDhV4PaxDN84Osejp5dIhGQODCdbpEtMlVs3pgAxVaZiXBplIopE3bS5dbSboBRgpCvMXKHO1p4YnueyORPjx28a5HOHLjKVr3EhV6ek2aSjHjv7Y7w4mfel868RqbKhUNnABn548WoY4l4v1A2HWUcnqPiRQVXTxXJdPv/8tL9wGRBQ5QAX83UUEcqGieV4mI7DM+dyTBXqGLaLa3vYrCZzOpEql8Mbt2VIRRQePb3Ah//hGL/9jh30xGeYLtR46Pgcv3nvdn5s/yBfe3mWTNRflPzpW4dZrBgslDX++slxfuHOMf7FnaPLyPj2eONTsyX++MGTLaPYn751mPmS75u4VuxxO24fyzCZq3eMSd4/nOInDJuvHJ7hxPzJVWa0ewYSVHV7zRQg6Fxq2471yJnvJ67pTvzDH/4w1WoVXdeZmZlhenp62b8NvLpoThDXmkjZjstCWcd2OldGr3d8cyKZ61Dgl44opMLKqsngQlnn/GKVhbK+6phO7Wu2S19CXaa2SagStuO1iJFO72FV39rIk1zNpKxZrefSEYV4SG55rDTbav9/MuTXUSZDAUa6w2SiQbb1R9kzmKBmua3X6k+qmJYvq67rFgslHc2wOT5bJCAK1CwHRRL8WveZIrplYnsgS77fh4dAB6/dV4RS1aBct4lHJaqGi+V6VHSb8aU6T5xZ4JFTCzx/Icfp+RozeZ0zM0WemSjx4LEsL87UyGrLSZUrwY4o/N7btrGjO8S+wSQf/9mDvO2GYWKhALuHUty9vRdVFsjXLHYPxNnSuIj2xlWSURnDcnjpYhGA/qRKzbQJBX0ipC+hUjVsTs1XsB2X3phKVySIJNL6TnvjKiMZn6Bonhe9MZWuqIoUEDqes1eKrZkI/YkwWzPLU4bSEYVYUGqVHLVjvd8KsK6B7eV+w0BjuUJY1+Dgsn3YwAZ+CDCxVOWTj55jYqm66rnmitpaK1bNVa/Cit/I1Wxf6zWGkiHSUYWhthSyXNXCsF1yVf8Cu2cgwT07upeRMs+M5/j0M1M8M55b1d9o0DcPH1+qcWy2hG45mLaLbjnLyoralSzt/Wi2/TdPTXD4YpFvn1ggpsp8/cgs3zyxSCYSpD8R4R27+3jT9h7evKMbSRQZSIWIhyTSYZmbh1MMpyOY11NmuQYm//P9G6TKBjbwTwwffvee1m9/8j/fzy/eOfJ964sfMd8yW2G+VGe+qDOZ16gbfllkoW7x9HieB16YRrM8HA8WKibH5iqUdQfD9rC4+pLJiCK0JuJbusP8w6/dwZ7+KCfnysQUkeFUhLJu8fUjc/zmvdvY0h3j6HSZj3z1OG+7oZd/efcWfvymIR4/u0QyrPCO3X3YDpyYrXBsttQau4p1szWGNr1OVEXiyHSRB4/PAz4Z8mc/dYCfPDjccaFi5TjcbOfOrZkWQdKOPQMJxEY6XfM1mmimAL1wocix2RKd4OFh2i4n5kqr2m62v3JsfT3gmhQrDzzwAA8//DBvfOMbr3d/XjN85zvf4eMf/zgLCwvs3buXP/zDP2TTpk3f725dF7ySmNj11Cxrlh1cJgFlZfudklZydZOSZpKrywwqUsf3sLJv7akpCxV9WR/ay6Vsx20pB5pmpAABSSQZlglIIoOJMNHdMhFZ5NhMic1dIWiQSNOFGsmwRG8iSLZmEJRFLMvDslxOz1aomw75qolpuUwX61RDMj0RmcWKQVSRUeMBKoZNTdcwrtPqX9GC+oJGUIKACHJAxDILzFdBATwBWsnNNtSuUi4TBu7eleH0fIUtvTF+/s4tOK6DGBDQPY/BpIphudy5I0NZs4jIEjeNJHnqfI6XL+bZ1RdtM34VefuuXr4jCIx0hcnVTEKSxOZMFM3wz4N0RGGupFHWTBYqMoPJMFu7I5xbqrXINikgIomNNmuXFCor94OrV1fVLJfehErNcom2JTWvZ2B7OeVYOqxQCFmtmNSrhe15lOoWtrf2SfNqmFRv4PUJwzD4xCc+wWOPPUYkEuFnfuZneNe73nXdj3k94nJmr+thZWlNE2utdq21fyd0UqN88NZN1AybD97q3090klJXDIts1aBirGa3bxtLs1DWOXyxQCwoMdYdoTsWZKw7sqys6EuHpzk0kac3HuSG/gRHLpYYTUeoGjbZqsFgMkS5bnPXtgx7h5J87aUZTNuhKyLz7v2DrbQHBD+z3bZdRlIhjs4UGc/WkF5lAdx3/+3dHRORNrCB7yceeG6KT333PL0xmRcvlumLKcyUDHqiMotVi2AANMefPNnQMg6NyL5nR3N78297QktY8tO2wo19ZaB5BWiWfrRviweh3BASt29XRd9nb+X/YXX4QXsbTWTCAbL1zqzpSJfKH/3YXt60fXVAxKuJdkXLf33oJP/j0fHX7LU9fPPcir76M7E939+lCesVkM2y6Hu+BIC9Q3FmSjqeB7v6VcazGvft6WP/cIqQIpGv1zi9UOW/f7ARfex6TBe1hrnrcWZLGsdmy/zaPVuXGczeNpbGw0NAWEY4PHh8ni+/OM0z53OttJ1fvXvLKi+T9fxLHjw+z1demmEyW1tmWNs09Z3M1ZdFLDfNaL90eJruaHCVMqXZv7Xik5uKmIml6rKypSvp6/cT10SsRCIRbrzxxuvdl9cM3/72t3nnO9/JRz7yEW6//Xb+7M/+jDvvvJOjR4+SSLy+mK9rweUmW5fzfrhqMuYqJpBrTlTb1CdrvYeVfWt/vLIP7cdfyNUYX6rRGw8y0kbSLJRdXxXRVlpyeqHCucUqdcMiHJRJqL7hqe3CaCaCHAgwV9YYS4e5WDAYSCgcmSkRUyWMgIPougQEEc11cT0P14OoKlM1LCTx2iSBa8EEzBZh4kIj+OLKC3p8yMCWjEI0FCSkSLxlRx8n5kvElACKIhEICDxyap6d/TEUKcC79g9QrJq4Hmzv9uPislWTLd0Rjs2W0QyHF6aK3Lk1A9A6z961b6B13iVUiaphL/NBicgiT50t0R/3ZY2dvIQ6nRdr7dfJ2Nbvq8FSxWBnX6y1/WqjxIEWqbdm6dwKsvBqUdH9Mq+KvjYrtuGx8k8HP/ETP8GZM2f4gz/4A+bm5njf+97HJz/5SX7pl37puh7zesR6Zq+XQyfzWFi7vGet/TuhUxtVwyas+Ne3tRALymSiQWJBedVzqYhC3XI4t1jjqfEc3dEgiZBMNCgzXdSYKfhpCSFJRA6IpCPBFplSNWwWKxqzJY0bN8X5sf7BVqTzkekC4aDUul48P5nn4VNL7BuMEVICeJJIrmag26DbFtGggCzANYZ8rIsNhcoGXgma5MevvnkLXzs8zRPjhZZp/pZ0iOGuMN89m2uRCk3So4lQADLRIBdLa98tTfopta195hsKNK1xD9f8dTe9R5vtN7c3/zZJlU77ttOqzb3at7UTIu3b24kUfYWideUt5kpSBViTVAG4kNf553/93JrPvxL8xIF+PvaBmy6732+/Yxe//Y5drcd3/MdvM1v5/qlyX8klUAD64wq5uoXrevTEFGqGDYLAz98xwkNH50mEVH7vHSNs643xyUfPsW9TgpmSzj07u1ulO8+M56joFslwYpW5a/s4lIooHRcE7tvdxzPnc8y1pe2s5/XVqVz1vt19TGZreJ63rPRnz0CC5ybyPD+Zb8U4NzHaHeXW0TTfPDbPUtVYRbzcta2b//v8RR547iIfOLiJn7zlksChqYj56yfHeX6isCy++fWMayJW7rnnHv72b/+Wf/2v//X17s9rgj/8wz/kAx/4AH/wB38AwJ133kl/fz9//ud/zu/8zu98n3t3eVzOV+Fyk61XomjphKs10+00UW1Xn1xrHwQ8zi3VWhPm5nsr1i0006JYt9jSc2l7+2s2PxNBEIkEJcq6Q67uD2WGbSOJcCGvsVQ2QID+rjDpWIiaZSEFRL/tTJiuaIhtPRGqpsv5hQrxkIztekSCCtGQTa16PZ1Wrg07MqA7KrdsSlA0XLZ0hzg5V2FbX5x9Q0neurOHp8fDVAyL7X0xHj6xQFgKgAepsIIaCBCUJSZzNSq6RUgReelCEdtN8eMHBjk0WWBT6hKB1X6utj9e6YNysahTt1yOzJQZbaQx6bbNXFEjoUqoitTx3O6kguqkbmnuu1QxEPCWGdtebZR4E+0+P4PJFQazK8jCq8XO3hiSKC7zItrAP008+uijfP3rX+fll19m3759ANRqNf79v//3/PzP/zyStPq6ey3HfD+xnu/I5Uxo1zu2PT2nHamIwp6BxKrj1toffCl084Z2tDvasY1OxMzK/q33GrCcSDo1XyGuylzM17llJMVgKsRsQSMVkRnuCpOrGdCmajs2U6FQszgyXWbfkNhS0xiWhxIQmSrUKRyzmCtpTObqlDSDc4s19g0lWFw2eRHpigZYqpiXNYi8UoQlOPH/bpAqG4APfOoJnr1QIqkKlHWP+/f2Eg/JfP75Gd5/yyDnFio8e6HUUmTs6/fVTUfmLpUDfvSrx6lbPrPQPHPP5zTO5/xVpiapsLLsWXNYl1TZwKuDLxye4wuHv3FNx452qXzpX9/FJx4587rxZumEREgkElQo1kzCQZH+eBjbdRnJhJku6AylQmiWx1JFp1iz2DWQ4OXpIks1k6XxHN84Mse9O3v4Lz++rzU+pCIKFcPi889NUzVs3n/L8LLx8EqUG1eSttOOY7MlvnlsnqMzpRYZ0iR5nh7PUtXtlgIlFVHY2R/jzEJ1WUJeE3sGEhydKTHTwYsFYCpfI1s1mMrXVh2biijc0J/g7ELtihY7Xg+4pjsr0zT59V//dT7/+c+zdevWVea1f/mXf3ldOvdqoFqt8uyzz/Jv/s2/aW1TVZV7772Xhx9++AeCWHmlxMi1lg+sRehcj3KElZPXTu9x5eu3P25NmAWWTZgBkhGZsCKTjMhrvmaz70MJEUUSGUoGOZ+tYVgOMVVumI96LFZ1MtEgFc3CsDy6ozIiImcXS7iey5aeKLGwzFy5hO2CYblEFIFISKQflYXqao+AVxuZMGzp9iM3I7KEbjnEggEyiRB3DyRIhGX2DiURAmIr3aI7FmR7f5TBRJiYKvHSVJGBRJhEKMDp+Qr7hmIslgO4nku+6uA4LuOLNXb3J9g9mFjm+5Gt6C2FyEyhztGZMnsH44xkoiRUiVPzFbZ2R7h1JEVZsxjpCrW+w4rmMFOoU9Is7tyaWfW9t0iUDiqotVRPO/tiq4xt18N6RKZtuxRqFkPJ1UYor5QsVBWplZp1LX3bwA8PvvWtbzE6OtoiSADe+9738h/+w3/g8OHDHDx48Loc8/3EKzGiW+/Y9W46Ox13OSn0ypKkb5+c5/PPTfP+g0O8/5bhjqTJyvKiToRMO/nSTiQlwwon5socny2xsz/GBw8Oc2y2xFAyhG5N8fiZLHuHEsRDElP5OnsHYpxbrHLbaBeCIDBX0phYqjLUFeLWzSlyNRPDcjg0kcNyPDTLwXRcSprFfFlDwJes9ydUKppFSBZxPA8pIBKVAyxUzWsmWTZIlR8utCtH/s8T45xYqHFDbwTb9TizVGd7d5jBZIjvns3x5m1pjs4UydadZaUoRd0/m752dKFVDvPZQ9MtBUdTkdFOqDRRt9xVpTAR2S/ruF7q4GDAb0sWQA0GEBCwHRfTcnEBRRLQbQ9JhKAkklBlCprFlnSYuYqJ4Hlk6xbJkERJs/GAsCygWR69MYWq6SAIHpIoopkuqixS1PwFuJXvDSCqiNRMFw+/fKgvEWS2QRIpoh9B3ESz9OSHARN5nQN/9O3vdzeWQQT2bUrgeS5nF2tkokEc18O0HfqTKmXNJhCAgmazORMlGQ5yZLpETyxIKizjCQI/feswmzORZWRHk7gv1EwePDqHh8fZ+QozRY1/ODzDwZGuKy6jXGtcuRz2DCQ4NJFbpRRJRZSWcXpUlVpj5e1jGWKq3LGsp6k86ZRoB/C+A0OEFGlNwudyCxGvN1wTsaIoCh/4wAcAfwXsBwkzMzN4nkd//3KH4YGBAb7zne+seZxhGBjGJYa7XC6/Kv3TTZtzSzW2dkfWVH8kVGl5As5V4nKKlrX6sBahs1Z7a036roQ0SUcUdMtmrnRJrbDyuJWpK2tNmFU5wKZ0iErDb6XZh4QqUdLt1mv2xlVminXyVR3H9QiIInMlHQQYyURQAmA5Hpu6QiRDCqeKFaQAFOoGddMlLEvEQyJ370izkNeIKBKS6OEKAglFRjc94hKUX2XRigQMpoLcPpZmIl9FEgPctTXDQCrCC5MFKrpBvm6i1k0sx2EyZ5GJKEQVGcvxeGGqSNWwKWkWvVEVSRDZlIpQ1U2m8jUKdYuAKLCjL8b5pSqpiEgtGcJzXR46Ps9bd/ZgNwxf/bQmoUV4FTWbimFR1GxGWB293V4uBLC1O8JiRcf1PBYqOoPJcMfzp9NvYq3z8mrLZ9YqHwKQJJFUREbqYEjwWpTpXG/12QZen5icnGRoaGjZtubjycnJjiTJtRzzWo1znfBK0n2u9dirPa5TSdJ0XiNbNZjO+6vknUiTmm6TrRnU2sr6VpI6a5FD/opdnLMLVQSEZcSPPwmzCMoiWzIRHj+T5cf29/OH776Bim7xhRemeep8jov5OnXTZb5scHy2jCqLVE0XwfPHe0kUqBm2f2+UVLlzSxdPnc9T0m3CikiuZoPtUH0Fs9WN8p/XL/7rQyf5309d4OfvGOHlqQJPjBd441iKSFDiWyeXUAQwPNicUqkaVoscqVsudcvjo189Rr1RM3Zi4dKc4MxSnTNL/vj+3bOXjJo7laIIQDossVS3SYclApLIfPmSgmqldwhAV1jmwKYEj57JsmcgRiIc5JfuGuXIdJG/fHySkCwyXzaIBAU00+PgaIqDI118+tAUtuNQ1l0kwU++igUDmI5LMuynOe7oi2LaHnFVQhBAs11u6Isxnq2TrxtM5TRSYYn+uMrFvIZu2YCfHBlXJTalwxieb4x/bqnGDf1RTi9UkUURD4/pgsbuwQQlzSYTlXnyfI5wMEA6IlPRbeIhmZ6owlLVZPdAjIrhsr3HV69+8YUZHKA7pnBwJMWhySKDSZWCZnK+8XmrkkA0KKGZDrUGu6JKvul1M/43GhSpGi6yCDduSnBusdYidTp9PxFZQHc8HPf6KNh+0BEPSdw8kmK2qGHYHoWaQUGzSYUUBpMqomDgOB47euN4nkeuZiAioFkOO/pi6KZDxbBb0cLHZn11CMDjZ5eo6jafeXaK+bLOew8MsK0nynShzqceO9/yOLlc5PB3Tszz6Wcvcstokn99z7Z1Td6fGc/h4XH7WKalFDk+W+bUXIXbxy75o3RK9GmOS/94dLajR9laClG4vCL19eqlshauaWb+uc997nr34zWDZfmawGAwuGx7MBhsPdcJf/zHf8xHP/rRV7VvsHqi2QlXW3pzvfpwtcqUtSZ9ndpZua8UEKnoDnMlHUkU2TOYWHXcyjja9olsO1HTG1Mp1KxW+QdAoW6yVDGQAkKrzVzNRDcdpvIagx6MdUeQRLExOOsMdYW4fUuGhCpxZKZErm6QCEmMZqKElQCbMmGen8jzvx+vYLsuluMi4BL0AqTDvpR7HR/Sa4IAbErJRBSRmulQqdrEIxLbeyNs74+TCgepmiY1w+WmkTiW41KqWzxxbomoLDFbNrh9LENZtxjqCiEFBIa6QlzI1kmFZU7N++a8QUkAQWAgESSuygylQw2VkH8TcGBTghcuFJgpaJxeqNCXDDGZrUGGZYRXQpVwXA/bcdBNm63dERzXIxYMtMp42s8VVZHY0RvjQq6+rv/O9fpNdCID1yofgsvHJr/aipJXSrJu4AcDpmkSCoWWbQuHw63nrtcxr9U4d71RrJscnfFVHGvdOF4PdLoBfMvOHubLOm/ZecnscSVJ4gmA55uKN9FO6hRqJhXd4paRVOtx++qeh8d79g9w21hbFjzLV/q+dHjGVwrWLX5+WzcTS1XiqkypbnFuscZbdvZw9/YMX3pxhlzVYKGs43qgSCKWA4mwzJ3JbroiMoocQBSaxugBmo4RjbexgdcxPvHIGf7y8Ul+6a7NPH56cVU5TaFucbFkoOD7dvzIrm6+fXIJF/jUo+MtpcgT44VWm03T/cnCpeTHdnKkbnmtc0PAV04YLgRFCCkBirpDUg1Q1Z2WsetYT5gzi/WWKeuNg1H6E2G+c3qJWzZ38YYtGT7z7BSFmsFSzWJLT4SuiMyzE0X6YgqG6/EzBzexUDFQZRHXg/NLVY7NlBBFkcFUiL54kJiqkQhJnF2ssa0nxi+8cYxbx9L82XfOcHiqSDqiULcdRlIhFqoW23uj1FMu9+/rI6pITBU0Dm5OcWy2zB1jaSqGzWxR4++fvsCtY13MFHTeubef0wtVCjWTwxcLuK5LtuYHGgx2hfnp20Y4v1BhpujfMz7XiDIv6RaJkMJC2US3XEJKgDdt70GV8vzs7SM8dT5H/UKBrmiQ7X0q9+zoJhaUmC/r5Gsmu/pjjC/V8fBIhGVmijoiEJTgnh3dzJd1Zoo6iuzQFQkykAwxma1T0S1kUeANm9Pk6ybTBQ3Pg5+4ZYjvnVri/FINVRHxPDBsF1USsTwPGw88SEdkAqJAvmIiBASUAFTNta8MTSXSDyKkxjU7KIlEVV91ZNj+u6noNl9/ea7hm+JQ0mxM28P1PHpiIZaqFuPZOqoiMZBUKdYt+pIqlu1yYFOKnniwVVLTrmpsKkJuHknSFZU5v1Tl9EKFD71tO585NIXrXvI4WTnWrCRapgoaM8U65ZMWNw2n1vQoOTZb4isvzQIQU2Xu2tbNbWNpJnK1VSU8TcPaR08vtfZtYj2PsitRpV6OKPpBwBXfjb/00kvs37//uu/7WiOd9m9McrnlMYe5XK71XCf83u/9Hh/60Idaj8vl8quSItT0U1jPV+FyBMflVC+Xm+yt1YerXYFfz/Szk0/Gyn1X9mPVcet4WLQTNc3JfDIkLWs/IotM5n1FTFP9EpQFhtNhokEZSRTZ2RdmoawjIODYLkuagW7bTBfqLJUMYqrEVL7G5kyYuaLG8+M5gkERSRCRRY+S5pKKBpgq+EoY8zqOLiq+43tcldk7kOTRs0vISoCuiEpPIoznCoSCIhcLDqJo8fT5PAIihZrJbaNdSHKA9+0fwHD8c6Ji2GimixQQ2NHv+3votk05axEUJOIhGTkgEgtBTXd4NpdnKB2iZtoEFYktPXGylSz5mkUmGmx9N+3fmxTwS60mcxpVI8+dWzP0JdRW6VBHYmxFSU0n09jrlY7TiQxcr3zosga2r0BRciWkzELZ93iJBQOMZDYSNn5YkUqluHBheV15cwxLpVLX7ZjXapzrhFdSCnStqUHPjOf4ykuzvGf/wDLDvU43d2vd8FUMm5gqU2kzq12phOlkVtu+Cte+ypeKKMse13SbB16Y5gM3D63pPVOomQynQvzo/gHed2AQ8BOLokGJSFBiIltlqZrgJ2/ZxPmlKn/28FkEzw8ESoYVSnWLYs0irEh849gcIrBnMMmewSRn5suEZZHBpMpcqU71Gj0kN/+7b2yoVq4S3zgyy/989DyO43BiodYiIQZi/pgwVdQJNtQk7akxAB9/+GyrHKZTOU3za/zWyaXWLZSLnwpzIa8z0qUyX9CXJRkK+JNkB19BsrUnwunFGjsapMczE0VuG02yqSvCN47Oc//ePkYyYT797EV+5g2buJCtt7bnaiaTOY0t3REiqswHbh7iyHSRiBIgEwtSN21qps3W3ijOQpW339BLQbc4NV9loCtEWXdIR4NojkskKLNUNclVTR4/m+V337GTyWyNu7d3cyFfZ89AnGOzZe7b3df63R2dLjJX0tnUFWK+ZDDaEyUaNrlxKMmugTi3j2V4ejzL2YUqmuUwnddaJRGPn13i1rE0N48kuWeHTCwoQSP1MBqU6IrK/MgNfTw3WWA4FWLPQIKK7t8XKRKE5ACpiAyeR1QNMJpJMl/SuXU0SbZqYrn+2P+b927jwePzjHSFeezMErGgxJnFCnXTZVd/jJPzVaq6H+9uOi4jmRC263LHljTxkMyLUyXqhkMmFuSOsTRlw0EzbUzbIaRIvGNPH6cXK0zl6wiiwLv2DnBspuSXwZsuQUUgHAzQHQ5Stx3qho0jOJiOx3BCxQVc11f5iBWDcodUHfAJWtddm5iNKgK65WG/DlhboflP8K2rQkGRdDjIroE4H7x1mL98fJxnx3MYjr/Pjr4o2/vifPfUAuFggFhQ5Ef3DzCUCrFYMciWdSq6xYFN/ezoixOSRZ4dL9ATDy4rqREQMG2XU3MV3ntgsBUjvKsv7qcCeR4Vw+b37tvFt0/O89xEnqHkpXOrSdCsHEffd2CQi/k68yVtlfKkfUzbM5DgPfsH8PCWebusVcKz8nWvxKPsShSia43JP0i4YmLlwIEDeFe43H41+77W6O/vZ2BggEOHDvHud7+7tf2ZZ57hzW9+85rHBYPBVSqXVwNX4qtwOYLjcqqXy0321urD1a6+Xw0Rs3Jf23Ep6faq0otlx4giqYiCJK723WifaJ+arzBb0giI4VZbvXGVmUKdsmb5KpZGZHQmqjKUktBN21dJNNoo1C0KdZv5kkYoKJEOy5x2Xcp1i5ppcXymzHAqTCgYwHI8BNHDdARs20HwBMa6I0zna9dtuS8IBIMgyBJ1w2E8V6U7FsS1Hd60rYfBdISBRJDpgkRXRCETDZEIyTx5PouCQFCR+PEDg0RD/udU1UzOLVbZPRBlvuynK6mK5BMumoOAR7KRuGS7LueXamiGTaUuszkTAQ+290Qo1k2Ext3Xlp7oMiKi+R1t7gqRqxqkwtIysmI9BdPK86iTwul6lMJcDRm4Vl+upD24/O/pSkiZlaVVG/jhxP79+/nsZz+Lruuoqn8uvPjiiwBrJvRdyzGv1TjXCa+kFOhaU4OaRnsrDfc6kTydtq1UmjS3XY0hLqxe5asZDtmqQc1wmCr4pulTBW2VeW57f08tVLlnRzfJsMLjZ5cYSoZ4+54+yprFA89dZKQrzONnl/juqSVqukMqIpOMBOmPq4wvVSlpJnJAQG/4NyxWdN6+u49zi2Vc16ViONdMqjSx+d/5xpXv3tvLx3/mllfW2A8Y/uhrx/j0sxcZTqlM5DT6YkrLQDXUiPCNyKA12JFOazBN4qQ9IaVJfKzUW9vOpSjgdgzElGXHb+8J4wFnFuts7wnzG2/dwf989Dw/e/sI3z21yBPnsuC5VE2PoWSQoa4whyYK3Dqa4n0Hhlqk3wPPX0QQfE+PX71nK5u7o9y3u4+SZnEhp3Hnlm56ohXGc3UObu7i4VMLeB4kQhLD6QjbemPUDJvuuMqW7ijPTubJ10y6whJjmSibMhGGETg1VyURkshVa+TqJgc2pXj2fJ5bR1Mcmijws7eNcHahwni2RlASWaqYjKYjqwjXTCxIfyLEwZEuFioGQUnk0ESBM/MV/s2bty43om7MZ5qPh5Ih0lGFgUSIimHzjaNzfPvEAvs3JelPhrhnRzd3betGEAQePb1EX7LErr44k5vqTC5V8QSBwWSYkmZT1R16YgKDXSF64iGKNZMdfXG6o0GSYYVfu2crn3z0HMdnyzw1nmOuqHFusYphWSxVLBRJQJYETs1VUOUAffEgCHB4qoDluuwciHNgU5LzizUsx2EwFeZdeweIqLJPAoVkVDmA53l85tAUMwW/pFEQQRREv0zQcgAPVQ7guC5hOYAqBwjJAUQktvVEGUlHODVfwXVcclVzWZqY3SBVAiI4rk/ObeuLslg2KNQtDNsjpASoGg4eEGr41gRESIUkyrp9XRM114MAhBQBzxOoWy41w6U/4aevCYLAB28dYbFikqvq7BtK8gf339A6R4qaTzQslnXOLlSZLtTJxFUSqkS+ZvLeA4Ocmq9w7y65dR41CRSAE3Mljs+W2dUfb5EKqYiyLBUIIFs1efjUIqoS4Nfu2UpMlXno2DwTuRr37e5b1uZod5SPvHs3f/3kOMdmyjw9nm2pVlZ6f3UiMppEZKFmLvNOWctrZb2ynSsp6VlrTP5BwlXpx3/rt37r1erHa4pf/uVf5s///M/5xV/8RTZv3sxnPvMZTp06xd///d9/v7t2XUoHLqd6udbV/bUmelfb5ytaiV8vbaWBdiXDSr+V9olw++fR/trtpUS9EZVCyCKhSkwXDQICTCzV6E0EW2UmSkDi8JROPCRTNxzmixoj6TBKIEBEkZBlkZ5EiHzNoFQ3KWs6muEwk68gSwEyCZXZgvmKyZVwAEQPPBcU0UUOSMiiSDym8IbRLvoSEUzXISjLRFWbeEhlR1+ciCxSqFtM56vs6IkymdfY2eeTJ988uUBF86M6++JhcuFLEcGpsAyCX/aSq5lUDJstPREKVYtUVAbPX7WVAiI7+mKML9UoVC32DIaXfb/N73RzJrIsEehKFUwrn1+ZBLQWrub8vKa48XX6eq2EzOXabWJHb5SAKGwkB/2Q4yd+4if43d/9Xf7sz/6M3/3d38U0TT72sY/xtre9jcFBX6GQzWb5qZ/6KT7ykY9w1113XdExrye8kjrqZFhh72CiRf5eCQo1EwGBH93fz+1jmWXPdSJ5Om07NlvihQtF7tnR3SJRrsQQdyVBspJ4iQYlMtEg0aDEwc0pXr5Y5ODmFF86PMNXX5pFMx1+4c7RFoHjeR5nFyrcvT3Tull+y65u+hMhHju9wJHpInJAYHMmium4BESBrqhKQBQ4NlfGdMB0PHJVC1kS6I4GuW2siz//3nkWywaOB/OdcluvEV87usDX/t2ldJB9/VG++ht3X7f2X0381gMv8oXDc6gStFnmLCMx+qIySzUL0VtNeDQ9R9pTaZoRvivTa64FTVXAHVu66IoqfPP4IgIumg0jqRC/fu82HnjuIoblcG6pxlhPnMGUSlGb4007evj6kVnOLVX5vy9cZGdvnF9781bSEYW/f/oCv3LPFp4ez3JyrsqWnii3bO5iqWZyy+Yu/urJcVwPqoa17Pf4pcPTHJrI0xsPcu/OXsYyPonytSOzeHjMFA3mSr5adVd/jC2ZKD0JlTeMpjm/WGNXf4Ky7hALytw2lqYvoRILSjxyapGhrhDfOjHPbEnn7GKNW8d8pcbhi0WmcnXCskjddKkYlz7Y5m8vLAd8Za0gEFNldvbFeP5CgalcnWcnC2zpXWJnX4zobcMMJUNMF7WWMed8SefIxRKTS1UOT5fYlAxhOi6bUiFuHUuvulbsGUjwzHiOIxdLxFTf4PamkSSjmSgCAuPZCqW6RVASGO2J0h0Ncmq+Ql9CZc9AgkxU4d6dPdwxlubPHzuPFBAY7Y4x1iOwoyfCkdkyhybyBAQY64niuh698RBDXRF+5U1jjKQjfOfkAk+cy6KIAlt6Y1R1m6+8NEtcDaBKAZIhBdf1uG0szdnFKv3xILLkJ17mayaLZQNJEgm6vgruXfsGODFXRjdtdg4kwPO4kK2jqBIl3SLgQTwkExBFDMuhqFngQTIk4+LREwsymg7z8kwZVRJRAgJnFmt4HtiuRzQoEgnKqLKIZnlYjvOalBO5gCgKeG5jgu+BZjog+ERIMuwn9EznNd7bUAf+6cNnKFRNZEnk5ekSo5kw/fEQlqviudCbCJKrmTx4fJ6ZgobluL76u1FG0yTjh7sinF2orSIVUhEFD4+vvuSrMlcuJDRTd2YLGtNFraOB+w39CY7PVJapVtpVMu1Klk7oNK5dbjHkWsp6bh/LUDVsTs1V2NVXvWKT3tcTrphYefvb386xY8eueN/XM37/93+f8fFxduzYQW9vL8Vikb/4i7/gppsun6/+auN6mFFKAZHuWPC6ezqsNdG7GsLFdlxOzVcQGheOtcxrrySqdpmnygq/lWUEiuOSqxps7gpR0u1WX/2rtAAu5OomJc1krqiRrRkIHtQMm2LdpDca5FRJJyQHMGyHk7N1kmEZ3XbIVgyiisTFosbeoQSzRR3dsCh7IgPJMNmqQdX0WChXsUwX9zqQsFIAAgLoDiBIqLJMRJUJKwEmcnUKdZuSbhEMCOzdlEQSRBKqxLmlGmXDZKakkQgH2TPkl7AsVXxTxcWSwWh3mJJmghBpfbfFuomHQDrsf5YxVaI3pqJK/vceU0VSYaV1XhTql/xs2stk2r/TyxEYV/I8Ar6PC6xJvsGVkXSvBNeqlrkccXIl7V6Jwm0DP/jo7e3l05/+ND/3cz/H3/3d35HNZunu7uYzn/lMax9d13n44Yf5lV/5lSs+5ocF11JGdGy2xPMXCstIEVj7ZrAT8XOlBMxKtBMk//ZHdixru1Azl3mqfPa5KXI1k2OzZYZTIbrjQYZToWVpRM9PFjg+W+brR+Y4OJIiWzM4O1/h9HyVE3OVhhm5STqqMJwKMb5UY3tvBFWWuK+rl79/dgrX8VAkAdeFoVSI0wtV5l6jSNojc9WWmuVy6I7K/Nbbd/KBhsljJ/z1E+P8t2+dQjO9a56MNVUka0FfoQRpV4bMV/2J/PVeZBcBOSAQUwPk6zY3Dfvmp+cWa3RHFRAEwrLIQtUkqsq8cVsPM0WDTFTmyEyZ9986xKGJLCfnSoymw6QiMnsH4+B5SAGBrpCMYbkEJZFMJIjpuNwxlmb/cKr1ecdUiamcxo/c0Md0USNXNZkuauzojTGZrbOjN7ZMzp+OBJED/or/w6cWWiRLX1wlKAXojQdBEBhOhVrJIs3fzpaeKEPJEKfmK3h4FBv3biPpCJu6wjzw3EX2b0qweyDOBw5uQhCgqtsMJVSG02H64irjuTpC233Xlw5P87WX53jjtjT7NiVavil7BhL0xoP85eMT7BmM8ejppZbyBPyV/2aJXiYmk60azJdd5ks64EeZI7BsdX8oecnjqjlZVmWJRFimJ6q2lAN/8q0yluMyXdBJRz1G0xFuGUlR0S2eHs9yet5Xo1UMm0hQ4i07e7hlc4rT81X2bkpx394BPn3oAgIC9+/t56nxHC9MFjAtl6fGc4ykI0SDElXdZrQ7TFW3WSjrZKsGliNhux4DDdKgWDfpCgfZ1hvnzEKVuunSFVGIhWQqNRNDkXjvgQHes3+Q9+wfbF0r//rJCcq6CQhEFQlVCXDPjh72DSZYqhr83TMXWKoYiCKEZImJpTol3UISBSzbJ3tVSaRu+Yo5ORDAclyyVQMB3zfGckBVRGqGu2xqIAJhBWrXuG4ZaPyuDMf/ljTDJaSIjGVUinWbbMXk2fE8Nw4mmCpoFGsGsyXfd/HJczmeOLtETFVIhn0lyo6+GG/f3c98Sefhk4u8cat/Dp1eKBNWAhTrDoOpELGgxCcfPUcmqnDkYolUROE9+wfY2RdblazTrmpc6fW1VslO+1h221iak3Nljs2WeGY8x317+ztuWwudxrW11CxNXMu4nIooqxQ5P2i4YmLloYceejX78ZpClmX+9m//lj/5kz9haWmJzZs3rzL5+37hSlapX2kJwXrPr9f2WhO9qyFccjWzUbsoXLb043JRtcvIE9ujWLexG0Wa7e2dmitzdtGvLb5za6bV1xnbBjwQQTcdJpbqbE6rxIIyyYjE5FKdZEThfLbObMmvr+2OqfTGgyhSANuBoXSYwxNFVEnk6GyJ4ZTKXLFOMuKrSFwPFsoa+arvnn09AoEk/AhAQQDLNinVfXf4WFBFEgSWyjqG63B6rkJfIsTugQTnlmq4rktVswkIItGgiO146KbN5q4QtpPkzu0SgutRMdwWiWK7LrrtUDMcTrseQdknUZqff5NkaY9B3todaaUtdSrZuVYflE7km+N6LFWMVh86Yg2Sbq1z/UqSua4HXovUoA388OA973kPMzMzvPzyy4TDYW688UYE4ZJBXHd3N9/+9reXxStf7pgfBnQqx7kSrEWArJRHr4dOZMuVKG/aCZKVWKmCuWMszWS2xh1jaRIhuaUQ+MyhKabydc4uVLl7ezcnZ8vcvb0bQYBMJMi2vhj9iRDZssZEtoYcEHh+osBAKsgHDm7C8zy+dXyBmCrxhtE0wQB893QWx/W4kKujyoGW38DryXhyqWrxu188yu9+8eir+jrrkSrXC011SVAA04O4KlAxPEZSIcqGTXcsyMW8RlASKWgWo+kw23rjBCWB5y8UGMtE0S2H/kSIGwfjPD1RoDsqY86U2dLjT6Z/4Y2bmczWGF+qIyAwmdNwXJAkiX2DUTZnIpycK6MERDTb5cdvGsKwXYIBgRcvlloT8+YE7Xtnlzg9X+F7Z5d4194BKrpFLOibzD93ociO3tgyOX9vo7SnN64SaSixhrsiDHdFGM/Wede+fnrjauuYdoIRaKnQvvrSHIdTBS4WdN6zf4CpfM1P66sabOuNEQ/5k9pHTy9xy0iK37h3G3MljbLuEGkzdx/uipCJBgnJErmq2SJVjs2WqBo223pjjGVi7Bu6pCBrTlAXywbZmkF3TCETDbJvKM5krs7NIyleuFDg4OauVprL8xcKpKN+whDQUsUdnir6ZvOC0CJfNnWFeesNPQwlw/TEg0SCAd9Xw4Ufv3mIe3Z0M5QM8dyFPAPJUEspka2axIIS00WNm4e7eP5CgYph88GDw4ymI5yYKzGxVOWzz02RiSrQSCM6Nj2BbrvYrsdbRrq5eXMX3dEgD59cZLpYRzNt0lHZf58xma3dMc4vVnhooYJmuhyZKXFf3WypeI7Nlrh3Zw9T+RoLZR05EOBirta65Xr+QoFtPVGCgQD7NiVIhGTOLlaoz9sERJGBlMrNI0meHS8wsVT1EyWjPsnT8InFA1JRBTUgYtoGpuO3nlADbOuNIgcCnJovUao7rde9UpIlrAbYM5DgxakCpu2fiR6QjgbxEMjEFG4dTXF6scpDR+dxPJfeWOj/z96fR0mO39ed6AcBBGLfc8+srMqsfWtW7xvJbrK5NSmTFrWZpI6PRHveG1HzRpb0xnNkeeY9H/sceZ68yW8kHY9tep51SEojUbS4qEWR3SLVZDfZVc2u7trXzMo1MmNfEIEtgPcHEihEVEQuVdXNJln3n6yKBfgB+AGB78X93stSuU25qZGOyuwfTRAMCIynwoSDoud/4qqOvnBygZevlXnvoWE+emLSe+1rb6zyzKERJjIRlitt4mHneLqEhDs3XfXUIOKk3+9O72/ZofEEZ1dqnF+t89hsjkxM5tB4gstrzS1bbzYjUQYRKLfb3rvd1t63q9HtT3SUxNDQEENDQ1t/8C3EdoqtO20h2Oz9zZ7uDypEd0K4+F/zL6P3s9vZD/72H6cVxfYMBP3Le3A6DeD9ddExLaotw/nbNmhpJsGgyMNjKVTDJECAsChCCDod6HQcYmE8FSYXDzGcCHOj2OSR2QyXVhs0WwYdw2I4GaZZNGnpHUpNDdMCwzAxrbvjjq53wBYForKEYphoqkm1bTKVEQhIAjOJBEs1hXbHZqHcptY2MToWTd3kQ8dHODVfY/94kkJdQ9GcFJ0T046Z5XK1xWrd6V2WAgEaqkPESAHH/FeSHAJludpiqdJmz1DMO4795mXv8d4JkdeLfuRbpWV4Uc6D5ssgQmfQebSdZK7t4s1OBbqHnyzEYjGeeOKJvu+FQiHe97737eg7PwrY6uapXzvOnaBfNPLtjm0Q/C0UvcvpvRn1m+M2NNNTCBwYTTCdjXJgNMGNcgsLuFFu8ezRMeZ3tXh4d5aZ4TirtTbLNY19IwleW6hyo6Tw3z81y3euFVmptfjy6RVMy+LQWJK9wzEmMxHqbYO5onMNDGwYT97DrZAFJy/JsrvjgFNhEdWwMCybg6MxmrpFEGgaFoJtEwuLKFqH8VSY+VLLMQaua9g22LaBads8c3iU0USIl+fKTKZCnF9t8tMnxjm+K8NqzYl3fWgmy3jKKeCqLZ1IOEhLM7lWaFFrm54iq21YaKbFmeUaogD3T6f5u/dP8uqNChOpCIfHkl661MkbZa4XFB6fzXJ0IskTs7muwknY0BsLCLx0veR5f6zUVVqayUpd5ROP7ulSnrhtbmeWq0RlR6VyfDLtFZ1/cXqZz39/gfVHNX7pyRmguyhcq6tcKzRJhEXAIWyeOTTKWl3zDGpddUguLnNoLMHMcJyKohMPOcagpxcqvHS9xLGJJO89PNJlCOtu30O7M54/Rb8n74LgpOLsHYrxgaNjXovQtbUG1wsK3zi/RqGh88zhES/B56XrJW8dimpybV1h70ichbLC6cUqk5kIpaZOVBb53vUyHzsxwRd/sMzpG1VSUZl4yPGvePFKga+fzVNTTXZlIixU2pxbqdHWO7T0Dg/uTnsqF8BTJPybb1zii6cW+ZkHJjk6keKFC2usNVSaqsloMsKeoRiPzw7xveslHpvN8rdXOlxfN7iwWicsSyTDEg3V5FK+gdaxMG2ndeQ/b3h2jCfDxEMSMyNx/tEzB1iqtvnKa0v84EaZU/NlMlGZetuJdH9kNsuR8SRffWOVeltHtzp0jA6mGeT8aoNaW0cQBCKym75jE5NFhuNBRDFAXJYot3QiwQABwUIzbbSOzWK5jaKbdDq2pzzZLkSgrXW4utZgOhulUFfROx3EQIADowlmhmyOjCdZrLQ5OBJnbizOhdUGuXiQ9x4a4fB4Ehubw2NJLuTr/PW5Nb5zpUg2FuIzT+/ziAY/WZCOypxdqfHERsqb+95z5/JeuxHcJFV61VO98xL6K0J6vbsenx1ivtRixZfy06sS2wo7aQnaStEyCFvFL/vH8ldn85xZdmKq3y7kyk80sfJ2xHYKsTttIdj0/W0m7dxJm9LdekqvGCanFyoMJWUOjTopNv28JsKyxKHxJGFZ6tqGhmYhigINzSIdk4mGHDf60WQYs+O4bRUaGlFZJB0NUmsbrFU1QqJjULtaVVmstslEZUZTYU7dKHNwNEFGEsmFJb5/o4Rl2yTCARq2hdF2iJU7hdGBYMdGCFqMx4O0DIt0VEKzTHalUkymQwwlgyQjIYbiQeqqyfV1hWRU4tp6m0PjSWJBidiQtBGd55tHvuPvvp7KSrcoUFSj46hF6jfVIv3m5VbHeydzqh/5tm84xtWCsmnc8GbEn+vR4vdp2U4y13ZxN86Ze7iHn2RsdfN4u0/FBi23XzTyIOxE3eLHqfkyL1xcZzgmMzMcv2U5/vEkQpKnCkhFguTiMlPpCFPpCIWmxkO7MyxWWnzvmlM0Xsw3eGOxxnBMZqna5uHdWeIhCUU1WamqvLFU4eR8mUR443dRDNCx4cHdGVSzQ72l89U38o6SQhIcc3j9LXKOfJsiHBQwTJuODcEAJCJBJlNhnj0+zpdfX+FivkkHSIQc5/Y9Q1FysTAvXSsSEgM8eWSYvzybZzobZqGsMpoMU2wajCfDNDQTRe+gmxbjqRDChpfDuZU6o4eG+bVn9nsFvFuYzBWaFJs6B0YS3sMk97gLgo1mWqiGEwubCEl8/P5JIrIIts0Llwr8wgOTXF5v8q1LBVKRIJ95ep/niXJmqcbV9SbJiMTMUNxTdIBzjiVCErW2wUc22gZcNdXXzuiEJJFIUOqKP/f7Hn31jVWvZe3dB0a8ef7aYoXVusprixV+CYdY8ReFK5U2NdVANy2SEckzjU2Eg9wotzyyEfD+PTMc7zLYbKgG51bqnFmqUmjojCRC3Ci3eOl6iU9stDkNKvzc7b+23uT0Qg0EgYZq8KXXypQUnaZmbqhnZEAgFhI9MqTU1HnpeskjT2QpQDgYoKIYTGYiPHt0zCNnXm6WaWomB0divBKVeef+rBexfmwixZGJFK8vVPjOtSIVRadlWExnIoxtqCPcQnO+1PIKzbpqUGjqvLFSZ/9InEzMMbdVzRZ7R26SKn/66iKyFGC9rhGPBHlsNsvBkQQLlTavL1RQjQ6psHP9SYRkSk2DpUqLakvnxK4M19ebPIfjG1VqGYCAoplcXauTikhMpCOoRofXFitIAQFbAN20MDtQapksVzWkgMDxqSRtw8I0O2hWkFRYYjITwbZtBCFAStE4u1JnXybCtWKLtmGhGjrBAM79q7CRXiU47T1qT9RQAOd994rWwfEsrLQMAqJAOiazVG5j0XHMk2Mhlqtth1TDKfrPLtcpNXVWam1vnqajzlwLBgTum0rz7NGxLsLcTxa8eKXAX53NM5mJeMfJnSvu3HWP51Q64hFm/vQd/7wc9NvX693Vr2Vop+THZi1Bg3AniX+bwe8t44+D/mHjHrHyNsN2CrE3s4Vgs3aNQYTOIDJoJ0Vl72e3QzDdKCqUmzo3igoHRpJd6gK/mkUSA13Ry4WGRiosEQtGqbZ09g5FWW+oAAiW7a27WNe4ut4kKossllUOTsSJhkRSUQnbFphMh50foZCEonXYnXHUG4fH47x4pUS9bZKJhMglQywWG6w3OnelFSiwsTvGkmFaHYHhqEg6GmLfSIKDIzFWahq5mMyhiSSjCSf9KCZL2AGbTESmqugomsHR8VRXq4tLJu3ORW+JEHY/55EtG54trlrE/Xwq3J300+/fmymVNkO/ee8aC9dUc8dtO5IYQAo4c0PyKV5uJxVrUPvQTkx27+Ee7uFWuAkcfr8CP27X9HbQTWm/aORB2Im6xY9L6w0WSy0urTeA7iKyVwXjVwUcn0x5N98N1eCNxRp7clEurjqRqafmK2RiQa4VmsgSrFQ1fuHhXYylwrx6o8pEOsxiOUS+3uZGSeUDR0d59wEnevZz319AwKbY1DE7NpFggJgs0tTMgTGpP2pwuTL/toQlJ8mmY0FYcjJWOzgq1aAE6bBMQzOxbdvxOAnA0YkU/927Zji7Uuf9h0dZraq0dZO9w3HEQABZEik02uimzeWCgmY53h9aNEgqEiQoBjA6FnZAIBMLYVs209kY//BdM46Z6obSwf8k2/33i1cK5Ktt3lisoeodlA3Sy5XyH59MkQg7Ub6un8nH758CICKLDMVCxMISNvbGcbW7Cp9w0Cn+J1PhLvWGPx3LVVA1VZN622S1pvKR4+Me4eKPPz8+mfKW/clHprv+uviZB6aoKAY/88CU95q/KFyrq6TCQZqaY7jrJ0P8pNONkuKRkC7c68dTB4bYMxRjtdrmwmqDQ+Nxjk2Nd0Uw98I9F91rT0wWSW2Y47rKkIf2ZHliNscLF9fJxmRGkiGv7cddtxv3vDsbZa2ucmgs6anL0lGHAI2FnetOLCQSH07wjl1p3nvIGZs7Dpcgu77e5B27MhwZT3otHe76mprBy1dbzORiPHt8nF9+YoaQJHJkLMG51Trj6TCP783ywqUCH9rYdhubettE1TtIosC7Dwzz3kMjPH9xnVxM5qdOTHBmscqZ5TofODIKgsCxiSSGaXF1vcGB0TgIDgH23Lk8xoa6u9oy+NsrJWJhiZnhOJpp0WgbKJrJrlSUkCiwWlOJhwIIgCwGCAYCXK0o7B6KMhmVWamqlJs6xaZGKhJk32iCiqJTahmIAYGYHEAzLCzLIUliQZGhaJCwFKCpmagbCVhBAUxHcHSLanxXNowkigSwUU0bWQoQjwSZSEd45XoZMQANtcN3rxSZSEf4wNFR7ptKIyDwF6dXMDod5kvO8fzo/ZPeb8oXTi4wV2hyZrnmEWiuKtFPCBybSNFUTR7cnfa+e3alxtfP5pnIRJjJxXj1RtUzu3Wx1bw9NpHq26rqkjbbaefpxe383g6KZr5TbBYH/cPEPWLlbYa74bFyJ7gd0mYQgbITIqb3s/2W2fu92eE46zWd2Q3X6M0Sf9xllxQdwzT5q3N5jkwmEbC5Vmxhdm6qV9x1C0KAWEiiqZm0DJO5dYXdw1GaaocDo07PcDIs8cXTyxwdS9GxOmhmhzNLDebKTURRQDNt9qRjKLpJWdEptu88REwARjIRwnKQIKC0TaazUe7flePCao0f3KiwfzjOvrEEZseiqGis1NrsykYoNDTmCi0Ewaapdnh0JtulRqkq+sbtFl1tVf0SfA6NJVhrqJgdi7WGSkM1KTQ0JPHmo17PKNj3717ibKv2oM3m+50SF36ibStsRhQOah+SxIBH7EmBwe1K93AP99AffoPMu5kQMOgG8dBYgrldKQ6NJbZcxk7ULX4cHE1yOlvj4GgS6C4iv3e9xJ+eWuLYZJJffnLmFgk53EwZAYeMmcpGGIqHmMo6ff9Gx2K1plFsaiyUFUaTIa6sNZjORtBNi/WGTkR2rpX1tsF/+e48FUWns1F4BAMgYFNWjLfUXyWA88TZr+SXBAjLIpJgUVVvvhF0OBDvYUUw4Pzf2nhqHcAxulT1mz24chA6loBtOy0DqWiIvcOOf0hFcZLtYrKEbdsoeodIMIBu2ZiWTSwcYCQeZrHSZrGk8MUfLHFqvsJ4OsxTB4f4/lwFRbdIR0WWKi3un04jiiLJkMjTh0b51qUCB0bjnF6q8dhsjsf2Cjwxm+PKWoOFSpuP3z/pta+4bQLPnctTVjRevlYGbpIUUdlpiZnKRrxWIIBEOEhTNSkpBgEBz8/ENWx91/4h7tuV4vBYksNjSbKxkDe/HCWCxP7ROH/v4V389MZ4AE4vVPj8Kwt88pHpLkLy5etFwCFn/C1rvb5ALjE6Mxz32o79EARhI2654z0192MkGWLvcJxHZzO0DavLeyEdlb1xfuHkAudW6rxwcd1T2rjXD0EQ+MzT+5grNBlPR7oiywe19LnFpuuV8uDuNA/uyTC33uToRKqL2GhoJt+6VGAkGfKW5aqIXAJsvqhwbqXuHaulapsL+bqX4vUpn4eGX2ngNwN+9uiYpwxxW0rccS9V2zTaHdpGxyPaTkxn2J2L8fL1IuWWQUnR2TMU49emnCLeTUf7+YenEGyIhSUenx3is9+d449fuUEyLPPfP72XdEwmGwvRNjq0dIumZhKUAjT1DpWWwScfmea5c3l2Z6Nczjf41CPTrNVVFistorLEVDrCVb2DaYGim8Q7EkfGU5SaJg21w65sFGMjl1kQBA6PJdFMiyvrTRqqiWp26FjwjskUumnx3atFhmIh3ndkhC98f3EjEhoMs0OtZbGq37zXFgE2rhf9UGrq5OIhkuEgu7IhUpEgR8YTrFSdlJ2hRIiOZVFWOjS1Dg/uyfJzD+3yfIDOr9ZZ3kjk8fx6VJPlShu9Y3FqvkxZ0VgqO/5Azx4f7yIE/EbqgOe94/qu7MlFeXB3etvExFYkiUva+Ftoblf5uR0Mima+W8t+uyhVXNwWsfLud7+bT3/60/zcz/0csdi9mM+7ibvhsQJvDvkyyH9lp/HNvdHI7njdAlcSA30L3t71787GiB8N9iVjJCFANhZCEgJd+zQXk/nOlQLzRQXdtIjKEgg6k9kIE1qEvUNRT3GwJysxmgyhGKZztynY5Csq+apKOBigqOj85ZkV1qptyk1H+TJXapGKSIjYSGKApCzx0tyac18XEAhg33FSQMcGbJuxTBhFtZADAm3TIh0RabYNlittxpJhruSbPF9ex9AtKqpGOChyeCLBWDLMXLGF0enw0rUSo6mb+6bQ0BA2HAvdpJ/NUp+urjXJRCVy8TCZqEwqfLNtyIX7b3/bzWZzuPe93vnSO7fvhLgYpHjZDvnnx55sxEue6sXtxpsPGsc93MNPEt7MG75eVDYiMd3Yyq2InH7qlt4o5X5F2/sOj3r+EtB9c2hjU1cNzq7UPHmzv9/c/dxjszmveHLbfQQE3nsoQVgWOTaR5G+vFFANi//04nW+P1fmtYUANiCrAfaOxDk557QklTdIFReZaJCW3sF6C3UqwQDEQhK6aSMIlpfo4ybpjWfiGCWFlm4REmH/aIKRRIhXblQwOxYxOUgmHkQUAmSiEhdWG1g2TOfC6B2LjmXT0izAiTodS4V4/5FRsjGZK2tNkhGbkWSYZChIx7aptw2nwJpI8q1LBQzTYiQZpq4ahDfaaiwLVioqQTGAZdl0LJjJRqm2TR7YleHnHprmW5cKqKbF/tEEEdm5t2kbFh+/f3JDqSDR0jvefHOLIrd15Ym9OT5y33gXsWbbNmt1lQMjCU5MZ7rmWLWlM1dySI13H3AUJ9+8sMZQPEQ4KHok5bGJlNf+c3al1tWy8vTBYdJR2SM5/stLc/zNxQKa2eH//XeOecesnz+DWyi6JMtKre0pqwadT56fkGp4BSHg/du/HvccevFK4Zbi0SV0MrFgl/mn/28//4beiHJ/vPJDuzM0NIOZXIzHZnM8PkvX+exPAHr64DD5muq19blwCTB7o7L/qfvGEQSBqXSEL71WRu84cdL+ArGrPdFnBnwhX/f2p6uYcIv1YxMpfu6hKWzsrgh514fqwd3pvvvRLer965zORIjJQTqWxaW1Oqpu8dBMxlNeOEW+hiwFmEiHPQJrvqhwZb3JgbEEf+fEJJ/73gLgkGOjyTDjxQbGVQvd7HDqRpVUVOLgWJITu1K8cKFAUBT4wNER7ptKs3/EmS/Fukbb7PDBo2O878gY+0cT5Gsq0WCAiCxyeCLOaws1BAFi4SCG2QHBJmA76pQOjiLNRa8Cr6lbtMptwkGVlVrbSQbSTR7cneGB6TQtvUOlpfPITIZkVGY4HmKu0GSp2nZI0g0foql0hC+cXGC50ubJfTk+dGyMfLXN8xcLnirRPZb+a76rWHFToFzPsF7yxU9MbObvtdVvpquYWfa10LzZBMVb+Tv+w8ZtESvHjx/nN37jN/gf/8f/kZ//+Z/nH/yDf8Djjz9+t8d2DwOwnULtTfF2GOC/MogMGjgGYePi4nvK1/vEv2/B27P+3vX28+Do3UeSGOD+XSnaeocTu1KEgiKVloGEwFBcZr7c9rw13EjfQl0jl5ApNx1vEUU3+ZtLjuwzGhSRxACZjRYY3bApmRot3UawbC4VatQ0E8PYuLhvYzdvJbs2bcjXVOKhJsGgSKmhcWA0zuV1BcO2mRmKcWgiQbGpcW61igiko2EkAaRAgHA4wP7RGGeW6sRCDovvFu6HxhIDCYVUWGKtrnrvXS0oNDSTjm2TS4RvaRvqPe7+tpvN5vAt7/XMl5LiyEILDY1DY4k7Ii52kmjlEn4X841bWn4Uw2I0FUYxLOJ3MWBsq/P4HvFyDz/u2OyGbyvz2J2ay55dcW42JzORbd0A9vawA11tEJ95el9XLPLPPzS95Ta5BZGA4D1RHhT/rKgmf/LqEr/woNNC4f772aNjPHcuj2ZYvHilSDwkYlk2itlhZjjKew6NoBodXrhQQAxANOREm6qG88tTb98dpYrYoz7ZDJmYYzR/erGOEADL0tEti2BAIBkJcnzCScO5stbEtmClpjGZjbJ3KIGiG6SjQd5zcISILPL9uTLDiTAdy+bjD05QbZlcKyjUWhqBQAAp4LRwfPz+KT7//Ruko0HeMZThvokEL1wqkosGWaq0sSxoaia7MlEKTZWoLJIMOw8gDNPmmSPDZKMhHtqT4eR8mVxUZqnWZjoTZdSnJPEX6hE5z3KlzZ+/tsSVNYVnDg17qS/+At3fDuQnJI5NpPid5y7wxlKVZMT5zHBM5uJa0/tMqak7LRYbD6ZcIs/fNuP39XHnnLtON+nFJSfu35Xh/EqD+3dlbnka3pvi447R/etXVvUSQH4C0i0W+xE1/Xwg/PvWfW21plJvm8RlqW8bUy/c8bitfEvlNpfyTaJygCtrCh89MU4iHLwllt2/vF5z0efOrHrb+9hsrovIePFKgUQ4iCAINz1YNkysXS+VfvATS/792dCMjdjntrcPeiNzK4pOvtomKoscHkveonIZVPC+78gYixuF98GRBGPpm4RTIiTxylyJ/SNxonKQuCw5RIcc4KkD4+wZivHEbI7Vmsp7Dw+TCAU98uHVG1UaLZNwKMBoMsTDe7L88oZh8YXVBm8sVcnFQ7y+WKXQ1PjkI9N8/pUFbNtm74jjm3N2pcZ0NkpDMzi/0mBmKEZZMRlNyjTUDlOZMBfzDZqqCQIoqoFm3mwBCvhqD8sGKeCoZARBIBuTMToOsXq92CQqB5krKoBAMirzwHSGFy6s85XXV5yocN++u5hvsLLx+/H47JBHvLn77kK+7p0H7lxy56CNzas3qrcYKPu9VtzX/fOudz7C4N8XP+m/kxaau5G+83ZUlrxZuC1i5fd///f51//6X/OlL32Jz372s7zzne/kwIEDfPrTn+bv//2/z+jo6N0e5z34sB1Vy1bF5mYF2aD3cjGZSsvYdgE7aAyjiTBSoJv06DUMHZQotNn6e/fLoCJ4OhcnFr6pxggHLSQpgK0JCAKed0ihoZEIiXQsm1TYUWPoHUcW3NZNMlGZfSNxik2dy6t1ai3nB7LW1LlcaFBtqlQ1E9uAcBBaxk3SZBB5EgDCG7u8NeDO1pE4i1RbBhWlhSgJ3Ci32TeqU1d14mGJkUQYK2FzbqWKSIDRRJhEJEihoREMCMRDElOZCJl4kMlU1DvO/eaW+9paXe0q8t1jlQiLNFRzS8XIVglBg45j73zxlDXYXhrQ3TZTHtQiNKjlZ7Pz7U5Izq3O43vmuPfwk4ztSJ53Ypo3lY54hpLbuYH0m3S6n/e3QYBTrBWbGkvltve9rVQtj88OcXal5m2DX7btvnZsIsVCpU2hrrFQadM2TM+3paDofO2NVXZlI4SDzrX9HbtSrNY0dudivHv/MC9eKTKSDLFWUxlPhZ0Eu46TXtdxf6Q24E+82Ql6SRWXaOn3+1drGyAIDMWDKLqJKNoMRWTEgMDhsQQ2zjU3GAiwWlNpah0E2+ahGcfr4OJqnRcuOcTEfFHhyESCd+4dYqHS4nqhiWHaTGWj3D+VJhYOEguJXMw3uFZoEQsF+eg7xp0CW3CMfAHeWKpxZqnGwbEkx6ZSrNfa7B+Lo2gdig2VcFDkp++f5GK+weFxp63rSkHhwT0ZHpvNdc0PfzrIc+fyRIMiV1CIhW+mvvSmf/jbZtw5kq+prNbaHBxLIiDwtTdWee+hka6iC7rVHy4B4vo9TKUjtySGAKzW1C5FC+CRGHtH4rcQHn50tascH+9SVrnko/98PLNc6yIg4dbia6sUFP9+g5tqgFifdoN+xaG7vAd3p/nUY9MecZCvqVxZUzxys9/29u4H969/e3u3p5cMSoSkbV1v/MSSjc3HTkxwaCzBl15bJhmRWKm0eeFCgWw8yD965kAXEXd2pcbzF539s7TR2uLfh4MK3kxM5pefnOnaZ+6+dtVU7z00zAeOjdNQDb58ehXdtGgbHUDgz36wyEpF40PHnXrw5etFDo8lOTqRolBfQzUsnjg4xC8/OeNt+688tZc/f22Z3EZb06n5Mm3dJCgGPLJ7rtDklbkS+4ZjLNVU1utV6qrBSEImKku0dZuhRAhxvYlp2+zJxjg2meTsUpXTS46nlWtCHQwIiJKAZdlYtkCnY1Fvm0QkwWtxikiO51BICjBXaPHgdJZAQGC11vbISlelcmJXmokBx9M1t+1th9luIlWvouh2FCC9pP92iY7Nfkd3Srq8XSOS7yZu22MlHA7ziU98gk984hMsLCzwf/wf/wf/9J/+U/7JP/knfOQjH+HXf/3Xeeqpp+7mWO9hB9iKfNksVnlQsXYnRqFbja3XMHQ7RqVbeXH4i+BeJYa/NUjVTYoNnd3ZMPOlNomIRK1l0lR1EpEYMVliudomIouYlk0uIVNqOLLhsXSYlt4hIAqMJMLUVJ12p8NQQuJ60SIiAqLArlSQ1aZFxzYxTajpXZuGAARxmPRYOIBgW7Ta9IUJdMwOGhaiYJONhDk0uiElbJuMJsJ8b67EsfEEuzIxLAsy8SDhoIQkChimRbVtEhQFwpJzHJerLS8JyG3l8ZNqro9JIiR5viY11fR8CPwmtX3HfAfKit650Kus2ck6tzuOQXN9UMvPZufbTnxcerHVeXwnap17uIcfdWx1c7mV8W0vdurn4npXtHWT3/zAIaA7Hhngp++fJCyLXb4Qn3vlBl8+vUpZ0finHzl6SyqQ/0a2V7YNN1sknjk0wkJZ2Tj/ZcbT4Y1iMOkoGkIS8XCQa+sN3n1ghNnhBK8vVflPL845iRaCQDwskYs5rUyaadHWLQ6MxFita1TbJomQiN6xaRu3r2FxiZSgKBALBpjORLlWaKIatvegYTIdYbWm0tI75GsaqmkjBixkUUCWAoylwpxbbhAOSiTCQWqqwYtXSxybMPjQ0THOLtcwzQ4N1eDhPVn2DsdZqLTJV1VmhuMsl1tcWm1wfb3JVDaKZlq8a/8Qe0diqEbHMekVBIZiIfYMxWgbHV5fqtHSLTTD4sHpDHMlmZVKmwMjMi9cWOdvLjgS/0v5Bqs1lZ8+Md5VKH/h5MIt5IE7x2Z2Z7xi3q9U6Z3LbiHSUA1evVElKgeIyUE+dHSMQ2MJMjG5L0EHjo+HX9HhL6w+8fD0LYTHg7vTfcfgx6BC3N+uMujz/vPVPSf958VW6He+9742KDq2V6HTqwJw1QVL1TYP7c54rXpbpab07o/e//cWkn4yyPVu2e71xh8tv1Rte2qXobjMty4XmS8pPHcu39XqdGwixcdOTGBjd7VcuX4d7nL9Sgh3rIOIoURI4vmLa0xnY95r63WNr55Z4etnG6iGSTLsfH+p3ObymnO9SjwW5NNPztA2Ok4UcyzI966XvLjii/kGYHNupUZZ0bmSb2J2LP7OOyZ532GHoPl3z1/m+9fLJCJBctEgQkCg2tIYT0Vo6SaKYaIbFhFZIt2xmS8qAIylIsQLCp2OTUAQaBkWpmUzFJaQAiK5mMRK3WmFDwYlgqJJQBCotk3EgMCRiZR3zjU0p03wwEi8S6UC8MZijZlczDueLuH4zKFh4uFgl0FtRdFpqAaHRuPe8dlOW8/tkhN+v66dYLPf2Z1GHr9ZCUFvJ9yxee358+f57Gc/yx/90R+RSCT4xV/8RdbX1/nABz7A//Q//U/8i3/xL+7GOH+i8JbI+we09cDgQnCnRdxm3hy3s3294yopOsWG6rWE9P7fr4LpfU/VTV5dqPLgdJqiovPqfIn1RgJJhLPLNfaPxZFEEUkIOKa2qk5QCjGRijK6K8HXzxVIhoNcW1OQRIFnj42xWtPIxkSev1Ck2oYTu7Kck+o0FZ3LJQ0bODKeYLGkIOsWmm/bREAHIkDHsslEg1RVg45965NCG1B0iAQlRlIhRlJBGqrGXLmJadkYlkVcljk5XyUeCmJhkQgH2TsURTEsVNPkRrFFMhL0VDvzRefpTLGp09SMWwi3kqLTUB2VjiQGblGvuIa0/lahN3Mu3K4X0WaEoh+D5vpmLT+DtuVOCMmt9s+bmRB2D/fwdsdW8uJBRMmgG9NBN5CDPp+LygSlADlfpGwvmTMzHOeJ2Rx/+O1rfPKRaU5MZxA2dAKuWqA3XcgfsewWzs+dy3vLdJfveh189cwqv/DgFB84OrZBwNTJVzVeq1V56sAQs0MxPvnINKlIkP/83esslBTiIZG1mkbbsKgoOpIoouoWHRtuVFQ6luNkq3VsAlg7TgYKBSAUFGlrHcIhkWxMpq6axGWRI+NJam2DsqIjAMemUqiGxZW1BqmojCQKhO0A+0fiRGSRuaJCQhaZHYmiGRatjafYba2DEBAotZxrfTAQYLnaJh6W+Oobq0TkAI/vHWImF3NUK5aFasCFlTrpaIiKYrBYdhQKF1Yb/NTxsS5zV3A2erHSJhYSGYo7xXc2JjOVi3BuuY6NTSYW5HpR4Y2VOtiCV1j1K2R659gXTi5wYaVGRJb45CPTA1UVh8YS5OIyT8zmeGTG9D7jL6L9qhG3teRCvs6rN6rArWoqcFRXbiKJ274A3R4mTdXsUqP0g79dZbP2Nfd87R37dtDvfPe/5m9H6oVfoTNIBeBPYuktEnsVOdtFbyHpKi4OjSV4aHemSx20VcHsXlsSIYnVmsqT+3JdrYMLZeWWojkTk702HPf/fuUE3CRq/f/279NeYghgpdbmy6dXiYVEPnx8gpbhEKKSIPDQniyPzuQYSYY8wsTG9lrMDo4mWCq3qSgGL14pUm+bPL43y5U1x/twKCGzXG1TaGrUVIODY0nGUmGHDGrqGB2bUkOjY9k8OZtl33Ac1TApKwZjARE5GCAsiWRzQdbnK1xarbFQCmJZcGI6DcBri1UM01GgGx2TpaqJaVnszkZ5/5FRLuXrXMg3iIVFRFGgomis1drY2FzKN8nFZV5fqpGJyTy5b4jHZnNdZs4ubGyMTofvXCuSCAX54LGxrnP71RtVcnGnlc89fzYjt/rNqe0SLf38hbaDzX5nXeJ/u5HH/Vr4dkIO/SgoXm6LWKnX6/zxH/8xn/3sZ3nllVd4z3vew+/93u/x0z/904RCTs/Zq6++ylNPPXWPWPFhu0XkWyHv3yxWeVAh6H5+u4XwTvwrtrNvaqqJZVl8f67MozNZcjGZ1Y3YybW6ymgy7Jmvui0irgpGEgMsV9osVpokIiLX1hVeX6zSsW1SEQmrI9CxLLADBATH/HbPSJRYMEC+ppJNhAjYAiVFo6UZtDSTG2WF/cNxKm2DUFDkwek037lWwrZsxpNhzq5U0TSVimqgmhANQls3kMUA/g72EBAQIdgBW4S4LFBuGQRsJ1q50+dBoWBDKhYkl5DpmDY1vUNEFGl0TE5MZoiEJI6Mx1mqaDQ0nZAUcEiBpBO/7CfVcjEZcygGtnMcFM3sIknc4xMJBjwDWv+xdY+dqpssV9UuU2L/XOiX3nM7MdvbRS4mdxnmSmJgU0LRj0GExe20/NyJquReq889/KTjTm6kBhElg56aDbqBHPT5fqlAfnNJl8z5/CsLPH9hHXDaO/zRtOC0LiTDEguVNhVF74pYPjGd6SKIgK52jSMTKc6t1IiFJd53ZIzvXS/R0AyOTTneI3Mlhd/+8BF252IbygeTM8t19o7ESYQlKq020ZCIaTnXSAmwrA6a4XgS6IaTmBcQbK+1R9xI2PD/NIVFgUPjCeqqyWK5DYLNaCrESlVF71hIooDZsVBNgZKik4oEsWywLJvpTJQ3lmskwzIfPjbGudU6azWNimIQlQOsVp0Wlcl0lAOjUZZrKmEpQCQocnQ8SS7mGNE+vCfLyfkK1ZZORTY4MBZnOCaTr7fZOxTjXfuHuLBc45X5CgdGY2RiQYYTMi3doNzUuVpsUmwYDMVlxlMRPv3krEN85Ov8pxedNox8TWNXNsKHjo1x31S6KxI5GhT52ysFzq/WOTSWYKna7irQPT8F2+Z3nrvAnmyEVxeqtIwOlXXHIyURDnbNM3fuNlWTi/kGDc0cWLy4nhsNzfAUGs8cvtkm9L3rJS8eebWm8henV9iVCbNYcdJKgFs8TI5NpPjGhby33EHwnzt+Uqa3UHThb4fr9f3YDjZr7fHvPxf+Fp1qS/cICn9x18/U08UgRU7vePw+Nv08TL702jJfeX2V9x8ZJRYSu1qx+pE3/u10ry1t3aSlW12+Lz/30K6B4/rCyQVWKm1vv/iL24v5RpeKwn3d3S+D9mlvK9mzR8do6ya5WIiYLHrpQpmYTDoq8/L1Il96bZnVWpt0VGb/aIyDYwlO3Shj2zbVlsFUNszB0SQP7c7wuVcWUNRVxICAje2Ri++YzrB/LMEbSzVmshEKTZ1zy3WausloIsR9u9LsG4pTbBjcN5WkrprkayoBAQzLMa5eb2jYlnM9q7VuxskHRcjGZK4XFF5brFFs6kiBAKphcSnfZLWu8RvvO+B5Ij13zvFLioclr4WzVzH1+OwQ86UWF1dq6B2LqXSka664y/InCm2l6OidU7dLtGyF7Sxnp5HHvaotd8zbXe+PguLltoiVsbExMpkMv/RLv8TnP/95Zmdnb/nMgw8+yL59O2fGfpyx3SLpbsj77+RJ92brX661OLNY4/iuFLuzm0sXd1Kcbmff5GIy55Zr5GttLkaCnJjOMJwMoehOX/RmLSKS6BAmTdXk2prCrkyYlUqY3dkok+kItbaJgM3ubJRsTEa3OiyVW3SsDnPFFtlYiKWqQqFhMJkJI9gQkQJcLyqkwhJnl2q8fL1EMiRRVHTWai0urzepKgYSkA4LJGWQJQlJ7CDiXMgDOORJJhJAsAFRBFEgHYGmqhMXHWKl93ZGEKDV1glKEtFQgJFYiFw8TDQkMjMUYzIbYTIVZWbI4mK+QSZ+Mz1pNBmm0jK6PEom01GPTNk9FAUbik2N1aojFxewqLRMhhIhpECgy9fEVa9ohnWLKbF///dL79lOzPbtQhIDXYa57pgHEYrbXeZOz5s7UZXca/W5h590vBk3UjvtTx/UUlRRDIyORUW5eYXuVZ8AfPKR6a6/ve1Cj88OcXG1wdmVGt/bMCwtKzqVpsZcocmxiRT5msorcyWeOTTa1b7w6Sdn+Ob5PBdWGxweS2Jj85XTq8TDEulokKvrTT7/ygJ/5x0TfP1snkRY4vB40vETUE3CUgBZCDAzEiUdDTE7FOW/fu8GmB0CNogBEGybRCiAoluYltOyKgig+5gVSRRQTYuZIUch2tKcGNW4LFJuGQQDAuloENWwWKm2eXL/EHMFhdcWq5xfrYPtPE2eykQ5u1KjpZu0dJOOZZEMB3HZ8JJi0N4wTbcsm784vcxkJsr/7d2zvPvACIIg8PWzeR7bmyMaFPn9b12lrXc4MJbg/t0ZXl+s0bGd35rPf38RsGmqHdJRieLG0/Ara01euFDw4m3niwqq7qhjBAT2DsdJhIK8//DNp8+feXofFUWnZXRYqbR57lyeUtNRg/S23FxZa3Bupc7scAwbeHwmy1pD46kDw9wot7rmmVuIzBWazJWUTdva/MWuonUoNjUU1YCN5L9+5IAt3Ewr6W1Bc9Ev/cqZ/1srvwadv/62pD256C1tOv5lbpdE2ey89huBNlWzKwWpoRpeQewWib1P1PsVzX70RjO74+ola91odBubL592tt/13Oh3fPzb6R7f6WysK1VsM/Qz5PYXt/2MeXuJsX77tDeWPh2VOTye5LWFKifnyiTCEvOllrc/v3x6lZbuXO/W6ipROchiuc1Cuc10NsJK1UnXeurACDPDcX716X0cGI2zVG7z0J4Mp+YrXFqrU1MMlmptVqptkmGJuaLCaq1NNCQxMxzHsmyWaypTWec+NxGSUCJBRMFReQfFAIpmei2IfnLYBnLRIJplo+odQlKAfSMxwpJIvt4mE5V5daHMpx7Zzcxw/BZCYZCi6hMPT3s+LK7PzV+dzTPpU0a5JPyxiVRXq1Y/QsM/l10S1E0Vcs+Vu/Gbud3l3I4x7Wbbudl6b8db5q3GbRErf/zHf8xHPvIRRFHc9HOnT5++ncX/2GK7RdLdkPffSYG62forTQNFM6k0DXZnt15WP4Kn3/IH7RtVN7laUDwD2r2jMVq6SSbu/MCPJjaWs6G22AyHxhLU2gaZmEw0HOT9R0e9cR0cSzBfVAjJEiHD5pUrJVpqh6OTKYJSAN3qEBRFQsEO6ajMeDpCtaVTVXSWKi00w6La1FittNAti2bbJCIFkKIiNbWD1bFZbYKOykg8TCocZKmmEbA7aBYYFkymQii6TSYls1xsYQKVAQ+IWh1oaB3CYYORRJywLLFn2Infe3WhQr7RRtrjkBlBUaCiGEiC6hELvQSU2XEIGEGAoXjIMwquq84AbNuJ4NQMi9Vqm1RY8tRM/tQg159lO3HFO400vh30to+9ma0zb8ay77X63MNPOu7kRupu3WAuVdtesexXILz30Aj5usp7D414n42FJYZiIWK+VtrduRh/5x0T7M7FvG3x3whnYjKHxhNcXmtiYzMzHCcbk/naG6tk4iE+8/Q+FsoKX3ndKcR+8wOHujwfCorOCxfXicgiM7kY19YblFsGT+7N8e4DIxwZSzCVjjCRiXB9vcmDuzN884ITsxwJiui2E2/88QdG+P0XrtLWLWIbSUIg0LFtQkEJwzIwdRsxAMZN3ghw0jVUw2Kh3EKwHfKloWqEpCAdC/J1nQd3p7lWaCIGAhwcTaIaHV5bhBulFumIjGZ2WKq2WCy3aRlO8aOaFo/N5nhiX45EKMhcscl8sYUsCSxW2qhGh1JT57UbFR6fHeqaL//lu3OUN0ivXCyEgEBQFHh8b46QKHB5rUlEFnGdXoIBgfv2pBmOh1gst1mrq8yVFD75yDQNzexqvzp1o9JlQgndT2/dz/pNZN2xPXVgiK++scqeXJQ3luogCCTCQW6UWwM9N3rb2nr9VM6u1MC2GYqHiIckmqrjlr9Ua7NYVQE4PJZkflfLS4dxPVj87SjuOP3nTr/0K3edWym/Bp2//jYpx1uju03Hv8ytSBS/AmAz9HrJ+I+n3yei3xP1rdKF3Haqw2NJLwHK9c7xK1jef3jMi3R2U2LcbXHJm0RI4g++dZVnj451kbrpqNxljOtf/1bRu24bjv8z/uuQGx88lY54vh+Njfs/v8eMf16Xmjonb5R57lyeobjMCxcKLJVbtI0O4+mw1x5ybCLFR0+Mc2G1zmpVZTwd4ch4kny9zdJGNLFm2ExlI13bnggFeW1hhRevFKgoOuPpMLuyMVqqQb1tcG65jtrpIAC7sxH+7++e5aXrJU7NlykrOmbHYlc2xqcOjYAg8P25MisbvosBuoXLAiBLAfINjb/zjkl2Z6O0DJO5goJuwmN7h3nh4jqnF+tkY841ud+cqCi65xvjKnb6qToGtc+4rVp/dTbPXEkZ6FvSe07EwxLfulTwyD+XiJ9KR5gZjt9imD5oHm8nMepuoLclbbvGvD8K6UK3Rax89KMfvdvj+InA3SyStlKkDGq9cNFLWGwXh8YSSGLA8y/ZCtv11hjUZtSbwjKZihKWpK5IZb8qAWCt1ubiap1HZ7Jd2xaWJZ7cN9S1DlV35LV7shH2jSRIhR1T3JmhONWWjiAIJEJBlist6qrORDrKSFymqpqMJ0MU6xpVxaDYVLEFmEyHqWkdIkGRdETiynqTYKCDYjou5IlwkGf2j/HnZxYxzA6xIIiSREwWQJQYzwSRpQDVsI5Ud24se+5fAecHwbZt9g4nmUpHGUmEiMkSN8otGm2DWkgCwZkH+ZrKjZJCVTGotAz2DceoqSapjYjoVFjiakHBsjpYtuDNmUwsSCIkIm14CNRUk9Vqm9W6iiQGutqs3DYe99heLSgIGz9b/rhi/xwYFGl8N4mEQW1t92KK7+EefjRwJzdSO20F2mw5r8yVOTVfZk8uyoePO20TvcoT6I5LdkmT3mSfTEzuuhF+1/7hW7737NExVL3j+XpMZ2MMxUNMZ2O3bMOzR8eoNDVWqm2iQZFwSMRoaCxUW/z6Qwf4mwvrvLZU5f5dGcbTYfI1leMTjodIVA5QbZkkwwFeX6rQ0k2crklHERKRRSbSYZbKbUwLQkEBs2N73l8BHPWKJAo8sifDXKnFYklB7ziE/Lv3Z5gvt4nJIrNDMUBgZjjKpbU6p2/UsCwb3XR8WJ49Ng62zaUhh+QHGEuGeWgmy/sPO4X4qwtlInKAw+MJ9uRizBUVDMvi4lqDL5xc8ApjcIyDK4pGQTH4pSf2sDsXIx6WmEpHOHWjQjom8/CeLH/+g2XW6ip7hmJe8lI8JPFX5/JcytcBbimM+hEN0D1fXQLEH7nrFqmCIDCVjnB8Kt0Vx9zPc2MqHfEK937yf6Ar3ebYhBOnPBQLkY0EmS87Ebm95Ix/nC76EReDzsHtehL1+67f78FPGPQue7P1uBikFtlsvG6x6h6juZLSVejupKg8u1LzlB8zw3FmhuNdBrXLlTYn58ocGk943j3pqOxdR1y4++rf/PUlvvz6Cqre4eGZbN9jBs5+fvl6kYurDcpK93b7j0E/oqg35ne+1GK50sboWF4Kj+v78a79w7fsYzfF5uRcmecvrvPMoRE+emKc1xaqXC80ec+hERKhIPmaSkM1eHx2iMdnhzzSwfUAioeCfOdqAVkM8PBMlhcurnvbPpWNcK2oUGs7LTnvmM7wK0/t5feev8JSVcXGJhGSiEgSsVCQ5y+uEQmKCIAkwHJdxbRs3ntohEJTQ9EMVhsqlaaO6XsOG5MDRIMS6ajT0rN/JO4l/rjk16GxBMMxmUvrTYZj8kA1ydmVGn9xegXA23f+Y+viEw9PO22bPnLdf75PZiKb+pb0Kj5653ahqfHCxQIRWeIzT++7JREIbk2n6/1d3IpMvNN2o0Hn2I8CebIZ7ti89h5+ONhKkTKo9cLFpbUm51drdCybd+xK3/L9QYVnb3rPVtiJz0q/13pTWPoV3n5VgiQGuLhap6k5xNGxydQt2xILBvju1SIPTqeZL7e5UVIoNTWe3DfEcq3F6cUq4ykn4nelojCcDhMNS9g4F8qFapt6ywAEYmGJ1cU2laZGKhrEQiAeEgkHRRZLLXIxmVYwwMFkiNWqxuHxNM9fXaPW0tFNCEkBHtmdRRKhoVk8NpPDsDocGInzUrDIclmh2O7f1ZuOydi2zUK1RVMzuFZokovKxMPODeyl1QapkMRQXKbWljE7NgI2VwuO4W6hoXl/BQEsBHSzw/eulkhGJSZSEYYSN1t+wrLk7eN+xJp7/Nzl2bawqfLkrWhz2cn8ezviHgF0D/dw+9hpQbjZco6MJ7my1uzyROi3nH5P4vp5N/R+t9/3prIR/q+TSwC8//CY58ng3kiv1pyCber+STLxEF99eZ6/ubjOh46N8UqwzHA8xIXVOoZl84MbFZarKp9+cg8Ap+bL7M7FEIAbpTK1tkEsLJOLyyh6hwA2mmWjmSazwzE002KuoBAQIC5LWIKNbdlkozKmDcPxECVFp9rSndQ+zSQVlfmpd0zS0jtcWqszmY7ywO4sTc3kc99fwLQt7ptK0TI6TCQjntLixHSGakvnby6tY3RsZKnGeMohF07NVWnrFiXF4GcfnELRnGULCCxX2rx8vdilxLhvV4bnL6xzeb3hqU6eO5dnpdLmg8fGeNf+YZqayZdPr3J4POkVCfGw5ChYNnxU+kX9+tGv0BhUfPSap7ppNOmo7BX6L14peElAbjHrb9noN/fcbYab6odX5m769Tx7dGzbKVnbKW526km03eVs5zv92pb6qW+2M95+BtHb2X6/Z45rNu3CP6bnzuU5NV/m8lqT+V2tTckfuNkuNJWNbHqtcltsdNPioZlM12d6j8EgXw6XIHHHOVdoeslWJ2+UnbaekNRXkbNUbfPeQyNe6tnMcJzHZ4f4xoU8VzbUd9fXW8hSwCMX50oKy5W2d45+5fUVFistHt6T9a5p7rYnQkH2DsWQxQQzIzGvBefjD0yy1lB5aDrjRDPXHOXa31xYp9DQaZmOb4resQkHTb5ztUAwEOAduzIExQAvXS0CNpIoIAgC09kow4kQNgJL5Rb/29cvMhST2TMU58h4kvFUmOfO5XliNkdB0Xl9qcaYL0Ldj2MTKZ45NMxCpb3pedaPXPdfF/xEbr/rSL/fC/94eo2ze4n6TEy+hWzZKZl4p2rQOyVQ3q5GtveIlbcptqNI8f/th81iXtMRiUQoSDrSfwrcTuG53bafQePv95piWAwlQsyX2xwak/rui1JLp9bWKbWCTKajPDqT5eJag0RY9HxDrhcUEmGHFHp1ocqVDaO4R2eylJoaybDIxXwDzTBZKrdYKLV4aHcGMSBCxyaAwHgqjG3ZzK8rWBumt4Ig8uieIeaKDVq6iWqYSAGRtm5ydCLJtUKTlG1zJd9EFgXWGiqHJuKEQyLrFYV4NERQClBpGwzHZc4u18jGnZabqWwM0+oQC+sUKh2Unu2uKjqnF8rEZIlEzDFis3Nx7tuVoajoVBQDMSDw5D7nSahpW2CB1rFYqrR5YFcKxdhQNAWc/XpqvsKNksIeIYadupUY2YxY88xiTQtJCjCaCG8ac7yZOuVuEQq3Y0L7VmOzbf1RIYDu4R5+WNjs5mo76STbXV6/dojtEjeZmJPm8vlXFrziq7dPPrNxDfcXaEvlNsWmxlK57d1If/n0Mn9zaZ1feWovxabO18/nyddVPvnINC9eKXBtrcn51Tr//O8e46XrJV5fqFBq6Tw2m+XoRBpF69A2OqzXdRYrKk/MZtmTixKVRYIBgWOTSUJBkZVqm6aqo5s2byzVWK9rdGyQgyJ7hmOUmk4cs27B7lwE04LTixUUzSIogRQQMC2bPzm5iBQIUFY0TgkV3rV/mF3ZCJGggGYKpCJB/t6G98z51Rrnlhsg2MhSgJDotOlMZJzWiT9/bZlkROT4ZIJ0LOQVeY4BZ4Z42CkAv342j77x5D27ESW9VG57aR7X152EoNVam7mCQ5a99/Bwl8poKh1hdiTuFYzpaDeh0duK02sQCoOLj942Fve7rteHS6j4i97tEAa9qoR37Xe+G5Elnj06tuM48dvFTmPOt8JWrUC9KqHbwU72jXvs89U2z18sEAoKXF1XPLNp6L42PDGb41K+zv27Mjx1YLirVajfdcttF+qn+PHPO7fFxlVU9Gvj8K+n15fDv/+gW5XlFt5/fT7P6cUqo4kQY+kIAoKXMuSSAP6kmUxMptjU+cb5NdJRmXfvH+LQeMJb94rP7+ULJxdYqrSQxAAhKcCNkkIiFOSn7hvn8lqDqXSUTzw67an5zq7UNoyO61QUnbWGxpGJFItVlWw0hCQFkIMCdkBECgQIBgIcmUhiW2Bg09ZNSorOE3uHMCyLmCxSVJzEy4trTUKisKH8ETg8kaSld7iy1iQZkTi3Ume+qHhqns3OxbG0o/bZai71/k4MmtOD1EaDItrh1gSgmeE4D89k+dalAuMph9x3DIc7XQqc7RId21WrvZl4uxrZ3iNW3qbYjiJly7hZP+HQ0+4zmYmCAJWWwah+awzs7RSed2psO8h7pdDQuoxWb4HdnfQSliXGUxEqLZ2SooMAZUWj0HSMWN8xlaRj2ezKOIX/k/uGeH2pwrX1Bocnk4ylIzTaJopu8c4DOU7dqLBUaaHoJrsyMfJ1jUCgQ9OQ2D+cYDwTJRWVKCkaVgd0w2Sh1qao6MRDMopuMDsSptG2ODgaQzcsRmIRcrEgimoRlkXidoelqsq+4QjnVuoYHYtCo02jbaKb/duBiipkBZNsLMR0OkKpbZCJyBwci1FtmaTCMg9uRMsVmzplRcO2odrWKdY1sjEn+aChmiTCTkF/fDLBVCbCUFJmMhXtKvS3Y4gsBQI0TJOM3E2C7TT9504IhX7L7td69nYhKjbb1rcTAXQP9/DDwFY3apvdXN3OjdegWNVBN53bvZF8/uIar8yVGU2GvOKrd3wvXS/xxlIVcHxZfvr+SWycpIq/PLPC4bEkgiDw+lLVk3C7xqovXS/xP3/wEP/mG5dZrbV56XqJTzw8zYuXC5xfrqJoHR6eyfHcmTzllsaxyQTrTSfppto20IwO+bpKcoPUiYeCiAGBVNiR87sJejO5KMWmE3WaCInkYkFUvcPltQa2bRMOSgwnQgzFQ6w3nIjSRDTIgdE4l9cUzq3UODKeZFc2xtp8maKis15TWaq1ubTaZM+Qs/xCQ2PPUIyJdJhIMMCXXltmvthkLBXh+K40ry/WvKfIMVmkoRlee8FcSWFuvcnkUMQjFPztNs+R59X5Ci9cKFBs6pSaTkrMpXzTe/rbW2j3Hv/eVpxeg1AYbNDYWzQtV9rkYjIXVutUFIN3TKXIxWUOjSU8BctStU21dXOubUY2+Itpf4FVaxs0NvwpXB+LN4Ng8e+77ST+9PN/6CUQ/NvXuw/vBm7naX1Udnwm79+V4eBY8paoYxcvXS9xdV3h4FjyllYhuPXatNm29R53t51okCeM/3VgU9VV73rd60tbNxECAudXalxZa3YRzH6i8eXrRRTVxLYtDo8neXRPho/dPwXgvKd1vGjiTExmdzaKadm0dMeHSDMtZDHAtWKTq2tNJtMRfvODB8nE5K7tcMdlWTY2Nk8fHHYeLOKYz8ZCEoreYbnaZiId5vp6k5eulSg1DVqGycHRBJlYkNeX60xnIrxz/xCCDdeKLV6ZKzrpZbrJ4bEE902l2T8S56XrJY5NJDk5X2F4k+t8RdG5tt6k2FS7FEz90Lu//a2CvWlV/n3dq3jbLnqXMzMc55ENsmUsvXVUcu/Yp9IRvnByoeu8vV2y43YImTfTA+ZOcI9YeYux3Sfxd6WgsgdHy0pigIbaYbWmIgUCt6gQbqfwHGRsO2ibt7MvBiX9+L/bL+nF7zGTi8rsHopxZb3O64sV0rFhjk6mKDY1LuYbHBpLIAoBVKNDS+3wkWPjfH+uTEwOMF9s8dT+HP8x30DVDPK1FnuHo8yVmlQaJvmQSknROTGdJiAIZOMyQTFA6+IahaZGVBaIyDLnlluIosipGzUykSDDyTCT8RghWSQVljk5X+aBXSkSoRBBKUhLdSKPZSFAXTVpqLca88YlODiW4r6JNPmmBpbN5WKD0OUAY6kwqWiIsOz4qNRamnfjlwgFkdIBMtGbSUFmx6KhmWSiMrMjyb7HYjvkSL8Y5lxM3nH6z07nv39d220z2y7e7Hace+TJPdzDYGx1o7bZzdVm7w26kbOxMTodzq/WvQJgp+Pr91qvR4o7Lr+J7bNHx7iUdwweX75e5MPHJ3hkJsv/+d15am2Df/DOGX7lqb0eobBUbfMrT+3lS68tc2quwkwuxj/76FGeO5dndzbK7zx3gaMTSS6vNSg0NP6vU4ukwkEn3UVw1BnpiMxwIsTZ5TqqbiKLAVLRIDFZ4sh4inftH+IvTi+zVG6RS4SotAxqbZPd2QhhWWSx3KbWNtBNm5FEiIdnMrQ0JyFO0UwU3SSpd3h8Nsd7Do1iY3NoLLFhXNlCNyw+d3KRTsei2jIwrQ5N1aTaNliuqKzV21xYbZCMSAzFQ8higEQo6HkQvHS9xOW1JmeX6yyV2xwaTzhkymS3Z4k/ecONhp3Oxnhod2YjxthgJhfrmjO9BsOD5taNkoLRsTg2keyaU5sZNPYup6EafPdqiclMhFhY6nri3c9DZDOyYVDR7sZ452vOfQvQ9VT7bsE/tu0UWv38H3p9iTYr0u7GU/KdEDWuIueJ2RyPzGS9eeaqmnrHtTsbJReTOTZx896qHwk2aOz9SKbe7/n3uZ+oOjaRIl9t88pcmYf3ZDZVErnkiKtKmRmO81vPHvbUEa7fSD8jXLctqahoYDshCHtHEx4p4iYgfeqxm2as375coKzoxGSJB3Zn+OQj07x0vcSFfA0xIHB8KtVlAnxwLO61PrrXwYlUhNWayitzZSqKziMzWe8c+N71MovlNqFgAK1jc3giBkKAX3x0N399fg1ztUFNNXn3/mHydZVa2+DYZIp8VWWp3KapmaSjQd53eJQT0xlevFLgylqTK2vNvq1Arvrsr8+uUWnpvDR2U8G01XHdLBWnd25uRSgMMqrtN8fvhJzod97e7vJuh5B5u3qx3CNW3mJst8DbDrGxVcG3VbSs65PRzy/jdorJQca2g7Z5J/ui19i297v91C83PWYCHJtIUW7q3GgrnJqr8MEjoxRssCwnDWffcMwbu2ty+92rRdYbGtdeb/LhY6N863KRuCyRikjEoxkEC+ptg2JLZ7HcBttmtdLmyGSSht5hpabS1kwKDR2jY5KIBDk4ngArwOHROIcnklwvtdDNDo/N5pgvK4wmRX7mwCR/8soiQTFAQIITe5KUGzrleovFxs14uJ+6b5RWR+BqsUG5aRAICMiiCQSwEMjEZNYaKmbHIigFyMVlxlJhWrpJOhYDG9YaqpesJPnIK7NjsdZQwb51Hm1GjvjnrRvD3O8YDSITegmz7cI/lu22mW3XwPnNbsfZ7Fy/1wp0Dz/puJMbv508+XXx+OyQZ+TYaxzY70bYX7i4CQz9ivL3HR69JSK1X5/9h46O8xenVzwvl2MTKY5MJDi9UOP8ao3HZnN85ul9/OmpRf7k5CK/8PAuL1EoX28zV1J49ugYf/jta3zjfJ5D40n+H+/dz9fP55kvtlCjFkcmk/zUfeN89Y1VVN1kVzpMs22wWGlTa5u0ahrjaYFcVGKp2iIelsglQoSDAWIhkbpqkq9r7M5FmRmKUWlq1PUO902meGOxTlHRCAdFptIRJFFgMhPh4T1ZTs1XmMo6Bdr3r1cQAwLBYIAUIit1E0UzuV5QGE9FGU1JLFdaTGdjPDKT5WqhgW44Cs9DYwkOjSX40mvLRIIBHpvN8tpilVfmSrx0rcSn37mHx2eH+MLJBa6vN7tMgyuKznPn8pQVg0dmwswMx1mqtm+Jne09Nq4HxROzORqaybGJlDc3vnBygXMrdTSzg2bYfPTEOIfHkt7n/XL93qLH/5TaH+fr/7e/kHfXvdncHnTOuIoKhwCqD1RY3E30tj31Jhkdm0jxxGyO+aLCExuKI/fzvb5Eg7BVUdZ73vYbR6+BcC8p54eryGlo5qZEljuuhmpQUnTOrtR59wEnQWwrEmyz7dsqtegLJxe6Cl43NWytrpIIBwe2qLjkCNyMgO7XZtVvzG5b0npdY6na4uBosuvYf/TEOIpqslpr86cnF7AFJ2b7XfuHeWQmw9MHRriYbxANigwnwkSDQe6bTPHcuTzLlTYfOjZGsanz/MV1wrLI8cmUF5n9xmINvdPhoQ2fFnedHzsxQUMzKDY0NNPisT0Znjo4woV8neFYENO2Wa+p/H+fv8J6Q6fc0onJIulIkLBsgS1wbrnR5Yvlboc/ScmdI2609cN70oQ32u82w3ZaBaHbxNpd32bnQz/CYxDuhJzo9XG5k+W9XdUnt4N7xMpbjLv5dPpO24U288soKTrFhkqhoXmEiR/9iJdByxu0zdsprt1lr9VVbpRamLkok5lo3+/2kgH+z0higCf25qirBgFB2PBsSXB2uUZV0chEg57R7VpdJRWW2JOLcq3QZKWiMF9Q+MRj02imRaGhETEtdudiTKVDfOtykaAo8Nfn1qm1VOqajm3B3lyUiCxRVHSqqkY2HKaialSaGopp0mgbNAyLx/ZkeflGiZVyG92w6Ng2oiiQr6qoloWy6sRXqqaIJHTQNxRIXz27xnsOjxKVgkSzEqlwkI5lI4nw2GyatbrJcrnFclVlsdxEDki0jA5RWXJunrUOyYiEFAjcQnyUFH1DaklXkpC7T9191O8YuElDZsciEZb6zvVBc3OzOd07L/zESO+x3k6bWW/i1CDsZJ7ebWx1vbhnbnsPP+7Y6kZts6JqsyfZg3wg+hlZbrauTEzuijt2Yzh7CZPtyrxdLxf/E+lPPznLF+QF5gpNL/lmoaxQbGoslBU+/eQsiXCQv720zl+ezfOdKwU+9ehu8jWVSNB5EPHBI2MsVVsICCyWFf7tNy6RCEvszsU5s1SjqOjsykQYTljU2wZmx+LVhRoROcCuTBQ5HeCNpSoxOUgwEEAxTDSjw8xQjHQkiKKb5Gsa4MQxdyybREQiHgpyYleaU/MVvviDJTqWzbv355jKRhDsMJWW81BgKBGmrho8MJ1GMyzSsSD5mkZYChANiVxcbTJfUshEZR7ceAr80vUSybDE0YkUjbZJJhaiqZpcXG0gILBSaWNYFq/OO2qeZ4+P3+Lz4EblHhyL39KyM5WOEJUDXnTpCxcLzBcVEuFg1xxwvQqqLZ3ltoqA4BU3ZUUjGwuRCEmcXal5ywFu8aboLa7cuesW8iu1trfuXvjnerWlc2bZKcT8897fFuQW+DvFIHLE/+9BRr+D2lIAL13Lv/zeJKZB2Koo6x1Pv0QlVw3U+9f9jh+9146tVCSJkOS1kvzBt656BFlvtPGgpJl+y+93/XL33ROzuS6jUrfw9a/3uTOrXZHAFUWnoRo8NptludJitdbedDy9xHEm5qQcvXilwGKlzVgq3EVSuu997nsLXaqWTz12M976L06vUGxqJMNBHt+XIxaWeH2p5p2r7rY+e3SMWttJ48zFgjxzeARFMykpGjdKSpfq5psX1vjS6RVCgQDfs6FlWryxWOON5SotzSQoBWhojtltRA4QC4rEIxIfPTHBcDyEone82GKA+VKLqBTg+YsFLo42UPSOt08aqsE7fa1OW2HQvB3UdrhV6pWLfoTH7WArJVivj8ud4O2qPrkd3CNW3mLcTW+HN7OFIBeTWa21qbd11hqOKawf241Rhv6Kk81e7yVRAJyOJhs3kEESA6TCkqc2cVterq03qbdN7p9OewSMn2z50NExz9gWYDgZQtFNTNshVEzLorERK9xQTQ6PObHLomjxgxsVxtMR7t+VJF83vPV+6OgYp+ZLzOSiBIajtDSTcksnIEASmMzEeHpklNcWK6SjEp2OgmDZvLpUJRQUuVZoEA4EMG2belsnFQ6QjspMD0VR2iqSgNPjCogmVAzoAOEAtFWDR2eGWam1+MFCGUXrUNcssvEQw4kQxaZGQzWIhWSCksDxyRS6aRORAyyXW6Qict/5k4vJmEMxCnWtK0nIxSDyw58MJIkCmeitPiexYID5cruvUmSzOd0753qJkZ2eV5sptvy4HRLobmGr68U9Rcs9/KRjs6KqX8yxi83MKi/k67yxWGNPLtr13iDPjH4mgIM+20/mfWwixTfP51motPn4/ZNeofFXvrF/4uFpT4HxhZMLPHNolIgs8cSGkeSxCSdRwz7rKFNulFv83t+7ny+cXOB714q0DIt/8OQMj83m+LU/fo2zKw0EoKwYSGKAoZiMalocmUhSbhrIkoCNwHq9jWbaTKbDXMyL6JZFRA7Q7giUWgbfvlxkIh3mXfuHmc5EWG+qfP96mUJD5Y3FKm3DYq7Y5NPvnGF3LsrF1Qav3qixfzTBM4edGFS/gmKp2uZz31vgWlGhbXRYKLW4r6rykfvGeGWuQqWlcX61znQ2SioscWQixXQmwpW1Ju89OExB0VmptLGx+eCxMVZrbV64UMDN1vPPF7dN4dSNyi0eK+4cubKmcGVN4ZnDI3zkPqlLNeLC9Sr4+tk8D81keGw2x6GxBOAUJ197Y9UjZA6NJfjIfTt7mu2uq6ma2/ITOrNc2/YT652iHynR++9BpKX/9V4zYPffW6Uv9YO/KOtXDPaaQvcbh0t++MmHi/lGX8JjkP/OZiqSE9MZ/uBbV7vmgp/E8UcbD9q+XmKq9/rl997oNSr1zwOXxAC6EmncBKrFispiRWU81T/5ph9x7D+GvcfV/56r+LAFSISCHsnT0AyeOTTsve76JfmjyjMx2duOP/jWVU4v1FiuqvzaM/s5s1zjhYsF1uoa9bbjShgPS1xea1BRdI6MJ9iVjdDWTATB5smZDCdvVElHJcZSUYyOxZ6hGH9zscC1dYUTuww+8579/MG3rnqxxQBfe2OVfSPO/p7KRjyTYXf/+VVvW2ErMqHXpHYrE2sXt0t49J47b1dz2Lc77hErPwS82Yknd2NdkhhgOB6ipXX6erTsNMZ2R6/3kCiA065i39wmSQxwtaAw74tKzsVkUhEZ7JvfdZUXAoK3v/zGtqMJJ1bZ7FgUGyqGZTMcDxGRA9woNenYzhPE1bpKpanz+mIVgIMbvi+jG+M4v9JE69iMRGWSUZGzK1U+enyKhmGiGxaW3UHVOzRUnVQ0SLVtkAyLyKKIKFhcL7aRpQC70hEurikoqklLN6mqNm3TQtU7dDYORcfddyrUVEdeWlBUGmoHMQBhSWAyFWG+3OTYZJpoUMS0bGptE0mAWCxIKiTR1i2PVFirq11qFARnn48mwqzVVVSzQ0M1vbhl17/GPRb+eWF2LEzbQhICXV4rro/LxZpKy9hg+Xfg7dM753qJkZ3O9Z1Gh281HhdvpYrknj/LPfy4Y6unZlu1RAxqJ9isAHDbcPzRyu66+nlm9DMBHPRZlwA56WsdOrtS4//3vRsslZ3Y0N/+yBGOTaQ4OVfm1HzZU1u45MpKpU1DM/nM0/u8YqupmiRCQf67d81QUQx2Z6P8P//0NEbHYiwZpqjoNDWTl68XeWzWMUGrqwalhk65pTGcCJGJhsC2CUoCRydSlBTdiVo2OlxYrVFqOtdxMQBBSUQWnajS6UyY6WyU9x0e5QsnF1got9HMDm3DpmM55rgtrcM//uAhnr+4Ti4mEws5Rc+ZpRp/c3EdUYC23uHj90/ysRMTnF+tc2q+hI1DKOwbSfB3T0x52394PMEvPTnjHb+xdMRTazx3Ls/hDaPQuUKTxXKb9brGX55Z4fHZob7zwLZtvviDZa6tNboUBx87MdH1ZN+dk/6n4r3KI38ROFdoEg6KzjXatlkot/j4/ZNbmsb2Ls9VO/WqmYCu4qv3yf5WGKRAGVQc9jtv3P3ukhWDSMve1/3Hwf33ZkqM7Xio9CsGXW8ZN7Wn3zhevFLoau9xx7sT8mAr5Uw/5Uhv29FmGLTvB73fj9h1lSnPHBomtmFC66q23Djl4ZjMQqVNIiTxpycXPMLXfyyn0hFisniLsmWz67GrXPHDT/K46hU//Co/l/xyvGOSvJCUmc1FSIQkolKA6WyUkYRMSHLuu66tN2kbzn4+MJZgsdzmWrGJbljszkVpGxbVkkqhaSAFAhgdm1pbRzctBNtmrtBktdpmVzbC7myU04tVHt+b5d37hzk5X6GldWioxi37fqv5ut353M+kdruJVds5Vwatz93vP6z2nLdrjPJ2cY9Y+SHgrXzKfCfr2sqjpR/8prH+onsn7UD9SJRuzxQnHWjfRuRjJip5iUFHJ5JdRreu8sI0b47JfS8VlliutpxWl6EYlZaBbdtcXW/y4HSaPUMJ5ktN2rpFMhRkNB6ibVrszkaZLyo02wZfr6k8OJ1iVy7CpBVhvdnmxSslFNXk5I0KM8Mx6qpBdVUjFBDQpABmxyZggaKajI5EaOkmE+kIjbbOSkPjsaEYK5bNzFCcRFhFN00aDYuiahG0oKSBAYQCoBlOMoNmB5CIEgsHSEZkvnFhlagcZCSh8dTBEdbqKvm6ykq1TSYWJBWRkUSBmuow++4cAbhRamFjey1CkhggX3LIqZpqeq/5j4UL9zg1WiaZqEPCuF4ribBEJiozlXLUJomIeAsx0w+DfFd6iZG3Wr3xw1Sy3MM9/KTgTp6abdbWs1kB8NhsjqZmcn615iWzuOh9+u2iX0HYz3/FjSP9642Y5N969rBTDGcirFTbLFZuFiqud4qrtsjE5FvaI9y/19ab/LfTyzy8J8tnnt7H7zx3gRevFLFt2DMU5ekDw9jYfPn0KrppcWAsjqZ3qKkGF/NNCg2VasukrZuMJMM8tCeDIAg0VZP//N05zq80MDoWsZDI7FCcumrQ0jsbZItNXV1nLBXm2aNjqHoHy7b43vUy1woKpmnx1TOr7B2J85sfOAg4BdVzZ1dZqLTQjA7hoEgsVOPweAJFNakqGlOZKPtGEhyfumnaORwP0dZNjzgB50bcRW/R7KhOmrysaAzFQrcUye48cJ6AV1muttk7mvDIMX8ylIutvCj88JNuDdXg3ErdaxnbDP2Wt1nSi7/48j/Z3wqDFCibFcf9CJGzKzVvvw9SrAwq1PyFVD9SZifXgH7r6G2N2Iyg2Oq1fvtgq9dd9FMSuNu4nXSmQft+0Pv9iF2/ssLfouV6DLnnzMW1Ji9dL/HCxXUKde2WObtUbTum0Ss1ik3dU5vtpBh2CZ1nDo/Q1Az+9tI6V9cbxENB4iHJIy39XjXnVure94sNHWzB81kpKk6aGAJgw4V8g1RY4l0HhsjFQmiGRSKcJB0NcWJXmj//wTJGp8P+0QQrVRUp4MTEz2QjVNs6v/v1S5xZrjKaivDtywXOrdT5yH3jCILQ95rSr+Wt33zY7nzejNjwezX5k7fu5Peyd31vdnvOds17f9Rwj1j5IeCtfMp8J+vaylTTjUT0e7D0I0Dc1we1Aw0yni02NSqK4S0/F5NRTadNJxWWPJNZP5HSuzxJDDCZjnrFvTum0aSjxDi7VKehOQa3h8YSfPdqkYqi8c2L67zv0AhDCZlLqw3Wa23S0RAPzWTJxWTCssjXz+W5knfSFu6bTHK12OTR3TnW6ypXsDk+leKB3Smev1RgoaQyt65gdDqMZ6PsHUugGR1G4yGwQ5xcKhMOSkynI3znWonRRJiKYqDoNqoBFUOkbVooFkRCMBqSGM/GCEsC51brNFWHcbeQicg6xyczSKJAuany/fkiB4fjhIMBRhIyo+kwo/Gw55lidhzfGE+NknOiuHvJKexb55Pf7LZfApDZccisSPAmwSaJAcbT1k3V0Fax4dskKnIx2SPPXMKmVz3ydvBFuZu4R+Lcw487tvPUbLMnXIPaejZDJiZTaGqeBNxfUPQ+/XaxVG2zUmnz3Lm813bUz38F8NJ/8jWV710v8ezxcf7nDx7iD799jWJd5df++DV+4/0HeHx2yDNO9Xs3uE9x//LMiqeaeGWuxEpV5eWrJTIxmZ+6b5xSU2Ou1KLa0vnqmTzvqLQoKQYzuSin5qusVNtMZ6N87MQ43zi3TkQOEJUllqttTs5XmM5EeH25xmwuymQqxEpNRRQETBtGkiECgsAD02lqbZNwUCQRkliqtvnlJ2c4u1Lje9crRGWR6VyUj5+Y7DqGUxsKkwd3p8nXNOptHb1js17X+OqZVRZLLZKRIHuH44ynIl7bzvMX1r393a/w7p0v/vYD9wm9f964ypMnZnO09Q7TPZHJ/vnlVxg8c3iEhbIyMGHFj16vDbfA3+mTWffziZC0aUvNTjCoPWenY/Pvbz/JslUqCWx+/Aa9Bv33Xz8vo15CYzPSaqvX3gxstq/7vdfPzBScqHgbm8NjSW+e+o2TK4pOvqYSEGC11vbMV3s/5/d0cdUrveonV811frXuXfe24//hx9mVmkfonFnW+MaFdYJigFT8ROgdAADmvklEQVQkyFA85H0uX28TEGA0EUIbifPEbI5UJMhKtUWpaXBsIsmeXJT1usbVQgPBhvF0hJVam0hQYjob4/kL6xQ3iJCPnnDGFxQDBMUAuXiI5YrKS9dKVFsmLaPDumIwkgjxwO4M79w7xP7RBF8743gm2bbN/tE4j8WyjCRDWyqXeo/hZr9pvZ/dTpLW8cnUpufPdvFW+5xs17z3Rw0/dsRKqVSi0Wh0vSbLMhMTE7d8VlVVqtUqIyMjBAJvnfHj3fRZuRvrup1iMxeTKTQc/43e4nizNqF+ZMx2ly+JARrtDqt1FUl0IqLd7XNNZwdtw6CkmGNTSSotgz3ZCCVF58HpNN+8uE4AuFpUGE9FeGRPhqtFmUw06Khcak5iRCoksicX48n9WZ6/WGC+1KJQ1zAtmwABFspNrhUbZKMhdL3DA9NpEAIMJWRCQREEsDpQbemkZZlmx6CumYzEgzRVnYd2pbi0roBoYRph5tZrKJqJLArIIZFms0ENmWRIYiIT5h0TaZpGh3Q0xEQmzLW1JueXW+SKLVTNIigGsLEJSw4p5fqblBTdU6+MJsM3fW024JJTva9t1tLlTwZqaCZmx0YSLY/Y2gn5sBmJ4z/WkhhACmyQehtzpndct0tE7OQceSvP73utQPfw4w73RnSzIm+zJ1yD2npcDCpq+vmmuK/7/7o4NpHilbkSL18t0dZNPv3krKeYUfUO0aDotaLMDMf54NExvvjqkhfr7Eabfubzr/LGYpX/7esX+YNPPugpFL782jJfeX2FX3lqr9c+9Genlim3NH6wUGEyHeGjJ8Y909bjkyn+8y89wlyhyT/50hku5Ru8fK1Ey7DIV9vMDMc4cGCIh2ayLJXbFJoaummRjkrEZYlIMMCfvLrEQqnFdC7KP3hyhqZm8spckbW6RlAMkInKRENBrq47XlcvXS857RSqgYDAR+4bo6IY/PT9k95TVbcYbKomit7h4Zlh7puC33v+CoW6xr6RBL/w4BSX15tMpMOMJSNdkatua47fgPPwWNIrDPsVB4lwsMuk0y24/cqTTz027alpBs0v1xPj6YPDjKXCXMw3Bias+NHrtdG7XNheMdo7jn4tNTvFoPac7aTV+OHfxp2SoX5yZycEx2b7706eeg+Kq90uyeG/jmyHoNrpdvQzMwW8lpr5XS1vnvaaoD5/YZ1iU2Ox3KbY1Ls+5z833BSsZ4+O8XMPx28x3QZHrfXx+ydvSVPqFx/t308X8nUU1UkBi8pOethUOoKqd8jEgp5ixVXYFZuat5yheIiGZnJiOsNEOsprC6ucXal7bZHfu14GYDwTpdgw0E3nu8MJGVkCs+OkeV7KN9g/EuNKoQm2zWOzWUIS3Ci3OTaeoNgyeGxPlo/dP+Vtx0vXS3ztjVXqbZNEOMgjM93nXkXRu7yyNvPV2m4C1CD4f5/8xFjv76W7zLdjW81OFWE/KvixI1Z++7d/mz/6oz9iePjmQTl48CBf//rXvf9blsWv//qv8x/+w38gFAoRiUT43//3/52f/dmf/WEM+Y5xp0/hb6fYdKOJrxYULx3G/16/5eRiMksVhcVym0RIZPfQ4JsRSXQUJMuVFvma6ilU9g3HnLSZnjaSQSlG/uSYfsqY3bk4u3MOAVBsahRseN+hEebLbRJhkZWKwqV8k3QsyL4hJxnnzKIjpVRUg1Q0yNWCgiwIBIAPHx2j0tbp2PDajSpnl2qUmhpRWUKSRI5PpXl8NkNTs5kvNrEkaBkmiWiQiVCEsCxytdBkTy7OSlOnpZtoloUUEDFsCcW0qWodWnUNAQhJKumIzIwsodkgBAKoRgfbsp3UokyY4VSYXCxEo22Qjoe6FB3ucelVegyCP/XHVby4RsJLFccbJhYMoBiWp15xW8P8bWW9c2SzObwVidM7x7b6u51t7R3PPWXIPdzDDw9b3WxuVsi5KTuDirxBy+7nm+K+/pmn991SaGRiMkfGU7x4uciLV0ocHk/y4eMTzAzHeXgmy3/57pxnqvjh4xNerLNrRuuqXD54ZIz5YotiQ+O/fHeOX97wEfnK6yucmi/z/6qp/LOPHuXYRIqjkwlevKzz8rUSUiDAuw4MeYXOsYkUc4Umn3vlBiOJ0EYanMaZpTqFpk7L6NA2LORggIlUhIl0mLPLdSqKTiQkIl1aZyIVJh0O8s79Q9jYPH9hneuFJrW2wXAiRC4e4thEkvlCk8vrDSabYQQBXluo0tY7fPDY2C2FelQOcG65wexIlId234xHfe/BYf7m0jqRYICH9mQZ2yi2LuTrfOm1ZUqKzoeOjXmtOV0GnI/1N/3sd3x71REuGbUZCdAv7rja0onKIvnqrekp21V7uMtNhKS+xWgv/EqCXk+OnXil+D+7Hb+QnapXtlMY9bYgDTKS3s7Y+xXzfrJmp+MfFFe7XZKjX6JL7+t+bHb92kzB0zsPXNLRVaz0O6YfOzFBUzOJhcRbPreZAfKg86jX/2Or6OlcXPbadtxkIHcMD89ku7ap2tJ5LVNBwGKx0mbvcIx37ruprHHIBZNoUOT//O4cy5UW900laRsdnpjNsWfDLPvsSo1626TWNjA6Fk3N9O7vFsotig2d9x4eYSgR4WcfmgaclriRVLhr3vR65PTu37MrNf7k1aVbWqd2osDY6rP+uXzz9ykycM6529J7PAYt860kX37UCZRB+LEjVgCeffZZ/uzP/mzg+7/7u7/L5z73OU6dOsXRo0f5wz/8Qz7xiU9w+PBhjh49+haO9O7gTou+233qXVNNT+nQm+7SD46iQKRtdKi2TXZv4/MNrcNKrY0YEDg2mSIsS4ynIxSbGhfbja42oXxNpdbWulKMBkXq+gmXsCx5ChnL6nhRzODcIJ5eKKNbNq/MlXlq/xBD8TDPHBrm/EqdoqLy/DlHYhgPS7wyX2E0HWY6E+PR2TSaYZDcnSUUDBCUAuiGxZmVBlbHoqQYtDQTo9MhGQ4iiBASBY6Opyg3NRIRkZoSICoFUFWLXdkwccmm1YFSvUOgA+m4gN4xSUVEDo0kWKy0SMfkDYNck91DSYYTIa6uO/GTbc3CEG1P0XHzuHQrPQYRHb2pP+DMuZpqslrVaGgGTc1kNBX23nOOo0kmKA0kMnYyhzebr/1awXpb0Hq3dTvjebsqQ+4RPvfwk4BBng0utjJMvN0+9s3e61cwPTab4/xqjfMrjS6FzLGJFHuH45ycq6BoHW9cfjNa11z3YycmKW2QNq8tVAjLIp94eJpfeWov/6+aylKlxR9++xq/9exhPv3kLEfGU/xgocLJuTLnV2ocGU8S33jY8dy5PF85vYpmdtiTi/PwngyHx1OohslcqcW1QpMra0325KLszkUpNDTSkSACsFJ1PFf2DsfZOxJ3SI7RBvdNJSm3dOf3RO9wdqXOa4s1listCg2d4UQY0+ywKxv1jC2rLZ2Tc2V2ZSIsV9uUFR2hAE8dGLl5Iy8IFBq6E0UsCF5ayhuLNfROh4f2ZLsKaLdIbGg3DTrd4+IvzgZF47pFRK+ZZj+4qg6/senZlRpX1pz9t1lhs9ncc5frKn22+rx/LvcSEDsppraTvONf107VK9vBVglB0J8saqgGr96odo293/j8ShzXhHa7499MldY7zt42r+36yvjRe43abjtIOip3+Qz5CeSlaptqq3s5fs8gv4LE/euPft6ddVI1d2ejnlqst12ooRrkq21PiQd4JriDoqen0hH25KIoqgmCQCwkegqLfiqcxYrKG8t1KoqBZtr87EM3090c8jvnpIgVmhgdi3fsSlNu6iyUW/yjZw5weCyJjU1ECjBXUigrJkfGEyAIHBpL8Nfn8xwciTMUlxmOyTRUw1PA9aZw9baUueS6X63zCw9OsVBp88RsrstgervY6vdqq7a5Qa9vNo4fdU+Ttxt+LIkVgPX1dRKJBJHIrTdif/AHf8A//If/kGPHjgHwmc98hn/7b/8t//E//kf+3b/7d2/J+O6m18MPq+jbar39tvHgaBwxIGwZceti33AM07JIhG8qVPwkyMX8TXJlKC5TVlQu5RvkorKncAHYk410tQpdLSjcKCmsN1QOjiUYTYQ5NJbgYr6BIMBaQ0UKBHj6wBBhSeT714tO7/cbqxwYjdM2LAAem8kh7gtwo9RCEKDU1Di9WOW1hQqxoEguHmEq4xAPyZBETTMZjYf42tk8pYZKWBYZioXIxSQkUcCywbJtDCx+MFehpRsYJui2RUgMYCNQbUNHADsYYFWxEG2bC6sKqWiRsCTS1DuUFR3N6NAxLb5/vYiqW7z38BC7MhHmy+1bVEa9x3JQwe43/nUVK+7rxyeTVNsme4einmKld9mD5v1OEnZ22mpzOyRJ72cGrfOtTADqh7cr4XMP93A3sVk0sovTCxU+/8oCn3xkuqvdYitsRcoMakPqd/Oaicl8+snZrmLQff2B6QzX1hUWyy1P4dDPjNZZxgyHxxNcXG10JRr9s48e5Q+/fQ3LsvnmhTUurdWdlpvj4zwwncHGpqEZ/MXpFT56Ypxnj45RVjQ0wyIcFGnrHZ7cN8RarU1JMXnXvgiJiEQkKG20COiMpyO8a2+OUwtVhmIyD8/kvH3Q0js8MpP12gZcv4/5QpNYKMA79w2jmh1OzVVZrWm8cKHAeCrCmeUaz19c5+hEEll0lDVHxpNd+8h9+jydjbF/JO5F3+7JRT0fmd4C4Nnj415R7ZJJ/YqzftG4O4FbRPoTVo5NpAb6rGz3CfVWRTls33/DX7heyNd5aHdmoKJlpx4Ggz4/qGVmO9gsIchFP7Lood2ZrgJ/0PiOTaRoqmZXobzd7e1XQLv7bjND4Z34ymyGrQrdzZQzLjZT0fg/74989kc/N1SDkqLz7ctOKlJvW5Gbeua20iXCQQDPM6WXzHLPmZevF724ZcF2PJU++93rPHNolKcPDpMISbxwcZ3VWpsDIwkOjMbZPxLj/GrdeYDaoxBzVWfrdY2yopONBvncK4vMlxSeO5fn+GSKlm4RkSUaqkWtbXBlXeFTjznKlKF4GAIBLuWbt8Re95JVg46Dv0Xw5x52ltvPYHrQ8dwJeonhQaSo/3frdgyf7+H28WNJrPz5n/85L7zwAs1mkxMnTvD7v//7PPzww4BDuCwsLPDEE090fefJJ5/k5MmTb9kY7+aT5jv1dNiJ98lO1ttvG3cacRuWJcZTEYoNtYtEcUkQy7K810eTYa6uN2lojhrFVbgcm0w5rT6+ViE3UciybeaLipeAc2gjRtn1bCk2NfaPxtk9FOX1xSrRYIAzK3VenSsTCAhEQhIPTGc4OJ4gE5FZb2jcKDbZlY0TFG1EMcDrSzV+cKNMy7C5byqFKAnMZKMEBYGWaRAMAgEwbZtgIIAA5KIhnj48QqtlMpGNslRWiMgBzq5UickBao02ohhgOBni/EobkQ7xoMCRqTQX8w3OrlRRtA7nlmu0jA6JsMxkNkI2HkESBUotHRQd1ejQ1DrsHYpiWhYLpSZFRQcbRtNhx1Om0vLilzczIZ7MRAnLuvPaBvHUO09cE2H/nNhsLt2N86RfUtXdUnf8sBUjb6Wfyz3cww8L27nx+/wrC56x6U6Ila1wdqXG18/mObNc89p1YOfJII/N5pgrKV3qFP/nK4rueYY8Pju00S5086my+/Tzt549zNmVGq/Mlfizk0s0jQ6X8nV+7+89QCYm89wZp9BRtA7PnV3l1HyFAyNxfuaBKRqaU2h+7uQi+ZrKew+N8MGj40ylnVagb5xfw7ZsXrhc9JL5Fsst/uL0MlcLDSJBySv+/QVlXe0wloxydCJFU3PanbJRmbZhMZV24lAv5xvszkWYHUp4aR9+zAzH+c0PHALoir71K0r6PSX3t9Os1lQe3J1mIhXxiIo7NXd1t7U3YSUTkwf6rGy3mN6qKIed+W+4y3JTXzZL2thJgTdoewa1zGwH2zmnBxEmvf4mgwiPeFjqG5e8U9xpO89OsdWyNlMk+F/bLMa5t52o969L9g1qe3GX4bYfDVJH+P/tehq5bUAIUGs57TmuSfiLVwpcXmtyea1Jsamj6B2ePjjMI7OOMuX5iwXi4SDxsNRlBv3h43HPjPpTj+yi1NK9xJzVmpMMNpkJU1RU7ptK9t1Pvftrq/PY3yK4Umtzbb3Jybky7z00QkM1eGh3pi/ReSetN9u9tuxEhdLP8Pnt5sfyo4S3PbFSLBZpNpubfmZqagpJcjbl0Ucf5Vd/9Vc5fvw4zWaTX/3VX+WDH/wg586dY3x8nELBmWi5XK5rGUNDQ7z00ksD16FpGpp200CpXq8P/Ox28HZ60ryZEe12sFMVwmbf2XR8Al1GtofGEpxdrlFTdNbqKpOZKI/OZLlaUG5RqLjLMDoW371a5NGZrPPkrq6C4Cgw3M+7rTBX15usVlosltqkYxKzw3HEAMwOx5lMR1F1k8NjCV6dL9FQLUaTYRIRkVg4SEgWwBYQCHD/dJJKU2cmF2F6JE5dMREE2D0UZTIdpa4aGJa1YdYFluXc0YYlgfWgRrmpsW80zivXK6w1dOrtDk0zgGwLLNY66BYs1wxenqsiiUGsjsVsLoFmGUimwHrb4MRUiqcPDBEP3zSAvVFqcb2gIIqOga4kCswVFNZqKsmIxOOhYcKSeUv88iAyYVCbUO+xHDQnBh3725lDve8NiocehJ0kEe1ke3pb0O7hHu5ha2znZvKTj0x3/d0pBt3sHptI8fVzeb746iKRYIBffnL2tpbvV6dMpSNdiT5upOhfnF5BNy3mSy2PxHGL5a+fzfPKXJkj40kem80xlY7wxVeXqKkm51Zq/M5zF/iVp/Z6njJN1eTffXOBlarKhZU6i9U2//MHD9FQDX76xASX1prcP+WkSezKRPjOlSK62cEGYrLEo7NZNMPm7HKdxUqLWttgOhvlwGiCz71yA82wGE+FqbQMHp3NMJaMeD4sANlYiJbeYanaBkA1LM4sNbhvKrNl8olfbeB/Oj3oKbm/nebpg8M0NPOumbu62EoV4Y7zdoqm7bSj+Q183eJvuwX2Vuu4XQxqmenFZuk9g97v/Qzs3KD2bm2zfznbHWsvetU9g5bT2/7kL3Qrit6V/NPb5uNXKfj/3bsc/3gris6FfJ2LedO7Frnk3onpjDcet62o16TXH0fujz0Hpy3o5etFzzjaVZe4ipWW1uFaoUkoGOiKwh7kFeP6IdnYt8Qvuz4wLqn4S75jUWzqvHStRABYqanMD7W8/QlQaxucnCtzNRYkLktcW2+yXG2TiQYpt3QOjiZ53+HRW85nf4tgIhzks9+Zp9jUyNdVT+WzVG3fQnS+Fa0325n7vXPwrRjXnajcflTwtr+z/5f/8l9u6pcC8O1vf5vdux3Hjl/+5V/2Xo/H4/yH//Af+OIXv8gXv/hF/of/4X/w0n9M0+xahmEYiKI4cB2/8zu/wz/7Z//sdjfjFrydnjS7JIU/trgXmxWxg4rQLeOa+5jN9lvXoPFJG4oNRTdx29kHKVTcZXz3apFaS+f7c2We3DfkJeC4SgrTsjwm/cHpNKloEM3osFpTuZivI4sCh8ZTvOfQsJcmFJElTMtiKBai2jZYqrS4tNJkvakBNqFgAFkUWKqqnJjOcHA4zkqtTTIcJBuTaekmuzJRxrNRsOB6UXF+MJYbvDJforHRRhSPBEmGgjwxO0RNNYmIIgfGYvz1+VWwA8wMR7myrlBsthlNRsjEQ6zVWkSCAdKJEIphUWu3kCTHbDYaEnl0Jk3LsNk7FKWmmQzHZeaKbTJRial0iMvrTSotjeF42Gsfcg1gVd1kudrqUrLArW1Cg47rdsi1rebQIPLjTj1Stvv5nZ7Hgzx/7uEefpJxN8zzTkxn7kipMuimMhOTaaomhYbO64u1216+uyyXKPmzU8vUVQMbmw8fn/AKivOrNS6u1D2iZGY4zrGJFGeWa5yaL3N+pc5cSeETD0/zL3/mPv7wW9cIivDGUpU/f22Jw+NJBBz/gE89Os0Xf7BEtaWzUGrxX16ap6xoZGMh/tEz+72knj97dZEXrxQxLZtgQCAUFImHghydTBCSBD50dJS22eHgaJKFsrLh22IRC4lIgQAfODLCSlWlbZg8NpNhJBX2VCOukuSZwyOen8JW+95VG/zV2TwXVhscGU9yaCzhPUnfPxojFwvRVE0OjSW8FoK7qVIZdOx6X+tVRdxOcbIdjyC3taC3vWO7CTrbISd3koYDt7bMDMLttLZsB/7icbsF2+1ca+6G30yvumfQNm/mleOSr3Az+cf//UHf7V2OH/5kLFeN1ft+v5ahQcvyr9Mzl944N3o9jV68UmCx0uapA8Oko7JHHLrtN36SB+Dx2aGb7YfxFk8dGCIVCVJWNE4vVFittYltpAz54ZI2u7NRvn254JHv7ngbqsErc2Un6jkapNYyqLUNJFHA7NiMxMt852qR6UyEKwWFx/ZkeOrgiOcn487Dn394iqVy21Gs9Kh8tkN+3k3s1ED6Xftvjdt+M3AnKrcfFbztiZV/9a/+Ff/qX/2r2/5+OBxmfHyc+fl5wFG3AOTz+a7P5fN5JicnBy7nt37rt/iN3/gN7//1ep1du3bd9rh2grvl47CT5JVerDVU5osK5lDslujdnaTK+L+zWm3TUA1PbeKiX8E8KFZ5NBFGCgS6FCd+hUqvyuXRmSzfnysTDQY85YprXuvuo8trdeYLbaZyYd61bxhJDLBWV1HNDg3VJBMNcnapTkNzxjgUk1mstPjOlQKCAA/vySAHJYoNjYAQwLQ7fO30KrW2wZ/9YJlnDo94ZM/1QoMLK3XyjRC7cjGW6ypSQCAdkXnv4SHWagqX1xpkYiKJsEw4KFBvG7Q0nZWWyZVSmbYq8NhsGtuySYZFcvEk7zs6RjQoUmxqaKbF8YkU80WFimKQiQVJRWTCQZFkVGb/xj6OR2TW6iq7hwQyUZmlqvNj1VAtGLtpUuwawN6oditZ/HOonxrjbkUf++eQ/+9m7+2UAHmziE/X82e7HkP3cA8/CXirzPM2K6o2u6n8pSf2IEuBu6aGOTbhJPq8fK3EH33vBhOpCCemMzx7fJzHZnP8znMXeG2hwv/n65fYPxLnp++f5BMPT7MnF+XCap3r600++93r7MpG+fuP72E8Feal6yWG46GbRdJj03zmPfv5xCO7+eaFNRbKCrmozOdOLjJfbPH5Vxa8pItffmKGpmrS0pwnyfmaxkJZ4cq6Ywh5fFeajz8wxXPn8jy8J0vb6HiKlbZh0TY6fOX0CjYw8WSUDx+f8Npb/EoS99jOFZp86bVlsjGZkWSIidSt5sQumfTqfJkra03mdqW8ws7xTOhw6kbFKwZ722m2mke9x6Q3DtavJtoscad33mxltHy76G3deDOKn52k4ewEt9Pash34i8cvnFy4ZexbeZG8GdsyCL3qnp0oi/rFjfdL/hn03Yv5Rl9DWfezmyVjDWoZ2uyz7t9+bUKDPr9VuhLcSvIIgkAmJnsRyPW2iaIbLJRbPLEvx8O7s1zMN7CxPQXgR+6boKLo/OWZFeaLCsWmxjumUixWWhwdS3jLrLQMT7GyXFH5wY0K37lSoKVbXCs0aZmWd11z9+XPP9T9+7AdddMPK5EHbj1eb0VL0HZVbj/KeNsTKzuFZVmeKgVgZWWFGzdusHfvXgASiQQPPPAAX//61/mFX/gFwFGrPP/88/zar/3awOWGQiFCodCbO/gBuFs+DlstZ1MCx4aOZVOoa55CwcV2k1b8cNUmddWg0NS8whz6e2IM2ga3APbiknsUKm40sEu6hGWJJ/cN8d2rxS4vFj9xc2mtQaHZpmkYYEMqKiMG4Oh4ivCwhNlx/EPcC++ZpTovXl7n2lqDaEikUNc4NJ4kG5fJxCUaLZu/99g0L18tkQyJXFpt0rFtdKNDLh4iHg4yEg9zYbWOKARIRSVissTFfIMbJY1Su0NVVUiEddp6xyFW9A4dCzo4Yp1rhSaZWIhEOMjDe7IMxUKEgiIP78lidixevl4mHAqQjoi0tA4HR4Pk68amJrapsIRm5jAtizGf6sM7RrkoCLevAtmJYe0gE9t+fi/ue28XRZgfgzyGftgmuPdwDz9MvBVPymDzosotkr95Ps9Cpc3H75/sksRvpYbZ7Aa5nyLj00/O8vpijdeXKvyLvzzP47M5Pn7/FDPDcX7lqb384bevcWGlxoXVOuGN6E43pvkLJxd4db7Ci5eLSGKAn394iuOTTgJOLCR6RZIbt1xXdJIxmRPTGWLhIAtlhbbR8QrRZ4+OcWQiyXQ2xkO7M5y6UeHyWoN0VEIzbJ49OtZVdP/Tjxz1FAIfv3+SWttgvqCgd0yiUoCKom9KBDx3Ls+XX18hKAbYOxznvg3SZKna9lQ0xyZSG4a2HaYzER7ak+3yfjg2keTUfMVLHtrpHBoUH+smEcHNJ/ibqQh6nwxvx2i5H7aKS+6XCHSnRVnvOofjId57aHhbaTg7XfZmuBuxq/0Ktp20SvWOebN2tZ2SdrB9dU+/9idXJfP0weGu1pve+TXou4MMZd3vuCqS3pSbfvvIVYN94eQCT8zmWK2pni9UbzuSP4HIn5DTL/HIbatraiZ7ctFtkTzHJlIegen6nPz1uTVO3aiwVGlTbOreuez32XFVOteKTQzToqLo1NsmRcWgrOhkYkF++YkZVmsqQ5rBVCpCIhRgsdImKAq89+AoTx0c2ZLg3A6J98NI5Omdy71Eyps5pu2eBz/K+LEiVjRN493vfje/+Zu/ydGjR1lYWOC3f/u3mZ6e5hd/8Re9z/2v/+v/ys/+7M/y4IMP8vjjj/Ov//W/RhRFfuVXfuWHOPrBuFt+LFstZ7P2nNGk00vtV4DsZNn9vCVGE2EKdY16u1u14rb/FBsqFcXoGsug9eRijkFVpalhWhbHJlJdpEulpXelCrleLPuGY7cUtU/M5khHZEpNlYba4Y2ldWJykFrLZPdwlEbLkR/vzsUdksWGdNTpy1yvq6imxV+fWyMXk8nEZQQBMtEgE6kImViQoUSI71wpcmmtibla59lj40RkkZKiopk2w8kQQ4kwx4MB3nNomGsFhf3DMUJhCd3osFJrUVM0qi0TK2BuKFZyyARIJWUOjaVAsL2Wk1JT4+xKjZAYIBmREUU4t9JkNBXuG5VtdixuVBQaLZOj40kALq01wW45SpOWjmlaSFLgFpLNv4yt0nx2Yli7la9L7+tvJe4GKfJ22I57uIcfFu5GYbUdbFUgnl2p8SevLlGoa0Q2yAw/dkKe9Ftv7xPj33j/Af7NNy6z3lD505NLfOtigX/+d49xYjrDbz17mG9cyLNU7o7udL1aZnIxXl0oM1dosVRu8/pijWxM9jxYMjGZL5xc4CunV2lqBhFZYrmiMpmJMJV2/FCeOTTikSZfeX2VoXiIsVTYM2WdHUoQD0uko/IthaufaDm+8XCiqtp8b65CLCRRUBzzyFrb4Cuvr2DbNoIgMJWOMBwP8f4jo0ymI4wkQ11P33tJjJbeYSwdYWY4zsxw3FOmnF2peyaX46nIloasLhHkmnG68bHuMUmEJGKySCQY4LGZDKWW3jeiufeY9uJ2ScKdxCX3+87tnD+967yYb/D0weFNC/atCKA72Z47we0SF37sxCh4M9ztgvpOiOedzN1Bkce9r51ZrvG1N1aZLyrU246twmatcNuZC25b3XevFpnIRHh8w8qqt8XL/Y5LwE6lIwzHZJ6/uM7H759kIhVBMy1y8SBPzOaYycX6mut+9MQ46zWVUkvn4T1Zzq7UiQQDfP77i1wvKoSkBYdsaWoMxUMkIxLllsE7ptI8dXDEU7XB5v5cm+3v7X7mbmMQqez+/4cxph8n/FgRK6FQiP/0n/4Tv/u7v8s//+f/nEwmw7PPPss//sf/mEQi4X3uYx/7GH/8x3/M7/3e7/Hv//2/5/jx4/zt3/4tQ0NDP8TRD8bdevq+1XL6tc/4v3toLMFaQ+3b8rOZegD6e0v080jZaiyDtkESAwwnQiyX23QaWt82H9U0uZZvkowEOTaR8sbhT6rJxWRqqsl9UykgxXKlxVQ2Qq2tIwjw8pUSQVFAEAQiQYHTizUOj8dIhGV+YSNm7Y3lKoW6RjYuYwvw6nyFi6sNVKNGMhLk0HiCDx8fIRoUUbQOe4ejRMNBdulhGprF7myYG2UVUbDIJkIMJ0LkmypW22C+qqBqHSotDTEgsX8oSzwkko2HmMhEmF9XaBsmNdXmletFxk+M846pJB3bZlc6TCAQ8FKA/JHILkqKvmFq2yQoCt5xPL9aIxEK0tA61Nq611LktgH14k6Ign7k2WaEWr/X30rcreQi/997uId7uH3crsHksYkUv/DgFJfWmwxvtID0Jqs4JrIljoynutJtBpEn/vX+5ZkV/uzUMkcnE3z6yVlOTGf4vb93P9+8sMZnvzvHXKnJ//LfzvLvP3E/M8NxT1ruPrFerbVZLLeYzsZ43+FRL4J4Kh3huXN5vnetyMvXSzRVg7F0hCdmc5QVjbqiU9ctFksKr96okAhJZGIyP//wFBfydaJBkfcdGeHgaHdaRkM1vBvuYxMpjm/8Zv7lmRWwLKazUSLBAFPpiGdKGQtLXFht8MJFx8R2vqjw/IV18jWV/aOJrmhSd9yHx5z1ulGsbtvCxXyDg2PxW2KO3f3cr2gaBJcImi8qXfGxfu+Sy2tOUMJ9u5yI1n4Rzb0GnduZd9vBZgXwnRRut7vOQdguYXI7y+7FnSpydko8bbY/d7Kv73ZBfSfE81YGwP3G1E+xMkgl4ipWerdnK5XQoH18ZrnWFTG/VXtaLi7zwsV1jww/PpnCtqHYMFiptREQULQOL18vcngs6bUGuQobF+8+MMJcocmFlTqX15sb9/nwnkNDzA4lGE8593a2bfPcuXyXqg26z4OdqJu2c2zvdrvQoGPV2xK0FX6YbUxvZ/xYESsAx48f57/+1/+65ed+5md+hp/5mZ95C0b0o4PtkCebtfxsVmC6ypBEROxa7mjC+ZxpWl1GqP6xKKrO6zWVg6PxLnVFr1JgNBHmxHSaS2sNyk2VvzqX50NHxwjLEqPJMMuVFo0Ndn2trnpkkL+odVU788UmDbXDzFCUBzYk4Gt1lekhR7GSjkh87cwql9eanF2psn8kyYWVKslIiGDAZqHUIhGWmcqE+PCxcdYbKm8s1rhRanF+tU5UlghKAd69O000HKTaMrBtODrhXPjPr9ZYKLVYqSgslFWamkFDdVqAVN3CtEEEXl+ukQoHyURDhIMiFhavLlYQLCfK+a/OinzomMjuoShrVZVKy2A4vrG/IjKqbnJupU46IjGZiXotPqPpEI2W6XmBdCybdETaUKwEmUo7ipVBRMCdEAW95NmdeAP14s1oubkbpMjbtXXpHu7hrcTdulHbqqDajHj5uYenvWJ7LF3r+r57439qrsKVNaXL7LHXZLTfugUE6qrBqfkKa/Wb5rQ/99Au9o/E+V/+21kUvcOXXlvm4ZmsNz73hvfkXJn/9toKoiDwwoU13nN4hPcfHvNULG29w7mVGguVNqeXakRlkUhQ5FPvcYxqv3k+z6X1JprR+f+z999Rctz3mS/86e7qnGemJwckIhAACYgARZGiSEkUJV6lVRZFHVmW7b1evb7Hx9JZy9q9d49k71pnvel6g73rd3e9e96VZCp5SZkCJVEWKUpiAEikGQIgwgRM6J6Zns45vX80qlBdU91d3dOTgHr+mZnuCr+KU9+nnu/zMBfNMLuS4c1QknypJK1DTPEQCwS3zbzKA+Hc9RjLyRwY4JVrEfo9dtw2M2/bVX05lcwVecuoj0gyx0N7q/vgA3cNSIoVsUCT+2IcHvJK/jBP3DfKbDTDqekI3S4Ll4LJVcaaPsfqRJKXri3XeKPI33aLShtlfKwaUaPmX6Hl3FqLgqRRAay2XC2pMmqxxFquq3r+M4cGGycRad0erdhoPxS1grJR20Q0na+b9KPlvrPW4rXRcWrn/lmv3Qyq15vPYZGusccO9jMbzayKTm+2Xc2MmsXkNPGY1fPkkF+3AaeFmUhGilcWPWOgaqArqk6mRtKqrUEiZqMZri2nWYhWlfuC0ciw385kOMWA18bxMT8zkaqCcEe3Y5UvjVzF1UmFVqeXpzwGzc77eufSZrQxbQfccsSKjrWhGXnSimGoHDaLQMBjZWo5hWA0Sga44vquriSJZwocHfOv+u70QpJwKs/kclIiSkDdb0UkB56dCEKlwq+vhdnX56bPY6PPY+PImA8qkC2VODsZrt5c9/RI2ykqZS4uJJlZSTIfdRFNF8BQNakd8zsReqqJNo8c6KXHZeXAgJM3Q2kuh5IsxFaIpHKkc0XOzcfYE3DhsJg4POThnQd6CSdyJPMlwskcV5dSmIwGPnDXIJFUgXK5zNnZCKVyhd0BF0eGvVxbTpPKFpiPZzCVkSlWspiMArsD7lWKlb0DVXXWlcUkdw64iWcLjM/FuLKUIpLKMup34rCaOTTk5cpSSlKjiASU3EhYJCL29bmIZauklGA00udf3QJULJUJJbJQ0eabovX7TrbJrEfLzXqTIrr/io7bBZ16UNPS8vPj8SDn52KSqaGW+cUHf7WHauW8asqV+3Z1U6HCTyZCnJ6J8JcvXOWrjx3Af8P/5N8/fpQTE0F6XBaeOj3H9167zgN7enjPgX4evKOq8JheSXN2JsJL18K8MrnCyckV3rW/ql75wgM7axQsP5kIEk1X24C++PAeHrmzn35frMaI8kIwzsWFBONzcX59NUyPy1pTdIiRqaLBrFhUpHIlqFRw2gQp/lTEpWCSXLHM6zNR7BaBD949iNsq8LOLiwRv+KWMz8e4f1c32XyJnhtmr2ommsq3543SVJTpJsq33fI33vICWV5MNisoDg16SWQLNSqaZufNWqG2XC2pMs0MW7WmyMinG/bZOT9XPYc6FWVdD2vdn2uJQIbq/klmi5yajgCr94XYEgONk35EtHN/a4XIW49CV3mOiNeYaCatZV2tjEt5zJQtXmrkldJzSFSmJHIF3r0/AAYDTquJA/2ehiq3Q4NePnV8hEuhOF0Oyw1j7uKqtqd7d3bVpBspt6vT94G1LK9dsk3LMdNbhtShEys6VqGReWyjIrJpgVnHALfbacFjM9f97vCQh1PTEYxUJLNZ8Tv5TxE2i8D7DvbzyuQKhVKZ16YjjHU7OTjokUibMzMRJhdT2CxGTAYDu/ucCIbq+Pf3u7GbjUwu2/HYTMxG08xHMjhtAvv73ZiMBnwOC06rmY++ZRjBZOSOXi/n/FGWkwXMxgpXFlNYzSYmFqIsJ7JcXUqxr9dJxWDg8JCXw/u6sZlNPLy3R1IHlSplroczpPIlBrw2HFYTC9EMd/a7uRiKk8wWODrqp1Q08MKbC8yspDAYK+zucjEbS3EpJPDg7gChRI7Dg26cdh+GsgGfQ8BuFtjRbSeWLRFwWWrSaUQ1ihohJhIRS4kcgskg/QT1iOOp5RQGDETShZrpmhEajb7vZJtMJ5a10USH7r+i43ZBo6JVjmYPi1pafk5OrnBqMsLObmeN8qHZ/Gpmj2ptPy9eXuJZBXkjznug38Of/+wyM+E0//1X1/jCA7ukaNEvPryHSCrPqakIr09GuRpK8fcXFxn223ni3jG+9sGD/PRCkP/64iTTyyl+eWWZcLIgRTCL4378+CgBl5WZlZT0tld8WH54X0BqvTFg4CNHhzgw4CGZK9ZEIo/P34x3vWvEy7XFJFPLKUlpIz8eorJFhGgy2+OySJGmr1xbIeCxspTKS+1Ax3d28ex4kOVkXtpPkVSel6+FqVDB5/DWrKte6o7omyAnZholULRCTCiPv9tm5vlLS6tUNPXOm3aKG3nRLxqGypclesQoixqtrRjNplX7XqkyWm8Tymb7U066taPQaBSBDFVy6Z4xX81+lv8Uz8FmST8i2ilEW2lPWo9CV7lM8RoT48871RqlFVqIJlFVVyiVuGdHF48d7OfU1Ao/OD3HR48O1fiziF4p+/vdUpvQsNfOxEKMlWSBOwc9vGt/gHfv71vV9lQP8nSdH52fr9lfzc7ZTquQ2iXbtByzjfJG227QiRUdqyC24kTSeQSjespPO8VlPQNcwWTk0JCXi8GE6ndjPS76PDbJbFY+TnE65XjE9J/x+RhTSyli6VzNcvf3uylVKqykchiMFV6bipDIFDk05OHuET+7e93s7nVTLFVblBwWgUS2wKWFJJl8EafVTK/PwvMXF8EAhwc9BGMZMoUK7z3Yy3sODZLNFzl93c21pRQem4lzswmmwwkuBRPcv6eH9x8ewGYRGJ+LMRvN4DCbuGvYw1Q4g8EA33nlOvPRND+eWGA+kiVTKHJmNk6pVGJmOUsBuLqc57QlRgWwCEYmZmMM9zi5uBDHbTPjtQns7ffQ47ZiNFawCCYEk6lmn/W4LVJL1lwkDQYkckskILw2gVi2KP2sp1gq9jglxYp8umaERqPv21GE1Ds/O6Eu2WiiQ/df0XG7oFHRKsda38z6nRb2D7gZn4vzxkJslZxdKxopX8S2oYvzcb5x4kINGbEz4OLRg338919OcWYmxr9JXySRLfKb9+/kyKgfv9PCP3poN/0eG28uJjg5GeGlK2GWEjm+9sFDfPLYKHt73fyPX09xR5+TXKHC/A1fArdV4L/84io9LitfeGAnnzg2UjMm8adc4VG54Y9ybi6G1WzkQL9HakGSx7v+5fJVzs1GOTERrCmq5WkgbqvAq5NhRruc1YJmOoLDYuShvQP0eWw1CT/ieM7PxaTxi2/eRUJHKdmfjWaYj2Q4MRGsIWLG52NSK5JIyrxtV49EVKnFzMp/qu2jemi1UGznfFWaAysL/mNjfsnfoRnqFUCN2nXqEUZa41LX2n7UCGomq+3cB7REIKu1C8rb/5TXgVrKitq8sFoxI0KtZUi5THnrm9ry1Vrj1JathJK0Esmj6XCKn11cZNRv55E7q+2H8vbC4RtG1ErvEjlJ2gloIZrEtr43FuLM3bhXKH1YlAlgkyNeqcUxli0wH8mQL5Y5NxtjuMvBlVASDAb+z3fs0vy/Qn6PlcfFNzpnO61CapfUEs+lyaUk3z45o6rq0n1V1KETKzpU0Ui1AlW/kelwmmK3o6Z1pBEaebjI45HrtRIdGvKynEjz5KnrvP9wHz3um+sNp/Kr4pYFk5FDg14CLisYWBW7fM9YNYo4FM/yxnycUCzHdDiDyWjE7RBq0n+GfA5C8SzZYoloOo/PYeHMTJSXJ1dIZPOcno4QzxUxGsBkNDDSbSeSKrC318nxHd0A7BtI8vzFRRKZArF0kf99eo5ut5WjIx7CSQG/Q8Bps/COvS5C8SwBj5WXr4S5s9/Nc5dCJLMF7hrx1ShWBv0Odne5iOTyWIWqYiVRKHF40E2qWEbAyL4+F1MrGa6HM1xdTOKyC1iEqtnvdDhNhQrCjYhy+d+i54waqaJGpgkmI90OC1eWUnQ7LQ0TgJTERz3Co111yHqSHxtNdOj+KzpuJ2gtbLUoWxrhbbt6mAqnawr6dsaqNFsUIbYNfePEBU7PRPh/f3aZ9x3sl4qct+3qwYCBNxZi/OhckGA8zZvBJF94+04eOdDHzoCLLz26j8mlJH/240tcmI8TimX5T89fIZ7OkciV+D/fsZsjo/6ah91vnLjAC5eWMAtGcsUy/+ih3TVvSOXxpnIvgidfm+VKKIlgMjAXydxID3LgtJhw3kgG+kcP7ZYKQSXEAiCRLfDq5Ao9LitLyZxUuNy7s5svP7oPqBZbs9GMtJ/EZCJ5Co9I6KgRH8p9rlQaKEkZteJEWeSK+9BtFaRWFy1vlLWeJ/KfWiAv+kXFinx+ubFwK4qbjUKr42gnJadRLHA9yI+fss1Eq0mx2rKUJtdatqWZMat8frWCW9n6Jke977W2K4kEgPhTrjjr99mlMTz52iwz4TQ+u5ldAdcqIlROkgKSsk1NjaHWmvXytbCkpBNJGznRJKpORONscZqdAVeNubfShwWq54/Y1rm/383ObieJXIF0tsjEQozLi0lmI1km5mOMz1UQTEbcNmHVPbfefUB+j1VTrNSbp9HPVtGqqkR5DBqpunS1ijp0YkWHKpqqVgxUGWiD+vwNl1vHw6WRAkXEM+dDnJ6OMB/N8AeP7JX8VqQUISo1xrSi7wqsTv8Rly/6svR6bBRLJcmTxGCAlVSe3QEn+WKJ65Es9+7wsztQ9TDpc1mxCUaimQKHBz1MhVNkChWGfDZ++WaY5WSGuYgHp3UFs8lIoVTho28ZJFUoc2oywpVQgvHZKKemVvidB3dQqhgl8gcD7O/zcGjQR7FUpsdn4/WpCC6ziReuL9HrsfP/edcdCEaBZ87N4zMYCCVyOK1mkoUS4WQBs8WIgQrhVJ49ASduq4lBnw3BZGJPwIlgMlLsdoDhJkkg/7uVNiARaulPatBKfLRLkKwn+bFWokP3TNGhoz60PAiKypZnx4NSC0y9h9t6b4XVjBLbGWujZYjKk7984SoLsQzffe16zXgfOzzAfbu66XZaefLkdcLJHP/5+au8GYxzdMzP23b1sDPg4k8/cpiXr4V5YyHOi5eXuBxKUipXmFpO84UHdvDInf3SPvvMvaMksgXyxTLlcjXBIpzMsxCrmtUOd9k5PlZVjIhFSCSVJ5ktcG4uxlIyx+xKhtemo3jtZrwOMz3Om74rogJElLiLRJG4/W6rQJ/HymiXk2NjflVPA+XD+Ww0QziZr0nhUbZnybGj28HObmfd4kNJymgpTuTE0MR8HFBvddFaWCgLL1HRIy/E1FpaxHUcGvRK65cX+fLCUtl+pXVb14J6ZIASrY6jlenVTFblaDcWvdXp6k2jdVuaGbM2a8tS8ySST6/2vdZ2JbliZTaauXFdVxVn8mWIKWqiYkXtfBSvRwOGhmoMtSJebj4rJ21WmWmncvQ4rQA110UwmuHVyRXevb+XigG+9co0g347Bgw3/Kl6SeSK+BwWiYg5dMDL59++i0gqz/8+M8svLy9jMRnBYOAz947WrF8cuxxylY6oopOfj8pztpGpcSMV1HqoR5THQIuqq1W0Yry9HaETK9sQWgqzThRvjYrTPrdNUjV0crki6hXU7z/cx3w0w65uB69MrvDAnp6aFKFwKi/FKjutJvq99lVtLXLSIFsoksiW2BNwcveIT1KwDHXZmV5KYzDA+bk4U+EkkRsmtvfv6ub16xHmIhnec6AXn7M6vrtGuwDI5osYTQYiqQKRdJ4z0xGmw2kcVhPnZqN8/v6dvPfOPka67Px4Ikg2X+Tpc0Hee2c/4VSeq0tJFuMZimUY63JgMRv59ZUwE3MxZiNp5qIZBJOBRLaM3Wzi9ekwi8kcgsnIdDjNWI8DwWCk223FYxXYFXAx0uUgmS9wOZjkA3f3EUpmWY7n8TsEisDPLy6yO+BgtNtV428D2tqARMi9W9Z6DrQynRLrrfLI5otSa5o8qUoLdM8UHTrWjkODXl6dDPPalLpPiogfnJ7lh2cXyOSLfPnR/TXfNZPua0E95YP8Ifqrjx3gpWvLXFxIrFK3+J0WPv/ATh7aG+D//dllri4mODkd4fx8jL959Tpfes9ejoz6JRJmpMvOqckwp2fjRNJ5nnxtFpfNDEAiV8BtNfOnH7kLoKZoPzm5wtNn5+lxWVlO5iU5uljwP3JnP584Pkoklee5CyEuheI1ihUlMSJ/Gy4nDQAODHhYjOckTwNlIbGWt7Lj8zFem47y8L5AXQ+CVjxzlGMSvWHqtbpoHasWSb9aSwusjjCWkz5qZIqIjShYtLYCtfqmvBPXoohGRa/W47eWljCt265UzDSaX63gVhqoipC3xin3YbN2JDXSSvx55EZCpnxZnzg+2nAb5SRpJJWX7hewev+pFfEfPjK4yvtJPo+oOhEVK3LyBqpKvKV4jlA8y7WlFDORNN4b98tCqUwwnsV942+AZ8eDvPDmIrlCuerxZLfgsgn85v07iWcL/MsfX2R3j5PlVIH7dvhVzw9lKyPUjyUXp2+HxFsP9YjyGDRSdbWLdv2ttgt0YmUbQkth1oniTYtRbTZf5GIw0VKBKV9uvQK1XkHd43bwB4/s5ZXJFTw2gYvBRE3rjzxWeTmZJRjNcWTUx5DfUbNecbkLsQwLsSzFcpkBr11SsACM+Z3VtqVimS6nmcuhFGNdDq4spfjpxCKLiTSvTa3w6J19VVl6rsyRES+FMtw95MNmEUhm8vgdZlK5Iq9OhskVy/zo/BxDPidj3XZ+58Ed/Hhiif4bbTljPQ48djPnZ2LMRFJcWkhw94iPe3b6CbitVcXKlSVMBvjEsWEEo0CX00y+WCKUyPHJe0YJJbMMeGyYLUYEjJhMMBfJ8NPxIOlCgUyxxM5uJwvRDHaLQDxTYCWdJxTPYjULNWofcX+Jx0YwGQnFq/tLjLgWTMYaIk8kuMRjArVEH9BSQpBaC5GS5NloBYhWZY4adM8UHTqaQ4tB7YEBD5dDqYb9+6NdTlxWgSuLSSaXkqpvuMfnY6uMZttFvbaT/+PwIG/bdXOb1AiYr33wIC9dWyaVLfKDM3Ocm43yL398kY8cHcJtNXPfrm4+eWyUTx4bZXIpyQ9OzzHqt1OhwtNnFgjGskCF12ZW2Nvnxm0143NUly222cgVKyIhIhbtBgwE4xkiqQJP3Dumuq9g9dtwteSQa0vVZCADsH/AXSOHr/qwrBCMZiS/Bq0P0spibK0P4/LCUpxflPqLrQZKCb8WAkALedSopUXt92S2WDe5p9G+WOs+kp+rPoeFw0PeGkNdtenWgxTRikakiNZzbb2NOdvdV52OwZUrFET1XSODVaUaoxUCT9lqpZx2Z8AljUE8v1w2QdUDq55qSUnefOqeYWYiGd69v5c3FxNcDiYkxcpKKi8pVsTpz8/F+Ml4iKlwCqi29udLZayCiWAsy6mpCGdmoggmI1bBSJ/XvmpfyFU69a5pOdol8dZDnVaP7OskOVtv3Outttso6MTKNoSWwmyjircrSymmwinCyZykHlGikXqmXoGqxZj2YjCBgQpz0bSkOhEjg4+M+QjGMtVISJV2JXH5XpuAYDTitplYTmSZXk4Qy5Qk9YaYIjTkd7C71y15z7znYC9Pn5kjkS7w7ZPXyRcqGIwVLgbj9HmtXA4luHvMRyJd5EC/hyG/g3fv7+Vnl5bI5kqMz8U4Px/l4b19fOrYCOF0HipVJVCf24bbJnA5lMRrExj02RnyO7h/V/WfyAeODtdsy5Dfyv94cZqpQpLvn56hy2nBZunikbE+XPbqeHtcabwOQVKs5Eow4LVLipXppTS7A9U2oGbpPdPhNJFUHp/TXI1eVqT+wOplNPteuY563yvbk7Qsbz2gVZmjBt0zRYeO5tBSHLxtV0/DN/gAjxzo4+TUCq8r4o3lODTolQxUX7q2XOMDoISWON5ktkgwluVH5+drHrjlxcCLl5d4+vQcPzw7Lxnbyt9C39Hn5t/+9E0KpTLfOTlLj8u6Sh0i9ywxYOC1mRVOTUU5NRnlzEyMHpeVUDzLK5NhLCYjAY+V42Nd7Ay4pGJEXrQ/dWaeq0tJCqUyNoupphVFKW2X7yPlA/GHjgywGK8axg932VcZOKr5Ncj3byuF21ofxpv5XCi9JmC1AkWtzaeepF8OuUpD7jnTaDqXQj2kpdBa6z5SS8uB5vG/7aATxdVaSJF2THSh9e1td14t87WyD+UKBS2mwI2MpVvZJi0kIFTPtWS2KJ33rRb1TpvAnQMevHYzLqvAW8a6GpqVP358lIDTwrm5mKRYuR5J85l7R4lnCxTKZXb3OEnkShwd9tbsC/E+MOyz11ynzc4nre2vzVRM9bBVCE8RWs20tyt0YmUbQkthJqoOOvEmvxExsifgJJzM4XcINak7cjQqlMW4X7fVpGqSW29+eevPQizDzHKKK4sJ3newH5tFYMjnoM9tq1FJqG2HaIpbLJW5GExwYSHJTCRNKJ7FabPUrE/++/27A1VT2QtLdDkESbEy7Ldxfj7BcjzLc+MhKpUKhXKFfo+Ne3f6+fDdQ2TzRX40HiSRLZDKFfnWqzM8uKebnYGq8iabL5LIFtnd42A5meNCMEG6UGJ6OcVzE0HuHPZRKJYJJTL0Om1cCSd56c0lllPVViW3RWByKcVCJIvHYWbAbSOeL5DKFLlvTzeTyxmi6QJ7B9yM+qteK3t7PdI+EozqBsJww9S428GQf3V7lfxnvd/rfa9cR73vle1JWpa3HhDPGx06dKwPRIIikS3UNajV0j4g9znJ5kt8++TMKlWK3CtFrgpoR7btd1al40+dmSeVrxqMKuOJxe374dl5KWVH7tXid1o4Murnzz99lJevhaUWn0ODXl6+FuZ7r82yM+DgntGbRYLYKiQqXioGcFvNPDuxwPOXliiXy5gFE6emIhzb0cUT947WSP9FHw9RsSJv9WgkbT806JXWmcgWeNuunpoWhUgqj8sqrFKsKP0a6q2rWeG21ofxZj4XaooV+fdKxU47Y1Fr9Wn2xr+Vda11HzV6W95sulbRTNWg/ByaF66toB0T3Xa2t915tczXyvGWKxTkpq71DFbrqTG0jq3ZtGqf1zNqVoOaeg5upv5E0zm+/eoMX3rPXrx2Mycmgty/q1tSrfidFh65s3ovkCtd/v7iIu/a38sXH94jTRdJ5SXFivw+UK+1T42ArYd2yJC1mik3wq2iJtkIGCqVSn0NrY66iMfjeL1eYrEYHo9ns4ejCtGs1e+wNCRimvlFhOJZlpM5KhWkths5mvm5FEtlQolsVZHhsakmDDUapxh5HEkX2N/nXjXGbL7IM+cXiCTzVAzwrv29jHU7667HbjESSRbwu8wMeR017Soz4SRXb6g3RL8RcftMhjI/v7TMgMfKSI+zZt6asUbSLCfzuB0CZ6ejnJuLUChWuHPQy10jPgIua5X0Suf58USQy8EEI34HHzs2Qp/HxvhcjPG5CCvJAovJHLlCEb/dxqmZMNdXUlhMRsxGI+l8CYdVYFfAiVUwkMgVcFnNdDkt9HhsLEazzEWzmI0GcsUyRoOBkS4HJqOBVL7EcLeVQwN+3jLqZTaak46//HiJ5Jw8gvlWNV/Vch7fKtu9He5fOjYfm32evHh5iR+PBxn02xu26Lx4eYlnx4MMNZguksrz7ZMzzEUyvO9Qf90HzEgqz3NvBJmJZFT9QbQ88Iqqi2cnglwKxnnPnf3cu7Nr1TzyNpTZaIbnLy1xz5ivYXH9o/Pz/PdfTlEsVej32rhvp5+XpyIEnGa+8PZdq8Z7ZibCf/nFVaLpAteWkmQKZWxmE59/YAePHx+ViJvlRI5zc3Hu2+Hnw0eHVxWy9cwYx+djfPPlGck88on7RlftW3nbkli01NuHa2k1aIRm89YzOe7EsrXOn8wWOTUd4eF9gbYKoBcvL/H8pSUe3hdg2GdvGuULnSUltKCV9cu3R74/5J8DqtN0YnxbwUCz0XjWQjy1sp1b6Zxpdaxi5PT+fjcXgnH+18vTXFhI8J47+9jR4+SZcwscHPTgtpmlc+jFy0v8+c8usxTP8dZdXVxbSrGczHHvzi7cNjPHxvwkc0XOzkawmwU+c4OkbmZGLRIcWs7Veud+O/NshXN6K4xhLWjlWUhXrNzC0NoO1MwvQp64o6ZKaaagaZQEpGWcgslIIltibiXNSirPvj53DUFjswgcG/PzNyevk8zl+fF4mQ8fHVoVAy35qkQzvDEfo1ipcPewn4ODHskPZFevh129tReNqJh55VqYM9ejGA0Vdva4ODLiI5krVdt1uuwS0TLW42Ks+uzJqM/BaMBBJFHA7zYTSeW5EopTxsCxUR8fuqufF2xm7hry4DQbGZ+LMeyzUix7cZqNLCdzxLIlxrod3DXiUVWsDAccPLwngMt+c/9l80VOX49wbTlVo1i5e8xPIlNgOpwmmSkSjGV4/s0CVrNJOv7hVJ6p5RQGDETSBeKZghTBrGz7UfM/cZqNTK1k2jJ23Uw08yXSTWd16NhYHBr0cnJyhVOTjQ1qDw02N7IVVSkvXVtuGNPsd1pYSuX5yRtBQvHsqtYhrbLtxw4PsL/fzYmJIAGnZVXbD6i/LRYVM6LniZJgEGOaRRXLsxNBXri0hNVsxO+0cnxnF5VKhW+/MkO328pvPbCTv/zsMcmU9tz1CFaLIEn/xdSNhViGlVSBq0tJnDYzMyvpG2l5Vt62q0dKzFDug0ODVb8V0TxS7Y3miYkgT5+Zl1p/QL2dRCRVQvEss9E0qVyJRw701W2vaQXN3to2SrvR6h3RrvFqo1afViB/q/ztkzNNo3yhsammiE4WRa2svxVVQ6fepGtRzDRCpwvIRudtK+00jaZpVQWipsCAmySGstVGuU/UCAi/03KDgJ1ltMu56roX1XpqhKscynuEXD23M+Bi0GvnW6/O8Jl7R/Haq+o7uWJF3C6lN8vsSkbyY0lkCzx58jpXFhNYBVON4lGMfxZj7JX3SvnPRmhHIVJvnk622Kid3532/dnu2D5Vj46WodXLoVk7jrztpt12i0bkiZaYZbHlqFypMB1Or9q2Ib+Dj98zzOvTEfxOM8VyNd1Hvhy5r8pKKk80kyeWzknqDLkqQ23s7z/ch8NiIpOrJgm9eHmZeDqHzWzmnh1Vt/TlRO6GYZ8Bi8nAwUEvb93RI23bxHycifk44WSObKHEW0a7+PCRIQRTlVRR+tXcIRvHgQEv7zs8SDKT5/krSxRLJWYjGfq9dv7Hi9dIFkr8+uoye/pd3NHlxuEU2BvwcHTUt4rgOL6jzFwsTSRZYEe3XVKsiNtb7HGuUqw0avuBm8TDxViWdKEEtG7suploRvDpprM6dGws/E4L+wfcvBlKNjSo1Wpk63dWY5p/3CSm+bGD/Uwtp6hUKozPx5o+CNZTWYjESSSV5+R0hNMNfF6UxbXoeZJWtBOJpI2IAa+NXLFMwGlmuMvO85eWuByqJguZjQYS2QJv3xPAZRV45EAfnzg2Is3rc1j48JHBVYqVmZUUT59ZwCoY2RVwqbb/yAsqt83csNh57GA/mXxpVetPvTagq0tJYpkCo10x+r22VYVuI3PNemhWqDRKu9FaFNSbrt1ipFXIC6h2onzroZNFUSvr1+rFsBYipBHa2e5OF5CNztu1EE9rLfKVLXBATVJYIxKnnpfLiYkgPzy7QI/LWnPdi8sQWwRFwlmuRBE9nT56dAiAvz09h99ppt9jl4ieyaUk3399lkS2ACAZMY91O1eR5/K0I2UaUiSVJ5UrSYoVpT/NuetVAjqZK7KUzK1SjUXT1f8XYtqRlvQmLVCbZyOuiU77/mx36K1AbWKzJdKdhta2oWbtEGuJoW02DrFFpVgsIwhGVRJEHF+xXCaRLTZsLwrFs1Vj2wpMh9NUqDDst9cY4apBTEKyCkamV9KSYiWSLPDqtRUW4lmgTMBl445+N167gMlo4OCA90Ykcopryyk8dgG7WcBoqP5zKJbKN9KOTBgMRvwuM5QhXyxxdSmNy24iky3y1Nk5lhI55qPZKiFmEzAajMxGkqTzYDZVFRU9Tgt3j/r5wN1DFEtFlpIF/A4z/R4rxQpMh1OMdTmxmo1gAMFgVG3V0ortrli5nXCr3b9uFxQKBS5cuIDT6WT37t2a5onFYszMzDA6OorX29pDzVY4T8QHQ3kMrlqrhtYHyFZaglppWfjmyzMUSiXu2dGlSthMLiX5yxeuUi5X+PDRoab99jfbiRa4GEzw3jv78TvNvHpthUPDHnb1uOu+GRYVK/lShUKpRDpfpsdl5cNHBjWZQIqtO3LFinwfyCXtcLMVQ/xu2GfnYjBBhQoH+j2aSRClYmVfn6fmzbUodRcLskaSd3G87ZAwauPSem6pTacm0df62XqMc6sst9NjWOv+a2ednZhnu6Je202nFSviMkTyGm6SOHfd8E4RU8g+dW+VOP7OyeuYTUZ2B1xSe+JfPH+Fv3rhKvlimQ/cPcgH7x6sOV+U2yOu70C/R1Kh7O938/ybi5ycjHDvzuqLUeU2idO+sRDj7y8u8f67Bvjiw3tq7l/nrsdYTubocVXbJ1vxX2kFG3FN3A7nfCvPQjqx0ia2wgNnJ6HVP6IZATM+F+N6JM2I39GWWkEtTrdVTxa17Wm0fXKSZSmRYyGWZcTvYE/AyRsLCSqVMgcHvU1Jgmy+yMRCTFKsJHMFEtkik4sp3DYzb93dTb/XVjMmMdnI56h+5rUJXFlKsZLKEc8UAAMz4WqrVqkEwViKpXgeu9XE4UEPpYqBYzu6mA0n6ypWLIKBn19a4vpKGr/Typ6Ak0SmSDiZpctlY6zbQYUKHrsZj82M32VeRbIo45KVBJd4XETVD7CKZBFMxqaRy1qO21q9TuTkn3xM7Sxru/qu3Gr3r9sBP/nJT/jsZz+L3W4nGo1y4MABnnrqKfr6+lSnP3/+PH/0R3/Er3/9a4aHh7l69Sof+9jH+Ku/+ivsdrumdW6l8+Tf/uQST5+d50N3D/KlG2k47aLVB8FmD6fiQ/8bC3FWUnnevqdHlcCQr1ckJ46N+RuSHaL3R4/Lwv/3F5PMRjP4HWbuGvLx7gO9nJuNspTM8bvv2K36ZvWla8ukciVcVoEKFV6bjq4qJOTFQKPEDLXtgNWEi/yt7V03koDkxIu8wNIi71eutx5Zoua9UY+EaRedKrbXo0DRUkRtVBHU6fVspW27VSDeH7Re91sF8nG3qlj577+aZDmZ4/98x27Gup0154vy/vHNl2eAm+SN+Pvfvj7HXCTNsN/BZ+4d4ZWpCN0uM7/1QK3HldK3SX7/uhhM1ChWWvFfaXVf6dfE2qF7rOhQRaMiUGyTEUmGeoWiGDdcLJdV24b2BJwUS2Xc9vopP40gjkMkT2C1n4WyJUNNJaNsFQqn8sxHUvzizRBj3S7uGvLWTCv6sXQ7LAhGI3sCTq4spTg5FcZQMSCYTBIpkszmOfFGCI/FzEN7eyRvE5tF4J6x7pr9PRdLM+y3YzIacFuNXArGcVpN9Hvs9HlsUotVsVyWtnd/v5tQ3EyxUoYy7Otz1ihWzlyPce9OP2/d1aNJEZLNFymVyywlPQ0VK5FklQiajaTpclpr9qEyLnlqOUUkVcB/I3IZbqp+xL+VbUEBt7Vp5LLSx0TN12StXidyTyH5mNpZlu67omMjEA6H+cQnPsEf/MEf8LWvfY1MJsPDDz/Mb/3Wb/F3f/d3qvNcuHCB3/u93+OZZ54BYHp6mvvvv5//5//5f/jX//pfb+TwO4LhLjs9LivDXdpIoUYPlHLJtBbT0mYyZrE9R/QhWYhleOrMPO86EGDAa5fGoNZvLyZeLMQyLCfzqxIq5O1EqVyxRrHyxkKMH55dIFsokc6V+PqHDtYQDn6nZVVCjzyeWo0IUcr4xf2jHJdaK4a43GGfnZ3dzlWKFbWWgHoJQPX2sziN2rFSO06NEk7agXIb6r2NVzvvouna79qNT60HLXL7tbaqaDVT3ciWGBGd9JKQQ6thdScMjOuRhmtpg6uH8fmYavtOJJXnpxeCzK5k+IiKgbd8THJVh3xcyvE2Grfo/zSzkuKjR4ebGoYr72tq41Mj33cGXPzJPzhc85n8fFGeY2L60YF+Dzu6HRKRYzcbJcXK6etRnr+0hFUwMuhz1ETUz0YzNerFRvev9WqVWa9rQituR2JHJ1ZuI2gpAptNI5q8RtJ5BONqI1qbRWDAZyeSzjMXS5PING6rqQeRNBENXRuRJleWUlxdStbELast76Wry1yYSzC5mCKZLbI74FzVUiSP0d0TcJIvlqlUyvjsgrRfXrq6zAsXFzEAZ2YjfOKeEUa7HMyspDg/F+fd+wP4nNVljnW5GOuq3kDnomnimQLRVIFcoSJti7itYsyxnOgRcUf/zZvtew4NUiyVmV5JcXE+TjJXYi6SBir0emwsxrMIgpGH7uglkS8wH8ny6J293Lur9ljt7atlXYe8VVKtWLEjGIw1XiJKMqvY42TYV1WsSJ91O2q8WACGvbYaxYp8Gcrf1dbTKKa5Xa8T0Uum3phage67omMj8N3vfpdCocAf/uEfAmC32/nH//gf88lPfpKFhQUGBlabtX7yk5+s+XtsbIwPfvCDvPjiixsy5k7jPQeqXhGzKxkml5JNk1teurbM02cW+NCRgZqHcCWqxqpzTC2nVL1PQPvDqTjdifML0ljPXo9xfi6mGvEsFuZum5mTkyv87OIibwYTZAtlPnxksMZLxe+08JsP7OI3H9glfba/3000XeBCMIHXLnBiIih5Fhwa9K56G63cDjkRIhYOygd70dR1armqvExmi5K/gfItd73CQfxdWTwcGqwf3doORJNL8UG+EQnTLpTbUM8/QvxbPo2onmkWqyyi1aJEy3m61gJOq5lqpwvFdgvEZsogcdxqrYbidIlsgdemo0B9kmitRFI93xGt37eDQ4NV42nldT8+H+M7J2dZTuawWUyrzJzl04nE6NRIumZcyvE2Gvf4fIwnT15nOZnDbhFWra/ZvlUqQZTpZW6rwN9fXJQULKLKRTTcFtVyynNMfv9V3s9+84Hq70dmIuSLZbpd5lUR9fIxTy4l+dvTcwx32XnPgf6GrVJbBc1eOuimterQiZXbCFqKwGaKFC3LET+fXUlxZTFJsVReJVGWQ01JI5InYmsR1DdC3RNwcmUxgZEKV5ZSNUa78uU9sr8Xp9VEqQwGA5y5HqNUKWM2GsgUyzx6oBef8yb5YLMIvGXMv2qMD+/tIVMscWkuRixd5Lk3FnnHvgC/eHORmeUUs5E0jx0aIJYpYjRUpDaiPreNo2P+6n41GskWS0xMRRjqsnH3sF8ii7L5ImfnokRSeQY8Ni4sJOhzW0jmixiNJrodAt95bZZMvqoECcazxJLV5B6b2US2UMJmNjGznMFoMJAvF0nmijy0P0A0mcdtNxMVyTO3raoMSeel1p4hz+oY6VVmwb5a4gdYRQaJ0x8asqz6TPl7vfWoGTBrNWWuBzl5Vm8cWrHWsejQoQWvv/46d955Jw7HzWvsrW99K5VKhbNnz6oSK2o4ffo0O3fuXK9hriv8TgvLyTw/u7jY8GFfhJjKIP6sB8motqzNqBaaS+jv29WNyyZIkbeTS0m+fXJGilWWP4iKD/PDPjs2iwm72cgr1yJUqEjS9flohgfvCEj9/CLEN7Bqb7PV3kbLW4OoVGqKinrkg1gsiIqVRLZQ16SymXpDWbgojXg7Aa0P8u0qAOqRU/V+yn8X1yUmPzUbYytFiZboXbVj0CoaESby7zr1pnytRWczs01ASuGamI8DN1OU5O16YitbPayVSFKeI8rlNPu+HSiVH/J1ffL4MLMrGVUzZ/l0clWHfFzK8TYa96FBL586PsLMSkp1fc32rZryTm64ncgWeHVyRfJcmbzR2iNGxIvTiy2RyvtjNJ3nW6/OEE3n8DmsvP/wAGeuR3l5Msx9O7v5048cXnVuKsd8YiLI02fn6XFZGfDa20poahTnrHYfW+u10ygpTeu410uJs5WhEyu3CLR4PWgpApspUrQsR/w+WyyyEMtWTVgboJFKRq4uqAebReB9B/uldqBwKk8onuXiQpy37uySFCwuu4X33DkgmeAGoxkm5hOcm41SqpSxmIy872A/EwtxoMLBAa+qSsbntPH48TGid2b52aUlDg96Ge1yYDH1cmI8iMsm8NwbiyRyBXKlEs9OBPmN+0eJpss1ypsz1yPMRdOE4lmmltO8984+XHYLV5ZS/PLNMMuJDIVyhWSuSKkIBlMFu1lgJZllKpzGLhh52+4AD+/ra6hYuTifYMhv56XLYdK5EqVyhXS+CMC+AQ+JXIlYJi+19lC5qaSpZ1A8MR/DYDCyq6eaKLSjy06qUG7on3KroNm1thZfmO3q2aKjNeRyOU6fPt1wmkAgIBnUrqys0NXVVfN9d3e17TAcDmta57/7d/+OM2fO8Jd/+ZcNx5XL5aS/4/G4pmVvFBoltyghkhvNHuh2Blx89bED0gOo1rdwIrmQzBZYSuVr3urJi8rHj49KZrknJoJcW0zyvddmefuenhqDRnnLz55eN4cGq5G5Pzy7QDpfZGYlw+5el6REUb5tVaoz1N5Gi+NeTubAAA7ByA/PLuC2moAKFrOJPQE3fR6bRBjJI6Gh+rAOqKpbtKg35MtpxV9FK7Q+yNdTAKxVJdKsxUf0WtBybrZSlNTb160Wbc22uxFhooVMacUUupXx10Mjokv+mVyxojZds3NhrURSsza3Zt93En6nhU8eG9U0XT1Vh9p4643b77TUpJWpfd9o36q1ICqPbb/HVqNY2dHtkO6hBgyrTGUxQI/Tittm5vxcjKfPzJPMFXFZBWKZAqdnosxGMlwOJUkXSqtI81Xql4P9ZPMlhrvsq67ntdyzgLpKprVeO83+325ke95WVfWoQTevbRNbydQPtKf6aEGnirtWikkx8rhZKo2WaYulMr+6skwsncfrsEjRxWrTzUXTXA+nmY9nefRAL7PRHC9cDLGUyHPfni4ODHpaSssRE4McFhPXllP8eHyedL7EaLeTIZ+DcqXCJ+8ZxmW3kM0X+fXVMOPzUdLZInabwAfuHqTPaWUiGG+oWPm780F29Tj46FuGa1Q2dfdZPEu2VNKkWAEaJiqNz8X49eVlKoYKfR4bVrMJh9lEn9eG33GDKW8zYaoV0+FGy4P1I3eaXWtq32u9Pjt5HTfCVrt/3W5YWFjgIx/5SMNp3ve+9/G1r30NgMcff5z5+XleeOEF6ftwOExPTw9PPvnkqrYfJb71rW/x+c9/nr/+67/miSeeqDvd1772Nb7+9a+v+nwrnifr9aD14uUlfjweZNBvrxvHLFesvLEQ5+8vLkrJD43GOuyz85cvXOWlq2G6XVbecUcP+wfcdYkFNcXK+HyMb748w3Iqh8dq5thOP/fv6m6YmKQct/hG9pdXl/nVlTCZfBEwYDYZCbit7A64pAShVoxtW/EbEZOUACm1o9Wiey2op1hpJUVDq9/IRhQCWhUr9dCJ9BAtx0/NYPh2NaRt5XpZz/XKodb+Uc9nSb4sLV4qatNvheOqNPFuRbHS47JQqRgY8tsJJ/OSGfmwz87J6ZWmPjXtjnMjFCtbCZ1ON2oVeirQBmAjCxMtxWW7Beha3553almtFJ5XFhMUihUMBmoUKXJk80VemVzB7zDT7apK/cTEmkbjzOaL/PDcPFeXkvS6bfS6rXQ5rQz5bETSBdwOAZvJpIloKZbKXF5M8NK1MMdGfJwYD5EvligD9+zw8/AdAWwWgelIir87M0+2UGLAa+ctY13s73dvmmJBS6R2JxQrWgiIVogG+bSgjdxpB7eCYkUnVrYX/uiP/ojvf//7XL58Wfrs/Pnz3HXXXbz88su89a1vrTvvk08+yec+9zn+6q/+it/4jd9ouB41xcrIyMiGnSetqBjW60FLjGO+tphkV6+rLrkiQov5rXL6H5yeJVMocW2x2uZ6cMhDt9PCSirf9CFcIkeyRWYiaSKpAvlSmYn5OPfv7r7hM+Lh1FREtZ9fOZZvvjpNPF1AqVgRE4Tk8npR9t+JFBG1Y91q0S0up5OFWivFSKNzsNF3W4mQ6eR6tRy/jSTPtGCt6Uxr2R7lObJRxWOj9fzF81d45txCDVEsfnZw0IPbZlaNCFd6qdTbhlYi07WQuI0IhY0gb5TrEv14ul0W/v7CIvPRDHt6XXz9QwfZGXC1/P9iK2IzYsg3myTSU4FuMWgxnW3F60FrkkkrZreiH0u9gjCcyrOcyLKUyKmSBnLflkbFZbfTQrHHyaWFBJlcNQ1IzXvFZhF4YE+PlLgzvXwzsabRNtssAh+8a5CLoQRuq4AgGBAMRpaTeS4F4xRKFXbduBkWK2UiyQL7+90ATCzEoGLg4KAHm0VAMBk5MODlwICXYqmM02bmb07OML2UZDmeZzGR4937exnzO/mtB3by6lQEm8XISirHdNjIcipHMJZFMBoZ67KxEM/T67IyPh/DYTNhEwycurZCuWJg0GPnjWCMwyM+Cvky8/EMlCsMd7nY2+/EZDSQzJcZ9tuZXk5SKhsIeC0Meu0M+Wo9VZqdSzaLwD07bqYfiYoZlyysQ8u5qMWYthVz2EbL6yS0tsK1Mk+r0+m4vfDud7+bf/kv/yUXL15k//79ADz11FP4/X6OHj0KQD6f5/XXX2fv3r1S29B3vvMdPve5z/Ff/st/aUqqAFitVqxW6/ptSBOMz8f47qlZ4tkCQEPT2fXq3fY7LVL7znwk09R3RdkqA40Jop0BF19+dL8sojnGG/MxZlYypPNFTk6v8NGjwzVtQsrxiftFfNgU2xhWUjmeObfAy1fDzKyk6bnxUmE5mVd9kN8ZcPF/v/+g6naJprpyY9sKlbr+KvLxaG2dUPqrNGrbqIdGpp7KWFYtRVYr0nWtfiP1xiwfq5bv1hOdkOxrOX7K9ax1nc2UOs2K62YeLM3Gp+bXonW7tPjzrAcarUet/UPps9TIP6iZB0wzrxit+77Rda/2ndhCqUYKi+dKpVLh+6/PcnTEz0N7A5JSb8Br42cXQ4x2OVfdl9Xa/MT7Zo/Lwt+enmM+Vm0D/eLDe1b5lmg1V95KCp927lFrva91qqVoI6ArVtrERitWtLbKaF1eOJXHaxOIZYstvXmvN022UGQukmWs27HKxFSc7mIwgcEAPS7rmtsh1CKWG21vKJ6VFCvQepuI2OIjKlYwwOnpCKlckYNDPgB+fXmJUqXCvgEP+/rcdDstq/ZvNJXl2YkQ0VQeq2Cky21ld8AtkU1z0TRTyylyxTKnp6NcCsWxm434HBbMJgPRVJHlZJYKkCmUmF3JUKqUMVQMlCsV7BYjgmAils5DGXo8Vvb2VePhjEYDFqNANJMjWygx6LNzbEc3R0Z9CCYjTrORq8tpfHaBPo+tZuz1WnSanUM6Wsd6qM+U0BUr2w+PPPIIi4uL/PEf/zHz8/N8+ctf5s/+7M/4v/6v/wuA2dlZRkZG+O53v8vHP/5x/u7v/o6PfOQj/M7v/A6f+9znpOVYrVaJjGmGjT5PIqk8f/2rScbnY3zinhHNxqbr8TZrLW89xTaXfKnEsR1dDVUvYvG/GM/x4zeCTC+nGfTZ+f1H7pDMbw8Nehifjzd9yym+DZUrVmZXMvxM1qp0ZibCt16d4aG9AaZX0jx2sB+fw6L5LXEj0161N+FKkgk6q1JodJzk7UZ3jXjrvklv1JIhjreThc16K1Y2++3uWtEJ1VAzZUSjdW2UYkXHaqyXYkVsoYSbrYcixHPlcijBmetR+jw2PvKWIUmp57ELvDq5Qo/Lym+9faek2hvw2vj1tbBEOKmNRalQUf6tdv6qKb+anccbic1QrGw29FagDcBGP3C20hKhtdgSi/gdPU7VlJdWMBdNc3UxicdejRCsR9RoIYjWux1C3Jdum4BgNGI1wevXY4x1OxjrcmpaZ7FUZi6WXqVYWUkVEIwGrIIJkxEuLiQY67ZRrhi5d4cfl716Q8nmi1wMJSiVq0k+ItkkbrvTbGQiGN8QxYpgMpLIFgnFsszHMritZnb0OBFMhrotOeLfxVKlZrpmx6/dlph2zolOtrIpibz1PEfbbX9qRemiEyvbD6lUin/1r/4Vv/jFL3A4HDzxxBM8/vjj0vdLS0t88IMf5Bvf+AbvfOc7+Tf/5t/w3e9+d9Vyent7efrppzWtczPOk3YIjXYk9K16T4i981qLraoapeqV9d5D/ZrGJbYJiW9Gv31yhmfOLdDttBBO5Xnb7i66nFbNRIu4TPmD/B9+7yw/u7DIoNdGGXj/XQPs6Hbw9JkF3nUgwIDX3pKvinK7lftU6aUCjVt8OvkArlWx0qglQxxvK4XNZhcRm+VHoGW7tbRCdMLnZit6eejYPDQihVtRrDitJkm157ELTMzHpRapdsiP7ahYuR1xSxMrpVKJEydOcPHiRT71qU8xMrLaSTqdTvPMM88QCoU4fPgwDz30UFvTNMJGP3C2UshpLbbmImmmw+m6KpNW1i0pUqjQc8MQtd7YlpM5CsUyAY+1qedJO2odrR4YxVKZRK7IxYU4U8tJulxWDg54EEwmdvc4JM+QVgpn+XjfWIjz8rUw+WIRp9lMoVLmnft6GelySO03G2W42mzMIpnTCcVKo/OvXRPXdggELfNoXa4Y+z3id3BoyLuuJrO6YkXHVsFmniedMhFttPxnx4MMNTCplS9b7J1fy0Nzq8WeXIEyPl8laX59NUy308JiIsu+fjcP7OnBUKEmIagR1BQrF4MJnjozz94+F6l8SfJVSeULDHjtfObe0ZoWgFb2dauKFS3eJJ0uMjqtWGnXX6VT2CxiR8s1q+bhocRmE1OdwlrULK0qNxqpn9q5XlYZuipSyFpZhvy6Ut4LmpEdW41QkBM0WhQr8nlS2SIYDDitpo4mod0K2OrX/C3rsfK9732Pf/yP/zEjIyO8+OKLHDt2bBWxsrCwwDve8Q6cTidHjx7lj//4j3n00Uf5X//rf7U0zVZDK94LWn0pRKKi2XRaPV7297ulYjsUz9b1SFlK5IhnC0TSea6EknUNaMV1Ty2nMGDQvA/CqTyhWIaJuRi7+5wMedU9RIqlMkIqz8N7e3jdbsZlFZiNZEkXioRTOWyCiayvuo+KlbKmdCDBZJTUP16bgMlgIOAWePpskMVohr87M89bd/cwtZyWtltp3NpoP6uhWCpzMRTnp+NB3rW/F7tNYHopzYDXwqVgkon5GF67lfce7GVPn2fV+OX79e6Rm+eC/Jgo9738b+Wxa3T+aT031+K10sq6tC5XGfvdzni0opVrXfdk0XGr4tCgl0S2QDJbJJLKd8wXQ77883Oxpj4q4rLF3vlW/A+U45L3/s9FMrw6GWaky4HbalZVhsj9W96xt5fJpaRkTvt35xYIxrJ85+SsFA1qwCAlUlwMJlQ9Xo6M+jky6q9Zj89hkeYTfRJ2dDv4yUSIc7NRANw2szS9Wq98JJXnuTeCzEQyfFRmwKvmpaIlOrWRN4mar4IW1Ht4Vx6nej4gWs0m2/VX0TJWLQXIZvkRaPEI0RKZvpX8FNaiwlmL/0qrXiNq063lepHPe+56jOVUToofbtdXY3w+xlNn5oGb95N6nk1axq4kX+SR2eJxiKTyPHchxMxKinfv72Mhll1TxLvc4wpYdS9Vu0eMz9+IuU/loFK1Q2hlP25ldIoQ2SxvqfXAtiJWAoEAzz//PCaTSVWpAvCVr3wFt9vNSy+9hNVqZXx8nLvvvpuPf/zj/IN/8A80T7NVoeUNdaeNMsXisRFhIl9eI4JAJGBCcTOXQgmS2UJdA1px3cUeJ1Sar18+z8WFOHPRDPPRDO880Kva6iTf/nftrxItc+400UwRl9VEMJ4lmimSyhVZSeUwm4w8dyHEh+8ewGYWpGScOwfcqsSQy27hXQf6ABjxO/nphUUGvDYy+TKxdPXN474Bt6TaEfez02zk7PUobquRCgamllO8Ph3lyIgHu1UglinishiJZUsUSiVC0SxnZiOEk3nmohl29biIpHLkyxUuLSSYCadw2ARS+QL37cqxO+CUjtN8NEs0l2d3twuTYGAxmiGWKXHHgIshj70t/5RG51W752Y7BIKWebQu12YRas5RndDQoWN94XdacNvMPH1mjmcnFnj7nkBdQ1cltBafjx8flaZrlkjUSXNP0TvltakIL11dwWMzc2Ehzv4BNwf6PXXf0MqJlsNDPl6+FiaRK0iKlQqVmmIoXyxzYSFBt9PCbDTDvl4Xx3Z0rVq+0oBR/Hmg37MqZlW5LSLG52M8+dosS/EcUOHend01b6obebNo3c/NjC+bQf7wLh4DsQjr5BtTLdug1ZQXUC04lZ9vBWi5RtTMnteK9VQ3aNnfSkNSEe2YMTeat9Xp1nK9yOfd0e2QFCvtLEP+U0wWEz/70JEBDBhWLVfL2JXkSyJbYGI+Dtw8DuPzMZ48eZ3lZI5QPEc8UwRoSGwoTcFFHypRdVIxwHIix6VQgo+9ZZhUrsS15QSXQyk+f/+OVWTLoUEvHzoyUKNYabQf5USd6H+lPLfbvV91WhnSqfvRRhk3bwS2XSsQ3DTp+/nPf87DDz8sfV4qlfB6vfyLf/Ev+P3f/33p84ceeoihoSG+9a1vaZpGCzZLIr2eLQidWrfW9p1WDGhbWb+47F9fDWMwwK6e6vJbMVqVt7qEU3mKlTI/u7DI/EqGQ8Ne9vS6+fXlZSqGCg/sCbAn4OT8XJxQLIUgCLx9d7fkp6I2tlcmVyhThooBo8FQo9oZn4txfi5KqVQBDLzw5iLzKym6XRYGfQ4yxTKVSoVssUw8k4dKhYDThtMu8Pi9o3UVKzsDDhLZEl571UOlStiskC6UGPU78dgFri4myBVK3Dnk48ioX/JP6XZaagyA63ro3Jim23HTuBeqbWfLyTw9Hgt9LptueNshtHoNidBbgXRowWafJ5FUnm+cuMBLV8P0eWz8/iN3aHp4e/HyEk+fmcNgMPCPHtqtSWmg9AJZ76JVJHISuQKzK1XVjMVk4q4RL3ORDHZL9d64r8/TMqEkKlaqiUNxrq9kiGYKjHY7eNf+XsLJPPv73cyspFSTLtrdHlGxMtrl4GIwUeNZUm/fbqQEXL4u0b9GbElp1say0TGpa1GsrGX5mwUt46k3jVaj2vUa160QobsdsV6KFfF8Eoma9981wOEhL998eUZSnSzEMsSzRY6O+HBYBM7NRYlnCrxl1M+ff/romq4pebvc4SGv6rndro9Sp/2Xttp9ZL1wy7YCNcP169dJpVLs27ev5vP9+/fz6quvap5GDblcjlwuJ/0dj8c7OHLt6HZaKJbLFEtlKeJ4I9ct/1kPgsmIYDQSSecRUvm6JIhSBdDK+psVlDaLwDv2BqS45Ug6z1Iih2AykC0WiSQL+F3mVW1C8m0Qxz10Y/kfPSLw/JvLPLy3B5tZIFcoYjAY2RNwcmUpxQtvLvJmMIHPYWI6nGKsy8mugAOnzVxDRohR0KF4lkvBBMlcgUuhJP1eG91OC3sCTkrliqRYGfBaGypWUrkSd/S5ODril/bF3t7qhX9ouIuP3dimbL7IpVBS8lBxW010Oy01ipXdAYeqYiWcyjMdbhxZLZ8mYi8gmAzSd+fn4ixE0wz47CR6StJ3nSIHG3m+qKm82jHRFbdRq6Gu8nutJEgrvilXllJcj6QBWrqWdOjYDvA7Lfyjh3bT57HS7bRqaguC6luvH56d5+xslB+cnq1RTzSaR/42dS3FkhaFhrxFRq6WEVUiP5kIMR/NMOiLspTM8djBfi4E4yzGc4RT+Zp2G/ky5cqT+3Z1S4lDSsXKq5Nhfnh2gR6XlX6vTWp3atcTwu+08Injo9L29HttNW8h672ZXmtrTCuQ7x9lS0qzN6b1VAnK4q5Tqol66o9OtclsNeWLlvHUm2atSqZG2CwVjo7mUFPaKdUifqeFTxy72eFwRMNyxfNHqVgRVSdqipXDw25+dSWM1y5I96l2VVTye5PPUZ1HeW63q/DotDJkK7XtbRVsKrHy7LPPMj4+3nCa3/7t38bn82laXiKRAFg1vc/nk77TMo0avvGNb/D1r39d0zjWE1pJi/Vat+hNMhdJN1QvyNtaxudimt+oNyoq5WTHxWCC65E0pXJFIiTqTV8slRGMN4vuhWiGS8E4TqsAFVhO5gADBwc8Dcfoc9r4B0eHpb/v2dEt/b4n4OShvb3s73MyF8sRTuaZXE5xbdnB3j43L2fDHBnxSalDgsnIkN9Bt9PClaUUbquppn3q7hGftOzdvW7efWf9fmStsFmEmuWO9bgY66l9MN/d4141D9wg9LodVTVKnX8ONdMoFCuHhzwMeG2rFCudgugDJJJncJO0UfMI0uIbpJwOqJmn2TKU32slQbSODVZ7v+jQcathZ8DFlx/dL71pU/biq0EkZE5MBAm4rPx4PMirk2HuHPBqIjoA/vuvrvG/T89zKZjgax882FKRLPbUA1KSUCNSQLnux4+PEnBZuRSqvsCZi2Q4MRHk3PUY15aS5IplAO7d2dXwwV3pByBiZ8DFsM8OwGiXs4ZIUfOEODTolWTwWgws1TxL1MYhLlv+sx7kY6u3P1shX5TFcLMCoZ43iLIdQaufxWa/6d1q0nst46k3jVqBvV3QyDi5WcuHFlUTNCZItaxPS6JOs3U1MvIW03fE5K7NNqyVn09yoqbePayKAT5zb76GVJHfF4LRDEup/Co1jdr+Ut6b1M7tdgmNW40I2ez7qBo2lViJxWIEg8GG05RKJc3LcziqPhpKNUksFsPpdGqeRg1f/epX+dKXviT9HY/H6/q8rDe6nZaqYqWsTbXS6WhYLeoFkdQQ01RA2xt1rUWlWEgqCQk1KI1Wvbbqae93mYmkCrw2GaVULhFJFehxWdjfr+6Z0gg2i8DxnV1AF9l8kXOzEVZSRXYFHJyfizO1nGI5liNfKfP48WF63A5pvkNDXqmNRusxrYdkJs+LV5dZjue4OJ8g4BDIGQ187J5B5lZy3DPqq9ui1AgiEdTKNPJ9WCVxUP2uE5D7AClJGzWlVbsmumqfNSKa5D+1kiCtGOO2qvrSoWO7Qv5W+sXLS00fpMSH00gqz1Iyx6nJCBNzCSbDqYYpQCJGu5zYLCZWUrmG5rb1xipXaIzPx3j2BrnT7bAQThdUFSci5G9Z5QXIjm6HpFgZ9dtXmTu28pZUJKyU45b/lC9TNF8UDSybkUVaofVBXz62Rv4jz44HOT8X47GD/VKRdnJ6hdmVDB9psM+boZ4qQamW0KqaaEUxsh4eIlutwNIynvUes5pKrR1ioxWoGbw2+rvRvGqfQ2PTXC3rUxLF7ayr3npEPyiAyRGvKjmppgq7GEyQyBUk42+gxiMrms43PZadLsrl56fyvvDq5Ap/f3ERqPV/Ee9XWv4n6ViNraa8g00mVj71qU/xqU99qmPLGxsbw2q1cvXq1ZrPr169yh133KF5GjVYrVasVmvHxroWiIqHSDqPYGyuWmnlDbgWaFEviGj1jbq8QJ6Lpuv6tMgJCXmrhhZ/F5tFkFjoPleRUrnMSqpAPJsnnMwimG6297TqXSEu/95dNy/wQa+dV6cjnJ6KcH0lyf/v5Rneua+vhsBRHtNup4UroTi/vBrmgT09BFxmfjyxSCqTJ1OsMNplZyzg4sxMlHfs6+YXl5aZDqe4a8TPqckVXp+JEMnkoQw9LguhWJbdASenJlc4OOTh2A4fc9G81BYUTucpFssgdu8Y0JSCtFXQKKVIzWi2XRPdVgx1ld9rJUF0Y1wdOlZDfGiV97+LBX4z9cTjx0fZ0e3g4kKCycUk3z450/RB9pEDfbisQo3RotYHcaVC49BgNYHotakIM5E0+UJVcTLqt3NpMdHQR6Xe2/hIKk+/r7bYlhcrk4tJvv/aLHePeDFUIJzO89Gjww2JhXppOHLzRadMgdPogXYjihY1w0sx6enERFAq0v7+wiLLyRw2i6njLRv1jH+boRXFyFrTkG5HtNPKp9bu1Q6x0QrqtXZoaflodB0oP693nmlZX6NWPq3rqrd8kTCup1gBdVXYuesxlpM5elxWXDdelsoTh87PxZoey3pE7MVggmSuKMUii/MqCZlKpcLfnVvgA3cNkMwVSeVKuKyCpOqR3xeGfXbsFlON4k1+v1Ij71shVLeicmMjsNWUd3CLmdcCfOxjHyMUCvGLX/wCo9HI1NQUe/fu5a//+q954oknNE/TDJtt6teKCqXTipW1QOtYQvEsVxYT5IvlVeaujSDOVy5XH3j297s1bXOxVGYuliaSLLC/3y21bYz4HVIxLPfxCCWy0k19yKfu06LEciLNt0/O0u2wAhW6XBZMBiO7+pyM+avEk7hvwqk8/+OXk7y5GGdfr5c+n5WfX1pkdikNpgqDPgduqwBUsJoFroQSpHIF3rG/l3t3dqsqVk6cDzG9lMRsMrF/0INFMOK2Vo1sY5k8kVRB4lUqVOhyWtnd65KKfLk5rdgCpvwMqCG2xG1q5n3SaDodncdm3790bA9sxfNEfIBMZoucmo60ZMIXSeX59skZLs7HMRgNvH13N4/c2a/5QVQkdY6N+WviibU8zIo+KqFYhnC6wKjfzpOvzXI9nGbAZ+PYji4MwN4+d9tmsvIH8b984Sq/vhrGbjaBAQrFMh+8e5Buh5nTszF+UyW9op111dv2RiaJ61kEqL3d7oRiZTOxHoqVW70QkxuAaiXTNkOxoqM51lOx8u2TM8xHMgz67aqkzRP3VX2j5Pcy8d52OZRgYj7OwUEPDotQM49WRV+jc6gVU+ZOm9LqqEUrz0LbiliZmJjgxIkTxGIx/vk//+f87u/+Lrt37+b+++/n/vvvB6rKk/vvv5/Dhw9z77338jd/8zfccccd/OhHP8JkMmmephm24gPndkAonq2m+6TyDckSUXlyKZggky8x1u3U9LZfnG8pnsNsMlSNnww0TShSQs1oVEwlKpYqTC+nmIuk6ffZ6fdYiGVKdDsFXr8e4+27u9nT56lraDoXS3M1lGJqOcXsSgqfy8yhIT/37+qW1lUsldtSrPzOO3Yy7HevWi9U24R+dXWFSqXclmIlFM9ydTFJhQp7et1SZLP8M4AriwkMGNjde+Of2Y19JiYMiYSLPOVJbTqRYGpkOqs8Tq2SiGslHZXzt7O8zSA+9fuXDi3Y6POklUJFLRJTS9EsJg39+koYn9PMnQMezclB4joT2QKvTUdrHnhbbY0RU3Qu3bhfnpxaYT6aZbTLUZN+1G7xNrmU5G9Pz+F3miXFyqjfwV/9cpJgLMtjh/r5s4/fvaZ1NNu+ZgVDsyJAL1zXD7f6MdCTenRoQT3SZq2KFVEdc8+YD7fN3BYpqitWtg5uWWLl1KlT/M3f/M2qzx999FEeffRR6e+lpSW+/e1vEwqFOHz4MJ/4xCdWESZapmmE7VqYrFcR10rKyq+uLJPMFhjrcTUlS+SFs2Ayaopxlo+nWC4ztZyiVK7gtVvw2QUEwVjXdFfLNsoVK1QMTMzHmF5JE4plSOVKjHQ5+Pz9Y6QLlbqtRMVSmelwitdnIkRTeQqFCncMuLlz0LNl2282WrEitrDVI2PkHj6isqjVOPK1xpcr529neZsRob5d7186NhYbfZ68eHmJZ8eDDPntmnvO230z/YPTc1xZTHJtOcmHjwzx+PHRlkkdZRtOq2OXL++nF4JcDiVXKVbkBfBafU0iqTxPnZ5dpVjRUmSLBpZaDWybjUPLdtQb11rSi3RUsdZjoGPro9F10k4hrl932qFUVq5HFLiOjcMtS6xsJWzXwmS9irhWlqs1dlZtHZeCcRKZIkfGfAz5GpupQq2CJZ4tsBDNcm0pycMHAhwd9q+57aRYKjMTTnJ1KU23sxrHfGDAi1UwkiuV6XPbqFCmVK7Q57GtahsqlsqcnY0yMR/DZTPR73bUtN/cztASk6wrVtrDdr1/6dhYbIZi5a9/Ncn4fIxP3DNSk5RTD2t5My2f90Iwzvdfm+XOQS9feGBny8WCXFb+3kP9HTN3lRcz4ltQ8eFcbC+SS+LX0kLUaKwvXl7imy/PSAa2rcjd20W9ccmLfWBV4V8v2WSrF4Jbcdybvf6tDi37p9Xkn06ZrDa6TtohzJpdd/JtbTV+vJ46Q02Z6HNYGt73RLXecJed9xzQ3uq5HliPNr7bHZtxT2rlWWhTzWt1bDxaSRxZr+W2m2TS7bTgsZurf2ikAwWTkSGfgz63jVAiy5vBOKF4llNTEeyCQDxbwGM3s7/P3RbJIpiM7Or1sKu3eqHdNdJFOJXHaTYytZIhVyjy2lSURLbAHX1uIqkCAY9VUnwIJiN3D/vo94qx0MZV+zCbL3JqaoVLoSTvvrOHiwspcvkCZYzYLUaOjHh4YyGFXYAfnlnAaKzgt1oZ6nEQyxRZSWZ5y85ucvkSJpOBXb0ucvmy5D+zVmJgvaDFdFZ5LrVq/LpWo1jl/O0sTzer1aGjCr/Twv4BNxPzMV6bWQFoShbUS2vRAvm8F4MJYtkiJyfDhOJZPnPvKIlcUfPDm2iSqyRBktkiiVyhbY+PRqat4/MxnjozL/X2V6hIsnPRV+Rd+3ubboeWtJVWDWw78fBbb1zNDDPrJZus51g7gVbHvRHYaulB6w0tnipqhtFQ//i0mvzTSjJQIzS6Ttox/dRiVKtmNKvFcLmeQbP4eSJbYGK+muZ6eMhbc99TJhWdmAjy9Nl5elxWBrz2GgJYXJeSvFT6s/zg9CyjXU4eOdAnzTPss/PCm0ucvh7hN+/fqcmjqpNR4Grnn9r2bEW0Q0DWw2bfE5tBJ1ZuM4hFnNjC0Snz27UWh2ptJmrrODTorWkf0ap+EQmWj98zjN+5xOEhD1aLiblIBoCLoQTxTAHBZCCVLbGj247DZm65ZUi+Hw4NWcjmi2CAUrmCyWggni0QzxZYSuQIuG8SLEr1TTZf5NT0CudnYzgtAmdmI0TTBSaXk5TKleq4DTDktXN5MUmxVOG1qRUuLybI5ku47WZ8Tgu5XIFiGU7PxvDZLTjMJgZ8cXb0VJUzAbe1JjEqnMqznMiylMitMv6Vt0LFskWJPBLbtJRtPVuBnNGhQ8f2wtt29TAVTnNqMsK1xbTmeOS1QjRAfHZigXOzUaCaLgHaH97USJBEtsB3Ts5KqTSPHx/luQshZlZSHN/Rxfh8XLPaRlnkHhr08uEjg9KbW0AqTsQknGA8K23HWhQmyqQj+TaqFWfrmRpUL72o0bjWMtZOjbsZWh13K1jvqNlbBVpSgJQR5/KfamiWvNPqT61odJ20Q5g1u+7kY2w1flw5n3KblYoV+X1PuezHDvaTzZcY7rpJqjSKhBYJariZKPTDswv0uKz0e23SPN0uC//79Tlmo2muLab4948fxeew1JA2L11bxoBB+n/SyWtM7fxTbo/Wdq16Ss968691W9ohIOuhU/fE9YJOrNymCKfyLCdzqgW02rSdjGuut47pcJoKFQRjfZJGSeCI6T3Fchm/w0wkXWB/n7suyeJz2vjYPSNAlSgQDEYwVH+fXUkztZwmls5xKWRh0GfHYRHw2AVMRgM9Tis2i6klssVmEbhnrFtaXyieZSmZI5LKMb2cZEePm4ODq41uryyl+OGZea4tJhkLODk66idfrDRUrNy309eSYkUkRKBWcbSUyGEwVI+JfF+L58FSIodgMnAxliVdKAHUEDTAqvNFTpx1OyySOkhcrtxbRfys0e/K/dVJpU29Zal5wrQzlq2kCtKhY6tBHo98eibKa1Mr7Oh2rCrqtaKViOTHDg+wv9/NiYkg9+/qlpQe4nLkD83NHi7FIiSSypPMFZldyfDYwX7G52M8efI6y8kcZ6/HCKeq98rHj4/WvDXVqpKRt0tFUnkprajHZVmlWJGraCpUVsWDtopGxVmzh1+1h+hOyebVxrWWsaqNO5kttpwM1elxt4JGKoj1bunaTmh0LqgV/1qOj3Katf69ldFu/Hg9ZYf8c7lCpFGb6M6Aiy89uk/6u5nSRiSoK1Q4NOhl2Gcnky8y2uWsmW7YZ8dhNvHkyRlS+SInJoIcHvLWkDZPn6lGPEsR0Kfn+OHZec0G6Y1Qj3ySf9eMRBKhFi3eaP5Gy2pl7K0QkPWw1a8H3WOlTWx3j4JiqczFYAIDFXrctoaEyVoKQa2KEi2KlUbLd9tMjM/GSeTyHBryt9xqJHqxpHJFppfTOO0mriykCCYyZPJlXFaBgNtKl9PM4REvNkGg22mppve06BdTLJUZn4sxHU7jd5rZ1+9Ztf/lipVDw16Oj2mLm+4EmhEL7ShW5OlBXrtFSv6B1WlA4meNflfur056B9VbllqKUTtj0TLWVsyg27k2t/v9S8fGYLPPkxPnF3jqzDwfPjKoyW9FDZ0y3xQ9RlK5Ak6bwIjfwWfuHW35YTmSyqsqVmajGb758gyFUol7dnRJKp1OKgvkqUZPn1moiQeV75uNSFRR2y61eNFhn31Lpbs0SoZqpMzZbI+FRooVpXdPp9ahQ8etCPn9sZli5RsnLnBuNsqHWjRIbxdbVbGy3aGb124ANvuBsxPYCKPN8bkYU+EUbqvAA3t61m09xVKZuWi6RrHSrkmufHmheJbijTYeQwVyxQpum4DNYsLvqKo7psMpTIYKJqOJ4W478XQBwWTk4ICncZy0TMERTudbjoTeTtAVK62NVStR1C6hdCvcv3SsPzb7POlE+0Knij1RsfKTiRC/vLKMyWDgNx7Y0bGHZbHP/42FOCupPO871C+ZTP54PIjfaWa0y4nLKjDgtbUUMV1vW+opVtSSllpV7LQDNRLi2ydnNKc+bWRhr5UwUSOLOt0atVZ0at16gtDmopEHh9p52k5qUCe9Mm4HyAmM2Whmlfm4TlxsD+jmtTo0oR2/lVbbgvYEnISTOfwOYVVrSSfXI5iMjHW7uNF1A9xsE8oVS1gFU0sEy83l3XxoVSo2up0WvDaBcDLHtaUkc9EMr08bMZmMOM0GluI5SpShbGD/gJux7putN4LJyJC/6qsSimeZWk6Rzhc5ObXCI/t7cdlvrRurfHuBmuMgHl+1zxr9rlx+p9rU6i1L+Xm7Y9EyVq1m0OtlRq1Dx1aAUvI7Pl+NND4/F9Psu9Ip2bDoMXKg30OP24IBg9Ta8+x4kFcnw9gFI+fnE7x1ZxcfPjLU0gOy2NZz367umoftQ4Nezs/FODUZ4aWrK/S4rHjsAqdnIrx8NczXP3SwLUPcRq1Vjx3sr/kJ1X0vl7l3un1HHJeyHUBtLPXQqEe/0yocraaUjeT7WseuRKcL105dI1vd+2A90SjRScu10QqRUW/aRh4caiayjdpG6p2P7XhlKMcrT+05PtYlebFcCMZriFstZq3K63qrkRVyg3TfDbVzo7adRLaA22bWdLx1bE3oxIqOlkgMeSGn5c27zVJVqojTaVUWdKJg3BNwApArFrkeSQOwv9/dtrJBXhCLJIBgMvLAnh5G/DauLqUlxUo8W2QukuH09ApUKlxZdLOn141FMPK2XV01xEm300Kxx8nL18KEE3lenYqwr99NtlBiJVWgWCpiMJjIFvJMr2RxWExEk3ni+SJuiwmT0YjPacZkgGLJQCqfx221YjSWKZZhKZphJpblnhEf+wc9LMRyDPutJLIlDAYjXU4zNrOJbqeF+Wi6uh1+K/mSgd09DmK54i2tptmK0EoU6YlCOm4niCTDxYUY3zhxoSN9660W3DsDLv7v9x+U/vY5LJyfi/HaVIQLwTiRVJ6ri0n6PDYqVJhaTnEplGgrRUL8W/ScERUmA14bwViW+ViGExPBtlORGm2jcpmHBqupQAYMNYVzvTQP6IzKpZXUp0aFfT1PgfVGqwRMKz4v4vRbpeja6t4H64lGiU5aknFaITLqTduIxGvky9HoM+X52I5XhnK88tSe5WReSg86dz0G3CRutZi1Kq/rRmSRnKgRSZz9/e5V8c4vXVtmMZYlnM7z0aPD0nU7uZTkm69OY8DA+w8PsBDLksxV/aq0xN2rmY8r92UyW6x7vOWkSzW5aI5Rv51H7uxvSsbp2DjoxIqOlkgMeSEXimc1GeCudR4RrbZ7iFG82XwRq1BtCRJJpGKpjGAydqR1RBm5LI51eiVFwGMhmiyQKRY5OR3GWIFUvsgH7hqsVa/4HLz3gMBrM1FG/Damw2muLaUIxjOksgUqBgPhZJZwKk82VyJdKJEtlBGMBuwWEy6LCbPZRK5YplAsYRaM2E1GsqUKC9EM+UKZSwtxDg37MAtGrNeNmDBQMUC/x86ugJNIusCZmQiT4RTW60ZGuhxE03kEk6GaRBRNk8yVuHfMv0pRo3ZsdJNWHTp0dBIiySD2rXeCVBAfzDP5Evfu7Gr5YVQc085uJ5NLCUmxUqHC02cWOD8XJZ4tAvDxFuKbletQKky+/qGDEiHUCMooUWjvLW49lUujYq6eymW90Kiwb0X5shlohZSQF2RbPXp0I7AVCslGJIWWZJxWiIx609Yj8eoRe+2kBrVj1qscrzy1R65Y2dHtqCFutZi1Kq/rRvtLTtSIJM7kiHdVvPPTZxa4upykUCxjtwjS/5gTE0GePrOAAYhlCsQzRZaTOYCauHs5SfPTC0Euh5IMeW30em01xuRq+180IFcbv5x0OT8X4+kz8wQ8Vvp99pZVRVqUPVrVP61ef1vhel1P6B4rbWKze8+3AloxwF3LPCJEPwm39QYf2KLRrbj+cCpPsVwmkS1K3hTtmudqXedcLM1cJMNcJMOeXje9HiuCUZ3YEceylRQrS/Ec52djhFNZjo528dC+3poxq3l9dNJQVtwvjfxYtPiZtEL2rCcxtNmkk37/0qEFW/U8qWce2M5DmrisgNPC2dkYg357R+KdxTefomLl6Iif65EMx8b8UpqMUvq+HhBNdwGeuG8UYJVny3pEg8LG+LJsNWx00XCrFylaoHu76NCC9VasAJyajkjn4YuXl/jz5y4zs5LGbRVw2wWO7+jiLaP+tu6H8mt9rYoV+TUDqF4/WqZRTqfl+tuO16tuXrsB2KoPnGrYagViu+ORkyLTy9Vo5j297raKduUY5Kk1O3qcCEYjTrOxmjjkELCZTB1phZG2oVQmkSvitgodU86sJ0QFznQ4vWmKFZGoqZcgpCWBpxWyp9PE0FqX3cn9uZ3uXzo2D9vhPOnUQ1oklefbJ2eYi2R436H+jrdYqKXJiG9Nn7hvVFrfsM/OxWCipdjlZutVKla+fXKGU5MR4tmClAoEVcJFJJagvunlRmM7kQfNzsfttC1rwWYYCd/q+1TH1oaa2bqoWMkUiozPxgEDXS4zx2TJb5s9VtAVK82gEysbgO3wwCliPQvEtaJdYqbT6hL5MqlAIlckFMsSjGUolCqMdjvoclrZE3AyE0lz5nqUI8NedgXqtzM1W59IEi1Es5ybjfL2PT3sCri2NMGymbjdFSudvI630/1Lx+Zho8+TTqX+tPvgth4RtPXWoVSsKGXq+VKJQ4Ne9g+4OdDv6TjZokwFAmqIJbhpejkfyawiXDbyobgRWbHVzCqbnXvb8W1tO7hdtlOHDi2Q33Ovr6QJy5LfdGx96MTKBmA7FSab3XbQCJ0sFju1neJy5IqVRKaI2WSkUoEXLy1xeSnOzoCLB/cEMBvhV1fD7Ak48TotHBzwak4fKpbKfPOVaS4uxBnyO3jwjgA9LotuFKtjFXTFio6NxkafJy9eXuLZ8SBDa2zHEZfT5bRw54BnzbJrtTd0P70QZHYlw0eODnUkZUZOuFwMJnhjIc7EfAyLycRdI17OXY+RyhUZ8Nn4zL2jJNr0a9EyBmVM64mJ4CrCRR4Z+vK1MIlcQZOB41rHpVy2Vrl6s+VsFNodQ6dTjdYbW2Ffb2WIx/P+Xd3rci1De3H1aueZ1uXUS/GRK+bU1tuMHFVbX700ILdVWFMU/UZAvza2H/S4ZR012MrJIZ2Mi5WMacvluv4lWiDfX0dGq+OSqyUsgoHu6xZGfDYS2SI/nQhyZTnBqUkTx3Z0IxhN+OwC0UyRfX2uhiSLYDLy4bsHcNkEBj02luIZzs9GefCOHsZ6Vv9TyOaLXAwmcNsFBJMBKhDP5PjV5RX8TguCCZLZMnv7nOwMOHjx8gq9bisVIBjNcs+YjwGvnUuhBPliBYvZwFiXnXNzCca6HQx57ZIaRCd2tha28nWsQ0cnIKb+zEcyvHwtLJn4tfrwKS7ntakVLoeSq0wFtaCRSeP4fIzvnJwlGM8yvZLivQf716wkURpP3rerWypIDvR72Nnt5NmJBc7NRgFw26o9/Q/eEVCNL23XJFfNzPLx46M1hQ/UGkI+dWae5WSOHpdV1aR2rYVEo2PRyKxSia1g9Npuco48/UR+PLZqYXarJwQ1I16bHR/xeE4tp2qu5U5Ceb5rOf/V0rO0Lqdeis9TZ+aB6j1Lbb2NknzU1q82TnlyzsR8XDIjb9TKWI9IVnpfTS4l+cHpWUa7nNzR61ozcbOWa6MdskzHxkInVnQ0xXoqXjpZLIrkTLFUluKju52WjrQNyce5t8/D3j6P1D70qePDNYoVn13g/FycRK6AyWhg2Gfl+TeXefueLkqV1YSPz2njY28ZoVgq84s3l8BgYDGRJ5KO4LCZiCTzlKhgKMO15RTXI2n6PDYCLisGDLwytcwb8zFKJQNWiwGDwcDUspsut5XJxQSlElQMBgrFIiupPAeHvFxaSBCMZ+j32BifixNJ5ViIZLl71FclbEAy9Z2LpqWH5j63jVi2KLXjeG0C4XReimOG5q05oXiWYqUMZcBwY9922DBYhw4d2w9iwo7oRdJuESyPKDZQvZ91sqA+NOjlk8eH+fWVMCupPE+fWZCKBrW3tu2SCY8dHpD+3hlwsb/fveotN6AaXypuayfG0yg95NCglw8fGZQUK2qkxnoSGo3GpoSWqFg5tlLRIk8/aTX1Y7PHvpFopqaotz9a3V+NjoGW4yMeT+W13EnUi05utC619Cyty6mX4vPhI4NUqNRdbzNyVO37emlAomIl4LQ0jbpWI3TUYp9PTAT54dkFelxWdgWcTMzHpXXLCe1TUytcWkwy7LXhtApUDLCcyHFuLsZdgx52BFxrJuDbIcvaxXZTyW0V6K1AbeJ2ktKLEcmVCg0jktcDazXHDafyNaa0VdKlwP4+t+Z2nXbGPBdJS4qVZyeCTMzH6babSRdKWAwG7tnl5+ho16oxZPNFriylyBWKXFlMEk7mSRfKJHMFDBUolcsYDAbetqeHA4PudVeshOJZTk2uMBdJM+R3MNbjRDAZJAPZYqlCLJPHgIHdvTdko03MZK8uJllJ5eBGyeNzmiUT4kaeKIDq72pmuWrfqx0nseVraiXDnoCz4TlR71zcyq129XA73b90tI/NPE866Z2h9pavmTxd63KVyxFbU8QH+nvGfLht5o6b0srRSLGiHI+8hWermYtuNTn/VvUJaTX1YyuNXStaNdcUP6+33c32R6v7a62KFR3rCy2E8loVKycmgnzn5HV6XFbedaCXv7+4yEw4jddhxms3QwUWYhlWUgX8TjN3DflqjMrbOT82UrHyF89f4ZlzC7z/rgFJvXS7QvdY2QBs58Kk1UJwLRHJ7a5TRCieZTmRpXIjFq3VwlVpSntmJkoil+eOXjdWs9C0mO4Eoqksz7+5TDKb55nzQbKFMncNeXhofx/7+t2qag2x5UepWMEAFsHEwQHPuo8b2HDFSqMUH0D1d7V4Z7XvlRCnD8WypAslRvwODg3Vf5NTzw+okU+QSJTtCTgRTMYtQ8Bs5/uXjo3DVjlPOl0kyiOIP3RkoOU2oUZQPtAns0VOTUekN6GpfIEup5W37+nhkQN9G0ZqKAsMcZ+K8c9boQgUxyTK+Tf7gX47F8idGvt67IP1iIMVP98oxYoOHUpCW6tiRW6M3un0uU5CV6zchE6sbAC2ygNnO9iMqNd2TWolUscAPod5Td4pIkkQSRcolyGUyDLid7C/370hBW80leWZcwvkihX6PBYcVgGLYGJHt3NbRC5vBG41xcr4XIzrkTQjfgcBt3XLpHNt5/uXjo3DVjlPOv2WTq40MWDg1HREIhg6HS+sNKV9diLI69MR+jw2fv+RO6SCcKMfYpXxz8riVEywoFKhYmDdjGnVxtSKYuVWKIi38jZoTWRq5brUQpS2q1jRoWOro1n6nH5ebz3oxMoGYKs8cLaDTrQutKN6aaWIVZu3WCoTTefbVq/IIVcSxLLFmoJXrqoQDMZ1SeiRK2myxRJnZ6LVHv09PRuiRNGxMdAVKzq2M7bqefLi5SV+PB7E72w/9UeEkmDodlmYi2TWlCjUCHJZuVyxoia7rk47x6jfziN39q/LQ3a9dopvvjzDcjInqT17XNY1y9jXA8oiXSSF5FL+rY6t3LajNZHpwTsCmrdDLxx16KiiWTvbVrvf3q7QU4F0NEQnDGPFBB5A07LEdY7Pxbi2mOBSMM6xMT9DfkfTIlOcV/RHMRio8VBpp1C1WQSp7UOcV650mA6nWUnl6HJagSoRshDLEU5m6HJZ6XNbsVqEtk1XBZORIb8DgDMzESYXU1gtBiwmIw/s6dn0wltHZyA/z0DbtaJDh47GEFN/Tt1I/QHabmcRzU8jqbzkhXJiIiglConL7pSSZWfAxZcf3b/qczXTyBMTQZ4+M0/AY6XfZ68pVjtFIKglVBwa9PKhIwOrFCvyN6zQ2Cxxo4pnpbHl+HyMp89U00KUCUWdMhbuNJqZinbSb6hVtJLIpNUc+FZPDGoXrcYat+vRIU8bm41mVH1F1nr9yhV4PoeloR9Ns/tYI4+sA/0eLgYTJHNFnFaT9Lc8/j2azq97tHW7qHf/FX82ut/qBOXWhE6s6GgL7cYk7wk4ubKYIJkt8uLlZd65v1ciGJpBMBlr2nbk5M5aSBYl0dTttFDsdjDUZUMwGMEA5+finJpeIZLK0+WwsLvXxZDfzqVggrEuByUqXJyLky6UeN/BPnxO7QX0/n43pUqFlVQe/43t6PPYiKayPH0mSCSbZcTvZG+vm9loGr/TwsF+D9djGZ5/YxGv3Uy2WMJkMnL3sJtQvIjHZsTtsHBhPsbdI35G/Q7mohkuh5J4nQKDXjt9bpvkj+K1CVxZTuF3mCUfFWWbjajiKRYrJHLFdTUA1qFDh456UKb+VKjw/KUlktnimgkWQHXZaukSnXyw3RlwrfITeexgP5l8iVG/fVWxKhIIhVKZyXCK+3d187OLIbodFhw2YU2tO36nhf/j8KDqd1qLZ7EgkB8T8fNOFgLKwkQkhQwYVPdZs6SQzUAzoqFZHK2IjS60lOPWCZO1HYNWY42Vn2tdhxh/PDWSJpzMqybhrDVtRh6HfHjI2zBBqR4RKp9GuV/k23DuekzyAVT+7bIJnJ+LSdHWFpOR83MxHj8+2pRAUrZnSi2S2SJOW/U5WmxZ9DksHTFEh9rrqNH9divEx+tYDb0q0tEWRDJCNFnV2tpjswi872A/v74axmCAG0mYLa8XasmdcCrPcjLHQixDwG1dc7SynOwplsocHvLQ47LWKFamwhkWomnmI1nimTxnrkeBMulCiXcf6K2asxpp2k5kswjcM9ZV015VLJV56uwCPx5fYCmRZcDvYEeXi0KpSI/bTjZf5uWrYU5NhsmUyhgx4LSbOD8XRTAYsJtNlMqQzBZZjhd4cF+AMzNR3piLYDWbOLajm0RPSUr0KZTKLMTSuK0WEj2lmshlqFXxRNNFBFPVm6Dfa8NpNnJ1OY3PLtDnsRFO5cEAXutNsmbI56BYKkttMe0SMo1a0LZjOo8OHTrag7z4F9UmiWyBZ8eDvDq5sqY2HrVlKyNEYTV50GklRFXdsk/1O5FAuLAQZy6S4VuvzvDq5ApmwYjTYkIwGUlmC2AwMLOS4qNHhzvi3aK1eBb3kzw2G5D2l+hv0+l2HS2kkNqx1ILNekPcLI5WhF5oVaF2nOSfiQqG9fAzWssxaDXWuJ2I5kODXin+WK5YEYnkVtVH9SBX4PluBAqoLasRESqfRvlTvg07u501ipWd3c6a+Pdhnx2oRlv/+lqYuUiG8flYUwJJTg598eE9Egm0nMrR47TisQtS9PLhIS9PnZknnS/w44kgR4d9OGxCNfuyUiGVKxJOF3j3/l7OXI9y+nqE37x/J0dG/Q33YyuKMa3o5H2slWXdLgob3WOlTWzV3vONhmjOOei10++1tey5Im+/EZNm2imMRZPblVSOUrmC0WDgrTtXxxl3Etl8kYuhBG6rIClWgvEsYz1OCsUbkTdU8NjNeO0WXFaTZqVHKJ7lejjFy1fDlAzlLalY8dvNZIplQrEs87EMbquZHT1O4pkCFSoUSxWJrDm2s4ulRE4ycm2UvtNsv9QzgNVqkCyee2s535TL0mqYu1Wg3790aMF2O08iqTzfPjnDa1MrmE0mnrhvdF0LTDV/FjFiWVS7iMXLej1Myg1fRcXKbCzL5FKSOwe9vHQ1zHIyxyePj/DFh/dsuAeJWhtLIluQ3lI3OkZb7UG8lRSazcBWGst6QUtblNpxkn8mKhjWI3XqdjgG2xmtGC63o1h5dmKB16ej2CwmvDZzdUEGiGUK5Atl3rqrizMzURbiWd61P8DH7xnZ8HOlk55Oah5X9a7Prewl1Qy6ee0GYLs9cK4XRHNOt9VEplhuK/FELIhzhTKxTB6v3cLBQU/b0cqXggky+SJDfgd+l5lQNEeFCv1eG0O+5p4ua8GqOGEjRFIF4pkCM+EMpUqZUqXC2/f04LTW92jZDuoLuSHxdlKsiOdbsVRBMBnWlNLTasRzMzTbhkapSa2cJ/r9S4cWbOR50sl42I02L1WLWBal6neNeAkn85IR4UaMTT6eU9ORGsWKPGp6s8xotR6jrWZM28xocrsVC9sRWmKYN1OxouP2hmhOLrZkNlKsHB3xcz2S4Z4xH26becM8lNZTsdLo+tzOpOMtTay8/PLL/Of//J+5ePEif/EXf8Fb3vKWmu//7M/+jB/84Ac1n+3evZtvfvObNZ/94he/4D/9p/9EKBTi8OHD/JN/8k8YGBjQPA69MKnFWlQA4rzZfJHzc3E8NhP7BrxtF6cS2WM3cf56jDeDCcoYONDv5tCQh2imiM8uaDLO7QSKpTKhRJZsvsQLby4RTuSwW00M+uy4bWb29rnWnfDRcRNbWbHSTHWj/L7dGHP9/qVDCzbyPBEfyOQPmev5YLmeBbqaQaRIYIikxoePDOKyCTeUJovrmvyjHJt829XiPuvNtxkEjPKhXU4KbQUioxPR39ul2Gj2tn8jtmUzjXx16OgkxHM5mS1yajrSkCzcLrhVr89bNhXon/7Tf8pzzz3HRz/6Uf7n//yfxOPxVdNcu3YNh8PBn/7pn0qfORy15qg///nPefTRR/nKV77C5z73Of7Df/gPPPDAA5w9exa3273u27Ed0OqbcNH7RCz0QHsCijz1RzBVzWK9NoFQPLumxJ9iqQxAr9smKVai6SJvLMSwCSamwmnuGfWRKpTXVRkimIwM+arnYJ/byqtTEewWE1dCSULxLPlCGcFoRDAZt7RC5VaB3Kdnra1iSuPjtab+NDOFVn7from0Dh1bDeKDWDJbXHefCKVhYqdVG36nhccO33xRI74Vl/sJiKa4iWyBV66tEPBYcd54w9kJA8RGY5N7kLRrRrsRyTqtGNMqsVGExVoNW+t5PGxFwqWZuepGeLwo9/d2LD516IDaRDq5wTeo34+34j1BCf363GaKlVgshtfrZXZ2lpGREX7+85/z8MMP10zzu7/7uywvL/O9732v7nIeeOABRkZG+Ju/+RsA0uk0AwMD/LN/9s/48pe/rGkst/ob31A8y3IiSwUD+/vdLatP1koQyN/EdzsthOJZMLAmU1qoqlkuhZIsxjPkShXcVoE+rw2/w4LXJnAxlJBaV9a7ZWgumpacyzHA7EqGHT1OiYTRoWO9cKvfv3R0BptxnmzEW3A11caz40GG/HYeO9i/Knp0PVDrjVJVrLhsZqmFSE2RsZkP1vX8ZNTerG6FAmC7tOjU21dbcfxbQbFyu6PePm+H6JQr6+RErpZlqikTxOmVP9XUC/XWXW87W90vtyK24j3hdsEtq1jxerUZXp48eZJ3vetdeL1eHnzwQX7v934Pi6V6oaXTaV5++WW++MUvStM7HA4eeeQRnnvuOc3Eyq2ObqeFpUQOgwEp/lcLlG/w17J+8aeYSFOhgmBc2/JtFoG7R3xk8y6uLKXY0WWXFCsXgwkuLsRwW6ukkGA0YjXB69djjHU7GOtydoxsEUxGxrpdjHVX32TORdIYMJDLFxmfi2nyISmWylwJxfnllTBv2eFnIZohmy+SzlfY0+vgwICHq8spcsUygtFAt9tKIV/ipWsrJDJ5Dg17MBmMLCbyPLi3i+VkiWGflamVDA6ziXShpEcq69ChY0OhfOO1Hm/B1VQb5+dizEcynJgIStGjQNvxzVrGIG6PmAwRSVXVnhUqmlJfNrKYkL9drZeSVG+cm4G1pppsFOopXrSMf6vFK+txy7VodHzaJaXqqYTaiRCXxxa7bWZpPi3LVIsAF6dX/pRPIx+32rrrbaeWbamnqAPajkJuRDJt9PXXzj1tLcSbjvZwy1VMDoeDz372szz00EPMzc3xz//5P+f73/8+v/jFLzCZTFy/fp1yuczgYG0c3+DgID/72c/qLjeXy5HL5aS/1dqQbiUIJiP7+901/hEbvX55rHKx2wGGzrU8iO1CAK5qEht7Ak6K5TJ+hxkqVSPSiwtxppaTLESyCHsNRNIF3FYBQTBABYnoWSvhIi4jGMsyG0mzmMgy7LNzeTFJvlhCMILTamYqnGYlnsVmFXj4QC/feeU616NpTs9EEEwmQvE0BoOBff0eQok8i7EcC/EsLouJPq+NuUiGV6fCZAolzi/EsQnVWM5gIsueXjdXFhNkC0VWkkW6XAKC0Si1VcnPhblImmimyO4eB+F0nki6wP6+qrJJ6V8CrFIciSa/GKDbYanxOhE9aYrFMoJgXLNKSYcOHdsXyodJZTJDJ1pm/E4Ljx8flR5AxehRsV0Hbj7ci+aEo11OHjnQ1/GoYHkLkRLKfbEZbSTy4rme8WejAmCjevC3e5GvZfyNik9lookOdazntdLo+LTbRlUvDrmdCHF5bLFaG0qjZapd480UK8r51NbdaPnNtgVuxrsrSZ1GJE4jNCKZxudj/Hg8yKuTK9w54JEUjmpqHPn16HNY2vof1s49TTn+RLaw7h5mtzs2lVj5kz/5E5555pmG03zve99jeHhY8zK/8Y1vYLVapb8ffPBB9u/fz3e/+10+/elPUygUAGqmAbDb7dJ39Zb79a9/XfM4bgV0Sn3SiXEM+de/PcZmETgyUn1zWCyVEVJ5Ht7bw+t2M2PdDiLpAhcXYhRLBnyOai+8w2rkymKSt+7sQjAZCSWypLMFrkez3Dvmx2XXduMS97XXJhBN5ylXKjz3xiKXQjEiqQJ2i5FKGYKJDCvJAl0uK6VKhbft7sIfNPPQ/l7NipVej1WzYmVPwAlUVUuidw7A+bk4iVyBaDpPMlskkcsjGI0E3FYi6TxLiRyCySBNr1QcyVVIEXtBmlb8bmo5RSRVwO80a1YptZqoU+9zre1srbS9bYeUJx06tiLUFCxPn1lgOZWjx2lt+UFZy3rEQlRUZ8gf7k9MBPnh2QV6XFYqVFhO5nnsYL/03XoWsmqeI/KfIuRF2qFBLy9fC5PMFXFaTese/6w2znpjA/jxeJDzczEePz66bR/0N6sNoVHxeWIiyDPnqj5CnY4U3kx0el+vp7qq0fGpR5A0IxIaqYRave/UI3K1LLOel4Y4vfKnfJpG6663/GZopqhrROI0QiOSSVQ6nppa4XIoicsm1FXjyK/Hw0PedfkfpmX8rXqYrWeC0K2KTSVWPvOZz/Ce97yn4TSBQGsnm5Iw2bNnDzt27ODs2bN8+tOfpqurC4CVlZWa6cLhMN3d3XWX+9WvfpUvfelL0t/xeJyRkZGWxnYrYKsWiGIS0FqifOWQk0rv2m+T1gHUKFauLqVI5KrrDritTC2nOD0TIZrKkS+WcFlMvLGQ4MG9Ae7obe5VY7MIPLCnh1A8y5DPzliPo65i5ePHBjEYBN5zcKC63NHVy7vHuZqQ2D/oU113/43/F0dU5lGapB6+ka4kV6zsCdxslVIqVpSKoxoVkkyxIn3X42TYV1WsaFUpyckfNSKm3vfKz5stR+v62p1Wjmakz1a9HnXoWC+IBqbi2z65kqVduXc9qD3cP3awn0y+yGiXk+sraX52cVH67plzC6yk8jjMJvxOM/0e+7r6tGhpIxEf8kU/r6mRdMstA52EsoA8PxdjLpJhfD62Jb1atGCzWp8aFZ8i2Sf+vFXQ6X29ni1jjY6P3ka1PqhHCjUicdpZnvjd48dHJYVjIzWO/Hr0OSyq/8Pk6NS9Tzl+NaPcRujk9bYVWkQ3AptKrOzevZvdu3ev6zqKxSLLy8s4ndU374ODg/T393Py5Ek+8IEPSNO98sorPPjgg3WXY7VaV5E2tyPaLRDXG1eWUlyPpCmVq+k/61FoyhUtIvrcNonQEUxGij1ODAa4GkpBxcAPz84zG8sQTuY5vrMbh9WI1WTi4KCnLgEkV+js7d8axqJK9dJYj4uxG7+77BbGZJykWuKOUnGkVCHJp5WnKLWCVhN16n2uNWmnlUSedtN7mpE+W/V61KFjvaD0RxGhfEt4aNDLcxdCzKyk+OjR4Y6pSHYGXHz50f1Atd3CZjHVFK+RZI6nz85jNhnZHXBJbzFhc5JqxId8NcWKHBtlRKosIMUWrK3q1aIFW9HPZWfAtalKlVb8RVpBp/e1TmjoWAvU/h+pqXGU16Pa/zA5xHtfIlvtpOiUmXqr53snr7eteJ9cD9xSHiv5fJ5/9+/+HX/wB3+AxWKhWCzyla98hXQ6zcc+9jFpui984Qv81//6X/mH//AfMjQ0xPe//33eeOMN/vqv/3oTR7890Ml4V7nPxlp9NMSWFbfVJBWaovHter7Nl3u1AAz5HPS5bewOuHGajbisRt5YSNDvtXE5FGMxUaDXbSGWKbA74NQ9RDqIZq1r9b5Xfq61Ba6VVrl22+qakT563LIOHVUo3xKOz8d48uR1gvEsMytp3ndwoOPqEeXD8hcf3sPkUhK7RZAUK/KHSKXB4kaZzqo95Cuh5vmwEW06jR70W3kQ30x1S7vF+XZR5LSDVvxFWoFOhOi4HSDe85LZovTCQCTpN9I/qZPX2+1y7W4rYuWZZ57hT/7kT8jnq4XzF7/4RTweD7/927/Nb//2b2M2m0kmkwwODjIwMMDCwgI+n4+nnnqKAwcOSMv5Z//sn3H58mX27NnDyMgIs7Oz/Mf/+B85fvz4Zm3atoGyQFxLK4Los5Erlri0kGB3wMmQv72YY5HgkI9HfJtfLJcRjMaa9pT1JDLk++jte/t4+94+svkiEwsxcsUyqVwJg6HqU+KxmVhO5OlxWTpigqvj1kIz0mer+CDp0LHZUBIIhwa9fOr4CL+8skQkma95OF3PQnZnwMWXHt2n+p3SYBGoUbPIW5lg/YxdG41N/rNRm85GoJUH8e2ibpFjM8yHNwqt+Ivo0KGjFnLPmAqVmlYj0a8lky9yYMDTMTWLjs7AUKlUKps9CK1YWlri6tWrqz4fHh6uMbjN5/NcvnwZv9/PwMAABoNh1TwA8/PzhEIh9uzZg9vtbmksrWRa38oIxbNE0nn8DkvLBZ6oWLkUSrAQyeC0Cuzpc7O/v7kXidblh1N5iqUyiVyRbL5EPFvAYzOzv9+9ISRLvXGJqTfRTJFYpkoUemxmAh6rrmDRse7Q7186tGAjz5P1KibFFCEx5ee16SgP7wtIpq4VKhti6Kock3JbX7y8xDdfngHgifuqhlnPX1pif7+bmZUU3Q4LDptAOlcinMrz0aND6/62cjsV+O2MdbO3r976X7y8xPOXlnh4X+CWI1x0tA+lUqHV80Ft+mafgTrBq7XVSzl/K2MWyeZEroDbaua+Xd01y4um85yYCHL/rm4SuWLNMm/lVCxx2wIuKz+7UPX4euK+0W1DKG9HtPIstK0UK4FAQJOZrcVi4eDBg02nGxwcXBW7rKM1rKUVQfTZ6HZauBRKUixXlRyhRBbBaFwz6SG+zRcTfrKWIrORNAYMXFlKIZgMFEtlMAAVNkwxIvcQGbpBsizFcySyReLZAkuJHAF3lWABmIulmV/JEoynyBbgbXv8nJyMEnBZsZiNmEwGepxWBIOBXKnM1aUkLqtAtlDmtckV7uhzsr/fw0I8z4DHwlQ4jcFg5I5eB0aTkUS2uCoqOZTMEopmMBhMdDnNCEYDGEEwVI/LZpFSOnTouDUh7ynvZBykvAdenvIj92SZGkkzF8nwi0uL2CzCupMWakqMevGjr06G+eHZBcyCEa/NTCSVJ5krYoC6ypj1HOdWxVqiSGFzVC5azIflaDRenXTZHLRDVqjF72ohH5RJT62ev2rTN/sMUF2H1lYv5fytjFlpvO2yCTXLOz8X45lzC0wtp3DbzDXLrJeKVY/0kf/ejACSk/X37eomms7zg9NzdDstOK0CFSqks0XC6XxH/b1EiC2okVQep9VUo2bRCv1+sX7YVsSKjq0HeStCu21BNovA3SO+GoVJJw05awgWoxEqSORAsVxmajlFOl/k11eXGet2cNeQTyIZNqJtSPRlCcWzLCVzxDMF4pkCkVQBkwG+/cp1CuUi89EMNouZifkY6VyBQtlAj8uK02piwGPH6zBzPZxmJpKiXIH5SJpQIsuZ61b29sUxCwYKxQqxTAGoMNXvwWu3YDJVVkUlTy0nuRhMANDvseNzmIEKXU4rkXRtPDLcPPZOs5GplYyUzqR2TtSbVkS95BuxlUvZ0qX8Xo8/1qFj+0HeU75ePiRqpq6iYuXERJCfjIeIpPPYLSbpYXw90obqjU3phfLgHQGGfXYASbFyfjbG+dkYw132dRnH7YSt2pLSKuEC2kkXcVq9oGodasVoO2SFWvyuFvJBmfTU6vmrNn2rnzWappVlahmzeI8WFSvK5Yn3RrliRUS9VKx6pI/892YE0Ph8jKfPVI+dyyZwfi7G02fmsQpGPPYqwRPLFsjkSzX+XvUUNpNLSX5weo5Rv51H7uzXfF3WM3LXgnZJZZ2QaY5t1Qq0laBL6VdD3ha0FuPYRsV4pwthsS3n5WthJmYjOC0W3nt4QCIZ3NZqwZ8tlEjmSuzrc3UkzrnheOJZlpN5BCO8MrXCxYUE3U4Le/scW1axIh77UCxLulBixO/g0JBXtVWs3rQilPOIfxdLlRsqo+rPet9raUtrt4WtnXOz1XN3IyKV9fvX9kOhUOCv/uqveOGFF3A6nTzxxBM88sgjmubN5/P8zu/8DuFwmCeffFJKyWuGzThPxAe3RLYgte1shJogksrz3BtBZiKZGsWKvEXn3Qd6WUrmNlVevpYH263+UCyOb9hn39DWrFah9a33Zo1JuW55axFQ02a01c+JVrDe26LWorWRihUda8dGKlZOz0aJJPM4rGaeuG9UUtgcHPTgtpml8+gvnr/Ck69eJ+Cx8vvvvkNSVK7n8W/3HKvXpniro5VnIZ1YaRN6YbIaasax7XivqGEtXi5akMzkeWlyBa9dqFGsFMtlppfTXFtKYTLBvj4PRgO47UKVbDBUyYZOtxGJ+9JkKPPLKys8vLcHn3PrmpTeLoqVRkRRvXOz1XO3HrHUyXNfv39tP3zsYx/jzJkz/NEf/RELCwv8yZ/8Cf/tv/03Pve5zzWd90tf+hJPP/00V69eJRKJ4PP5NK1zM8+TRoXIRpIacsXKhYU4f39xifffNSAlAP3t6TkpAWirGwgqH4qVBcJmj10cX7fLwnwkw6DfzmMH+5mNZrYU2VKPqJD/vtER243QSLHSqFDaiLF30htnvYu+rXAsdWwfqBEwWhQr4/Mxnh0PYreYcJhNfGQD/LS04na9Bm5ZjxUdWxvytqBOx8CKy/HaBELxbMeVKy67hffcWSsZFNuHqv4rVpK5EsVSqeoHUwKfw0yFCl67hUi6wI4uO1eWUrgdAjaTCa9NUCUOtEC+L//BUUfHtnO9IB/voSGL6ufNpq03j/xvcT/K96fa962MtxWondfNzvVWrwU9UlmHEi+++CI/+MEPeP311zl69CgAuVyOP/zDP+SJJ57AZDLVnfdHP/oRP/rRj/jjP/5jnnjiiY0a8pqhbIdQ65k/MxPhW6/O8Jl7Rzky6l+3cYgtOgf6PdgtgiQvPzER5Omz85hNRnYHXFIc5lZ9+FTK8OWSdriZmCR+t9HjF9c97LNzYiLIXCTDiYkg4WSebpeFcLLaIrzZ+7hZq4T89832cYHV15L893bbi9YC+bFrZx315lnv1q7t5DmkY/OhbNXxOy01fi8idgZcfFnmlyUmsv1kIkg0XcB2ozV1K/xf0a+B5tCJFR3rAnnhms0XubKUaotgUC5PfHsPSMqY9YxRFg12RWTzRUxGY41iJZIsYKDCazNRgrEMhVKFXQEXhVKZdKEEwI4uO69ORxjrcjDW7dR9PbYpmhFFWudpZR16pLKOZ599lrGxMYlUAfj4xz/On/7pn3L69GmOHTumOt/8/Dy/8zu/w1NPPcXs7OxGDXddoNYz/61XZ/jpG0GCsSx//unqvlnPB0/RNFA+pmy+JClW5KSEsvBrJP3fKCgfig8NevnQkQEpMUnuN/DseJDzczEePz66YWOUj+/x46M1bUFyxQpsblRxI6JCzZRY/lMNm1kwNSqU1ouokB+7dtZRbx696NNxK8DvtPD48VF6XBZmVzLS/7ytQNLqaA6dWNGx7riylOJ6JA1Q46XRDuRv78V2o6VEbpWZ6nrBZhFWvRkd8lbbSsa6HFxZMqsqVl6ZXOHs9SjXV9JE0wXypRLRTIG9fW7GunSiRYcOHfUxOTnJyMhIzWfi35OTk6rESrlc5rOf/Sy/93u/x7FjxzQRK7lcjlwuJ/0dj8fXOPLOQUlqAHzm3lGCsSw+h8D4fAyAH98gBMQWkvUsVncGXKrJPGqFXz2zSnk/PWysUqReYhJUEzfmIxnG52ObEvkrL5JFGbxcDt8sOWc9zI/bgZZiX0k0bAXPFlg/okJ+7NpZh06g6LjV4Xda+OSx0ZrPGpGQW0HNoqMKnVjRse7YE3DW/FwL1NqN5IoV2PjEF/mYjozW3tDEVpd7Rn2UKhVcVhNz0QynpyNkiyVWEgWEvQZC8SyxTJG37ezCZddvijp03MpYXFzkC1/4QsNp3vnOd/LlL38ZqJrPOhy1LYHi3/l8XnX+f/Ev/gWlUomvfOUrmsf1jW98g69//euap99sHBn18+efPlpTiJ6fi9W0kMDGt46oFX5yxY3PUV2/shUCNkcpojZmUTFSj7iAmy07omfARvqgNEvOSWQL2+btrrxgqpdashGGlhsFnRi5tdBJnxwd9dHoulFTs+j7eHOgEys61h02i7BKqdIJ8qOet0Y4lWc5kSUYy9LjsnTcWLYduOwW3rW/j2KpzFw0TcBtkRQrkXSBFy8tk8jmmI9m+NjRIVKFsh4FrEPHLQq3283v/u7vNpxmeHhY+t3n8zE9PV3zfTgclr5Tw7//9/+eHTt28KEPfQiAUCgEwKc//Wk++9nP8tnPfnbVPF/96lf50pe+JP0dj8dXKWW2GuoRAo1aRzajSFUqbuSxz/Kfm60UEaEl8vfbJ2d45twCU8sp3DbzKh+UzYA4bqUCZytDGQMu/yn+rrcB3HrQck1rNe1WLqvestfjPtJJnxwR9VongRpDWHFZWkjdZkk/okn523b1rNpnL11bJpUr4bIK7O93bxkjbRFq943NbJe8naETKzo2BWIbD3S+fafbaWEpkSOWyZHKFRFM1YjgUDwLBuhzbx7RIpiMjHW7GOu++Q8ymy+SL5Y4NxvDYzPz2kyUHreVy8EEF0Nx7h7ycGUpTbdTYClZYKzbyYDXRiZf5OVrKxwcdHFqJobNaKDLbcVsNOJ1mgnFslwNJdkZcOCx29jZY2chluW1qRXu2dHFWI8TQ6VCIldmd4+DWLZIsVwGA1CGIhWiqTw+uwWbxUSfu3qcRF+bcCoPBuh2WJiLZri2lGKsx4HTKqju42y+yKVQEp9dkHxrlMtqdGyapQV1Oy0US+VVfj5a44s3Wumk4/aF3W7nAx/4gObp7777bp588klyuRxWqxWAM2fOAHDXXXepzvPNb36zRs3y8ssvc+rUKX7zN3+TI0eOqM5jtVql5W9XqLWQQH1VgJoHykYmMLSjFJG/kdzoVB/5eEUVjppiRQl54XKg37Puhcl2VUXU829Zb2NWHWuHWvqSWsGvjJSH+oSEmmm3GpT3h3pF9XoQdJ30yRFRr3USkAy3XbbqM56YJNaM1G207ePzMZ46Mw+A22Zetc+ePrPAcjJHj8vK5IiXcDJPMlsEWEXGVFN+Zul2Wunz2CQiZthn5+T0CuevR7FaTHzg8CALsSyhWIZwusDxHX5++kaI+WiGB/f08OGjw5rvj2r3u2btko32lRI6GaMdOrGiY1OwnkkngsnI/n43oYQZKjf9WKbDaSpU08UFo3HLFNA2i8C9O3u4a8jHlaUUO7rsTK1k+OWVJS6H4rx8dRlBMJLKFhAMJnq9Fg4PdfFmKM5sNMPzl0IkciWyxTJdNjNuuxmrychCNMNKOo/dJrAn4GLQZ+dqKMFsNMPlYIqH9vdSoYLJZCCazmM2GYmk8jf2UfWzdK6EwyqwM+BAMFb3lehrE88UqFAhYi9wZibK9HKCKyEbd416EYyrDVevLKV4YyGG22qWSA/lstTmE6Ek49Q8dpYSuVV+PvXmE/+ut/xm0ELEyI2bxQhv8ZzXSuJoJYZ03Lr4+Mc/zle+8hX+4i/+gj/4gz+gWCzyb//tv+Wd73ynpCgJh8P8xm/8Bl/96ld54IEHePTRR2uWUSxWHwLf+973ao5bvpXQTBVwYiLI02fmmFpO8dXHDkhvfeu9xdyIccpR742kvMjY6JYnNd+beqSUvHCZGklvmYSf7YLtShRtZTQ771o9L9XauNQKfnG6Y2N+Ht4XaEhIqJl2q0F5f6hXVK8HQbcePjn1WicByXBbvg2NSF0Rjbb90KCXDx8ZpEJFdZ996MjAKsVKIluQ7r9yMubERJAfnl2Q0uJEIqbbZeHvLyxyZSmJxWQknikSzxS5upwkXyhz9nqUc7Mx0vkiU8tpwuk8o34HTpvQ1v+fVv6XNMNmKz63E3RiRcemYL2TTgSTkSHfTU+CbqeFYrejqsaoVAv6YrkapYwBvFaBK8sp/A4zQz7HphSs8pap/f0CJuMQv7piratYOTLiaUOx4m+oWBny2+oqVuQkmFKxYjcb6fNYJcWKGmG2J+CkVK7gswv1l9XgJl0vfliuWPHeeIMh9/PRGl/cKtmnhYiRGzcH3FZpekAziaOVGNJx62JgYID/+T//J1/4whf45je/ydLSEjabjWeffVaaJpPJ8Mwzz/D5z39+8wa6TVDPA2VqOUWlXJHacEQyIF8sc2EhzoEBz4YRLFrGLE/12SotT/UgL1zkihXYumPWsXXQKsmhZfpmb+5bfbOvVrCqFfxK895GUCMv1aC8P9QrqrcLQVevdRKoiTCWf9dMadho2/1OC48dHqj7nXKdOwMuIqm8lKgmP76PHewnky+qKlZ6XBZNipUBn42JuQQvXVuhx2klmSuynMx3RFHZzjnQTPG5HtiuhLuhUqlUNnsQ2xHxeByv10ssFsPj8Wz2cG45rOdbeXHZxVJZUrEUSxVmIylKFTg46KXfY9sS3iw6ti62s2JFv39tT0SjUV5//XUcDgfHjx/HZDJJ32WzWZ577jmOHTtGf//qt5uhUIiTJ0/yvve9D0HQ9k5lM86TzVCJyNet9Cl4+VqYNxZivDGfwGwy8sR9ozWtOM9dCHEpFGdfn4dHDvRt+gOgfBvEB+CH9wVWPQArfQM2qpVoLWPWcXthLefFi5eXmk7facWKDh2dgnR/zhZx2gQuLiT42cVF3n/XAF98eM+mnpsbtW4t1/BGoZVnIZ1YaRN6YbK+CMWzLCdzVCqwv9+9LgRHsVSWfFe8VoFXpyNEU3lMJgMBl42x7qpyxWk28kYwQSyT5/iYn1wJvQ1Dx7aGfv/SoQWbcZ68eHmJb748A8C7DgRYTuYlD4/NKnDqkT0vXl7iz5+7zMxKmtEuB7//yB1bKpGh0RjE/Sz6BoiE0WYSW83G3M50WxHbeexa0YltlBdWrSqZbod9rOP2gdIDbCuRDuuFrXQNt/IspLcC6diSEA1oDVQIp/Lr0vIgmIySiSrAO+4IEIpnKVbKCAYjGKrtGhdjWU5NhcnkyqRyJe7odbGUyNUQPslMntdmotwz6tPjknXo0KGjTchbRsS3dFPLKSwmI69OhtfUc94u6snEDw16+dTxEUmx0iyRYaNJi0aSb6VvgLwtR2niuNlR1WrYzik523nsWtGJbVS2zLSynO3S8qJDhxYoW6Ma+aRsJUJiLdiu17BOrOjYkhANaOWtExuxTjnRUiyVEYx5hr027BaTpFiZjeYwGKghfF6biXJhPsZUOMWnjo0gmIzMRdMEE1kMZQN9HitD/s3xbtGhQ4eO7QI5iXGgP4nNYuL+Xd38+lqYU5MRqedcjNLdzAdIv9PCJ46px1HXM5tVS57YjAdhNd8AcbxKE8etSARoMWDcqgXGdh67VnTCJHW7FlY6dKw3Gl0b4/Mxfjwe5NXJFe4c8Gxqm+ftCJ1Y0bFl0cjgdiOSUeTrv3dnt/S5y2ZZRfjcM+pjKpzCYzNzZSlFwG1lfDbOhWAcI7C334NgMpItlLiymMJlMVAqV5iP53jLmJ9dPS6ddNGhQ4cOGeRv6ca6nezodkg953LfhUS2gNtmVo023SzUM5tVS54Yn4/x7HiQ83MxHjvYv6nboKbOqVckb2bxr6Xo3oqEEGzvsWuFToro0LE5ODTo5fxcjFNTK1wOJXHJ/l9uhf+Ntzp0YkXHtsRmJqOoET4uu4VPHRupMSo9NOyhx2uRFCsY4KWrK4zPRSiXDWTyJYqUCMfz3HdHATDQ47JsWiqRDh06dGxVqCksxEI/mS2uijYd9tn529NzdDkt9Hqsm5bmI0ejlqLzczHmIxlOTARXxbOKBMZmEUf1iuRm7U6DXju/vhbuSJJFO2hXNbEV1CJax74VxqpjY9DKsW40baP7iZZ7jXzZQFvtjcplKMcqmrcaMEipOmrjbPRZvW1R+pW0M6atrALxOy08fnyUHd0OKTFOC1Gr30s6A51Y0bEtoYzGLZbKzEXTRNIF9ve5sVk2/tSWxyUDjHW7GOu+edMulsq8bXcXAbe1RrEy1u3g+kqGxXiGfq+D+UiGuWiWbofA356e5537e7CYBZxWgVSuiMdmxmCAWKaA12EmXyjzxkKcAY+VIb8Lr93EbDSL12bk+YthhrvsuG0CHpuZaLZApVKBChgNBvr8Ng72eQilclwLJRnrcWI1GxEMRrqdFmLZIlYTvD4TY0e3nV63jamVDHsCTmwWoUY5BKuTbsRUnGGflalwBr/LzJDXIaXbhBJZqLAqgWmtiiT5/MVSmUuhJD67ILV6KZfdaH3id/JY53pjEqd1mo01+0mHDh2dh1jwR1J5XDah5gH62ydnePrsPGaTkd0Bl9R6M7mU5Aen5xj123nkzv4t8QApPggriwAR4kNxt8vCXCTD+bmY1B61WaQFNG938tgFJubjAJoiYzuNdlUTW0Et0imvGb1Y2nxoITm0HJ9WzstG08rvJ0oSt9F3assGVNsbm0G5DOVYx+djPH1mAYDJEW/dcTb6rN62nJgI8sy56rLl96VWxgRIShDxO7dV4O8vLjLcZec9B/olckdJEMmn29vr5u/OzxNPF7CaTQx4bWQLZY7t8DM+H2/7/q58EaGFqN0K971bAfoTv45tCaVqJJzKMz4bJ5HLUy6DRTBuuaJWMBnZ3etmd6+75vNiqcxcJM1yygEVeOlamKuLCd4MxllJF7gYSnCg30MFMABWiwljpUKmUMYqmIimc4QSOewWE/sHPNjNJvKlMlNLKYLRNAajkSG/DYtRIFcukc+XwFDBIgjs7XeTzZW5vpJmainFlVCKkW47XU4rkXQBwWTg4kKcyeUU89EMI10O0oUSAIeGvDXKIWCViujKUorrkTRXFhPkCiWcVgGbINDnsRFO5ZlaTmHAoHo816JIks+/lMjxxkIMt9UsnQ/KZTdan/jdUiKHYDI0HJM47cVYtmY/rRUb0fqmQ8d2hbwIFR9CHzvYTzZfkhQr4gPliYkgT5+ZJ+Cx0u+zS2TLN1+dwVCp8Jm3jm0KUaG2DSLEsQ/77JyYCDIfyfCtV2c2lbSA5u1OcsWKElu54FcrQrbqeJsVTHqxVB/1lAtqaKZmaAQtJIfad0q0osBqNK38fqIkcRt9V2/Zau2N7YxP+fuHjgysUqxomV/5U7kt4v1IeV9qZUwVKqtImES2wKuTK/S4rAx47RK5oySI5NPtCjh54dISyVwBs8mIwypgMRk5cz1KOFV9Ju1EvLIWorYTvkj10Mq1tt2hxy23CT2udGtBrlgplcosJvOM+B0cGvJKqomtRrSooVgqc20pybnZmK5Y0RUrEkLxLJF0Hr/D0pHWN/3+pUMLbsXzRE2x8hfPX+F//GoKDPD5+3dsGlGhBeIDttsqbLpiZS3YbnGh2228IrYqIdQpyAs2n8PS0rb+xfNXeObcAu+/a6DpNS8//kBL50KnFCs6tg7UiLb1VKxs1/uPCPm1Jqozt9M538qzkE6stIlb8YHzVoGSSBmfi3FtKUmhXL1ZiYW9Dh3bBZ1WrOj3Lx1acLucJ1tBsXK7YbsVlNttvLcL5AXb4SFvS8XnRilWdOhYK7b7/Ud+rc1GM9uOJNKJlQ3A7fLAeSsgmy/y7ESQeLZAl8PC8Z3d9HlsVcVEPAsG6HPbdLJFx20D/f6lQwv080SHDh1bGWtRrOjQoWPjsR1JolaehbZ2X0QdZLNZTCYTZrO57jTFYpFkMonP51vTNDq2P2wWgfcd7OdiMIHfZa5pW5kOp6lQQTAaJbJF97LQoUOHDh06dOjY2pBHsoPuI6NDx1bHrR7Fvq0qxyeffJLjx4/T09ODx+PhgQce4LXXXquZplKp8JWvfAWv18vAwACjo6M8/fTTLU+j49aCzSJwZNTPWJdLIky6nRbGuh3s6HHWkC2RdJ5wKi8pWoql8mYOXYcOHTp06NChQ4cOHf//9u48Lsrr3h/4ZxaGVXYUIWyKQatRjDWEmwpWMDYmQW1QqnFLSIzGeG/aa83aaE2btOrVaHprozG2miYxiVGCS2y8ro2gRnDfQEUEIyLCgCwDM3x/f/ji+fmEAUYYhNHP+/XyJXOe7zlzzpmF4TvPcw5RJ+YwiRWLxYINGzbgb3/7G4xGI65fv47evXvjscceQ2lpqRK3ZMkSrFixArt378aNGzfw8ssvIzk5GWfOnLmtGLr76XVaBPu4IdjbTZVs8XEzwM/d0GSSpabWjOOFRtTUmjt4BERERERERNTRHHqNlcLCQtx333345ptvMGLECABAREQEkpOTsXDhQiWuR48eGD16NBYvXmxzTEt47fnd79bLghqSLD5uBhRXmJBXUgk3Jx16dnOH2Swoq66Ft5sBLnpdox1uiDobvn+RLfg8ISIionvZXb/GSoMLFy4AALp16wYAKC4uRl5eHn72s5+p4oYMGYIDBw7YHEME3DyjpWFr24ZLhfzcDfBy0aPkhgn1qMexS0aUVZlRZaqDu7MTIgLcoddp4eWix+miCrgZdKgyWRAZ4A5jjRlmqQcE0Gv//3bGXM+FiIiIiIjIcXVoYsVoNKK6urrZmICAAOh0ukbl1dXV+M///E/Ex8cjOjoawM2kCQD4+/s3aiMjI8PmGGtMJhNMJpNyu7y8vNl+093l1iSLXqfFI5H+Ny8NkvpGZ6z4uRtw+koFTv9gROkNM3w9nGCsroOTTovrlSZooIGPuwHFN0yoMllQ4+0Ck6UeRy6V4f6uHiipqkOPAFdsP1mMHv7uMOi0uFFrRo8AD+g1wOWyapwvroKrQYuqunrc360L+gR6IK+kGhoAmRdK0LubB4K8XXGtshZFxhoYa8wI8XFGdR3g4azDDZMZXi5OcDJo4evihApTPbxdddDptdBrtMpZN2ZLPS6WVuJ80Q306OaBYE/Xm5dGSb0qDkCLuyzV1JqVBYSDvdwAoNFCwW1ZPNhaXbOlHkUVNYBANaaSytqbCbLK2kb9/fF23bbeV2vd2pbZUt/kfTf0K9zXFZV19UzIERERERF1Eh2aWHnrrbewbt26ZmMyMzMRHh6uKqurq8O4ceNgNBqxefNmpVyj0QC4udvPrcxms5KcsSXGmnfffRe///3vmx8Q3TMa1mdpSmSAO8z19Y3OWAn2dVHOWDHX16PSZEZZtRn7cq4h56oR+8+XINjHDTtOFeEHYzUOnCuBt5szdFrBhatV6OKqx9HCMly6XgVTrQUuBh3yrt1AUbkPTHUWHLxQih/Kq3C8oBx9undBcYUJ54srUScWuDvr4eakR70F0GoBFyctAjxd4Oakg06ngbtBD283J/i6OyuJpJLKWmTklCCvuBJF5SZEh/qgvLoO1ytNqjjA+i5Lt8otrsSZK+Vwd9bDRX/zrae0qhYAVG38uMxW1uqWVNYi71olNNCoxlRaVYviChPKq+sa9Te3uBKXSqsAAP2CvWy+r9a6ta3iClOT993Qr5IbJnTzcrHLfRMRERERUdt1aGJl6dKlWLp06W3VaUiqnDhxArt370b37t2VY0FBQQCAoqIiVZ2ioiLlmC0x1rz22mv4zW9+o9wuLy9HSEjIbfWd7h0uBj2iQ3xUZR6u6v3azZZ6uDjp4eWih6tBC39Pg01nrIT7uTZ5xkrvQE+7nLFy66VPsb380M3TWXXGSrCviyquIdbs5wZooCpvEBngDrOlXrXldUO9H/9srX5LrNX1czfA7O8OSOPjt56xcmudyAB31f+23ldr/fgys6buu6Hs1jNWiIiIiIio4znU4rVmsxkpKSnIzs7Grl27EBoa2igmOjoagwcPxsqVK5U6QUFBmDlzJubOnWtzTEu4qB8ROSq+f5Et+DwhIiKie9lduXhtfX09JkyYgH//+99IT0+HwWDAlStXAABeXl5wdXUFALz55puYMGECHn74YcTGxmLRokWor6/HjBkzlLZsiSEiIiIiIiIiaonDJFbKysqwZ88eaDQaJCUlqY4tXrwYEyZMAAAkJyfDZDJh6dKlmD9/Ph544AHs2rULXbt2VeJtiSEiIiIiIiIiaolDXQrUmfAUaSJyVHz/IlsYjUZ4e3vj0qVLfJ4QERHRPadhXdWysjJ4eVnf1KKBw5yxQkRERHdORUUFAHChdiIiIrqnVVRUMLFCREREty8oKAiXLl1Cly5doNFoOro7nUbDt1c8k6dpnCPbcJ5axjlqGeeoZZyjlnGOrBMRVFRUNLt7cAMmVoiIiKgRrVaL++67r6O70Wl5enryw2cLOEe24Ty1jHPUMs5RyzhHLeMcNdbSmSoNtO3cDyIiIiIiIiKiuxYTK0RERERERERErcTEChEREZGNnJ2dMXfuXDg7O3d0VzotzpFtOE8t4xy1jHPUMs5RyzhHbcftlluJ21ASkaO6na3jiIiIiIioeVy8tpW4DSUROTpbto4jIiIiIqLm8YyVVqqvr8fly5dt3oaSW1hZx3lpjHNiHeelsdbOya1bx2m1vCKUiIiIiKgteMZKK7V2G0puYWUd56Uxzol1nJfGWjMnPFOFqGV5eXkwGo3o3bu3Tdedm81m5OTkoEuXLggODm70xcupU6dgNBpVZb6+vrj//vvt2u/2cPnyZVy9ehWRkZHw8PCwW53WtNtZlZSUID8/H6GhofDz87OpTn5+PqqrqxEREQGDwaA6duXKFeTl5anKNBoNYmJi7NXlO66iogLnzp1Dt27d0L1792Zjy8rKcPr06UblAwcObPR6vJ12OzuTyYTTp0/Dy8sL4eHhzcYWFBSgoKDA6rHBgwdDp9PBZDIhOzu70fE+ffo49GeBY8eOob6+HgMGDLAp3mKx4PTp09Dr9YiKimp1jCPJzc3FtWvX8PDDD9sUbzKZkJOTA39/fwQGBjY6fuTIEVRXV6vKAgMDW3ye3jOE7gij0SgAxGg0dnRXOhXOS2OcE+s4L41xTojaR0lJicTFxYmHh4eEh4eLr6+vpKWlNRlfWVkpc+bMEV9fX+nTp48EBARIv3795Pvvv1fFJSQkSFBQkMTExCj/5syZ097DaZOamhoZN26cuLi4SGRkpLi5uclf//rXNtdpTbud2ezZs8VgMMj9998vBoNBZs+e3Wz8mjVrJDIyUkJCQqRXr17i4+MjK1euVMUsWbJEXF1dVc+XRx55pD2H0a6WLVsmrq6u0qtXL3F2dpZf/epXYjKZmoxPT08XjUajGn9MTIxcvny5Te12ZmlpaeLj4yPh4eHi4eEhcXFxUlJS0mT8ypUrG82Pn5+fuLu7S01NjYiI5OTkCACJjo5WxWVkZNypYdnVX//6V+nXr594enpKVFSUTXX2798voaGhEhQUJH5+ftK3b1/Jzc297RhH8dVXX8mQIUPEy8tLbPlz/9q1azJjxgzx8vKSvn37ire3t8TGxkpOTo4qLioqSsLDw1XPo0WLFrXXMBwOEyt3CP8Aso7z0hjnxDrOS2OcE6L2kZKSItHR0VJRUSEiIn/605/Ezc1NCgsLrcbn5+fLn//8ZyW+trZWJk6cKEFBQWI2m5W4hIQEeeWVV9p/AHb0xhtvSFBQkBQUFIiIyJdffikajUYOHDjQpjqtabezWrt2rbi6usqhQ4dEROTgwYPi4uIia9eubbLO/Pnz5dy5c6o2NBqN7N+/XylbsmSJ9O3bt/06fgft27dPNBqNfP311yIicvHiRenatavMnTu3yTrp6eni7Oxs93Y7q8LCQnF1dZWFCxeKiEh5ebk88MADkpKSYnMbFotFQkNDJTU1VSlrSKxcuHDB3l3uELNmzZIjR47IG2+8YVNipbq6WoKDg+WFF14QEZG6ujr5xS9+IT/96U9vK8aR/O53v5Ndu3bJ2rVrbUqsZGdny/Lly5VkXGVlpQwfPlwGDRqkiouKipL333+/Xfp8N2Bi5Q6pqamRuXPnKk9Yuonz0hjnxDrOS2OcEyL7Ky0tFb1eL2vWrFHKTCaTeHp63tY3c3v37hUAcvbsWaUsISFBXnrpJcnOzm70rXtnFRgYKG+99ZaqrG/fvjJ9+vQ21WlNu51VfHy8jBs3TlX21FNPydChQ2+rHS8vL1m8eLFye8mSJdKnTx85ceKEnD17VpWkczSpqany4IMPqspeeeUVue+++5qs05BYOXv2rJw8edLqWSitabezWrhwoXh7e0ttba1Stnr1atHr9VJaWmpTG9u2bRMAkpmZqZQ1JFb27NkjR48elcrKSnt3vUPYmljZsGGDaDQaVWK84f358OHDNsc4IlsTK9Z8+umnAkD1fImKipI//OEPkpWVJVevXrVXN+8aXLXwDnF2dsa8efO4N/iPcF4a45xYx3lpjHNCZH9Hjx6F2WzG4MGDlTKDwYDo6Gir6xQ0JSsrC05OTggODlaVr1ixAhMnTkRUVBQGDBiArKwsu/Xd3i5fvowrV66o5gIAYmJimpwLW+q0pt3OLCsrq81jyc3NRXl5OSIiIlTlp06dwujRoxEfH4+AgACsXr3aLn2+05qao4KCAly7dq3JeiaTCYmJiRg5ciS8vb3xhz/8wS7tdkZZWVkYMGAAnJyclLKYmBiYzWYcP37cpjY+/PBDPPDAA1bX4UlOTkZycjK8vb3x4osvoqamxm5978yysrIQFBSEoKAgpeyhhx4CAOU1akvMvSYrKwvdunWDm5ubqvyPf/wjJk2ahLCwMAwZMgS5ubkd1MPOh4vXEhER0V3t5MmTKC8vbzamYXG/69evA7i5qOyt/Pz8UFJSYtP95eTkYO7cufjv//5v1YfSKVOm4KuvvoKnpycqKyvxzDPPICkpCSdPnuyUi3K3Zi5sqWOPOe4szGYzKioqrI7FaDTCYrFAp9M120ZtbS2eeeYZDBgwAE888YRS3q9fP5w+fVpZRHP58uVITU1FREQEhg4davextKfr169bnSPg5qK//v7+jeoEBQVh3759iI2NBQBs2bIFo0aNQvfu3ZGamtrqdjurlsbSkpKSEqSlpWHRokWqcjc3N3z11VcYM2YMAODw4cNISEiAu7s7Fi5caKfed17W5tVgMKBLly6q96SWYu4lmZmZWLp0KRYvXqwq/+1vf4unn34aLi4uuH79Op566in88pe/RFZWFvR6phU4A0RERHRXW7p0KY4cOdJsTGZmJgAo3xabTCbV8erqatU3yU0pKCjAiBEjEB8fj7ffflt1bNKkScrP7u7uWLZsGbp3747du3fjySeftGksd1Jr5sKWOm2d485Ep9NBo9FYHYtWq20xqWKxWPD0008jPz8fe/bsUf1xkpiYqIqdMWMGVq1ahU8//dThEitOTk5W56jhmDUPPvig6vbIkSPx1FNP4ZNPPlESK61pt7Nq61jWrl0LrVaLiRMnqsqDgoKUpAoAREdHY9asWVi5cuU9kVixNq8AUFNTo3pPainmXnH8+HE8+eSTeOaZZzBz5kzVsYbXHXAzMb5w4UIMHjwYx44dw8CBA+90VzsdJlaIiIjorvbBBx/YHBsWFgbg5uUqISEhSvnly5cRFxfXbN2CggIMHToU/fr1w+eff97iN3j+/v7Q6XQoLCy0uX93UkhICLRaLS5fvqwqv3z5sjJPranTmnY7K41Gg9DQUKtjCQ0NbbZuQ1Jl//792LVrl01jDwwM7LTPl+aEhYVZnSOdTtfocrnmBAYG4vDhw3ZvtzMICwvDd999pyprGJstz41Vq1YhOTkZPj4+LcYGBgbihx9+QH19PbTau3tliLCwMFy5ckU11uLiYtTV1SnzakvMveDkyZNISEjAmDFjsHz58hbjG7ZkLiwsZGIFwN39SupAIoKcnBycPn0atbW1TcZduXIFBw8ebPY0M1tiHIXFYsGBAwdw8uTJJmOqq6tx6NChZq/ZsyXGUZ05cwZZWVnNPm/uJmVlZfjuu+9w5cqVJmOuXr2KgwcP4urVq22KcRSlpaXIzs5u9jVfW1uLrKwsnDlzpk0xRKT2k5/8BN27d0d6erpSlpeXh2PHjiEhIUEpO3nyJM6ePavcLiwsxM9//nP06dMHX375JQwGg6pdk8mE+vp6VdmuXbtgsVjQt2/fdhpN27i5ueHhhx9WzUVVVRW2b9+umovz58/j6NGjNtextV1HkZCQgE2bNkFEANz8DJienq4ayw8//ID9+/crty0WCyZOnIh9+/Zh165d6NGjR6N2q6qqVLfLy8tx4MCBTvt8aU5CQgK+/fZb1VkBaWlp+NnPfqasE1ZaWorMzEwl5sfjt1gs2Llzp2r8trTrKBISEnDkyBHk5+crZWlpaQgKCkKfPn0A3DyDIjMzE0ajUVX3wIEDOH78OJ5//vlG7f54HgFg+/bt6NOnz12bVMnMzERRURGAm/NaXl6OPXv2KMfT0tJgMBgwZMgQm2PuNocPH0ZeXp5y+9SpUxg2bBiSkpLwwQcfQKPRqOIbzp661fbt2wHc/L1JaOUywdSsv/zlLxISEiK9evWSXr16ib+/v2p3ARERs9ksqamp4uLiIj/5yU/E2dm50er4tsQ4iurqapk/f76EhYWJp6enPP7441bjvvrqK/Hy8pLIyEjx8vKS//iP/5Di4uLbjnFEBQUFMnDgQPH19ZWIiAjx9/eXbdu2dXS32s25c+ckNTVVunfvLlqtVpYvX2417uWXXxZnZ2flNfDyyy+3KsYRHD16VEaMGCG+vr4ycOBAcXNzk7Fjx8qNGzdUcdu2bRN/f3+JiIhQYhu2LL2dGCKy7qOPPhKDwSDvvfeepKWlyYMPPiixsbFisViUmPj4eBk1apSIiJSUlMj9998vvXv3lt27d0tGRobyr2E79JycHPnpT38qK1askP/7v/+T999/XwICAiQpKakjhmizHTt2iF6vlzfffFM2b94sI0aMkPDwcNU276mpqaptgW2pY0uMo8jJyRFPT0959tlnZcuWLTJ16lTx9PSUnJwcJWbhwoWi0+mU21OnThUXFxf55z//qXq+XLx4UYmJi4uTP/7xj7Jt2zZZt26dDB48WIKDgx1mR6lblZaWSmhoqDz++OOyefNmefXVV8XJyUn27NmjxGzYsEG1LfD48ePllVdekU2bNsnGjRvlscceky5duqh2abGlXUdhsVgkNjZWBg0aJGlpabJkyRJxcnKSjz76SIk5deqUAJCtW7eq6k6bNq3JHXJef/11mTZtmqxfv162bNkizz77rOj1eklLS2vX8bSX48ePS0ZGhkydOlXCwsKU107Dbkp1dXUCQLUt8IQJEyQ8PFzWrVsnq1evFm9vb3n99ddV7doS4yhyc3MlIyND5s2bJwAa/T4SEenZs6fMnDlTREQuXLgggYGBEhsbK/v27VO9JzXsPLlnzx4ZOnSorF69WrZv3y7vvvuueHh4yIsvvtghY+yMmFhpB/PmzVNt17V8+XLR6XRy4sQJpey9994Tb29vOXPmjIjc3NLrx29ytsQ4iitXrsgbb7whFy9elJSUFKuJlUuXLomrq6uy1WBFRYUMGDBAxo4de1sxjioxMVGGDBmivIG98cYb4uXlJSUlJR3cs/axZcsWWbFihdy4cUPc3d2tJlb+/ve/i5ubm/IhKisrS1xdXeUf//jHbcU4ivXr18s333yj3C4oKJCQkBCZNWuWUlZSUiJeXl5KkrWmpkYeeeQRGT58+G3FEFHz1q9fL0lJSTJ06FB57bXXGv3BP2PGDJkzZ46I3PygHxMTY/XfoUOHlDonT56UmTNnyrBhw2TChAmydu1aqa+vv6Pjao3du3fL2LFjJS4uTmbOnKn6jCMi8s4778iECRNuq46tMY7ixIkTMmXKFBkyZIhMmTJF9ZlPROSf//ynPPLII8rtESNGWH2+LFu2TIkpKyuT+fPnyy9+8QsZNWqUzJ8/3yETTw0KCgrkxRdflLi4OBk3bpzs3btXdXz37t0SExOjJI5qampk6dKl8uSTT8rIkSNlzpw5VpNKLbXrSIxGo7z22msydOhQSUpKkvXr16uO5+XlSUxMjGRkZChlFotFHn30Ufnwww+ttmmxWGTt2rUyduxYefTRR+Wll16SU6dOtes42lNqaqrV107D52Wz2SwxMTHyxRdfKHVMJpMsWLBAEhISZMSIEbJixYpG7722xDiK+fPnt/j7KDk5WRYtWiQiNxPdTf0Ou3TpklJn//798txzz8mwYcNk8uTJDvk3aXtiYuUOMJvNotPpZNWqVUpZ//79Zfr06aq4xMRE5dsvW2McUVOJlQULFoiPj4/U1dUpZX//+99Fr9dLaWmpzTGOKD8/XwDIpk2blDKj0SjOzs6ycuXKDuzZndFUYiUuLk5+9atfqcqSk5MlPj7+tmIc2UsvvSQDBw5Ubq9YsUJcXFykoqJCKdu4caMAkPz8fJtjiIiIiIjIPu7OC+s6mezsbFgsFkRGRgIA6urqcOLECQwaNEgV99BDDyl7pdsSc7fJzs5G//79VYv9PfTQQzCbzTh27JjNMY6o4TG99fH29PREVFTUXft42yI7O7vF14AtMY7s+++/V947gJvjjYqKgoeHh1L20EMPAYCyoJ8tMUREREREZB/cFcgGFy9exKVLl5qN6d+/Pzw9PRuVV1ZW4rnnnkN8fLyy+JHRaITFYlH2pm/g5+eH69ev2xzTkaqqqpCVldVsTPfu3dGzZ0+b27x+/brV8TYcszXGETX0vbM+3h3BbDajoqLC6pyUl5fDYrFARFqMaWmry87svffew6FDh/CXv/xFKbuXXydERERERJ0REys22Lp1Kz7++ONmY5YvX44HHnhAVVZTU4PRo0ejtrYWn3/+ubK6csN+6DU1Nar46upqZRcBW2I6UlFREV599dVmY0aPHo3Zs2fb3KaTk5PV8QJQzUtLMY7o1se74Weg8zzeHUGn00Gr1Vp9vLVaLXQ6HUSkxRhH9cknn2DOnDlYvXq16oyce/l1QkRERETUGTGxYoPp06dj+vTpt1XHZDJh9OjRuHTpEnbt2oWuXbsqx7y8vODt7Y3CwkJVncLCQoSGhtoc05EiIiLw73//265thoWFNWqzYfwNY7YlxhGFhYUBuDmW3r17K+WFhYVITEzsqG51KI1Gg5CQkGZfA7bEOKJ169bhmWeewcqVK/H000+rjoWFhWHv3r2qMmuvk5ZiiIiIiIjIPrjGSjtoSKrk5eVh586dCAwMbBSTmJiI9PR05bbZbMbmzZsxfPjw24q5mwwfPhxHjx7FxYsXlbK0tDQEBwejT58+Nsc4osGDB8PLywtff/21UpadnY1Lly7dtY+3LYYPH45NmzZBRAAAIoL09HTVnNgS40g+//xzTJ48GR988AGmTJnS6Pjw4cNx8eJFHD16VClLS0uDt7c3Bg8ebHMMERERERHZh0Ya/hohu0lKSsKuXbvw0UcfqZIqYWFhCAkJAQAcO3YMDz/8MCZPnoyRI0fiH//4B/bu3YsjR44odWyJcST79+9HXV0d5s2bh+rqavz5z3+GTqdDbGwsAKC+vh5xcXGoqqrCm2++ifPnz+O1117DqlWrMHnyZJtjHNWyZcvw6quvYsGCBejWrRt+97vfoWfPnti8eXNHd61dVFRU4MiRIwCARx99FDNnzsSoUaMQEBCAqKgoAMD58+cxaNAgJCUlITk5GV988QXS09Nx6NAh9OjRw+YYR7F582aMHj0azz77LCZNmqSUGwwGZfFZABg5ciQuXLiA+fPno6ioCL/97W+xYMECzJo167ZiiIiIiIio7ZhYaQdDhw6F2WxuVD5t2jTVH/9HjhzBkiVLkJ+fj6ioKMyZMwcRERGqOrbEOIonnngCZWVlqjI3Nzf861//Um5XVFRg4cKFyMjIgKenJ6ZMmYKkpCRVHVtiHNW6devw6aefoqqqCvHx8fjNb34DV1fXju5Wuzh58iSmTZvWqDwxMRHz5s1Tbp8+fRqLFi3C+fPn0aNHD8yePVt1uZStMY5g2bJl+PzzzxuV+/n5IS0tTbldXV2NxYsXY/fu3XBzc8P48eORkpKiqmNLDBERERERtR0TK0RERERE1KFqa2uxZcsWAICnpyeGDRvWpva2bt0Kk8kErVZ713wBR0SdFxMrRERERETUoa5du4aAgAAMHToU/fv3x9KlS9vU3uTJk5Gbm4sDBw5YPZOciMiemFghIiIiIqIO1ZBYyc7ORnR0tF3a/Oabb/DEE08wsUJE7Y67AhERERERkV2dOnVKtWsfABiNRmzcuBFFRUU2tSEi2LhxI65du4aioiLs2LFDWfgeAC5evIht27YhNzfX7v0nIrod+o7uABERERER3V08PDwwefJkvPXWW3j55ZcBAC+88ALOnj2LzMxMm9qwWCwYM2YMEhMTkZubi549e2Lfvn1ISUlB9+7dsW7dOoSHh2Pfvn1455138Otf/7odR0RE1DQmVoiIiIiIyK5CQkLwwQcfYNKkSRg2bBiysrKQnp6OQ4cOwWAw3FZbOp0OZ86cgcFgwMaNGzFmzBgkJSXhzJkz0Ov1+Pjjj/HCCy9g5syZt902EZE9MLFCRERERER2N3bsWGzZsgVjx47FDz/8gP/5n/9B7969b7udadOmKQmTIUOGALh59oter1fKqqqqkJ+fj8jISPsNgIjIRlxjhYiIiIiI2sW7776Lc+fOITw8HNOnT29VG76+vsrPzs7OTZbV1NS0oadERK3HM1aIOlhlZSXS09MBAP7+/khMTGxTe1988QUsFgsMBgN++ctf2qOLRERERK3y+uuvIzQ0FKdOncLmzZvx+OOPd3SXiIjsjokVog5WXFyM8ePH4/HHH8fAgQPbnFhJT0/H+fPncfz4cSZWiIiIqMOsX78en3zyCQ4cOIANGzbg2WefxbFjx9C1a9eO7hoRkV3xUiCiTuK9997D22+/3eZ21qxZo6y+T0RERNQRCgsLMW3aNLzzzjvo378/3nzzTURGRiI1NbWju0ZEZHdMrBDZ2eHDh7FhwwZVWXFxMT777DNcu3bNpjbq6urw2WefobS0FBcuXMCmTZvw/fffK8dPnTqFtLQ0nD592q59JyIiIrKHL7/8EuPHj1e2QNbpdPj444+h1+tx8ODBJuvt3LkTO3bsAABotVqMGjUK/v7+ynG9Xo9Ro0ap1lhxcXHBqFGj4OnpqZRt3boVGRkZ9h4WEZFVGhGRju4E0d3kwoULiI6Oxp/+9CfMmDEDIoLHHnsMNTU12LFjB7RadT4zLy8PERERyMnJUVayLysrg4+PD+Li4nD16lX06NEDO3fuxNNPPw2dToe9e/ciPDwcO3bswIIFCzBr1ixVm19++SWee+45lJWV3alhExEREbVaRUUFJk2aBAAICwvD0qVL29Te5MmTUV5eDp1Oh/Xr19uji0RETeIaK0R2FhERgf/93//FtGnTEB8fj23btmH//v04evRoo6RKSwIDA7Fz505otVp89tlnGD9+PCZNmoTjx49Do9Hgww8/xOzZs/HSSy9Bo9G004iIiIiI2leXLl2wceNGu7W3Zs0au7VFRNQSJlaI2sHEiROxdetWjBkzBhcvXsSaNWsQEhJy2+0899xzSjImNjYWAPD8888rSZTY2FgYjUYUFRUhMDDQfgMgIiIiIiIim3CNFaJ28vbbb+Ps2bMYNGgQxo0b16o2fHx8lJ+dnZ2bLKupqWlDT4mIiIiIiKi1mFghaiezZ89GVFQUDhw4gG+//baju0NERERERETtgJcCEbWDlStX4ttvv8Xhw4fx0UcfYerUqTh69Cj8/Pw6umtERERERERkRzxjhcjOcnJy8Otf/xrvv/8+evbsid///vcIDg7G888/39FdIyIiIiIiIjtjYoXIzr7++mv813/9F6ZOnQoA0Ov1+OSTT+Ds7Izjx483WW/z5s3Yvn07AMBgMCAlJQW+vr7KcVdXV6SkpMDb21sp69KlC1JSUuDu7q6UffHFF/juu+/sOygiIiIiIiKySiMi0tGdILqXFRcXY9asWQCAXr164e23325Te5MnT0ZtbS3c3d2xatUqe3SRiIiIiIiImsDEChERERERERFRK/FSICIiIiIiIiKiVmJihYiIiIiIiIiolZhYISIiIiIiIiJqJSZWiIiIiIiIiIhaiYkVIiIiIiIiIqJWYmKFiIiIiIiIiKiVmFghIiIiIiIiImolJlaIiIiIiIiIiFqJiRUiIiIiIiIiolZiYoWIiIiIiIiIqJWYWCEiIiIiIiIiaqX/B4UE3WRLW7OwAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "rng = np.random.default_rng(20260720)\n", "sample_count = min(80_000, len(points))\n", @@ -736,7 +1137,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "ba58a7d4", "metadata": { "execution": { @@ -746,7 +1147,22 @@ "shell.execute_reply": "2026-07-20T19:11:14.383778Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Time', 'Cd', 'Cs', 'Cl', 'CmRoll', 'CmPitch', 'CmYaw', 'Cd(f)', 'Cd(r)', 'Cs(f)', 'Cs(r)', 'Cl(f)', 'Cl(r)']\n", + "rows: 40000\n", + "final iteration: 40000\n", + "final Cd: 0.024150\n", + "final Cl: 1.675002\n", + "final CmPitch: -0.520471\n", + "last 500 Cd std: 3.358e-08\n", + "last 500 Cl std: 1.529e-06\n" + ] + } + ], "source": [ "coeff_path = SIM_DIR / \"postProcessing\" / \"forceCoeffs1\" / \"0\" / \"coefficient.dat\"\n", "coeff_columns, coeff_data = load_force_coefficients(coeff_path)\n", @@ -768,7 +1184,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "51cb325f", "metadata": { "execution": { @@ -778,7 +1194,18 @@ "shell.execute_reply": "2026-07-20T19:11:14.681608Z" } }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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NPvIql1gIiq/9OnAoyuAvau1e0JERGRSer0eX3zxBebPn4/U1FS4u7sjOjoa7du3x/Tp01GpUiVrd5GeR9nXTkRERGR9iQ+t3QMmooiIiCjLkCFDsGPHDnz//fdo164dFAoFMjIysHv3bhw/flyWiEpOTkZ0dDRKlixpxR7Tc8E1ABi409q9ICIiIiDrc9nKmIgiIiIi/PXXX1i5ciV++ukntG/fXiq3tbVFly5dZLGrVq3C+++/Dzc3NyQnJ2PQoEGW7i49T+wcgdJNrN0LIiIiKiKYiCIiIjIzIQRS0jMtvl9HOxujnwq3detWODs747XXXssz7saNGxg6dChWrlyJN954A3FxcWjdurUpuktERERExQATUURERGaWkp6JSp/ssfh+L05tDyd74z7qb9++jdKlSz8zcbVq1SpUrlwZb7zxBgDAw8MDkyZNQo8ePQrdXyIiIiJ68Smt3QEiIiKyPnt7eyQnJz8z7saNG6hcubKs7Ol1IiIiIqLccEQUERGRmTna2eDi1PbPDjTDfo1VrVo1rF27FvHx8XB3d881zsnJCXFxcbIyYxJYREREREQAR0QRERGZnUKhgJO9rcUXY+eHAoB+/frB3t4e06dPN7hdp9MBAGrWrIm//vpLWgeAP/74o3AniIiIiIiKDY6IIiIiIgQEBGDNmjXo168fYmNj0adPH3h4eODmzZvYvn07ypYtiylTpmDQoEGYNWsW+vTpg9GjR+P69ev47LPPrN19IiIiInpOcEQUERERAQB69eqFs2fPQq1WY8qUKRg+fDi2bNmCLl264NNPPwWQdWve/v37YW9vjzFjxmDfvn3YuHEjKleuDJVKZeUjICIiIqKijiOiiIiISFK+fHnMnz8/z5jQ0FCsW7dOVnb+/HlzdouIiIiIXhAcEUVERERERERERBbBRBQREREREREREVkEE1FERERERERERGQRTEQREREREREREZFFMBFFREREREREREQWwUQUERERERERERFZBBNRRERERERERERkEUxEERERERERERGRRRQ6ESWEQGJiIjIyMvKMS09Pz3fbBalDRERERERERERFU4ETUXFxcZg/fz4qVKgAV1dXrFu3zmDcsmXLEBgYCAcHB5QuXRrr169/ZtsFqUNERETmd+PGDQQFBSE6OtraXSEiIiKi51CBE1E///wzbt++jW3btuUas23bNowcORKLFy9GcnIyJkyYgL59++Lo0aMmrUNERESmER4ejkGDBqFq1aoICwtDp06d8M033yAtLQ1A1mjlqKioZ46EJiIiIiIypMCJqLfffhsLFixAhQoVco1ZsGABunbtih49ekClUmHo0KGoW7cuFi5caNI6REREVHhr1qxBgwYNoFarsWLFCvzyyy8YOXIkzpw5g88++8za3SMiIiKiF4CtuRoWQuDYsWOYPXu2rLxly5ZYu3atyeoQERFR4d25cwdDhgzBxx9/jKlTp0rl5cqVQ/v27ZGZmWnF3hERERHRi8JsiaiEhASkpKTAx8dHVu7j44OHDx+arA4A6HQ66HQ6aV2r1Rai50RERCYmBJCebPn92jkBCoVRoT/++CP0ej3Gjh1rcLuNjY0pe1asZWRkIDo6Gp6ennBycsozNiEhARqNRlamVCoRGBhosN24uDh4eXlBqeSDkYmIiKhoMlsiKpter8+xrnjGRXF+68ycORNTpkwpeCeJiIjMKT0ZmJEzcWB2E+4B9s5GhV64cAGlSpWCi4uLmTtVfEVHR2PZsmVYtWoVIiMj8f3336Nfv3551vnyyy8xbdo02Zd0arUaFy5ckMXNnDkTM2fOhF6vh0qlwqxZszBkyBCzHAcRERFRYZjt6zJXV1e4uLjkGMn08OFDBAQEmKwOAIwfPx4ajUZaIiMjC38AzyQssA8iIiLLyMjIgEqlsnY3Xmh79uyBQqHI9wNYatasibt370rL00motWvXYurUqdi6dSsSExOxbNkyvPPOO/jzzz9N2X0iIiIikzDbiCiFQoHGjRtj3759GDVqlFS+d+9eNGnSRFpPS0tDeno6nJ2dja7zNJVKZcGLZ+NucSAiIpLYOWWNTrLGfo0UEhKC7du3Q6/X87YuMxkwYECB68bHx0OlUsHR0THHtiVLlqB79+5o1aoVAOCVV17BkiVLsHTpUrRs2bLA+yQiIiIyhwJfaWZmZiIxMRGJiYkAsuZpSkxMlM3VNHbsWOzevRtLly5FZGQkpk2bhgsXLmD06NFSzIwZM1CiRIl81SEiInquKBRZt8hZejFyfigA6NmzJ1JSUrB69WrznQcqkBMnTiA4OBhqtRrVq1fHH3/8IW3T6/U4efIkGjduLKvTtGlTHD9+3NJdJSIiInqmAieiDh06BH9/f/j7+8PZ2RkjR46Ev78/xowZI8W0atUK69evx/Lly1GjRg3s3LkTO3fuRLVq1aQYe3t72XwUxtQhIiIi06pTpw7ef/99jBkzBj///DPS09MBZD0A5IcffsCyZcus3MPiqVy5cti/fz+0Wi00Gg1at26Nzp0749KlSwCyJjPX6XTw9vaW1fP29kZMTEyu7ep0Omi1WtlCREREZAkFvjWvRYsW0miovPTs2RM9e/bMdfuECRMwYcKEfNUhIiIi01u4cCEqV66MTz/9FAMGDICzszMyMzPRrVs3TJo0ydrdK5ZeffVV6WdHR0fMnTsXW7ZswXfffYdZs2ZJt1FmZGTI6qWnp+f5pEM+6IWIiIisxexPzSMiIqLnx9tvv423334biYmJSEtLg6enp2x7aGgoIiMj83yICJmPUqlE6dKlcevWLQBZD3pxc3NDdHS0LO7BgweyqQ+eNn78eHzwwQfSularRXBwsFn6TERERPQkzkZKREREObi4uORIQgGAra0tgoKC8hxtQwWn1Wpx795/E9vr9XrZ9sTERJw/fx5lypSRypo1a4a9e/fK4n799Vc0a9Ys1/2oVCq4ubnJFiIiIiJLYCKKiIiIyAJ0Oh3u3r2Lu3fvAgDi4uJw9+5dxMXFSTFffPEFKlWqJK23bt0aP/30Ey5duoRDhw6hW7duEEJg2LBhUsyECROwb98+zJgxA+fOncOYMWMQEREhm7eTiIiIqKhgIoqIiIjIAk6cOIEGDRqgQYMGKFGiBGbPno0GDRpg5syZUoybm5vslrrly5dj37596N27N8aMGYMKFSrg3LlzstvoGjZsiJ07d2Lv3r3o1q0bLly4gH379iEsLMyix0dERERkDIUQQli7E6am1WqhVquh0WhMP9Q8NgJYWAOwdwEmRJm2bSIieu6lpqYiIiICISEhcHBwsHZ36Bnyer3Mej1RxBSnYyUiIiLzMPZ6giOiiIiIiIiIiIjIIpiIIiIiIiIiIiIii2AiioiIiIiIiIiILIKJKCIiIiIiIiIisggmooiIiIiIiIiIyCKYiCIiIiKr2717N6ZPn16oNrZu3YrPP//cRD0iIiIiInOwtXYHiIiIqOhIS0vD1q1bceLECaSlpaFs2bLo3LkzypYtW6h2tVotPvjgA2nd3d0dVatWRZ8+fWBvb48zZ85g69atmDhxIgBg586dOHv2LMaPH2/0Pk6ePInDhw/jo48+KlRfiYiIiMh8OCKKiIiIAADnz59HxYoVMX36dLi6uiI0NBQRERF4+eWX8fXXXxeq7eTkZKxYsQKurq5o0KABvL298emnn6JBgwbQ6XTo1KkTJk2aJMWHh4dj27ZthT0kIiIiIipiOCKKiIiIkJSUhE6dOqFGjRrYvHkzbG3/u0TIzMzErVu3AAC3b9/GtGnTMGnSJGzfvh3Xrl1DuXLlMHToUGg0GqxatQpRUVGoV68e+vXrl2M/7du3R4cOHQAAL7/8MipXroytW7fCzc0N586dQ9euXXHgwAFs3boVd+7cweDBgwEAgwYNQqNGjZCUlIQff/wR586dQ3BwMAYNGgRvb2/ZPi5duoQtW7bg0aNHaNWqFV566SUznTUiIiIiyi+OiCIiIiKsXbsWd+/exYIFC2RJKACwsbGRbs2LiYnBihUr0Lx5c0RFRSE4OBgzZszASy+9hGbNmkGj0aBEiRIYPXr0M+d8qlChAmxsbBAZGSndmgcAfn5+CA4OlkZPNWjQAD4+Prh//z6qV6+Ob775BkFBQYiNjUXLli2h0+mkNs+fP49XXnkFNjY2cHZ2xquvvorly5eb9mQRERERUYFxRBQREZGZCSGQkpFi8f062jpCoVAYFXv06FH4+/ujTJkyRsVPnz5dGvHk5eWFt956Cxs3bkTPnj2z9u3oiC+//FKa88mQffv2ITMzE1WqVME///wjlVeoUAG1a9fG/fv3pRFRANCvXz+4urri6NGjsLOzAwCMHj0aNjY2UkxKSgr27t0Lf39/AFmjub799lsMGTLEqOMiIiIiIvNiIoqIiMjMUjJSUP+n+hbf77HXj8HJzsmoWK1WC19fX6Pbbt26tfRzaGgoAKBVq1aysrt37+aot2DBAmzcuBGPHz/G7t270b9/f3To0EGWiMrNrl278Omnn0pJKCBr9NSTqlSpIiWhACAsLAzfffed0cdFRERERObFRBQRERHB19cX+/btMzre0dFR+lmpVBosy8zMzFGvYsWKqFy5Mtzd3TFjxgxUrFjR6H3Gx8fnSDzl1S8g67ZCQ/0gIiIiIutgIoqIiMjMHG0dcez1Y1bZr7HatGmDpUuX4siRI2jcuLHZ+vTkZOV5MXRLYYkSJXDjxg1zdIuIiIiILISTlRMREZmZQqGAk52TxRdj54cCgK5du6JBgwYYPnw4oqOjZdvu3r2LP//809SnJU+enp6IjY2Vlb3++utYtmwZ7t+/L5UdOnRINlk5ERERERVtHBFFREREUCqV+OWXXzB48GCEhoaiefPm8PDwwM2bN/Ho0SN8+eWXFu1P+/btMWbMGHTq1AmBgYEYNGgQJk+ejAsXLqBy5cpo0aIF4uLiAAB79+61aN+IiIiIqOCYiCIiIiIAWU+/27JlC27duoWTJ08iLS0NZcuWRa1ataQJwkuXLo3ly5fDyem/SdDLlSuH5cuXyyYRr1KlCr755htpXa1WY/ny5ahSpYrBfXfq1Ek2X1SZMmVw/fp1/PXXX9BoNPDx8YGjoyN++eUXnD59GhcvXkTp0qXRqFEjaY6q7t27o2HDhrJ2GzZsiC+++KLwJ4eIiIiITEIhhBDW7oSpabVaqNVqaDQauLm5mbbx2AhgYQ3Azhn43z3Ttk1ERM+91NRUREREICQkBA4ODtbuDj1DXq+XWa8nipjidKxERERkHsZeT3COqPzKx3wbRERERERERET0H7PempeWlga9Xp+j3MbGRjZ8/0mZmZlIT0+XlSkUCqhUKrP0kYiIiIiIiIiILMOsI6Lq1q0Ld3d32eLo6IjXXnst1zozZ86Ek5OTrE6pUqXM2U0iIiIiIiIiIrIAsyaizpw5g9TUVGkJDw8HALzyyit51qtXr56s3tOPkSYiIiIiIiIiouePReeIWrFiBby9vdG9e/dnxr6Ac6gTERERERERERVrFktEpaen4/vvv0f//v1hb2+fZ2x4eDgcHR3h5uaG1q1b49SpUxbqJRERkWkYmiORih6+TkRERESWZdbJyp+0Y8cOPHz4EIMHD84zLigoCOvWrUP79u2h0Wgwfvx4tGjRAmfPnkVISIjBOjqdDjqdTlrXarUm7TsREZGx7O3toVQqce/ePfj4+MDe3h4KPnG1yBFCIC0tDTExMVAqlc/8koyIiIiITEMhLHQPXOfOnaHVanHo0KF81cvIyEDp0qUxcOBATJ8+3WDM5MmTMWXKlBzlGo0Gbm5uBepvruJuAV9WB+ycgf/dM23bRET0QkhLS8P9+/eRnJxs7a7QMzg5OSEgIMBgIkqr1UKtVpvneqKIKU7HSkREROZh7PWERUZERUVFYc+ePVi5cmW+69ra2qJ8+fK4ceNGrjHjx4/HBx98IK1rtVoEBwcXqK9ERESFZW9vj5IlSyIjIwOZmZnW7g7lwsbGBra2thyxRkRERGRBFklErV69Gq6urujdu3eObdkX6SqVymBdnU6HS5cuoXbt2rm2r1Kpcq1PRERkDQqFAnZ2drCzs7N2V4iIiIiIigyzT1YuhMDKlSvRr18/ODo65tg+ffp0+Pn5Sesvv/wyfvvtN8TExODSpUvo27cvkpKS8Pbbb5u7q0REREREREREZEZmT0QdOnQIUVFRGDJkiMHttra2cHBwkNY/+eQTLFmyBFWrVkXnzp1ha2uLEydOIDQ01NxdJSIiIiIiIiIiM7LYZOWWZNYJNzlZORERUbFgruuJzMxMxMTEwN3dXfZlXF7S0tIghDA4FUFSUhISEhJkZUqlEr6+vkb3iZOVExERUWEZez1h9hFRRERERAQ8fPgQ06ZNQ9myZREQEICNGzc+s86vv/6K5s2bw9PTEx4eHqhRowb++OMPWcz8+fNRsmRJ1KhRQ1qaNm1qrsMgIiIiKhQmooiIiIgsYOfOndDpdDh48KDRddavX4/p06cjLi4OWq0WnTp1QpcuXXDz5k1ZXK1atRAdHS0tV65cMXX3iYiIiEzCIk/NIyIiIiru3nzzzXzXWbVqlWx96tSpmDt3Lv7880+UKVNGti0xMRH29vawt7cvVD+JiIiIzIkjooiIiIieE5GRkUhPT5c9cRgATp48CT8/P7i4uKB27do4cOCAlXpIRERElDcmooiIiIieA3q9Hu+88w4qVqyIdu3aSeVly5bF3r17odVqERcXh8aNG6NDhw64fPlyrm3pdDpotVrZQkRERGQJTEQRERERFXFCCLz99tsIDw/H5s2bZbff9enTBy1btoSNjQ2cnZ2xYMEC+Pn54bvvvsu1vZkzZ0KtVktLcHCwJQ6DiIiIiIkoIiIioqJMCIHhw4dj69at2LdvHypUqJBnvFKpREhICCIiInKNGT9+PDQajbRERkaauttEREREBnGyciIiIqIiIjExEcnJyfD19ZXK3nvvPWzcuBH79u1D1apVc9QRQkChUEjrSUlJuHDhAho0aJDrflQqFVQqlWk7T0RERGQEjogiIiIisoC0tDRER0cjOjoaAKDRaBAdHS2bn2nu3LkoX768tD5y5EisWbMGP/30E3x9faX6iYmJUkybNm3w888/49q1azh69Ch69OiBzMxMDBs2zHIHR0RERGQkJqKIiIiILODYsWOoUaMGatSoAT8/P0ybNg01atTAlClTpBgXFxfZE/G2bdsGZ2dnvPHGG1LdGjVq4KuvvpJili5dip07d6JLly549913ERISgjNnzqBkyZIWPT4iIiIiYyiEEMLanTA1rVYLtVoNjUYDNzc30zYedwv4sjpg5wz8755p2yYiIqIiw6zXE0VMcTpWIiIiMg9jryc4IoqIiIiIiIiIiCyCiSgiIiIiIiIiIrIIJqKIiIiIiIiIiMgimIgqsBduai0iIiIiIiIiIrNiIirfFNbuABERERERERHRc4mJKCIiIiIiIiIisggmooiIiIiIiIiIyCKYiCIiIiIiIiIiIotgIoqIiIiIiIiIiCyCiSgiIiIiIiIiIrIIJqKIiIiIiIiIiMgimIgiIiIiIiIiIiKLYCKKiIiIiIiIiIgsgokoIiIiIiIiIiKyCLMmoqZPnw6FQiFb3N3dn1lvzZo1KF++PFQqFapUqYIdO3aYs5tERERERERERGQBZh8RVb9+fQghpCU+Pj7P+F9//RVvvfUWJk6ciOjoaAwaNAg9evTAqVOnzN1VIiIiIiIiIiIyoyJ3a97cuXPRpUsX9O/fHx4eHvjggw9Qo0YNLFiwwNpdIyIiIiIiIiKiQjB7IurMmTNwdXWFj48POnfujHPnzuUaK4TA33//jRYtWsjKW7dujb/++svMPSUiIiIiIiIiInMyayLK398fK1euxJ07d3D8+HGo1Wo0adIEkZGRBuMTEhKQlJQEHx8fWbmvry+io6Nz3Y9Op4NWq5UtRERERERERERUtJg1ETV48GD06dMHHh4eCAkJwerVq+Hi4oLly5fnqx0hBBQKRa7bZ86cCbVaLS3BwcGF7ToREREREREREZmYReeIsre3R/ny5XHt2jWD211dXeHs7IyYmBhZeUxMDPz8/HJtd/z48dBoNNKS24grIiIiIiIiIiKyHosmotLS0nD16lUEBgYa3K5QKNCgQQP8+eefsvI//vgDjRo1yrVdlUoFNzc32WIumpR0AEB6pt5s+yAiIiIiIiIiehGZNRHVu3dvHDx4EAkJCYiIiMDAgQMRHx+PoUOHSjGTJ0+Gu7u7tP7hhx/il19+wZo1axAXF4f58+cjPDwco0aNMmdXjZagywAApGcKK/eEiIiIiIiIiOj5YtZE1KhRo/DZZ58hODgYjRs3RnJyMo4dO4awsLBc63To0AErVqzAtGnT4O/vjxUrVmDTpk2oXbu2ObtKRERERERERERmphBCvHBDe7RaLdRqNTQajclv07sbcRlB39VHslDBacpDk7ZNRERERYc5ryeKmuJ0rERERGQexl5PWHSOKCIiIiIiIiIiKr6YiCIiIiIiIiIiIotgIoqIiIiIiIiIiCyCiSgiIiIiIiIiIrIIJqKIiIiIiIiIiMgimIgqIAVeuIcNEhERkQVkZmYiOjoaqampRtfR6/WIi4tDXg87NiaGiIiIyNqYiMo3hbU7QERERM+hhw8fYtq0aShbtiwCAgKwceNGo+p9/vnn8PLyQmBgIPz8/LBy5coCxRAREREVBUxEEREREVnAzp07odPpcPDgQaPr/Pzzz5g0aRLWr1+P5ORkLFiwAEOGDMGBAwfyFUNERERUVCjECzh+W6vVQq1WQ6PRwM3NzaRtR0VcQYnv6iFF2MNxSoxJ2yYiIqKiw5zXEwqFAt9//z369euXZ1zTpk0RFBSEtWvXysoCAgLw888/Gx3zLOY8ViIiIioejL2e4IgoIiIioiJIr9fj5MmTaNKkiay8WbNmOH78uNExREREREWJrbU7QEREREQ5JSYmIjU1Fd7e3rJyHx8fPHz40OgYQ3Q6HXQ6nbSu1WpN2HMiIiKi3HFEFBEREVERpFBkPSAlIyNDVp6RkQEbGxujYwyZOXMm1Gq1tAQHB5uy60RERES54ogoIiIioiLI1dUVbm5uePDggaz8wYMHCAwMNDrGkPHjx+ODDz6Q1rVaLZNRREREuRBCICMjA5mZmdbuilXZ2NjA1tZW+iKsoJiIIiIiIioiEhMTkZycDF9fXwBZk47v3btXljTas2cPmjVrJq0bE/M0lUoFlUplhiMgIiJ6saSlpeH+/ftITk62dleKBCcnJwQEBMDe3r7AbTARRURERGQBaWlpiI2NldY1Gg2io6Ph5OQkPVlm7ty5WLBgAeLj4wFkjVxq0aIF5syZgy5dumD16tW4fv267Gl4xsQQERFR/un1ekRERMDGxgaBgYGwt7cv9Gig55UQAmlpaYiJiUFERATKlSsHpbJgsz0xEUVERERkAceOHUPv3r0BAH5+fpg2bRqmTZuGvn37Yt68eQAAFxcX+Pn5SXUaN26M7du3Y8aMGViyZAnKlSuHvXv3okKFCvmKISIiovxLS0uDXq9HcHAwnJycrN0dq3N0dISdnR1u376NtLQ0ODg4FKgdhRBCmLhvVqfVaqFWq6HRaKRvGE0lKuIKSnxXDynCHo5TYkzaNhERERUd5ryeKGqK07ESEREZKzU1FREREQgJCSlw0uVFk9c5MfZ6gk/NIyIiIiIiIiIii2AiioiIiIiIiIiIsHr1arRp08as+2AiKp+K6bxkRERERERERPScEEJg7dq16NKlC8qXL48aNWqgT58+OHDgQJ71EhMTER0dbda+MRFFRERERERERPSCEEKgT58+GDlyJDp16oRt27bhhx9+QI8ePTB16lT8/fffVu0fn5pHRERERERERPSC+Prrr/Hzzz/j+PHjqFOnjlRepUoV9O7dG5mZmVLZjz/+iPnz5yMtLQ0NGzZEUFCQ2fvHRBQRERERERER0TMIIZCSnvnsQDNwtLOBwsi5glatWoX27dvLklBPsrGxAQDs2bMHgwYNwvz589GiRQts2LABkydPRsWKFU3Wb0OYiCIiIiIiIiIieoaU9ExU+mSPVfZ9cWp7ONkbl8K5cOEC3nnnnWfGzZw5EwMHDsTw4cMBAJ9++ikOHz6M+/fvF6qvz8I5ooiIiIiIiIiIXhAZGRlQqVTPjDtz5gyaNGkiK2vatKm5uiUx64ioCxcuYM6cOThw4ADS09NRt25dTJ8+HVWqVMm1zqxZszB58mRZmbu7u9lnbSciIiIiIiIiyo2jnQ0uTm1vtX0bKyQkBNevX39mXFpaGuzt7WVlT6+bg1lHRI0aNQpt2rTB/v378ffff8PNzQ0tWrTIc5hXRkYGqlevjvj4eGm5ffu2ObtJRERERERERJQnhUIBJ3tbqyzGzg8FAD179sSOHTsQFRWVZ1xoaCjOnTsnKztz5kyBzk1+mDURtXfvXrzxxhsoXbo0goOD8c0330Cj0eC3337Ls55CoYCDg4O0GDOkjIiIiIiIiIiouPv4449RpkwZdO/eHf/8849UHhkZiYkTJyI8PBwAMGzYMHz11VfS+m+//YZNmzaZvX8WnSNKq9UiMzMTLi4uecadO3cOPj4+CA4ORs+ePXHlyhUL9ZCIiIiIiIiI6Pnl6uqKw4cPo379+mjTpg3c3d3h5uaGpk2bwsXFBWFhYQCAIUOG4LXXXkO9evXg7u6ODz/8EP379zd7/yz61LwxY8YgMDAQ7dvnfk+lt7c3Fi9ejA4dOiA+Ph4TJ05Ew4YNcf78eQQGBhqso9PpoNPppHWtVmvyvhMRERERERERPQ/c3d2xaNEiLFy4ELGxsXB0dISTk5MsxsbGBosXL8acOXOg1+vh4uKCpKQkJCYmmrVvFhsRNXXqVGzevBk///xzniOi3nnnHbz55psICAhAxYoV8dNPP0GlUuHrr7/Otc7MmTOhVqulJTg42ByH8Gx3TwE/9wduH7XO/omIiIiIiIiI/qVQKODl5ZUjCfUkJycnKU/j7OwMPz8/s/bJIomoWbNmYfbs2fjll1/QqFGjfNVVqVSoWLEirl69mmvM+PHjodFopCUyMrKwXS6YX0YBF7cBm4cCmRnW6QMRERERERERURFl9kTU7NmzMXXqVGzfvh0tW7bMd/2MjAxcu3YN/v7+ucaoVCq4ubnJFnNTQMgLEmOA6LNZP2vuAJe2m70PRERERERERETPE7MmoubNm4epU6fil19+QevWrQ3GTJ8+XZZk6tevH44fPw6dTof79+9jyJAhePToEQYPHmzOrhovt0cmPrwgX98/y/x9ISIiIiIiIiJ6jpg1ETVx4kSkpqaiU6dOcHBwkJbp06dLMRkZGUhNTZXWBw0ahI8++gienp6oXLky7t+/jyNHjqBy5crm7Grhxd6Ur2fqDMc9LfIEsH82cHE7IMSz44mIiIiIiIiInlNmfWpefHw8hIHkiq3tf7udOHEixo8fL623atUKrVq1ghACitxGHxVFj29k/b9yD+DCZiDuNpASDzi6517n1HfAjhH/rTcZDbSZbMZOEhERERERERFZj1lHRKlUKtlIqOzlyUSUra0tVCpVjrrPVRIKAGIjsv5fqhHgWRaAACKP5R6fGAPs/jjr5xJ1sv5/eD5waYdZu0lEREREREREZC0WeWrei8hBkQ6s6QakJWcVaKOy/q8OAoLrZ/0ceTz3Bi5tAzJSAP9qwODfgUbvZ5XvGgukp+S9c72+UH0nIiIiIiIiIrIGJqIK4+afwNl1WT8nPsz6v4sfEFwv6+e8RkRd2Jr1/6q9siZAbzkRUAcDCfeA48sN1zm8AJgZDEz1AL5qCtw9ZThOiKz+6BLze0RERERERERERGbDRFRhJcdmjVBKeiIRVbJB1s93TwKZ6TnrJMYAt49k/Vypa9b/7RyA5v/eqndkAZCq/S9eCOCPz4DfPwV0/5ZHnwVWdQAubJHH/fMTsKAqMLccMCcE2DoceHRNvv9ULRD+I7D3E+DAHODGn0BGmuHjy0gDUjVAWhKQmWH0aSEiIiIiIiKiomv37t2yh8lZilknKy8WhB5IiQX0/yZpXHwB1wDAwR1IjQfunwWCasvrXN6RVS+wJuBR+r/y6n2AI18Cj68BB+cA7aZnJZf2TcmaPwoA2kwBKr0M7JkIXNkJbBgI3P4LCKwFnN8EXN/7X3uZacA/PwLnNgC13wQCqgMxl4BTawCdRt4nlRsQVDcrkZaRAmjuAvGRQOIDAE9MOG/rANg5AfYugL0zYOf433kQ+qz+Zv+sUAAKm6z/K20AhfLfdeW/iyLr/0DWz1D8Vw5F7mU56mSXKZ5RpgQUwL//+bfcyPX8xOa5Xpi6puhHPmLzYtQcbkWtHVO2VdTaMWZXRey4yLDnbX7EosCnIlCyvrV7QURERFTk3L9/H5s3b8aVK1fg5OSEihUrolevXnB2dgYAnDlzBlu3bsXEiRMt2i8mogpLp/03WQPAyQuwscv6uXQT4PIvwK2DORNR2bflVeomL7exBdrPAH7qDRxdAniHAXdPAKe/y9reYRbQYFjWz69+D+yZABz7Cjj+zRNt2AMtxgMNhgPR54ADs4DrvwPHv5bvy6scULZVVrLsxp9ZI7pu7Hv28WakZi0psc+OJSIiMrd6Q5mIIiIiInrKihUr8P7776Nt27Zo0aIFMjMzcfDgQUyZMgW7d+9GWFiY1frGRFQ+5fiuOjEGSIjO+tnF77/ykGZZiaiIg0CT0f+VJz0Cbh3K+jn7trwnlW8H1OibNZJp+3v/lXeaC9Qb8t+60gboOBsIbQOEf591i6BnCNBoBOBdLismuC7Qd2NWgunMOiAlPmsEU43XgXLtAeW/I4v0eiD6DHD/TFaMjX3WpOvuwVnzVqlcs0Z8ZeiAtMSsCdrTkrJ+Tk/5b/TR0yOYpNFRAhCZ/42U0v/7M57YDvwXD/Fv2ZPbRS7bn/7ZmPqANMpLGuz1RB8KvZ7fushnvCn3nct5yMvT/TYc9Py1Y8q2inU7VGA8vwXjW8naPSAiIiIqUg4cOIChQ4di2bJlGDp0qGxbbGwshJWvO5mIKqzEB/KJyrOFNMv6/+2jWfMs2dpnrV/697a8gOpZiSNDXlqQNbrq4lZAXRJo+C5QoZPh2HJts5bcKBRZyarQNrnHKJVZtwkG1sw9BqqsW/GcPPOIISIiIiIiIiJr+vzzz1G1alUMGTIkxzZPT+v/Tc9EVGElPvzv1rwnE1E+FQBnHyApBog6CZRqlFV+cWvW/5++Le9JtvZAu2lZCxERERERERFZnxBAerJ19m3nZPR8okePHsWrr74KRRGdf5SJqMJKfPBEIsr3v3KFImtU1PlNwM0DWYmohAdZt+oBQOXulu8rERERERERERVMejIwI9A6+55wL+suJSNotVr4+vo+O9BKlNbuwHMv+VHWE+YAwNVfvi379rzLO7Mypxc2Z92WV6JO7rflEREREREREREVkK+vL+7cuWPtbuSKI6JM4cH5rP8/eWseAFR8Gdj9MfDgHHDnKHDs3yfXVX/Nsv0jIiKiIkMIgcTERLi6uj4zNj4+HhkZGTnK7e3t4ebmBgBISUlBUlKSbLtSqSwSc0AQERG9UOycskYmWWvfRmrTpg1+//13pKamwsHBwYydKhiOiDKF2JtZ/3d5auibkydQpVfWz6s6AnERgKNn1lPriIiIqNiZP38+vL294eXlhYCAAKxZsybP+I4dO6JChQqyxcfHB2+99ZYUM2/ePAQEBMhi6tata+5DISIiKn4Uiqzb46yx5GO+p//973+Ii4vDmDFjcnyhdfjwYdy6dcvEJyZ/OCLKlFz8c5Y1HA6cXQfo/33x20w2+r5OIiIienFs3LgR48aNw5YtW9C+fXv8+OOPGDRoEEJCQtC0aVODdY4ePSpbP3fuHKpVq4Y+ffrIymvXro2///7bbH0nIiKi50f58uXx22+/4c0330RISAgaN26MjIwMXLp0CT4+Pvjpp5+s2j8mogrD0RNIif1v/ekRUQDgVxl47Sfg1GqgdFOgVn+LdY+IiIiKjkWLFqF79+7o1KkTAKB///745ptvsHjx4lwTUU9bsWIF/Pz80KVLlxzbUlJSYGdnB1tbXt4REREVdw0bNsTFixdx6tQpXL16FU5OTqhUqRLCwsKkmE6dOqFixYoW7xuvVAqjRC3g+u9ZP9s5AQ5qw3Hl22ctREREVCzp9XocP34cn3/+uay8efPm+PHHH41qQ6fT4YcffsDgwYNhZ2cn23bq1Cl4enpCr9ejRo0amDdvHpo0aWKy/hMREdHzR6lUom7durnesl+tWjVUq1bNwr3iHFGFU6L2fz+7Bebrnk0iIiIqPhITE5GamgofHx9ZuY+PD2JiYoxqY+vWrYiNjcXgwYNl5SEhIdi1axcSEhIQExODOnXqoF27drh69Wqubel0Omi1WtlCREREZAlMROWTLNf0dCKKiIiIyADFvxcQmZmZsvKMjAwolcZdjq1YsQItWrRAaGiorLxv375o27YtbG1t4ebmhoULF8LHxwerV6/Ota2ZM2dCrVZLS3BwcP4OiIiIiKiAmIjKL/0TM877PzGEzaeC5ftCREREzwVXV1e4urriwYMHsvIHDx4gICDgmfVv376Nffv2YciQIc+MtbGxQZkyZXDz5s1cY8aPHw+NRiMtkZGRzz4IIiIiIhNgIiqfFE8mohzcgMYjs56Wx0nIiYiIKA9NmzbF77//Liv77bffZBOVJycnIzY29umqWLVqFdzd3dGjR48c24QQsvXk5GRcvHgRpUuXzrUvKpUKbm5usoWIiIjIEpiIyq8nE1FKW6DtVODDK4B/Vev1iYiIiIq8cePG4bfffsMXX3yBa9eu4X//+x+uXr2KMWPGSDFz5sxBmTJlZPX0ej1WrVqF/v37Q6VS5Wi3Xbt22Lx5MyIiInDixAn06tULaWlpGDZsmNmPiYiIiCi/mIjKJ4X+ibkdlHzoIBERERmnadOm2LJlCzZs2IAWLVrgyJEj2LNnDypVqiTFODk5wcvLS1bvyJEjSEpKyvW2vC+//BKbNm1C27Zt8dZbbyEwMBBnzpxBqVKlzHo8RERExYVer7d2F4oMU5wLhXh6PPcLQKvVQq1WQ6PRmHyo+cMrR+G7tkPWyqfxfFIeERHRC8qc1xNFTXE6ViIiImPp9Xpcu3YNNjY28PHxgb29vfQAkuJGCIG0tDTExMQgMzMT5cqVy/HAFWOvJzikJ58UmU/cmldM34BERERERERELzqlUomQkBDcv38f9+7ds3Z3igQnJyeULFnS6Kf+GsJEVD6le/73yOQBK49j8es14epgZ8UeEREREREREZE52Nvbo2TJksjIyEBmZuazK7zAbGxsYGtrW+hRYWZPRG3btg2fffYZbt++jXLlymH69Olo0aKFyetYinBwR/3UxUiFPTRXY7D6yC0MaVYG28/cQ0lPJzQo4/XsRoiIiIiIiIjouaBQKGBnZwc7Ow5CMQWzTlZ+4MAB9OrVC/369cPff/+NVq1aoUOHDjh//rxJ61iSXi/wAJ7QwAUA8HfEYyzcdw1jN57Fa9/8jQ0nI63cQyIiIiIiIiKiosmsk5V36tQJSqUSv/zyi1RWs2ZN1KxZEytXrjRZnaeZc8LNhNR0VJ38W67bbZQKLO1bC+0r+8vKH2hT8dOxO9hzIRp3YpPh6WyPlmG+eLVuMKqUUJu0j0RERFR4xWkC7+J0rERERGQeRWKy8sOHD2PKlCmysrZt22Lr1q0mrWNJrg522PpuY5yP0mDlkQjcjEkCAJTzdUHlQDds/ece3v7+FNpU9EPnav5ITsvE3zdj8ev5+0jP/C/nl5yWgu//vo3v/76NqiXUeLVuMJqX90GQhyM0Kek4eO0R9l16gJO34vAwIRVKhQJO9jYo5+eKkp5O8HS2h4eTPZzsbXA3LhkPtDpoUtKhSUmHs8oG/m6O8HNTQe1oBwEgJS0TqRmZSE3LREp6JlLTsx65aG+rzFpslFAoskZ86QWgFyJr0Wf9bC6FubVUgYJXLtR+OUc9EVGR0aCMF7rWKGHtbhARERGRkcyWiNJqtUhISICfn5+s3NfXN9fZ5gtSBwB0Oh10Op2sHXMRQmDb3S8R4ByAb97og15fHUV8cjpGty2PdpX84Ghvi3Un7uD3Sw/w+6UHsrp1S3ugX4NSqByoRmRcMjafjsKe89E4F6XBuSgNAMBWqUCG3lDiR0CXocfxiFgcj4g12/ERERE9T+xtlExEERERET1HzD5Z+dOP9LO1tcWz7gbMb52ZM2fmGEVlLlfjrmLj1Y0AgKEDhmL3yKaIiktBndKeWX3pURWDm4Zg1ZEIXH+YCAc7G1QOdEP7yv6oFuQutRPq64KWYb54nKjDptN3sft8NM7d1UhJqFBfF7St5Icmod4I8XaGABCXlIYr0Ql4kJCKuKQ0PE5KQ5IuA4Hujijh7gh3J3u4OdgiUZeB+5pUxCTooE1Jh0KhgKO9Eg62NnC0t4GDnQ1UtlnnOD1TIC1Dj7R/Z/9XKhRPLIBSqYBCUbjRR7kRKPhIKzMO0nrGfq20YyIiMqjqE5+tRERERFT0mS0R5erqCkdHRzx69EhW/vDhQ/j6+pqsDgCMHz8eH3zwgbSu1WoRHBxciN7nLkOfIf0shIBKlQJfz0QAnlJ5WR8XTO9W1aj2vFxUGNqsLIY2K4vU9EzEJqXBzdEOLqqcL00Jd0fOJ0VEREREREREzy2zPTVPoVCgbt26OHTokKz8wIEDqF+/vsnqAIBKpYKbm5tsMRdb5X8JojR9GgbsHoCXt76M8IfhhW7bwc4Gge6OBpNQRERERERERETPO7MlogBg5MiR2Lp1K7Zv346MjAysWrUKx44dw/vvvy/FzJo1C6VKlcpXHWuys7GTfr70+BJuaW8hU2Ri2/VtBuMz9ZnYH7kfW69vhUansVAviYiIiIiIiIiKHrMOvenRowfmzp2Lt956C3FxcfD398d3332Hxo0bSzGpqanQaDT5qmNN9kp76ec/7vwh/Xwp9lKO2HR9Okb/ORoH7h4AAHg6eOKrNl+holdF83eUiIiIiIiIiKiIUQgLzb6ckpICR0fHHOWpqanQ6XRQq3POfZRbnWfRarVQq9XQaDQmv03vfuJ9tNvUDgDg7eiNRylZ81nZKm1x/PXjshFTs4/Pxg+XfoCd0g7ejt64n3QfXg5eWNt5LQJcAnLdh17ocT3+OmyVtghxC4FCYfqJwomIiChv5ryeKGqK07ESERGReRh7PWGxyYhySyg5ODjAwcEhX3WKiuwkFJA1ifkNzQ1U8KwAALgRfwM/Xf4JAPB5889R378+Bvw6AFfjrmL4vuH4vuP3cLF3ydHmH3f+wKzjs3A/6T4AwNfRF61LtcZrYa+hjHsZKS45PRmHog7h4N2DSEpPgoOtAzwdPFHeozzCPMIQ4ByAG5ob0u2DSelJSEpPgq3SFv7O/ghwDoC/sz/SMtMQnRSNuNQ4JGckIzUjFXroYauwha3yv8VGYQNbpS0EBDL1mdALPTL0GTmefPd0XjN7u/T/3LYLw3FPtp8jJrdY6X85c6y5Pakvt3xsfp7sl9828h1vqDyX7uWrjVz6kt828tMXkxx7PvdJBcfzaVp8+qZptS7ZGv0q9bN2N4iIiIjISJwV2wRC3UNxPf46Lj2+JCWi5p+aD73Qo1VwK7Qu2RoAsKT1EvTZ2QfX46/jwwMfYlHrRbBTZo2gEkJgxfkV+PL0lwAAR1tHCCHwMOUh1l5ei7WX16Kuf12U9yiPe4n3cPTeUaRmplrngImIiIqIch7lrN0FIiIiIsoHJqIKyc3eDY0CG+F6/HVceHwB3ct1x4XHF3Dg7gEoFUqMqj1KivV39sfi1ovx5q9v4si9I5h4eCKmNZ6GtMw0zD4xG1uvbwUA9KvYT6p3/P5x/Hz1ZxyIPIAT0SdwIvqE1F6QSxDalGqDYNdgpGSkIDopGlfiruBK7BVo07Twc/JDRa+KKOdeDm72bnCyc5JGQEUnR+N+0n2obFTwd/KHl6MXHG0d4WjrCKVCiQx9RtYiMpCpz0SGPgPp+nQoFUrYKG1go8halAolFHjq1sEcqwr5/xWG13PEPxGXn1hDcYbq5CjPpU6u8QbK83sbpTn3mVsb+emLqc6VKdowZ1/ICDydJsX3p+mUdC1p7S4QERERUT4wEVVIpdWlUcevDtZcXINDdw9BCIFF4YsAAB1DOiJEHSKLr+xVGfOaz8P7f7yPXRG7cCjqENIz05GamQqlQomxdceib8W+UnzToKZoGtQUUYlROHj3IB4kPYCHgwfq+tdFRc+KBv8IF0IgJSMFTnZO5j14IiIiIiIiIqJ8YCKqkEq7lUaDwAZQ2ahwL+ke9kfux5GoIwCAQVUGGazTNKgpFrRcgClHp0jzTJV2K41PGn6Cuv51DdYp4VICfSr0MapPCoWCSSgiIiIiIiIiKnKYiCokTwdPONo6okFAAxy4ewAj/hwBAHC2c0Z5j/K51msR3AINAxviRvwNONg4IETNp+MRERERERER0YtNae0OPO8cbbOe7Pdy2Zdl5QtaLnhmXZWNCpW8KqGMexkmoYiIiIiIiIjohcdEVCHYKe2kBFSbUm3QMKAhAKBnuZ5oENDAml0jIiIiIiIiIipyeGteASkVSuzrvQ8eDh7S+rI2yxCZEIlSbqWs3DsiIiIiIiIioqKHiagCslPaSUmobDZKG5RWl7ZOh4iIiIiIiIiIijjemkdERERERERERBbBRBQREREREREREVkEE1H5JCCs3QUiIiIiIiIioucSE1EFpIDC2l0gIiIiIiIiInquMBFFREREREREREQWwUQUERERERERERFZBBNRRERERERERERkEbbW7gARERFRcZOSkgJHR8dnxul0OqSkpMjKFAoF1Gp1odolIiIishaOiCIiIiKykEWLFsHX1xeurq4ICgrCjz/+mGf8559/Dm9vb5QuXVpaqlWrVuh2iYiIiKyFiSgiIiIiC9iyZQs+/PBDfPvtt0hJScHUqVMxYMAAHDlyJM96derUQXx8vLTcvn3bJO0SERERWQMTUUREREQWsGDBAnTr1g0vv/wy7OzsMGjQINSvXx+LFi16Zt20tDTo9XqTt0tERERkaUxEEREREZmZEAInTpxA06ZNZeXNmzfHsWPH8qx76tQpuLm5wdnZGY0bN8bRo0dN0i4RERGRNTARRURERGRmCQkJSElJgbe3t6zc19cXDx8+zLVeqVKlsH37dmi1Wty7dw9VqlRBmzZtcP369UK1q9PpoNVqZQsRERGRJTARRURERGQhT99el5GRAYVCkWv8G2+8gY4dO8Le3h4eHh5YunQpvLy8sHLlykK1O3PmTKjVamkJDg4uwNEQERER5R8TUURERERm5urqCldXVzx48EBW/vDhQwQGBhrdjo2NDUJDQxEREVGodsePHw+NRiMtkZGR+TgaIiIiooIzayLq9u3bGDlyJGrUqIHKlStj4MCBuHnzZp51FixYAH9/f9kSFhZmzm4SERERmZVCoUDjxo2xb98+WfnevXvRpEkTaT01NRUajSbXdlJSUnDhwgWULFkyX+0+TaVSwc3NTbYQERERWYJZE1Gvv/46QkNDsXr1aqxbtw4ajQZNmjRBTExMrnUSExNRokQJ/PPPP9Jy6NAhc3aTiIiIyOw+/vhj/Prrr1i4cCEiIiLwySef4NKlS/jggw+kmFmzZqFUqVLSeocOHbB9+3ZERkYiPDwcr7zyCnQ6Hd555518tUtERERUVNias/FDhw5Bqfwv1/XDDz9ArVZjz5496NevX6717Ozs4O/vb86uEREREVlUixYtsHHjRnz22Wf47LPPUK5cOezevRtVqlSRYhwcHKBWq6X1zz//HNOnT8eIESPg5OSEevXqITw8HCEhIflql4iIiKioMGsi6skkFJD1hBYhBOzt7fOsd/HiRZQrVw4ODg6oV68epkyZgqCgIHN2lYiIiMjsunXrhm7duuW6fdy4cRg3bpy0XrVqVaxfv77Q7RIREREVFRadrHzChAnw8vJCu3btco1xc3PDlClTsH37dnzzzTe4e/cuateujUePHuVah48gJiIiIiIiIiIq+vI1Imr27NmYP39+njGbN29Go0aNcpR/+eWXWLVqFXbu3Al3d/dc67///vuyxw1v3rwZISEhWLZsGSZNmmSwzsyZMzFlyhTjDqKQBIRF9kNERERERERE9KLJVyLq3XffxYABA/KM8fT0zFG2bNkyjB07Fhs3bkSbNm3yrP9kEgoAnJ2dUblyZVy6dCnXOuPHj5dNyKnVahEcHJznfgrr6X4SEREREREREVHe8pWIcnFxgYuLS7528NVXX2HUqFH4+eef0aVLl3zVBQC9Xo+IiAhUrVo11xiVSgWVSpXvtomIiIiIiIiIyHLMOkfU8uXLMWrUKGzYsAFdu3Y1GDN37lyEhYVJ6++++y6uXr0KAEhKSsLo0aNx7949DBw40JxdJSIiIiIiIiIiMzNrImrkyJEQQmDo0KHw9/eXlrlz50oxiYmJePDggbTepk0b9O7dG25ubvDy8sKxY8ewd+9e1KpVy5xdJSIiIiIiIiIiM8vXrXn5FRERASFyTu795O19H374IYYPHy6td+/eHd27d0dycjJUKhVsbGzM2UUiIiIiIiIiIrIQsyai/Pz8nhmT27xTTk5O5ugSERERERERERFZiVlvzSMiIiIiIiIiIsrGRBQREREREREREVkEE1FERERERERERGQRTEQREREREREREZFFMBFFREREREREREQWwUQUERERERERERFZBBNRRERERERERERkEUxEERERERERERGRRTARRUREREREREREFsFEFBERERERERERWQQTUUREREREREREZBFMROWTEMLaXSAiIiIiIiIiei4xEUVERERERERERBbBRBQREREREREREVkEE1FERERERERERGQRTEQREREREREREZFFMBFFREREREREREQWwUQUERERERERERFZBBNRRERERERERERkEUxEERERERERERGRRTARRUREREREREREFsFEFBERERERERERWYSttTtAREREVNykp6fDzs7O6HghBABAoVAYbEun08nKFAoFnJ2dC9dJIiIiIjPgiCgiIiIiC1m2bBkCAwPh4OCA0qVLY/369XnGHzp0CJ07d4a7uzucnZ3RpEkT/PXXX7KY2bNnQ61Ww9/fX1rCwsLMeRhEREREBWbWRNTixYtRunRp2VKtWrVn1vvjjz/Qrl07hIWF4aWXXsLJkyfN2U0iIiIis9u2bRtGjhyJxYsXIzk5GRMmTEDfvn1x9OjRXOssXrwY7733HqKiohATE4PatWujQ4cOuH37tiyubt26SExMlJa7d++a+3CIiIiICsSsiaj4+Hh4eHhg//790vLLL7/kWefYsWPo0KEDmjRpgnXr1qFs2bJo0aIFrl27Zs6uEhEREZnVggUL0LVrV/To0QMqlQpDhw5F3bp1sXDhwlzrrF+/Hh07doSLiwucnZ0xd+5cpKamYt++fTliMzMzpVv4iIiIiIoqs9+ap1KpZCOiSpYsmWf8jBkz0KJFC3zyySeoWbMmvvzyS5QqVQrz5s0zd1eJiIiIzEIIgWPHjqFZs2ay8pYtW+Lvv/82up0HDx4gPT0dXl5esvLTp0/DyckJLi4uaN68OY4fP26SfhMRERGZmtkTUZcvX0bVqlVRt25dvPvuu4iOjs4z/sCBA2jfvr2srEOHDti/f78Ze0lERERkPgkJCUhJSYGPj4+s3MfHBw8fPjSqDSEE3n33XZQtW1Z2rVSyZEls2rQJGo0Gt27dQrly5dCqVSvcvHkz17Z0Oh20Wq1sISIiIrIEsyainJ2d8fHHH2PNmjWYM2cOLl68iFq1aiE2NtZgfEJCAjQaDfz9/WXl/v7+iIqKynU/vJgiIiKi54Fer8+xbuhJeIaMGjUKhw4dwubNm+Hg4CCV9+/fH126dIGDgwN8fHzw1VdfwcPDAytWrMi1rZkzZ0KtVktLcHBwwQ6IiIiIKJ9s8xM8b948LFq0KM+YdevWoUGDBgCAkSNHQqn8L9dVp04dhISEYNmyZfjf//6Xo272xZmtrbxbdnZ2yMzMzHWfM2fOxJQpU4w+DiIiIiJLcnV1hYuLS47RTw8fPkRAQMAz63/44YdYs2YN9u7d+8wHv9ja2iI0NDTPEVHjx4/HBx98IK1rtVomo4iIiMgi8pWIeuutt9CzZ888Y54czfRkEgrIugirWrUqLl68aLCuq6srVCoVHj9+LCt/9OhRjqHsT7LkxZQAJwElIiKi/FEoFGjcuDH27duHUaNGSeV79+5FkyZNpPW0tDSkp6fD2dlZKhs7diy+/fZb7N27F3Xq1HnmvlJTU3Hp0iXUrVs31xiVSgWVSlWwgyEiIiIqhHwlotzd3eHu7l7gnQkhcPv2bVSpUsXgdqVSidq1a+Ovv/7C8OHDpfLDhw8XuYspBYwbRk9EREQEZCWU2rVrh6VLl6JLly5YvXo1Lly4gNWrV0sxM2bMwIIFCxAfHw8AmDBhApYtW4bt27ejYsWKSExMBADY29vD3t4eANC5c2e8++67qFmzJh49eoRJkyYhJSUF77zzjqUPkYiIiOiZzDpH1JgxY3Dnzh0AWd/wffzxx7hz5w769+8vxSxYsEA2xHz48OHYvHkzDh48CADYsmULDh06hGHDhpmzq0RERERm1apVK6xfvx7Lly9HjRo1sHPnTuzcuVN2HWRvbw8XFxdp/ZtvvoEQAl26dIG/v7+0zJ07V4qZPn06VqxYgbp166Jnz55wcXHBqVOnUKZMGYseHxEREZEx8jUiKr/q1q2Ltm3b4tGjR0hKSkKFChWwe/du2eim+Ph4KVkFAH379sXNmzfRqVMn2NjYQKFQYNGiRWjdurU5u0pERERkdj179sxzmoMJEyZgwoQJ0vqjR4+e2WbNmjWxadMmk/SPiIiIyNwUQgizT3oUFxcHJycng7fPxcfHQ6vVomTJkrLytLQ0PH78GD4+PjkmL38WrVYLtVoNjUYDNze3QvX9aZEJkei0uROcbJ1wrO8xk7ZNRERERYc5ryeKmuJ0rERERGQexl5PmHVEVDYPD49ct+U275S9vb1RT5EhIiIiIiIiIqLng1nniCIiIiIiIiIiIsrGRBQREREREREREVkEE1FERERERERERGQRTEQREREREREREZFFMBFFREREREREREQWwUQUERERERERERFZBBNRRERERERERERkEUxEERERERERERGRRTARRUREREREREREFsFEFBERERERERERWQQTUUREREREREREZBFMRBERERERERERkUUwEZVfwtodICIiIiIiIiJ6PjERVUAKhcLaXSAiIiIiIiIieq4wEUVERERERERERBbBRBQREREREREREVkEE1FERERERERERGQRTEQREREREREREZFFMBFFREREREREREQWwUQUERERERERERFZBBNRRERERERERERkEUxEERERERERERGRRTARRUREREREREREFsFEFBERERERERERWYStORvv1KkTbt68maO8ZcuWWLZsmcE6X331FRYsWCArc3Nzw/Hjx83RRSIiIiIiIiIishCzJqKWLFkCnU4nrd+7dw+tW7fGiBEjcq3z6NEjODg4YN26dVKZjY2NObtJREREREREREQWYNZEVEhIiGx9y5YtcHR0RN++ffOs5+DggAoVKpiza0REREREREREZGEWnSNq5cqVeOWVV6BWq/OMu3r1KurWrYumTZtizJgxePz4sYV6SERERERERERE5mLWEVFPOnDgAK5fv47Vq1fnGefg4ID3338fHTp0QHx8PKZPn46aNWvi3LlzuSawdDqd7BZArVZryq4TERERmVR6ejrs7OxMXqcg7ZqbEAIp6ZnW7gYRERH9y9HOBgqFwmr7z1ci6ssvv8x1kvFsa9asQb169XKUf/vtt6hUqRIaN26cZ/3Ro0fL5oRq1KgRypQpg6VLl2L8+PEG68ycORNTpkwx4giIiIiIrGfZsmWYNm0aHjx4gODgYMyePRuvvvpqoesUpF1LSUnPRKVP9li7G0RERPSvi1Pbw8neYuOScsjXnvv27Yv27dvnGVOyZMkcZRqNBps2bcKMGTOeuY+nJyZXq9WoVq0aLly4kGud8ePH44MPPpDWtVotgoODn7mvgnC0c0TbUm3hYONglvaJiIjoxbRt2zaMHDkS69atQ+fOnfHdd9+hb9++KFmyJBo2bFjgOgVpl4iIiMhaFEIIYe6dLFu2DKNHj0ZUVBS8vLzyVVcIgXLlyqF9+/ZYsmSJUXW0Wi3UajU0Gg3c3NwK0mUiIiIq5kx9PdGyZUt4e3tjw4YNUlnDhg1RunRprF27tsB1CtLu08x57cRb84iIiIoWc92aZ+z1hEXGYq1YsQI9evQwmIRavHgx1qxZg+PHjwMAJkyYgJEjR8LPzw+ZmZmYPHkyIiIi0K9fP0t0lYiIiMjkhBA4duwYZs+eLStv2bJlrskiY+oUpF1LUygUVh3+T0REREWL2a8Kzpw5g1OnTuHzzz83uP3Ro0e4evWqtF6+fHnUr18f6enp0Gg0CAoKwrZt2zi0nIiIiJ5bCQkJSElJgY+Pj6zcx8cHDx8+LHCdgrQL8EEvREREZD1mT0SVKlUKly5dQlhYmMHt7733Hvr27SutDxw4EAMHDkR0dDScnJx4ax0RERG9MPR6fY71Zw2NN6ZOftvlg16IiIjIWpTm3oG7uzsqVKiQ68WQt7c3ypUrl6Pc39+fSSgiIiJ6Ibi6usLFxSXHKKWHDx8iICCgwHUK0i6Q9aAXjUYjLZGRkQU5LCIiIqJ8M3siioiIiKi4UygUaNy4Mfbt2ycr37t3L5o0aSKtp6WlISkpyeg6xrb7NJVKBTc3N9lCREREZAlMRBERERFZwNixY7F7924sXboUkZGRmDZtGi5cuIDRo0dLMTNmzECJEiXyVceYGCIiIqKigokoIiIiIgto1aoV1q9fj+XLl6NGjRrYuXMndu7ciWrVqkkx9vb2cHFxyVcdY2KIiIiIigqFEEJYuxOmptVqoVarodFoONSciIiICqQ4XU8Up2MlIiIi8zD2eoIjooiIiIiIiIiIyCKYiCIiIiIiIiIiIouwtXYHzCH7bkOtVmvlnhAREdHzKvs64gWcxSAHXjsRERFRYRl77fRCJqISEhIAAMHBwVbuCRERET3vEhISoFarrd0Ns+K1ExEREZnKs66dXsjJyvV6Pe7duwdXV1coFAqTt6/VahEcHIzIyMhiMaFncTteoPgdc3E7XqD4HXNxO16g+B1zcTtewPzHLIRAQkICAgMDoVS+2LMZmPvaydqK47+PJxX34wd4Dor78QM8B8X9+AGeA6DoXDu9kCOilEolgoKCzL4fNze3YvUGLm7HCxS/Yy5uxwsUv2MubscLFL9jLm7HC5j3mF/0kVDZLHXtZG3F8d/Hk4r78QM8B8X9+AGeg+J+/ADPAWD9a6cX++s9IiIiIiIiIiIqMpiIIiIiIiIiIiIii2AiqgBUKhU+/fRTqFQqa3fFIorb8QLF75iL2/ECxe+Yi9vxAsXvmIvb8QLF85ipYIr7e6W4Hz/Ac1Dcjx/gOSjuxw/wHABF5xy8kJOVExERERERERFR0cMRUUREREREREREZBFMRBERERERERERkUUwEUVERERERERERBZha+0OPG90Oh0uXLgAZ2dnhIWFWbs7RklNTcXJkydzlFepUgXu7u6yspSUFFy8eBFqtRqhoaEG2zNVjKllZGTg5MmT8PDwyPW1SUpKwuXLl+Hh4YEyZcpYPaawbt68iXv37qFevXqwt7eXbTt//jzi4+NlZV5eXqhYsWKOdq5fvw6NRoNKlSrB0dHR4L5MFVMY9+7dQ0xMDMqUKQNXV1eDMVqtFlevXoWvry9Klixp9ZjCSE1NxZUrV+Dp6YmgoCAoFArZ9n/++QeJiYmyMn9/f4P/5i5fvoyUlBRUrlw5x3vF1DGFERMTg8jISJQsWRLe3t4GY2JjY3Hjxg0EBQUhICDA6jGFkZaWhitXrsDR0REhISGwsbGRbT9+/DjS0tJkZSVLlszxftPr9bh48SIyMzNRpUqVHO2YMsYUdDodTpw4AU9PT1SqVCnH9ocPH+L27dsoXbo0fHx8DLZhyRiyjvv37+PBgwcoVaoUPDw8DMbcvXsXDx48QGhoKNRqdYHbyX4flCpVCr6+vgWOMaX09HRcuXIFKpUKISEhsLXNedmempqK69evQ6lUomLFijk+J55069Yt3L171+D1nxACFy9eREZGBipXrmxwX8bEmNrjx49x+/ZtBAUF5fm63LlzB6VKlcrxbzguLg4XLlzIUadu3bo5JurVaDS4du0a/P39ERQUZHBfxsSYkl6vx9WrVyGEQJkyZQxOLpyeno6bN28iNTU1z9dFp9Ph0qVL8PX1RWBgoMGYonCt97SEhARcu3YNvr6+uZ7zuLg4REREGIy5c+cO7ty5Y7Beo0aNoFT+Ny6jqP6NExERgcTERISEhMDFxSXHdr1ej1u3biE+Ph4VK1Y0+LoIIRAREYG4uDgEBwfn+u8pMjISDx48QPny5eHm5lbgGFNKTU3F5cuXoVarUbp0aYO/5xITE3H9+nW4urqibNmyBtsxJiYjIwPnz5+Hvb19rr9TjYkxhxfu2kmQ0Xbt2iW8vLxEmTJlhIeHh6hdu7a4d++etbv1TNeuXRMARJ06dUTjxo2l5e+//5bFbd68WajVahEaGirUarVo1KiRiImJMUuMKSUmJopJkyaJ4OBg4erqKl599VWDcT/++KNwdXUV5cuXF66urqJly5YiPj7eajGFsWfPHtGmTRvh6ekpAIjIyMgcMa1btxZBQUGy13z8+PGymJiYGNGoUSPZ67V582azxBT2eGvWrCkCAgJEtWrVhJOTk/joo49yxC1ZskQ4OjqKChUqCCcnJ9G1a1eRnJxstZiCio2NFe+8845wd3cX1apVE97e3qJWrVriwoULsrjq1auL0qVLy17jWbNmyWLu3LkjqlevLry8vERISIjw8fERv//+u1liCuPMmTOiZcuWIjAwUNSsWVM4OjqKXr16iaSkJFnclClThEqlEpUqVRIqlUoMHDhQZGRkWC2moDIzM8XEiROFj4+PqFGjhggMDBQlS5YUv/76qyzOz89PlC9fXvYaf/PNN7KYCxcuiNDQUOHv7y9KlCghSpYsKU6cOGGWGFN5//33hVKpFJ07d5aV6/V68f7778vO+5gxY6wWQ9Zx9OhRUb9+fREcHCyqV68uHBwcxJtvvinS0tKkmJs3b4qGDRsKLy8vUb16deHi4pLj958x7QghxKhRo2Tvg1GjRuXokzExpjR58mTh6+srqlevLoKCgkSJEiXEjh07ZDFff/21UKvVolKlSqJkyZKiQoUK4tKlSwbbe/DggQgMDBQAxO7du2Xbrly5IipUqCB8fX1FcHCwKFGihPjrr7/yHWNKV65cER07dhR+fn6iVq1awsnJSXTq1EnExcVJMbGxseKll14Srq6uombNmsLV1VW8++67IjMzU4rZsWOHUCgUst+hjRs3Fvfv35ftb/78+cLBwUFUrFhR+vxJTU3Nd4wpff311yI4OFhUrlxZlC1bVnh4eIivv/5aFrN9+3YREBAgypYtK8qXLy8CAwPFgQMHcrS1aNEi4ebmJipWrCjKlSsnXn/9dVnfi8K13tOio6NFv379hJeXl6hVq5ZQq9Wifv36IiIiQopJS0sTb731lnBychI1atQQHh4eolu3brLrsW+++SbH6+/l5SXc3NxEenq6FLdhwwahVqtFuXLlhJubm2jSpIl4/PixrE/GxJjStm3bRIUKFUT58uVFpUqVhJOTk5g0aZIs5tixY6J8+fKiRIkSokqVKsLd3V2sW7dOFnPmzBlRoUIF2b+nHj16yM5TSkqK6NGjh3Rt6+joKBYuXChrx5gYU0pKShIjRoyQ3gM+Pj6iQoUK4vjx47K4SZMmCScnJ1GtWjXh5+cnGjVqJB48eJDvmMOHD4uAgABRsmRJ4ePjIypVqiSuX7+e7xhzedGunZiIMlJMTIxwdXUVU6dOFUJk/UNs0KCB6Nixo5V79mzZiagnf3E/LTIyUjg6OoovvvhCCCFEQkKCqF69uujdu7fJY0wtIiJCTJ48WURFRYnOnTsbTERdu3ZN2NnZSX/AxcXFibCwMPHmm29aJaaw5s2bJ/bs2SP++OOPPBNRH3/8cZ7t9OrVS9SqVUskJiYKIYT4/PPPhaOjo7h7967JYwpj6dKlIjw8XFo/fvy4cHBwECtWrJDKTpw4IRQKhXRRdP/+fREUFCRLWFkypjAuXLggli1bJnQ6nRBCiNTUVPHyyy+LihUryuKqV68uPv/88zzbatGihWjRooXU1scffyw8PDxkF/OmiimMrVu3imPHjknrkZGRwsfHR3z66adS2S+//CJsbW3FwYMHhRBCXL16Vbi7u4t58+ZZJaYwkpOTxbx586SLQL1eL0aOHCnc3NxkyS4/Pz/x/fff59pOZmamqFy5sujVq5fQ6/VCCCEGDBggSpUqJb1WpooxlW3btokqVaqIzp0757iY+vbbb4WLi4s4e/asECLr35pKpRI//vijVWLIOtatWye9LkJkJSWcnZ3FokWLpLKmTZuKli1bSv+Gzp8/L5ydnWVJFmPaWb16tXBychL//POPEEKI06dPC0dHR/Hdd9/lK8aUMjIyxOzZs6XPVL1eL8aOHSucnJyk5MGJEyeEUqkUa9eulWJGjRolKlWqJEvEZG/r0KGD+Pjjjw0momrWrCm6dOki/e55++23RWBgoEhJSclXjCn9+uuv0u9fIYR4+PChKFWqlBg5cqRU9uabb4qwsDDx6NEjIYQQ9+7dE0FBQbLXd8eOHUKlUuW5r8OHDwuFQiF27twphMj6/PH395f9wW9MjKl98cUX0rEJkZWYUigU4saNG0KIrON1dnYW06ZNk2IWLVokvLy8ZF9+rl69Wtjb24vffvtNKlu3bp3sS+KicK33tJMnT4otW7ZIn0lJSUmifv36ss+Nzz77THh6ekrnRKvVirp168reJ0/LyMgQgYGBYtiwYVLZ7du3hUqlkpIqWq1WVKlSRfTp0ydfMab29ddfi9u3b0vr+/btEwDE3r17hRBZibjAwEAxaNAg6d/mrl27hL29vbh69apUr1GjRqJ9+/ZS4u327dtCrVbLriHHjRsngoKCpEEWW7ZsEQBkAxeMiTGlyMhI8e2330pfHqSnp4tXXnlFhIWFSTHr168XdnZ2UmJcp9OJ7t27y94nxsQkJiYKf39/MWLECCFE1vukffv2om7duvmKMZcX8dqJiSgjLV26VDg5Ocm+nd+4caNQKBRFflRUdiLqjz/+EKdPnxZarTZHzJw5c4SHh4fsm4HVq1cLW1tb6Q9NU8WYU26JqE8++UQEBARIH2ZCCLF48WLh4OAgXcRaMsZU/vzzzzwTUcOHDxcnTpwQd+7ckfVHiKxvEm1sbMQPP/wglel0OtkHk6lizKFJkyay5N7w4cNFlSpVZDGTJ08W3t7e0rFbMsbUtm7dKgDIvnmrXr26+N///ieOHz8uoqKictS5efOmACAbZRMXFyfs7OzEqlWrTBpjDo0aNRKDBw+W1nv06CHatGkji3nnnXdE5cqVrRJjaps3bxYAZL8r/fz8xBdffCFOnDiR45s7IYT466+/BADpD2QhhLh+/brsj01TxZhCZGSkCAwMFGfOnBE9e/bMcTHVqFEj0a9fP1lZt27dROvWra0SQ0VH+fLlxbhx44QQWcl5pVIp1qxZI4vp1KmT6N69u9HtCCFEs2bNxGuvvSaL6dWrl2jevHm+Ysxt165dAoCIjo4WQmRdb3l6espirl69KgDkGBEze/Zs0bZtW3Hv3r0c/6ZPnz6d4w/JyMhIoVAoxJYtW4yOsYROnTqJXr16SeslS5YUn3zyiSxmxIgRomrVqtJ6diLq4sWL4uzZswYTZ4MGDRJ16tSRlY0bN06UKFEiXzHmlv36Hj58WAjx32dGbGysFJOWliZsbGykL+r0er0oWbKkGD58eK7tFuVrvaeNGDFC1KhRQ1pv1aqVeP3112UxCxcuzDHa6Uk7duwQAMSpU6ekshkzZggvLy/ZF0HffvutsLOzExqNxugYc0tLSxO2trZi9erVQgghzp49KwDkGCFUpkwZ2V0Q5cqVExMnTpTFVK5cWYwdO1Za9/PzE5MnT5bFVKlSRbz99tv5ijG3hQsXChcXF2l96NChol69erKYXbt2CYVCISVJjYn5+eefhVKplF1r7d+/XwAQ586dMzrGHF7UaydOVm6k8PBwVKxYEU5OTlJZvXr1IITAP//8Y72O5UO/fv3Qr18/eHl5YejQoUhJSZG2hYeHo1q1arL7yuvVq4eMjAycO3fOpDHWEB4ejlq1asnu4a1Xr550z7GlYyxl5cqVGDx4MKpVq4aqVavixIkT0rZz584hMzMTtWvXlsrs7e1RvXp1hIeHmzTG1JKSknDp0iXZvfnh4eGyPgBZ5/3Ro0e4e/euxWNMLfue8KfnN1mwYAGGDBmCChUqoF69erh48aK0Lfv8P9lXd3d3lCtXTtpmqhhT0Ov1OHz4MH7//XdMmDABERERGDlypOx4DJ33S5cuQafTWTzGFG7cuIFDhw7hp59+woQJEzB27Ngcc7dMnjwZgwcPRkhICFq1aoXbt29L28LDw2Fra4tq1apJZWXLloWnp6fs9TNFTGFlZmaib9++GDNmjGw/T8rtvD/ZB0vGkPXodDocPnwYv/32G0aMGAGdToe3334bQNZnjIuLC6KiomR1oqKicOrUKaPbAYr2eyUiIgKHDh3CunXr8NFHH2HEiBHw8/MDAHh6eiIxMRFarVaKzz4fT56D48ePY/78+Vi9erXBeUyyj6FWrVpSWfaceE9/BuQVYy5HjhzBH3/8gWnTpuHEiRP48MMPpW2enp4G3wMXLlyQ/Z7W6XR46aWX0KNHD3h4eGDy5MmyOrm9vlFRUYiJiTE6xhzu37+Pw4cPY+vWrRg8eDC6dOmChg0bAsg6fgCyc/DgwQNkZmZK74Hr16/jzp076NKlCx4/foxTp07h8ePHsn0U1Wu9bKdPn8b+/fuxaNEirF27Fp988om0Lbf3gFarxbVr1wy2t2LFCtSuXVv2fg4PD0eNGjVk8yLWq1cP6enp0hxjxsSYQ3x8PA4fPoxdu3ahT58+qF69Onr27AnA8HsgNTVVeq2zTZ06FatWrcKKFSvw+++/Y+zYsUhOTsbw4cMBZM3B+uDBgzx/zxkTYy4XL17EwYMHsXLlSnz++eeYPn26tM3T0xPR0dHIzMyUyqKioiCEwOnTp42OCQ8PzzF3Vr169aRtxsaY2ot87cTJyo0UGxsLLy8vWVn2emxsrDW6ZDRnZ2ds374dXbp0AZD1YdKyZUu4urpi3rx5AIw7PlPFWENsbGyOSekM9d1SMZYwaNAgbN26FS4uLkhJScGgQYPQrVs3aYLF7L4Yer2ePBZTxJjau+++C1tbWwwdOlQqe9Z7Lzg42KIxpnTy5EnMmzcPM2bMkP0hMXr0aLz66qtwcHCAVqvFq6++iu7du+Ps2bNQqVTS+c++UHmyr0+/foWNMQWdTodx48YhMTER165dw7vvvovy5ctL23M773q9HvHx8fDz87NojCls2bIFmzdvRkREBAICAvDqq6/Kts+YMQP9+/eHra0tYmJi0KVLF7z22mv466+/oFAoEBsbC09Pzxx/YD79+pkiprCmTp0Ke3t7jB492uD21NRUpKSkGDzvcXFxEEJAp9NZLMZSk4+SYXFxcRg3bhy0Wi1u3LiBcePGSb9bFQoFRowYgZkzZ8LFxQXlypXDpk2bcPv2bWRkZBjdTkZGBhISEgy+D7RaLTIzMyGEeGaMuSb137FjB9atW4dbt27B29sbffv2lbb17NkTkydPRvfu3TF69GgkJCTgs88+g6Ojo/RvVqvVok+fPli6dCkCAwMRHR2dYx+xsbFwc3ODnZ1djuN78vfDs2LM5X//+x+0Wi2uXLmCN998E1WrVpW2jRo1SkrS161bF4cOHcKff/4p+z1dokQJHD9+HHXr1gUA/Pbbb3jppZdQokQJDBkyRDq+vD7TfXx8jIoxh6NHj+KLL75AVFQUMjMz8dVXX0mTazdu3Bh169ZF3759MWnSJNja2mLWrFmya7x79+4BAHbt2oWBAwciICAAV65cQY8ePbBy5UrY29sX2Wu9bPPmzcPVq1dx5coVtGvXDk2aNJG2vf/++2jZsiVGjx6Njh074ty5c/j+++9lfX7SgwcP8Msvv2Dx4sWy8qL8N86VK1cwbtw4PHr0CA8fPsTcuXOlCctLlCiBXr16YcSIEdBqtfD29sbSpUul64NsrVq1Qr169TB+/HgEBQXh5s2bGDdunPTgk6L+Hvjuu+9w4MABXL9+HVWqVEHnzp2lbYMHD8bixYvRr18/DBgwAJGRkfj8889lfTYmxtDr6+joKPudakyMqb3I104cEWUkOzs7pKamysqyRxSZ48lRphQQECAloQCgatWqeO+997Bu3TqpzJjjM1WMNVjy+IrKOXj99delDypHR0csWLAA9+7dw8GDB6V+AjDY1yePxRQxpjR+/Hhs2bIF27dvlz1V7UV9jS9duoTOnTujX79+GDVqlGzbgAED4ODgAABwc3PD559/jqtXr0rf7mS/Nk+P4DH0+hU2xhQcHR1x+PBh/PPPP7h8+TI2bNiAMWPGSNtfxNf4ww8/xF9//YWoqCh06NABLVu2lH27PmjQIGmEqY+PD6ZPn46///4bt27dyrWf2X3N61gKElMY586dw+zZszFkyBAcOXIEhw8fxuPHjxEXF4fDhw8jJSUlz98ltra2UCgUFo0h6/L398fhw4dx9uxZnD59GosWLZJ9Cz516lQsXboUhw4dwty5cxESEoL3338/x9Oi8mrHxsYGSqXS4PtAqVTCxsbGqBhzGTFihPT7oWfPnmjVqpWUWHB3d8fJkydRu3ZtLFmyBJs3b8a3334LBwcH6RyMGzcOgYGB8PHxweHDh3H8+HEAwIULF3D+/HkAReP3Q17279+P06dP4+bNm/jzzz9lo9kGDBiAX375BZcvX8acOXOg0+kwa9YsAJDOQc2aNaUkFAC0a9cOPXr0MMs1sDn06NEDhw8fRkREBD777DO89NJL0uh2W1tb7Nu3D7169cLq1auxcuVKTJw4EeXLl5eOP/t33alTp3Djxg2Eh4fj/Pnz2LVrl/SHeFG81nvSjz/+iBMnTiAqKgoajQYvv/yytK1Zs2Y4duwYtFot5syZg2vXruGrr74CAINPjluzZg1UKhX69OkjKy/K74H69evj8OHDuHz5MjZv3oxhw4Zh/fr10vYff/wRH374IbZs2YKFCxeiR48e6NChg3T8Qgh07NgRQNZTRk+fPo1z587hyy+/xGeffSYdG1B03wOzZ8/G33//jXv37qFMmTJo2bKl1I+yZcsiPDwcXl5e+OKLL3Dw4EF89913AP57DxgTY+j1FUIgLS0tz/fA0zGm9KJfOzERZaRSpUoZHPoJwCyPbTc3Pz8/3L9/H3q9HoBxx2eqGGuw5PEV1XPg5eUFGxsbqS+lSpWS9S1bVFSU7FhMEWMqEydOxJIlS/Drr79KQ2Gz5XbeFQqF9O23JWNM4fLly2jVqhU6d+6Mb7755pm/4LNH6TzrNb53794zX7/8xphacHAwXnvtNezevVsqy+28u7q6SrcsWjLGlJRKJcaMGQOtVosjR47kGmfoNdZqtUhISJBi0tLSEBMTI3v9TBFTGMnJyahTpw4WLlyIcePGYdy4cTh37hwuXbqEcePGISYmBjY2NihRooTB8579HrRkDBUdYWFh6Nq1q+z3gUKhQN++fbF+/Xrs3bsX48ePxz///IMqVaoY3U727+y8Pr+MiTE3hUKBDz/8EElJSdKXSUDW74M5c+Zg9+7d2LBhA3x9fREXFyedA1dXVwghpH9z2X90Zt+iA2T9209LS8OjR4+kdjMzM/HgwQPZ74dnxZibn58f+vfv///27j0qp3z/A/i7dKXoZmqqISUM5dJ0nJJxKxUzOhlzNDHREIZhjHE5fmuYzuLMkMsYzqCDkdscMkUldHFrOiWZcTeR5X4qMhQ1hOrz+8NqH9vzRMZTjHm/1rKW/X0+e+/v3u2nPs937+f7UV0DABAQEID169dj165dmDdvHvLy8uDo6PjYkvK2traqn2dtv+8bNWoEe3v7OsfUt7CwMNja2iI1NVVpMzc3x8yZM5GcnIykpCT4+fnh5MmTyjXg5OQE4MH0HE2aNAEAODs7o2/fvsjMzATw4uV6tTE3N8eHH36InJwclJSUKO2enp7KV86io6Nx+fJlGBgYoG3bthrbWL16NUJCQjSuj99Lft+rVy907dpV9T4wMjLCxx9/jK1btyIlJQUjRozATz/9pFwDhYWFOHToEEaNGqUMlrz22msICgpCUlKSsqyvr//Yn29dYuqbkZERJk6ciP/+97/KYDoAtG7dGt988w3S0tKwfv16JZd5+O/Bk2JatmyJoqIiiIiyTlFREaqqqlTXwJNidOmlz52eelapP6hdu3YJAFX59FmzZomVlZVGGeAXTU11i4cFBwerJt1NSEgQPT09uXDhgtI2bdo0cXBwUKqv6CqmPtU2WfmGDRvEwMBANbncuHHjxNXV9bnE6Eptk5VXVFRolJlPSUkRAJKZmSkiD6pk2dvbqyYzPHv2rACQxMREncbowsyZM8Xc3FyysrK0vv7111+Lubm56nofPHiweHt7P5eYZ3Xq1Cmxs7OT8PBwre+dX3/9VWNi9A0bNggA+fnnn0XkQWU2c3NzVaW33NxcAaCcR13FPCttv6feffdd1eSS06dPlxYtWqgmIO3Ro4dqcuKGjHkW2o43JydHACiVorTFLFiwQAwMDJRqR1euXBEDAwNVtZKkpCTR09NTygnrKkbXtE24GR4eLh4eHsq1XVVVJe3atVNVN2rIGHo+tF37vXr1kv79+yvLjxb/OHv2rBgZGakKKNRlOxEREdKpUyflOqiurhY3NzcZNWrUU8XokrZ+HzlyRACoKp89eg6mTJkidnZ2tVayKyoq0pis/Pr162JkZKSqQpuWlqbKeesSo2vazkFERIS0adNGWX70+EtLS8XW1lY+++yzWrdTWVkp7u7uMmjQIKVt7ty5YmVlpTpvQUFB0rt376eK0aU7d+5o5HE1P4dly5YpbY+eg+joaDE2NlZVsnNzc1OdExH1hMMvUq73MG3XwNy5c8XU1FSp5nr37l3Vebp//7507txZ62eBzMxMASD79+/XeC0uLk709fVV+fSnn34qLVq0UN73dYnRpaqqKo338r1796RFixby6aefKm2PXgM1n1lrjvP27duir6+vVPOu0a9fP9Xvwu7du6uqnJeXl2vkfnWJ0SVt10BcXJwAkHPnziltj56D4OBgjeICT4qp+R37cLGHZcuWiYmJiTIZfV1i6tvLlDtxIOop+Pv7S/v27eX777+XxYsXi7GxseqPwYvqs88+kxEjRkhsbKwkJSXJsGHDxNDQUJKTk5WYqqoq8fHxkS5dukh8fLzMnz9fDAwMVKWJdRVTH7KysiQzM1O6desmvr6+kpmZqSoFf//+ffHw8BAvLy/ZsmWLfPHFF9KoUSOJi4t7LjHP6uLFi5KZmSlLliwRALJlyxbJzMyU4uJiEXlQ7crDw0OWLVsmqampsmjRIrG2ttb4EL127VoxNDSUBQsWSHx8vHTu3Fm6d++uGvjQVcyziIqKEj09PYmKipLMzEzl34kTJ5SY8vJycXV1FV9fX0lISJD/+7//EwMDA9mzZ89ziXkWly5dEnt7e/H09JSMjAzVMddU7szNzRVvb29ZsWKFpKamypw5c8Tc3Fzjg9HChQulcePGsnTpUomNjRVXV1cJCgqql5hn0b9/f5kxY4Zs27ZNkpKSZPTo0WJgYCDbtm1TYq5cuSJ2dnbyzjvvSFJSkowdO1ZMTU1Vld4aMuZZJCQkSGBgoMTExEh6erosXbpUWrRoIX379lX+uCcnJ4ufn5+sXr1aUlJSZObMmWJiYqJRLnzq1KlibW0tq1evlvXr18urr74qo0ePrpcYXdKWTOXn50vTpk0lPDxckpKSZMiQIWJpaam6udGQMfR8dO/eXWbPni3bt2+XrVu3ypAhQ8TY2Fi5kSIiEhMTIxEREZKcnCxr1qyRVq1aycCBA1UfCOuynbNnz4qFhYUMGzZMkpKSJCwsTCwsLJRy8HWN0aWUlBTlvZ+eni7Lly+XVq1aSY8ePVQfugMDA2Xp0qWSlpYmkyZNEhMTE0lNTa11u9oGokQe3OixsLCQlStXynfffSeOjo4ybNiwp47RpZCQEJk2bZokJCRIcnKyTJw4URo1aqQaLM/IyJDg4GDZunWrbN68WTw8PKRr166qCtehoaEyefJkSUhIkLi4OPH395dmzZoppcdFHgxgOTk5SWBgoCQmJsqUKVPE0NBQqU5X1xhdOnXqlPzpT3+S5cuXS1pamqxdu1a6dOkirq6uqg+84eHhMnfuXElPT5fZs2eLqampxoDDjh07xNzcXL766itJTU2VCRMmiJGRkfz4449KzIuQ6z1qypQpMmbMGNm8ebPs3LlTIiMjxdTUVGbPnq3EXLp0SXr27CmbNm2SxMRE8ff3l1atWmmtaB4eHq5R8bhGZWWleHl5yRtvvCHx8fESFRWlcXOmLjG6dPv2benQoYMsWrRIUlNTJTY2Vnx9fcXGxkY1CDNjxgyZPn26pKamypIlS8TKykpVGVREZMyYMWJjYyPLly+X1NRUmTx5sujp6cmOHTuUmH379omhoaFMnz5dEhMTxc/PT1xcXKSsrOypYnRp6dKlMnjwYNmwYYOkpaXJggULxMbGRoYPH66K8/T0lJiYGNm5c6cMHTpULC0tVe/xusaEhoaKk5OT/Pvf/5YVK1aIubm5zJo166lj6tPLlDvpiTz0bBk91u3bt5XvlTZu3BhDhw7FX//61+fdrScSEcTGxiIpKQk3b95EmzZtMG7cOLi6uqriysrKMH/+fOzfvx9NmzbF8OHDVd/D1mWMrvn6+mrMX2NtbY3ExERlubS0FFFRUTh48CAsLS0RERGBgIAA1ToNGfMsVq5cqXy3+WGff/45/P39AQD5+flYtmwZ8vLyYGdnh379+iEkJETj611JSUlYu3Ytbt26BW9vb0ydOhXm5ub1EvNbTZgwQWs1Bi8vLyxYsEBZLi4uxty5c3H06FG88sorGDduHN58803VOg0Z81tlZ2dj2rRpWl9bv349WrVqBQA4evQoVqxYgTNnzsDBwQEDBw7U+l7buHEjNm3ahDt37iiTetbMLaXrmN/q9u3b+Ne//oWMjAxUVVWhTZs2GDNmjGqycgC4ePEioqKicPr0aTg6OuKTTz5Bly5dnlvMs8jKysLatWuVicoDAgLw3nvvqeacyc7ORkxMDC5duoQWLVpgyJAh6N27t2o71dXVWLVqFRITE1FdXY3+/ftj7NixquqluorRpZkzZ+LevXuIiopStf/8889YuHAhzp8/DxcXF0ydOlXjOmjIGGp4t27dwrJly5RJ+V9//XWMHTtW49H/devW4fvvv4eBgQGCgoIwfPhwZSLnp9nOqVOnsGDBApw7dw7Ozs6YMmUK2rVr99QxunTgwAHExMTg7NmzsLOzg5+fH4YOHap6PxYXF2POnDk4ceIEXF1d8dFHH6FDhw61bvPGjRsICgrCwoUL8ec//1lpFxGsWbMG8fHxqKysREBAAMaPH6+anLwuMbp07949rFy5Env27EFFRQVat26NUaNGaXz1cseOHVi9ejUqKirg6+uLsWPHqv4u3bt3D6tWrcKuXbtQVVUFNzc3VfXBGkVFRZg7dy5OnDgBOzs7jB8/XqlO9zQxunT69GksX74ceXl5sLS0RLdu3RAREaGq4F1eXo558+YhJycH9vb2iIiIUE3mXeOHH35AdHQ0rl27htatW2PChAlo3769KuZ553qPqq6uxsaNG5GcnIySkhK0bNkS77//vkaulZubi8WLF+P69evw9vbGxx9/rPEV+qqqKrz11lsYOnQowsLCtO7v1q1byueXZs2a4YMPPsDbb7/91DG6VFhYiG+++QaHDx9GkyZN0KVLF3z44YeqyaIrKyuxZMkSpKenw8LCAqGhoRq5YFVVFdatW4fU1FRcv34dLVu2REREBLy8vFRxWVlZWLp0Ka5evQp3d3dMnz4ddnZ2Tx2jSzt37kRsbCwKCwvh6OiI4OBgDBgwQPV55syZM5g3bx4uXLiATp06YeLEiRpTZdQl5t69e/jnP/+JtLQ0GBkZYdCgQQgPD3/qmPr0MuVOHIgiIiIiIiIiIqIGwcnKiYiIiIiIiIioQXAgioiIiIiIiIiIGgQHooiIiIiIiIiIqEFwIIqIiIiIiIiIiBoEB6KIiIiIiIiIiKhBcCCKiIiIiIiIiIgaBAeiiIiIiIiIiIioQXAgiugP5Pr169i0aRMqKytfqn09LxkZGThy5Mjz7oaGF7VfREREvzfMnXTrRc1RXtR+Eb2s9EREnncniKhh5OTkwNvbG2VlZTAzM3vh9lVWVobt27drtDs4OODNN9/UdRefWWBgINzc3LBgwQIAwL59+2BlZYWOHTs2WB+07fPRfhEREdFvw9xJt5g7EREAGDzvDhBRw7GxsUFISAgMDQ2fd1e0KigoQGhoKPz8/GBtba20e3h4vJDJVK9evfDaa68py//4xz/g6enZoMmUtn0+2i8iIiL6bZg76RZzJyICOBBF9FL69ddfkZubi7t37+KNN95A8+bNAQCWlpYIDg5Go0aNAABXr17F3r17ERISgpMnT+LcuXN4/fXX4erqChFBbm4uiouL4eHhAQcHB2X7D693/PhxnD9/Hm5ubnBxcXli365du4bc3FyYmJjAw8MDlpaWGjGzZ8+Gl5eX1vXv3r2L7Oxs3Lx5Ex07doSzs7Pq9QMHDuD8+fPQ09ODtbU1OnfuDBsbG1XM7t27YWtrC3t7exw5cgRVVVXo0aMHjI2Nce3aNeTk5MDS0hLe3t7KudLG29sbzZo1AwDs378fV69eRV5eHjZt2gQAGDBgAJo0aYLq6mr8+OOPKCwshIuLC9zd3bX2x87ODgcOHICZmRl69uz5xGOpbZ8P96uu562mD46Ojjh8+DAAwMvLC6amprUePxER0cuCuRNzJ+ZORA2HA1FEL5nDhw/D398fzs7OaN68OU6ePInPP/8cH3zwAc6cOYPQ0FC8/fbbMDMzw/HjxxEaGoro6GhUVFTAzMwMe/fuRVRUFLZt24bKykoYGRkhNzcXycnJ6N27NwAo661btw4FBQWwtrZGdnY2oqKiMHHixFr7tnjxYkRGRqJr166orKzE0aNH8e233yI4OLhOx5aXl4fAwECYmJigZcuWyMrKwrhx4zB//nwl5tChQ8jIyAAAFBUV4dChQ1ixYgVCQ0OVmMjISNy/fx9FRUXo2LEjjh49CjMzM0yaNAlffvkl3Nzc8NNPP6Fz587YuXNnrf2ZM2cO3Nzc0LlzZxw8eBDXrl1DVVUVEhISAAC+vr4oLS1FUFAQysvL0a5dOxw+fBgdOnTAli1blEQlMjISenp6uHz5Mtzd3eHj44OePXs+8Vhq2+fD/arreYuMjIS+vj4KCwvRrl07nD59GsCD5NTKyqpOPx8iIqLfI+ZOzJ2YOxE1MCGil8r7778vw4YNU5YrKipkx44dIiKyf/9+ASBlZWUiIpKeni4AZM6cOUr85MmTBYAsWrRIaRszZoz07t1bWa5Zb+TIkUrbxo0bxcjISC5cuKB1XxkZGdKsWTM5deqUsk5cXJxYWFhISUmJiIjk5eUJAJk9e7Zs3LhR+XflyhUREenevbv85S9/kcrKShERyc7OFn19fdm9e3et5yM+Pl4sLCykvLxcafPx8REHBwf55ZdfRESkuLhYTE1NxcnJSenL5cuXxcDAQDIyMmrddkBAgEyePFlZ9vX1lb/97W+qmD59+sjYsWOlurpaRETu3Lkjnp6eEhkZqeqPlZWVFBQU1Lqv2o5F2z4f7VddzpuPj4/Y29vL1atXRUTk7t274uLiIl9++eVj+0RERPR7x9xJjbkTcyei+sYnooheMqampjhz5gxKSkpgaWkJY2Nj9OvX77HrjBkzRvm/t7c39PT0MHr0aFVbcnKyxnpTp05V/v/ee+9h+vTpSEhI0Hpnb82aNWjbti2OHz+OY8eOQURQXV2N8vJyHD58WLljCDyoXHLixAll2c3NDZWVlfjPf/6D7Oxs5ZFvb29v9OnTB5s2bUKfPn2U+GvXruHYsWP45ZdfUFlZidLSUuTn56NLly5KzKBBg5S5FJo3bw4XFxf0798fFhYWAABHR0c4OjoiPz8fPXr0eOz5q82lS5ewZ88e9O/fH/Hx8RARiAicnZ2xd+9e/P3vf1f1x97eXmMbdTmWxykoKKjzeRs0aBBeeeUVAICRkRG8vb2Vu3tEREQvK+ZOzJ0extyJqP5xIIroJRMZGYmRI0fC3t4enp6e6NevHz766CON770/7OG5BoyNjWFkZITGjRur2ioqKjTWc3Jy0li+ePGi1n1cuHABJSUliIuLU7UPGjQIJiYmqjZt8xxkZ2cDgMb3811cXHD+/Hll+euvv8aMGTPQqVMn2NnZwdDQEHp6eiguLq71mGuOUVubtuOuqwsXLgAAsrKycPDgQaVdT08Pnp6eqthXX31VY/26Hsvj1Pw8nnTeAGg8Rm5sbIzy8vI674uIiOj3iLkTc6eHMXciqn8ciCJ6yTg4OCAlJQUlJSXIyMhAVFQU4uLicOjQIZ3vq6SkBHZ2dqrlRye3rNG0aVO0a9dOmRjyadVs98aNG7C1tVXab9y4obxWVlaGyZMnIzk5WbmTWVpaitjYWIjIb9rvs2jatCkAYMaMGfDw8HhsrJ6enmpZV8dSl/NGRET0R8bcibnTw5g7EdU//efdASLSrYKCAgD/q/Iya9YsHDlyBHfv3tX5vmomeQSA/Px8nDhxAj4+PlpjAwMDkZ6ejrNnz6rar169iqqqqifuy9nZGfb29tiyZYvSdvPmTaSnp6N79+4AHjyKXV1djbZt2yoxj95FrE9mZmaqu4Du7u5wcHBAdHS0RmxhYeFjt1XXY3l0n4+qy3kjIiL6I2PuxNzpYcydiOofn4gieslMnToVFRUV6N27NwwNDREdHY0BAwbA2NhY5/v64osvUFRUBBsbGyxatAj9+vVDz549tcaOHDkSCQkJ8PHxwfjx42Fra4tjx44hJSUFx48ff2ypXwAwMDDAV199hbCwMJSWlsLZ2RkrV66Ek5MTIiIiADx4vL1Tp04ICwvDiBEjcObMGcTExGjcMasvnp6eWLVqFdzd3dGkSRMMGDAA3377LQYOHIjr168jICAAN27cQHJyMt5991188skntW6rrseibZ8Pq8t5IyIi+iNj7sTc6WHMnYjqH5+IInrJfPfddxg2bBjy8/Nx9OhRTJw4EZs3bwbw4FHjkJAQGBoaAgDs7OwQEhKiWt/BwQGDBw9WtbVs2RLvvPOOxr7279+PRo0a4dChQ5gwYQLi4+OV1x7dl6GhIbZv344lS5agoKAABw8eRPv27XHkyBFlnoOmTZsiJCSk1seeQ0JCsG/fPty7dw85OTkICwtDZmamsg99fX3s3r0b/v7++OGHH6Cvr4/s7GyEhoaq5hHw8/ODm5ubatsBAQFo3769qu2tt95CmzZtajnTQK9evVQTX06ZMgWTJk1CVlYWEhIScPv2bQQEBODkyZPo2LEjsrKyUFZWhoULF6oSKW39qeuxaNvno/160nmrrQ9du3ZFt27daj1+IiKilwFzJ+ZOzJ2IGpaePI8v/xLR79quXbvQt2/f5zJ3ABEREdHvDXMnIqL/4RNRRERERERERETUIDgQRURPTdtj6URERESkHXMnIqL/4VfziIiIiIiIiIioQfCJKCIiIiIiIiIiahAciCIiIiIiIiIiogbBgSgiIiIiIiIiImoQHIgiIiIiIiIiIqIGwYEoIiIiIiIiIiJqEByIIiIiIiIiIiKiBsGBKCIiIiIiIiIiahAciCIiIiIiIiIiogbBgSgiIiIiIiIiImoQ/w+T1bsDL5UwYAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(12, 4))\n", "axes[0].plot(time, cd, label=\"Cd\")\n", @@ -815,7 +1242,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "6d3ea796", "metadata": { "execution": { @@ -825,7 +1252,19 @@ "shell.execute_reply": "2026-07-20T19:11:14.776955Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "aerofoil faces: 908\n", + "surface_force rows: (908, 3)\n", + "wall_shear rows: (908, 3)\n", + "yPlus rows: (908,)\n", + "yPlus min/median/max: 0.0025 / 0.1003 / 0.3785\n" + ] + } + ], "source": [ "aerofoil_patch = patches[\"aerofoil\"]\n", "aerofoil_faces = parse_faces(\n", @@ -851,7 +1290,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "29982f97", "metadata": { "execution": { @@ -861,7 +1300,18 @@ "shell.execute_reply": "2026-07-20T19:11:15.101306Z" } }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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OwAxMTEhtQmljm8oBafTGbRPDoejVT9/hNizZw9Lly5F07Sgcata20cffURUVNRBywB+++033nnnHfbs2UNUVBR9+/bl4osvJjs7O6je0qVLG5UdLUI9hiuuuILTTjuNq6666gjtaWi+/vprUlJSjvRuiDAcSgxt+D696667uPvuuw/Y9vHHH+f777/n22+/9ZdVV1eTmpoaVC8mJoa4uDiqqqrC2jchxJFxww03UFRUBHh6u8fGxtK7d28uueSSoCG3movpQhyLwo2hbS0pe3xkndqgn376ic2bN3P33Xdz+eWXM23aNOLi4o70bjXp8ccfp3v37rzxxhv06dOHqVOnkpGRwdNPP01WVhYfffRRq237lVdeITU1lX/84x/MmDGD0047DYAXX3yR888/nwULFjBt2jT69evXavvQlr322mukpqby97//nenTp/t/v+LY09ozR6uqyq233spjjz3Gf//7X3bv3s3VV19NamoqV1xxhb/etGnT/BehQmkTSp3evXszfPhwbr31VtatW0dxcTFPPvkkX331FTNmzGjB36IQx5Y777yTgQMHsn79ekaPHs3IkSP57LPP6N69O48//viR3r2QhHMM77//vtzGLVrFocTQUO42CfTaa69x22238eqrrzJq1Ch/eVRUFPX19UF1dV3Hbrc3GuddCHF0Wr58OT///DOzZs1i5syZnHjiiSxZsoSBAwfy3nvvHendE6JVtOY56LFAesoeo/Ly8oDg2d+ORv/85z9ZuHAhDz30ELfddlvQsltvvZXFixf7rwa2hry8PNLT0xuNP5mXl8ekSZNabbvHi+Z+v+LYY3gf4bYJxx//+Ed0Xeemm26isrKSUaNGsWrVqqBetrGxsUHvp1DaHKyOqqosW7aMO++8k+nTp1NTU0PPnj158803m5xVU4jjwbp16/jrX//Ktddey1NPPeUvv+qqq3jttdeOiYmB2sIxiLbhUGJoKHeb+LzxxhtcddVV/nHRA/Xo0YPCwkI0TcNkMgGQn5+PruuHPAmJEOLwSU5OZtq0af7Xs2fPpnfv3lx//fVceOGFct4l2pxwY2gb6ygrSdlj0W233cZXX33lf56amsqwYcO44447AM/tSy+//DK//vorhmEwbNgwfve73wXdCvfPf/6TzZs38+9//5v33nuP5cuXk5aWxuLFiwEoLCzk9ddfZ8uWLcTGxnLqqacyc+bMoFv6CwoKePXVV9myZQsWi4WxY8dyxRVX+G+lqKio4I477mD8+PGNErLguSXj9ttvp7a2Nqh8/fr1/Oc//yE3N5fU1FQmT57Meeed1ygAHWj7hYWF3HjjjXz//fdYrdagwAae25s/+eQT/+zsL730Uki36zcUyr5OmzaNCy+8kHPPPZenn36ajRs3kpWVxfz58+natesB13/vvfdit9t54IEH/GXPPfccn332Gddcc40/sazrOpdffjlTpkzxzxR40003UVBQAIDZbCYzM5MpU6YwZcqUsI+zId/vd+3atUG/35tuuolx48aFte2WeK+BZ4iMV155hd9++w2LxcLQoUOZPXv2UduD/GgTyVXHSK5S/ulPf+JPf/pTs8t9s0iH0yaUOh07duT5558PfUeFaCV//etfqaur46GHHvKXvfDCCyxfvpyrr76aM888E/BMUHfFFVcwceJE5syZA8DChQvZu3cv4Pls7dChA2eeeSZnn3122Puxbt06ACZOnNho2RVXXEFNTU2T7Wpra3n66afZsGEDWVlZzJs3r8mET2Fhof9z22Qy+T+3A3vshXo8M2fOZOrUqZx//vk8++yzrF+/npkzZ1JeXh7SMdTW1jJnzhzsdjuffvqpP2adcMIJ/OUvfzngNs4991wAVq9ezYcffkhhYSHt27fn4osv5tRTTw3a5tq1a3nvvfcoLCykY8eOTJw40f/3DKeOOPYcjhj61ltvMXfuXF588UUuu+yyRsunTJnCwoULWblypf899e6775KQkOAf3kcIcfhdc801dO7cucm5N+677z4KCgp45plnmm2fmJjI2LFj/bEjKyurUZ2qqip+//vfM2fOHKZOnRq0bOHChWRkZHD77bf7y0pKSvznTSaTiaFDh3LllVfKeZM4IsKNoW2tp6wMX3AMOvPMMznppJP8z2fNmsX48eMByMnJYeDAgTz11FMMHTqU4cOH8+9//5uBAweybds2/zp++OEHPvnkE2677TY+/fRTRo8eTWVlJeAZT7R37958+OGHDB06lKFDh7Js2bKgW4yXLVtGnz59WLlyJWPHjmXIkCE88MADnHLKKdTV1QHwySefUFdXx+WXX37A4wlMhj7zzDMMHz6cnJwcJk6cSGJiIjNnzuSiiy5C07SQt5+YmMisWbPIysryPw98mEwm+vbt638dyW1doe7r0qVLWbNmDdOnT8cwDMaNG8d///tfRo4c6T+hbI7L5eKxxx7DZrP5y5588kmWLl3K66+/7i/7+eefeeutt0hISPCXTZ061X98vhPciy666KC3xYWiud+vL8kc6rZb6r22e/duBg4cyKeffsqYMWMYPXo0mzZtYsSIEYd8rMcNI8KHECIsmqbx+OOP+z+/AJ566imWLl0aNJHWunXreOONN4LGiz/rrLP8n61Tp05FVVWmT5/OrbfeGvZ+9OjRA/AkG5vSVM+9+vp6pk+fjqZpnHrqqXz66aeMHDmy0UR7y5cvp0+fPnz22WecdNJJDB06lMWLF3PyyScHXYgN9XiWLl3Kd999x/nnn4/L5WLYsGEUFBSEfAzR0dHMmjULi8VC7969/ds8/fTTD7oNgHnz5jFx4kQcDgeTJ08mOjqaSZMmcc899/jbP/vss4wdO9Zfp2PHjvzzn/8MulgUSh1xjGrlGPrpp59yxRVXcOGFF5KQkMAHH3zABx98wMcff+yv069fP6655hquvPJKnnjiCR588EH+/Oc/89e//vWonndCiLYuKSmJ++67j+Li4qDy4uJi7rvvPmJjYw+6Dl/sbK6u3W5n6dKl5OTkNFr2+eef88033/hf5+bmMnDgQD755BNGjx7NiSeeyJYtW/wTAwpx2B3v56CGOKrZbDYDMF566aWg8rfeessAjB9//DGo/NRTTzXS09ONiooKf1lVVZXRoUMHY8yYMf6yyy67zIiKijLuvffeoG0VFhYacXFxxnnnnWdomha07uLiYsMwDGPfvn1GQkKCMW3atKDl+/btM5KSkow//elPhmEYxm233WYAxnfffRfSse7cudMwm83G7Nmzg8qXLFliAMaTTz4Z1vYNwzCmTp1q9O3bt9G2oqOjjZtuuqlR+XPPPWcAhsvlapF9NQzDAIzk5GRj586d/rK9e/caJpPJuOeeew64na+++soAjOXLlxuG4fkbKIpiTJ061ejYsaO/3v3332+YTKagv3tTnnnmGUNVVaOgoMBflpycbFx33XVB9Zoqa0pzv99Qtt2S77X777/fiIqKMhwOR1C9oqKikPbteFZdXW0ARo9X/s/o/e69YT16vPJ/BmBUV1cf6cMQ4qj00ksvGYBhs9n8Zd9++60BGB9//LFhGIZRWlrq/1zPyMgwdF03DMMwFi9ebCiKYpSWlh5wG88//7yhKIqRm5vrL2vXrp1xzTXXBNVrquyCCy4wAGPcuHHG3/72N2PlypWG1Wptcjsmk8lISkoytm/f7i8rKCgwzGazceedd/rLSktLjaSkJOOCCy7wH4uvPCUlxVi4cGHYx2MymYz4+Hhj8+bN/jLf7zScY4iPj282tjW3jRdeeMEAjHfffTeo/ksvvWQoimL8/PPPhmEYxuDBg41Zs2Y1Wm9gHAqljmEYxsSJE42LL764yf0UR5fDFUPfeust4/zzz2/0mD59elA9XdeNl19+2bj00kuN3/3ud8ayZcta69CFECHauXOnoShK0Hm3YRjGPffcYwDGxo0b/WU9e/Y0hgwZElTv+++/N8xms3HyySf7yxrG9KKiIgMwHn/88UbbHzhwoDF16lT/68WLFxtmsznou4lheM7NhDicIo2hbe0cVHrKtiFFRUV8/fXXXHnllUGzryYnJ3PVVVexZs0a9uzZ4y93Op1ce+21/tcxMTG8/fbb1NfX8+c//zno9nGADh06APD2229TV1fXqCdLRkYG5557LkuWLAHwTzYQytU/8PRScbvd3HzzzUHlF198MV27duWtt94Ka/utKdR99TnttNP8PXrAM9Nunz59/LePNuekk04iPj6ezz//HICVK1cSGxvL3XffTVFREZs2bQJgxYoVjBgxIujv7nQ6ef3117nuuuuYOXMm06ZN45133kHXdX+71hLKtlvyvRYTE4PT6eSjjz7CCJiOMTMzszUPs22JZID1NnbriBCHw+jRo0lKSvJ/rq9atYro6Gjuu+8+SkpKWL9+PeD5XB82bFjQ2PEul4s333yT66+/nlmzZjFt2jTeeustDMOI6HN96dKlvP/++3Tr1o0XXniBKVOmkJqayiWXXEJhYWGj+uPGjaN3797+1506daJ///5Bsezdd9+lpqaGW2+9NWgon/T0dM4///ygGB3O8YwZM4YBAwb4X8fExER0DAfS1DZeeOEFunfv3mgYJN8QOkuXLvXX/eWXX9i5c2dQvcA4FEodcYxq5Rg6a9Ysf+/YwMc777wTVE9RFK688kreeOMNXnrppUa3MQshDr8ePXowZcoUnn32Wf/dlJqm8dxzzzF69GgGDRoUVH/Pnj1MmzaNadOmceqppzJu3DiGDx/OG2+80SL7ExMTg9vt5sMPPww6b+rYsWOLrF+IsB3n56Aypmwb4ku4Bp4w+fTp0wfw3ObdrVs3wHMrRcOJwny3PPTv37/Z7fz2228ALF68GIvFgmEY/g/09evX+8eHa9euHcBBb9EPZf979+7Nli1bwtp+awp1X30CE7I+7du3b3QbS0MWi4Xx48f7T95XrFjB+PHjGTlyJB07dmTFihX06NGD7777LihxWV9fzymnnEJxcTFXX301Y8aMITY2lpycHL744otmxwpsCaFuuyXfa1dffTXLli1j+vTpZGZmMn78eM444wwuueQSuWUvRIbheYTbRggRHrPZzGmnnRb0uT5u3DiGDRtG586dWbFiBf369eObb77hpptu8rez2+2MGzeOvLw8/vCHP3DiiScSGxvLrl27WLVqVUSf66qqcsEFF/gnvKuurua1117jlltuYfPmzfz0009BY3eHEst8n9uPPPII0dHRQZ/bGzduJD8/H8MwcDgcYR1Pz549W+QYDqSpbfjGKfdNquQ7HsMwUFXVH4ceffRRZs6cSa9evTjhhBMYP3485557btCkoqHUEccmiaFCiAOZP38+5557Lh9//DEXXHABH330Efn5+U2OM5uamsqsWbNQFIWYmBh69+7tP5dvCXPnzuWjjz5i1qxZ3HTTTUHnTYFD4QlxuIQbQ9ta/JSkbBviO+kIHH/Ux2q1AgSNndrUxFa+5VartdkPZYvFAsAFF1zQqBfsjBkz/M9PPvlkAL7//vsmJ+E40P43TKRZrVb/voW6/dYU6r42rB9IURR0XT/otiZNmsTNN99MQUEBK1eu5JZbbgHgjDPO4PPPP6dfv344nc6gk7o333yTX3/9le+//54xY8b4yz/44IOQjzFSoW67Jd9riYmJfPHFF2zZsoUvvviCr7/+mhtuuIF7772XH374QXohheBwTfQlhPB8rn/00Ufs3buXFStWcP311/vLP//8c4YOHYrdbg/6XP/Pf/7DTz/9xOrVq4Mm7Vm2bFmL7VdycjLXX38927Zt41//+hfr1q1j9OjR/uWhxDLf5/b555/f6LM98HM73OMJdTLOgx3DgTS1DYvFQseOHRv1lAXP5GDZ2dmApxfxnj17WL16Nd988w2ffvopTzzxBJdffjmvvfZayHXEsUliqBDiQM4++2y6d+/O008/zQUXXMDTTz9NXFyc/4JfoOTk5CZjzoH4zqucTmejZVVVVUGvExISWLlyJVu3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vow33nhDUv3YKUtERERERERERERVSlBQEGJjY3Hx4kUMGTIE3333HXbu3Ilu3bqJaVxdXVG7dm1x5KsleVauXInTp09j9OjRmDBhAjQaDU6ePInWrVtLqh+XLyAiIsAoAAqJo3aMHOVDRETEGEpERCST1BgqI362bdsWu3fvLvX1oUOHYujQoZLy1KxZE8uXL5dclwexU5aIiORNpeTUSyIiIsZQIiIiuaTG0CoWP9kpS0REAOSsb1e1AiIREZE8jKFERETySI2hVSt+slOWiIg4yoeIiEguxlAiIiJ5OFKWiIjsnlGA5KeOXA+PiIiIMZSIiEguqTG0isVPdsoSEREgGE2H1DxERET2jjGUiIhIHqkxtIrFT2VlV4CIiIiIiIiIiIjInnCkLBERcT08IiIiuRhDiYiI5OGaskREZPe4Hh4REZE8jKFERETycE1ZIiKyexzlQ0REJA9jKBERkTwcKUtERHZPgIwbSqvUhIiI6PHCGEpERCSP1BhaxeInO2WJiIijfIiIiORiDCUiIpKHI2WJiMjuGY0AjDLyEBER2TnGUCIiInmkxtAqFj+VlV0BIiIiIiIiIiIiInvCkbJERMSpl0RERHIxhhIREcnD5QuIiMju8YaSiIhIHsZQIiIiedgpS0REds8oQPJWlsaqFRCJiIhkYQwlIiKSR2oMrWLxk52yREQEQTBCEKQtmi41PRERUVXEGEpERCSP1Bha1eInO2WJiMg0DUTqU8cqNnWEiIhIFsZQIiIieaTG0CoWP9kpS0REBcGNN5RERESSMYYSERHJIzWGVrH4yU5ZIiICjEZAIXEqSBWbOkJERCQLYygREZE8UmNoFYufysquABEREREREREREZE94UhZIiLi1EsiIiK5GEOJiIjk4fIFRERk7wSjEYLEqZdVbedLIiIiORhDiYiI5JEaQ6ta/GSnLBERcZQPERGRXIyhRERE8nCkLBER2T2jACh4Q0lERCQZYygREZE8UmNoFYuf7JQlIqKC4CZ15+iqFRCJiIhkYQwlIiKSR2oMrWLxk52yREQEwShAkDjKR6hiAZGIiEgOxlAiIiJ5pMbQqhY/lZVdASIiIiIiIiIiIiJ7wpGyREQECEZIn3pZtXa+JCIikoUxlIiISB6pMbSKxU92yhIREadeEhERycQYSkREJI+9L1/ATlkiIkK+kCv5qWM+9FaqDRER0eODMZSIiEgeqTG0qsVPdsoSEdkxR0dH+Pn54dfk3bLy+/n5wdHRsZxrRUREZPsYQ4mIiOQpSwytSvFTIVS1sb9ERCRJTk4O8vLyZOV1dHSEk5NTOdeIiIjo8cAYSkREJI/cGFqV4ic7ZYmIiIiIiIiIiIgqkLKyK0BERERERERERERkT9gpS0RERERERERERFSB2ClLREREREREREREVIHYKUtERERERERERERUgdgpS0RERERERERERFSB2ClLREREREREREREVIHYKUtERERERERERERUgf4fY/5VQ386/wsAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, axes = plt.subplots(1, 3, figsize=(14, 4))\n", "for ax, values, title in [\n", @@ -879,7 +1329,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "a9582f0a", "metadata": { "execution": { @@ -889,7 +1339,18 @@ "shell.execute_reply": "2026-07-20T19:11:15.282063Z" } }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9UAAAMWCAYAAAD/NqUFAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvctoD+AAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VGXax/HvTHovpAFJCKH33qsiihXsoGIFld21rrvK6ru23UVd++7aBVx7ARuuqCC9995DSIOE9N5m5v0jyUCkTUKSM5n8Ptc1F+HMOWfuyZVJzn2e+7kfk81msyEiIiIiIiIidWY2OgARERERERGR5kpJtYiIiIiIiEg9KakWERERERERqScl1SIiIiIiIiL1pKRaREREREREpJ6UVIuIiIiIiIjUk5JqERERERERkXpSUi0iIiIiIiJST+5GB9CcWa1W0tLSCAgIwGQyGR2OiIiIiIiINACbzUZBQQFt2rTBbD77WLSS6vOQlpZGTEyM0WGIiIiIiIhII0hOTiY6Ovqs+yipPg8BAQFA1Tc6MDDQ4GhERERERESkIeTn5xMTE2PP+c5GSfV5qCn5DgwMVFItIiIiIiLiYhyZ5qtGZSIiIiIiIiL1pKRaREREREREpJ6UVIuIiIiIiIjUk5JqERERERERkXpSUi0iIiIiIiJST0qqXZjNZsNmsxkdhoiIiIiIiMtSUu3C3lh6iIc+30pphcXoUERERERERFyS1ql2Uam5Jby6aD8VFhtHsov5dPpQvD3cjA5LRERERETEpWik2kW1DfbhgzsHE+TjwZakXJ74ZqdKwUVERERERBqYkmoXNrxDGG/e0h+zCb7alMLnG5KNDklERERERMSlKKl2ccM7hPHHi7sA8PT3u0nKKjY4IhEREREREdehpLoFmDGmA0Pah1JSYWHm19tVBi4iIiIiItJADE+qv/32W8aNG0fPnj2ZMmUKBw8ePO9jrFYrCxYs4IorrqBjx46sW7fulHMkJiby0EMPMWTIEEaMGMGjjz5KdnZ2g70vZ2I2m3j+2t54e5hZdTCLLzaqDFxERERERKQhGJpUL1iwgOuuu44rr7yS999/H5vNxqhRo86a3DpyzKOPPsqbb77JxIkTOXToECUlJbXOYbFYuOSSS4iLi+Nf//oXf//731m6dCnjxo2jrKys0d6vkeLC/Pjj+Koy8OcX7iOvpMLgiERERERERJo/k83AWuCBAwfSq1cv5syZA0B5eTmtW7fm4Ycf5vHHH6/3MeXl5Xh6epKSkkJMTAxLlixh7Nixtc5TWVmJu/uJFcX27dtH165dWbZsGaNHj3Yo/vz8fIKCgsjLyyMwMLCub7/JVVisXPraCg5mFDJtZHueuKK70SGJiIiIiEgLszM1j8SsIrq3DiQ+3N/ocE6rLrmeYSPVBQUFbN68mUsuucS+zdPTk4suuoilS5ee1zGenp7nfP2TE2rAPs/YZDLV4V00Lx5uZp64vBsAc1cnknC80OCIRERERESkpfluWxp/+GQLH69LMjqUBmFYUp2SkoLNZiMqKqrW9qioKFJSUhrsGEf93//9H3FxcQwePPiM+5SVlZGfn1/r0dyM7RLBBV3CqbTaePmX/UaHIyIiIiIiLUxqTtX03LbBPgZH0jAMS6qtVisAHh4etbZ7enpisVga7BhHPPXUU/zvf//js88+w8vL64z7zZo1i6CgIPsjJiam3q9ppD9P6ArAgu1H2XO0+d0YEBERERGR5islp2qZ37YhSqrPS1hYGABZWVm1tmdmZtqfa4hjzuW5557jn//8JwsWLGDIkCFn3XfmzJnk5eXZH8nJzbOLdrfWgVzeuzUAr2i0WkREREREmlBqrkaqG0RkZCQxMTGsWbOm1vZVq1YxcODABjvmbJ5//nmeeeYZvv/+ey644IJz7u/l5UVgYGCtR3P10EWdMJvg593pbE/JNTocERERERFpAUorLGQWlgMQrZHq83fvvffy3nvvsXfvXgDeeecdEhISmD59un2fv/zlL1x22WV1OsYRL774Is888wwLFizgwgsvbIB307x0jAhgUt+2AJpbLSIiIiIiTaJmlNrP040gH49z7N08uJ97l8bz6KOPkpKSQp8+ffDz88PNzY2PPvqIXr162ffJyMggKSmpTsfMnz+fP//5z/Z51jfffDM+Pj7cf//93H///eTk5PCnP/0Jf39/7r777loxzZo1i+uvv76R37lzeOCiTny3LY2l+46zNTmXvjHBRockIiIiIiIuzN6kLMTHZVZeMnSd6hpFRUVkZ2fTunXrU5a6On78OKWlpac0BTvbMQUFBaSnp5/yOqGhoYSGhmK1WklISDhtLBEREQ6XdTe3dapP549fbGPe5hQm9IjirakDjA5HRERERERc2Kfrk5g5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BgNGjBjh0ubkyZMoKSlBnz59EBISclGPy+HfRERERERE3sdn51R3NSbVRERERERE3odzqomIiIiIiIi6AJNqIiIiIiIionZiUk1ERERERETUTkyqiYiIiIiIiNqJSTURERERERFROzGpJiIiIiIiImonJtVERERERERE7cSkmoiIiIiIiKidmFQTERERERERtROTaiIiIiIiIqJ2YlJNRERERERE1E5MqomIiIiIiIjaiUk1ERERERERUTsxqSYiIiIiIiJqJybVRERERERERO3EpJqIiIiIiIionZhUExEREREREbUTk2oiIiIiIiKidmJSTURERERERNROTKqJiIiIiIiI2olJNREREREREVE7MakmIiIiIiIiaicm1URERERERETtxKSaiIiIiIiIqJ2YVBMRERERERG1E5NqIiIiIiIionZiUk1ERERERETUTkyqiYiIiIiIiNqJSTURERERERFROzGpJiIiIiIiImonr0mqX331VcTGxkKhUGDIkCHYtGnTeduXl5dj7ty5iIiIgFKpREpKCl599dUuipaIiIiIiIi8gVck1f/73//w3HPP4YMPPkB5eTmuvPJKXHnllTh16tQ5j7n33nuxb98+bN26FXV1dXjjjTfw9NNP49NPP+26wImIiIiIiKhb84qk+vXXX8e8efMwY8YM6HQ6/P3vf0dISAjeeeedcx6Tnp6OG264Ab169YJCocCsWbOQmpqK9PT0rguciIiIiIiIurVun1RXVlbi+PHjmDRpkrNMIpFg8uTJ2LZt2zmPmzNnDlasWIEjR46gtrYW33zzDU6dOoWbb765K8ImIiIiIiIiLyB3dwCXqri4GAAQHh7uUh4REYFdu3ad87hFixbhxIkT6N+/PwBAqVTi3XffxZgxY855jMlkgslkct42GAyXEjoRERERERF1c92+p/pc7HY7JBLJOevnzJmDzMxMZGRkwGg04uuvv8aDDz6IZcuWnfOYl156CTqdznmJj4/vjNCJiIiIiIiom+j2SXV0dDQAoLS01KW8rKwMUVFRrR5TVlaGZcuW4ZlnnkHfvn2hUqlw9dVX48Ybb8Rbb711zsd68sknodfrnZe8vLyOeyJERERERETU7XT7pDo4OBh9+/bFxo0bnWVCCGzcuBFjx451ltntdthsNgCAQqFwtmvObrc761qjUqmg1WpdLkREREREROS7un1SDQALFizAhx9+iFWrVqG0tBTz58+HwWDA/fff72zzhz/8AYMGDQIABAUFYerUqXj22WeRnp4Og8GAr776CitWrMCNN97orqdBRERERERE3Uy3X6gMAH73u9+hpqYGjz76KEpKSjBgwACsXbvWZc6zTCaDXH7m6X755Zd4+umncd1116GiogI9evTAK6+8ggcffNAdT4GIiIiIiIi6IYk4eww0tZnBYIBOp4Ner+dQcCIiIiIiIi9xMbmeVwz/JiIiIiIiInIHJtVERERERERE7cSkmoiIiIiIiKidmFQTERERERERtROTaiIiIiIiIqJ2YlJNRERERERE1E5MqomIiIiIiIjaiUk1ERERERERUTsxqSYiIiIiIiJqJybVRERERERERO3EpJqIiIiIiIionZhUExEREREREbUTk2oiIiIiIiKidmJSTURERERERNROTKqJiIiIiIiI2olJNREREREREVE7MakmIiIiIiIiaicm1URERERERETtxKSaiIiIiIiIqJ2YVBMRERERERG1E5NqIiIiIiIionZiUk1ERERERETUTkyqiYiIiIiIiNqJSTURERERERFROzGpJiIiIiIiImonJtVERERERERE7cSkmoiIiIiIiKidmFQTERERERERtROTaiIiIiIiIqJ2YlJNRERERERE1E5ydwfQkQ4dOoSSkhKkpaUhJiamTcc0NDRg79690Gg0GDx4MKRSfs9AREREREREbeMVSXVtbS2uvfZaHDhwAL169UJ6ejr++te/4umnnz7vcR9//DEeeeQRpKSkQKPRwG634+uvv0ZUVFQXRU5ERERERETdmVck1c888wxycnJw7NgxhIaGYt26dZg+fTomTpyIiRMntnrMzz//jN///vdYsWIFbrzxRgDA3r17odfrmVQTERERERFRm0iEEMLdQVwKIQTCw8Px2GOP4amnnnKWDxs2DEOGDMH777/f6nETJkxAcHAwvvvuu3Y/tsFggE6ng16vh1arbff9EBERERERkee4mFyv208gLigoQEVFBQYNGuRSPnjwYBw4cKDVY4xGI7Zv346ZM2eipKQEv/zyC44ePYoLfb9gMplgMBhcLkREREREROS7un1SXV1dDQAICQlxKQ8NDXXWna2iogI2mw1btmzBsGHD8OKLL2Ly5MkYM2YMioqKzvlYL730EnQ6nfMSHx/fUU+DiIiIiIiIuqFun1QrlUoAQH19vUt5fX29s+5cx+zZswcZGRnYsGEDsrOzUVdXh8cff/ycj/Xkk09Cr9c7L3l5eR30LIiIiIiIiKg76vYLlSUkJEAmkyE/P9+lPC8vD0lJSa0eExYWhsDAQFxzzTXO8fEBAQG49tpr8cUXX5zzsVQqFVQqVccFT0RERERERN2aW3uq7XY7jh496rydlZWFp59+Gh999NEF5zc3UavVmDRpEr755htnWXV1NX755RfMmDHDWXbw4EH89ttvAACJRIKZM2ciOzvb5b6ys7PbvL81ERERERERkVt7qt98800UFhbi1VdfhdFoxNSpUxEUFITCwkIUFxfjySefbNP9vPTSS5g4cSLuv/9+jBkzBu+88w4SExMxb948Z5v/+7//w44dO3D48GEAwAsvvIDRo0fj4Ycfxrhx47Bz50589dVX+PHHHzvluRIREREREZH3cWtP9dtvv40HHngAALBhwwbodDocOHAAq1evxgcffNDm+xk5ciR27doFiUSCVatWYfr06diyZQv8/PycbQYNGoRJkyY5b/fu3Rt79+6FXC7H8uXLIYTAvn37MH369I57gkREREREROTV3LpPtUajQUVFBfz8/DB//nwolUr84x//QENDA0JDQ1ssPuZpuE81ERERERGR9+k2+1T36tULn3/+OUpLS7Fs2TJnL3FWVhZ69erlztCIiIiIiIiILsitSfXzzz+Phx56CJGRkejbty8mTpwIAHj33Xdx3333uTM0IiIiIiIiogty60Jl1157LYqKilBcXIzU1FRIpY4c/5ZbbsG4cePcGRoRERERERHRBbl9n+qQkBCEhIS4lDVfUIyIiIiIiIjIU7k1qX7ooYfOW7948eIuioSIiIiIiIjo4rk1qc7Pz3e5bbfbkZWVhczMTFxxxRVuioqIiIiIiIiobdyaVK9cubLV8meeeQZ1dXVdGwwRERERERHRRXLr6t/n8uijj+Lrr792dxhERERERERE5+WRSXVFRQX0er27wyAiIiIiIiI6L7cO/25tIbKqqip8+umnmDlzphsiIiIiIiIiImo7j0uqg4ODcf311+Ovf/2rGyIiIiIiIiIiaju3JtWZmZnufHgiIiIiIiKiS+KRc6qJiIiIiIiIuoMu76meP39+m9u+9tprnRgJERERERER0aXp8qT68OHDXf2QRERERERERJ2iy5PqNWvWdPVDEhEREREREXUKt8ypNplMWLBgAfr06YPevXtjwYIFMJlM7giFiIiIiIiIqN3csvr3c889h3fffRe33XYbAOCdd96BUqnEiy++6I5wiIiIiIiIiNpFIoQQXf2gycnJeO+99zB16lQAwNq1a3H//fcjOzu7q0O5JAaDATqdDnq9Hlqt1t3hEBERERERUQe4mFzPLUm1QqFAfX09FAoFAMBsNsPf3x8Wi6WrQ7kkTKqJiIiIiIi8z8Xkem6ZU221Wp0JNQAolUpYrVZ3hEJERERERETUbm6ZUw0AM2bMuGAZVwonIiIiIiIiT+aWpHr27NltKiMiIiIiIiLyZG5JqpcuXeqOhyUiIiIiIiLqUG6ZU93k9ttvx/r16+GGtdKIiIiIiIiILplbk+q6ujrMnDkTSUlJePbZZ3H69Gl3hkNERERERER0UdyaVK9atQr5+fl48MEHsXz5ciQlJWHatGn48ssvYTQa3RkaERERERER0QW5NakGgMjISCxYsAAZGRnYunUrEhMTMXfuXMTExOChhx7C8ePH3R0iERERERERUavcnlQ3KS8vx86dO7Fz504IITBlyhQcPHgQffv2xeLFi90dHhEREREREVELbk2qbTYbVq9ejZtuugmxsbF45513cNddd6GgoABfffUVfvvtN/zwww945pln3BkmERERERERUavcsqVWk4SEBFRVVeHmm2/G+vXrMWHChBZtZs6cCZlMdsH7KikpwRdffIGSkhIMGDAAs2fPhlzetqe3a9cufPHFF5g0aRKuv/76i34eRERERERE5Jvc2lP917/+FUVFRfjkk09aTaiblJeXn/d+srKyMGDAAKxZswYKhQKLFi3CjBkzYLPZLhhDVVUVbrvtNnzyySfYtGnTRT8HIiIiIiIi8l1uTaofeOAB6HS6S76fJ554Aqmpqfjpp5/wwgsvYMOGDfjtt9/wxRdfXPDYefPmYe7cuejRo8clx0FERERERES+xWMWKmsvi8WC1atX4/bbb4dU6ng6CQkJmDx5MlauXHneY//zn/+gtLQUTz31VBdESkRERERERN7GrXOqO0Jubi5MJhNSUlJcylNSUrB169ZzHnfw4EE8//zz2LFjR5vmbAOAyWSCyWRy3jYYDO0LmoiIiIiIiLxCt++prq+vBwAEBga6lGu1Wmfd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EHJycpyv07a0IepM4eHhKC4uhs1mc5bl5eU56wDH5212drbL2iurVq1CSEgIhg4d2uY2RC7cuEgadZLnnntOaLVa8b///U988cUXIiEhQdx+++3uDovI6eOPPxYSiUQsXLhQbN682XnZv3+/s43VahUjRowQI0aMEN9884146aWXhFwud9liqC1tiLpSa6t/Z2ZmisDAQDFv3jzx3XffiVtvvVWEhoaK3Nzci2pD1Jm++uorodPpxFtvvSXWrFkj7r33XqHRaMSRI0ecbf7zn/8ItVot3nzzTbF8+XLRt29fMX36dJf7aUsbos6SlZUlAgICxE033SRWr14tvvjiC9GnTx8xduxY55ZaQggxffp0kZaWJlasWCHefPNNoVKpnNtzXkwboiYSIc6afEte4eOPP8bXX38Ns9mM6dOn409/+hPngJDHePbZZ7F+/foW5b169cJHH33kvK3X6/HKK69g586dCAoKwrx58zBz5kyXY9rShqirPPXUUwCAf/zjHy7lR44cweuvv47Tp08jJSUFf/nLX1xWu29rG6LOtH79erz//vuorKxE79698cgjj7R4Da5YsQJLlixBfX09Jk6ciMcee8xlheS2tiHqLNnZ2Xjrrbdw7Ngx+Pn5YfTo0XjwwQfh7+/vbFNfX49//etf+O2336DRaHDHHXe4LGbW1jZETZhUExEREREREbUT51QTERERERERtROTaiIiIiIiIqJ2YlJNRERERERE1E5MqomIiIiIiIjaiUk1ERERERERUTsxqSYiIiIiIiJqJybVRERERERERO3EpJqIyIvs378fX331FXbs2NGm9qWlpVi6dCmEEK3ePlthYSFWrFjRYfF2hqqqKixduhRWq9VtMVzs36EzXOhv2Vae8Pv0BOnp6di0aVOn3f/hw4fxyy+/ePx9Xoqff/4Zx44dc3cYTj/++COys7PdHQYReQEm1UREXuLxxx/HVVddhWXLlmHv3r1tOiYjIwO33XYbbDZbq7fPtm/fPtx5550dFnNnyM7Oxm233Qaj0eiWx2/P36EzXOhv2Vbu/n1eqkOHDmHDhg2XfD+ff/45XnrppQ6IqHVfffUVFi1a5PH3eSmeeOIJfP/992557DVr1uD48eMuZQ8//DDWrVvnlniIyLvI3R0AEeO7IhcAABWKSURBVBF1jPfeew9LlizBrFmz2nxMREQE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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "idx = np.arange(len(y_plus))\n", "fig, axes = plt.subplots(3, 1, figsize=(10, 8), sharex=True)\n", @@ -937,7 +1398,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "187f7fea", "metadata": { "execution": { @@ -947,7 +1408,66 @@ "shell.execute_reply": "2026-07-20T19:11:17.039369Z" } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[{'name': '|U_xy|',\n", + " 'count': 258984,\n", + " 'min': 9.274197929486949e-05,\n", + " 'p01': 0.21615380686796398,\n", + " 'mean': 32.09927286785441,\n", + " 'p99': 97.0217835728182,\n", + " 'max': 101.66421787590755},\n", + " {'name': 'Ux',\n", + " 'count': 258984,\n", + " 'min': -40.1626,\n", + " 'p01': -26.663384999999998,\n", + " 'mean': 24.143595454931,\n", + " 'p99': 57.23976799999999,\n", + " 'max': 64.0673},\n", + " {'name': 'Uy',\n", + " 'count': 258984,\n", + " 'min': -4.48142,\n", + " 'p01': -2.5176868000000003,\n", + " 'mean': 12.237414191923309,\n", + " 'p99': 95.408068,\n", + " 'max': 100.078},\n", + " {'name': 'p',\n", + " 'count': 258984,\n", + " 'min': -4783.75,\n", + " 'p01': -4551.2704,\n", + " 'mean': -371.1175586042671,\n", + " 'p99': 486.94471999999973,\n", + " 'max': 516.845},\n", + " {'name': 'nut',\n", + " 'count': 258984,\n", + " 'min': 6.05286e-19,\n", + " 'p01': 3.6575001e-14,\n", + " 'mean': 0.0006963185103278898,\n", + " 'p99': 0.015897779999999934,\n", + " 'max': 0.0205544},\n", + " {'name': 'k',\n", + " 'count': 258984,\n", + " 'min': 1e-15,\n", + " 'p01': 7.4761248e-10,\n", + " 'mean': 1.8431521013304757,\n", + " 'p99': 29.00798499999999,\n", + " 'max': 70.9575},\n", + " {'name': 'omega',\n", + " 'count': 258984,\n", + " 'min': 0.282306,\n", + " 'p01': 0.31310847,\n", + " 'mean': 5880015.620109469,\n", + " 'p99': 56715574.99999955,\n", + " 'max': 1938740000.0}]" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "U = parse_foam_list(SIM_DIR / \"40000\" / \"U.gz\", columns=3)\n", "p = parse_foam_list(SIM_DIR / \"40000\" / \"p.gz\", columns=1)\n", @@ -980,7 +1500,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "2eccca27", "metadata": { "execution": { @@ -990,7 +1510,18 @@ "shell.execute_reply": "2026-07-20T19:11:17.671231Z" } }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKYAAAMWCAYAAADLc44dAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvctoD+AAAAAlwSFlzAAAPYQAAD2EBqD+naQAAmqtJREFUeJzs3Xd8FNX+//F3QgqBkIQSCL0KGOkSkA4ConQFBRTBAnph9aqAV7ABioAFRWQBFXvDAqKCKEjvRkApoUmRUBIIIKGGlPP7g1/2y5JCFjaZ7Ob1fDx4XPfM2ZnPzOZmJ+85c8bHGGMEAAAAAAAA5DFfqwsAAAAAAABAwUQwBQAAAAAAAEsQTAEAAAAAAMASBFMAAAAAAACwBMEUAAAAAAAALEEwBQAAAAAAAEsQTAEAAAAAAMASBFMAAAAAAACwBMEUAAAAAAAALEEwBcCr9O7dWzVq1Lhqv1WrVsnHx0dbt27Ng6rcy5NrBwDAm4wbN04+Pj46c+aM1aVkyRNqBFCwEUwBwGUiIiLUsmXLTJcdPHhQPj4+euyxx/K4KgAAAADwTgRTAAAAAAAAsATBFAAAAAAAACxBMAUgU0uXLtWtt96qUqVKKTQ0VM2aNdNXX30lY4yjT+3atdWzZ0/99ddfatWqlYoUKaJKlSrppZdeUlpaWoZ1/vTTT2rTpo2KFSumoKAgtWjRQgsXLrymfmlpaXr55ZdVqVIlBQUFqWXLltq0aZP7D8R1Wr16tfz9/TV06FCn9iVLlsjPz0/Dhw+XJN15550qU6aMLl68mGEdffr0UYkSJZSUlJQnNQMA4E3mzZsnHx8frVq1SpMmTVLVqlVVqFAh/f3335KkDRs2qEePHipRooQCAwNVp04dzZw5M8N6PvvsM914440qXLiw6tSpo59++inT7bVs2TLTaQHGjBkjHx8fXbhwwal9w4YNuuuuuxQeHq4iRYqoSZMm+uabbzL0cWeNmenbt6+qVKmi+Ph43XnnnSpWrJhKlSql//znPzp9+nSmfY8dO6a+ffuqePHiuuWWWyRJxhi9++67atSokYKCghQSEqIuXbpo8+bNTuv44osvFBUVpdDQUIWHh6tjx45aunSpS332798vHx8fzZgxI8P+1KhRQ71793a8TklJkY+Pj55//nktWrRIjRs3VmBgoKZOnSpJOnbsmGw2mypVqqSAgABVqFBBw4YN07lz57I9bh9//LF8fHy0bds2PfvssypTpoyKFCmiTp06KSYmJgdHHgDBFIAM9uzZo86dO6tevXraunWrjhw5oilTpmjevHnat2+fU9+EhASNHDlSU6dO1eHDhzV69GiNHz9eTz31lFO/qVOnqkePHmrTpo22b9+u2NhY3XHHHercubPmz5/vcr+nnnpK48aN0wsvvKAjR45o2rRpGjVqlI4ePZq7B8dFLVq00Kuvvqrp06friy++kCQdPnxY/fr10y233KJXX31VkmSz2XT06FF99913Tu+Pi4vT999/r/vuu0+BgYF5Xj8AAN5i8uTJunjxotavX6/58+fL399fS5YsUfPmzVW0aFGtX79ex44d0zPPPKP//ve/mjhxouO9H330kQYMGKC77rpL//zzj3766Sd9+eWX+v3336+rpkWLFql58+Yyxmjp0qU6duyYpk2bptmzZys+Pl6S8rTG1NRUPfroo3r88cd16NAhff7555ozZ466d++e4aJjamqqHnnkEQ0aNEh79+7VkCFDJElDhw7VsGHD9Oijjyo2NlYxMTEqXbq0WrRooe3bt0uSfv31V/Xv318DBgzQ/v379ffff+vZZ5/VG2+84Vh/Tvpci7/++kvvv/++Zs2ape3bt+uGG27QsWPH1LRpU61atUpffvmlTpw4oW+//Vbz5s1T165dM73geqWxY8eqQoUK2r59u6Kjo3X69Gm1bt1aBw8evK56gQLBAMAVPv/8cyPJ7NmzJ9t+tWrVMn5+fmbfvn1O7SNGjDC+vr5m//79xhhjjh07ZoKCgszAgQMzrKNr167mpptucqnfgQMHjK+vrxk+fLhTn3379hk/Pz9TvXr1q+7jypUrjSSzZcsWp/YyZcqYFi1aZPqe2NhYI8nYbLarrv9KvXr1MkWKFDGbNm0yLVq0MKVLlzaHDh1yLE9LSzO1atUyLVu2dHrfyy+/bCSZTZs2XbV2AACQ0U8//WQkmbvvvjvDspo1a5qGDRua1NRUp/bnn3/eFClSxJw6dcqkpKSYiIgI0759e6c+SUlJpnz58kaSOX36tKO9RYsWmZ5LjB492kgy58+fN8Zc+u6vVq2aqVOnTobt53aNmenTp4+RZH766Sen9vTzwh9//DFD3x9++MGp7/r1640k8/rrrzu1JycnmxtuuMH06dPHGGPMyJEjTZEiRbKtJyd99u3bZySZ6dOnZ1hWvXp106tXL6caJJnw8HDHZ5Du8ccfN4GBgRnOaVetWpXpMbncRx99lOn54aFDh0xgYKAZOnRotvsAwBhGTAHIoG7duvL19dWgQYP0yy+/ZDuEuW7duqpSpYpTW8+ePZWWlqZly5ZJkhYvXqzz58/r7rvvzvD+Dh06aNu2bTp+/HiO+y1btkxpaWnq3r27U58qVaqoQYMGLu9vXvjwww9Vvnx5NWvWTOvWrdOXX36pcuXKOZb7+PhoyJAhWrVqlbZs2SLp0pXI9957T40aNcq3+wUAgKe48rxh586d2rVrl3r16iVfX+c/izp06KBz584pOjpaMTExiouLy/D+gIAA3XHHHddcz44dO7R371717ds3w/atqtHPz0+dO3d2auvZs6ekSyO3LleoUCF16dLFqS391sErz+X8/PzUpk0bLV++XJJUv359nTt3Tv3799fq1auVnJycoZac9LkWt912mwoXLpyh7qioqAzntM2bN1eRIkUcdWfnymNfrlw5RUVFZThuADIimAKQQb169TR79mydOXNGnTt3VmhoqFq1aqXPP/88Q98yZcpk2ZaQkCDp0u1oktSjRw/5+fmpUKFC8vX1la+vr5588klJ0vHjx3Pc7/jx41fd9rXy9fXNcrh2enuhQoVcXm9ISIjuvvtuXbhwQVFRUWrfvn2GPg888ICKFCmi6dOnS7o0J0ZsbKwefvhhl7cHAACclS9f3ul1+nnHiy++6DjvSD/3aNu2rST3nneYy+bplOSYfuDKuqyssVSpUhkCsKJFi6po0aKO87rL13vlOVF6vdWrV89wLjdz5kxHnX379tWUKVO0YcMGtWzZUmFhYercubNTiJOTPtm58niny+x4x8XFafXq1fLz88tQ97lz5xx1ZyerY3/lcQOQEcEUgEz17NlTv//+u06cOKG5c+eqePHiuv/++zOEU+nzH2TWVrJkSUmXTnKkSyOnUlJSlJqaqrS0NKWlpckYI2OMatasmeN+6evNbtvXqlSpUlmeQKSfQKbX6YpVq1bptddeU9OmTbVu3Tq9/fbbGfqEhobqvvvu0+eff67Tp09r2rRpKly4sO69916XtwcAAJz5+/s7vU7/Pn/zzTcd5x3p5x7p5x333HOPy+cdoaGhGSYLl6RDhw45vQ4PD8+0PS9qzEpCQkKGC3Rnz57V2bNnHdtId+XxvLzeuLi4TM/lLn/Iy+OPP67t27fr8OHD+vDDD3X8+HHddttt2rBhQ477hIaGSlKG422M0ZEjRzLdx6zq7tSpk1JSUpzqTj/GH374YZbHLF1Wx/7K4wYgI4IpANkKCwtTly5dNGfOHPn5+WnFihVOy7ds2aJ//vnHqe2HH35wupLXoUMHFS5cWF9//XW228ppvzZt2sjX1zfDk2YOHDigP//8M2c7loW2bdvq77//1t69ezMs+/XXXx19XBEfH68+ffqoYcOGWrFihQYPHqynn35a69aty9DXZrPp9OnTGj16tBYtWqRevXopLCzsWnYFAABkIzIyUtWqVdO3336b5eia9H5lypTJcN5x8eJF/fLLLxn6V69eXXv37nWaCuHixYtatGiRU78bb7xR1apV09dff53laO3cqjErKSkpWrBggVPbDz/8IEmZjva+Urdu3SQpw1MFs1O2bFn16dNHH3zwgVJTU7V69eoc9ylevLiKFy+urVu3OvVPnx4ip7p166ZVq1bp8OHDOX7Pla489keOHFF0dHSOjhtQ0BFMAcjAbrfrqaee0h9//KHTp0/r33//1dSpU5WSkqJ27do59W3atKmGDh2qzZs369SpU/roo480ZcoUDRkyxHGffpkyZfTGG2/o3Xff1ciRI7Vnzx5duHBBu3bt0rvvvqs+ffq41K9SpUoaOnSo3nnnHX344Yf6999/tWXLFj366KNq1qzZde37M888o9KlS6tnz55atmyZTp8+7Xjq3/jx49WrVy+1atUqx+tLTU1Vv379lJSUpO+++04BAQGaMmWK6tSpo3vuuSfD0PD69eurefPmeuutt2SM4TY+AAByiY+Pj95//3398ccf6tevn7Zs2aLz58/rn3/+0bfffquWLVtKunQL/7hx4/Tbb7/phRde0NGjR7V//349+OCDmc4BOWjQIJ09e1ZPP/20Tpw4ob179+qhhx7SzTffnGH706dP144dO9S7d29t3bpVZ8+e1YYNG9S3b1/Fx8fnWo1ZqVChgmbOnKmlS5fq9OnT+vXXXzVs2DC1bt06w3xSmWnevLmGDBmi//3vf5oyZYoOHjyoc+fOaevWrRo/frxGjBghSXr66af1yiuvaOvWrTp//rzi4uI0Y8YMFSpUyHGelZM+kjR48GB98803+vHHH3XmzBktWbJE77//fob5orIz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D6pBgwbq2LGj5syZc019CqLBgwerdu3aTv+GDBmSod8nn3yitm3bqmHDhhoyZIiOHTuWa30KkilTpqh27dp68803MyybO3eubrvtNjVo0EAPPPCADhw4kGt9vN358+c1efJkdezYUU2aNNHAgQO1adOmDP0WLVqkzp07q0GDBurXr5927tyZa3283YkTJ/TSSy+pXbt2at68uR5//HEdPHgwQ7/169erZ8+eql+/vu666y5t2LAh1/oUBH/++aceffRR3XjjjZoxY0amfbZt26Y+ffqofv366tq1q5YtW5ZrfSC99957at26tRo1aqQnnnhCJ0+etLokz2dgjDFm/vz5xs/Pz7z++utm1apVplevXqZcuXLmxIkTVpfmlaZPn266du1qvvnmG/PHH3+Yd955xwQEBJjp06c79evSpYuJjIw0CxcuNLNnzzalSpUyI0aMsKhq7/Xss8+aqKgoI8lER0c7LbvvvvtM1apVzc8//2x++uknU758eTNo0CCLKvU+K1asMEFBQebJJ5800dHRZsGCBaZ169ZOfZ544glTpkwZ8/3335tff/3V1KxZ0/Ts2dOiir1PgwYNTNOmTc2SJUvM77//bgYMGGBCQkLMgQMHHH1Gjx5twsLCzKxZs8xvv/1mGjRoYNq2bWth1Z5r48aN5oYbbjCvvvqqadSokXn44Ycz9Dl9+rSpUqWK6datm1m5cqV5++23jZ+fn/n2229d6lNQderUyTz44INm+/btjn+xsbFOfaZPn24KFy5sPvjgA7N8+XLTpk0bU7duXXPx4kW39ylIfv/9d1OlShVTrlw588wzzzgtmzNnjvHz8zOTJ082q1atMt27dzeVKlUyp06dcnufguDhhx82zz77rFm6dKlZt26defTRR02RIkXMtm3bHH2WLl1q/Pz8zLhx48zq1avNfffdZ0qVKmWOHDni9j4FQbNmzczo0aPNkiVLzKpVq8wdd9xhKlSoYI4dO+bos3nzZhMUFGSGDx9u1qxZYx577DFTtGhRs2PHDrf3KQi+//57U79+fTNt2jRTrlw58/LLL2foc+DAAVO8eHHz0EMPmTVr1pgXXnjB+Pv7mzVr1ri9D4x5/fXXTXBwsPnss8/MkiVLTNOmTU2TJk1Mamqq1aV5NIKp/y8qKsoMGDDA8TopKckUL17cjB8/3sKqvFdSUlKGNpvNZurV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uXLlHP0SEhIco87c1cdTDR8+PMNt1ldK3//58+frwoUL6tWrl2PZvn379P7772vevHnaunVrjs413dXHUw0ePFi9e/fOtk/6SNZ0QUFBjqCqefPm2rBhg9566y198MEHHPMcuPvuu9W2bdts+1SsWDFD23fffacHH3xQ77//vtPdDoGBgSpatGimx6pEiRLy8fFxWx9P1bFjR8e5d1auHI1zNVl9HxYqVEhhYWFu7VPQXf774PJpUBISEtSgQQOLqvIOBFO6NPSuQoUKWrdunbp37+5oX7t2rTp27GhhZd7t5MmT6tixo4oUKaIFCxYoODjYaXlUVJTGjx+vQ4cOqXz58pKkNWvWSBJ/DLrB119/rfPnzzte7969W927d9ekSZPUrFkzSZc+g9OnTysmJkaRkZGSpOjoaCUnJ/MZuEHjxo3l4+OjEiVKONp8fHxUvHhxnTlzRpIc8xytW7dOrVu3lnTpD564uDg+AzdIP86X/3Hh6+ursLAwx7L043z5d0RCQoJ279591aueuDZRUVH68ssvndrWrFmjkiVLOv4wzUkfb1GpUqXren9cXJySk5MVGhoq6dIcaYGBgVq3bp3q1asnSUpKStLGjRv14osvurWPpypXrpxT2Jadhx56SF27dnVq69y5szp06KDhw4dLkipXrqzw8HCtW7dOt912m6Pf2rVrHX/Yu6uPpypTpozKlClzXesICwtTYmKiJCk4OFi1a9fWunXrdO+99zr6rFmzxvF73V19PFXJkiVdDtdmz56t++67T9OmTdODDz6YYXlUVJTWrVvn1HblsXJXH08UGhrq+F3sLlkdq7p16zouarqrT0HXsGFDFSpUSOvWrVO1atUkSadPn9bWrVs1aNAgi6vzcFbNup7fvPzyyyY8PNzs2rXLGGPMBx98YAoVKmT++usviyvzTv/++6+5+eabTYsWLczp06cz7XPhwgVTuXJlM3DgQJOSkmLOnj1rWrZsySPac8mWLVsyPJUvJSXFREZGmjvvvNNcvHjRXLhwwdx+++2mYcOGTk/swLW76667TOfOnR1PFps3b57x9fU1CxYscPRp0aKFadeunTl37pxJTk42/fr1M9WqVcv06ZZwzZEjR0xwcLAZNmyYSUlJMcYYM3v2bOPj42PmzZvn6NelSxcTFRVlEhMTTWpqqvnPf/5jIiIizJkzZ6wq3Stk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oc2bNys5OVmRkZHq0KGDChUqlGEfV65cqY0bN8oYoyZNmqhFixZOfS5cuKCff/5Zu3btUlBQkFq1apXpFcGrbe/KOrM7JjNnzlRSUpJsNluG7fz6669at26dY/8zk9PPRcr5z4qrnyEAoGD4+++/NXXqVEnS3LlztX//fklSy5Yt1aFDB+3atUtffvmlHnroIVWqVMnxvpSUFI0bN05t27ZV27ZtJV26fW3GjBnq3bu3qlevrrlz52rPnj3q37+/0zbPnj2r2bNn6/Dhw6pbt646d+7sdH7iyjazc+rUKS1YsED79u1TsWLFdNttt6lmzZqO5ZfXW6NGDc2ZM0cHDhxQZGSkunbtKl9f3xwdI1ds2rRJP/zwg2655Rbdfvvt+vfffzV58mR1797dcX6S07pyuq9Xqz+zGtIlJibq119/1Z49e1S6dGm1b99elStXvup+uuvYX+s6r/z5q1KliowxWrBggTZv3qyIiAj17t1bBw8e1KxZszRo0CBVqFBBv//+u37++Wc9+uijKlu2rNP2jxw5onfffVddunRRVFTUVY/B5b7++mvt2LFD999/v6pVq+bSewGrcCsfkI+MHz9eP//8c4b2WbNmOb7k06XPIzV06FC9/vrr2rt3r5YsWeLU59FHH9XUqVN1+PBhvfbaa6pVq5Y2bNhwzdvMzKFDh9S0aVPdc8892r59u2JjYzVw4EC1adNGiYmJGeodMWKEJk2apLi4OE2cOFGRkZGKjY296naycvDgQT322GP6559/Mix78skntWjRIkcoc+XcTcnJybr99tvVu3dvbd26VUeOHNGUKVPUqFEjHT9+3GkbTZs2VY8ePbRhwwbFxsZq1KhRuvPOOx19tmzZolq1amn48OE6dOiQ1q1bp1tuuUX33XefUlJSXNqeK3NhHT16VI8//rh27drl1G6M0WOPPea0/5lx5XO53p8VAACys2vXLo0dO1YHDhxwak9JSdHYsWO1bNkyR1v6vEpLlixRx44dtWTJEq1du9YRhEhSfHy8OnbsqNWrV2vnzp3q27evOnTooPPnz1/TNrPy448/qkqVKnrttdd07NgxrVq1SnXq1NErr7ySod4VK1aoc+fOWrZsmf7++2/dfffd6tWrl2sHKgfmzp2rVq1aaefOnY5gLbP5nVytKyf7mp2s5piaO3euKleurLFjx+rQoUNas2aNOnXqpE8++STb9eXGsXdlnZn9/J0/f14dOnTQPffcox07dmj9+vW67bbbtHjxYo0dO1YHDx6UJJUuXVovv/yyZsyYkaGG6dOn66WXXspwkTA7aWlpGjZsmPr376+IiAhCKXgWAyBP1a9f33Tq1CnTZUWLFjU2my1De48ePUytWrWc2mrVqmVKlSplpk6d6mhLSEhwLCtZsqSZNm2aY9mZM2dMw4YNTbVq1UxycvI1bbNp06amffv2Tm233HKLqVixoomPj3e0xcfHm9KlS5vBgwc71RseHm7ef/99R9vRo0dN0aJFzZAhQ5zWmd0xutL+/fuNr6+vGT16tFP7mjVrjCTz4YcfZln//PnzjSTz+++/O713+/bt5uTJk8YYY9LS0kzjxo1NhQoVzIEDB5z6rVu3zhhjTEpKirnhhhtMrVq1zIkTJxzLf/rpJyPJjBs3Lsfby6xOY7I+JvHx8SYgIMA89dRTTu2//PJLhv3PjCufiys/K658hgCAgmP79u1Gkvnoo48yLEv/3ly5cqVT+/nz540kp+/6TZs2GUmmWrVqZu/evY7248ePOy3bt2+fY1l0dLQpVKiQ+d///ndN29y3b5+R5PSduX37dhMYGGgefPBBk5qa6mifNWuWkWQWL17sVG/NmjWdzic++OADI8ksX748R8coM+nr/uqrr4wxxrz++uvG19fXPP/88yYtLS3b+l2tKyf7ml39mdWwdetWExAQYO677z6nc9SkpCSzadOmLPc7t469K+vM7Odv5MiRxtfX1+l87+DBg6ZWrVpGklm7dq2jvWvXrqZs2bJO+52cnGzKli1rbr311iz33RhjXn75ZSPJnD592pw+fdp069bNhIaGmoULF2b7PiA/YsQU4MEKFSqkRx991PH68qsqAQEBeuSRRxyvixYtqmeeeUZ79+7V0qVL3bL9tWvXat26dRo5cqRKly7taC9durQefvhhff7550pOTna0Fy5cWA8//LDjdXh4uNq1a6fVq1dfcw2VK1dW+/bt9dFHHyktLc3R/sEHH6hYsWK65557snzvuXPnJMlx5Spd7dq1FRYWJklatWqV/vjjD40cOVIVK1Z06te0aVNJ0vLly7V7924NHz5cxYsXdyzv2rWrmjVrpvfeey/H23NV6dKl1bt3b3388cdOV4CnTZum4ODgbPc/XW58LgAA5IU77rhDVatWdby+fMqCLl26qEqVKo7XjRs3Vrdu3fTBBx/IGOOW7U+fPl0XL17Ua6+95nRLWJ8+fVStWjV99NFHTv27devmdD7Rp08fSXLLd25KSooGDx6s5557Th9//LFefvllp9sWs5OTulzd15yaNm2aUlJS9NZbb8nP7/9mmgkICFCDBg2yfF9uHHtX15nZz9/HH3+sO+64w+kWvPLly6tHjx4Z9mHo0KE6cuSI5s6d62j7/vvvdeTIEadzs+wcPHhQrVq10pYtW7RmzRp17NgxR+8D8hPmmAI8WK1atZy+wK9cduU8SXXq1JEkxcTEuOVLK/1pK5s2bdK4ceNkjHGc6G3dulXnz5/XoUOHHCeFtWvXznCCFBERobVr115XHYMGDVKfPn3022+/6bbbbtPZs2f19ddfq2/fvipatGiW70u/b/+uu+5S06ZNdeutt6p9+/Zq06aN47imP3o5u6fH7NixQ5JUr169DMvq1auntWvX6ty5czna3rWw2Wz68ssv9dVXX+mhhx5SbGys5s+frwcffDDb/U+XW58LAAC57aabbnJpWZ06dTR37lwdPXpUZcqUue7t//nnnwoODnbcjpV+LpT+b/fu3U79IyMjnV4XLVpUwcHBOnTo0HXXMmzYMCUkJGjRokVq3769S+/NSV2u7mtObd26VRUqVFB4eLhL78uNY+/qOq/8GTt16pTi4uIybCuz7UvS7bffrurVq2vatGnq3bu3pEtBXVhYmO66664cHYfWrVurSJEi+v33350uFAOehBFTQD7i5+en1NTUDO1nz57NtP/lo3OulNkVsvTQ6PJlrm7zcukjlAoVKqSUlBSlpqYqLS1NaWlpatSokUaPHq3g4GBH/yJFimRYR/p7r0fPnj1VqlQpffjhh5Kkb775RmfOnLnq0+2CgoK0du1azZ8/X82aNdOiRYvUsWNH1a1b1zGqKSdXVDM7rte6vWvRvHlzNWjQQNOnT5ckvfvuu0pNTc3xlbacfi7X87MCAMDVpF+kufK7Jrvvmes9F7qWbV4uLS1NAQEBSklJcToXMsZowIABeuCBB5z659a5kHRpRFBQUJBeffVVl7+bc1KXq/uaU9c6ei03jr2r67zy58/VffHx8dGQIUO0dOlS7dixQzt27NCyZct03333ZTtH6OX69Omjf/75RzNnznRp20B+wogpII9l9uSPdOXKlVNcXJxTW1pamnbs2JGjkS+X27Fjh1JTU51GTW3btk3SpREy7thm3bp1JUktWrTQ/fff71J92cnuGGUmICBA/fv31/Tp03XixAl98MEHuummmxy32mWnUKFC6ty5s+NJc+vXr9ctt9yiyZMn64033nCMgtq4caOaNWuW6TrSj+eWLVvUpEkTp2VbtmxRxYoVHSdDV9teVq52TIYOHapHHnlEa9as0cyZMxUZGalbbrnlqvvvCld+Vlz9DAEABcPVzoMkZfiuiYmJuaZtpZ/3XNlWokQJx+ic691m3bp1tX79ej399NMun6tl5Vq/Qzt27KiHH35YXbp0UceOHTV//vxsgztX5XRfXa2/Xr16Wr16tY4dO+bSqKncOPbXu86wsDBFRERk+vOzffv2TN/z4IMP6oUXXtD06dMdwVZOLy5K0oQJE1SxYkU988wzOnnypF5//XWX6wasxl8OQB6LiIjQ0aNHM13WsmVLLVmyRCdPnnS0vffee0pKSnJ5OxcvXnS6cnLu3Dm9/vrrqlKlim699Va3bLNVq1Zq0qSJxowZk2GfUlJSrnkuq+yOUVYGDRqkpKQkvfjii1q9enWOvtD/+usvxcfHO7XdcMMNTmFeixYt1LhxY02cODHDU+rWr18vSWrTpo1q1KihSZMm6dSpU47lCxYs0Jo1azR48OAcby8rVzsm9913n8LCwnTvvfcqPj7epROanHLlZ+VaPkMAgPeLiIiQpEy/I2rWrKnw8HB99913jraLFy/q3XffvaZtzZ8/3+lpexs3btRPP/2khx56yDFi6nq3+dhjj8nX11fDhw/PMOrq6NGj+uuvv1yuO7tjdDXNmzfX8uXLtW/fPrVp0yZD4HY9crqvrtY/ZMgQ+fn56amnnnIavXTx4kXHtBHXU48r3LHOBx54QL/88ovTk7CPHDmiH374IdP+JUqUUN++ffXJJ5/o008/VcOGDdWwYUOX6v7f//6n9957T2+++aYGDx7sNO8q4AkYMQXksX79+mnAgAEaMGCAqlatquLFi+vJJ5+UJD377LOaO3eumjZtqq5du2rv3r264YYb1Lx5c8c8RjnVsmVL/fHHH/r1119VuXJl/fLLLzp69KgWLFjgNJ/R9WzTx8dHc+fO1T333KMbbrhB3bt3V/ny5XXgwAGtX79ePXv2VLt27dx6jLKSPkLKbrc7RlBdzZEjR9SzZ0/ddNNNqlWrllJTU/Xjjz+qVq1aeuqppxz7OGfOHPXs2VP16tVTt27dFB4erj/++EMlSpTQ999/Lz8/P3333Xfq2rWrGjZsqK5duyohIUHfffed+vTpo5EjR+Z4e9d6TIoUKaKBAwfq7bfflr+/v1tHsKVz5WflWj5DAID3CwkJUefOnTVp0iTFx8erWLFiatmypTp06KDChQtr/PjxGjx4sO644w7deOONWrt2rUaPHq0vvvjC5W099thj6tOnj+rXr6/k5GR98803atmypcaOHevoc73bjIyM1Jw5czRw4ECtWLFCbdu2VeHChbVr1y5t27ZN06dPV/369d12jHKiXr16WrlypTp27KiWLVvqt99+c5oE/lrldF9drf+mm27SrFmz9OCDD6pBgwZq166dLly4oJUrV2rUqFFZToCeG8feHet88cUXtX79erVt21Z33323ChcurD///FM2m02PP/54piPKbDabY2L1a724OHjwYIWFhal///46deqUPv/8cwUEBFzTuoC8RjAF5LH7779f1atX19q1a3XmzBmnZVWqVFFMTIzmzJmjkydPqmfPnmrdurVmzZqlhIQEp76PPfaYSpUqlek20pf17dtXixYt0saNGzV8+HDdeeedTk/uc3WbgwYNyvAFV7ZsWa1cuVLr16/X+vXrde7cOTVs2FBvvPGGY3h8dvV27do1w8lSdscoO6+99pqWLFmiSpUqZToU/Mr6b7/9du3cuVOLFy/W9u3b5e/vr/fff1/t2rVzOmmoWLGi/vjjDy1dulSbNm2Sn5+fevXqpebNmzv61K9fX7t27dLPP/+sXbt2qVq1aho2bJgaN27s8vYyO845OSb33HOP3n77bXXv3j3HQ+Fd+Vxc+Vm51s8QAOD9Zs+erR9//FF///23Ll686LRs0KBBuvnmm7V48WIFBgbqqaeeUtmyZTV69Gi1bdvW0S8iIkKjR492PNjlcunLOnTooEGDBmn27Nk6cuSIvvrqK3Xu3DlDMJDTbYaFhWn06NEZHojSuXNn/fPPP1q4cKF27typwoUL67bbbtOtt97q+D7Prt6RI0dmaM/uGGW1v5evo0aNGlq1apVmzpyp3377TYMGDcq0flfrysm+Zld/VsfwzjvvVLt27bRgwQLt379fEREReuGFF1SpUqVs9z03jv31rjMoKEi//fabFixYoM2bN6ts2bJ69dVXNWvWLElSsWLFMrzn5ptvVtWqVXXkyBHde++92e5zutatW2v06NFOx/3uu+9WeHi4li1bprVr16pNmzY5WhdgNR/jrmelAgAsNXHiRI0aNUo///yz7rjjDqvLAQAAwP/3xBNP6N1331ViYmKGC5CxsbGqXLmy+vXrd02jAwFPxxxTAOAFjDH67LPPVKNGDXXq1MnqcgAAAAqsK+ei+vvvv/XRRx+pd+/emd5e99lnn8kYI5vNllclAvkKt/IBgAe7ePGixo8fr+joaO3YsUM//vgjT8QDAACw0NChQ1W0aFHVq1dP8fHx+uGHH1SjRg29+eabTv1mzZqltWvX6v3339e9997rNE0EUJBwKx8AeLD0YKpo0aLq0KGDy09xAQAAgHsZY7Rs2TJt3rxZFy9eVL169dShQ4cMT2KeNWuW/v77b9WuXVs9e/Z0ekARUJAQTAEAAAAAAMAS3O8BAAAAAAAASxBMAQAAAAAAwBIedxNrWlqaDh8+rGLFisnHx8fqcgAAgJczxuj06dMqV66cxz5cgPMnAACQl1w5f/K4YOrw4cOqWLGi1WUAAIACJjY2VhUqVLC6jGvC+RMAALBCTs6fPC6YKlasmKRLOxcSEmJxNQAAwNslJiaqYsWKjnMQT8T5EwAAyEuunD95XDCVPvw8JCSEEysAAJBnPPkWOM6fAACAFXJy/uSZEyUAAAAAAADA43lMMGW32xUZGamoqCirSwEAAPAInD8BAID8zscYY6wuwhWJiYkKDQ3VqVOnGIoOAABynTece3jDPgAAAM/hyrmHx4yYAgAAAAAAgHchmAIAAAAAAIAlCKYAAAAAAABgCYIpAAAAAAAAWIJgCgAAAAAAAJYgmAIAAAAAAIAlCKYAAAAAAABgCYIpAAAAAAAAWIJgCgAAAAAAAJbws7qA/KjKyPlZLts/sUseVgIAAOA5sjqH4vwJAABkhRFTAAAAAAAAsATBFAAAgJey2+2KjIxUVFSU1aUAAABkimAKAADAS9lsNsXExCg6OtrqUgAAADLlMcEUV/wAAAAAAAC8i8cEU1zxAwAAAAAA8C4eE0wBAAAAAADAuxBMAQAAAAAAwBIEUwAAAAAAALAEwRQAAAAAAAAsQTAFAAAAAAAASxBMAQAAAAAAwBIEUwAAAAAAALAEwRQAAAAAAAAsQTAFAAAAAAAASxBMAQAAAAAAwBIEUwAAAAAAALAEwRQAAAAAAAAs4Wd1AQAAALi65cuXa/v27Y7X3bp1U/ny5S2sCAAA4PoRTAEAAHiAzz77TIcPH1alSpUkSW3btrW2IAAAADcgmAIAAPAQDRo0UN26ddWqVStVqFDB6nIAAACuG3NMAQAA5DJjjBYtWqQHHnhAjz/+eKZ9kpOTNX36dN1///167LHHtH79eqflbdu21YkTJ/Tdd9+pbt26WrlyZV6UDgAAkKsYMQUAAJDL6tSpo7Jly8rf31+rVq3KtM9dd92lHTt26Mknn9S+ffvUokULzZkzR927d5ck9e/fX/3795ckffzxx5o0aZJatWqVZ/sAAACQGwimAAAActm8efNUtWpVjRkzRrt3786wfNGiRZo3b562bdumyMhISdL58+c1bNgwRzB1ufDwcJ0/fz7X6wYAAMhteR5MxcfHq3379o7XjRo10qeffprXZQAAAOSZqlWrZrv8559/VmRkpCOUkqR77rlH06ZN065du1SzZk198sknOn/+vBISEjRt2jS99tprWa4vKSlJSUlJjteJiYnXvxMAAAC5IM+DqeTkZEnSrFmzJElFixbN6xIAAADylb179zqetpcu/fXevXtVs2ZNbdmyRWfOnFGJEiU0a9YstW7dOsv1TZgwQWPHjs3VmgEAANzhmoKptLQ0nThxQsWKFVNgYGCWfc6dO6fg4OAMyw4dOqSHHnpIFSpU0PPPP3/Vq4gAAADeLCkpKcPFuvRzqAsXLkiS3njjjRyvb9SoURo2bJjjdWJioipWrOiGSgEAANzLpafyJSQkaMKECapRo4bCw8P17bffZuiTmpqqYcOGKSQkRCVKlNANN9ygxYsXO5ZHRERo5cqVeu+999SmTRvdcccd+vfff697RwAAADxVaGioTp486dR2/PhxSVJYWJjL6wsMDFRISIjTPwAAgPzIpWDqhx9+0KlTp5yCpitNmDBBn332mVauXKkzZ87o3nvvVffu3RUbGytJ8vPzU506ddSgQQM98cQTuummm/TXX39d314AAAB4sHr16mnbtm1KS0tztG3evFm+vr666aabrnm9drtdkZGRioqKckeZAAAAbudSMPXwww9r4sSJWd56Z4zR1KlTZbPZ1LBhQwUEBGj06NEqVqyYZs6cmaH/gQMHtG3bNlWoUOHaqgcAAPACffr00YkTJ/TZZ59Jki5evKgpU6aoU6dOCg8Pv+b12mw2xcTEKDo62l2lAgAAuJVbJz/fv3+/4uPj1bJlS0ebr6+vWrRoofXr10uSvvrqK73yyitKSUnR4cOH9eyzz6p69epZrpOnygAAAE/3wgsvaPv27YqJiVFcXJx69+4tSXrvvfdUokQJ1ahRQ9OmTdPQoUP1wQcf6ODBg/L399eXX35pceUAAAC5y63B1LFjxyQpw5W98PBw7d+/X5LUqVMn1a1bV/7+/qpUqZKCgoKyXSdPlQEAAJ6uffv2ql+/fob2y8+DBg8erG7dumnDhg0KCQnRLbfcIn9//7wsEwAAIM+5NZjy8fGRdGkC9MulpKTI1/fSXYMlSpRQiRIlcrxOnioDAAA8Xdu2bXPULyIiQl26dHHbdu12u+x2e4ZzMwAAgPzCrcFUuXLlJEnx8fFO7fHx8Spbtuw1rTMwMFCBgYHXXRsAAEBBY7PZZLPZlJiYqNDQUKvLAQAAyMClyc+vpnz58qpWrZp+++03R1tSUpJWrFihVq1auXNTAAAAAAAA8HAuBVPJyclKSEhQQkKCJOnMmTNKSEjQmTNnHH2ee+45TZs2TbNmzdLOnTv18MMPKygoSIMGDbquQnncMQAAAAAAgHdxKZhau3atateurdq1a6tkyZJ6/vnnVbt2bb3wwguOPg899JDefvttTZgwQe3bt9epU6e0dOlSFS9e/LoK5XHHAAAAAAAA3sWlOaZat27tGC2VnUceeUSPPPLINRcFAACA68fk5wAAIL9z6xxTAAAAyD8YcQ4AAPI7jwmmmGMKAAAAAADAu3hMMMUVPwAAAAAAAO/iMcEUAAAAAAAAvAvBFAAAgJdiKgQAAJDfEUwBAAB4KaZCAAAA+Z3HBFNc8QMAAAAAAPAuHhNMccUPAAAAAADAu3hMMAUAAAAAAADvQjAFAAAAAAAASxBMAQAAeCnm6AQAAPkdwRQAAICXYo5OAACQ33lMMMUVPwAAAAAAAO/iMcEUV/wAAAAAAAC8i8cEUwAAAAAAAPAuBFMAAAAAAACwBMEUAAAAAAAALEEwBQAA4KV4eAwAAMjvCKYAAAC8FA+PAQAA+Z3HBFNc8QMAAAAAAPAuHhNMccUPAAAAAADAu3hMMAUAAAAAAADvQjAFAAAAAAAASxBMAQAAAAAAwBIEUwAAAAAAALAEwRQAAAAAAAAsQTAFAADgpex2uyIjIxUVFWV1KQAAAJnymGCKEysAAADX2Gw2xcTEKDo62upSAAAAMuUxwRQnVgAAAAAAAN7FY4IpAAAAAAAAeBeCKQAAAAAAAFiCYAoAAAAAAACWIJgCAAAAAACAJQimAAAAAAAAYAmCKQAAAAAAAFiCYAoAAAAAAACWIJgCAAAAAACAJQimAAAAAAAAYAmPCabsdrsiIyMVFRVldSkAAAAAAABwA48Jpmw2m2JiYhQdHW11KQAAAB6BC3sAACC/85hgCgAAAK7hwh4AAMjvCKYAAAAAAABgCYIpAAAAAAAAWIJgCgAAAAAAAJYgmAIAAAAAAIAlCKYAAAAAAABgCYIpAAAAAAAAWIJgCgAAAAAAAJYgmAIAAAAAAIAlCKYAAAAAAABgCYIpAAAAAAAAWIJgCgAAAAAAAJYgmAIAAAAAAIAlCKYAAAAAAABgCY8Jpux2uyIjIxUVFWV1KQAAAAAAAHADjwmmbDabYmJiFB0dbXUpAAAAltm9e7cmT56sCxcuWF0KAADAdfOYYAoAAKCgu3Dhgp5++mmNGTNGZ86csbocAACA60YwBQAA4CFGjhypF198UYULF7a6FAAAALfws7oAAAAAb5eamqqff/5ZX3zxhUJCQvTee+9l6JOUlKRp06ZpzZo1Cg0N1YABA9S6dWvH8jlz5qhWrVpq1KhRXpYOAACQqxgxBQAAkMsiIyP17rvv6uzZs1qyZEmmfbp376733ntPt99+uyIiInTrrbdq9uzZkqSjR4/qhRdeUFJSkiZPnqxz587p3Xff5XY+AADg8RgxBQAAkMuWLFmi8uXLa8yYMdq+fXuG5QsWLNDChQu1c+dO1axZU5J0+vRpjRgxQr169VJSUpI6duyo/fv3S7o0Ais2Nlapqal5uRsAAABuRzAFAACQy8qXL5/t8l9++UV16tRxhFKS1Lt3b02ZMkU7duxQ7dq1NXnyZMeyWbNmady4cQoNDc10fUlJSUpKSnK8TkxMvL4dAAAAyCXcygcAAGCxffv2qUKFCk5tFStWdCy70iOPPKKgoKAs1zdhwgSFhoY6/qWvCwAAIL8hmAIAALDYxYsXVaRIEae29NcXL17M0P+ll15S0aJFs1zfqFGjdOrUKce/2NhY9xYMAADgJtzKBwAAYLGwsDDFx8c7tR0/ftyxzFWBgYEKDAx0R2kAAAC5ihFTAAAAFqtfv762bt3qNJn5n3/+KV9fX9WpU+ea12u32xUZGamoqCh3lAkAAOB2BFMAAAAW69u3r06dOqUPP/xQ0qXJy99++2116dJFJUuWvOb12mw2xcTEKDo62l2lAgAAuBW38gEAAOSyZ555Rtu2bdOuXbt05MgRde3aVZL0ySefqGTJkqpataref/992Ww2vf/++zp8+LCKFy+u6dOnW1w5AABA7iKYAgAAyGU9evRQq1atMrRfPoH5wIED1a1bN23atEkhISG6+eab5evL4HYAAODdCKYAAAByWfPmzXPUr0SJEmrfvr3btmu322W3253mrgIAAMhPuAwHAADgpZhjCgAA5HcEUwAAAAAAALAEwRQAAAAAAAAsYWkw9e2332rVqlVWlgAAAAAAAACLWBZMffPNNxo3bpxmzZplVQkAAABezW63KzIyUlFRUVaXAgAAkClLgqn9+/dr/vz5GjJkiBWbBwAAKBCY/BwAAOR3LgdT8fHxGj9+vHr37q2VK1dm2mfLli166qmn1L9/f02aNEnnz593LEtJSdGzzz6rt99++9qrBgAAAAAAgMdzKZj6/PPP1bhxYyUmJmr27Nn6559/MvRZvXq1oqKidO7cObVs2VKffvqpbr31VqWkpEiSXn75ZQUHB2vWrFlauXKltm3bpuXLl7tnbwAAAAAAAOAx/Fzp3LZtW+3Zs0cBAQF69dVXM+3zv//9Tz169NC7774rSerevbsqV66sWbNmqX///ipTpozi4+P1559/KjY2VidOnFBsbOz17wkAAAAAAAA8ikvBVIUKFbJd/u+//2rt2rX6+uuvHW3lypVTy5Yt9fPPP6t///4aOnSoY9mMGTO0detW9e/fP8t1JiUlKSkpyfE6MTHRlZIBAAAKLLvdLrvdrtTUVKtLAQAAyJRbJz/ft2+fjDGqVKmSU3ulSpW0d+/eDP1vuukmtWrVKtt1TpgwQaGhoY5/FStWdGfJAAAAXovJzwEAQH7n0oipq0kf2VSkSBGn9uDgYF24cCFD/6uFUpI0atQoDRs2zPE6MTGRcAoAAMCLVRk5P8tl+yd2ycNKAABAbnNrMBUaGipJOnnypFP78ePHFRYWdk3rDAwMVGBg4PWWBgAAAAAAgHzGrbfy1ahRQ0WKFNHmzZud2jdv3qx69eq5c1MAAAAAAADwcG4Npvz9/XXPPffo3Xff1dmzZyVJP//8s7Zv36777rvvutZtt9sVGRmpqKgod5QKAAAAAAAAi7kUTG3ZskW9e/dW7969JUlTpkxR7969NWPGDEefN954Q4GBgapVq5batWun3r1765VXXlHTpk2vq1Am7wQAAHANF/YAAEB+59IcU2XKlFHfvn0lyfG/klS1alXHf5csWVK///671q9fr+PHj6tevXoZntIHAACA3Gez2WSz2ZSYmOiYCxQAACA/cSmYKl26tGO0VHZ8fX3VrFmzay4KAAAAAAAA3s+tc0zlJoaiAwAAAAAAeBePCaaYYwoAAAAAAMC7uHQrHwAAAOAuVUbOt7oEAABgMY8ZMQUAAAAAAADvQjAFAADgpZijEwAA5HfcygcAAOClbDabbDabEhMTFRoaalkd3LIHAACy4jHBlN1ul91uV2pqqtWlAAAAwCJZhVz7J3bJ40oAAIA7eMytfDyVDwAAAAAAwLt4TDAFAAAAAAAA70IwBQAAAAAAAEsQTAEAAAAAAMASHhNM8bhjAAAAAAAA7+IxwRSTnwMAAAAAAHgXjwmmAAAA4BpGnAMAgPzOz+oCPE2VkfMzbd8/sUseVwIAAJA9m80mm82mxMREhYaGWl0OAABABoyYAgAAAAAAgCUIpgAAAAAAAGAJgikAAAAAAABYwmOCKSbvBAAAAAAA8C4eE0zZbDbFxMQoOjra6lIAAAAAAADgBh4TTAEAAAAAAMC7EEwBAAAAAADAEgRTAAAAAAAAsATBFAAAAAAAACxBMAUAAAAAAABLEEwBAAAAAADAEgRTAAAAXsputysyMlJRUVFWlwIAAJApP6sLyCm73S673a7U1FSrS8lUlZHzM23fP7FLHlcCAABwic1mk81mU2JiokJDQ60uBwAAIAOPGTFls9kUExOj6Ohoq0sBAAAAAACAG3jMiCkAAAAgK4xeBwDAM3nMiCkAAAAAAAB4F4IpAAAAAAAAWIJgCgAAAAAAAJYgmAIAAAAAAIAlCKYAAAAAAABgCYIpAAAAAAAAWIJgCgAAAAAAAJYgmAIAAAAAAIAlPCaYstvtioyMVFRUlNWlAAAAAAAAwA08Jpiy2WyKiYlRdHS01aUAAAAAAADADfysLgAAAADILVVGzs+0ff/ELnlcCQAAyAzBFAAAAJAPEKIBAAoigikAAAAPsWfPHm3ZskWNGjVSpUqVrC7Ho2UVAmXFneGQq9sGAMCbEUzlMq58AQAAd3jnnXc0Y8YM1axZUw8//LBmzpypO++80+qykA0CKAAAro5gCgAAwAPUq1dPW7dulY+Pjz777DN98803BFN5iJAJAIDcQTAFAACQB9auXasvvvhCRYsW1auvvppheVpamr744gutWbNGoaGhuvfee1WvXj3H8jZt2mjlypXauXOnPv/8c/33v//Ny/IBAAByha/VBQAAAHi7xo0b66mnntL27ds1e/bsTPv069dPzz//vKpUqaJ///1XjRs31sKFC536bNq0Sb/88osSExNVuHDhvCgdAAAgVzFiCgAAIJd9/PHHqlOnjsaMGaN//vknw/KlS5fqm2++0aZNm9SgQQNJUmpqqp544glt375dknT8+HH997//1X//+19t2LBBDz30kDp37pyXuwEAAOB2BFMAAAC5rE6dOtkunz9/vmrVquUIpaRLI6hmzpypv//+WzVq1FDfvn3Vrl07lSpVSt9++62aNm2a5fqSkpKUlJTkeJ2YmHjd+wDr8DAdAIA341Y+AAAAi/3999+qUqWKU1v66z179kiSZs2apYsXL2rTpk3q27evpk6dmuX6JkyYoNDQUMe/ihUr5lbpAAAA14URUwAAABY7f/68goODndqKFSvmWCZJJUuW1JgxY3K0vlGjRmnYsGGO14mJiYRTAAAgXyKYAgAAsFhISIhOnDjh1Jb+OjQ01OX1BQYGKjAw0C21AQAA5CZu5QMAALBY3bp1FRMTI2OMo23r1q3y8fFRZGTkNa/XbrcrMjJSUVFR7igTAADA7TxmxJTdbpfdbldqaqrVpQAAALjVPffco5deeknffPON+vTpo9TUVNntdrVv315lypS55vXabDbZbDYlJiZe08gr5G9ZTYouMTE6AMBzeEwwxYkVAADwVOPHj9euXbv0559/6ujRo3rggQckSW+99ZaKFy+u2rVr64033tBDDz2kTz75RAcOHNCZM2f022+/WVs4AABALvOYYAoAAMBTNWzYUOXKlVPbtm2d2i+fB+rJJ59Ujx499PvvvyskJERt27ZVUFBQHlcKAACQtwimAAAActkdd9yRo35Vq1ZV1apV3bZdpkIAAAD5HcEUAACAl2IqhIIrq/mnmHsKAJDfEEwBAAAABQSBFQAgvyGYAgAAAIDLEOABQN7xtboAAAAAAAAAFEwEUwAAAF7KbrcrMjJSUVFRVpcCAACQKYIpAAAAL2Wz2RQTE6Po6GirSwEAAMgUc0wBAAAABRxzKgEArEIwBQAAACBTWQVWWSHIAgC4ilv5AAAAAAAAYAmCKQAAAC/F5OcAACC/41Y+AAAAL2Wz2WSz2ZSYmKjQ0FCry0EBkN2tf/nxNj9Xb1UEALgfwRQAAACAXJfbE6wzgTsAeCaCKQAAAABei1FRAJC/EUwB8DpcMQUAwHsRNAGAd2HycwAAAC/F5OcAACC/Y8QUAACAl2Lyc3gyRkYBQMFgSTD1xRdfyG63y9/fX8OGDVOPHj2sKAMAAACAxQigAKBgy/Ng6s8//9SyZcs0efJkxcXFaeDAgdqxY4fKlCmT16VYijlwAAAAAABAQXdNwVRycrIOHTqk8PBwFS1aNNM+58+f16lTp1SmTBn5+Pg42uvWrav3339fknTmzBmFhoYqNTX1WsoAAAAAAACAB3Np8vPDhw/rueeeU9WqVVW1alV9//33GfqkpKTokUceUVhYmGrWrKkKFSpo3rx5juWFChXS7t27VaNGDZUtW1Y2m03lypW7/j0BAAAAAACAR3EpmFq8eLGCgoL0xx9/ZNln7Nix+umnn7R161b9+++/evLJJ9W7d2/t3bvX0ady5cpasGCBvv/+e7333nvasmXLte8BAAAAAAAAPJJLwdT999+v559/XhEREZkuT0tL04wZM2Sz2XTDDTfI19dXI0aMUMmSJfXhhx9KkhYsWKDdu3frhhtuUMuWLRUeHq4DBw5kuc2kpCQlJiY6/QMAAAAAAIDncymYupr9+/crISFBzZs3d7T5+PioWbNmio6OliTdeOONevDBB1WuXDmFh4erRo0auu2227Jc54QJExQaGur4V7FiRXeWDAAA4LXsdrsiIyMVFRVldSkAAACZcmswdezYMUlSyZIlndpLlSrlWFalShX9/vvv2rRpk44ePapPP/1U/v7+Wa5z1KhROnXqlONfbGysO0sGAADwWjabTTExMY4LhAAAAPnNNT2VLyu+vpdyrpSUFKf25ORkFSpUyKmtTJkyOVpnYGCgAgMD3VOgB6gycn6m7fsndsnjSgAAAABcjnN1AHA/t46YqlChgiQpLi7OqT0uLk7ly5d356YAAAAAAADg4dwaTJUtW1Y1a9bUr7/+6mg7f/68VqxYoTZt2lzXupkjAQAAAAAAwLu4dCvfhQsXnEZDJSQkaP/+/SpWrJhjXqnRo0frgQceUL169dSwYUONHz9eYWFhevjhh6+rUJvNJpvNpsTERIWGhl7XugAAAAAAAGA9l4KpDRs26L777pMkVa5cWZMnT9bkyZPVt29fTZw4UZJ07733yhijadOm6Y033lDDhg21fPlyhYSEuL/6AiSr+9n1/9q79/Coqnv/45+QhJB7gkQhEChEpUYUlCIgUaEegmCgWlEsilop9UjOaS0qlvZ4KOd5DtSD1LZ0kIuXg7UkEYHUasRLsaISLWKhwSBe8BIolxA8CZB78v39wY9dxwyQy2R2ZvJ+PQ+PZu219v7O2jszK99Ze21xTzsAAAAAAAhOrUpMjRkzRp999tkZ691yyy1OAgsAAAAAAADwxa9rTAEAAAAAAAAtFTSJKRY/BwAAaB3GTwAAoLMLmsRUTk6OSkpKtHXrVrdDAQAACAqMnwAAQGcXNIkpAAAAAAAAhJZWLX6OzulUT+zjaX0AAAAAAKAzY8YUAAAAAAAAXBE0iSkW7wQAAAAAAAgtQXMrX05OjnJyclRZWanExES3wwkK3OIHAAAAAAA6s6BJTAEAAABAZ8QXwgDQdkFzKx8AAAAAAABCCzOmuiC+0QEAAAAAAJ0BiSkAAAAA6AB8IQwAZxY0iSmPxyOPx6PGxka3QwlZfHACAAAAAIBACpo1pnJyclRSUqKtW7e6HQoAAAAAAAD8IGhmTME9zKQCACA4MeMcAAB0dkEzYwoAAACtw4xzAADQ2TFjCm12qplUErOpAAAAAADAmTFjCgAAAAAAAK5gxhQ6xOlmU/nCDCsAAAAAALqeoJkx5fF4lJGRoREjRrgdCgAAAAAAAPwgaGZM5eTkKCcnR5WVlUpMTHQ7HABBiCdMAgAAAEDnEjSJKYQ2EgYAAAAAAHQ9JKYABK3WrmUGAAAAAOhcgmaNKQAAAAAAAIQWZkyhU+MWPwAAAAAAQheJKQAAEBT4sgIAACD0cCsfAAAAAAAAXBE0M6Y8Ho88Ho8aGxvdDgUAAAAA2ux0D3BhFiiAriZoZkzl5OSopKREW7dudTsUAAAAAAAA+EHQzJgCWoJvn0LT6c4rAAAAACB4kZhCUCJRAQDoioqKirRnzx5dfvnlGjhwoNvhAAAAtBuJKXR5POUJABAMbrnlFn322Wfq37+/7r77bq1du1YTJkxwOywAfsbYFEBXQ2IKXQazrAAAwewHP/iBxo0bJ0l6+OGH9dxzz5GYAgAAQY/EFAAAQAczM7366qv6wx/+oPj4eC1durRZnfr6ej322GPasmWLEhMTNWPGDI0cOdLZfjIpJUlvv/22br/99oDEDqBzY4YVgGBHYgoIAf4ckHT04IbBE4CuaMiQIerTp48iIyP15ptv+qzz3e9+Vx988IHuueceffrppxozZozWr1+vKVOmOHWampr0ox/9SN/61rc0efLkQIUPoBNg9j+AUEViCuhgPCkQAPD8889r4MCB+sUvfqGPPvqo2fZXXnlFzz//vN5//31lZGRIkqqrqzVnzhwnMVVTU6PbbrtNY8eO1ezZswMaP4DQwZeEADobElPAKfCh3TL0EwCc2ZmeoFdYWKiMjAwnKSVJN910k5YtW6YPP/xQ559/vq655hpFRkaqW7duWr58udLT0zV+/Hif+6utrVVtba3zc2VlpX9eCICgwQwrAMGCxBTQSv78kCep808MngB0ZXv27FH//v29yk7+vGfPHp1//vkaNmyYampqtH37dklSt27dTrm/RYsWacGCBR0WLwAAgL8ETWLK4/HI4/GosbHR7VAAtACJJgBoudraWsXGxnqVxcXFSTpxC58k/frXv27x/ubNm6c5c+Y4P1dWViotLa39gQLokvgyFUBHCprEVE5OjnJyclRZWanExES3wwFcQbIHAEJTYmKiysrKvMrKy8slSUlJSa3eX1RUlKKiovwRGoAugnEmALeceg44AAAAAuLiiy/W+++/r6amJqfs73//u7p166YLL7ywzfv1eDzKyMjQiBEj/BEmAACA35GYAgAAcNm0adN05MgR/f73v5ck1dXV6be//a0mTJiglJSUNu83JydHJSUl2rp1q79CBQAA8KuguZUPQOsFYqF2AMCZPfjgg9q1a5dKSkp04MABTZ06VZK0cuVK9ezZU+eee66WLVum2bNn6/HHH9fevXsVGRmpNWvWuBw5AABAxyIxBXRCJIEAILRcffXVGjp0aLPy6Oho5/9nzZqlyZMna9u2bUpISNCoUaMUGRkZyDABAAACjsQUAABABxs7dmyL6vXu3VvXXuu/p1zxVGMAANDZkZgC0OXxCGQAoYqnGgMAgM6OxBQAAOg0uJUZAACga+GpfAAAAAAAAHAFM6YAAABCFGtMAehMWD4B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b7arzc6dO2306NE2ePBgy87OtgEDBtiQIUPsk08+afex4V9dfQzU2Nho99xzj/Xp08f69etnw4cP91nvmWeesdjYWBszZoxdeOGFlpqaajt27AhwtIHzwAMPWGpqqo0bN87Gjh1rMTExtmTJEq86VVVVNn78eDv77LMtKyvL4uPjbdasWdbU1ORS1B3r+PHjdvPNN9vAgQNt8uTJNmzYMEtOTrYNGzZ41evK72szZsyw7t2724QJE7zK6+vrberUqZacnGxZWVmWnJxsU6dOtfr6epci7Xh9+/a1yy67zGv8smbNGq86RUVF1qtXLxs2bJiNGjXKEhISrLCw0KWIA+O1116z1NRUu+iii+w73/mODR482F5//XVne1NTk82aNcvi4+MtKyvLUlJSbPz48VZVVeVi1B2ntLTU6xqZNm2ajR492iR5jXd37txpffv2tYyMDMvMzLTY2FjLzc11MXJvIZOYKi0ttaioKHv00UfNzKyhocGysrIsMzOzXW38VQftc+DAAYuJibFHHnnEzE684UyePNm+9a1vtatNS+qcTExt3brV768LJ5SXl1tCQoItWrTIKZs6daoNGTKkXW0aGxvt4YcftvLycrv33nt9Jqbacmy0TkVFhSUnJ9v8+fOdsltvvdXOP//8U/7x0dI2Dz/8sJWVldnPf/7z0yamXnnlFb+8FjR3/PhxS0lJsQceeMApmzlzpn3jG9845R8MLWlTVFRkRUVFzvba2lq74oorbPz48e06NvyLMZBZXV2d/epXv7Ly8nL78Y9/7DMxdejQIYuLi7PFixeb2YnxxvXXX2/Dhg0LdLgBs2LFCjt+/Ljz8zPPPGNhYWG2fft2p2z+/PmWmppqBw4cMDOzHTt2WPfu3S0vLy/g8QbCkSNH7LnnnvMqmzNnjp111lnOZ1tXfl9bvXq1jRw50m644YZmiamlS5daUlKSffrpp2Zm9sknn1hCQoL97ne/cyHSwOjbt689+eSTp9ze0NBggwYNspkzZzplDzzwgPXq1cuOHTsWgAgD7/PPP7e4uDh78MEHnbLy8nKvCQO5ubkWFRVlxcXFZma2f/9+6927t/3iF78IeLxumTlzpvXv398aGxudsuHDh9t1113nvNcsXrzYYmJi7ODBg26F6SVkElOPPPKIJSQkWG1trVNWWFhokpw3sLa08VcdtM+jjz5qMTExXpnuTZs2mST74IMP2tymJXVOJqaWL19uBQUFZ5ylhdZ78sknrXv37lZZWemUbdmyxSR5DWDb0+ZUiam2HButk5uba+Hh4VZeXu6UvffeeybJ3n77bb+0OVNiasmSJVZQUGA7duzw+pBG+23YsMHCwsJs//79TllJSYlJsr/85S9+a2Nm9tBDD1lKSkq79wP/YQzk7VSJqVWrVlmPHj28/ljcvHmzSeoy44r6+noLCwuz1atXO2Xp6el2//33e9WbNGmSZWdnBzo816xYscKio6OtoaHBzLru+9ru3butd+/e9tFHH9m0adOaJaZGjhxp3//+973KbrvtNhs1alQgwwyovn372rx582zDhg327rvvWl1dndf2N954wyTZ+++/75Tt37/funXrZs8++2ygww2Ie++911JTU0+bpL322mtt8uTJXmVz5syxc889t6PD6xSOHTtmcXFxtmDBAqds165dJslrZtmxY8csOjrali9f7kaYzYTM4ufFxcUaPHiwunfv7pRddNFFkqSdO3e2uY2/6qB9iouLlZ6e7rUWw8k+Li4ubnOb1ux3xYoVWr58ua644gpdddVVOnDggB9eGaQTfT1gwADFx8c7ZS05v61t05H7wakVFxcrNTVVPXv2dMouuugihYWFnfb8trbN6fzv//6vVq5cqauvvlqjR4/WZ5991up9wLfi4mL16tVLvXv3dsouuOACRUZGnvb8traNJP35z3/WkCFD2r0f+A9joJYpLi7WwIEDvdbJ62qfNZs2bZKZOb/DVVVV+uSTT7x+p6UT/RLqfVJUVKQ1a9Zo4cKFWrhwoZYuXarw8HBJXfN9rba2VjfffLP++7//W+eee67POsXFxV3yWnn22Wf12GOPacqUKbr44ou1Y8cOZ1txcbHCw8O91mXr3bu3UlJSQrZfNm/erG9/+9s6evSo/vSnP2nz5s06duyYV51TXSsff/yxqqurAxmuK/Lz81VdXa0777zTKTt5PXy1X2JjYzVo0KBOc62EzOLnFRUVXn/ASNJZZ50l6cTigW1t4686aB9ffXzy59ac36+3aUmd7t276y9/+YuzAOPhw4d11VVX6a677tIf//jHNr8m/JOv8xAXF6fu3bu36vyeqU1H7gen5quPIyIiFB8f36rze6Y2p1JYWKiJEyc6+83KytLtt9+u119/vVX7gW++zpUkJScn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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plots = [(speed, \"speed |U_xy|\"), (p, \"reduced pressure p\"), (nut, \"turbulent viscosity nut\"), (k, \"turbulent kinetic energy k\")]\n", "fig, axes = plt.subplots(2, 2, figsize=(12, 8))\n", @@ -1028,7 +1559,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "2fdb418b", "metadata": { "execution": { @@ -1038,7 +1569,18 @@ "shell.execute_reply": "2026-07-20T19:11:17.776578Z" } }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3oAAADfCAYAAACgaqG4AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvctoD+AAAAAlwSFlzAAAPYQAAD2EBqD+naQAApJJJREFUeJzsnXecFEX6h5+eHHY2Z1hYchIEFQUVwYSK6RQV9cQzH3jmcMYznjn+Tkynct4ZztM1HKIYOEE8ToICokSBJW9Oszt5uvv3R8/0zuzO5oUl1KP1qerqqu6amV22v/O+9b6SqqoqAoFAIBAIBAKBQCA4YDD09AIEAoFAIBAIBAKBQNC9CKEnEAgEAoFAIBAIBAcYQugJBAKBQCAQCAQCwQGGEHoCgUAgEAgEAoFAcIAhhJ5AIBAIBAKBQCAQHGAIoScQCAQCgUAgEAgEBxhC6AkEAoFAIBAIBALBAYYQegKBQCAQCAQCgUBwgCGEnkAgEAj2KbxeL0VFRWzZskXvq6qqoqioiLKysk5ds6vzBXuWfeXz6eg69pV1CwQCQSKE0BMIBII9zLx58ygqKmLDhg3NzkVFzdq1a1uc/+2333boYXLz5s189dVXfPHFF6xZswa/39/i2HA4zIcffshHH33Urmu3hKqqfPLJJxQVFVFRUdGla5WXl3P++efz1Vdf6X3r1q3j/PPPZ+XKlZ26ZqL55eXlFBUVUV5e3qX1Hmj0xPvS1c+3u9bc0Z+Trq5bIBAI9iRC6AkEAsEeZubMmZx//vlccMEFKIoSdy4qat5///2Ec91uN1OmTOH888/n6aefbvU+n3zyCcOHD2fMmDE88cQTvPDCC5x++unk5uZy/fXX4/P5ms2ZO3cu5513HlOnTuXbb7/t9Gt84YUXOOecczj//PNZs2ZNp6/TEpmZmUydOpXc3Nxum7969WrOP/98Vq9e3V3LPCDoifelq59vd625oz8nXV23QCAQ7EmE0BMIBIK9gM1mY/Xq1fzjH//o0Lx3330Xv9/Paaedxj/+8Q9CoVDCcc899xznnHMOp59+OqWlpfznP//hs88+o7i4mNmzZ/Ovf/2LqqqqZvNef/11DjnkEPr27cvrr7/eqde2fv167rzzTiZOnNip+e1h6NChFBUVMXr06B6ZL9iz7CufT0fXsa+sWyAQCBIhhJ5AIBDsBY466ijGjRvHn/70p4SWtZZ47bXXOPXUU3n88ccpLy/n3//+d7Mx69at4/bbb+fiiy/mqaeewuFw6OckSeLcc8/l22+/xel0xs3buXMnX3zxBddeey3XXHMNRUVF1NTUdOh1hcNhpk+fzuTJkznvvPM6NDdKVVUV8+bNY9GiRYTD4RbHtOS+WllZGTe/PXv8tm7dynfffQfAd999R1FREUVFRWzevLnN9bbnflEURWHFihXMmTOHxYsXEwwGE17T5/Px3XffMWfOHFatWoWqqnHnS0tLKSoqoqqqClVVWbJkCV999RVut1sfo6oqS5cu5bPPPqOysrLF9be2prbel9h1APz44498/PHHbNmyhaKiInbs2JHwnh9//DHLly9vcU2JPt+m91q+fDlz585l586dcXPbWnN0bV6vN26ex+OhqKiIrVu3triOtq7d2s9lRz7T1l6fQCAQdBpVIBAIBHuUvn37qhMnTlT/+9//qoD66KOP6ueKi4tVQL3//vubzVuxYoUKqHPnzlVVVVWPOeYYdfLkyc3G3XDDDSqgrly5skPrevDBB1WXy6W63W61rKxMtVgs6l/+8pcOXeO+++5TU1JS1F27dqkvvPCCCqgLFixo9/yXX35Ztdls6pAhQ9QTTjhBPeyww9RvvvlGBdSXX35ZH/fdd9+pgDpv3ry4+bNmzVKtVqs6dOhQ9cQTT1QPP/zwds2fP3++OmHCBBVQJ0yYoE6dOlWdOnVqs+s3pb33U1VVXbhwodq/f381NzdXPeWUU9SBAweq+fn56jfffBM37u2331bT0tLUfv36qSeddJKalpamjhw5Ul27dq0+5tNPP1UB9ZNPPlEnTZqkHn/88erAgQPVzMxMdeXKlWpZWZl63HHHqccff7w6ePBg1el0ql9//XWz9be1prbel9h1HH/88eqECRPU3r17qytXrlRdLpd62WWXNbvnggULVECdPXt2i+9ros83eq+5c+eqkydPVidOnKgeeuihqtFojPs5bWvNL7/8sgqoxcXFcff89ddfVUB97bXXWlxHW9du6eeyI59pW69PIBAIOosQegKBQLCHiQo9VVXV3/zmN2pycrJaUVGhqmrrQm/mzJlqYWGhKsuyqqqq+s4776gGg0HdunVr3LgjjjhCdTgcqqIo7V6TLMtqYWGheu211+p9F110kTpq1Kh2X2PZsmWqyWTSH5Q7KvQWLVqkSpKk3n777XpfcXGxevzxx7dL6C1cuFCVJEm988479b7t27erJ510Urvmf/311yqQUBAloiP3W7t2rWq329ULL7xQ9fl8qqpq7/nMmTPV5ORkddeuXaqqqurixYtVg8GgXnPNNfrnXF5ero4aNUotKChQPR6PqqqNouDoo49WN2zYoKqqqgaDQXX8+PHq2LFj1enTp6vr1q1TVVVVQ6GQeuyxx6rDhw+P+5lo75pae1+i6xg7dqy6evVqVVVVtbq6Wq2srFSvvfZa1W63q9XV1XFzLrjgAjUpKUltaGho8b1tTegdffTR6po1a/T+q666SrXb7WpJSYne19qauyL02rp2ovGd+Uzben0CgUDQGYTrpkAgEOxFHn/8cbxeLw8//HCr47xeL++++y6///3vMRi0f6rPO+88MjMzeeONN+LGVlVVkZaWhiRJ7V7H119/zdatW5k5c6beN3PmTFavXs2yZcvanO/z+Zg+fToTJkzgyiuvbHGcqqq6u1u0bNy4EdACuKSnp/PQQw/p4wsLC5k6dWq7XsOsWbPIyMjggQce0PsKCgo67ULanfd78sknUVWVV199FZvNBoDBYOCJJ57A7/fzt7/9DYDnn38ep9PJU089pX/OWVlZPPbYY+zYsaNZkJ5TTz2VwYMHA2A2m5k+fTrLly+nX79+DB06FACTycSll17K2rVr2bZtW4fX1B5OPPFERo4cCUBaWhoZGRlce+21+Hy+uOuUlpby8ccfc+GFFzZzHW4vp5xyCsOHD9eP//CHP+Dz+boUPGhP0tHPdH97fQKBYP/B1NMLEAgEgoOJIUOGcPXVV/Pyyy9zww03YDQaE457//33qaurIyUlhaKiIr3/0EMPZfbs2dx///36XIfDQV1dXYfW8dprr1FQUMD69etZv3693p+RkcFrr73GkUce2er8P/7xj2zfvp3PPvusVYEpyzLnn39+XN9TTz3FbbfdxooVKzjkkEN00RGlrXtHWblyJYcccghWqzWu//DDD2/X/I7Skft9//335Ofn88033wCa4I2WtLQ0PYLjypUrGTZsGMnJyXHzx40bB8CKFSu47LLL9P7DDjssblyvXr1a7d+5cyeFhYUdWlN7GDt2bLO+ESNGMHHiRF555RVuvvlmJEni9ddfJxQKtfplQFs0fX/79OkD0OJ+wJ6mo5/p/vb6BALB/oMQegKBQLCXeeCBB3jrrbe46667ePLJJxOOef311zn00EP5z3/+E9efnJxMdXU1X3zxBaeffjqgPWCvWbOG0tLSdoV5r6ioYM6cOZx44om89957cefGjBnDe++9x3PPPUdSUlLC+bIs8+KLLzJlyhRWrlyp5xBbtWoVoOX9q6ysZOrUqRgMhmYWuiFDhgAQDAbjAsdESdSXiGAwiN1u7/T8jtKR+/l8PgKBAG+//Xazc8ceeyxjxozRr5nI0hW9ZiAQiOtPSUmJO7ZYLK32x+ZQbO+a2kNWVlbC/muvvZZp06Yxf/58TjjhBP76178yfPhwXeR0hva8ttaIWtXUJsFQmr633UV3fabtfX0CgUDQEkLoCQQCwV4mOzub22+/nfvvvz+hm+K6detYvHgxCxYsYNKkSc3On3HGGbz22mu60Js2bRrvv/8+77zzDrfeemvCewaDQVRVxWq18uabb+JwOPj0008xmeL/DPh8PjIyMnjvvfe46qqrEl4rGskTiBOK0UiE33zzDT///DPnnnsuBoMhziIZS79+/RJGudy0aVPC8U0pLCxMGOkyUV8iOuLq2tH7DRgwgK1bt7b42mOvmej1Rvv69evXoTW2RnvX1J73paUx55xzDnl5ebz00kt4PB527NjBM88806n1doTW1pyTkwNo0VJj38/2RFht69qJ2JufqUAgELSG2KMnEAgEPcCtt95KXl4ed999d7Nzr732Gi6Xi2OOOSbh3NNOO43PPvuMkpISQHu4njx5Mg8++GDCEPa1tbWce+65VFRUAPDGG29w0kknNRN5AHa7nYkTJ/Laa6+1uPaoeGtaou55Dz74IEVFRbolpSXOP/98Nm7cyPz58/U+VVWZPXt2q/Ni52/YsIEFCxbE9b/55pvtmp+RkQHQbrfXjtzv6quvpri4uJnFFDSLTnl5OQAXXHABO3bs4OOPP44b89xzz2E0Grt1v2F719TR9yUWs9nM1VdfzaeffsrDDz+s7yPc07S25lGjRmEwGOKs4x35Oevo+7E3P1OBQCBoDWHREwgEgh7A6XTy4IMPcs0118T1B4NB3nrrLU444QTMZnPCuaeddhrXXXcdb775JnfddReSJFFUVMRVV13FMcccw4UXXshxxx2HzWbj559/5s0338RoNGK321m0aBEbNmzgtttua3Ftp512GjfeeCM///yzHnBjTzBj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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "def naca4(M=2.0, P=4.0, XX=12.0, n=250):\n", " x = np.linspace(0, 1, n)\n", @@ -1139,7 +1681,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "336f680c", "metadata": { "execution": { @@ -1149,7 +1691,218 @@ "shell.execute_reply": "2026-07-20T19:11:17.780315Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--- system/controlDict preview ---\n", + "/*--------------------------------*- C++ -*----------------------------------*\\\n", + "| ========= | |\n", + "| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n", + "| \\\\ / O peration | Version: v2112 |\n", + "| \\\\ / A nd | Website: www.openfoam.com |\n", + "| \\\\/ M anipulation | |\n", + "\\*---------------------------------------------------------------------------*/\n", + "FoamFile\n", + "{\n", + " version 2.0;\n", + " format ascii;\n", + " class dictionary;\n", + " object controlDict;\n", + "}\n", + "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n", + "Uinf\t32.137;\n", + "\n", + "application simpleFoam;\n", + "\n", + "startFrom startTime;\n", + "\n", + "startTime 0;\n", + "\n", + "stopAt endTime;\n", + "\n", + "endTime\t40000;\n", + "\n", + "deltaT 1;\n", + "\n", + "writeControl timeStep;\n", + "\n", + "writeInterval $endTime;\n", + "\n", + "purgeWrite 0;\n", + "\n", + "writeFormat ascii;\n", + "\n", + "writePrecision 6;\n", + "\n", + "writeCompression on;\n", + "\n", + "timeFormat general;\n", + "\n", + "timePrecision 6;\n", + "\n", + "runTimeModifiable true;\n", + "\n", + "functions\n", + "{\n", + "\tforces_object\n", + "\t{\n", + "\t type forces;\n", + "\t libs (\"libforces.so\");\n", + "\n", + "\t enabled true;\n", + "\n", + "\t writeControl timeStep;\n", + "\t writeInterval $endTime;\n", + "\n", + "\t patches (\"aerofoil\");\n", + "\n", + "\t p\t\tp;\n", + "\t U\t\tU;\n", + "\t rho\trhoInf;\n", + "\n", + "\t //// Density only for incompressible flows\n", + "\t rhoInf 1.204;\n", + "\t \n", + "\t //// Centre of rotation\n", + "\t CofR (0 0 0);\n", + "\t}\n", + "\t\n", + "\tforceCoeffs1\n", + "\t{\n", + "\t // Mandatory entries\n", + "\t type forceCoeffs;\n", + "\t libs (\"libforces.so\");\n", + "\t patches (\"aerofoil\");\n", + "\n", + "\n", + "\t // Optional entries\n", + "\n", + "\t // Field names\n", + "\t p\t\tp;\n", + "\t U\t\tU;\n", + "\t rho\trhoInf;\n", + "\t \n", + "\t ////Density only for incompressible flows\n", + "\t rhoInf 1.204;\n", + "\n", + "\t // Reference pressure [Pa]\n", + "\t pRef 0;\n", + "\n", + "\t // Include porosity effects?\n", + "\t porosity no;\n", + "\n", + "\t // Store and write volume field representations of forces and moments\n", + "\t writeFields yes;\n", + "\t writeControl timeStep;\n", + "\t writeInterval $endTime;\n", + "\n", + "\t // Centre of rotation for moment calculations\n", + "\t CofR (0 0 0);\n", + "\n", + "\t // Lift direction\n", + "\t liftDir\t (-0.20999398925280716 0.9777026769308202 0);\n", + "\n", + "\t // Drag direction\n", + "\t dragDir\t (0.9777026769308202 0.20999398925280716 0);\n", + "\n", + "\t // Pitch axis\n", + "\t pitchAxis (0 0 1);\n", + "\n", + "\t // Freestream velocity magnitude [m/s]\n", + "\t magUInf $Uinf;\n", + "\n", + "\t // Reference length [m]\n", + "\t lRef 1;\n", + "\n", + "\t // Reference area [m2]\n", + "\t Aref 1;\n", + "\n", + "\t // Spatial data binning\n", + "\t // - extents given by the bounds of the input geometry\n", + "\t /*binData\n", + "\t {\n", + "\t\tnBin 20;\n", + "\t\tdirection (1 0 0);\n", + "\t\tcumulative yes;\n", + "\t }*/\n", + "\t}\n", + "\n", + " momErr\n", + " {\n", + " type momentumError;\n", + " libs (fieldFunctionObjects);\n", + " executeControl writeTime;\n", + " writeControl writeTime;\n", + " }\n", + "\n", + " contErr\n", + " {\n", + " type div;\n", + " libs (fieldFunctionObjects);\n", + " field phi;\n", + " executeControl writeTime;\n", + " writeControl writeTime;\n", + " }\n", + "\n", + "\n", + " turbulenceFields1\n", + " {\n", + " type turbulenceFields;\n", + " libs (fieldFunctionObjects);\n", + " fields\n", + " (\n", + " R\n", + " I\n", + " L\n", + " k\n", + " epsilon\n", + " omega\n", + " nut\n", + " nuEff\n", + " devReff\n", + " );\n", + "\n", + " executeControl writeTime;\n", + " writeControl writeTime;\n", + " }\n", + "\n", + " yplus\n", + " {\n", + "\ttype\t\tyPlus;\n", + "\tlibs\t\t(fieldFunctionObjects);\n", + "\n", + "\tenabled\ttrue;\n", + "\texecuteControl\twriteTime;\n", + "\twriteControl\twriteTime;\n", + " }\n", + " \n", + " wallshearstress\n", + " {\n", + " \ttype\t\twallShearStress;\n", + " \tlibs\t\t(fieldFunctionObjects);\n", + " \t\n", + " \texecuteControl\twriteTime;\n", + " \twriteControl\twriteTime;\n", + " }\n", + " \n", + " mach\n", + " {\n", + " \ttype\t\tMachNo;\n", + " \tlibs\t\t(fieldFunctionObjects);\n", + " \t\n", + " \texecuteControl\twriteTime;\n", + " \twriteControl\twriteTime;\n", + " }\n", + "}\n", + "\n", + "\n", + "// ************************************************************************* //\n", + "\n" + ] + } + ], "source": [ "print(\"--- system/controlDict preview ---\")\n", "print(read_text(SIM_DIR / \"system\" / \"controlDict\", max_bytes=6_000))\n" @@ -1157,7 +1910,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "940c0923", "metadata": { "execution": { @@ -1167,7 +1920,70 @@ "shell.execute_reply": "2026-07-20T19:11:17.784234Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--- constant/turbulenceProperties preview ---\n", + "/*--------------------------------*- C++ -*----------------------------------*\\\n", + "| ========= | |\n", + "| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n", + "| \\\\ / O peration | Version: v2112 |\n", + "| \\\\ / A nd | Website: www.openfoam.com |\n", + "| \\\\/ M anipulation | |\n", + "\\*---------------------------------------------------------------------------*/\n", + "FoamFile\n", + "{\n", + " version 2.0;\n", + " format ascii;\n", + " class dictionary;\n", + " object turbulenceProperties;\n", + "}\n", + "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n", + "\n", + "simulationType RAS;\n", + "\n", + "RAS\n", + "{\n", + "\tRASModel\tkOmegaSST;\n", + "\n", + " turbulence on;\n", + "\n", + " printCoeffs on;\n", + "}\n", + "\n", + "\n", + "// ************************************************************************* //\n", + "\n", + "\n", + "--- constant/transportProperties preview ---\n", + "/*--------------------------------*- C++ -*----------------------------------*\\\n", + "| ========= | |\n", + "| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n", + "| \\\\ / O peration | Version: v2112 |\n", + "| \\\\ / A nd | Website: www.openfoam.com |\n", + "| \\\\/ M anipulation | |\n", + "\\*---------------------------------------------------------------------------*/\n", + "FoamFile\n", + "{\n", + " version 2.0;\n", + " format ascii;\n", + " class dictionary;\n", + " object transportProperties;\n", + "}\n", + "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n", + "\n", + "transportModel Newtonian;\n", + "\n", + "nu 1.56e-5;\n", + "\n", + "\n", + "// ************************************************************************* //\n", + "\n" + ] + } + ], "source": [ "print(\"--- constant/turbulenceProperties preview ---\")\n", "print(read_text(SIM_DIR / \"constant\" / \"turbulenceProperties\", max_bytes=3_000))\n", @@ -1177,7 +1993,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "3992406a", "metadata": { "execution": { @@ -1187,7 +2003,147 @@ "shell.execute_reply": "2026-07-20T19:11:17.787486Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--- final U field header and first values ---\n", + "/*--------------------------------*- C++ -*----------------------------------*\\\n", + "| ========= | |\n", + "| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n", + "| \\\\ / O peration | Version: 2112 |\n", + "| \\\\ / A nd | Website: www.openfoam.com |\n", + "| \\\\/ M anipulation | |\n", + "\\*---------------------------------------------------------------------------*/\n", + "FoamFile\n", + "{\n", + " version 2.0;\n", + " format ascii;\n", + " arch \"LSB;label=32;scalar=64\";\n", + " class volVectorField;\n", + " location \"40000\";\n", + " object U;\n", + "}\n", + "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n", + "\n", + "dimensions [0 1 -1 0 0 0 0];\n", + "\n", + "internalField nonuniform List \n", + "258984\n", + "(\n", + "(30.9771 6.60589 7.13234e-22)\n", + "(30.9449 6.59872 0)\n", + "(30.9331 6.59577 -4.37143e-32)\n", + "(30.924 6.59278 2.99688e-21)\n", + "(30.9226 6.5912 -2.39008e-21)\n", + "(30.9275 6.59069 -2.40176e-32)\n", + "(30.9387 6.59126 2.71343e-22)\n", + "(30.9558 6.59283 -4.89239e-22)\n", + "(30.9785 6.59534 -1.07139e-21)\n", + "(31.0064 6.59871 -2.02935e-21)\n", + "(31.0395 6.60292 2.80758e-21)\n", + "(31.0775 6.60792 -3.88218e-21)\n", + "(31.1205 6.61368 -2.44941e-21)\n", + "(31.1682 6.62018 3.2547e-21)\n", + "(31.2205 6.62735 -1.00218e-31)\n", + "(31.2768 6.63505 6.6084e-21)\n", + "(31.3352 6.64288 1.06892e-20)\n", + "(31.3911 6.64978 2.97873e-31)\n", + "(31.4321 6.65311 -1.39049e-29)\n", + "(31.4453 6.65005 0)\n", + "(31.4446 6.64357 4.23594e-28)\n", + "(31.446 6.63704 6.78282e-28)\n", + "(31.4474 6.63002 8.20923e-19)\n", + "(31.4489 6.62246 9.06432e-19)\n", + "(31.4506 6.61435 1.24796e-22)\n", + "(31.4523 6.60564 -2.22734e-18)\n", + "(31.4542 6.5963 6.06896e-19)\n", + "(31.4563 6.58629 6.63523e-19)\n", + "(31.4585 6.57555 0)\n", + "(31.4608 6.56405 -1.32388e-22)\n", + "(31.4633 6.55171 0)\n", + "(31.4659 6.5385 5.05547e-19)\n", + "(31.4687 6.52436 0)\n", + "(31.4717 6.50922 0)\n", + "(31.4749 6.49301 -7.48502e-19)\n", + "(31.4782 6.47567 -1.71535e-27)\n", + "(31.4818 6.45714 -9.07347e-23)\n", + "(31.4855 6.43732 0)\n", + "(31.4895 6.41614 -1.20768e-22)\n", + "(31.4937 6.39353 8.10999e-19)\n", + "(31.498 6.36938 -9.57919e-19)\n", + "(31.5026 6.34362 -4.55391e-27)\n", + "(31.5074 6.31615 -1.34617e-18)\n", + "(31.5124 6.28687 -7.9968e-19)\n", + "(31.5176 6.25568 9.51028e-19)\n", + "(31.523 6.22247 4.54929e-27)\n", + "(31.5286 6.18715 -6.73109e-19)\n", + "(31.5343 6.14959 -8.00407e-19)\n", + "(31.5402 6.1097 -7.64645e-27)\n", + "(31.5463 6.06735 -1.13053e-18)\n", + "(31.5524 6.02244 -1.07685e-26)\n", + "(31.5587 5.97485 1.11139e-26)\n", + "(31.565 5.92447 9.41686e-19)\n", + "(31.5712 5.87119 -1.55796e-26)\n", + "(31.5775 5.81489 2.10475e-26)\n", + "(31.5836 5.75548 -7.75313e-19)\n", + "(31.5896 5.69284 -9.12881e-19)\n", + "(31.5953 5.62689 -1.07297e-18)\n", + "(31.6007 5.55753 0)\n", + "(31.6057 5.48468 1.47569e-18)\n", + "(31.6103 5.40826 8.63075e-19)\n", + "(31.6142 5.32822 1.00778e-18)\n", + "(31.6174 5.2445 0)\n", + "(31.6198 5.15706 -1.36747e-18)\n", + "(31.6213 5.06586 -7.94401e-19)\n", + "(31.6216 4.9709 -5.20441e-26)\n", + "(31.6208 4.87218 0)\n", + "(31.6185 4.7697 -1.23312e-18)\n", + "(31.6146 4.66349 0)\n", + "(31.6091 4.5536 0)\n", + "(31.6018 4.44011 -1.88511e-18)\n", + "(31.5928 4.3231 -1.08226e-18)\n", + "(31.5821 4.20267 -1.24049e-18)\n", + "(31.5694 4.0789 -8.31105e-27)\n", + "(31.554 3.95181 9.2397e-26)\n", + "(31.5342 3.8213 0)\n", + "(31.5075 3.68715 -1.05318e-18)\n", + "(31.4716 3.54914 -6.7894e-23)\n", + "(31.4283 3.40744 2.7224e-18)\n", + "(31.3918 3.26374 -1.76631e-25)\n", + "(31.3952 3.1223 0)\n", + "(31.4677 2.98758 0)\n", + "(31.5514 2.85369 -2.75739e-25)\n", + "(31.4104 2.69109 2.94594e-26)\n", + "(30.7887 2.4651 -1.11872e-20)\n", + "(29.8417 2.2057 5.89645e-21)\n", + "(28.7783 1.94455 0)\n", + "(27.654 1.68842 -8.75387e-28)\n", + "(26.4758 1.43935 -8.61442e-26)\n", + "(25.2452 1.19962 -7.57069e-28)\n", + "(23.9674 0.971889 1.52416e-21)\n", + "(22.6519 0.758733 7.17327e-28)\n", + "(21.3102 0.562214 1.57519e-21)\n", + "(19.9537 0.383784 0)\n", + "(18.5935 0.224254 0)\n", + "(17.2397 0.0838885 0)\n", + "(15.9016 -0.0376447 -9.34507e-22)\n", + "(14.5875 -0.141296 0)\n", + "(13.3044 -0.228505 -5.15522e-22)\n", + "(12.0583 -0.301162 5.3938e-22)\n", + "(10.8529 -0.361165 5.28847e-28)\n", + "(9.69116 -0.410397 -5.71385e-28)\n", + "(8.57561 -0.450505 6.06921e-22)\n", + "(7.50773 -0.482642 3.10611e-22)\n", + "(6.48864 -0.50726 -3.15733e-22)\n", + "(5.52035 -0.524054 6.37224e-28)\n", + "(4.60703 -0.532391 -5.47e-28)\n", + "(3.75636 -0.531905 2.98549e-22)\n", + "(2.9803 -\n" + ] + } + ], "source": [ "print(\"--- final U field header and first values ---\")\n", "print(read_text(SIM_DIR / \"40000\" / \"U.gz\", max_bytes=4_000))\n" @@ -1215,4 +2171,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/notebooks/explore_test_run.ipynb b/notebooks/explore_test_run.ipynb new file mode 100644 index 0000000..227c444 --- /dev/null +++ b/notebooks/explore_test_run.ipynb @@ -0,0 +1,1152 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "be7a6c7e", + "metadata": {}, + "source": [ + "# Explore a completed training run\n", + "\n", + "Use this notebook to sanity-check the artifacts written by `airfrans-frontier train`: final metrics, training curves, split manifest, normalization stats, checkpoint contents, and reloaded-model predictions. It reads existing artifacts only.\n" + ] + }, + { + "cell_type": "markdown", + "id": "23b531cc", + "metadata": {}, + "source": [ + "## Setup\n", + "\n", + "Run from the repository root or from `notebooks/`. Select the repository `.venv` kernel. If imports fail, run `uv sync --dev` from the repository root and restart the kernel.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "18ae45d0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "python: /home/aaron/data/airfrans/.venv/bin/python\n", + "repo: /home/aaron/data/airfrans\n" + ] + } + ], + "source": [ + "from __future__ import annotations\n", + "\n", + "import json\n", + "import os\n", + "import sys\n", + "from pathlib import Path\n", + "\n", + "for path in list(sys.path):\n", + " if \"swactor-mvp/pydeps\" in path:\n", + " sys.path.remove(path)\n", + "if \"PYTHONPATH\" in os.environ:\n", + " os.environ[\"PYTHONPATH\"] = os.pathsep.join(\n", + " entry for entry in os.environ[\"PYTHONPATH\"].split(os.pathsep) if \"swactor-mvp/pydeps\" not in entry\n", + " )\n", + "\n", + "print(f\"python: {sys.executable}\")\n", + "\n", + "try:\n", + " import matplotlib.pyplot as plt\n", + " import numpy as np\n", + " import torch\n", + "except (ImportError, ModuleNotFoundError) as exc:\n", + " raise ImportError(\n", + " f\"Required notebook dependencies are not importable in this kernel: {sys.executable}. \"\n", + " \"From the repository root, run `uv sync --dev`, then restart the notebook kernel.\"\n", + " ) from exc\n", + "\n", + "\n", + "def find_repo_root(start: Path) -> Path:\n", + " for candidate in (start, *start.parents):\n", + " if (candidate / \"pyproject.toml\").exists() and (candidate / \"src\" / \"airfrans_frontier\").exists():\n", + " return candidate\n", + " raise RuntimeError(f\"Could not find repository root from {start}\")\n", + "\n", + "\n", + "REPO_ROOT = find_repo_root(Path.cwd())\n", + "SRC_DIR = REPO_ROOT / \"src\"\n", + "if str(SRC_DIR) not in sys.path:\n", + " sys.path.insert(0, str(SRC_DIR))\n", + "\n", + "from airfrans_frontier.models.mlp import PointwiseMLP\n", + "\n", + "print(f\"repo: {REPO_ROOT}\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "1388d69e", + "metadata": {}, + "source": [ + "## Select a run\n", + "\n", + "By default this picks the newest directory under `artifacts/runs`. Override `RUN_DIR` manually if you want an older run.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "fd3c05a7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "selected run: artifacts/runs/20260721T082353Z_mlp_tiny\n", + "available runs:\n", + " artifacts/runs/20260721T082151Z_mlp_tiny\n", + "* artifacts/runs/20260721T082353Z_mlp_tiny\n" + ] + } + ], + "source": [ + "RUNS_DIR = REPO_ROOT / \"artifacts\" / \"runs\"\n", + "run_dirs = sorted([path for path in RUNS_DIR.glob(\"*\") if path.is_dir()], key=lambda path: path.stat().st_mtime)\n", + "if not run_dirs:\n", + " raise FileNotFoundError(f\"No training runs found under {RUNS_DIR}\")\n", + "\n", + "RUN_DIR = run_dirs[-1]\n", + "print(f\"selected run: {RUN_DIR.relative_to(REPO_ROOT)}\")\n", + "print(\"available runs:\")\n", + "for path in run_dirs:\n", + " marker = \"*\" if path == RUN_DIR else \" \"\n", + " print(f\"{marker} {path.relative_to(REPO_ROOT)}\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "e7e15a27", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "config.toml 438 bytes\n", + "split_manifest.json 153 bytes\n", + "normalization.json 733 bytes\n", + "metrics.jsonl 725 bytes\n", + "final_metrics.json 1,074 bytes\n", + "checkpoint.pt 623,285 bytes\n" + ] + } + ], + "source": [ + "expected_files = [\n", + " \"config.toml\",\n", + " \"split_manifest.json\",\n", + " \"normalization.json\",\n", + " \"metrics.jsonl\",\n", + " \"final_metrics.json\",\n", + " \"checkpoint.pt\",\n", + "]\n", + "missing = [name for name in expected_files if not (RUN_DIR / name).exists()]\n", + "if missing:\n", + " raise FileNotFoundError(f\"Run is missing expected artifacts: {missing}\")\n", + "\n", + "for name in expected_files:\n", + " path = RUN_DIR / name\n", + " print(f\"{name:20} {path.stat().st_size:>10,} bytes\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "da64dacb", + "metadata": {}, + "source": [ + "## Final metrics\n", + "\n", + "This is the end-of-run summary written by the training loop. The key checks are: train loss dropped from the initial loss, validation/test losses are finite, and device/GPU fields match the intended hardware.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "cb352094", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'device': 'cuda:0',\n", + " 'elapsed_seconds': 1.7905638560005173,\n", + " 'gpu_memory_peak_allocated_mb': 17,\n", + " 'gpu_memory_total_mb': 3717,\n", + " 'gpu_name': 'NVIDIA T550 Laptop GPU',\n", + " 'initial_train_loss': 1.0026862990200476,\n", + " 'parameter_count': 50820,\n", + " 'points_per_case': 128,\n", + " 'steps': 500,\n", + " 'test_cases': 1,\n", + " 'test_loss': 0.00022942002189996227,\n", + " 'test_mse_per_channel': {'pressure': 0.000408856492614153,\n", + " 'turbulent_viscosity': 0.00035512470154015644,\n", + " 'velocity_x': 5.778009158681787e-05,\n", + " 'velocity_y': 9.591880185872174e-05},\n", + " 'train_cases': 4,\n", + " 'train_loss': 0.0001373240501380092,\n", + " 'train_mse_per_channel': {'pressure': 0.00023612300953799542,\n", + " 'turbulent_viscosity': 0.00018737132594797248,\n", + " 'velocity_x': 5.6441453127828415e-05,\n", + " 'velocity_y': 6.936041193824046e-05},\n", + " 'val_cases': 1,\n", + " 'val_loss': 0.0007143189445776568,\n", + " 'val_mse_per_channel': {'pressure': 0.0012492708046041544,\n", + " 'turbulent_viscosity': 0.0010587173853462636,\n", + " 'velocity_x': 0.00028163288487499037,\n", + " 'velocity_y': 0.0002676547034852188}}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "final_metrics = json.loads((RUN_DIR / \"final_metrics.json\").read_text())\n", + "final_metrics\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "42010827", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "initial_train_loss: 1.00269\n", + "train_loss: 0.000137324\n", + "val_loss: 0.000714319\n", + "test_loss: 0.00022942\n", + "loss improvement: 7301.6x\n", + "device: cuda:0\n", + "gpu: NVIDIA T550 Laptop GPU\n", + "parameters: 50,820\n", + "basic metric checks: ok\n" + ] + } + ], + "source": [ + "initial = final_metrics[\"initial_train_loss\"]\n", + "train = final_metrics[\"train_loss\"]\n", + "val = final_metrics.get(\"val_loss\")\n", + "test = final_metrics.get(\"test_loss\")\n", + "\n", + "print(f\"initial_train_loss: {initial:.6g}\")\n", + "print(f\"train_loss: {train:.6g}\")\n", + "print(f\"val_loss: {val:.6g}\" if val is not None else \"val_loss: None\")\n", + "print(f\"test_loss: {test:.6g}\" if test is not None else \"test_loss: None\")\n", + "print(f\"loss improvement: {initial / train:.1f}x\")\n", + "print(f\"device: {final_metrics.get('device')}\")\n", + "print(f\"gpu: {final_metrics.get('gpu_name')}\")\n", + "print(f\"parameters: {final_metrics.get('parameter_count'):,}\")\n", + "\n", + "assert np.isfinite(train), \"train loss is not finite\"\n", + "assert train < initial, \"train loss did not improve\"\n", + "if val is not None:\n", + " assert np.isfinite(val), \"val loss is not finite\"\n", + "if test is not None:\n", + " assert np.isfinite(test), \"test loss is not finite\"\n", + "print(\"basic metric checks: ok\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "e4cf0126", + "metadata": {}, + "source": [ + "## Training curves\n", + "\n", + "`metrics.jsonl` has one JSON row per log interval. A sanity run should show train loss falling; validation loss should be finite and usually trend down on this tiny baseline.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "b4d36a9d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'elapsed_seconds': 0.0, 'step': 0, 'train_loss': 1.0026862990200476, 'val_loss': 0.8999216645838499}\n", + "{'elapsed_seconds': 0.6329330740009027, 'step': 100, 'train_loss': 0.005394324883408844, 'val_loss': 0.008841235591800927}\n", + "{'elapsed_seconds': 0.9306512370003475, 'step': 200, 'train_loss': 0.0008050906900035648, 'val_loss': 0.002610322449175867}\n", + "{'elapsed_seconds': 1.130966939001155, 'step': 300, 'train_loss': 0.00029600711922912065, 'val_loss': 0.0015054571447265593}\n", + "{'elapsed_seconds': 1.4691060960012692, 'step': 400, 'train_loss': 0.00019286412112246845, 'val_loss': 0.0012647405838277085}\n", + "{'elapsed_seconds': 1.7875807079999504, 'step': 500, 'train_loss': 0.0001373240501380092, 'val_loss': 0.0007143189445776568}\n" + ] + } + ], + "source": [ + "metric_rows = [json.loads(line) for line in (RUN_DIR / \"metrics.jsonl\").read_text().splitlines() if line.strip()]\n", + "steps = np.array([row[\"step\"] for row in metric_rows])\n", + "train_loss = np.array([row[\"train_loss\"] for row in metric_rows], dtype=float)\n", + "val_loss = np.array([row[\"val_loss\"] if row[\"val_loss\"] is not None else np.nan for row in metric_rows], dtype=float)\n", + "\n", + "for row in metric_rows:\n", + " print(row)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "c678379b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAG4CAYAAADYN3EQAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvctoD+AAAAAlwSFlzAAAPYQAAD2EBqD+naQAAmS1JREFUeJzs3Xd8FHX+x/HXbHrvIQkEQoDQi4pIE6yACtjQ0xO7cij27tnLCSr+rKh3cvZyIuAJqFhOBUEpNqQHCL2F9N525/fHkpCQBJKwyWyy7+fjsQ+SmcnMZ/P9MOyH+RbDNE0TERERERGRY2CzOgAREREREWn9VFiIiIiIiMgxU2EhIiIiIiLHTIWFiIiIiIgcMxUWIiIiIiJyzFRYiIiIiIjIMVNhISIiIiIix0yFhYiIiIiIHDMVFiIiIiIicsxUWIiIiLRyGRkZGIbBCy+84JHXFxH3oMJCRNxaWVkZH3/8Meeccw4JCQmEhoZy/PHHM2PGDMrLy+v8mQ8++IABAwbg7+9PXFwckydPJjs7+5jPm5OTw913303Xrl0JCAigb9++vPrqq1RUVDQphgULFmAYRr2vSy+9tMnx7tq1i+eff54hQ4Zgs9no06dPrWPOOOOMI16/8nXKKac06n0BZGZmcu+995KSkkJgYCBxcXGcddZZLFq06JjaYfny5Vx55ZV06dKFgIAAunTpwt/+9je2bt1a69iuXbvW+X7OOOOMJp+3ob+ztmjXrl0YhsErr7xidSgi4q5MERE39t5775leXl7m3XffbW7bts3Mzc013333XTMgIMA877zzah3/xhtvmID50ksvmYWFhebq1avNnj17mgMHDjTLy8ubfN79+/ebKSkp5umnn27++uuvZmlpqZmWlmbefPPN5pIlS5oUQ33uvvtuEzA//PDDJsc7duxY87bbbjN/+uknMyUlxezdu/dRr/vRRx+ZgPnRRx/Vub+h78tut5v9+/c3IyMjzYULF5qFhYVmWlqaed5555k2m8387rvvmvS+KioqzFNOOcWcNWuWuX37drOgoMBctGiRmZKSYkZFRZl79uypcXyXLl3Mc88996jvu7Hnrc8jjzxiAuaJJ57YoONd6cCBAyZgPv/88812jZ07d5qA+fLLLzfbNUSkdVNhISJubd68eTU+iFZ68MEHTcBcuXJl1bbi4mIzIiLCvPDCC2sc++OPP5qAOXPmzCad1zRN88ILLzS7detmFhcXHzHexsRQl/LycjMuLs6MiooyS0pKmhxvdd27dz/mwqIx7+vXX381AfOBBx6ocWx6eroJmFdffbVL3lf1c9T1gbehhUVjz1uXzz77zDQMw2zXrp25c+fOJl+zqVRYiIg7UFcoEXFr48aN49RTT621vWvXrgA1uqp8//33ZGdnc/7559c4dvjw4cTGxvLJJ5806bw7duxg7ty5TJo0CX9//yPG25gY6vL555+zb98+rrzySvz8/JoUb3NozPsKDQ094rnCwsKqvnbF+/Lx8QEgKCjoqMc2RkPPu379eiZOnIi3tzezZ8+mQ4cOjbrO5s2bMQyDmTNn8v7775OSkkJQUBCjR49m165dALz33nt0794df39/hgwZwtq1axt13vfee49u3brh7+/Pcccdx+eff96oGJcsWUJiYiIAN998c1WXr5tuugmoe4xF9evPmTOHnj174ufnR79+/fjqq6+qjissLCQ8PJyJEyfWum5JSQnR0dFcfPHFjYpXRKyhwkJEWqUFCxYA0L1796ptf/75Z61tlXr06MHq1aubdN7FixdjmiaBgYGMGzeO0NBQAgMDGT58eI0PSK6I4c033wTg+uuvP2qs9cXbHBrzvrp27cqkSZN47bXX+OqrrygqKmLbtm1MmjSJhIQEbr311qNeryHvq7S0lBUrVnDvvfdy3HHH8Ze//KXWMd9++y2hoaH4+/vTs2dPHn30UUpKSo547Yact1Jubi7nnXce+fn5vPTSSwwfPvyo760+X3zxBatWreLHH3/kzz//ZN++fUyYMIGPP/6Y3377jR9++IH169dTUlLCxRdfjGmaDTrvggULWLZsGT/88AObN2/mxBNPZPz48SxcuLDBsQ0fPpydO3cC8PLLL2M6ezw0aLzF119/zeLFi/nmm2/Ytm0bnTt35vzzz2f//v2As3C76qqrmD17NgcOHKjxsx9//DGZmZlce+21DY5VRCxk7QMTEZHGmz9/vgmYY8aMqbG9cmzCpk2bav3M+PHjTV9f3yadd+rUqSZgenl5mffee6+5f/9+c/v27eZFF11kGoZhzp8/3yUx7Nu3z/T29jZHjBhxxDiPFu/hXNEVqrHvq6yszJw0aZIJVL06d+5s/vbbb0eN42jv6/vvv69x3qFDh5q7du2qddxVV11lfvHF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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(8, 4.5))\n", + "ax.plot(steps, train_loss, marker=\"o\", label=\"train\")\n", + "if np.isfinite(val_loss).any():\n", + " ax.plot(steps, val_loss, marker=\"o\", label=\"val\")\n", + "ax.set_yscale(\"log\")\n", + "ax.set_xlabel(\"optimization step\")\n", + "ax.set_ylabel(\"normalized MSE\")\n", + "ax.set_title(RUN_DIR.name)\n", + "ax.grid(True, which=\"both\", alpha=0.25)\n", + "ax.legend()\n", + "fig.tight_layout()\n" + ] + }, + { + "cell_type": "markdown", + "id": "804c8844", + "metadata": {}, + "source": [ + "## Split and normalization\n", + "\n", + "The split manifest tells you exactly which `.npz` cases produced train/validation/test metrics. Normalization is computed from the train split and stored so the checkpoint can be used later.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "d993f11f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[run]\n", + "name = \"mlp_tiny\"\n", + "seed = 0\n", + "artifact_dir = \"artifacts/runs\"\n", + "\n", + "[data]\n", + "root = \"data/processed/minimal\"\n", + "train_cases = 4\n", + "val_cases = 1\n", + "test_cases = 1\n", + "points_per_case = 128\n", + "batch_size = 128\n", + "\n", + "[model]\n", + "type = \"mlp\"\n", + "hidden_width = 128\n", + "depth = 4\n", + "activation = \"gelu\"\n", + "\n", + "[optim]\n", + "lr = 0.001\n", + "weight_decay = 0.0\n", + "steps = 500\n", + "log_interval = 100\n", + "\n", + "[device]\n", + "type = \"cuda\"\n", + "allow_cpu_fallback = false\n", + "benchmark_kernels = true\n", + "\n", + "[loss]\n", + "type = \"normalized_mse\"\n", + "\n", + "split manifest:\n", + "{\n", + " \"test_ids\": [\n", + " \"case_03\"\n", + " ],\n", + " \"train_ids\": [\n", + " \"case_04\",\n", + " \"case_02\",\n", + " \"case_01\",\n", + " \"case_00\"\n", + " ],\n", + " \"val_ids\": [\n", + " \"case_05\"\n", + " ]\n", + "}\n", + "normalization target names: ['velocity_x', 'velocity_y', 'pressure', 'turbulent_viscosity']\n" + ] + } + ], + "source": [ + "split_manifest = json.loads((RUN_DIR / \"split_manifest.json\").read_text())\n", + "normalization = json.loads((RUN_DIR / \"normalization.json\").read_text())\n", + "config_text = (RUN_DIR / \"config.toml\").read_text()\n", + "\n", + "print(config_text)\n", + "print(\"split manifest:\")\n", + "print(json.dumps(split_manifest, indent=2))\n", + "print(\"normalization target names:\", normalization[\"target_names\"])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "b16e05bc", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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5cuXd4RS/xQREWH69+9vsmfPbiSZnj17JmW5D4VgKgVbu3at8fT0NN7e3vEuggin3Ee/fv2Mh4eHefHFF+PtI5x6PHa73fj5+ZnFixdbXQruITo62mTKlMmMGzfO6lJSpJkzZ5q8efPGa//iiy/uOXMKwOOJiYkxXl5eZsOGDVaXAgvFxMSY3r17m4wZM97zD00kD9u2bTNBQUEmffr08cZx/PjxJl26dMbDw8N4e3ub4sWLm3379llUKZILu91ugoODTZs2bRzh1CeffGLy589vfH19HV8k3sutW7dM3759jb+/v4mOjk6qkh8KT+VLgYwx6tu3r4oXL64pU6YoLi5On376qdMxr776qqZPn66PP/5Y8+fPt6jSlC0iIkL9+/fXJ598ojZt2mjLli1avHix0zHffvutWrVqpTp16uj8+fMWVZp82Ww2BQcHs9i5m0qdOrWaN28e73OPpJE+fXqdOXMm3lMT3333XQUGBqpTp06aNGmSRdUBT55UqVKpQIECioiIsLoUWChVqlT66KOPdOvWLZ62nIwVLFhQ3t7eunr1qtauXeu0r127djp9+rR+++03bd68WXv27FHRokUtqhTJhc1m05AhQ7R//35dvHhRxhi9++67+vPPP9WtWzfVr19fS5cuvee53t7eev/99+Xl5eW219UEUynQgAEDtH79eqVOnVqvv/66pk6dqmHDhunLL790Ou7VV1/V2rVrVatWLYsqTdlee+01xcXFyWazady4cWrbtq1jTP7p22+/1eLFi5UlSxaLKk3eZs+ereDgYKvLwH2cOXNGuXLlsrqMFOXs2bOSpJCQEGXLlk1vvfWW43H20p2Lm3Tp0mngwIEqW7asVWUCyUJ0dLR+++23BB8/YsQI1atXz4UVISndunXrkf4ITJMmjbJnz67IyEgXVAVXuvtFcfr06bVs2TKVLl1abdq00enTp52OS5cunUJCQlSiRAnZbDYrSkUyVLFiRW3cuFHvvvuu2rVrp3Tp0ilVqlQaOHCgI5xasmSJpDv//nTq1ElXr16VJPn6+ipnzpzu+3vF4hlbSEKxsbFm3bp1JmfOnObMmTNO+3744Qfj6enJrXtuIDw83Pz888+mePHiTvcQ2+12065dO27dQ4rx999/mxo1arDeShLZtGmTKVKkiAkJCTF79+41xty55dvX19fUq1fPnDhxwrHO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YkW8AKp169aKiorSyZMnk7pUuMCFCxc0efJkNWvWzCmcyp07t9auXauoqCin41u2bKnY2FgdOnQoqUuFC/zxxx8aP368Wrdu7VgfrFevXqpRo4YmTJigDz74QL/88oveeecd9enTR+PHj7e4YiQXn3/+ud58801lzZpVBw8elCQVLlxYLVu2VLFixVSkSBFlz55dhw8f1qJFi1S/fn1t3LjR4qrdiIFb2bFjh8mZM6e5evWqMcaYUaNGmaefftocP378gef17dvXFC9e3Jw/fz4pykzRwsPDTdGiRU3fvn2NMcbExsaasLAw4+npaWrXrm1iYmLueV50dLSpVq2aadGihYmLi0vKkgEAwD+sXbvW+Pn5mTZt2hi73W6MMeb06dPG39/fvPHGGyY2NtZx7K5du0yaNGnM9evXrSoXiWzHjh0mQ4YM5tVXXzW3b982xhhz6dIlkzlzZlOvXj2na7ljx44Zb29vExERYVW5SCQxMTHmqaeeMqlTpzZjxoxx2nfr1i3z6aefmvz585ssWbKYZs2a/effX8C9jBgxwgQEBJjt27c72vbt22cuXrzo2I6KijJ58+Y1q1evtqJEt8SMKTezYcMGValSRf7+/ho9erS++uorrVq1Snny5FFMTIx++OGHeOfcnSm1YsWKFD8FMCmMGTNGTZs2VZ8+fRxParl9+7Y2btyoFStW6JVXXok3c+ruTKns2bNr0qRJ8vDgRw8AAKvcfUrurFmzHDOncuTIoR9//FGzZ89WSEiIfv31V82dO1dNmzZV//79lSZNGqvLRiIpUaKEli9fruXLlztmTmXIkEG//PKLVqxYoYoVK2r27NlauHChGjRooA8++ECZMmWyumw8plSpUmnOnDny9fXVmDFjFBMT49jn7e2tTz75RIcPH1Z4eLimTZumPHnyWFgtkpu4uDgdOHBAb731lqpXr67Q0FDt2LFDklS0aFEFBgZKkvbu3asqVaqoXr16qlSpkpUluxerkzEYExcXZwYPHmxu3rxpZs6caZ555hkzfPjweDOlFi9ebN544w2nc5kpZa0vv/zSlCxZ0vEt6uuvv24kmbp16zq+gWWmFAAA7uleM6d27Nhhqlatanx8fEyePHnM2LFjLa4SrnKvmVP79u0zL7/8svH19TU5c+Y0Q4cOtbZIJLq7496oUSPHuAOPa/DgwaZs2bLGmDt3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NXjwYF26dEm5cuXSp59+qtatW1tdKlwkODhYL774or799ltJ0vDhw/X555/r/PnzypYtmz766CN16dLF4irhandnTt28eVMrV650WvAe+C/GGB6GkAQIppDinT9/XiEhISpZsqSaNm2quXPnavLkyZo5c6bq168vSbpx44aWLl2qyMhIhYaG8s0qAABuJi4uzum2e0maOHGi3n33XZ08edKxpozdbtfVq1ednsaH5O9e4//zzz+refPmOn78uLJkySLpzh+ZV65cUUBAAH9spiCEU3gY48aNU7NmzeTr66umTZvqtddeU8OGDa0u64lGMIUU7fz586pSpYqaNm2qjz/+WHFxcXr99de1a9cuHTt2TLNmzXKEUwAAwD3Z7XbVqFFDN2/eVO/evVWrVi1JdxbAzpcvn7p166b33nvP4irhSg0bNtTJkyf14Ycfqn79+rLZbLLb7SpatKgaNmyozz//3OoSYbG74dStW7e0c+dOpUqVyuqS4IauXLmi4OBg5ciRQ1myZNHt27f1008/8XlxMe4XQ4p29epVdejQQR9//LEkqU2bNrp8+bL27t2runXrqnHjxpo7d661RQIAgAfy8PDQyJEjVbBgQdWvX19BQUGaNWuWvLy81KNHDw0dOtTxtF08mQYPHqxSpUqpWbNmevbZZzV16lTZ7Xb16tVLI0eOVGRkpNUlwmJ315zq378/IQPuKyAgQL/99pu2bt2q3377TZMmTXqoz8tHH32kOXPmuLDCJxPBFFK0ggULqlu3bpKkGTNmaOPGjZo9e7Z8fHzUsmVLeXl56bXXXtPJkyctrhQAADxIoUKF9N133+nIkSN66aWX1Lp1axUuXFheXl66du2aJk+ebHWJcKGnn35ao0aN0rFjx1S3bl116dJFBQsWVGRkpLy9vTV69GirS4QbCAwMVIMGDawuA27u/Pnzevnll5U5c2bVr19f165dS9B5vXv3djxYAQ+HYAr4Pz/99JOaNGniWIMiPDxcdevW1aZNm/TUU09ZXB0AAEiI3Llz65tvvtGJEyfUuHFj9enTR1FRUbp48aLVpSEJZMuWTV9++aVOnjyptm3b6vPPP9eFCxcYfwAJVqZMGc2ZM0erV6/WmTNnVKtWLadwKjY2Nt45vXv31tKlS7VixQrWMHwErDEF/J9evXrpp59+0q+//qqrV6/qtdde048//qgK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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "feature_mean = np.array(normalization[\"feature_mean\"], dtype=np.float32)\n", + "feature_std = np.array(normalization[\"feature_std\"], dtype=np.float32)\n", + "target_mean = np.array(normalization[\"target_mean\"], dtype=np.float32)\n", + "target_std = np.array(normalization[\"target_std\"], dtype=np.float32)\n", + "\n", + "fig, axes = plt.subplots(1, 2, figsize=(12, 4))\n", + "axes[0].bar(normalization[\"feature_names\"], feature_mean)\n", + "axes[0].set_title(\"feature means\")\n", + "axes[0].tick_params(axis=\"x\", rotation=45)\n", + "axes[0].grid(axis=\"y\", alpha=0.25)\n", + "\n", + "axes[1].bar(normalization[\"target_names\"], target_std)\n", + "axes[1].set_title(\"target stds\")\n", + "axes[1].tick_params(axis=\"x\", rotation=45)\n", + "axes[1].grid(axis=\"y\", alpha=0.25)\n", + "fig.tight_layout()\n" + ] + }, + { + "cell_type": "markdown", + "id": "32f03cf3", + "metadata": {}, + "source": [ + "## What the input features mean\n", + "\n", + "Each row is one sampled point from one case. The MLP sees five scalar inputs for that point:\n", + "\n", + "| feature | meaning | varies per |\n", + "|---|---|---|\n", + "| `re_norm` | normalized Reynolds-number-like case condition; constant across all points in one case | case |\n", + "| `aoa_norm` | normalized angle-of-attack-like case condition; constant across all points in one case | case |\n", + "| `x` | point x-coordinate in the local 2D domain | point |\n", + "| `y` | point y-coordinate in the local 2D domain | point |\n", + "| `sdf` | signed-distance-like geometry feature; here computed as radial distance from a radius-0.5 body proxy, so negative means inside/near the proxy and positive means farther away | point |\n", + "\n", + "For the current `data/processed/minimal` sanity dataset, these are deliberately compact synthetic features from the training-framework spec, not the full AirfRANS graph feature set. The target formulas used by the synthetic sanity data are simple functions of these columns, which is why the tiny MLP should learn them quickly." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c9b3b2fe", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "re_norm - case-level normalized Reynolds-number-like condition\n", + "aoa_norm - case-level normalized angle-of-attack-like condition\n", + "x - sampled point x-coordinate\n", + "y - sampled point y-coordinate\n", + "sdf - signed-distance-like geometry signal; negative near/inside radius-0.5 proxy\n" + ] + } + ], + "source": [ + "feature_descriptions = {\n", + " \"re_norm\": \"case-level normalized Reynolds-number-like condition\",\n", + " \"aoa_norm\": \"case-level normalized angle-of-attack-like condition\",\n", + " \"x\": \"sampled point x-coordinate\",\n", + " \"y\": \"sampled point y-coordinate\",\n", + " \"sdf\": \"signed-distance-like geometry signal; negative near/inside radius-0.5 proxy\",\n", + "}\n", + "\n", + "for name in normalization[\"feature_names\"]:\n", + " print(f\"{name:8} - {feature_descriptions.get(name, 'no description recorded')}\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "2a31f98e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'split': 'test',\n", + " 'case_id': 'case_03',\n", + " 'points': 256,\n", + " 're_norm_min': 0.10000000149011612,\n", + " 're_norm_mean': 0.10000001639127731,\n", + " 're_norm_max': 0.10000000149011612,\n", + " 'aoa_norm_min': 0.10000000149011612,\n", + " 'aoa_norm_mean': 0.10000001639127731,\n", + " 'aoa_norm_max': 0.10000000149011612,\n", + " 'x_min': -0.992418110370636,\n", + " 'x_mean': -0.028246253728866577,\n", + " 'x_max': 0.9915499091148376,\n", + " 'y_min': -0.999594509601593,\n", + " 'y_mean': 0.00812380388379097,\n", + " 'y_max': 0.9907281994819641,\n", + " 'sdf_min': -0.483142614364624,\n", + " 'sdf_mean': 0.24713799357414246,\n", + " 'sdf_max': 0.855535626411438},\n", + " {'split': 'train',\n", + " 'case_id': 'case_04',\n", + " 'points': 256,\n", + " 're_norm_min': 0.30000001192092896,\n", + " 're_norm_mean': 0.30000001192092896,\n", + " 're_norm_max': 0.30000001192092896,\n", + " 'aoa_norm_min': 0.20000000298023224,\n", + " 'aoa_norm_mean': 0.20000003278255463,\n", + " 'aoa_norm_max': 0.20000000298023224,\n", + " 'x_min': -0.9973810315132141,\n", + " 'x_mean': 0.016297580674290657,\n", + " 'x_max': 0.9969028830528259,\n", + " 'y_min': -0.9971365332603455,\n", + " 'y_mean': -0.03903472423553467,\n", + " 'y_max': 0.988767683506012,\n", + " 'sdf_min': -0.4517866373062134,\n", + " 'sdf_mean': 0.29825884103775024,\n", + " 'sdf_max': 0.8830513954162598},\n", + " {'split': 'train',\n", + " 'case_id': 'case_02',\n", + " 'points': 256,\n", + " 're_norm_min': -0.10000000149011612,\n", + " 're_norm_mean': -0.10000001639127731,\n", + " 're_norm_max': -0.10000000149011612,\n", + " 'aoa_norm_min': 0.0,\n", + " 'aoa_norm_mean': 0.0,\n", + " 'aoa_norm_max': 0.0,\n", + " 'x_min': -0.9979289770126343,\n", + " 'x_mean': 0.03891447186470032,\n", + " 'x_max': 0.9994633793830872,\n", + " 'y_min': -0.9955872893333435,\n", + " 'y_mean': -0.018903596326708794,\n", + " 'y_max': 0.9769426584243774,\n", + " 'sdf_min': -0.4469470679759979,\n", + " 'sdf_mean': 0.2548476755619049,\n", + " 'sdf_max': 0.8520128726959229},\n", + " {'split': 'train',\n", + " 'case_id': 'case_01',\n", + " 'points': 256,\n", + " 're_norm_min': -0.30000001192092896,\n", + " 're_norm_mean': -0.30000001192092896,\n", + " 're_norm_max': -0.30000001192092896,\n", + " 'aoa_norm_min': -0.10000000149011612,\n", + " 'aoa_norm_mean': -0.10000001639127731,\n", + " 'aoa_norm_max': -0.10000000149011612,\n", + " 'x_min': -0.9986386895179749,\n", + " 'x_mean': -0.039472322911024094,\n", + " 'x_max': 0.991798460483551,\n", + " 'y_min': -0.9973899126052856,\n", + " 'y_mean': 0.029526807367801666,\n", + " 'y_max': 0.998464822769165,\n", + " 'sdf_min': -0.4342630207538605,\n", + " 'sdf_mean': 0.2738206684589386,\n", + " 'sdf_max': 0.9004930257797241},\n", + " {'split': 'train',\n", + " 'case_id': 'case_00',\n", + " 'points': 256,\n", + " 're_norm_min': -0.5,\n", + " 're_norm_mean': -0.5,\n", + " 're_norm_max': -0.5,\n", + " 'aoa_norm_min': -0.20000000298023224,\n", + " 'aoa_norm_mean': -0.20000003278255463,\n", + " 'aoa_norm_max': -0.20000000298023224,\n", + " 'x_min': -0.9898697733879089,\n", + " 'x_mean': -0.004540023393929005,\n", + " 'x_max': 0.9964226484298706,\n", + " 'y_min': -0.9919538497924805,\n", + " 'y_mean': -0.0564127042889595,\n", + " 'y_max': 0.9963796734809875,\n", + " 'sdf_min': -0.40864098072052,\n", + " 'sdf_mean': 0.25872567296028137,\n", + " 'sdf_max': 0.8634771108627319},\n", + " {'split': 'val',\n", + " 'case_id': 'case_05',\n", + " 'points': 256,\n", + " 're_norm_min': 0.5,\n", + " 're_norm_mean': 0.5,\n", + " 're_norm_max': 0.5,\n", + " 'aoa_norm_min': 0.30000001192092896,\n", + " 'aoa_norm_mean': 0.30000001192092896,\n", + " 'aoa_norm_max': 0.30000001192092896,\n", + " 'x_min': -0.986579179763794,\n", + " 'x_mean': -0.012095458805561066,\n", + " 'x_max': 0.9900404810905457,\n", + " 'y_min': -0.9959282875061035,\n", + " 'y_mean': 0.022574514150619507,\n", + " 'y_max': 0.9964964985847473,\n", + " 'sdf_min': -0.4551549255847931,\n", + " 'sdf_mean': 0.25610190629959106,\n", + " 'sdf_max': 0.8619978427886963}]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import tomllib\n", + "\n", + "config = tomllib.loads(config_text)\n", + "DATA_ROOT = REPO_ROOT / config[\"data\"][\"root\"]\n", + "\n", + "\n", + "def load_case(case_id: str) -> tuple[np.ndarray, np.ndarray]:\n", + " data = np.load(DATA_ROOT / f\"{case_id}.npz\")\n", + " return data[\"features\"].astype(np.float32), data[\"targets\"].astype(np.float32)\n", + "\n", + "\n", + "feature_rows = []\n", + "for split_name, ids in split_manifest.items():\n", + " for case_id in ids:\n", + " features, _ = load_case(case_id)\n", + " row = {\"split\": split_name.replace(\"_ids\", \"\"), \"case_id\": case_id, \"points\": len(features)}\n", + " for index, name in enumerate(normalization[\"feature_names\"]):\n", + " values = features[:, index]\n", + " row[f\"{name}_min\"] = float(values.min())\n", + " row[f\"{name}_mean\"] = float(values.mean())\n", + " row[f\"{name}_max\"] = float(values.max())\n", + " feature_rows.append(row)\n", + "\n", + "feature_rows\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "ccab3feb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "case-level conditions for case_05:\n", + "re_norm = 0.500\n", + "aoa_norm = 0.300\n" + ] + }, + { + "data": { + "image/png": "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t/576623OAB++eWX81deeYXX1tby1atXc4PBwBcvXszvuece/tJLL/Gamhq+du1anpiYyBcuXOhSd0sd8+bN4//3f//Hq6ur+a5du/iZZ57JDQYDP3LkiPPY5cuXcwB8/fr1zm2+Pj8HDx7ksbGxfMqUKXzPnj28qqqKP/PMM/ziiy/mALy+dgJpZ1FREU9ISOBjx47lW7du5bW1tfy1117jWq2WX3HFFe1eT8t5rrjiCv7888/z6upqvnPnTj5w4EA+ZMgQriiK89iPPvqIA+C//fZbUJ5nzn17f3Xm+nwt29IPl1xyCX/22Wd5ZWUl//DDD3l1dTX/7LPPuCRJ/LrrruOHDh3itbW1/D//+Q9XqVQur89nnnmGM8b43/72N15ZWckPHDjAL7jgAj579mwuimK7/cA55zNnzuSFhYV8zpw5fM2aNby+vp5/8sknPC4ujp933nnO4/bv3+88z6nMZjNPSkri5557rtdz1NfX88TERH7ppZfy4uJibjKZ+Pbt2/ktt9zCf/nll4Cu5bnnnuMAeFFRUYfXSAgh3eHEiRM8JiaGX3PNNfzo0aO8ubmZ//7773zRokX8999/dx730EMPcVEU+bPPPsurq6v57t27+Zw5c/iMGTN4YmKiS52PP/44B8Bra2s7PL8/9c6cOZOPGjXK77ZPnjyZjxs3zuP5x40bx0eNGsVnzZrFN2zYwCsqKvi7777r8Xxtj//11195XV0df+edd3hUVBS/8sorXY7NyMjgCxYscDvnVVddxVNTU122tddGT+3429/+xhlj/PHHH+cVFRX80KFD/MILL+RqtZqvWrXKpb2jR4/mF154If/11195fX09f+WVVzgAl7/L3nh7Lv05v7f+bcvX5/PNN9/kjDF+xx138CNHjvCamhr+zDPPcFEUXer21G++ln3ttdc4Y4zfcMMNfN++fdxoNPJVq1bxuXPnOo9p7znz9Tz+vP498aWdp7JarXzXrl38vPPO46mpqbyysrJL+p5EFgqGBMktt9zCJUni+/bt87vsH//4Rz5ixAjn45ycHH711Ve3W+aOO+7garWaHzp0yGX7hg0bOAD+6aef+nz+iRMnev2lk5KSwidNmuR8XFVVxRcsWMDXr1/PGxoa+MGDB/nixYs5AH777bf7fM62fLlmb9r2X8sNa9v23HnnnVyn0/HFixe7bL/77ru5SqXiZrPZrY4bbrjB5dgTJ05wrVbLr7/+euc2TzfXvj4/V199NY+KiuJVVVUuxy1cuNCvYIgv7bzmmmu4Wq3mpaWlLsc+/PDDLsGL9oIht912m0vZDz74gAPga9eudW5rLxgS6PPsy/urM9fna9mWfrjuuutcjrNarTw9PZ1PnjzZY9sTEhK4xWLhzc3NPC4ujl988cUuxxiNRm4wGHwOhgDgq1evdtn+/PPPcwAuH8TOOuss3rdvX5dAZ8s1tPc7Ys2aNRwA//HHH70e4++1UDCEEBJuvvzySw6Ab9682esx1dXVXKPR8EWLFrlsr6io4Hq9PuBgiL/1tr259aXtnHccDAHAt27d6rbPWzAEAN++fbvL9ieeeMJte1cFQ6qrq7lWq+WXXnqpy3Fms5lnZGS41DNu3DguCALfs2ePy7ETJ07kp512msfzncrTc+nv+b31b1u+PJ+NjY3cYDDw888/323fH//4R56Zmen8cqptv/la1mg08tjYWD5nzpx22+vtOfP1PP6+/tvytZ2e1NbWcgB86dKlnPPg9z2JLDRNJki+/vprjB49GgUFBe0e9/LLL2Ps2LGIiYlxmUJw8OBB5zHDhw/Hhx9+iKeeespl+6mWL1+OkSNHIi8vz2X7uHHjEBMTg5UrV/rVfsaYT/sSExPx9ttvY/z48YiOjkZ+fj6effZZzJ8/H//+97+xf/9+v87bwpdrBnzrvxazZ892eVxYWAiTyYSzzz7bZfvAgQNhs9lQWlrqVsd5553n8jgtLQ3jx4/HTz/91O71+Pr8/Pjjj5gwYQISExNdjrvgggvarT+Qdv74448YO3YsMjMzXY6dN2+ec39HzjnnHJfHQ4YMAQAcPnzYp3b6+jy35cv7qzPX52/Ztv39+++/4/jx484pQqeaMWMGampqsGPHDmzatAn19fVu5WNiYjB9+nSv7WvLYDDgzDPPdNnW8po59Tm/+eabceTIEXz11VfObS+++CJSU1Nx7rnneq2/f//+0Ov1uOuuu/DJJ5+gvr7e7ZhgXQshhITKwIEDoVKpcMstt2D58uVoaGhwO2bt2rWwWCxuv+uSk5MxYcKEgM/d2Xp9absv+vbti+HDh/t8fG5uLoYOHeqyzdPfn66ybt06mM1mXHTRRS7bNRoNzj33XPz6668ufZGfn+82XXvIkCE+f27p7Pl97V9fns81a9agtrbW62eNo0ePer0uX8uuWbMGRqMRf/jDHzpsc2fO09nXv6/tPH78OK6//nrnlHXGGAwGAwA4P4d2dd+T8EbBkCCpqKhARkZGu8c89dRTuOmmmzB//nzs3bsXdrsdnHPceOONLnMtly5dij/84Q9YsmQJ+vfvj8zMTNx00004fvy485iysjJs3LgRkiRBkiSIoghBEMAYQ0NDA6qrq31ue2JiIurr693mxXHOUV9fj4SEhA7ruOCCC8A593uuXwtfrtnX/mvRp08fl8cxMTHtbq+rq3OrIzU11eO2lhwR3vj6/FRXV3s9hz98aWd1dbXLPN0WLds6uibAve9iY2MBeO47T3x5nj3x5f3Vmevzt2zbtpSVlQEAbrvtNufz3fKct3xIrK6udj7vnX3O2yt/alvPPfdcZGdn46WXXgLgSJa8fv16XHnllZAk74uJpaSk4Ntvv0V8fDwuu+wyJCQkYPTo0XjuueecOVSCdS2EEBIqeXl5zjxZF154IQwGA8aPH4+lS5c6V1Xrqt91na3Xl7b7oqO/rb60zdPfH2/8aZsnLf3m7W825xw1NTXObW0/twCOzy6egvxdcX5f+9eX57Pls0bL3/CWzxmCIGDhwoUu7WvL17Itecb8fV34e57Ovv59aafVasWUKVOwZs0avP3226iuroaiKLBarWCMOe8durrvSXijYEiQJCcnd5gE8s0338SUKVNwxx13ICMjA6IoAgCKiopcjktKSsIrr7yCyspK7NixA7fffjvef/99TJs2zeWY6dOnw263w263Q5ZlKIoC7pj6hDfffNPntg8dOhQ2m82tHUVFRbBYLBg2bJjPdQXKl2v2tf9aeBvt0t4omLbKy8s9bms7kqMtX5+fxMREr+fwhy/tTEhIaPdcSUlJHZ7Hn77zxJfn2RNf3l+duT5/y7ZdYq9l/2uvveZ8vts+52effbbz+ejsc95e+VOfc1EUccMNN2DFihU4fPgwXnzxRQDANddc0+E5Jk6ciJ9//hl1dXX47rvvMHToUNx2221YsmSJy3mC8folhJBQOfvss7F27VrU1NTgq6++Qt++fXHdddfhhRdeANB1v+uCUW9HbfeFv0vG+vr3Jy4uzuM37L4kTG9Pyxd03trBGHP5Eq+zn1s6e35/+rej57Pls8Ynn3zi8tny1M8aY8eO9Vi3r2WTk5MBBP48+Xqezr7+fWnnhg0bcODAATzxxBOYOHGic1T5kSNH3IJyXdn3JLxRMCRIzj33XGzatKnDaSIajcbl8dGjR/Hzzz97PFYQBAwZMgR//vOfcfPNN2Pfvn3OSOjcuXOxfv16j1M7/NUy1O/TTz912d6yyszFF1/cYR2ff/45GGM4/fTTO9WW9q4Z8K//gmH58uUujysqKrBhw4YOpwH4+vxMmzYN69atc/kWAYDfmal9aef06dPx66+/uo3C+N///ufcHwxRUVEAAIvF4vWYjp7ntnx5f3Xm+jrbN2PGjEFqaio+/PDDdo8bNWoUYmNj3Z6vxsZGv4YX19bWYu3atS7bWl4zbdt67bXXQpIk/POf/8S7776LM844w6cVnlpERUVh+vTpWLZsGXJycrBq1aqgXgshhISD2NhYzJw5E++//z4MBoPzd92ECROg0WjcftdVVVUFPBo22PV6azvg+B3e3t9jfxUXF7utVtfy9+fULzby8/Oxa9cul+OqqqrcVlzxt41nnHEGtFqt22dWq9WKL7/80jmVuqt0x/m9PZ+TJk1CbGwsPvjgA7/r9LXsxIkTERsb63ElvFN5e858PU9nX/++thNwv3do7wvjruh7Et4oGBIkDz74ILKysjB37lx8//33MBqNOHToEJ544gm8//77ABx5Br7//nt8+OGHaGpqwqZNm3DZZZdhxowZLnVNnDgRH3zwAY4cOQKLxYLt27fjiy++wODBg52R0Iceegjp6emYM2cOvvvuO9TV1aGqqgqrVq3ClVdeie+++87nto8YMQILFy7EE088gRUrVsBsNmPFihV44okncN1117nMDX344Yfxj3/8A7t27UJzczMOHz6Mu+66C++++y5uueUWDBgwwKVuX5fW9eWafe2/YKqqqsILL7yA2tpa7NmzB5dccgm0Wi3uu+++dsv5+vz89a9/hSAIuPTSS7Fv3z7U1NTg3//+N4xGY9Db+cADD0Cn0+Hiiy/G9u3bUV9fjzfeeAP/+Mc/8Ic//MHrEnr+GjRoEARBwDfffOP2h9KX59kTX95fnbm+zvaNWq3Gyy+/jO+++w6LFi3Cnj17YDKZUFRUhHfeecf5GtXr9XjooYfwySef4Mknn0RVVRUOHTqEq666CuPGjfO1i1FYWIh//OMfWLduHRoaGvD555/jgQcewLnnnouJEye6HJuSkoJ58+bh5ZdfRmNjIxYtWtRh/Z9++imuueYa5xzZxsZGvPfeezh69CimTp0a1GshhJBQefPNN/GnP/0JGzZsQH19PYxGI1577TXU1tY6f9clJibi7rvvxuuvv47nnnsOtbW12Lt3L66++upO5QzpbL2+tB1w5MfYv38/9uzZ0+kpKgBw2mmn4S9/+Qs2bdoEo9GI999/H0uWLMGCBQtcRhJfd911OHToEP7+97+jvr4eu3btwvXXX+/xSzN/2piQkIC//vWv+PDDD7FkyRJUVVWhqKgIf/jDH1BeXo5//vOfnb7GUJzfl+czJiYGzz//PD744APcdttt2L9/P0wmEw4ePIhly5Zh7ty5Xuv3tWxMTAyeffZZfPPNN7jxxhtx4MABNDY2Ys2aNS75Pbw9Z76ep7Ovf1/aOWrUKKSnp+Pxxx/HwYMHUVNTg//85z/Yt2+fc3R5d/Q9CXPdkqa1l6ioqOA333wzz8rK4mq1mhcUFPCHH36YNzY2cs4dmab//Oc/84yMDK7T6fiECRP42rVr+eLFi7lGo3HWs3HjRr5gwQLet29frtVqeW5uLr/lllv4iRMnXM5XW1vL7777bt6/f3+uVqt5SkoKnzp1Kn/77be5zWbzq+1Wq5U/+uijPCcnh6tUKp6Tk8Mfe+wxt3oqKyv5o48+yocNG8Z1Oh2PiYnhZ5xxBn/99dc91uvr0rq+XLOv/deyWsaOHTtczvHee+9xAHzLli0u2z2tftJSx9atW/m9997LU1JSuE6n49OnT+fbtm1zKe9pdRLOfX9+Nm/ezKdMmcK1Wi1PTU3l999/P9+8ebNfq8n40k7OOd+7dy+fN28eT0hI4CqVihcUFPC//e1vLu1pbzWZtn1aWlrKAfDnnnvOZfuzzz7L+/bty0VR5AD4W2+9xTn3/bXtSUfvr85cn69lvfVDi99++41fdNFFPDk5mavVap6fn8+vvPJKl6XZOOf8hRde4Pn5+Vyj0fBhw4bxFStW8Lvuusvn1WSGDx/Oi4qK+Nlnn831ej1PTk7mt956K29qavJYZu3atRwAj4mJcekvbywWC3/99df5pEmTuMFg4LGxsXzkyJH8xRdfdMuW7uu10GoyhJBw09zczF9++WU+YcIEHhcXx+Pj4/m4ceP4smXLXI5TFIX/85//5H379uUajYaPHj2ar169mi9atKhTS+v6U2/b1UF8bXtVVRU/99xzeWxsLAfA4+LinPvGjRvncRU0T+c79fg9e/bwKVOmcJ1Ox9PS0vhf/vIXbrFY3Or417/+xTMzM7lGo+FnnHEG37Jli8fVZNpro6d2cM75q6++ykeMGME1Gg2PiYnhZ511lsvKdu1d3z333MN9uQVq77nszPk98fX55Jzz1atX87lz5/LExESu0Wh4QUEBv/baa/nOnTudx3jrN1/Kcs75ihUr+LRp03hMTAyPjY3lkydP5t9//71zf3vPma/n8ef1701H7dy6dSufOnUqj46O5snJyfymm27iTU1NXBRFftddd3VJ35PIwjgPQpiYkB7m7bffxhVXXIEdO3Y4V0wJR5HSThJaO3fuxNChQ3Httdfiv//9b6ibQwghhBBCSMjRNBlCCOnhWua4XnfddSFuCSGEEEIIIeGBgiGEENKD7d+/H6+88gpmzJhBmc4JIYQQQgg5iYIhPVRVVRUYY+3+nHnmmaFuJiGkCyUlJWHYsGEYPHgwXnvttVA3hxBCCCGEkLBBOUMIIYQQQgghhBDSq9DIEEIIIYQQQgghhPQqFAwhhBBCCCGEEEJIryKFugE9gaIoOH78OGJiYsAYC3VzCCEkrHHO0dDQgPT0dAhC8GPyZrMZVqu1U3Wo1WpotdogtYgQ+qxACCGEdAd/PmdSMCQIjh8/jqysrFA3gxBCIkppaSkyMzODWqfZbEa6Lhq1kDtVT1paGoqKiiggQoKGPisQQggh3ceXz5kUDAmCmJgYAI4Oj42N9amMoiiora2FwWDokm9GeyLqM/9Qf/mP+sw/gfaX0WhEVlaW83dnMFmtVtRCxutiLvQBzgRthoKFZUWwWq0UDCFBE8hnhe5Ev/8cqB+oD1pQPzhQPzhQP0ROH/jzOZOCIUHQMtw1NjbWr2CI3W5HbGxsWL+Ywgn1mX+ov/xHfeafzvZXV04ViFKJ0DMxoLKMy+jkwBJC3ATyWaE70e8/B+oH6oMW1A8O1A8O1A+R1we+fM6kYAghhJAeh0kMQoDBFsYpnwMhhBBCSE9HwRBCCCE9DlMJYCywby0Y50FuDSGEEEIICTfhP76FEEIIIYQQQgghJIhoZAghhJAeRxAZBCGw6S6CQtNkCCGEEEJ6OgqGEEII6XGYioEFGAxhFAwhhBBCCOnxKBhCCCGkxxEkGhlCCCGEEEK8o2AIIYSQHodGhhBCCCGEkPZEVDBElmUsX74cH3zwATIyMvDUU091WEZRFLz++uv48ccfodVqcemll2LmzJl+H0MIIYQQQgghhJCeIWKCITabDf3798ewYcPQ1NSEAwcO+FTu2muvxYoVK3DfffehtrYW5513Hp577jlcf/31fh1DCOk8zhXAZgVU6oCXPSXEF4LIIIgBTpOR/S9XXl6OZcuWobS0FIWFhbjmmmsQFRXVbpmtW7fi888/R2VlJTIyMnD55ZcjNzc3oDaTVkajEatWrUJZWRkGDBiAiRMnejxu48aN2LJlC5KTkzFr1qwOn69AyxBCCCEkPEXM3YgoilizZg2++OILDB061Kcy27Ztw7Jly/Duu+/illtuwYMPPoiHHnoI9957LywWi8/HENJduMUE+5HdkI/sAbeaQ92coOGcw7ZzHUzv/gumt/4O0ztPwrZ9tSM4QkgXYCLr1I8/SkpKMGLECPz888/IycnBG2+8gdNPPx1NTU1ey7z99tsYPXo0KisrUVhYiG3btmHgwIFYu3ZtZy+9V1u6dCmGDRuGl19+GRs2bMD8+fMxceJEt+fi5ptvxqxZs7BmzRo8/vjjGDJkCEpKStqtO5AyhBBCCAlfETMyRBAEZGZm+lXmm2++QVJSEiZNmuTcdskll+CBBx7Ahg0bMHnyZJ+O6ckatm5G7Q8rIDc2InrYCCTMOgeinr7pCgX7wW2w/fotoMiODaIE1fg5kHKHhLZhAOTyI5CLdoBbLRBT+0LMGwamUvtc3r5jLWy/fde6wWKC7bfvAVmG6rQpQW9vMFmL98G08WfI9dVQZeVDf/pZEOMTnfsVswm2o4fBNDqoMnPBGOWbCAedGhkC/8o9/PDD6NOnD77++muIoojrr78eeXl5eOGFF/CXv/zFY5kXX3wRCxYswPPPPw8AuOWWWzB27Fi89tprOOOMMwJqNwFyc3Oxbds2xMXFAQBqamowcOBAPPXUU3j44YcBAD/88ANefPFF/PrrrxgzZgxsNhvOOOMM3HXXXfjoo4881htIGUIIIYSEt4gJhgSiqKgImZmZLjcn2dnZzn2TJ0/26Zi2LBaLy6gRo9EIwJF7RFF8+6ZbURRwzn0+vitUfPA2yt9eBggCoCgwbtqAqm+XI/9fz0GKiQ1Zu7wJhz7rKkpdBSwbvnLdKNthWbsciE+FEJfouWB7dQbQX0p9NZQTBwHGIGQUQIiOh233eti3rwKYAHAF9qP7wQ5sgWbGAjC1tsM6uWyHZdsqj/ss29dAGHw6mKTyuY1dqW2fmTatQuPnbzjfI7aSwzD9tgrxN9wPKbkPmtZ+h8avPgC3WQEAYnIq4q9cDFVaVigvo9sE+p7sae/h5cuX46677oIoigCAuLg4zJkzB8uXL/caDMnMzERlZaXzsc1mQ11dHbKyesdrp6tMnz7d5XFCQgKGDx+Offv2Obd9+OGHGDVqFMaMGQMAUKlUuPbaa3HrrbfCbDZDq3X/vRZIGUIIIYSEtx4dDLFYLNDr9S7btFotRFGE2Wz2+Zi2lixZgkcffdRte21tLex2u09tUxQFDQ0N4JxDELp/tpKttgYlP34PpGW4bDdzoGj5Z0icda7vdVWcQPNvq2E7XgIhOha6EeOgLRwW9G/IQ91nLeSq45CPHgCsZjBDCqTsQjCNrlN12vZthSJFA22njTAB4t6tkPqf5ned/vaX/fB2KEd2AS3fiu/8DULfwZAP7wCEk++Rlqe0yQRx6zpI/UZ03A5TI6xcAlTRHvc3Hz8KITqu4wvqBqf2Gex21K9eAcS0CUQJDM0/fQl1wXA0/PwNoD8lcGjjqH/3FRj+eEvYBHi6UqDvyYaGhi5slQMTOrGaDHeUawl0t9BoNNBoNC7b6urqUF1djZycHJftubm5+OGHH7ye4/nnn3eOBhkwYAB+//13zJkzB/fee29AbSaelZeXY/369S5/s3fv3o3CwkKX4woLC2G1WnHo0CEMHjzYrZ5AygTji5Pu1JO/cPAH9QP1QQvqBwfqBwfqh8jpA3/a16ODIXFxcaitrXXZVldXB1mWYTAYfD6mrfvuuw933nmn87HRaERWVhYMBgNiY30bUaEoChhjMBgMIbmxr/l1HbQnjnrcx9f8goQ/XOlTPZYjh1D58t+gUhSoFAVgDHzv75BmX4q4OfOC2eSQ9xkA2HZvgG3zDwBjAOdA1WGgdAe0s6+GEBX4Db1VsUCWmxx1nooJEGGFOiHB7zr96S+5ogS2ok3uO4o2gbdM22mDVRVBO3Zah+3g9hiYFDMgewgUCiJ0aelgao37vhA4tc/sxfvAa8o8H9hYB6mpHjDWuAew6gD9iWLoho/r8vaGWqDvSUnq+j89TBTAxMB+TzA43odtR2k8/PDDeOSRR1y2mUwmAEBMTIzL9piYGOc+T7Zv347Vq1fj/PPPx6BBg2C1WvHVV1/hhhtuwMCBAwNqN3Fls9kwf/58ZGdn48Ybb3Rub2hoQHx8vMuxLX/vvQXqAikTjC9OulO4fOEQatQP1ActqB8cwrEfZIVDDPALj0DLhmM/dLdI6QN/vnTr0cGQ4cOH4+WXX0ZDQ4Pzg+rWrVsBAMOGDfP5mLY8fTsIOPKa+PPCYIz5XSZYBJUKrO2Nd8s+SfK5TQ3L3wOzy603hCfrbFzxMWKnzIIYHdzpNqHsM25ugvz7T46swy19xzlgboK8Yy2kCb6PpmlLSs0CP7LLw0kVSClZAV+vr/0ll+yBcHIaTJsawFsCP233iKJv7VJroB40DvYdbRNDMogDRkHUdm5UTbC19JmoUjtvit2OUUlQaqvAuIdAEWPgxpqw/iMRTIG8J7ujb4KRM6S0tNQlwO3p937L/rZB9ZqamnaD41dddRWuvPJKPPnkkwCA2267Deeddx5uu+02fP/99wG1m7Sy2+24/PLLUVRUhJUrV7qMANXr9W4flFpGbbQdKdqZMsH44qQ7hcMXDuGA+oH6oAX1g0O49sOdH27FwYpGv8r0S4nGM5eOCOh84doP3SlS+sCfL916VDCkqakJCxYswG233YZp06bh/PPPx+23347nnnsOf/3rX6EoCp5++mmMGjXK+c2bL8f0RLHjJoBJKnC7zXUHYzBMneFzPZaDuz3cQAOQZViPHIRu8MhOtjR8yGXFnq+Vc8il+wAEHgwR84bAvvc38Iaa1sADY2BxSRBzBgVcr6+4bPMY8ABjraNg2u6Kjodt689gsYkQswrbTaiqGj0D3G6DvHeTow+ZALHgNKjHzQrmZQSVlJUPIS4BirHW9fqZAO2ICZCbTbBXHAfaDsXjHKrMvO5tLOkSsbGxHd60RkVFIScnB7t373bZvmvXLgwZ4jn5sclkwvHjx90C7sOHD8fbb7/duUYT2O12zJ8/H5s3b8Yvv/zizAPWoqCgAIcOHXLZdujQIYiiiLw8z+/dQMoE64uT7hTKLxzCCfUD9UEL6geHcOyHAxVN2HXcv2m3HKxT1xCO/dDdIqEP/PqCrgvbEXSLFy/GBRdcgOXLl+PQoUO44IILcMEFFzhze9hsNnz++efOpe4SExPx1ltv4R//+AfGjBmDAQMGYPv27XjzzTeddfpyTE8kxcYh8457HIkhBQE4mfgvevhpSJx7oc/1CO2sPCPoPeeICBfcbof98E7Ytq+GvXQfeEfzy0TvsUPWZh83N0GuKIXSWOdTW5ikhmbmFZAKxzpyUETFQho4Dpqzr3CruysIabmAp1EQXIFYMBrAyaAIO/krQ5SglBdDPrwd9i0/wvLdsnavlQkiNBPOhW7BX6A9/0bo/vAXaM48v1uuLVBMEBA3/+bWJLEnr13qk4Wosy5G9JRzHK8JJpxaCKq8QqjzCj3USLoTY8yZN8TvHz/zHc2fPx/vvvsuampqAAD79u3Dd999h/nz5zuP+eSTT3DXXXcBAHQ6HQoKCvDll18699tsNnz77bcYPnx4EK6+95JlGX/4wx/w22+/4ZdffnHL5QI4vgRZv369M7jBOcdbb72F6dOnIzra8Xfr6NGjePbZZ51Jbn0pQwghhJDIEr53Ih6cf/75bgntAEdWd8DxDd2nn36KkSNHupQpKSnBb7/9Bo1Gg/Hjx0Otdv0G25djeiLD1BmIGjQYtT//ALmpEdHDTkPMqLFgfkTTos88C8ZvPnb95lwQICWnQZ3TvwtaHRxKfTXMK94Amhucq6Sw+GRoZ14FpvMc4BH75AEqLWBrm1iXQcx3fMPLFQW2bb9AKdru7BMhtS9UY+d0uPIK0+ihGjUdqlHT2z2uK4jZAyEf2gZefdxlu9AnD6rTpkHqfxrk4l3gVguUsiJwc6NjIkHLSBmLCbYtP0Iz8eJ2z8M0ejCN5yHl4UiVlY+4S69Hw2evgZtNYKIKzNIEe8kBqAuGI+mWh2H86n1YD+4CU2uhHzsZ0bMuoeV1wwATEfA0GeZ5dpRXf/3rX7Fy5UqMGDECY8aMwcqVK3HRRRdhwYIFzmN+/fVXvPPOO3j66acBAK+88gouueQSnHbaaRg0aBA2btwIAHjvvfcCajNxaFnqdvHixfjss8+c2zMzMzFvniOP1YUXXog5c+Zg+vTpuOKKK7BlyxZs2rQJq1evdh5/8OBB3HHHHZgyZQqSk5N9KkMIIYSQyBJRwZBp09pP1qhSqXDBBRe4bY+Pj8dZZ53VbllfjumJ1Kl9kHr5FQGXj515MWzHS2HausG5TYxLQNIN93T5DSE3N8G2bwuU+ioIhhSoCk7zeVUXy6pPANPJeYYnb+h5fRWsG7+BZornxK9MUkEz5WJYfvoAkOWT00cUCKnZUA09EwAg7/sVyuFtLuWUihLYfv0G6jN9H3HT3ZgoQT3lMsiHtzlWymEMYnYhxNyhjm/YYxIgDJ0I3myEpXgH3J5ZzsErSsCtZp+W240USn0Nmr54DQJXAM3JAKmlGU2f/BfidQ9ClZmLxBvuC20jiUdMZGABB0P8KxcdHY1Vq1Zh1apVOHr0KO655x6MHTvW5ZiLL77YZVrM5MmTcfjwYaxfvx4VFRW4/vrrMWHCBGdwnwRm4MCBWLx4MQCguLjYuf3U+cOMMXz++ef46KOPsGXLFkyePBkvv/wyMjJaV1fLzMzE4sWLkZyc7HMZQgghhESWiAqGkPDDVCokXX83rEeLYS05BDHOAG3hcLCT0266ilx1AqYvXgGsFkBggMJh3fwj9OffAMGQ0m5ZpaHWbQQEAEfujyN7wO12MC+Jd8T0fOjmLYa9aCe4uRliShaE9HwwxsA5h/3gFo/1KuXFUJrqO7XiTFdjkgpSwWhIBaO9HtPhVCIvSXkjlWXHhpM5Qdyvy7JtLfTTLur+RpGwJIoipk6d6nX/mDFjMGbMGJdt0dHRvTII35VuuOEGn44TBAGXXXYZLrvsMo/7+/Xrh2effdavMoQQQgiJLBQMIUGhzsyBOjOn285n+eVjwGYBwAHl5I2qxQzzqs+gP//69gvbrN73cQXgMtp7azBtFFQDPSybyhXA2nYKzSlMjUAYB0N8waLiwKLjwd3ygzAwQ4rPI3MihdJQ6yWBLIdirAtFk4iPmCD4NeWvbVlCCCGEENKz0Sc+EvaU+ipYN/8My2/fQ64ug9xQB6XquPsNKlegnCgCNze3Wx+LTwa0nvKCMLDEdDCVe/Z/XzBBBIs2eNsJFpsYUL3hhDEGaeQMQBAdQQLHRkCUoBrR/jS2SCSlZbuvFgMAHJD6ZLtvJ2Ej4OSpJ38IIYQQQkjPRiNDSFiz7VwPy6rPAcaggMGqioY1I9sRCPGWk8TT8renYIIA9bjZsK782Jk8FUwAGIN67MxOtVcaPAG2jV+5bRf7ndZjcmmIyVlgZ10J+fB28MZasNhESLnDwKLaX4I0EqkHj4V5/Xcnl9c9+bpiAlhUDNTDJoS2caRdgsgCTqAq+JkzhBBCCCGERB4KhpCwpdRXw7LqC8cDztGSt0Eu2gkhOg4wNbiODmEMQlIGmK7jZQ6l3MFgUbGw794IpaEGQkIaVIPGd5hvpCNiZgHAGOy714MbqwFtFKR+IyEWjOpUvV2FW02Qa8vABAlCQh+fl7oVouMhDJvUxa0LPabWIOaKu9D8y+ew7f0d4ByqguHQTb0Agi5yVsUhhBBCCCGEuKJgCAlb9kM7AAb33JWMQYiOh2Jpdkxh4NxxnKSCZtIFPtcvpmRBTMkKYotP1pvRH2JGf3DOw3qJVVvxTtiLtrYGlCQV1EMmQUxID2m7fMGtFvBmI5g+pstH3Agx8YieexUw96ouPQ8Jrs5Md6FpMoQQQgghPR8FQ0jQKA11sJUeBNPooMop7PSKMtxug8doCOdgkgr6y+6Ebc+vrUvrDhzrGDESJsI5ECJXH4P9cJuVb+w2WLf/Au0ZFwecN6WrcUWGfcdqyId3OKc3CTmDoRo2yedRLaR3YKwTCVQZpdMihBBCCOnp6O6BdBrnHKZfPod53QpnXgUWFYuYS/8EKSM34HqlvoWwbfrR4z4xZyCEWAM04zqX46O3sh87AI+BJkWGXF4MKXNAKJrVIfvu9ZAPbWvdwBUoRTthYwzqEd6XNSW9D40MIYQQQggh7aGvv0inWXdvgnntNy6JS3lzAxrefw68vWVsOyCkZEIaONrx4JRRFkJSOlQDxwRcLwG4zQz3+UcAGDu5L/xw2e4aCGndA6V4Z6dea6SVccvvOPjAfdi1aCGKn/onzKUloW5SQFoSqAb6QwghhBBCejYaGUI6zbJ5pSNYcWoyU87BTU2wHtgOzaDRAdXLGINmykWQsgpgO7AVzGaDlJoH3YjTwVTqILW+dxLjU2Gvr4KnKUhCXOeSyHYZiwmQ7Z73KQq4uYleF51U+eVyFP/jb4AoArKM5oMHUP3t1yh84T+IGlAY6uYRQgghhBASNBQMIZ2mNBpdAyGn4E3GTtXNmACp3zBI/YZBURSYamrohjcIpMxC2E8cBGwWl+dOMKRBMKSFsGXt0OoBlcbR5rZEyadVhIh3isWMkv971vFAlp3/Kpyj9MXnUfjv50PWtkDQNBlCCCG9jaxwiAH+DetM2UCF4pyEnIqCIaRdsrEW5o0/wX70MIS4BGjHTIEqK9/lGFXfAlhqK12mybSQMvt1V1PDnmIxQa4oBreaIcQkQEzKBBM6l2Q2UEyjg2b0HNiLt0OuOgYmihDT8iFlDw7bxK9MECENGA37zrVu+6SCUWCSKgSt6jma9u6F0tzkvkNR0PD7ZnBZ7nRS5O7EhE4kUA2wHCGEEBJKosCw+P0tOFjR6Fe5finR+Pflp3VRq7wLpL1TBiTj7pk0WpUEBwVDiFf2yhOo/+/fwS1mR6BDEGDZug7RFy2CdsQE53Ha02fCsus3wGY9JSDCoCocAalPdmgaH2Sccyi1ZY7lXHUxEBLS/FpxQq4tg2XX2tZlgI8fBCvdC+2wKSFbuUXQRkFdeHpIzh0osf8ogAmw7/sNsJoBlRZSwUiIBYFNxSKtRL3e6z6mVgMRFiCgkSGEEEJ6o4MVjdh1vHMjs7uTv+3NT47qwtaQ3oaCIWHCbqxH/Yb14LKCuHHjoEpIDHWT0PT9x62BEABQHP82ffUONINGgakdN/FiQjLiFt0H06ovYTu8G0yrh2bEGdCOPytUTQ8qbjXDsu0n8MZa5zamj4VmxHQwjf5koKQcsrEKTK2FlJzlEuDgigLL3o2t/XhyVgpvboDtyC6o+43szsuJaIwxSP1HQuw3whF8U6lpGdQg0fXrD212X5iPljrf6wAAQUDSrDlhO2KIEEIIIYSQQFAwJAxUrfgGxf/4O7jN5tggisi+7XakXnxJSNtl27/D49QXbjHDdrQI6rzWIWpiYhqiL7y2O5vXbaz7fgVvrHPZxpsbYN27Aeohk2DZuRqKscqZRNZWtB2aQWdANKQCAJT6SsDuaaUTDntlaY8NhijNRliP7oNirAJTaSCl5UFK6RuUm2rGBECtDUIrSQvGGPIfewL7br8N9rpaZxJVff8CZN74p1A3z280MoQQQgghhLSHgiEhZi4tRdHfHnf9JlaWUfL/nkZU4UBEDx7i3Gyvr0XN15+jeccWiDGxiJ82C9FjJ3TdN7aSBFhlj7uYqnfkZ+B2G5SqUk97oNScgK14pyMQArQmIlVkWPauh27cXEdOEC/JZR1l3INN4YwrMuTGOjBBgBAV7/W1pzQbYdr+88nXNQe3mmA99DuUZiM0ucO6t9HEZ/p+/THs409Ru/JnWMvLEVUwALFjx7nk0LBWVKDpwH6ok1Ogzc9vp7bQomAIIYQQQghpDwVDQqz6u28dIwraEkVUffOVMxhiq61G8V9ugb2uxnGDKQho3LQBiRfNR8qCa7qkbdrhp8O8aZXrDTtjEGIMkDJyu+ScYcfbUq4n2Ss9BUoA2G1Q6iogJvSBEJcECBKgtK2LQUzMCE47u4Gt6hjMR3Y5r4OptdDlnwYx2uB2rLV0jzMQcir7iYNQpfeDoPGen4KElqjVImnmbLftXJZR/MxTqPjsM2fwVj9oMJLuvQ9ISOjmVnbMEQwJNIEqBUMIIYQQQno6mmwfYrLRCAYPH7w5h93Ymkyo+tMPWgMhgPPf6k/fh62ivEvapp9+IcSUdMeDk6ueMJUGMZfe0HtWW1BrvS/Zqta1O7KDK45RNUyUoO5/cirMqYEvtQaqvkM8lAw/cmMdzEXbXAI63GpG875fwT1MAZLrK9E2ENJCaajpqmaSLnTi3XdQ8emnLqPYmvbvw9Glr4SwVYQQQgghhASGRoaEWPTw4aj89H/uOzhHzPDWJa4aN21wnUpzynGN2zfDMGNO0Nsm6KMRf+NDsOzZAtve3wHGoBk2DlJWXtDPFS64LEOuPgrF1ABBFwMxMQOqfqNg3bHSmRPEsRwMh7r/KNhrKyBXHIHbjT9jEOOSnQ+llL4Q9LGwlxU5l9aV0nJDtpKMv6yVJWi5bheKDFv1cahTc1w2M0ntMUji2Nc7plj1NGUffeg+5UuWYSouRvOhQ4ju3z80DfOCCQyCGOA0GZlGhhBCCCGE9HQUDAmx+ElTEDVoMJr27mkNdggCtFlZSJpzjvM4QavzWoeg8ZxI0rzrdzSt+wGKsQ7qvEJETZkDyZDkV/u4qRG2376HUl0GADAV7YQlJRNR826CoPcyYiJCKeZGWHasAreaWgMfR3ZCO2Qy1CPPhr1kD3hTHZg+FlL2QIjxqWCxSZBrTzhWNkFroESVO8wt0CFEG6Du5z6lJBIopiZ4HOnBGLjV7LZZlZoL65Ed7oertRBOCRKRyGGr8T6ix1ZdBYRhMIRyhhBCCCGEEG8oGBJigiRhwLPPoez9d1H9/XeAIsMwZRr6LPgjRF1rACRuylmoePMV129mGQNTaxA9erxbvQ0/fIaGrz4AmABwBbbjR9C8aRWSb38CUnKaz+0zffMulJoKl21K5XGYfvwIUXOv9v+Cw5j14O+tN/Yt/Wy1wHpwM7RDJ0Mc6n4TL2ijoBt5NmzHD0Kpr3QsrZuW51xJpiew1pbD3mwEA9wndHEOISrOrYyUng+5uR5yZUnrRpUGmsIJtBRuhIoqHIimPbvdR6gJAvRhFggBACYIncgZQq9RQgghhJCejoIhYUDU65FxzbXIuMb70rQJs89H8+7taPxtPSAIAOdgkgoZdz0AUeeajFJuqEfDNx87HvDWHCPcbELDio9h+OMtPrVLaTLCfmSv+w6uwL5/G7jVDNZDljflNotjCVz3PVCMVe1eK1Nroc6JjNwf/uKyHc1H9gCCBCbLzrEvLQRdDKR498APYwK0/UdDySiA3FADptI4RtLQTWbEyrr+euy9fbHj988pAZGEyVOgMoRfAlVCCCGEEELaQ8GQCMFUKmTe8yhMe3ehedc2CNExiD19EqS4eLdjrYf3AoqHJXEVBeY923w+p6fpD607ObjN2nOCIZ7ysZy6nyue0tz2eDZjtSOgxhgUUQ1BtoPjZF9JaugLx7Ub4BD0sRD0sd3UWtKV4saOQ+G/n8PRpa+gae9eqBISkXrpZVBNnx7qpnlE02QIIYQQQkh7KBgSQRhj0A8cAv3A9kchMC85RADv+UU8HhuXBBYVC95kdN9nSAbTx/hcV7hjai2YLgbc1OC+TxcNpvaes6VHc5mWJUCR1K0P1VqwUx6Tni9uzBjEjRnjfKwoCmraySUSShQMIYQQQggh7aEx6z2Qpt9gCNGxrsu4AgBj0I2d7HM9TBCgnXphy4PWfxmDdsoFYG3rj2CMMajzTzt5nS3XxQDGoM47rUdda0cU2Y6GE8Wo2rMJ9WUlsIsacA/jYtSUCJWEsZacIYH+EEIIIYSQno1GhvRATJJguPoO1Pz3n+BmkzOJqqb/EMRMP8+vutSFIyHoY2DZ9DPkmnKISenQjJkGKSPXp/LcZoF8ZA94Yy1YTALE7IFgqvAcTSDGJUM7YjrsJw5BaTZC0MdA6tOvV03z4FxBXdEeyJbm1m2iBLsgQrKZwE6uKCNodNCk9Q1VM4OOy3bIx/bDVlECmxWQc/qB9cmjZK8RjEaGEEIIIYSQ9kRcMGTPnj345ZdfoNVqMXv2bKSleV8ZZdu2bfj+++897rvmmmuQkJAAm82Gf//73277Z8+ejcGDBwet3d1Nk1eI1Iefh3nbr5Ab6qHOLYA6rzCgEQ5Sdn9I2f6vFqEYq2H9+X3A0hqQse9aB/XUyyHEhOcSs4I+1jFCpJeyNtS5BEKcGINdEwWBMWii4xCVngcmuv/64JzD1lQPq9ExdUIdmwhVVGxYj6zhsh3W374BN1aBc4ArEmw7ToBXHYNq6KSwbjshhBBCCCEkMBH1tecLL7yAUaNGYeXKlXj//fdRUFCAVatWeT3eZDKhrKzM5efNN9/EI488ArXaMTrBYrHg7rvvxpYtW1yOM5lM3XVZXUbQ6qEfNwUxM86HJn9gt9/U2X79FnAuVXsy6aalGbbN33VrO4jvbKZGeFhA10nhHKaGOpjqqtz2cc7ReOwQjMV7YK4ph7mmHMbi3Wg8XgR+au6RMCMfPwhudL8epewweG15CFpEgoGmyRBCCCGEkPZEzMiQo0eP4s4778RLL72Ea665BgCwaNEiLFq0CPv37/d4oz9+/HiMHz/e+VhRFHz88ce4/PLLER0d7XLsrbfe6nIs6RxuagSvOeFhBwevKAW3mMA0vTQpaRgTJDUAD4GLNu+v5sqj0BmSwQTRuc3WWAdLnfvyxJbacmjiEqGOjgt2c4NCqTrqeQdjkKuOQkjwPvqMhDHG3PMm+VOWEEIIIYT0aBETDPn888+hVquxYMEC57Ybb7wRr732GrZs2YKRI0d2WMcPP/yAI0eO4LrrrnPb9+2332Lz5s3Iz8/H1KlTodFogtr+3oZ7Wtr3VB0sZUtCQxuXiKby0taRPF5uCrmiwG4xQaVrDSpajN5XFbEaa8I2GAJRgmM0jHsQiImi2zYSGRjrRM4QCoZEvDVr1uCbb77BqFGjcNFFF7ns++yzz7Bhwwa3MiqVCo8//rjH+o4cOYKXXnrJbfvixYvRp0+f4DSaEEIIId0qYoIhe/bsQd++fV2CFIWFhc59vgRDXn31VQwdOhTjxo1z2a5Wq7Fp0yb06dMHzzzzDCRJwvLly1FQUOCxHovFAovF4nxsNDqWnlUUBYqPN/mKooBz7vPxkYZro8GjDeCNtW32MLC4ZHCNDtzPa+/pfRZsAfWXICImqz8ajx2CYrc5ltb1dmPIRJe6W87n4UAo3Pf3RndjqTlQThQBABTuuGSFn3yQnBO27Q4Hgb4nqU9JVykuLsZ5552H6OhoHDt2DOXl5W7BEJ1Oh/j4eJdtzz33HDIzM70GQ0pLS/Hkk0/i8ccfhyS1fnQSKWBKCCGERKyICYY0NDS4fXiJiYmBKIpoaGjosHx1dTU+//xz/Otf/3LZrlar8fvvvzuTpVosFsyYMQOLFi3C6tWrPda1ZMkSPProo27ba2trYbfbfboeRVHQ0NAAzjmEHjo/Xel/OuzbVzruLltuqgUBUr+xaKrxPorAa329oM+CqTP9xROzIZubYTHWwG5qdNsvafUQGpsANDm3WRURJrPNY316WYQ1gOe8O3AhCvbEPPDKEihgaOQiuAKosgshWmUgTNsdDgJ9jfnyO7uzOpP7g3KGRC6dTod33nkHQ4cOxZQpUzweM3PmTMycOdP5+OjRo7j//vs9/l1v689//jO0Wm2wmksIIYSQEIqYYIher3eOwGjR2NgIWZYRFRXVYfm3334bjDH88Y9/dNmuVqtdVo3RaDS48cYbceWVV8JkMkGnc89rcd999+HOO+90PjYajcjKyoLBYEBsrG/LsCqKAsYYDAZDz72xT0iAkpIG+fBW8IY6sFgDxLwREAKcLtFVfSZbTLCbGiFIakhhvvKJPzrfX4ngfdJhPHoItqZ651ZRo0NsVgHENkskc4MBDcwGW321y3Z1fDKi07PCu18TJ0Kpr4a9qgRSsw0JOQWQYuJD3aqwF+hr7NRv1rsKLa3bO6WmpiI1NdWvMsuWLYNer8fll1/e4bH//ve/YbfbMWjQIMydO7dbXsuEEEII6RoR81d8wIABeO+992C3250fPg4dOgQA6N+/42VfX331VcybNw8GQ8dLukqSBEVR0NjY6DEYotFoPOYUEQTBrxsCxpjfZSKNEJcA6bRpQasvmH3GuYKm0gOw1lU4twlqHWJyB0PsIcldO91fggBDTiHs5mbYzc0QVBqo9NFeAxtxWQWwxtc6l9bVxCVCFR3fbiCEKwosDXWQbVaotHqoomJCEjgRDMkQ4hIh1dRAionv0e/LYArkNdYdfUsjQ4gvOOdYtmwZ5s+f75ZYva309HSUlpZCo9HgjjvuwMMPP4yffvoJSUlJHo8PxpTa7kRTUR2oH6gPWkRqPzBwCJ6S4XdQxtt1dnU/+NvelrYG+zo7Eqmvh2CKlD7wp30REwyZO3cu/vznP+Pzzz/HxRdfDAB4/fXXkZGRgTFjxgBwfPB47rnnMHv2bJfRHr/99ht27NiB559/3q3e/fv3Izc3FyqVCoDjg9Ebb7yBwsJCJCcnd8OVRTZuaYZcvBu8sRYsJgFizmAwdWQMITZXHHUJhACAYjWh8chuxPYfGd4jGbqZpNVD0uo7PI4xBk1sAjSxCT7Vazc3o/bIfnC5dXqZpItCfHYBBJqLTwjpYj/++COKioo8JlY/VUFBAfbu3YuYmBgAwCOPPIIRI0bg3nvvxdKlSz2WCcaU2u5EU1EdqB+oD1pEaj+kaewwx/oXJEjT2FHjZVpwV/eDv+2NEyyoqakJ+nV2JFJfD8EUKX3gz3TsiAmG5Ofn4/7778fVV1+NNWvWoKamBu+//z4+/vhjZwIzk8mEu+++G0lJSS7BkFdffRUFBQWYNGmSW73bt2/HvHnzMGXKFMTHx+Pbb79FSUkJ/ve//3XbtXUXzhUoddVgkgpCEKYAKHUVsK78CLBbHflAOId9369QT74UQmxi5xvcxczVHpb+BSCbmyGbGiHpY7q5Rb0L5xz1Rw+7BEIAwG5qQlPFMcT0yQ5Ry0hPwITAp7uw8P37ToLs1VdfxfDhw51fqniTkpLi8jgmJgaXXHIJPvnkE69lgjGltjv1ium7PqB+oD5oEan9UGaRcNjo398/bbSEhATPX2R1dT/4297BigYJCQlBv86OROrrIZgipQ/8mcIaMcEQAHj00Ucxbdo0/PTTT0hOTsa2bducK8oAgFarxV133YUhQ4a4lMvIyMDTTz/tsc558+Zh3LhxWL58OSorK3HrrbfiggsucH7701PYinbD/NP/wBscq7uIfXKgPXs+REPgo19sm78H7CcTZrasImKzwLblR2gmX9rZJnc5LntO9gnAsZIKcWoZEicIQtBGzNjNJshWs8d95vqqiAmGcJsVvKkO0Ogg6HrW741IRjlDSEdqa2vx6aefev180BFZlmE2e/4dBgRvSm136g3Td31B/UB90CIS+4GDQYF/f8c4WLvX2JX94G97W9raFdfZkUh8PQRbJPSBX3nsurAdXWLy5MmYPHmyx31arRZPPfWU2/YHH3yw3TqzsrLwpz/9KSjtC0dyxTGYvni1NWABQC4rQfPHLyD66r+CSep2SnvGmxvA20wxcezg4FXHwC0msDDPuyHpY2E/JTGo67725473JsaGBtTU1ECWZTDGEBsbi8SEhE4HRbgit7PPMScxnKcqcc5hP7wVcvEO4OTcRJbQB+qhk8DU4f3a7xUEwfETaFnS47399tsQBAELFixw23f48GG88sorWLx4Mfr06YP169dj7NixzpGo1dXVeP/99zFjxozubjYhhBBCgoQ+8fUC1q2rgbaRU66ANxlhO7A9sEp5R3P0/JvDFwq6tBy49QsAbXImhAACRD1RQ2MjKisrIcuOwAXnHPX19aiorOx03SqdHszLfASVPjRJVP0hH90H+fA2ZyAEAHhtGaxbfw5hqwjp3RRFwb333ot7770Xhw8fxm+//YZ7773X4xclr776Ki655BLEx8e77SspKcGTTz6J8vJyAMDGjRsxfPhwXHPNNbj22msxaNAgZGdn48knn+zqSyKEEEJIF4m4kSHEf0pdBcA9ZNUVBCh1VeB2G+wHtkAu3QcIIqTcIRBzh7S/ooI+Biw2EdxYA9fABwMzpIJpOk62GWqqqFjE9hsOU3kJ7M1GCJIamqR0aBLSQt20kOKcw2S2wGaTUVfnOclUY2MjEhMSOrWsJBNERKdloeHEkTY7GKJTMwOut7vIJbvdN3IOXl8BpaEGQkxgc1JJcDDGAg6ohXsgjnjHGHMGN04d8dl26mtTUxMuv/xynH/++R7rycvLw5IlS5Ceng4AuP3223HRRRfh559/htlsxlVXXYWJEyd2zUUQQgghpFtQMKQXEBLTIZ8ocQ+IKAqE+CRYVrwJpfLoyY0M1qMHIB49APWki7zeFDDGoBp5FqyrPwYU2REPYQBEFVQjp3fl5QSVpI9BTO7gjg/sJWx2O44er4TV5khqKsIOb/eFVqu1U8EQANAZkiGqNGiuKXcsrauLgj4xDZIm/Fck4uam9vf1oGCI7Xgp6j57C6bd28BUKkSNn4L48+YDYTwVrruX1t27dy+ef/55lJaWorCwEHfccQfS0toPrMqyjHfeeQcrVqyAKIq44oorcNZZZwXUZuLAGMO9997b4XFRUVHtHpedne22Pzs7G1dddVWn20gIIYSQ8EDBkF5AfdpE2Hb/Cii8dXoLE8BiDQDkUwIhQMsoD7loJ5SCURD75HitV0jsA83ZC2Ev2gHeWAshJgFi7lAwHeXbiFQnymucgZAWnMNjQKRlOerOUkfHQh0dfisrdIRFG8CNVR73CdGGbm5NcHC7HXJdNYSoaAi6KACAvboCZf+8F9xqARQF3G5D48pvYT28H8l3/y3ELfauOxOo7t69G+PHj8dFF12Eyy+/HG+88QbGjRuHLVu2eM1ab7fbMXfuXOzfvx/33HMPEhIS8OyzzwIABUQIIYQQQroBBUN6ATEhFfqLboT550+gVB0HwCDlDIR22sWw/vqt50JMgHzsQLvBEABg+hioBk8IeptJ97Pa7DCZLS7bFAgQmfsUK71OF7RgSKSS8kfAtuUHt+1Cn/yIDAg2r/sOTT98Cm5qAgQBmuGnI+b8K9Hw01fOQIiTosB65CDMu7cB6Tkha3O7WCcSqPq5tu4jjzyC4cOH4/XXXwcAXHTRRcjJycG///1vPProox7LPP/881i9ejX27t2LzEzHtLB58+bBaDQG1mZCCCGEEOIXCob0ElJGHqIW3AVubgITJTC1YxoCk1SOr/3dEqJyQKSXR2/AOUeT2QaLxeq+DwJkDghQnKNDoqKikJIc+JLMPYWYlAkMnwb7wd8dS+tKKohZAyHlDQ910/xm+n0NGpe/3bpBUWDZuh7c3AxLWYVrIKSFIMBacjh8gyHd6LvvvnNZtUyj0eCcc87Bt99+6zUYsmzZMlx88cXOQEiL2NjIGyVFCCGEEBKJ6G63F2GMuX1jLeYOgVy00/1gziHlDummlpFQaTJZUVJWD7usAOBQsbbr6zBwiBBUGmSkJUISRefSkgQQU7IhpmQ7lglmQsQm3mz+Zbn7Rq7AumcLhMwBjhEWbQMiigIx3gDvCySHWCemyeBkubajNDQaDTQajcu2mpoa1NfXIysry2V7ZmYmli/30K9wBCB37dqFa665Bk8//TTWrFmD1NRUXHrppZg2bVpgbSaEEEIIIX6hpXV7OTGrAOKAMY4HjDmTQ6jGnA0hnr7978nssoLi43UnAyEAwCBzz4GO1KR4aNRqCoR4wQQxYgMhACDXVHjdpysc4h4IYQKYLgr6007v4pYFjjGhUz8AkJWVhbi4OOfPkiVL3M5jtTpGVOl0rslk9Xq9c19bFosFsizj73//O/bv348rrrgCqampmD17NpYuXRrkniCEEEIIIZ7QyJBejjEGzelzIPcfAbl0P5goQswZBCE2sUvOx+1W2I4fhL36OMAYpKRMqPrkg9GUnG5X12CG0mZ6lAIRNs6gETkY49Bq1EiIj4Vep/FSC/EHtzSDW81g+tiwes2LiWmQK4553Kc/7XQwtR61H73myB0CQDQkIOn6uyHo9IDJ3J1N9Z3AnCM8AioLoLS01GXaSttRIQAQFxcHxhhqalyXoa6urobB4DmRrlarhU6nw8CBA/Hyyy8DcOQZqaurw5NPPolrr702sHYTQgghhBCfhc+ncRJSYlI6xKT0Lj0Hl+0w7Vh1cklSx024rXQP5LpyaAef6fw2lnQPu+x5ggOHAFGtQl6Gf0vDcs6hcA6BsYgeJdEVuM0C2661UCpLHBtEFaS84RD7Dg6LvoqaOhfGD/7jupExqAeNhJiQguiJZ0E/5kxYiw+AqTVQ5/QHEwQonnKJ9CCxsbEd5vDQ6XQoKCjAli1bXJZd3bJlC4YP954/ZsSIEcjJyXHZlpubi4oK76N0CCGEEEJI8NDdJ+k29ooScHMjWgIhLZSGGsg1ZaFpVC+m03hfDUavVftVV3W9CXuLq7HrUBV2H65CeXUTuFtS3t7Luu1nKJWlrRtkG+wHNkE+cTB0jTqFdsQExFx4NVjUyRt/UYJ29GTEXXqj8xhBq4O2cBg0eQPAAl2lpRsxQejUjz+uuuoqvPvuuygtdTzHGzduxM8//+wSHFm2bBn+8Ic/OB8vWrQIK1asQHl5OQDAZDLhww8/xKRJk4Jw9YQQQgghpCM0MoR0G9lY5XkHY5CNVZASu3ZkCnEVG6WBViPBbLG7bBcFhsQ4nZdS7qrrTThW0eB8LCsc5TVNkBUF6ckxQWtvpFIaa8FrPQf75OKdkNL7d3OLPNONnQrtqElQGush6KLA1JE9NYp1IoGqv+XuuusubN68GYMHD8bAgQOxfft23H777bjgggucx+zbtw8//fST8/E111yD33//HQMGDMCwYcNw4MAB9O3bFy+99FJAbSaEEEIIIf6hYAjpNkxSwbFWSZsRA7xlH+lOjDHkpRtQXtOIugYzZIVDkjRQq1SoabAjMVaAJLZ/U8g5R0VNk8d91XUmpCZEQRTDfxRBV+KmxoD2hQITRYhx/k2PCluMAYFOvfNz6pJarcbHH3+MAwcO4OjRo+jfv7/bkrnXXHMNZs6cecopGF544QXce++9OHToENLT09G/f/+wmDZFCCGEENIbUDCEdBspORv2iiMe9nBISVketpOuJooC0pNjERcThb0ljTCZAWa2o7rBjuNVFgzsGwWt2vsKMgrnsNk9543gACw2GfpTgiE2u4zGZhsEAYjRayAEmuAyDHHOoZgaHEtYa6OdN7UsKs5rGRYV302tI92hf//+6N/f80ifgoICFBQUuG3PyspyW5aXEEIIIYR0PQqGkG4jxiZC3XcwrEd2tW5kAtT5IyDookPXsF6Oc47Dx5vRssJuy7gdm8xRXGZCYbb350ZgDKLAICue84OopNZASnl1E8pPGUUiCAx902IRExXZ0zEAwF5bDkvRNnCbY7UVpouGNv80iFHxEPSxEFL6QqkoQdtRUVLesE6fm8t22Pf8CrloByDbIWYNgDT4dDBtVKfrjmTdOU2GEEIIIYREHgqGkG6lSu8PMSkTcl2FY2nd+DQwlX/JOklwWWwKTFbPozuMzTJkmUP0Ml2GMYakeL1LkKNFfLQGKskxKsTYZHE7RlE4ik/UY2BuEqQInkojNzfAvP83nBro4KZGmPasR9SI6WCSGqohE2E/sBnysf2AIoNpoyH1GwkxpW+nzs05h/XnD6CcKHJus+/ZCPnIHmjOuRZM43vulx5HEBw/gZYlhBBCCCE9GgVDSLcT1DoInbwJ7G0sNgXldXZYbBxRGgEp8VKH+Tx8wTlHbaMMmyKAgUNk3N90CUhJ0ENWFFTXmZzhgPhoDTJSW5On1tSbvJwfqG8wIzFeH+AVBI/N1ASr2Qy7xeTXSjj2imLPO2Q7bFXHoE7LBRMlqArHQSoYDch2QFIHJTeEcuKwSyAEAMA5eJMR9v2/QzX0jE6fI1KxTizxTHk7CCGEEEJ6PgqGEBLm6ptk7CoxQ+Gt6WdLq20YnqOFVh34N9h2mWN7sRmNZgWOmhnsHFALMlpmCUTrRK+jQlowxpCeHIOUhChYbTJUkuAyPcZxLs8jT1raEUqKbEdd6SHYTI3gnMNoskBlbYIhux8EseNfkYq5GW5JgQGAMXBLs+smQQQE7zlY/KWUlziShPK2/cuhlBcDvTgYQgghhBBCSHtoLDAhYYxzjv3HLWhJyeHM52HnOFxm7VTdxRXWk4EQoCUYAgBWRQTngCgAOam+T7OQRAF6rcotEAIA0TrvU6GidKFdSchYVgJbm1VdbKZGGE+U+FRe0Meipe9ccH5yXxdSax3Da9piDFD34ikygCNIJAT4E+gqNIQQQgghJGLQJz5CwlizhcNi8zxyoqZRhuLHdI62yuvsHrY6giKJcWoMzY2BXhucUQyJ8XqPeUGi9eqQBkMUWYbFWOtxn6WhForsqY9cqVL7ehjtwcDUOkiJ6UFopXdSzmDPy8ByDqnf8C49d7hrSaAa6A8hhBBCCOnZKBhCwgbnHNxtuH/vxj1Nv3A9IGBeFoABACTGqqFWBe/Xg0oS0C/LgIQ4HVSSAI1KRFpiFHL6xIU0PwNX5Hb3K3L7+wFA0OihGzQBQkyic5toSIVu0BmOaTFdiEXFQj3xQsBlOg+DNHwyxPT8Lj132GNC534IIYSQTvK22l5XlSOE+IdyhkQopbkRsJjAYhPAxK694epqit2GxrISWIw1ADhU+lhEp2VD0oY+qWaoRWkEqCUGq939j6IhSoDQiW+wDVEiahrdb/YFAYjVB/9mUK0SkZkSAyCmw2O7iyCpIEgqKHab+z5RgujjSkdiVBz0gyaAy3aAsS4Pgricu+9AaPvkQj56wLG0bno+WJTn6TmcK1COHYZcXgKmi4aUP7R3rzhDCCGEdCFRYFj8/hYcrGjs+OCT+qVE49+Xn9aFrSKEtKBgSIThpkaYf/4f5OI9jg1aPTSnz4Zq4JjQNixAnCuoK94D2Wp2brM1G1FXvBuGvKEQ1ZoQtq5rKQpHcaWMYzV22GQgXs+Qn6pCXFRrIIIxhoJ0DXaVml1SQ0gikJfWcd+YrBzVRgUxegat2jVwkpuqRn2zCW1zm+anqSH2kmkCjDFEp2TAeLzYbV90Sqbfo1aYDwlXuwJTayHlDW33GG6zwvztW1COH3YmXbWu/xra2VdCTM/rppZ2I4EBgb6Oe8nrnxBCSNc7WNGIXceNoW4GIcQDCoZEEM45TF+9DqXyeOtGczMsP/8PTBcFKWdQ6BoXIIux1iUQ0oIrCky15YhOzQ5Bq7rH7qM2lNe3RiJqmzg2H7ZidL7aZWRGfLSIUfk6lNXZYbEqiNIKSI1XQSV5v2Gz2Tm2FttRUSmDaWQwxpGRwDAkS3SOJonSChiVr8OxGhsamhVoVAzpCSrERUX2SCN/6eISIQgSmqrLYLM0Q9LoEJeRC12cIdRNCwput0Eu3gXb7t+gnCg+ufHk685uh/m7d6G/4t6QBXK6CmMCWIDTXQItRwghhBBCIkfP+vTbwynlJVAqjrrvYAzWLasiMhhiNzejdcHYNvtMzW7beooms+ISCGnBARRV2jG8r+v0DK1aQE6Kb1M2AGBHiYxKo2ufHqvh0EgKBmS0Bju0agH5Poww6ek0MXHQxMRBURSINTXQxMSFuklBoRhrYF7xBtDcAG62eDiCAxYT5GOHIGUP6Pb2dSkaGUIIIYQQQtpBwZAIotRVed7BOZS6yu5tTJCIKg28ZQHtyVNkjCbvibHqmzqXRNZs4yiv91z/kSoF/dMFCCFMWhpsnHM0mW1oaLJAYAxx0VpoNfSrDQCs678ETD7MU/aQMyXSMUEAEwIcGRJgOUIIIYQQEjki7o7BZrNh586d0Gq1GDhwYLvHKoqCdevWuW0vKChASkpKwPWGipCQ6nkHYxAS0rq3MUGiiUtAU0Wpx1U9tIYUDyV6Bk07q8lqVIEHKmwyx7Fq74EWWXH8dGN+zy7FOcfRciPqGlunWlXUNiEtMRrJhqgQtiz0uLkZSllx6wZBABQPgTZBgNgnt9vaRQghhBBCSDiIqGDIzz//jPnz50On06GhoQEZGRn44osv0LdvX4/HNzc3Y+LEiRg2bBhiYlpXsLj//vsxe/bsgOsNFSE5A0J6HpQTRXDJpsk51COnhKxdnSGIEuL6FqLh2CFn7hAmSojpkwOVrufdzHLOUVyhoLhSBueApwEaWYkiOOcorwcaTBxRWoa0OHS4cszRagXbjnDICofk5YttnRpe90Wi+kaLSyCkRVl1I2KiNNCqI+pXXFBx2e66QZIAq7X1MWMA51CNORusB77XwJjnN5ivZQkhhBBCSI8WMXcKRqMRl1xyCRYtWoQnn3wSNpsNM2fOxBVXXIFVq1a1W/bll1/G+PHjg15vd2OMQTf7SljWfAH7ga2AooDFGKCZMAdSVv9QNy9gKl0UDPlDIVtM4FyBpNX32ASGu0pllFZzOPKkCJBExZmegAHomyzCEC3g510KGs0t2VQ49GpgwgABeo3nmzSjieP3opYAGYPCHWkPOHfU0aJ/H9HvFVLCWb2HQMip+7QJ0d3YmvDC9DFgccng9VUAOJjAwDVqwC4DTICQ2R+qQWMj+ndHuwTmGA0TaFlCCCGEENKjRUww5PPPP4fRaMR9990HAFCpVLjnnnswa9YsHDx4EP369fNa9ujRo9i8eTPy8/MRHx8ftHpDgWm00E6/FHzSBeA2C5guukfc3DLGIGn1oW5Gl2q28JOBkBYMdlmAACA2ChiVp4JaYvjtoIymk/f4LUebrMCWIgVnFHqe31JaxV3S0Coc4Jw5AyHRWqBfmog+hp4VZOLc+5Sgdnb1KFy2g9dVAIIIFp/sDCQyxqAePxuW799xdAZXwAQR0EjQzPhDz58aQyNDCCGEEEJIOyImGLJlyxbk5eW5BDPGjh3r3Nde0OKmm25CWloa9u/fjwsuuAAvv/yys55A6rVYLLBYWldmMBoda4crigLF05x8DxRFAefc5+PdiBIgSuCct3tD2JN0us9CrK5JAefubZcBNJgASeCw2hQcr/W8ykxVA9BsBrRq9xs1s83RN6e+EjjngAL0iQNOy3UEUSK177yJ1qlgbPK0Sopjn6frlRUFVqsdkiRCJbkGlyLtNSafOATbjtWA/eT0F20U1KdNh2Bw5BBiKdlQn3s97Pt+g1JfDSE2EVLhaLC4pKBcY6D9FSn9SwghhBBCeq6ICYbU1NQgMTHRZVt8fDwEQUBNTY3HMpIk4c0338QVV1wBADh8+DBmzJiBm2++Ge+8807A9S5ZsgSPPvqo2/ba2lrY7XYPJdwpioKGhgZwziHQygU+ifQ+a25SwC2ebwJFFVBTI8Fq54DV+41idY0AnYdgiFpWwK1tgmKcAzYjNApDTU0PyZjahqJwcHszLFbX912MXg1TkxHm5ta+4pyjztgMY6PJGTTSadVIio+GKAon64uc15jSWA/7jtUnH51cdtlkAzZ+D9WIGWDO1ZgY0G9sa0EZgJffbX63IcD+amhoCMr520OryfRedrsdn332Gb755huceeaZuPrqq132HzhwAH/729/cyj322GPIzs72Wq/VasWyZcuwZcsWJCcn46qrrgq70aOEEEII8V3EBENUKhXMZtf8AFarFYqiQK1Weyyj1WqdgRAAyMvLw1/+8hcsXrwYb7zxBiRJCqje++67D3feeafzsdFoRFZWFgwGA2JjY326HkVRwBiDwWAI+5uucBHpfVZSbwfUjtvwtqPw8zMFJCQ4EqdGVzryhbSlVQHpqYLHaVGxcRzlJgXNllMWKuYKtGqgf98EtxEQPUlCYgLqjSYYTVYIjCE2SoPYKI1bP9XWN8KqWKHVx7hsN9kFZCcnAIis15jt+C7Igs19PpACSKZKSGnDurwNgfaXJHXDnx4mOH4CLUsi0oEDBzBjxgyMGjUKO3bsAGPMLRhSXl6ON954A6+88gpUqtalvaKjvecYkmUZM2fORFlZGRYtWoQtW7Zg+PDhWLlyJUaPHt1l10MIIYSQrhMxwZC+ffti+fLlLtuOHTsGAO1+k9NWamoqrFYrqqqqkJaWFlC9Go0GGo3GbbsgCH7dEDDG/C7T20Vqn1ntHMdqRXBwSAJ3BkNa7mOzEkXnNQ3rK2DDfsfokJZUqxzA0L4CRNFzLgO1AEwcKGD/CY7jNY6sqenxDElax1SQSOsvfwgAEg3RSDS0f1xNvcljIKnZZIXdrkB9cuWZSHmNMXMTBLTJkAsATACzNHdb+wPpr25pG2OBJ0KlnCERKzExEevXr0d6ejqmTJnS7rFXXHEFtFqtT/V++OGHWLNmDYqKipCZmQkAmDt3Lu6++278/PPPnW02IYQQQkIgvD/tn+Kss85CeXk5fv31V+e2zz//HNHR0Tj99NMBOL65WbNmDSoqKgAATU1NbvV89913SE5ORkpKis/1hpJSUw576QEozV0/rJx0HbOtZcQGg11hsMsnfxQGuyLAprTefCXHMkwaJCAjAYjVAX0MwJmFAtIN7d+gaVQMQ7MFzBwhYuZwEYOzBKi8BE96I5td9rrP2s6+cMXik+EeCQHAFQhxyd3eHkLCQUJCAtLT03069r777sOtt96Kl156CY2Nje0e+9VXX+GMM85wBkIAYP78+Vi5cqUzbxghhBBCIkvEjAwZN24cLrzwQixYsABPPPEEampq8OCDD+Lhhx+GXu9YhaShoQETJ07EsmXLsHDhQrz66qtYt24dzjvvPMTHx+Prr7/G0qVL8d///tf5zaQv9YaC0twA83fvQikrdmxgDNLg06GZcA7NZ49AejUgCoCsAABzSXSqlgCNBDSZOQ6VA81WwBAFDMkWoJaCG8zgvPd+6a1RSbDYPOf00agj5lehk5Q9GHLxTkfy1JYhRoyB6eMgpOWFtnFhgDEh4CW6e+rS3qTV4MGDkZiYCI1Gg1deeQV///vfsX79epdgx6kOHjyIwsJCl205OTngnKOoqAjDhw93KxOMZOvdKdISSHcV6gfqgxbB6gcG7hjJ6cfxnTmnv+fr6Jxd/XoItH+CfZ0dofdF5PSBP+2LqDuA9957D88++yxee+01aDQavPzyy1iwYIFzvyRJOOOMM5CamgoAuO2225Cbm4uPPvoIlZWVyMvLw6ZNm9w+tHRUbyiYv3sXSnlJ6wbOYd+5DkJ0HNQjJoWuYd2kZYWccFw2mHMOm+wIbog+DsOXRIb8VIb9J9x/aQ9IZyivB1bubr2nLQKw+yhw1jCOaG3n+kBWgG1HgP3HAYsdSIoFRuYAaR1MK+lpkhNjcLSs1m17fIwubHOqcM6hNNaCmxsh6GIhRMc79zGtHuoJF8K+dwOUihKACRDS86EqHA8mhuf1dCuhE9NkAi1HIsLgwYPx+++/O/OCLV68GCNHjsRf/vIXvPvuux7LmEwmREVFuWyLiYlx7vMkGMnWu1MkJZDuStQP1ActgtUPaRo7zLG+37SnaexeF3HoivN1dM6ufj342944wYKampqgX2dH6H0ROX3gT6L+iAqGaDQa3HPPPbjnnns87o+OjsaaNWtcts2dOxdz587tVL3dTakpbx0R0oZt+9oeHQxpajahuroWFqsNgiAgLjYaiQnxYRMUqTQq2FWqoMHsmKDQx8AwJFuAxocRHAPSGSQROFjGYbUDahGI1jKUVDmCIbLiOmrDYgO2FAETB3auzev2AUeqWh9XGYHvtwMzRwApcZ2rO5LERuuQkcpRUd0Am12GwBgMcVFISYzpuHAIcJsFlt1roTS2BnCEuBRoCseDSY6kj0J0PNSjZ4FzHjbvkbBBCVSJFwaDayRYrVbj/PPPx3vvvee1TGxsLOrq6ly2tXygjovz/Is0GMnWu1MkJZDuStQP1ActgtUPZRYJh42+/43WRktISEjotvN1dM6ufj34297BigYJCQlBv86O0PsicvrAn0T9ERUM6S2UJu/zj7mp5+YOaW424fiJCudjRVFQW2eE3W5HWmrocyDUNXFsPKA4B+RxACdqORrNMiYNFDu8GWWMoV8aQ34qR30z8ONOoKZNWptTp7FwAMdqAIVzCAHe6DaagSOV8JhaYvsRYEbXLzgSVuJi9IiN1jn7NJwDCJYDm6A01rlsU+orYS3aDk3/US7bw/k6CIkEzc3NzhGJngwdOhTr1q1z2bZz505otVrk5+d7LBOsZOvdKVISSHc16gfqgxbB6AcOBsXTB7F2ju/O8/lyzq58PQTaP11xnR2h90Vk9IFfSf27sB0kQEJimpfEDgxCkm+J4SJRdW29x+0Njc2w2Wzd3Bp3h8rd559xAEYTUNXgx1xHxrCjBLB6uaR2Po/7rcHz6G1wAFU9N67WLsYYRMHzEsXhglvNUGrLALe5sBxyZQm4HHkJX7sdY537IT3WN998g+bmZufj4uJivPXWWzjnnHOc2/bu3YuFCxeipMQxXXX+/PnYtm0bVq5cCcAxNea///0v5s2b55xuQwghhJDIQiNDwpCgj4E0eDzsO9efstWxwKp69IxQNavLWSzWdvbZoNeHNg+C0cS9pmlqMAHJfox6PlbjfpvbFgOQkYCAR4UAgEblfV+U+xeWJExwu/f3ArgCKHaA8oK0TxAcP4GWJRFJURRcc801ABwBjePHj2PhwoVITU3Fk08+CQAoLy/HsGHDUFBQAEEQ8Msvv+Dss8/GkiVLnPWUlZXhjTfewO23347s7GxMnDgR9913H8455xxMnToVe/bsgUajwVNPPRWS6ySEEEJI51EwJExpJpwLISoOth1rwU2NEBL7QD3mLEh9CzsuHKEkSYTNy2ofUhgkuIzSAE1mz0EMvZ+BBeaIbXned/JfjQo4Lde/etsyRAFxesfolbanG+h50QQSBpg2GpBUgN19+BDTRAESfRPdIcoZ0isxxjBlyhQAcP4LwCVHx8KFC3HhhRdiw4YNMJvNeOaZZ1BQUOBST2FhIZYtW4bs7Gzntr///e+48sorsXXrViQmJmLKlClQqdqJOBNCCCEkrFEwJEwxQYD6tMlQnzY51E3pNob4WFRUumd41qjV0GjU7c7n7g55qSLK612nJzAAOg2QEuff6I3sJKC4wj1AIQlAZiKQEAPkpaDTS+syBkwdAqzaA9Q0OrYJDBiaDeSndqpq0oWYIEDVdwhsh7a47VPlDAloig83N0E+sge8qR4sNhFi9kAwdQ8eHkSryfRKjDEsXLiww+Pi4uIwc+ZMr/vT0tI81lNYWOi2xC4hhBBCIhMFQ0i7uCLDVlMG2dQIQaODKiENQhd9Kx0bEw27XUZtbb0zSKDVatAnNQmMsZAHQ5JiGEbmCthZqsB6cgBLQjQwIkf0eyrLiByg0uhIcNoySkQQgMmDgNT44N6IRWuBc0YCdc2A2epoc3vTZ0h4UKXlgak0sB/bD8XUCEEfC1VmIUSD/1EspaYM1jWfAHa74wXHFdj3/Qr15EsgRPeyNZYJIYQQQggBBUNIOxSrGY37N4FbzWjJWWI+fghR/UdCigr+mqyMMSQmxCM+LhZWqxWiKEKtDp+7ds45dGqG4X0FqCVAp2bQqQMLXOjUDHNO4yipcozY0GuA3BQEXF9HGHNMmUFUl1RPuoiUmAEpMaNTdXDOYdv8vSMQAt6aoddqhm3rL9CceWHnGxqOGOvENBkaGUIIIYQQ0tNRMIR4ZTq6D9xqOfno5A2UIsNUvAvRg07vstU4RFGATqftkroDVdfEsW4/R6PZ8VgUgGHZQP8+gdcpiQx5qUAeTVchXYg31YM3uE8/A+fgFSXgNiuYqgfmIOnMqjAUDCGEEEII6fEoGEI84ooCe12lx32KpRmKuQmiLrqbWxU4znnAwRtZ4Vi5h7sshSsrwJZijmgt0MdAN04kjHU4vSy008+6DK0mQwghhBBC2kHBEOJFBzdIIc7f4QvOOY7VKCiusMNsA3RqIDdFQnqCfyvTHKsBLO6LeoABOFjGKRhCwhqLjgeLigNvqm+zg4ElpoOpenASVUIIIYQQQrygr7+IR0wQIcZ4TqzIVGoIETAqpKRKxt5jjkAIAJiswO6jdhytltsv2IbJ6nk7B9Bs8byPkHDBGINq1FmAIJ6c/nHyR1JDNXxKiFvXhVqmyQT6QwghhBBCejQaGUK80mUOQOO+3wClJXjguEHQZQ/qsnwhwaIoHIfLPQc9DpXZkZ4g+LwCjMFL0lEGxxK4hIQ7ISkD6rOuhFy8E7ypHkJMAsTcIWDaHpxRlwmdSKBK3xMQQgghhPR0FAyJMIqxCsrRA+CcQ+yTByEhreMypkbYindArjkOCCKk1Fyo+g4CE9tfqUXURSNm0OmwVh2DbGqAoNZBnZQJURf+N1AmG4eseN5nkwGrHdD6uFBNciyQFANUN7ROHmJwpBUYkB7eQSFCWghRsRAGTwh1M7oP60TOEAqGEEIIIYT0eBQMiSD2vb/Cvmutcwi3vHcjhLzhUI2Y6nWkhmIxwbzle8BuPZnnwwZ76R4o9ZXQjJje4QgPQa2FNj0/2JfS5dQSO7kYsDuBASo/0oYwxjBxILCrlKOoArArQEosMKwvQ6yOgiGEEEIIIYQQEmkoGBIhlLoKRyAEcEleqhzeBiUtB2KfPI/l7Mf2AzYr2oYFFGMV5OrjkJIyuqrJIaUSGdIMAk7Uug8PSU8QIAr+BTFUIsOIHIYROZ1vW6WRY/8xwC4DOSlAdjLCftpRZ8gKsLsU2H/cEUjKSQaG5wDaHriaKwkjtLQuIYSQU8gK9/vzX0s5WmSMkJ6JgiERQj663/EBve0qLoxBPrrPazBEMVbB28owtiO7emwwBAAKMyTIih0V9a0BkbR4Af37hO5lv+kgx6pdJ+/TAGw+BBSkA3NGc59zmEQSzoHvtgJHTlmlua4ROFQOXDwe0Pg4VYkQv3VzzpDVq1fj6aefRmlpKQoLC/Hggw+isLDQp7Iff/wxHnnkEcydOxdLlizx+9yEEEI6JgoMi9/fgoMVjT4dz8AxKk2Fh+eN6+KWEUJChYIhkUKWAU8TP3jLPi9UWq+7eFMduNUMpvZ+TCQTBYZhfVUwWTlMVg69mkGrDl3AoabBEQgBHEGClmdy/3Eg7ygwKCtkTesyx2tcAyGA47qNzY7RIqd5juER0nndODJk48aNmDFjBu6++27cddddWLp0Kc444wxs374dGRntB5yLiopwxx13QK/Xo7S0NLD29hCbNm1CXl4eEhISUF9fjyeeeAJGoxF33XUXCgoKQt08QkgPcLCiEbuOG306VgBHmkbfxS0ihIQSDfqKEEJaDsA9ZQTlEPvkei0neRkx0kI2GWGrLYO5dC8sZUVQbD1vrVidmiEhWghpIAQADhxvWY/H3f5j3dqUbnOsxvt95dHq7m0LIV3lsccew7Rp0/DEE09g4sSJWLZsGWJiYvD//t//a7ec3W7H/Pnz8dhjjyErqwdGQ/2wc+dO3HTTTYiJcSzRdeedd+KLL77A4cOHcfbZZ8Nut4e4hYQQQgjpaSgYEiGElGwImS3fjLXeXbKkTAhZ3odii4Y0QPSQnIEJAGMwl+yD6fA2WCtKYDm2H407VsFurApy6wkAyBxeoyGy55lMEU8tweMsLYbgT5FptnAcKFOw77iCuuYe2qHEd4LQuR8fcc6xcuVKzJkz55RTC5g9ezZ+/vnndsvef//9yMrKwtVXXx3wZfYUH3zwAebNmweVSgW73Y6PP/4YX375Jb7//nskJCRg3bp1oW4iIYQQQnoYmiYTIRhjUI2dDSU935E/RFEgpOdDzB4IJnhfGoUxBlXuENgObW2zQwD0sVCszSc3nLx55AqaD29DzLCpYJQtKqjy04AN+7zv6ypmK4fFzhGrR0CJwzqjXxqw8QA8zu4akB688xRVKNh2pPUke45xCIwjw8BQmCEgSht5+VgUuw3msmJY6x3zjNRxydCm9YUgUeZZX3DGwAOcJtNSzmh0HUqt0Wig0WhcttXU1KCpqQl9+vRx2d6nT592p7189913eO+997B169aA2tjTVFRUOKcUbd68GSkpKejfvz8AICcnB9XVNJSMEEIIIcFFwZAIwpgAMasQYjsjQTyR0vsDdjtsR/cCiiP3iJiSDaupEZBt7gVkO+SGGkhxScFpOAEApMYzjMjl2Frkmgs3PQEYkh3885mtHCu32rG11AqFC4jWAWeNkjC6wI91hTspWgdMHwr8tANQTgmInJbnWEUnGBrN3CUQ0kLhDMdqOSobZEwaJEIf4mlS/uCyjIaDW6BYTM5tlurjsDXUIrZgFJjYfc9hxGKsEwlUHa+VtlNXHn74YTzyyCMu21qmb6jVrkEqjUYDm83D71cA5eXluOqqq/D2228jISEhsDb2MEOGDMGbb76JSZMm4amnnsKsWbOc+3bv3o3BgweHsHWEEEII6YkoGNILMMag6jsIUmYBuLkJTK0FU2lg2fqj1zLcY34S0llThzqW0917cmnd3FRgYCYgicG/Uf/wFxvKKxVnEKLRBHy6xg6tChiS2z030yWVHIdOcKTFAVFahpR4oG8yQ2wQ85Edq+GeUgsD4FC4o58PlysYkhU5AQRrXblLIKSFYjXBWlcOTWIQh9X0VEFYTaa0tBSxsbHOzW1HhQBAfHw8BEFwG7lQXV2NpCTPAeWff/4ZNTU1WLx4sXNbcXExJEnCkCFDsHLlSiQmJgbW9gi1cOFCfPTRRxg8eDBycnKwatUqAMA333yDvLw8SqBKCCGEkKCjYEgvwkQJLCrO+ViKS4G95gTcbiOZACmGvq3sCowx5KUBeV04LQYAKmoVHDjOEdPmHc4ArNwud0swZM0uBRv2tSZQ5ZwjPQEozGxpSXDIHcTtOIDqhsjKIWJv8p7p3t5kpGBIN4mNjXUJhnii0WgwZMgQbNy40SX3x7p16zBq1CiPZWbPno3Nmze7bLvuuuuQlJSEJUuWIC4uzmO5nuzEiRP43//+B7VajdjYWLCTvzhGjhyJxx57DJWVlUhODtJwMkIIIYQQUALVXk2b0Q9MderQbseHT232QDCR4mSRrLLe880/B1DlZV+LijoFO4tkHK8OfHRQlZE786Nw3jol6HgNsKMo4Go9SoljnnK0AmgNxGiDnKy1qzGveUEYmNS9F8MVGbZtq9D84TNofutvMK94E3JF+C8B25IzJNAff9xwww147733sH37dgDAl19+ifXr1+P66693HvPss89iypQpAIC4uDgMGTLE5ScqKsq5XZJ63+/fxx57DCtWrEBcXJwzEAIAqampePbZZ7FixYoQto4QQgghPVHv+8RFnAS1DlGDJsBWWQp7Yx0EtQbqpEyIUfGhbhoJAOccRScUlNcqkCTPN3MMQFKc531WO8f7P9mw+0hrECQ3jeGPZ6n9TkB66IRrXpRT7T/OMbJf8EaGJEYDGQmOZXzbjnJqOUvf5MiI+3LOYWtugMwBRZDAFBmuoR4OTUIXDytqw7rmc8hFO52PlfIjsKx4A5rZV4Ml9GmnZIgFYZqMr2666Sbs378fY8aMQVJSEurr6/HMM89g2rRpzmPKysqwd+/ewNrTy9XV1XU4QocQQgghxF8UDOnlBEkNTZ98uM+EJ+0xWTlO1DiWjk1PBIQAV60IlkYTx9IvzSitbA1kREcxtG0WBzBpmOcpMl9vsGFPietokCPlHP9bZcOVZ/u3ggnznMQDABDsBW0YYxidJyA1jqOoAqhv5mhZxVhgwIB0AWnx4R8M4ZzDePQgrA21jg2iChAkCIoNgiIDgoCozAEQtVHd1ialvsolEHKyoQAA2/bVUE+5tNva4jfG4PYG8KesX4czPPvss3jsscdQXl6OzMxM6HQ6l2PuuOOOdpfQXbp0aa8cEfLSSy9h7dq1WLduHYqKivDtt9+67K+ursbKlSvx0ksvhaiFhBBCCOmpet8nrzDCOYdceQzc0gwhKR1MHxPqJhEfbDrIsWZ36+ooMTpg7hiONEPoAiL/W2nBsSrXQEZzs4wEA9Bgd9y/Rmkdq8kM9ZAvxC5zbNqvuI3kUDiw+4iChmaOGL3v19c/HVi10/O+AZnB7yfGGLKTGLKTAEXhqGrgsCtAYjSDRhUZq8hY6qtaAyEtGIMiqhGVngVNfEq3ryKjVB33vINzKBVHu7UtkaC9HCOpqalITU31WjYnJ6eLWhXeRFGEJElgjDn/34IxhsGDB+OBBx5wW9mHEEIIIaSzIioYUlpaiptvvhk//vgjtFotLrvsMjz99NNu38C1aGhowAsvvIB33nkHhw8fRlZWFq677jrceeedzjnJjY2NiIlxD0IsW7YMCxcu7LJrUYw1sK7+DJa6o47ELYxBGjIBqtFnucyXJuHlcBnHql2u2xpNwCfrgevO5lB5mZ7SlcxWjh1FssdARn2jjNvnqSCIIuKiANHLsAyLzbHqijdNZv+CIYZohslDgJU7ueML+pPtyU0FhvT1uZqACAJDipepQOHMXF/tdZ/CEZLldNsL0IZ98FYQHD+BliXd4vrrr8f111+P9957DwMGDMDIkSND3SRCCCGE9BIREwyx2+2YM2cOsrKysH//ftTU1OD888+HyWTCsmXLPJZ56623UF9fj/feew+5ublYvXo1Lr30UlgsFvz1r391OXb9+vUYP358d1wKOFdg+eEdcJPt1I2w71gLISYBUuHobmkH8d/WIrgt48oBmG3AwRPAwBB8eWmxco+5OZw4kBDTfnBAr3EEMGob3SvSqIDEWP+DC2MKGPqmAHtKOWwykJvKkJsW+ilFYaudJ5G3+wR3HSG1L1iMAbyxzq19qoFjQ9ImXwWSCPXUsqR7zZ8/P9RNIIQQQkgvEzHBkG+//RY7d+7El19+iYyMDGRkZODxxx/HVVddhSeffBIpKSluZf70pz+5PJ41axYWLlyIDz/80C0Y0p2UshJwYw0gRbvts+3eSMGQMNZo9pwKgwFosnR3axxiohgMMQy1HpaPjdIyxHcQCAEcw9FnjZXw3k82t2DPWaOlgEe8pMQzpMTTjaUv1DHxsDU3eNyniYnv3sacxAQBmhkLYPnpA/D6ypaNkIZMgNhvRMiCND7pxgSqJDi++eYbvPXWWzh27Bhk2XWo2kMPPYSzzz47RC0jhBBCSE8UMcGQdevWITc3F337to6xnz59OmRZxsaNGzF37lyf6qmsrERcXJzb9nPOOQfNzc3Iz8/HDTfcgJtvvhlCFw2V5l5ueACAm7zvI6GXkQBUN7h/ic8BpMWHokWOkRbnTVDjjRUW5wouLf9OGKKC4GPG0uH5ItQS8NMWO8rrOBJjGCYNl3Bav+6fntEb6QwpsNRXw25udtmuNaRC0upD1CpAiE2A9vwboVQfB8zNgDYacvFOWH54F4iOh9JnAJCQELL2kZ7hhx9+wPnnn4+LL74YkydPdvv7m5bWvasoEUJIqCRHayAr3OvU5nA7Z3e3lZBgiphgSFlZGZKTk122JScngzGGsrIyn+pYvXo1PvroI7z++uvObYwxXH/99bjjjjvQp08ffPPNN7juuutQW1uLhx56yGM9FosFFkvrMACj0QgAUBQFiqJ4LOMisQ8UOG6gXY5mDEJSpm919EKKooBzHtL+GZnHsbvUkV+jJR7CAGQlAn0MgKKE5o/BkFwBN56nxi9brCir5UiNZ5g0XI1Evdmv/hqQxTAgS+WyrTe9HkP7GmOIzR4Ac301rI31jlEZsYlQR8eFxXPAEvpAqSmD+evXANnmSKLKBFgO7YVt8lyoMvr5XFd3XA9nAniAIzwCLUcC9/nnn+Ouu+7CkiVLQt0UQggJqVidBFFgWPz+FhysaPS53JQBybh7ZmHQz8nAkaaxo8wigcP1c26/lGj8+/LTAjonIeEgYoIh7fEl4eju3btx0UUX4dprr8Uf//hH5/aoqCi8/PLLzseXX345Dh48iH/+859egyFLlizBo48+6ra9trYWdrvdpzZbskegsfyYo/2OiwAYgyp/FJpranyqo7dRFAUNDQ3gnHfZqB1fzBnKsfMIUF4PSCKQkwIMygJqa0MbFTdogQtPb32sKAqMxtD3VyQJj9eYBEQlAgDsNgVNtbUdHN99rOu/h8I0gOhYapkDaGRaYMMP0E6JB/MxiNDQ0A0j4LpxaV3SeXq9nlaMIYSQUxysaMSu40afj89PjuqScwrgMMdyHDYyKKC/j6RniZhgSFpaGn755ReXbZWVleCct7tcIQDs3bsX06dPx9y5c/HSSy91eK6hQ4eioaEB5eXlHuu+7777cOeddzofG41GZGVlwWAweF1WsS150hwIm1cjumQbmLkZQlI2VKOmQkzO9Kl8b6QoChhjMBgMIb25T0gAciPgM3u49FckCac+szU3oLnyGGymRgiiChpDCvSJaSFbbYrbLDBVHnbZ1jK+I66hEXqRQ4j3bbrMqcundhWOTowMAb1futucOXPw0EMP4dprr4Vare5UXXV1dXj99dfxzTffYObMmS5/r1t8/fXX+OKLL1BWVoYBAwbglltuaTcYs3PnTtx+++1u219++WXk5+d3qr2EEEIICY2ICYZMmDABS5YswZEjR5x5Q3766SeIoohx48Z5Lbdv3z5MnToVs2bNwtKlS326kdixYwd0Oh0MBoPH/RqNBhqNxm27IAi+30BJKqj6j0DUuGkhv+mKJIwxv/rZYuNoMAFRWkCn7n3RbH/7i4RHn9maG2Es2Q+cHJDKZRvMVcfAbRbEZuSFpE1cFCG4pdd1jGwTAAiS5HOf0euRtHXw4EHs3bsXhYWFmDBhArRarcv+a6+91qcV33bt2oWzzz4bF198MY4dO4bdu3e7HXPLLbfgyJEjOPfcc5Gamor33nsPgwcPxsaNGzFw4ECP9dbV1eHHH3/E119/DZWqdSphR1/GEEIIISR8RUwwZNasWRgyZAhuuukm/Pe//0VNTQ0eeOABXHHFFc6VZOrq6mAwGLBs2TIsXLgQBw8exNSpUzF79mwsXbrU4wfwl156CbIs47zzzkN8fDy+/vprPPnkk/jTn/7U6W+nSOgoCsfmw8D+stZkpznJHOP7A5LY+4Ii3uw+bMV3G5pRXiMjK1XCrAl65GWoOi5IulRT5TF4WrfIUl8FOTkdolrrXqiLMUkNIas/lKMHXDMIMwZmSAGLCbMkqjRNJqKYzWZMnToVAGC329HY6Dpn3dcpqH379sXBgweh0+kwZcoUj8c89thjSDgl6e/555+PIUOG4MUXX8Rzzz3Xbv1Tp051C9QQQgghJDJFTDBEkiR89dVXuPnmm1FQUACNRoPLLrsMzzzzjNcyS5cuxYkTJ7Bs2TIsW7bMuT0uLg51dXUAgPnz52PJkiWYMmUKKisrkZeXhyeffBI33HBDV19SWFNkGU01FTA31gNg0MUaEGVIAouQb3S3lwD7TrhuO1IJCAyYMCA0bQo367aZ8eoXDRAYoHCgqs6KLfusWDw/DkPyKRAYSnaT94RpNlNTSIIhAKA+/RxYvnoVvMkICAKgKICkgmbihSGbvuMVY51YWjfMrqUXuPnmm3HzzTd3up7oaPcl69tKaLP6UcvUuKampg7LXnnllbDZbBg0aBBuueUW9OnTJ+C2EkIIISS0IiYYAgDZ2dlYvny51/3x8fHgp3xj+Y9//AP/+Mc/2q0zPj4eTz75JJ588smgtTPSKYqM6iMHYLeandsaKk2wNBmRkJUfVjc9VjvH4XKgvJ5D4UC0FkiKAfYec28jB1BUAYzK49CowucaQsEuc3zwg+OGWzn5llG4Y8rDh983YnCeIaye5460LCfcUwgqFWSL7HmfFLpAlRAdD+1Ft0Iu2gGltgI8Oh4aQzaEhPBb9pQzBh7giyLQciQyrV27FuvWrfOYW+RU06ZNw5w5c6DRaPDmm2+isLAQGzduRGGh59UbOr3yXDcLhxXbwgH1Q8/uA+bIKOXTsQI4GDrfD/6cs+V4RVG6rVxHZVv6wdPXC5HUP6eWDURPfl/4KlL6wJ/2RVQwhHQPU32tSyCkhbW5EZZGI7QxcSFolTurneOnXRyNJ5vKOVDd6Ah42L28BziAZiugOWUmSJOF49f9wKETji+7B2QAY/oDasn1hqi+iWPDHgXFFRzRWmBUfwGFWeE7Uqa+UcZPvzZh6yEZOo2ISSP1mDhSB0FgKKuS0djs/geEAzhWKcNk4dBrw/+GsLQK2HQIqGoAtCpgcBYwIsfxPAaKcw5Z4Z2qo7N0hjQ0lhW7bRfVWqj0HX/z3ZWYSg2pYBSAkwlnw3X1KyZ0YmRI+L6ve5IXXngBq1evxi233IJt27Zh9erVXo+95ZZbcOaZZwa9DcXFxbjkkkuwYMECXHTRRV6PGzlyJH744QdnkPiyyy7D6aefjnvvvRefffaZxzLBWHmuO4XHalqhR/3Qs/sgTWOHOda3G2gGIEEto6amplP94M85ASBOsKCmpqbbynVUlgFI1zv+z9sEH9I0dtR08nNAd15nZ9rbk98XvoqUPvBn1UIKhhA31mbvLyBLc0PYBEMOlLUGQoDWkQGC4Ij8tl0LHQBEwTF6pIXFxvHBKqDhlHo2HQRKKoBLJ3KIgqOOmgaOpd/KsNgcQZcKBhw6oWDKMGBUfwbOgWhd+AQP6htlPPJSFUSYUFEvArBjb7EFe4vNuGFeAnTtBDpEAVBJ4XMt3hytBr7d2vrYbAM2HwYazcCkQf7XJyscB47bceS4HThmQ7RWRkG6hOTY7v9lrzUkQ7aZYaouc24TNTrEZfWPqBE7hLRHq9UiOjoakiQ5/+9NV6xAVFJSgmnTpmH8+PEuU2k90ev1Lo8FQcCsWbPaLReMlee6UzitphVK1A89uw/KLBIOG337OyqAIydRREJCQqf6wZ9zAsBgRYOEhIRuK9dR2ZbRF0VGuC2tq42W3KYe+qs7r7Mz7e3J7wtfRUof+POZgYIhEYZzBUpNGWBpBotLghAVH/RzMEH0uk9oZ193O1HreTvngCQCNg+zDAZmAKpTEqhuK3YNhLSoMAIHTzhGiQDAqh0KrLbWvJEt//6yXcaK3xzDUDISGc47Q0JmUuh/OXy7tgl1DQoMURxcaY3jr9zUjIG5GkwaFYWCbBUOltqc02QAR06VsYM1EREM2XwYHtY2AfYdB0bmuQa9fLHjiB3l9QoUxbE6SpMF2FJkx6g8CYkxXfectvxhOTXIwRhDdGo29Il9YDM1QZAkSNooCoT4wTGoN8BpMgGWI/5ZtGgRFi1aBAAYP3688//dobS0FFOnTsXw4cPxwQcfBBRsqaqqajeZalBWnutm4bCaVjigfui5fcDB3G7oOzq+s/0Q6Dm7q5wvZTkcgZC2+1rKdUYorjNQPfV94Y9I6AN/2ha+V0HcKE31sK75BLbNK2DbuRrWtZ/Cun0leJDnbenivEdMdbGelxvuKiYrx65SGb/ssmHdPhvK6mRnXhipnbgMY4AocGhOfr7VqIDTcoDhfV2PO3DMex17j7b+/+Bx7hI0OOVMEE6OHjlew/Hq1zbUN/k3ZK8rbD9ghqxwl0U/Wiz9pBbNZgXXXhCDZINrJ/btI2H+zNBOw/BVdYOn9VZa9/mj0cxRYfRc2+Fyz7k7Ostkasax0hIcKTqM4sOHUFFeBll2PZcgqaCJiYdKF02BED9xJnTqh/Rcx44dw9SpUzFs2DB8+OGHLkvltti2bRtmzJiBQ4cOAQDefvttlJW1jtTatGkT3njjDcybN6/b2k0IIYSQ4KKRIRGCcw7b1h/Bza6rTChlhyFHxUHKHxG0c2n00YhJ7oOGStflWOLSsiBpum8VC5OVY+1eO+yy46aXc6C+jkOWZAzPEZGdxFDV4HoDe+rNvyQA544EVJJj6oenm0lrO9O2zdbW/6sloNni7UjuPLdNBn7bJ2PGyNC+tXRaAdxz9AZ2Gdi43YSpY6PwxE0G7DpsRWWtgowUEQXZqoi56dZrgAaT533+jgppNHkPKDaYgx/cslgsKDt+3GVbU2MjbFYb0jMzI+Y5CGuUMyTi1NfX41//+hdWr16NyspK9O3bF5deeimuuuoqn7/lURQFZ599NgBHQOPAgQOYMWMGMjIy8MYbbwBw5B85dOgQMjIyMHv2bGfZ4cOH4+mnnwbgyOvx448/Oucdx8XFYdKkSdBqtRAEAfv27cN1112HRx55JIg9QAghhJDuRMGQCMGNVeBN9R732Y/uDWowBACiE1OhizXA3GgEYwya6FiIkvu3Z8FmtXPUNSkQGFBex52BkFMdq+HIS+XISQYq6oGjJ/MgtZ3CMiiTQadp/6YyMRYwermhTjtlEMyIfAErtysubWkZoeIyMIcDlXWhHxkyaaQeew56vjCBOXKKAIAgMAzt5z6MOxIMyQLW73fdxphjNaEEPwe3aNXeXye6dvYFqr7O8xwvq9UCs8kEXZv8BIT0dLW1tRg5ciQ457jwwguRmJiIw4cP49Zbb8WKFSvw/vvv+1QPYwz33nuv2/ZTc348/PDDHpfxNRhaf+kPHz4c33//Pfr16wcAmDt3LubMmYO9e/fCbDajf//+YZn3gxBCCCG+o2BIhOAeVndxsnkdstApokqNKENSl9TtSUmVHQdP2F2DH0wAuPvNaE2jghidiHH9gH6NQGk1R02jYzRHlAbIT2PI9CE/0uh+QFG5533Dclr/P2EQw9Eq4OBxxw13S8DFZmszooABibGh/1b/zBE6fL1KBVOz+z6FA/2zO16e9XilDcYmBdlpKui14fdN+eAsx2id7SWtz0dKLDBjmPdldu0yx7EawGR1BEySYx03T3F6hlgdg9FDf/VNDv61Wy3e37NWq4WCIUFAS+tGlv/+97/IyMjATz/9BLW69ffT/fffj9GjR2P79u0YNmxYh/UwxjBjxox2jxkxYkSH9RgMBrd6RFHE4MGDOyxLCCGEkMhAwZAIIcQlu96FOzGw+NSA6+WKDNlqgSCpIHTDyA9vahplHDjhPmdFEhTYZAFokyCpJQkqYwxJMUBSTGA3L+kJDBMHcazZ3ToCRWDAjOGAIbq1TklkmD9FRGklcLSKQxI5vv3NNb8DgyOPydjC0CeZFQSGP1+VgH+9WuvysmEMGJirxqB876NBquvs+L93a3CgxDFPSCUBF02PxXlTYsJq+gZjwNj+wLC+jiWV9RrAEOX9+NomjpW7Oaz21sSrybHAmYWO19NpuRK2FSuoPhl3FAUgL1VEn/jgB0NUKjVsNpvHfZKH/AXEf53J/UE5Q7rf3r17MX/+fJdACADk5+fjzDPPxL59+3wKhhBCCCGE+IqCIRGCqbUQc4ZCLtp+6laAMaj6jfS7Ps45TJXHYKo66pznoY5PRnR6XruryXSVY9Xek1QKjEM5ZXSIJAApccG7KR+Zz1CQwVFc4QiE5KZ6nhrBGEN2CpCd4tiXnczw6Ro7jlY5Ig0p8Qz/n737jpOrqhs//jn3Tt3eW7LpjRTSKKEnKL2qoIggShER/CEIKlYi+gCKCI8PPiIKyKMIYgFBeg0QCBBCEhJIIT2bLdnept17fn/M7iaTndnszs7s7Ox+36/XEObee+45c+fO7NzvPed7zj3WQV7W8AgYFOQ6uOwzBbzwrskHG/y4XQbHL8zg3CU5MYMaWmt+8eBedtfuC0wFQ/Docy0U5pkcO7+PaEOKeFww5iC9gLTWLN+gCXa9rO7A194WWLdTM2+Cwu1UHDbZSVWmg8wcB9leE4eZnPcyJy+Xjo72XssdDgcZGcPvGKclpWJ3EepPWTGkSkpKWLVqVa/lPp+P9evXU1xcnIJWCSGEEGIkk2BIGnFMWYDKyMHasR7t78DILcExaS5G7sCHsvgaqums3RGxLNBUR5ttkz1ueqKa3G+BUPQ8Gz3XM12rTQULJib+IjXLo5g9bmBlygoMrjrbRXN7eNaW3MzoSVpTqSDX5KrPF/Q7+eCG7QF2VvfuoaMUPP1627AMhvRHfVt4qtwDaWBbHcybsG+Zx6XIzTB6ZglKBq83g+KSUur31mF3BSPdbjfFpWXD7hwSYihcfPHFLFy4EMMwOP/88ykoKGDr1q3cdddduN1ujj322FQ3UQghhBAjjARD0ohSCseYqTjGTB30vjrros8pG2ipxwr6MZ1Dm1QzN9OgqSN675BZYx1YWuEwFGbIpCB7eHVhz80cORev9U3R3wOtYW+Mdekg1EfT+1qXTFnZ2WRmZREMBFCGEXV6TzEIg5kiV4bJDLlZs2bxwgsvcN1113HfffcB4Z5Sn/3sZ3nkkUdwOOTnihBCCCESS35djEJaa3QoEHO9HRj6YEhloYOqBqvX7DF5mYqKAgOlFLYNDQ0jJ/AwHI0vj35BbiiYNCZ9L9YLssKv4cDZhhVQmpuSJoXrVwqXOz1n8xnuNApNfN8X8ZYTg3Pcccfx3nvv0dHRwd69e6moqJAgiBBCCCGSRm5/jUJKKYw+gh2myzOErQlzOxVzxjtxOcJBD9uGTLdi5lhnxLCBQEizo16zc6+OObRGxG9sqZPDZ3kiUiYoFQ5QnXti7Gkkd9eGWPZ+Jx9s8BOyht/74nIoDh3flXS3a5kCDAPmjJML35GoO4FqvA+ROm1tbbS1teHz9TGLmhBCCCHEIMktl1HKWzyW9qpPei1355VgOA8+7WqiBUOatdtCBELQfbna2gnvbwmxaJoT01B8UqP5cLNGuzQojaFg4SSoLJSL2US6+oJC/v5CMy+taKfTr5lQ4eSCU3OZMbF3AC1kae5/ooW31+5LyJGbZXDdl3IZVza8epJMK1dke2BztaYjAEXZXcu8I+P80VoT3LuLQO127KAfMyMXd8VkHFn5qW6aEP3yxBNP8J3vfIeNGzf2LDv11FO56667mD596HNZCSGEEGJkk2DIKOUpKAU0HbU70aEgKANPQRkZpQPMIpoguxss/L3zdtLh19Q02bidBmt3RPY4sDW894mmIBMyPSPjgnY4cDkVF56exxdPy8W2wewjWe3zb3WwYm1kZtLWdpv//mszv7i2MKlJSONRnq8ozx9ebUoUf9UmAtVbe55brfV0bKgnY9rhOLIPMt3OSKQYxGwyCW2J6Idly5Zx3nnncd1113HeeedRUFDAtm3b+PWvf82JJ57Ihg0byMrKSnUzhRBCCDGCSDBkFPMUlOHOL0WHgijTgernjCPJ0NwRYzYZoKXDpiOo2G9SmQg76uGQMcls3eiklMI8yCzLr67s7PWe2BoaWmw2bA9yyMSh72U0GtnBAIHqbVHX+XdvwjHjyKFt0DCgMdBxjgSNt5yI3yOPPMI3vvENfvGLX/QsmzJlCkuWLGHOnDm88sornHXWWSlsoRBCCCFGGgmGjHJKKVQKhsUcyO0garBDE+6p0NQZPRCC6p6Wd/C3chtbNa+vs/lkD7gcMHeSYtEMlfBpfKNpagnx2LNNvLW6DUMpjp6fyfmn5pOdeZBoRIp1+GLnB2nvtIewJaOb3dlCjE8IVkfz0DZmmNBKoePsGRJvORG/jIwMxo8f32u5aZpMmDCBjIyMFLRKCCGEECOZ3P4Sw8KYQjPqpZxSUJFvUpQd/eJEa2KuG4jmds39L9h8uB06/NDUDsvWav7xpo3WyU0I2umz+cFdVbzwVgstbTZNrRbPvt7Cj+6uwh8Y3gGFGROcRBsJoxRMrhxeOUNGMuWIHdBUDnkfxPB36qmn8oc//IGGhoaI5StWrGD9+vUsXLgwRS0TQgghxEglPUPEsJDtNZg9zsFHu0JYXdf/ThNmj3PicSnGF2s+qYGOQOT974IsKE9AfsgVGzT+YDi40k0Dm6tgdz2MLRp8HbG8+k4rtfWhiNdla9hVE+TN99s5cVF28iofpHMXZ/HhJw2ErPAMQN29e049KoP87OHdq2UkMbzZGN5s7M42Duwh4ipOTR6gVBvMrDAym8zQ2759O3v27GH8+PGccMIJ5Ofns337dt544w3mzZvHDTfc0LPt5ZdfzqJFi1LYWiGEEEKMBBIMEcNGeb5JSa5BU7tGAXmZqicBp9NUHD9DsXYzNATDU6JWFiqmloGRgC7t22s10TqAKGBnnWZsUfK6zW/Y5g9PX3tA/aYBG7f5hnUwZGypgx9dUcB/Xm9n4/YgudkGSw7zcszc2NMz+wKaNZ+EaOvUTCw3mVBmREyfLAZOKUXG5Pl0bF6J7WvvWe4oqMBVNjGFLUsdjULHOXwu3nIifj6fjxNPPLHneTAYpKKigs9//vNAeLrdbqFQlGzbQgghhBADJMEQMayYhqIwxrAXt1MxqdTgsAIDI8HJXrM8UEf0nCWZsa/rEyI3y4iaMEUDuWnQu2JMsYOvfTa3X9tuqbL4/ZOd+AL0BIBmTTD56umeIcnNMpIZbi+ZM4/Bam9CB/2YGTkY7tGbZ0F6hqSXq6++mquvvjrVzRBCCCHEKCK/+IQA5k8xegVCFOFEqtPHJvci/cRFOVF7paBh8RHDt1fIQIUszR//04k/EH7e/ZrXb7N4+f1g6ho2giilcGTl48wvG9WBENiXQDXex0jwf//3f/z2t78F4L333uPNN99McYuEEEIIIYYPCYYIAUwfA8fPVux/DeR1wwUnGLidyb0wGl/h4ptfKsa1Xz0et+L6r5RQXjxykl9u3GnR7ove+2bFegmGCJFodXV1fPLJJwC8+OKLPPnkkylukRBCCCHE8CHDZIQgfEf9uNmK+ZM1O+o0LodiYimYQzR04/jDszl8TiZrN3ViKJg91YvHPXJilZalWb42EHO9P5jcGXtGgpDfh6+5Hm3buDKzcWXlSq6VPkjOEJg5cyZ33XUXkyZNYuXKlXR0dPDggw9G3XbOnDkyY4sQQgghRhUJhohRK2RpdteH/39MIThMRZZXMXNcai6EvB6DI+ZkpqTuZHv4xU5WbwpiOHonSzUUzBgnX0V96Wyso3XP9n3PG2pwZeaQO24KSvJbRCU5Q8LT1V5yySX87ne/Y8eOHWitWb16ddRtr776agmGCDFKWbbGNAb+2yfecmLkKM5yy3kg0ppcgYhRaVOV5pn3NL6u0RkeJ5x2GEytkC/zRGtosVmxLnygbVtjmgqtdU9QxOOCU45wpbKJw5oVDEQEQroF2lvobKgjo7A0Ba0a/qRnSNgtt9zCLbfcwm233UZTUxO33XZbqpskhBhmTENx7SOr2FwbnrVJoSlzh6j2O2J+H04pyeLuC+YPZTPFMJTjdfQ6f/pr8fRibjxlRpJaJkT/SDBEjDqNbZrH346cStcXhCfe1lx2MuRnJfdCqNNn89p7bXy81U9OlsGJR2QxYYw7qXWm0u69Vs//a1tjaQtlGKA1Smlu/GIW+dkj4058Mvhbm2Ku87U0SDBE9Ms3v/lNdNRMzalz11138eqrr/Zr2+uuu44TTjghuQ0SYhTbXNvGuqoWAAw0vhzNlhaFPYKCwyJ59j9/+mty8cjsDS3SS1oFQ/x+P3fffTcvvfQSHo+HL3zhC1x44YWDLhPPfkX6WrMt+gWBBtZu0xw/O3l/+JtbLX74mz3U1odAhaeXffaNVq76QiFLBjBzTCBo8/rb9VTV+Jg0LoMjFxYM26lpCw4IdGgN2rIBKMozJBByUH1cwCb54lZ3thL8aAX2ni1gGJiV03FMPwLlHP7BO80ghsmMkNzitbW1VFVV9Wvb0tJSysvLk9yiSEVFRUyYMKHn+cMPP0wwGOSkk06ioKCAbdu28eKLL7JgwQKysrKGtG1CCCGEGPkGHAz5wx/+wPvvv8+ll17KYYcdlow2xXThhReyZs0abrnlFhobG7niiivYvXs3N95446DKxLNfkb7aOvtY50tu3f94sYm6xlD48lbvu5b94z8aOHJOJhneg1+E7azq5NofrqGuPoBpgGXDxHEZ3H3LHPLzht9wkzHFJpMqTLbtsbAPuHY/ccHwa+9w48rKBXZGXefOzktavTrQif+1v4G/o+dEtT75ALtuF64TPo8yzKTVnQhDPUzmscce4/bbb2fnzp3MmDGDn//85xx77LExt//444+54447WLZsGbZtc+SRR7J06VKmTJkSV5ujuf/++7npppv6te13v/vdIR9Cc9FFF3HRRRcB8PTTT/P666/zyiuvkJOT07PNBx98wNlnn83EiROHtG1CCCGEGPkGfPtrzpw5fPjhhxx++OHMnTuXu+++m/r6+mS0LcKKFSv45z//yV/+8hcuuOACrrrqKn72s5/x05/+lI6OjrjLxLNfkd7K81XUG+pah9cl04o1Hdh27+WBkGbtpj6iNPv52a830NAYnpmlq4MF23d1cNd9nySqmQnV1mFTkqewLJtQ0MaybExDc+qRbo6bK8GQg3G4PGQWV/Rabrq9eAuSN0TG2vYh+Doie59ojW6uC/cUGea0Uj1JVAf+GNj3wPPPP8+FF17I5Zdfzttvv81RRx3FySefzMaNG2OWueyyyzj66KN56qmn+M9//kNnZycnnHBCQv+eXnfddTQ2NtLY2EhtbS3z5s3ja1/7Gu+//z7V1dWsXr2ab33rW0ybNo3vfve7Cas3Hi+++CJf/epXIwIhAPPmzePQQw9l5cqVKWqZEEIIIUaqAQdDjjzySJYtW8amTZs444wz+OUvf0lFRQXnn38+zz77LHa0K70EeOGFFygtLeWII47oWXbOOefQ1tbGW2+9FXeZePYr0tus8ZCTER6i0k2p8LKZ45Jbd1/XWP25/tpT42P9xtaeIEg324ZXl+/F77eiF0wRf0Dziz+3snxNAKu7aRpyMxQnH+GWqWEBrTXBYJBQKPZ7l1lcQd64aXhyC3Fl5+HJK8ThMGndsYGOut3YVijh7bIbqok6REcZ2A17El5fOrvttts455xz+PrXv87EiRO57bbbGD9+PHfddVfMMm+88QaXXnop06ZNY/r0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7ty5/OQnP4m6ze7du7niiis47LDDOO2003jiiScOut94ygghhBBi+BpwMGTu3LlMmjTp4BsmWE5ODo899hgPPvggEydOpKKigr179/J///d/PduEQiHefPNNampq+l2mP9sIkS6qa31c+q2V/Ovp3Wzb2cGW7e3cevcG7r4vuckRH3+llet/VcsfH2/md39v4pu31/DWmnACliNnufnlNXl8/TOZfP0zmfzimjwOnylT6ublRh9S5zBNMjOj50cwHC6yxk7eb0k4MOLKzseVkU37ppW0rXmNtg9fp/2jtwi1NgyqjbqpFlTXnwmtwbLACoFt0T3TjK7Zht3WNKh6kqE7gWq8j4G49tpr+dvf/sazzz5LMBjkd7/7HatXr+aaa67p2Wbp0qVMnz695/mvfvUrfvrTn/LUU08lLU9ItHa+++67AKxdu5bKykomTJjAmWeeOSQB075s3bqVT3/60xx66KFMnTqVYDAIhG/A/PCHP+z3VPcffPABn/70p8nJycE0TXbv3t1rm/b2do4//niqqqq44447OOmkk/jc5z7HP//5z5j7jaeMEEIIIYa3tBqMu2TJEnbu3Mm6detwu90ccsghEV3Gs7Ozef3115k2bVq/y/R3GyHSwf89toO2thCWHU5S2n158/cnqzjvzLGMrUh8jo41m/z88+U2IFynYRhoFL//ZwvvrvPzlbNzyMk0mDdNAiD7c7lcVFSUUVdX33Ph5/V6KCku6nMYiSevGGdGDv7mvWjbwpmZi8ObSfv65ejgvqTPtq+djs3vk3nIUZie+IYcqIysfb1CtB1+RKGbaiEngflKEmCoZpMBuPDCC6mqquKiiy6iqamJiooKHn74YQ477LCebTo7O2lubu55fsMNN/TMnLK/m2++mW9961txtbsvK1asYOXKlT2JUm+//XY+85nPcO2113Leeefx7LPPctpppyW83v76v//7P7785S/zy1/+kosvvrhneUFBAZWVlbzxxhucfPLJB93PIYccwqZNmzAMg+effz7qNvfffz81NTWsWbOGzMxMFi9ezMcff8yPf/zjXu/HYMoIIYQQYnhLq2AIhC8gYuXyME2TY489dkBlBrKNEMPdO6sasWLMWrpqbVNSgiHL3u/AUGDryFwQSilWbwpw55+b+PHX8jEkwNhLhtfLuMoxWJaFUgrT7N/QIdPlJqN435Tg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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Visualize one case's point-level features. re_norm and aoa_norm are constant for the case;\n", + "# x, y, and sdf vary over sampled points.\n", + "case_id = (split_manifest.get(\"val_ids\") or split_manifest.get(\"test_ids\") or split_manifest.get(\"train_ids\"))[0]\n", + "features, _ = load_case(case_id)\n", + "feature_index = {name: idx for idx, name in enumerate(normalization[\"feature_names\"])}\n", + "\n", + "x_values = features[:, feature_index[\"x\"]]\n", + "y_values = features[:, feature_index[\"y\"]]\n", + "sdf_values = features[:, feature_index[\"sdf\"]]\n", + "\n", + "fig, axes = plt.subplots(1, 2, figsize=(11.5, 4.3))\n", + "scatter = axes[0].scatter(x_values, y_values, c=sdf_values, s=18, cmap=\"coolwarm\")\n", + "axes[0].set_title(f\"{case_id}: sampled points colored by sdf\")\n", + "axes[0].set_xlabel(\"x\")\n", + "axes[0].set_ylabel(\"y\")\n", + "axes[0].set_aspect(\"equal\", adjustable=\"box\")\n", + "axes[0].grid(alpha=0.25)\n", + "fig.colorbar(scatter, ax=axes[0], label=\"sdf\")\n", + "\n", + "axes[1].hist(sdf_values, bins=30, edgecolor=\"white\")\n", + "axes[1].set_title(\"sdf distribution for selected case\")\n", + "axes[1].set_xlabel(\"sdf\")\n", + "axes[1].set_ylabel(\"sampled points\")\n", + "axes[1].grid(alpha=0.25)\n", + "fig.tight_layout()\n", + "\n", + "print(f\"case-level conditions for {case_id}:\")\n", + "print(f\"re_norm = {features[0, feature_index['re_norm']]:.3f}\")\n", + "print(f\"aoa_norm = {features[0, feature_index['aoa_norm']]:.3f}\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "3c22f84b", + "metadata": {}, + "source": [ + "## Checkpoint contents\n", + "\n", + "The checkpoint is saved with CPU-compatible tensors. This section verifies it can be loaded, shows metadata, and reconstructs the model.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "ed0720ec", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "checkpoint keys:\n", + " step: int\n", + " model_type: str\n", + " input_dim: int\n", + " output_dim: int\n", + " model_config: dict\n", + " model_state_dict: 10 tensors\n", + " optimizer_state_dict: 2 tensors\n", + " normalization: dict\n", + " target_names: tuple\n", + " feature_names: tuple\n", + " final_metrics: dict\n", + "\n", + "step: 500\n", + "model_type: mlp\n", + "input_dim: 5\n", + "output_dim: 4\n", + "feature_names: ('re_norm', 'aoa_norm', 'x', 'y', 'sdf')\n", + "target_names: ('velocity_x', 'velocity_y', 'pressure', 'turbulent_viscosity')\n", + "model_config: {'type': 'mlp', 'hidden_width': 128, 'depth': 4, 'activation': 'gelu'}\n", + "\n", + "first model tensors:\n", + "network.0.weight (128, 5) torch.float32\n", + "network.0.bias (128,) torch.float32\n", + "network.2.weight (128, 128) torch.float32\n", + "network.2.bias (128,) torch.float32\n", + "network.4.weight (128, 128) torch.float32\n", + "network.4.bias (128,) torch.float32\n", + "network.6.weight (128, 128) torch.float32\n", + "network.6.bias (128,) torch.float32\n" + ] + } + ], + "source": [ + "checkpoint = torch.load(RUN_DIR / \"checkpoint.pt\", map_location=\"cpu\")\n", + "\n", + "print(\"checkpoint keys:\")\n", + "for key, value in checkpoint.items():\n", + " if key.endswith(\"state_dict\"):\n", + " print(f\" {key}: {len(value)} tensors\")\n", + " else:\n", + " print(f\" {key}: {type(value).__name__}\")\n", + "\n", + "print()\n", + "print(\"step:\", checkpoint[\"step\"])\n", + "print(\"model_type:\", checkpoint[\"model_type\"])\n", + "print(\"input_dim:\", checkpoint[\"input_dim\"])\n", + "print(\"output_dim:\", checkpoint[\"output_dim\"])\n", + "print(\"feature_names:\", checkpoint[\"feature_names\"])\n", + "print(\"target_names:\", checkpoint[\"target_names\"])\n", + "print(\"model_config:\", checkpoint[\"model_config\"])\n", + "\n", + "print()\n", + "print(\"first model tensors:\")\n", + "for name, tensor in list(checkpoint[\"model_state_dict\"].items())[:8]:\n", + " print(name, tuple(tensor.shape), tensor.dtype)\n" + ] + }, + { + "cell_type": "markdown", + "id": "94b4e5d8", + "metadata": {}, + "source": [ + "## MLP architecture\n", + "\n", + "The training loop derives `input_dim` from normalized feature columns and `output_dim` from normalized target columns. This cell expands that into the concrete network shape, layer table, and parameter count so the abstraction is visible at a glance." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "e48801e5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MLP shape at a glance\n", + "----------------------\n", + "inputs (5): ['re_norm', 'aoa_norm', 'x', 'y', 'sdf']\n", + "outputs (4): ['velocity_x', 'velocity_y', 'pressure', 'turbulent_viscosity']\n", + "architecture: 5 -> 128 -> 128 -> 128 -> 128 -> 4\n", + "activation after hidden layers: gelu\n", + "hidden layers: 4\n", + "hidden width: 128\n", + "\n", + "layer table:\n", + " 0: Linear 5 -> 128 params=768\n", + " 1: GELU -> params=0\n", + " 2: Linear 128 -> 128 params=16512\n", + " 3: GELU -> params=0\n", + " 4: Linear 128 -> 128 params=16512\n", + " 5: GELU -> params=0\n", + " 6: Linear 128 -> 128 params=16512\n", + " 7: GELU -> params=0\n", + " 8: Linear 128 -> 4 params=516\n", + "\n", + "total parameters: 50,820\n" + ] + } + ], + "source": [ + "input_names = list(checkpoint[\"feature_names\"])\n", + "target_names = list(checkpoint[\"target_names\"])\n", + "model_config = checkpoint[\"model_config\"]\n", + "\n", + "print(\"MLP shape at a glance\")\n", + "print(\"----------------------\")\n", + "print(f\"inputs ({len(input_names)}): {input_names}\")\n", + "print(f\"outputs ({len(target_names)}): {target_names}\")\n", + "print(\n", + " \"architecture: \"\n", + " f\"{checkpoint['input_dim']} -> \"\n", + " + \" -> \".join([str(model_config[\"hidden_width\"])] * model_config[\"depth\"])\n", + " + f\" -> {checkpoint['output_dim']}\"\n", + ")\n", + "print(f\"activation after hidden layers: {model_config['activation']}\")\n", + "print(f\"hidden layers: {model_config['depth']}\")\n", + "print(f\"hidden width: {model_config['hidden_width']}\")\n", + "print()\n", + "\n", + "model = PointwiseMLP(\n", + " input_dim=checkpoint[\"input_dim\"],\n", + " output_dim=checkpoint[\"output_dim\"],\n", + " hidden_width=model_config[\"hidden_width\"],\n", + " depth=model_config[\"depth\"],\n", + " activation=model_config[\"activation\"],\n", + ")\n", + "model.load_state_dict(checkpoint[\"model_state_dict\"])\n", + "model.eval()\n", + "\n", + "layer_rows = []\n", + "for index, layer in enumerate(model.network):\n", + " row = {\"index\": index, \"type\": layer.__class__.__name__}\n", + " if isinstance(layer, torch.nn.Linear):\n", + " row[\"in_features\"] = layer.in_features\n", + " row[\"out_features\"] = layer.out_features\n", + " row[\"parameters\"] = layer.weight.numel() + layer.bias.numel()\n", + " else:\n", + " row[\"in_features\"] = \"\"\n", + " row[\"out_features\"] = \"\"\n", + " row[\"parameters\"] = 0\n", + " layer_rows.append(row)\n", + "\n", + "print(\"layer table:\")\n", + "for row in layer_rows:\n", + " print(\n", + " f\"{row['index']:>2}: {row['type']:<8} \"\n", + " f\"{str(row['in_features']):>4} -> {str(row['out_features']):<4} \"\n", + " f\"params={row['parameters']}\"\n", + " )\n", + "\n", + "parameter_count = sum(parameters.numel() for parameters in model.parameters())\n", + "print()\n", + "print(f\"total parameters: {parameter_count:,}\")\n", + "assert parameter_count == final_metrics[\"parameter_count\"]\n" + ] + }, + { + "cell_type": "markdown", + "id": "6f638448", + "metadata": {}, + "source": [ + "## Reloaded-model predictions\n", + "\n", + "This section runs the checkpoint on real `.npz` cases from the split. Predictions are de-normalized back to the target scale before comparison.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "09e67ecb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/home/aaron/data/airfrans/data/processed/minimal\n", + "['case_00.npz', 'case_01.npz', 'case_02.npz', 'case_03.npz', 'case_04.npz', 'case_05.npz']\n" + ] + } + ], + "source": [ + "def config_value(config: str, section: str, key: str) -> str:\n", + " current_section = None\n", + " for raw_line in config.splitlines():\n", + " line = raw_line.strip()\n", + " if not line or line.startswith(\"#\"):\n", + " continue\n", + " if line.startswith(\"[\") and line.endswith(\"]\"):\n", + " current_section = line[1:-1]\n", + " continue\n", + " if current_section == section and line.startswith(f\"{key} =\"):\n", + " return line.split(\"=\", 1)[1].strip().strip('\\\"')\n", + " raise KeyError(f\"{section}.{key}\")\n", + "\n", + "\n", + "DATA_ROOT = REPO_ROOT / config_value(config_text, \"data\", \"root\")\n", + "print(DATA_ROOT)\n", + "print(sorted(path.name for path in DATA_ROOT.glob(\"*.npz\")))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "924e2cef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'split': 'test',\n", + " 'case_id': 'case_03',\n", + " 'rows': 256,\n", + " 'normalized_mse': 0.00025704235304147005,\n", + " 'mse_velocity_x': 5.847604370501358e-06,\n", + " 'mse_velocity_y': 6.842037691967562e-06,\n", + " 'mse_pressure': 4.433627691469155e-05,\n", + " 'mse_turbulent_viscosity': 1.3116708032612223e-05},\n", + " {'split': 'train',\n", + " 'case_id': 'case_04',\n", + " 'rows': 256,\n", + " 'normalized_mse': 0.00018982301116921008,\n", + " 'mse_velocity_x': 6.853222657809965e-06,\n", + " 'mse_velocity_y': 6.716706138831796e-06,\n", + " 'mse_pressure': 2.8528093025670387e-05,\n", + " 'mse_turbulent_viscosity': 9.420269634574652e-06},\n", + " {'split': 'train',\n", + " 'case_id': 'case_02',\n", + " 'rows': 256,\n", + " 'normalized_mse': 0.0001731793163344264,\n", + " 'mse_velocity_x': 5.711051926482469e-06,\n", + " 'mse_velocity_y': 4.464081939659081e-06,\n", + " 'mse_pressure': 2.741067874012515e-05,\n", + " 'mse_turbulent_viscosity': 9.072812645172235e-06},\n", + " {'split': 'train',\n", + " 'case_id': 'case_01',\n", + " 'rows': 256,\n", + " 'normalized_mse': 0.00011508660099934787,\n", + " 'mse_velocity_x': 3.957362423534505e-06,\n", + " 'mse_velocity_y': 2.683263573999284e-06,\n", + " 'mse_pressure': 2.2211312170838937e-05,\n", + " 'mse_turbulent_viscosity': 5.00482428833493e-06},\n", + " {'split': 'train',\n", + " 'case_id': 'case_00',\n", + " 'rows': 256,\n", + " 'normalized_mse': 0.00016892868734430522,\n", + " 'mse_velocity_x': 8.186969353118911e-06,\n", + " 'mse_velocity_y': 7.417508186335908e-06,\n", + " 'mse_pressure': 3.0236758902901784e-05,\n", + " 'mse_turbulent_viscosity': 5.846786280017113e-06},\n", + " {'split': 'val',\n", + " 'case_id': 'case_05',\n", + " 'rows': 256,\n", + " 'normalized_mse': 0.0007373533444479108,\n", + " 'mse_velocity_x': 2.7578798835747875e-05,\n", + " 'mse_velocity_y': 1.9889514078386128e-05,\n", + " 'mse_pressure': 0.00013202131958678365,\n", + " 'mse_turbulent_viscosity': 3.3118620194727555e-05}]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def load_case(case_id: str) -> tuple[np.ndarray, np.ndarray]:\n", + " data = np.load(DATA_ROOT / f\"{case_id}.npz\")\n", + " return data[\"features\"].astype(np.float32), data[\"targets\"].astype(np.float32)\n", + "\n", + "\n", + "def predict_targets(features: np.ndarray, batch_size: int = 4096) -> np.ndarray:\n", + " features_norm = (features - feature_mean) / feature_std\n", + " outputs = []\n", + " with torch.no_grad():\n", + " for start in range(0, len(features_norm), batch_size):\n", + " batch = torch.from_numpy(features_norm[start : start + batch_size])\n", + " pred_norm = model(batch).numpy()\n", + " outputs.append(pred_norm)\n", + " pred_norm_all = np.concatenate(outputs, axis=0)\n", + " return pred_norm_all * target_std + target_mean\n", + "\n", + "\n", + "def normalized_mse(predictions: np.ndarray, targets: np.ndarray) -> float:\n", + " pred_norm = (predictions - target_mean) / target_std\n", + " target_norm = (targets - target_mean) / target_std\n", + " return float(np.mean((pred_norm - target_norm) ** 2))\n", + "\n", + "\n", + "case_rows = []\n", + "for split_name, ids in split_manifest.items():\n", + " for case_id in ids:\n", + " features, targets = load_case(case_id)\n", + " predictions = predict_targets(features)\n", + " per_channel_mse = np.mean((predictions - targets) ** 2, axis=0)\n", + " case_rows.append(\n", + " {\n", + " \"split\": split_name.replace(\"_ids\", \"\"),\n", + " \"case_id\": case_id,\n", + " \"rows\": len(features),\n", + " \"normalized_mse\": normalized_mse(predictions, targets),\n", + " **{f\"mse_{name}\": float(value) for name, value in zip(checkpoint[\"target_names\"], per_channel_mse)},\n", + " }\n", + " )\n", + "\n", + "case_rows\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "4fe67c98", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "case: case_05\n", + "target names: ('velocity_x', 'velocity_y', 'pressure', 'turbulent_viscosity')\n", + "first 5 predictions:\n", + "[[ 0.44094524 -0.02950683 0.19028291 0.0982319 ]\n", + " [ 0.02009592 0.14751981 -0.21558036 0.03777217]\n", + " [ 0.45918038 -0.00707006 0.2556273 0.12591958]\n", + " [ 0.31692797 0.19948506 -0.60716456 0.3552236 ]\n", + " [ 0.23262833 0.05736347 -0.33526948 0.07037625]]\n", + "first 5 actual targets:\n", + "[[ 0.44482228 -0.03109705 0.18664566 0.09674599]\n", + " [ 0.01824543 0.1526474 -0.20674932 0.03895786]\n", + " [ 0.4640298 -0.00911091 0.25503194 0.12455965]\n", + " [ 0.32461593 0.1904991 -0.6266293 0.35012734]\n", + " [ 0.23149356 0.05860274 -0.33879325 0.06851949]]\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABjYAAAGMCAYAAAB51ps5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvctoD+AAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd0VNXax/HvTHonjQQIvVdBei/SBKUrVb1SpIjlioogVlTsqCggTRQVQZAiKCLSexOkE3pNT0hCymQy5/2DN3ONCZAgkAz8PmvdtW727LPPs3fiHM55zt7bZBiGgYiIiIiIiIiIiIiIiAMwF3QAIiIiIiIiIiIiIiIieaXEhoiIiIiIiIiIiIiIOAwlNkRERERERERERERExGEosSEiIiIiIiIiIiIiIg5DiQ0REREREREREREREXEYSmyIiIiIiIiIiIiIiIjDUGJDREREREREREREREQchhIbIiIiIiIiIiIiIiLiMJTYEBEREXFwaWlpTJ06lX379hXI+WfMmMHmzZsLZZuJiYlMnTqVw4cP34SoCv95oeD/HgrK8ePHmTp1KrGxsfayvXv3MnXqVCwWy007z61o81b466+/+Pbbb5k6dSoXLlwo6HBERERERG4qJTZEREREbqPz588zdepU+/+mTZvGggULOH369A23mZyczPDhw/njjz9uYqR5N3LkSObPn18o24yKimL48OFs3LjxJkRV+M8L//7v4fLly0ydOpUDBw7c5MhurR07djB8+HDOnj1rL/v9998ZPnw4KSkp+Wpr9+7dTJ06FavVmuOzG23zdnr11Vdp3LgxK1asYM+ePSQnJxd0SIVacnIyS5cuZfbs2WzcuBGbzZajTkRERLbv7r//Lzw8vACiFhEREbm7ORd0ACIiIiJ3k0OHDjF8+HCaN29OtWrVsFqtHDhwgG3btvH4448zbdo0nJycCjpMcWAeHh4MHTqUWrVq3dDx8fHxDB8+nEmTJlG9evWbHN3tVbt2bYYOHYqbm1u+jvvll1945ZVXGDBgAN7e3jelzdslMTGRCRMm8OabbzJmzJiCDqfQ+/333+nbty/lypWjatWqvPzyy4SFhbFs2TKCg4Pt9Y4dO8bw4cPp0KEDZcqUydbGvffee5ujFhERERElNkREREQKQL9+/Rg2bJj951dffZXx48fTqFEjhgwZUoCRiaPz8vJi6tSpBR1GodC2bVvatm1b6Nu8mU6dOoXVaqVcuXIFHUqhFxERQc+ePenSpQtz5szBZDIRFxdHnTp1eOyxx/jll19yHDNs2DC6det2+4MVERERkWyU2BAREREpBIYMGcL48eNZuXJljsSG1Wpl8+bNnDhxAk9PT1q0aEFoaGie2k1OTmb9+vVEREQQEhJCixYt8PHxyVZn2rRp9qVXXF1dCQsLo3nz5nh4eORoLyoqitWrVwPQpk0bihYtetVz5zXu/LSZm8zMTLZu3cqxY8cIDAykcePGBAYG5lp33bp1nDhxgsqVK9OkSZN/FXd+zpvl7NmzLF++nPLly9OuXTsSExP5/vvvadWqFZUqVWLNmjWcPXuWqlWr0rBhw1zbuN7vNC0tjdmzZ9O0aVNq1qwJkO08VapUueo4RERE8O233wKwceNGnJ2v3C7UqFGDZs2a5RpPfvrw97qVK1dm48aNHD16lHbt2lGqVCkAYmJi2LhxI3FxcZQqVYoWLVrg6uqa47w7d+5k//79FC9enPvuuy/X2Pbu3cuWLVsYOHBgjjbi4uLYtGkTsbGxVKpUiUaNGmE2m1m3bh07duwAYObMmfaZGT179iQ4OPiabZ44cYJt27ZhsVioWrUqDRo0yPb5jh072LVrF0OHDiUpKYnffvsNi8VCy5YtCQsLyxF/fHw8mzdvJiYmhjJlytCgQYNc/7vM8vvvv7Nq1SoAVq9eTXx8PP7+/vTu3fuGYkxMTOSPP/4gKSmJxx577KrnvdZ4AoSHh9uXRjOZTHh5eVGzZk3uueeeG+5zXv9OrmXatGkkJSXx+uuvYzKZAAgICOCpp57ihRde4MCBAw4/a0lERETkTqU9NkREREQKgawHcv9c03/Hjh1UqVKF/v37s2LFCqZNm0bZsmX59NNPr9vm0qVLKV26NP/9739ZtWoVzz//PKVLl2bRokXZ6u3du5c9e/awZ88e/vjjD4YOHUrp0qXZtm1btnrff/89ZcuW5Z133mHp0qXcd999/P7777meO69x56fN3Gzfvp3KlSvTs2dPli5dyvTp06lfvz7ff/99tnppaWl069aNDz74gCVLltCyZUv69+9/w3Hn9bz/bLtBgwZ899131KlTB/jfXhy//fYbHTt2ZOLEiSxYsICWLVvSrVs30tPTs7WRl99pbntsZJ1n1apV1xyHy5cv2/fWOH/+vP3v4vz581ftV3768Pe6nTp1YsKECcycOZO//voLgHfeeYeSJUvy3nvvsXr1aoYPH061atWy7fdhsVh4+OGHadKkCfPmzeOLL76gbdu2XLp0KUdsV9sP4+2336ZEiRK8+uqrrFq1itGjR1O/fn3OnTvH2bNnuXjxIgD79u2zj0FqaupV28zMzGTo0KFUrlyZWbNmsXTpUtq3b0+TJk3sbQEsWbKE4cOHs23bNlq3bs2iRYv44IMPqFChAsuWLcsW49y5cylZsiQTJkxg7dq1jB8/nnvuuYd169Zd9Xdx8uRJ+34PJ0+eZM+ePRw6dOiGYly/fj0tWrRg3rx5fPDBB1c95/XGE64kK7LGcffu3cybN49GjRrRrl27bJuw57XPefk7yYs1a9YQEhJChQoVspW3bNkSINd9anbt2sWsWbOYO3cuR48ezdf5REREROQmMkRERETktvn9998NwJgyZUq28unTpxuA8d5779nLIiIijICAAKNDhw7G5cuX7eWzZ882AGP16tWGYRhGdHS0ARgTJ0601wkPDzfc3d2Nnj17GhaLxTAMw8jIyDB69+5tuLm5GYcOHbpqjFar1ejSpYtRsWJFe9mRI0cMV1dX4z//+Y+RmZlpGIZhpKSkGH369DGcnZ2NZ555Jt9x56fN3Jw/f94oUqSI0aZNGyMhIcFenpSUZD9HeHi4ARgVK1Y0du7caa8zbdo0AzDWrl2b77jzc97p06cbhmEYP/74o+Hh4WEMGDDASEtLsx+TVa9s2bLGtm3b7OUbNmwwnJycjNGjR2erm5ff6dX+HvI6DmfPnjUAY9KkSdcc/xvtQ1bdrVu3GoZhGDabzTh//rw9lhkzZtjrp6WlGR06dDAqVKhgZGRkGIZhGK+99pphMpmMVatW2evt3r3bqFChggEYf/75p738gw8+MAAjPj7eXjZ58uRc+7d3717j1KlThmEYxvjx4w3ASEpKytHf3NrMqv/TTz/Zy44dO2YULVrUaNGihb3s5ZdfNgBjwIABRnJysmEYV36HLVq0MMqXL29YrVb7mPj7+xtPPvlktnNfuHDBPm5Xs2XLFgMwfvzxx2zl+Y3x4Ycftvf/7NmzVz1fXsYzN8ePHzd8fX2Nt99+O199zuvfSV6UKlXKqFevXo7yixcvGkC276ANGzYYZrPZaNSokTFgwACjadOmBmA8+OCD2f4WREREROT2UGJDRERE5DbKSmz069fPmDJlijFp0iRj6NChhouLi9GpU6dsD9TffPNNAzCOHDmSo53KlSsbDz/8sGEYuT/IHj16tAEYJ06cyHbc2bNnDZPJZDz77LPZyo8dO2bMnz/f+PLLL40pU6YYjz76qAEYFy9etLdnNpuNiIiIbMdt3LgxxwPAvMadnzZz8+qrrxrANZM0WQ/S//Of/2QrT09PN8xms/HKK6/kO+78nHf69OnGhAkTDLPZbLz++utXrdevX78cn/Xq1cvw8/OzJ33y+ju9VmIjL+Nwo4mNvPQhq27v3r1z1C1XrpzRuHHjHOVZD+p/+eUXwzAMIyQkxOjUqVOOeoMHD85TYqNUqVJGw4YNr9mn/CY2QkNDsyUHsrz99tsGYOzZs8cwjP8lDf6eSDIMw5gxY4YBGMePHzcM48qDeicnpxwP+fPiaomN/Mb466+/5ul8eRlPw7iSMN24caPx9ddfG1OnTjWmTJliVKxY0ejQoYNhGHnvc17/TvIiMDDQaN68eY7yS5cuGYAxaNAge9mpU6dy/Df/66+/Gs7OzsYDDzyQ53OKiIiIyM2hPTZERERECsDZs2fZs2cPaWlpbNmyBR8fH5577jk8PT3tdXbs2IGbmxvr169n/fr1GFdeSsEwDFxdXTl48OBV29+3bx/+/v6ULVs2W3lYWBghISHs27cPgPT0dAYMGMCSJUto3rw5pUqVws3NjQsXLgAQGRlJaGgo+/btIzQ0lJCQkGztZS2p9Hd5jTs/beZm165d+Pn5UaVKlevWrVWrVrafXV1dCQoKsi+Vk5+483Ped955h5MnT/LNN9/wyCOPXLVe7dq1c5TVqVOHBQsWcObMGcqUKZPn3+m15GUcblRe+nC1unFxcZw4cYLSpUszY8YMDMMAwDAMkpKSADh48CD16tUjMjLyque6npiYGM6cOUP37t3z3K/riY6OJiIigr59++b4rG7dusCVv/W/7yfxz99D8eLFATh37hzlypXDzc2NIUOG8MUXX7B161Y6depEq1ataNq0qX3Pj1sdY25j/E95Hc/du3fTo0cP0tLSaNq0KQEBATg5OZGWlkZkZCRAnvqc17+T+++///qDAri7u2dbCitL1vJpf9/bo3Tp0jnqdezYkQEDBjB79mzOnj1LyZIl83ReEREREfn3lNgQERERKQD9+vVj2LBhwJW177t3706XLl3Yvn27fbNai8WCs7MzO3fuzHF8kyZNrrnJdmZm5lU30nV1dSUzMxOAKVOmsGDBAjZu3EjTpk3tdT7//HNWrVplf3BotVpxcXHJ0Zazs7N9090seY07P23mxmq15nmz4H9umA7g4uKS7aFmfuLO63lr1arFhQsXWLhwIQ8//PBVH0rnNg7/3Hclr7/Ta8nLONyovPQhS1BQULafs85/6dKlXMd/6NChVKtWzd7Otc51LVnH53eT6WvJGvfc2swq++fv5p+/h6z+/P33MGXKFHr16sWSJUtYtmwZb7/9NiEhIXzzzTe0bdv2lsf4z99RbvI6ngMHDsTPz49Dhw5lSxbUq1cv29/G9fqc17+TvAoLCyMiIiJHedaeI3lJVNSoUQOAU6dOKbEhIiIichspsSEiIiJSwJycnJg2bRoVK1ZkxIgR9o1yq1Spwu+//84HH3yQ6wPpa6lQoQIrV64kPj4ef39/e3lSUhLnz5+nffv2AOzcuZOQkJBsSQ24sqH4P9tbvXo1ly9fxsvLy15+9OhRe/IjS17jzk+bualatSq//fYbkZGROWZ93Ii8xp2f8z7wwAM89dRTdOvWjU6dOrFkyRK8vb1z1MttE+LDhw/j5uZmf1ia19/pv5WXpFJu8tKHqylatCj+/v6UL1+eqVOnXrVeZmYmPj4+Vz3X9RQtWpSAgIDrzm7JzxgEBwfj6+ub6/mzNu7+5+bUeXXfffdx3333AXDmzBnatGnDiBEj8r1p9a2KMS/jabVa2bt3L6NHj86W1EhJSSE8PDzHDKRr9Tmvfyd51aRJEyZOnJjjv+Vt27YB5PhezM2ZM2eAK2MsIiIiIrePuaADEBEREREIDQ3l2WefZf369fz6668ADBkyBCcnJ1555ZUc9dPS0ggPD79qe/3798cwDN5///1s5e+//z6ZmZn2ZZFKlixJXFwcUVFR9jpHjhxh6dKl2Y7r168fVquVzz77LFv55MmTcXJyylaW17jz02ZuBg0ahLOzM2PHjs2RCDl+/Ph1j/+nvMad3/Ped999rFq1ij179nDfffcRFxeXo87PP/+c7c3xc+fO8cMPP9CrVy/7LI+8/k7/reDgYEwmU65xXkte+nA1ZrOZYcOGsXjxYrZv357j81OnTpGUlISTkxO9e/dm0aJFnDx50v55TEwMP/3003VjNJvNPPHEE/z222+sXbs222cJCQnExMQA2Gfn5GUMnJyc6NOnD8uXL2f//v328suXLzNp0iQqVKhAo0aNrtvO3yUlJXHq1KlsZaVKlaJq1apcvnw5X23dqhghb+Pp7OxMaGioPYGS5YMPPsj2309e+pzXv5O8Gjx4ME5OTnz++ef2MqvVypQpU6hZsyZNmjSxl+e29N/JkyeZPXs299xzT56WphMRERGRm0czNkREREQKieeff54vvviCl19+mY4dO1K9enW+++47Bg4cyPbt22nfvj1eXl6Eh4fz+++/8+abb1KxYsVc22rcuDFvv/0248aNIzw8nIYNG7Jz505+/PFH3njjDVq0aAHAyJEjmTlzJq1ateKxxx4jOjqaVatW8fzzz/Piiy/a22vatCkvvfQSY8eO5eDBg9SqVYu1a9fywAMP4Oyc/Z+UeY07P23mpkaNGsyePZvBgwdz+PBhOnbsSGZmJr/99hvdunVj9OjR+Rr/vMZ9I+dt2LAh69evp3379rRo0YKVK1fa91WAK0mVHj160LZtWwzDYNasWYSFhfHxxx/n+3f6b7m6utKhQwe+/PJL3Nzc8PPzo0aNGjRr1uyax+WlD9fy5ptvcvbsWZo3b07fvn2pWbMmly5dYu/evRw6dIiNGzfi4+PDu+++y5YtW2jcuDGDBg3CxcWF3377jSeeeIIxY8Zc9zxvvPEGR48epV27djzyyCNUr16d06dP89tvv7F06VKCgoJo164d7u7uDBs2jPvvvx8XFxd69ux51bfy33vvPfbs2UPz5s0ZMmQIvr6+zJ07l9jYWH799dc8Jer+LjU1lfbt21OlShXq1KmDv78/O3bsYMWKFXz55Zf5autWxZglL+P5+uuvM3z4cPr27Uu9evXYsmUL3t7eNGnSxJ4My2uf8/p3khfVqlXj448/ZtSoUURERFC9enUWLlzIuXPnWLVqVbaZO1OnTmXz5s20bNmSsLAwTpw4wddff01oaCjz58+/obETERERkRunGRsiIiIit1FYWBhDhw6176Pxd35+fkyZMoUGDRpw4sQJAB566CFOnTrF448/TlJSErGxsTRs2JAdO3bY39D38PBg6NChOTYkHjt2LHv37qV27dqcOXOGGjVqsGfPHl599VV7nRIlSnDw4EGGDBlCREQEpUqVYvXq1bRu3ZqhQ4dmW2d/woQJrFu3juLFixMTE8Po0aMZPnw4Q4YMybFkS17izm+buenfvz/Hjx+nd+/exMTE4OLiwmeffWZPLvj5+TF06FCqVq2a49hHHnnEvuRNfuO+kfNWr16djRs30qJFC7799ttsb6sXL16cJUuW4OPjQ2JiIq+88gq7d+/OsY9KXn6nuf095Hcc5s2bx9ixYzl//jx79uzh/PnzV/8l5KMP14rD2dmZOXPmsGXLFipXrszp06dxc3Nj6NChHD582N5OYGAgO3fuZPz48SQnJ+Ph4cGiRYto27Ztjr/Z2rVrM3To0GwzRlxdXVm4cCFr1qyhZMmSnDt3jqpVq7J582YqV64MQJkyZdi2bRsNGjTg0KFD7Nmzh9TU1Ku2WaRIETZv3szMmTOBKzNInn76acLDw+2bcwM0aNCAoUOHYjZnvw3L+l4ICwsDrswYOXz4MMOGDcPJyYmzZ89Sv359Tpw4wcCBA6/5ewgJCWHo0KGUL18+W/m/jfFq8jKeQ4cOZdOmTVSsWJGIiAgeeeQRvvrqKzp37sxDDz2Urz7n9e8kr55++ml27dpFWFgYJ0+e5OGHH+bQoUM5vk8/++wzvv32W0qWLMmpU6fw8fHh66+/Zv/+/VSqVClf5xQRERGRf89k5GUBYxERERERuemOHTtGxYoVmT59OoMHDy7ocG7IndAHERERERFxLJqxISIiIiIiIiIiIiIiDkN7bIiIiIiIiMgdISIigsWLF1+zTtWqVWnZsuXtCUhEREREbgklNkRERERECsi19pxwFHdCH+TOcfnyZfbs2XPNOt7e3rcnGBERERG5ZbTHhoiIiIiIiIiIiIiIOAztsSEiIiIiIiIiIiIiIg5DiQ0REREREREREREREXEYSmyIiIiIiIiIiIiIiIjDUGJDREREREREREREREQchhIbIiIiIiIiIiIiIiLiMJTYEBERERERERERERERh6HEhoiIiIiIiIiIiIiIOAwlNkRERERERERERERExGEosSEiIiIiIiIiIiIiIg5DiQ0REREREREREREREXEYSmyIiIiIiIiIiIiIiIjDUGJDREREREREREREREQchhIbIiIiIiIiIiIiIiLiMJTYEBERERERERERERERh6HEhoiIiIiIiIiIiIiIOAwlNkRERERERERERERExGEosSEiIiIiIiIiIiIiIg5DiQ0REREREREREREREXEYSmyIiIiIiIiIiIiIiIjDUGJDREREREREREREREQchhIbIiIiIiIiIiIiIiLiMJTYEBERERERERERERERh6HEhoiIiIiIiIiIiIiIOAwlNkRERERERERERERExGEosSEiIiIiIiIiIiIiIg5DiQ0REREREREREREREXEYSmyIiIiIiIiIiIiIiIjDUGJDREREREREREREREQchhIbIiIiIiIiIiIiIiLiMJTYEBERERERERERERERh6HEhoiIiIiIiIiIiIiIOAwlNkRERERERERERERExGEosSEiIiIiIiIiIiIiIg5DiQ0REREREREREREREXEYSmyIiIiIiIiIiIiIiIjDUGJDREREREREREREREQchhIbIiIiIiIiIiIiIiLiMJTYEBERERERERERERERh6HEhoiIiIiIiIiIiIiIOAwlNkRERERERERERERExGEosSFyA1q1akWzZs0ctn0RESkY7u7uPP/88w7bvoiIiIiIXNu7776LyWQiISHhprY7depUTCYT586du6ntFhRH6Y+jxHk3UmJDxEE0atSIVq1aFXQYIiLiYEwmEy+99FJBhyEiIiIiUuA++eQTTCYTERERBR1KoaUxuj6NUeHgXNABiEhOa9euLegQRETEAaWlpRV0CCIiIiIiItc1bNgwhg0bVtBhXJejxHk30owNERERERERERERERFxGEpsyB3voYceIjAwkPT09ByfDRw4EF9fXy5fvmwvW7FiBW3atMHX1xcPDw8aNWrE8uXL83SuGTNmULt2bdzd3SlSpAidOnVi165dOeqtWLGCtm3bUqRIEXx9fWnTpk22WRr/3GMjNDSUbdu2sW7dOkwmEyaTidDQUAD69u1LQEAAqampOc7z2GOP5ejftezYsQM3NzcGDRqUrXzTpk24uLjw5JNP5qkdERFHZ7PZKFOmDG3bts318+rVq9O0aVP7z4ZhMGXKFOrUqYOHhwd+fn488MAD7N+//7rnSktLY9y4cZQvXx43NzdCQ0P5z3/+w4ULF7LVMwyDqVOnUr9+fby8vAgJCaF3796Eh4fb6/x9j41Tp05hMpkAeO+99+zXj27dumGz2ShfvvxVlzisUqUKTZo0uW7swE1tS0TkTjZjxgxMJhOHDx9m9OjRFC1aFC8vL+6//34OHz6ca90jR47wyiuvUKJECcxmM8nJyQCsW7eODh064Ofnh7u7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u3fvZu7cufTr14+yZcsWdDgiIuIAbDYb3333Hfv37+fzzz/HycmpULQlIiIiIiLiqBISEnjrrbcIDAxk6NChBR3OHUszNkQcnNVqxWQy0axZM1q3bs2nn36ao85LL72EyWS65v8WL158+4MXEZECs3HjRpycnHj66ad56qmnGD58eI46rVq1uu71IyIiIk9tiYiIiIiIY9qzZ8917wv69OlT0GEWCr169SIoKIioqCh+/PFH/Pz8CjqkO5b22BAREREREREREREREYehGRsiIiIiIiIiIiIiIuIwlNgQERERERERERERERGHoc3D88Bms3HhwgV8fHwwmUwFHY6IyA0xDIOkpCSKFy+O2ay89q2ma4eI3Al07bj9dP0QkTuBrh+3n64fInInyM/1Q4mNPLhw4QIlS5Ys6DBERG6Ks2fPEhYWVtBh3PF07RCRO4muHbePrh8icifR9eP20fVDRO4kebl+KLGRBz4+PsCVAfX19S3gaK5k4ePj4/H397+j3nxQvxzLndivO7FP8L9+OTk5Ubp0aft3mtxahe3acS2O/rev+Aueo/dB8V9dYmIiJUuW1LXjNnKk60dh4uj/HRc0jd+/o/HLSdeP268wXD/030LeaJzyRuOUN3faOOXn+qHERh5kTeHz9fUtFDcXNpsNq9WKr6/vHfEHm0X9cix3Yr/uxD7B//rl7HzlK1/Tkm+PwnbtuBZH/9tX/AXP0fug+K9P147bx5GuH4WJo/93XNA0fv+Oxu/qdP24fQrD9UP/LeSNxilvNE55c6eOU16uH3dOb0VERERERERERERE5I6nxIaIiIiIiIiIiIiIiDgMJTZERERERERERERERMRhKLEhIiIiIiIiIiIiIiIOQ5uHi4iIiIiIiIiI3ESXL18mPDyc4OBgSpQocc26J06cICoqKke5k5MT9evXv1Uhiog4NCU2REREREREREREbpKZM2fyzDPPUKxYMc6dO0fHjh35/vvv8fDwyLX+vHnzWLJkSbaygwcPEhgYyMmTJ29HyCIiDkeJDRERB2Gx2lh7JIro5HSCvd1oVbkors5aUVBERERERG4+3X/cmL179/LEE0/w3Xff0adPHyIiImjQoAGvvPIKH374Ya7HjBkzhjFjxth/Tk5OplixYjz22GO3K2wRkZsmOc3K5LXHOJ+QSokiHoxoVQFv95ufhlBiQ0TE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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Pick a validation case if present, otherwise test, otherwise train.\n", + "case_id = (split_manifest.get(\"val_ids\") or split_manifest.get(\"test_ids\") or split_manifest.get(\"train_ids\"))[0]\n", + "features, targets = load_case(case_id)\n", + "predictions = predict_targets(features)\n", + "\n", + "print(f\"case: {case_id}\")\n", + "print(\"target names:\", checkpoint[\"target_names\"])\n", + "print(\"first 5 predictions:\")\n", + "print(predictions[:5])\n", + "print(\"first 5 actual targets:\")\n", + "print(targets[:5])\n", + "\n", + "fig, axes = plt.subplots(1, len(checkpoint[\"target_names\"]), figsize=(4 * len(checkpoint[\"target_names\"]), 3.8))\n", + "if len(checkpoint[\"target_names\"]) == 1:\n", + " axes = [axes]\n", + "for index, (ax, name) in enumerate(zip(axes, checkpoint[\"target_names\"])):\n", + " ax.scatter(targets[:, index], predictions[:, index], s=12, alpha=0.7)\n", + " low = float(min(targets[:, index].min(), predictions[:, index].min()))\n", + " high = float(max(targets[:, index].max(), predictions[:, index].max()))\n", + " ax.plot([low, high], [low, high], color=\"black\", linewidth=1)\n", + " ax.set_title(name)\n", + " ax.set_xlabel(\"actual\")\n", + " ax.set_ylabel(\"predicted\")\n", + " ax.grid(alpha=0.25)\n", + "fig.suptitle(f\"Reloaded checkpoint predictions for {case_id}\", y=1.03)\n", + "fig.tight_layout()\n" + ] + }, + { + "cell_type": "markdown", + "id": "5901d5d7", + "metadata": {}, + "source": [ + "## What good looks like\n", + "\n", + "For this tiny baseline sanity run:\n", + "\n", + "- `train_loss` is finite and much lower than `initial_train_loss`.\n", + "- `val_loss` and `test_loss` are finite.\n", + "- The loss curve falls on a log-scale plot rather than staying flat or exploding.\n", + "- `checkpoint.pt` loads on CPU and reconstructs `PointwiseMLP` without missing/unexpected keys.\n", + "- Reloaded predictions have the expected target channels and roughly follow the identity line in predicted-vs-actual plots.\n", + "\n", + "This does not prove the model is scientifically useful. It proves the training framework can run end-to-end, write readable artifacts, reload the model, and produce numerically sensible outputs on the processed mini dataset.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/pyproject.toml b/pyproject.toml index 409b4f3..fd545a1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,6 +10,7 @@ dependencies = [ [project.scripts] airfrans-frontier = "airfrans_frontier.cli:main" +remote-run = "airfrans_frontier.remote.cli:main" [tool.hatch.build.targets.wheel] packages = ["src/airfrans_frontier"] @@ -25,4 +26,5 @@ dev = [ "numpy>=2.4.0", "nbclient>=0.10.2", "nbformat>=5.10.4", + "skypilot[vast]>=0.12.3.post1", ] diff --git a/src/airfrans_frontier/remote/__init__.py b/src/airfrans_frontier/remote/__init__.py new file mode 100644 index 0000000..7f54a6b --- /dev/null +++ b/src/airfrans_frontier/remote/__init__.py @@ -0,0 +1 @@ +"""Remote GPU smoke-run orchestration helpers.""" diff --git a/src/airfrans_frontier/remote/artifacts.py b/src/airfrans_frontier/remote/artifacts.py new file mode 100644 index 0000000..b4a1108 --- /dev/null +++ b/src/airfrans_frontier/remote/artifacts.py @@ -0,0 +1,71 @@ +from __future__ import annotations + +import hashlib +import json +from pathlib import Path +from typing import Any, Iterable + + +DEFAULT_REQUIRED = ("final_metrics.json", "metrics.jsonl", "checkpoint.pt", "run_manifest.json") + + +def verify_artifacts(artifact_dir: str | Path, required: Iterable[str] = DEFAULT_REQUIRED) -> dict[str, Any]: + root = Path(artifact_dir) + if not root.exists(): + raise FileNotFoundError(f"Artifact directory not found: {root}") + if not root.is_dir(): + raise ValueError(f"Artifact path is not a directory: {root}") + + missing = [name for name in required if not (root / name).is_file()] + if missing: + raise ValueError(f"Artifact directory missing required files: {', '.join(missing)}") + + _validate_json(root / "final_metrics.json") + _validate_json(root / "run_manifest.json") + _validate_jsonl(root / "metrics.jsonl") + + files = sorted(path for path in root.rglob("*") if path.is_file()) + manifest = { + "artifact_dir": str(root), + "file_count": len(files), + "files": [ + { + "path": str(path.relative_to(root)), + "bytes": path.stat().st_size, + "sha256": sha256_file(path), + } + for path in files + ], + } + (root / "artifact_manifest.json").write_text(json.dumps(manifest, indent=2, sort_keys=True) + "\n") + (root / "checksums.txt").write_text( + "".join(f"{item['sha256']} {item['path']}\n" for item in manifest["files"]) + ) + return manifest + + +def sha256_file(path: Path) -> str: + digest = hashlib.sha256() + with path.open("rb") as file: + for chunk in iter(lambda: file.read(1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +def _validate_json(path: Path) -> None: + try: + json.loads(path.read_text()) + except json.JSONDecodeError as exc: + raise ValueError(f"Invalid JSON artifact {path}: {exc}") from exc + + +def _validate_jsonl(path: Path) -> None: + with path.open() as file: + for line_number, line in enumerate(file, start=1): + stripped = line.strip() + if not stripped: + continue + try: + json.loads(stripped) + except json.JSONDecodeError as exc: + raise ValueError(f"Invalid JSONL artifact {path}:{line_number}: {exc}") from exc diff --git a/src/airfrans_frontier/remote/cli.py b/src/airfrans_frontier/remote/cli.py new file mode 100644 index 0000000..b1d7188 --- /dev/null +++ b/src/airfrans_frontier/remote/cli.py @@ -0,0 +1,241 @@ +from __future__ import annotations + +import argparse +import json +import os +import shutil +import subprocess +import sys +import time +from pathlib import Path +from typing import Any + +from airfrans_frontier.remote.artifacts import verify_artifacts +from airfrans_frontier.remote.config import RemoteRunConfig, load_remote_run_config +from airfrans_frontier.remote.skypilot import render_skypilot_yaml, write_skyignore +from airfrans_frontier.remote.skypilot_patch import apply_patch, patch_status, require_patch +from airfrans_frontier.remote.smoke import run_smoke_training +from airfrans_frontier.remote.vast import SelectionResult, select_offer + + +def build_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser(prog="remote-run") + subparsers = parser.add_subparsers(required=True) + + doctor = subparsers.add_parser("doctor", help="check local remote-run and SkyPilot readiness") + doctor.add_argument("--apply-skypilot-patch", action="store_true") + doctor.set_defaults(command="doctor") + + select = subparsers.add_parser("select", help="select a Vast.ai offer from a remote config") + select.add_argument("config") + select.add_argument("--out") + select.set_defaults(command="select") + + render = subparsers.add_parser("render", help="render patched SkyPilot YAML") + render.add_argument("config") + render.add_argument("--selection", required=True) + render.add_argument("--run-id", required=True) + render.add_argument("--out") + render.set_defaults(command="render") + + verify = subparsers.add_parser("verify-artifacts", help="verify a collected artifact directory") + verify.add_argument("artifact_dir") + verify.set_defaults(command="verify-artifacts") + + smoke = subparsers.add_parser("smoke-train", help="run the configured smoke training job and flatten artifacts") + smoke.add_argument("training_config") + smoke.add_argument("--artifact-dir", required=True) + smoke.add_argument("--run-id", required=True) + smoke.set_defaults(command="smoke-train") + + run = subparsers.add_parser("run", help="select a Vast offer and execute a SkyPilot run") + run.add_argument("config") + run.add_argument("--dry-run", action="store_true") + run.add_argument("--skip-down", action="store_true", help="leave the SkyPilot cluster running after collection") + run.set_defaults(command="run") + + return parser + + +def main(argv: list[str] | None = None) -> int: + parser = build_parser() + args = parser.parse_args(argv) + try: + if args.command == "doctor": + return _doctor(apply=args.apply_skypilot_patch) + if args.command == "select": + config = load_remote_run_config(args.config) + result = select_offer(config) + _emit_json(result.to_manifest(), args.out) + return 0 + if args.command == "render": + config = load_remote_run_config(args.config) + selection = _selection_from_manifest(Path(args.selection)) + text = render_skypilot_yaml(config, selection, run_id=args.run_id) + if args.out: + Path(args.out).write_text(text) + else: + print(text) + return 0 + if args.command == "verify-artifacts": + manifest = verify_artifacts(args.artifact_dir) + print(json.dumps({"status": "ok", "file_count": manifest["file_count"]}, sort_keys=True)) + return 0 + if args.command == "smoke-train": + output = run_smoke_training(args.training_config, artifact_dir=args.artifact_dir, run_id=args.run_id) + print(f"artifact_dir: {output}") + return 0 + if args.command == "run": + return _run(args.config, dry_run=args.dry_run, skip_down=args.skip_down) + except (FileNotFoundError, NotADirectoryError, ValueError, RuntimeError, subprocess.CalledProcessError) as exc: + print(f"error: {exc}", file=sys.stderr) + return 1 + parser.error(f"unknown command: {args.command}") + return 2 + + +def _doctor(*, apply: bool) -> int: + problems: list[str] = [] + if not os.environ.get("VAST_API_KEY"): + problems.append("VAST_API_KEY is not set") + sky = shutil.which("sky") + if not sky: + problems.append("sky executable not found on PATH") + if apply: + status = apply_patch() + else: + status = patch_status() + if not status.installed: + problems.append(status.message) + elif not status.patched: + problems.append(status.message) + payload = { + "vast_api_key_present": bool(os.environ.get("VAST_API_KEY")), + "sky_executable": sky, + "skypilot_patch": { + "path": str(status.path) if status.path else None, + "installed": status.installed, + "patched": status.patched, + "message": status.message, + }, + "problems": problems, + } + print(json.dumps(payload, indent=2, sort_keys=True)) + return 1 if problems else 0 + + +def _run(config_path: str | Path, *, dry_run: bool, skip_down: bool) -> int: + config = load_remote_run_config(config_path) + if not dry_run: + require_patch() + run_id = f"{config.run.name}-{time.strftime('%Y%m%dT%H%M%SZ', time.gmtime())}" + local_run_dir = config.run.local_artifact_dir / run_id + local_run_dir.mkdir(parents=True, exist_ok=False) + state_path = local_run_dir / "orchestrator_state.json" + + def state(phase: str, **extra: Any) -> None: + payload = { + "run_id": run_id, + "phase": phase, + "updated_at": time.time(), + "config_path": str(config.path), + **extra, + } + state_path.write_text(json.dumps(payload, indent=2, sort_keys=True) + "\n") + + state("SELECTING_OFFER") + selection = select_offer(config) + selection_path = local_run_dir / "selection_manifest.json" + selection_path.write_text(json.dumps(selection.to_manifest(), indent=2, sort_keys=True) + "\n") + + state("RENDERING_SKYPILOT_CONFIG", selected_offer_id=selection.selected_offer_id) + sky_yaml = render_skypilot_yaml(config, selection, run_id=run_id) + sky_yaml_path = local_run_dir / "sky.yaml" + sky_yaml_path.write_text(sky_yaml) + (local_run_dir / "config.toml").write_text(config.raw_text) + write_skyignore(config) + + if dry_run: + state("DRY_RUN", selected_offer_id=selection.selected_offer_id, sky_yaml=str(sky_yaml_path)) + print(f"run_id: {run_id}") + print(f"selection: {selection_path}") + print(f"sky_yaml: {sky_yaml_path}") + return 0 + + env = _subprocess_env() + try: + state("PROVISIONING", selected_offer_id=selection.selected_offer_id) + _run_checked(["sky", "launch", "-c", run_id, str(sky_yaml_path), "-y"], env=env, timeout=config.run.timeout_minutes * 60) + + state("COLLECTING", selected_offer_id=selection.selected_offer_id) + _collect_with_rsync(cluster=run_id, remote_dir=config.job.artifact_dir, local_dir=local_run_dir, env=env) + + state("VERIFYING_ARTIFACTS", selected_offer_id=selection.selected_offer_id) + verify_artifacts(local_run_dir, required=config.artifacts.required) + except Exception as exc: + state("FAILED", selected_offer_id=selection.selected_offer_id, error=str(exc)) + if config.cleanup.on_failure == "sky_down" and not skip_down: + _run_best_effort(["sky", "down", run_id, "-y"], env=env) + raise + else: + if config.cleanup.on_success == "sky_down" and not skip_down: + state("CLEANING_UP", selected_offer_id=selection.selected_offer_id) + _run_checked(["sky", "down", run_id, "-y"], env=env, timeout=300) + state("SUCCEEDED", selected_offer_id=selection.selected_offer_id) + print(f"run_id: {run_id}") + print(f"artifacts: {local_run_dir}") + return 0 + + +def _collect_with_rsync(*, cluster: str, remote_dir: Path, local_dir: Path, env: dict[str, str]) -> None: + local_dir.mkdir(parents=True, exist_ok=True) + source = f"{cluster}:~/sky_workdir/{remote_dir}/" + _run_checked(["rsync", "-Pavz", source, f"{local_dir}/"], env=env, timeout=600) + + +def _run_checked(argv: list[str], *, env: dict[str, str], timeout: int) -> None: + subprocess.run(argv, check=True, env=env, timeout=timeout) + + +def _run_best_effort(argv: list[str], *, env: dict[str, str]) -> None: + try: + subprocess.run(argv, check=False, env=env, timeout=300) + except Exception: + pass + + +def _subprocess_env() -> dict[str, str]: + env = dict(os.environ) + env.pop("PYTHONPATH", None) + return env + + +def _emit_json(data: dict[str, Any], out: str | None) -> None: + text = json.dumps(data, indent=2, sort_keys=True) + "\n" + if out: + Path(out).write_text(text) + else: + print(text, end="") + + +def _selection_from_manifest(path: Path) -> SelectionResult: + from airfrans_frontier.remote.vast import VastOffer, effective_price + + data = json.loads(path.read_text()) + raw_offer = data.get("selected_offer") + if not isinstance(raw_offer, dict): + raise ValueError(f"Selection manifest missing selected_offer object: {path}") + offer = VastOffer.from_mapping({**raw_offer, "id": data.get("selected_offer_id", raw_offer.get("id"))}) + # Preserve manifest values by building a minimal SelectionResult. Effective price is already stored. + return SelectionResult( + selected_offer=offer, + candidate_count=int(data.get("candidate_count", 0)), + survivor_count=int(data.get("survivor_count", 0)), + effective_price=float(raw_offer.get("effective_price", data.get("effective_price", 0.0))) if raw_offer else 0.0, + query=data.get("query", {}) if isinstance(data.get("query"), dict) else {}, + policy=data.get("policy", {}) if isinstance(data.get("policy"), dict) else {}, + ) + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/src/airfrans_frontier/remote/config.py b/src/airfrans_frontier/remote/config.py new file mode 100644 index 0000000..69cc305 --- /dev/null +++ b/src/airfrans_frontier/remote/config.py @@ -0,0 +1,331 @@ +from __future__ import annotations + +import tomllib +from dataclasses import dataclass +from pathlib import Path +from typing import Any + + +@dataclass(frozen=True) +class RunConfig: + name: str + timeout_minutes: int + local_artifact_dir: Path + max_attempts: int + + +@dataclass(frozen=True) +class GpuConfig: + name: str | None + count: int + min_vram_gb: int | None + + +@dataclass(frozen=True) +class ProviderConfig: + kind: str + gpu: GpuConfig + disk_gb: int + max_price_per_hour: float | None + image: str | None + + +@dataclass(frozen=True) +class SelectionConfig: + min_reliability: float + min_down_mbps: float + min_up_mbps: float | None + require_verified: bool + blocked_geos: tuple[str, ...] + blacklist_hosts: tuple[int, ...] + drop_cheap_frac: float + image_size_gb: float | None + base_url: str + + +@dataclass(frozen=True) +class WorkspaceConfig: + workdir: Path + exclude: tuple[str, ...] + + +@dataclass(frozen=True) +class BootstrapConfig: + command: str + + +@dataclass(frozen=True) +class DataConfig: + validation_command: str | None + + +@dataclass(frozen=True) +class JobConfig: + command: str + artifact_dir: Path + heartbeat_file: Path + metrics_file: Path + + +@dataclass(frozen=True) +class ArtifactConfig: + mode: str + required: tuple[str, ...] + + +@dataclass(frozen=True) +class CleanupConfig: + on_success: str + on_failure: str + + +@dataclass(frozen=True) +class RemoteRunConfig: + path: Path + raw_text: str + run: RunConfig + provider: ProviderConfig + selection: SelectionConfig + workspace: WorkspaceConfig + bootstrap: BootstrapConfig + data: DataConfig + job: JobConfig + artifacts: ArtifactConfig + cleanup: CleanupConfig + + +_REQUIRED_SECTIONS = ("run", "provider", "selection", "workspace", "bootstrap", "job", "artifacts") + + +def load_remote_run_config(path: str | Path) -> RemoteRunConfig: + config_path = Path(path).expanduser() + if not config_path.exists(): + raise FileNotFoundError(f"Remote run config not found: {config_path}") + if not config_path.is_file(): + raise ValueError(f"Remote run config is not a file: {config_path}") + + text = config_path.read_text() + try: + raw = tomllib.loads(text) + except tomllib.TOMLDecodeError as exc: + raise ValueError(f"Invalid TOML config {config_path}: {exc}") from exc + + for section in _REQUIRED_SECTIONS: + if section not in raw or not isinstance(raw[section], dict): + raise ValueError(f"Remote run config missing [{section}] section") + + run_raw = raw["run"] + provider_raw = raw["provider"] + gpu_raw = _table(provider_raw, "gpu") + selection_raw = raw["selection"] + workspace_raw = raw["workspace"] + bootstrap_raw = raw["bootstrap"] + data_raw = raw.get("data", {}) + if data_raw is None: + data_raw = {} + if not isinstance(data_raw, dict): + raise ValueError("Remote run [data] section must be a table") + job_raw = raw["job"] + artifacts_raw = raw["artifacts"] + cleanup_raw = raw.get("cleanup", {}) + if cleanup_raw is None: + cleanup_raw = {} + if not isinstance(cleanup_raw, dict): + raise ValueError("Remote run [cleanup] section must be a table") + + gpu = GpuConfig( + name=_optional_string(gpu_raw, "name"), + count=_integer(gpu_raw, "count", minimum=1), + min_vram_gb=_optional_integer(gpu_raw, "min_vram_gb", minimum=1), + ) + provider = ProviderConfig( + kind=_choice(_string(provider_raw, "kind"), {"vastai"}, "provider.kind"), + gpu=gpu, + disk_gb=_integer(provider_raw, "disk_gb", minimum=16), + max_price_per_hour=_optional_number(provider_raw, "max_price_per_hour", minimum=0.0, exclusive_minimum=True), + image=_optional_string(provider_raw, "image"), + ) + + drop_cheap_frac = _number(selection_raw, "drop_cheap_frac", default=0.30, minimum=0.0) + if drop_cheap_frac >= 1.0: + raise ValueError("selection.drop_cheap_frac must be less than 1.0") + selection = SelectionConfig( + min_reliability=_number(selection_raw, "min_reliability", default=0.95, minimum=0.0), + min_down_mbps=_number(selection_raw, "min_down_mbps", default=100.0, minimum=0.0), + min_up_mbps=_optional_number(selection_raw, "min_up_mbps", minimum=0.0, exclusive_minimum=True), + require_verified=_boolean(selection_raw, "require_verified", default=False), + blocked_geos=_string_tuple(selection_raw, "blocked_geos", default=("CN",)), + blacklist_hosts=tuple(int(value) for value in _integer_list(selection_raw, "blacklist_hosts", default=(59017,))), + drop_cheap_frac=drop_cheap_frac, + image_size_gb=_optional_number(selection_raw, "image_size_gb", minimum=0.0, exclusive_minimum=True), + base_url=_string(selection_raw, "base_url", default="https://cloud.vast.ai"), + ) + + workspace = WorkspaceConfig( + workdir=_path(workspace_raw, "workdir", default="."), + exclude=_string_tuple(workspace_raw, "exclude", default=()), + ) + bootstrap = BootstrapConfig(command=_string(bootstrap_raw, "command")) + data = DataConfig(validation_command=_optional_string(data_raw, "validation_command")) + job = JobConfig( + command=_string(job_raw, "command"), + artifact_dir=Path(_string(job_raw, "artifact_dir")), + heartbeat_file=Path(_string(job_raw, "heartbeat_file", default="artifacts/current_run/heartbeat.json")), + metrics_file=Path(_string(job_raw, "metrics_file", default="artifacts/current_run/metrics.jsonl")), + ) + artifacts = ArtifactConfig( + mode=_choice(_string(artifacts_raw, "mode", default="rsync"), {"rsync", "object_store_upload"}, "artifacts.mode"), + required=_string_tuple(artifacts_raw, "required", default=("final_metrics.json", "metrics.jsonl", "checkpoint.pt", "run_manifest.json")), + ) + cleanup = CleanupConfig( + on_success=_choice(_string(cleanup_raw, "on_success", default="sky_down"), {"sky_down", "keep"}, "cleanup.on_success"), + on_failure=_choice(_string(cleanup_raw, "on_failure", default="collect_then_keep"), {"collect_then_keep", "sky_down"}, "cleanup.on_failure"), + ) + + return RemoteRunConfig( + path=config_path, + raw_text=text, + run=RunConfig( + name=_string(run_raw, "name"), + timeout_minutes=_integer(run_raw, "timeout_minutes", minimum=1, default=60), + local_artifact_dir=_path(run_raw, "local_artifact_dir", default="artifacts/remote_runs"), + max_attempts=_integer(run_raw, "max_attempts", minimum=1, default=2), + ), + provider=provider, + selection=selection, + workspace=workspace, + bootstrap=bootstrap, + data=data, + job=job, + artifacts=artifacts, + cleanup=cleanup, + ) + + +def _table(section: dict[str, Any], key: str) -> dict[str, Any]: + value = section.get(key) + if not isinstance(value, dict): + raise ValueError(f"Remote run config missing table: {key}") + return value + + +def _path(section: dict[str, Any], key: str, *, default: str | None = None) -> Path: + return Path(_string(section, key, default=default)).expanduser() + + +def _string(section: dict[str, Any], key: str, *, default: str | None = None) -> str: + if key not in section: + if default is not None: + return default + raise ValueError(f"Remote run config missing key: {key}") + value = section[key] + if not isinstance(value, str) or not value: + raise ValueError(f"Remote run config key must be a non-empty string: {key}") + return value + + +def _optional_string(section: dict[str, Any], key: str) -> str | None: + if key not in section: + return None + return _string(section, key) + + +def _integer(section: dict[str, Any], key: str, *, minimum: int | None = None, default: int | None = None) -> int: + if key not in section: + if default is not None: + return default + raise ValueError(f"Remote run config missing key: {key}") + value = section[key] + if not isinstance(value, int): + raise ValueError(f"Remote run config key must be an integer: {key}") + if minimum is not None and value < minimum: + raise ValueError(f"Remote run config key must be >= {minimum}: {key}") + return value + + +def _optional_integer(section: dict[str, Any], key: str, *, minimum: int | None = None) -> int | None: + if key not in section: + return None + return _integer(section, key, minimum=minimum) + + +def _integer_list(section: dict[str, Any], key: str, *, default: tuple[int, ...]) -> tuple[int, ...]: + if key not in section: + return default + value = section[key] + if not isinstance(value, list): + raise ValueError(f"Remote run config key must be a list of integers: {key}") + result: list[int] = [] + for item in value: + if not isinstance(item, int): + raise ValueError(f"Remote run config key must be a list of integers: {key}") + result.append(item) + return tuple(result) + + +def _number( + section: dict[str, Any], + key: str, + *, + default: float | None = None, + minimum: float | None = None, + exclusive_minimum: bool = False, +) -> float: + if key not in section: + if default is not None: + return default + raise ValueError(f"Remote run config missing key: {key}") + value = section[key] + if not isinstance(value, (int, float)): + raise ValueError(f"Remote run config key must be a number: {key}") + result = float(value) + if minimum is not None: + invalid = result <= minimum if exclusive_minimum else result < minimum + if invalid: + comparator = ">" if exclusive_minimum else ">=" + raise ValueError(f"Remote run config key must be {comparator} {minimum}: {key}") + return result + + +def _optional_number( + section: dict[str, Any], + key: str, + *, + minimum: float | None = None, + exclusive_minimum: bool = False, +) -> float | None: + if key not in section: + return None + return _number(section, key, minimum=minimum, exclusive_minimum=exclusive_minimum) + + +def _boolean(section: dict[str, Any], key: str, *, default: bool | None = None) -> bool: + if key not in section: + if default is not None: + return default + raise ValueError(f"Remote run config missing key: {key}") + value = section[key] + if not isinstance(value, bool): + raise ValueError(f"Remote run config key must be a boolean: {key}") + return value + + +def _string_tuple(section: dict[str, Any], key: str, *, default: tuple[str, ...]) -> tuple[str, ...]: + if key not in section: + return default + value = section[key] + if not isinstance(value, list): + raise ValueError(f"Remote run config key must be a list of strings: {key}") + result: list[str] = [] + for item in value: + if not isinstance(item, str): + raise ValueError(f"Remote run config key must be a list of strings: {key}") + result.append(item) + return tuple(result) + + +def _choice(value: str, allowed: set[str], key: str) -> str: + if value not in allowed: + allowed_values = ", ".join(sorted(allowed)) + raise ValueError(f"Unsupported {key}: {value}; expected one of {allowed_values}") + return value diff --git a/src/airfrans_frontier/remote/skypilot.py b/src/airfrans_frontier/remote/skypilot.py new file mode 100644 index 0000000..4e9c9b6 --- /dev/null +++ b/src/airfrans_frontier/remote/skypilot.py @@ -0,0 +1,105 @@ +from __future__ import annotations + +from pathlib import Path + +from airfrans_frontier.remote.config import RemoteRunConfig +from airfrans_frontier.remote.vast import SelectionResult + + +def render_skypilot_yaml(config: RemoteRunConfig, selection: SelectionResult, *, run_id: str) -> str: + setup = _compose_setup(config) + run = _compose_run(config, run_id=run_id) + accelerator = _accelerator(config) + lines = [ + f"name: {run_id}", + "", + "resources:", + " infra: vast", + f" accelerators: {accelerator}", + f" disk_size: {config.provider.disk_gb}", + ] + if config.provider.max_price_per_hour is not None: + lines.append(f" max_hourly_cost: {config.provider.max_price_per_hour}") + if config.provider.image: + image = config.provider.image + if not image.startswith("docker:"): + image = f"docker:{image}" + lines.append(f" image_id: {image}") + lines.extend( + [ + "", + f"workdir: {_yaml_scalar(str(config.workspace.workdir))}", + "", + "envs:", + f" AIRFRANS_REMOTE_RUN_ID: {run_id}", + "", + "setup: |", + *_indent_block(setup), + "", + "run: |", + *_indent_block(run), + "", + "config:", + " vast:", + " create_instance_kwargs:", + f" selected_offer_id: {selection.selected_offer_id}", + "", + ] + ) + return "\n".join(lines) + + +def write_skyignore(config: RemoteRunConfig, path: str | Path = ".skyignore") -> Path: + skyignore_path = Path(path) + entries = list(config.workspace.exclude) + content = "\n".join(entries).rstrip() + "\n" + skyignore_path.write_text(content) + return skyignore_path + + +def _compose_setup(config: RemoteRunConfig) -> str: + return "\n".join( + [ + "set -euo pipefail", + "export PATH=\"$HOME/.local/bin:$PATH\"", + "if ! command -v uv >/dev/null 2>&1; then curl -LsSf https://astral.sh/uv/install.sh | sh; fi", + "export PATH=\"$HOME/.local/bin:$PATH\"", + config.bootstrap.command.strip(), + ] + ) + + +def _compose_run(config: RemoteRunConfig, *, run_id: str) -> str: + lines = [ + "set -euo pipefail", + "export PATH=\"$HOME/.local/bin:$PATH\"", + f"mkdir -p {_sh_quote(str(config.job.artifact_dir))}", + f"nvidia-smi | tee {_sh_quote(str(config.job.artifact_dir / 'nvidia_smi.txt'))}", + ] + if config.data.validation_command: + lines.append(config.data.validation_command.strip()) + lines.append(config.job.command.strip()) + lines.append(f"uv run --no-dev remote-run verify-artifacts {_sh_quote(str(config.job.artifact_dir))}") + lines.append(f"echo 'remote run {run_id} complete'") + return "\n".join(lines) + + +def _accelerator(config: RemoteRunConfig) -> str: + name = config.provider.gpu.name or "T4" + # SkyPilot accelerator names omit spaces for common Vast names. + sky_name = name.replace(" ", "") + return f"{sky_name}:{config.provider.gpu.count}" + + +def _indent_block(text: str) -> list[str]: + return [f" {line}" if line else "" for line in text.splitlines()] + + +def _yaml_scalar(value: str) -> str: + if value and all(ch.isalnum() or ch in "./_-" for ch in value): + return value + return repr(value) + + +def _sh_quote(value: str) -> str: + return "'" + value.replace("'", "'\\''") + "'" diff --git a/src/airfrans_frontier/remote/skypilot_patch.py b/src/airfrans_frontier/remote/skypilot_patch.py new file mode 100644 index 0000000..d6fccd5 --- /dev/null +++ b/src/airfrans_frontier/remote/skypilot_patch.py @@ -0,0 +1,83 @@ +from __future__ import annotations + +import importlib +from dataclasses import dataclass +from pathlib import Path + + +PATCH_MARKER = "AIRFRANS_SELECTED_OFFER_ID_PATCH" +SDK_API_KEY_MARKER = "AIRFRANS_VAST_SDK_API_KEY_PATCH" + + +@dataclass(frozen=True) +class PatchStatus: + path: Path | None + installed: bool + patched: bool + message: str + + +def locate_vast_utils() -> Path: + try: + module = importlib.import_module("sky.provision.vast.utils") + except ModuleNotFoundError as exc: + raise RuntimeError("SkyPilot is not importable in this Python environment") from exc + path = getattr(module, "__file__", None) + if not path: + raise RuntimeError("Could not locate sky.provision.vast.utils source file") + return Path(path) + + +def patch_status() -> PatchStatus: + try: + path = locate_vast_utils() + except RuntimeError as exc: + return PatchStatus(path=None, installed=False, patched=False, message=str(exc)) + text = path.read_text() + patched = PATCH_MARKER in text and SDK_API_KEY_MARKER in text + if patched: + return PatchStatus(path=path, installed=True, patched=True, message="SkyPilot Vast selected-offer patch is installed") + return PatchStatus(path=path, installed=True, patched=False, message="SkyPilot Vast selected-offer patch is missing") + + +def apply_patch() -> PatchStatus: + path = locate_vast_utils() + text = path.read_text() + already_selected = PATCH_MARKER in text + already_api_key = SDK_API_KEY_MARKER in text + if already_selected and already_api_key: + return PatchStatus(path=path, installed=True, patched=True, message="SkyPilot Vast selected-offer patch already installed") + + if not already_selected: + old = ''' instance_list = vast.vast().search_offers(query=query_str)\n\n if isinstance(instance_list, int) or len(instance_list) == 0:\n raise RuntimeError('Failed to create instances, could not find an '\n 'offer that satisfies the requirements '\n f'"{query_str}".')\n\n instance_touse = instance_list[0]\n\n # Start with user-provided kwargs as the base\n launch_params: Dict[str, Any] = dict(create_instance_kwargs or {})\n # Remove None values to avoid overriding defaults\n launch_params = {k: v for k, v in launch_params.items() if v is not None}\n''' + new = f''' # {PATCH_MARKER}: allow callers to bypass SkyPilot's Vast offer\n # search after selecting a vetted Vast offer themselves. This keeps\n # SkyPilot's create/wait/bootstrap/run lifecycle while preserving\n # external marketplace-quality filtering.\n launch_params: Dict[str, Any] = dict(create_instance_kwargs or {{}})\n launch_params = {{k: v for k, v in launch_params.items() if v is not None}}\n selected_offer_id = launch_params.pop('selected_offer_id', None)\n\n if selected_offer_id is not None:\n logger.info(f'Using externally selected Vast offer {{selected_offer_id}}.')\n try:\n instance_touse = {{'id': int(selected_offer_id)}}\n except (TypeError, ValueError) as e:\n raise RuntimeError(\n f'Invalid selected_offer_id for Vast: {{selected_offer_id!r}}'\n ) from e\n else:\n instance_list = vast.vast().search_offers(query=query_str)\n\n if isinstance(instance_list, int) or len(instance_list) == 0:\n raise RuntimeError('Failed to create instances, could not find an '\n 'offer that satisfies the requirements '\n f'"{{query_str}}".')\n\n instance_touse = instance_list[0]\n\n''' + if old not in text: + raise RuntimeError( + f"Could not apply SkyPilot Vast selected-offer patch; expected source block not found in {path}" + ) + text = text.replace(old, new, 1) + + if not already_api_key: + old_key = " f'echo \"{vast.vast().client.api_key}\" > ~/.vast_api_key'," + new_key = ( + f" # {SDK_API_KEY_MARKER}: vastai-sdk exposes api_key directly in current releases.\n" + " f'echo \"{vast.vast().api_key}\" > ~/.vast_api_key'," + ) + if old_key not in text: + raise RuntimeError( + f"Could not apply SkyPilot Vast API-key patch; expected source line not found in {path}" + ) + text = text.replace(old_key, new_key, 1) + + path.write_text(text) + return PatchStatus(path=path, installed=True, patched=True, message="SkyPilot Vast selected-offer patch installed") + + +def require_patch() -> Path: + status = patch_status() + if not status.installed: + raise RuntimeError(status.message) + if not status.patched: + raise RuntimeError(f"{status.message}; run `remote-run doctor --apply-skypilot-patch`") + assert status.path is not None + return status.path diff --git a/src/airfrans_frontier/remote/smoke.py b/src/airfrans_frontier/remote/smoke.py new file mode 100644 index 0000000..c9b5370 --- /dev/null +++ b/src/airfrans_frontier/remote/smoke.py @@ -0,0 +1,127 @@ +from __future__ import annotations + +import json +import platform +import shutil +import subprocess +import sys +import time +from pathlib import Path +from typing import Any + +from airfrans_frontier.remote.artifacts import verify_artifacts +from airfrans_frontier.runtime import remove_pythonpath_entries + + +def run_smoke_training(config_path: str | Path, *, artifact_dir: str | Path, run_id: str) -> Path: + remove_pythonpath_entries() + from airfrans_frontier.training.loop import train_from_config_path + + output_dir = Path(artifact_dir) + output_dir.mkdir(parents=True, exist_ok=True) + heartbeat_path = output_dir / "heartbeat.json" + _write_json( + heartbeat_path, + { + "run_id": run_id, + "phase": "starting", + "timestamp": time.time(), + }, + ) + _write_json(output_dir / "environment_manifest.json", environment_manifest()) + + started = time.time() + _write_json( + heartbeat_path, + { + "run_id": run_id, + "phase": "training", + "started_at": started, + "timestamp": time.time(), + }, + ) + result = train_from_config_path(config_path) + finished = time.time() + + training_dir = result.run_dir + required_from_training = [ + "final_metrics.json", + "metrics.jsonl", + "checkpoint.pt", + "config.toml", + "normalization.json", + "split_manifest.json", + ] + for name in required_from_training: + source = training_dir / name + if source.is_file(): + shutil.copy2(source, output_dir / name) + + run_manifest: dict[str, Any] = { + "run_id": run_id, + "command": f"remote-run smoke-train {config_path}", + "started_at": started, + "finished_at": finished, + "elapsed_seconds": finished - started, + "exit_code": 0, + "training_run_dir": str(training_dir), + "artifact_dir": str(output_dir), + "final_metrics_path": str(output_dir / "final_metrics.json"), + "checkpoint_path": str(output_dir / "checkpoint.pt"), + } + _write_json(output_dir / "run_manifest.json", run_manifest) + _write_json( + heartbeat_path, + { + "run_id": run_id, + "phase": "completed", + "started_at": started, + "finished_at": finished, + "timestamp": time.time(), + }, + ) + verify_artifacts(output_dir) + return output_dir + + +def environment_manifest() -> dict[str, Any]: + manifest: dict[str, Any] = { + "python": sys.version, + "platform": platform.platform(), + "executable": sys.executable, + } + try: + import torch + + manifest.update( + { + "torch_version": torch.__version__, + "cuda_available": torch.cuda.is_available(), + "cuda_version": torch.version.cuda, + "gpu_name": torch.cuda.get_device_name(0) if torch.cuda.is_available() else None, + } + ) + except Exception as exc: # pragma: no cover - environment reporting should not hide root run errors. + manifest["torch_error"] = repr(exc) + + try: + result = subprocess.run( + ["nvidia-smi", "--query-gpu=name,memory.total,driver_version", "--format=csv,noheader"], + text=True, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + timeout=15, + check=False, + ) + manifest["nvidia_smi"] = { + "returncode": result.returncode, + "stdout": result.stdout.strip(), + "stderr": result.stderr.strip(), + } + except OSError as exc: + manifest["nvidia_smi"] = {"error": str(exc)} + return manifest + + +def _write_json(path: Path, data: Any) -> None: + path.write_text(json.dumps(data, indent=2, sort_keys=True) + "\n") diff --git a/src/airfrans_frontier/remote/vast.py b/src/airfrans_frontier/remote/vast.py new file mode 100644 index 0000000..389440d --- /dev/null +++ b/src/airfrans_frontier/remote/vast.py @@ -0,0 +1,258 @@ +from __future__ import annotations + +import json +import math +import os +import urllib.parse +import urllib.request +from dataclasses import asdict, dataclass +from typing import Any, Mapping + +from airfrans_frontier.remote.config import RemoteRunConfig, SelectionConfig + + +@dataclass(frozen=True) +class VastOffer: + id: int + gpu_name: str + dph_total: float + gpu_ram: float | None + geolocation: str | None + inet_down_cost_per_tb: float + inet_up_cost_per_tb: float + host_id: int | None + verification: str | None + reliability2: float | None + cuda_max_good: float | None + direct_port_count: int | None + inet_down: float | None + inet_up: float | None + verified: bool | None + + @classmethod + def from_mapping(cls, data: Mapping[str, Any]) -> VastOffer: + return cls( + id=_int(data, "id"), + gpu_name=_string(data, "gpu_name"), + dph_total=_float(data, "dph_total"), + gpu_ram=_optional_float(data, "gpu_ram"), + geolocation=_optional_string(data, "geolocation"), + inet_down_cost_per_tb=_optional_float(data, "internet_down_cost_per_tb") or 0.0, + inet_up_cost_per_tb=_optional_float(data, "internet_up_cost_per_tb") or 0.0, + host_id=_optional_int(data, "host_id"), + verification=_optional_string(data, "verification"), + reliability2=_optional_float(data, "reliability2"), + cuda_max_good=_optional_float(data, "cuda_max_good"), + direct_port_count=_optional_int(data, "direct_port_count"), + inet_down=_optional_float(data, "inet_down"), + inet_up=_optional_float(data, "inet_up"), + verified=_optional_bool(data, "verified"), + ) + + +@dataclass(frozen=True) +class SelectionResult: + selected_offer: VastOffer + candidate_count: int + survivor_count: int + effective_price: float + query: dict[str, Any] + policy: dict[str, Any] + + @property + def selected_offer_id(self) -> int: + return self.selected_offer.id + + def to_manifest(self) -> dict[str, Any]: + offer = asdict(self.selected_offer) + offer["effective_price"] = self.effective_price + return { + "selected_offer_id": self.selected_offer_id, + "selected_offer": offer, + "candidate_count": self.candidate_count, + "survivor_count": self.survivor_count, + "query": self.query, + "policy": self.policy, + } + + +def select_offer(config: RemoteRunConfig, *, api_key: str | None = None) -> SelectionResult: + if config.provider.kind != "vastai": + raise ValueError(f"Unsupported provider: {config.provider.kind}") + resolved_key = api_key or os.environ.get("VAST_API_KEY") + if not resolved_key: + raise RuntimeError("VAST_API_KEY is required for Vast.ai offer selection") + + query = build_query(config) + offers = search_offers( + base_url=config.selection.base_url, + api_key=resolved_key, + query=query, + ) + return choose_offer(offers, config, query=query) + + +def build_query(config: RemoteRunConfig) -> dict[str, Any]: + selection = config.selection + provider = config.provider + query: dict[str, Any] = { + "rentable": {"eq": True}, + "rented": {"eq": False}, + "reliability2": {"gte": selection.min_reliability}, + "cuda_max_good": {"gte": 12.6}, + "direct_port_count": {"gte": 1}, + "num_gpus": {"eq": provider.gpu.count}, + "inet_down": {"gte": selection.min_down_mbps}, + "limit": 5000, + } + if selection.min_up_mbps is not None: + query["inet_up"] = {"gte": selection.min_up_mbps} + if selection.require_verified: + query["verified"] = {"eq": True} + if provider.gpu.min_vram_gb is not None: + query["gpu_ram"] = {"gte": provider.gpu.min_vram_gb * 1024} + if provider.gpu.name: + query["gpu_name"] = {"eq": provider.gpu.name} + return query + + +def search_offers(*, base_url: str, api_key: str, query: Mapping[str, Any]) -> list[VastOffer]: + encoded = urllib.parse.quote(json.dumps(query, separators=(",", ":"))) + url = f"{base_url.rstrip('/')}/api/v0/bundles/?q={encoded}" + request = urllib.request.Request(url, headers={"Authorization": f"Bearer {api_key}"}) + try: + with urllib.request.urlopen(request, timeout=45) as response: + payload = json.loads(response.read().decode("utf-8")) + except urllib.error.HTTPError as exc: + body = exc.read().decode("utf-8", errors="replace") + raise RuntimeError(f"Vast offer search HTTP {exc.code}: {body}") from exc + except OSError as exc: + raise RuntimeError(f"Vast offer search failed: {exc}") from exc + + raw_offers = payload.get("offers") + if not isinstance(raw_offers, list): + raise RuntimeError("Vast offer search response missing offers list") + return [VastOffer.from_mapping(item) for item in raw_offers if isinstance(item, Mapping)] + + +def choose_offer(offers: list[VastOffer], config: RemoteRunConfig, *, query: Mapping[str, Any]) -> SelectionResult: + survivors = reachable_offers(offers, config.selection) + ranked = rank_survivors(survivors, config.selection) + if config.provider.max_price_per_hour is not None: + ranked = [offer for offer in ranked if effective_price(offer, config.selection) <= config.provider.max_price_per_hour] + if not ranked: + raise RuntimeError("No Vast offers survived quality filters and price cap") + selected = ranked[0] + return SelectionResult( + selected_offer=selected, + candidate_count=len(offers), + survivor_count=len(ranked), + effective_price=effective_price(selected, config.selection), + query=dict(query), + policy=selection_policy_manifest(config), + ) + + +def reachable_offers(offers: list[VastOffer], selection: SelectionConfig) -> list[VastOffer]: + blacklist = set(selection.blacklist_hosts) + blocked = tuple(item.upper() for item in selection.blocked_geos) + result: list[VastOffer] = [] + for offer in offers: + geo = (offer.geolocation or "").upper() + if blocked and any(token and token in geo for token in blocked): + continue + if offer.host_id is not None and offer.host_id in blacklist: + continue + if offer.verification == "deverified": + continue + result.append(offer) + return result + + +def rank_survivors(offers: list[VastOffer], selection: SelectionConfig) -> list[VastOffer]: + by_model: dict[str, list[VastOffer]] = {} + for offer in offers: + by_model.setdefault(offer.gpu_name, []).append(offer) + + survivors: list[VastOffer] = [] + for group in by_model.values(): + group.sort(key=lambda offer: effective_price(offer, selection)) + drop = math.floor(selection.drop_cheap_frac * len(group)) + survivors.extend(group[drop:]) + survivors.sort(key=lambda offer: effective_price(offer, selection)) + return survivors + + +def effective_price(offer: VastOffer, selection: SelectionConfig) -> float: + image_pull = 0.0 + if selection.image_size_gb is not None: + image_pull = selection.image_size_gb * offer.inet_down_cost_per_tb / 1000.0 + return offer.dph_total + image_pull + + +def selection_policy_manifest(config: RemoteRunConfig) -> dict[str, Any]: + return { + "gpu_name": config.provider.gpu.name, + "gpu_count": config.provider.gpu.count, + "min_vram_gb": config.provider.gpu.min_vram_gb, + "max_price_per_hour": config.provider.max_price_per_hour, + "min_reliability": config.selection.min_reliability, + "min_down_mbps": config.selection.min_down_mbps, + "min_up_mbps": config.selection.min_up_mbps, + "require_verified": config.selection.require_verified, + "blocked_geos": list(config.selection.blocked_geos), + "blacklist_hosts": list(config.selection.blacklist_hosts), + "drop_cheap_frac": config.selection.drop_cheap_frac, + "image_size_gb": config.selection.image_size_gb, + } + + +def _string(data: Mapping[str, Any], key: str) -> str: + value = data.get(key) + if not isinstance(value, str): + raise ValueError(f"Vast offer missing string field: {key}") + return value + + +def _optional_string(data: Mapping[str, Any], key: str) -> str | None: + value = data.get(key) + return value if isinstance(value, str) else None + + +def _int(data: Mapping[str, Any], key: str) -> int: + value = data.get(key) + if isinstance(value, bool) or not isinstance(value, int): + raise ValueError(f"Vast offer missing integer field: {key}") + return value + + +def _optional_int(data: Mapping[str, Any], key: str) -> int | None: + value = data.get(key) + if isinstance(value, bool): + return None + if isinstance(value, int): + return value + if isinstance(value, float) and value.is_integer(): + return int(value) + return None + + +def _float(data: Mapping[str, Any], key: str) -> float: + value = data.get(key) + if isinstance(value, bool) or not isinstance(value, (int, float)): + raise ValueError(f"Vast offer missing numeric field: {key}") + return float(value) + + +def _optional_float(data: Mapping[str, Any], key: str) -> float | None: + value = data.get(key) + if isinstance(value, bool): + return None + if isinstance(value, (int, float)): + return float(value) + return None + + +def _optional_bool(data: Mapping[str, Any], key: str) -> bool | None: + value = data.get(key) + return value if isinstance(value, bool) else None diff --git a/tests/test_remote_run.py b/tests/test_remote_run.py new file mode 100644 index 0000000..53fdd8e --- /dev/null +++ b/tests/test_remote_run.py @@ -0,0 +1,99 @@ +from __future__ import annotations + +import json +import tempfile +import unittest +from pathlib import Path + +from airfrans_frontier.remote.artifacts import verify_artifacts +from airfrans_frontier.remote.config import load_remote_run_config +from airfrans_frontier.remote.skypilot import render_skypilot_yaml +from airfrans_frontier.remote.vast import VastOffer, choose_offer + + +class RemoteRunConfigTests(unittest.TestCase): + def test_loads_remote_smoke_config(self) -> None: + config = load_remote_run_config("configs/remote_smoke.toml") + + self.assertEqual(config.provider.kind, "vastai") + self.assertEqual(config.provider.gpu.name, "RTX 4090") + self.assertEqual(config.job.artifact_dir.as_posix(), "artifacts/current_run") + self.assertIn("checkpoint.pt", config.artifacts.required) + + +class VastSelectionTests(unittest.TestCase): + def test_selection_filters_bad_hosts_and_drops_suspiciously_cheap_tail(self) -> None: + config = load_remote_run_config("configs/remote_smoke.toml") + offers = [ + offer(1, price=0.10, host=1), + offer(2, price=0.20, host=2), + offer(3, price=0.30, host=3), + offer(4, price=0.40, host=4), + offer(5, price=0.50, host=59017), + offer(6, price=0.25, host=6, geo="CN"), + offer(7, price=0.26, host=7, verification="deverified"), + ] + + result = choose_offer(offers, config, query={"test": True}) + + # Four reachable RTX 4090 offers remain; drop_cheap_frac=0.30 drops floor(1.2)=1 cheapest. + self.assertEqual(result.selected_offer_id, 2) + self.assertEqual(result.candidate_count, 7) + self.assertEqual(result.survivor_count, 3) + + def test_rendered_yaml_injects_selected_offer(self) -> None: + config = load_remote_run_config("configs/remote_smoke.toml") + result = choose_offer([offer(123, price=0.30, host=22), offer(124, price=0.40, host=23)], config, query={}) + + yaml = render_skypilot_yaml(config, result, run_id="airfrans-test") + + self.assertIn("selected_offer_id: 123", yaml) + self.assertNotIn("sky launch", yaml) + self.assertIn("remote-run smoke-train", yaml) + + +class ArtifactVerificationTests(unittest.TestCase): + def test_verify_artifacts_requires_contract_files_and_writes_manifest(self) -> None: + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + (root / "final_metrics.json").write_text(json.dumps({"loss": 1.0}) + "\n") + (root / "metrics.jsonl").write_text(json.dumps({"step": 0}) + "\n") + (root / "checkpoint.pt").write_bytes(b"weights") + (root / "run_manifest.json").write_text(json.dumps({"exit_code": 0}) + "\n") + + manifest = verify_artifacts(root) + + self.assertEqual(manifest["file_count"], 4) + self.assertTrue((root / "artifact_manifest.json").is_file()) + self.assertTrue((root / "checksums.txt").is_file()) + + +def offer( + offer_id: int, + *, + price: float, + host: int, + geo: str = "US", + verification: str = "verified", +) -> VastOffer: + return VastOffer( + id=offer_id, + gpu_name="RTX 4090", + dph_total=price, + gpu_ram=24_000, + geolocation=geo, + inet_down_cost_per_tb=0.0, + inet_up_cost_per_tb=0.0, + host_id=host, + verification=verification, + reliability2=0.99, + cuda_max_good=12.8, + direct_port_count=1, + inet_down=500.0, + inet_up=100.0, + verified=True, + ) + + +if __name__ == "__main__": + unittest.main() diff --git a/tools/vastai/Cargo.toml b/tools/vastai/Cargo.toml new file mode 100644 index 0000000..49e6bf9 --- /dev/null +++ b/tools/vastai/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "swactor-vastai" +version = "0.1.0" +edition = "2024" +publish = false + +[dependencies] +reqwest = { version = "0.12", features = ["json"] } +serde = { version = "1", features = ["derive"] } +serde_json = "1" +tokio = { version = "1", features = ["time"] } +urlencoding = "2" + +[dev-dependencies] +wiremock = "0.6" diff --git a/tools/vastai/src/client.rs b/tools/vastai/src/client.rs new file mode 100644 index 0000000..52d670d --- /dev/null +++ b/tools/vastai/src/client.rs @@ -0,0 +1,76 @@ +use crate::types::{ + LabeledInstance, LifecyclePolicy, Offer, ProvisionRequest, ProvisionedFleet, RunningInstance, +}; + +/// Small convenience wrapper around a reqwest client + vast.ai endpoint. +#[derive(Clone)] +pub struct VastClient { + http: reqwest::Client, + base_url: String, + api_key: String, +} + +impl VastClient { + pub fn new(api_key: impl Into) -> Self { + Self::with_base_url("https://cloud.vast.ai", api_key) + } + + pub fn with_base_url(base_url: impl Into, api_key: impl Into) -> Self { + Self { + http: reqwest::Client::new(), + base_url: base_url.into(), + api_key: api_key.into(), + } + } + + pub fn http(&self) -> &reqwest::Client { + &self.http + } + + pub fn base_url(&self) -> &str { + &self.base_url + } + + pub fn api_key(&self) -> &str { + &self.api_key + } + + pub async fn search_offers( + &self, + policy: &crate::types::SelectionPolicy, + target_count: u32, + ) -> Result, String> { + crate::search::select_offer_pool_with_policy( + &self.http, + &self.base_url, + &self.api_key, + policy, + target_count, + ) + .await + } + + pub async fn provision(&self, req: ProvisionRequest) -> Result { + crate::lease::provision_fleet(&self.http, &self.base_url, &self.api_key, req).await + } + + pub async fn wait_for_running( + &self, + contract_id: u64, + policy: &LifecyclePolicy, + ) -> Result { + crate::monitor::wait_for_running_with_policy( + &self.http, + &self.base_url, + &self.api_key, + contract_id, + policy, + ) + .await + } + + pub async fn list_by_label(&self, label: &str) -> Result, String> { + crate::teardown::list_instances_by_label(&self.http, &self.base_url, &self.api_key, label) + .await + } +} diff --git a/tools/vastai/src/config.rs b/tools/vastai/src/config.rs new file mode 100644 index 0000000..e333c8c --- /dev/null +++ b/tools/vastai/src/config.rs @@ -0,0 +1,87 @@ +use std::time::Duration; + +use crate::types::{LifecyclePolicy, SelectionPolicy}; + +pub const ENV_IMAGE_SIZE_GB: &str = "PP_IMAGE_SIZE_GB"; +pub const ENV_GPU_MIN_RAM_MB: &str = "PP_GPU_MIN_RAM_MB"; +pub const ENV_MIN_INET_DOWN_MBPS: &str = "PP_MIN_INET_DOWN_MBPS"; +pub const ENV_MIN_INET_UP_MBPS: &str = "PP_MIN_INET_UP_MBPS"; +pub const ENV_MIN_RELIABILITY: &str = "PP_MIN_RELIABILITY"; +pub const ENV_REQUIRE_VERIFIED: &str = "PP_REQUIRE_VERIFIED"; +pub const ENV_DROP_CHEAP_FRAC: &str = "PP_DROP_CHEAP_FRAC"; +pub const ENV_LEASE_PACE_MS: &str = "PP_LEASE_PACE_MS"; +pub const ENV_BLACKLIST_HOSTS: &str = "PP_BLACKLIST_HOSTS"; +pub const ENV_ASSUME_YES: &str = "PP_ASSUME_YES"; + +pub fn truthy_env(name: &str) -> bool { + std::env::var(name) + .ok() + .map(|s| matches!(s.trim().to_ascii_lowercase().as_str(), "1" | "true" | "yes")) + .unwrap_or(false) +} + +fn env_positive_u64(name: &str) -> Option { + std::env::var(name) + .ok() + .and_then(|s| s.trim().parse::().ok()) + .filter(|&n| n > 0) +} + +fn env_nonnegative_f64(name: &str, default: f64) -> f64 { + std::env::var(name) + .ok() + .and_then(|s| s.trim().parse::().ok()) + .filter(|&v| v >= 0.0) + .unwrap_or(default) +} + +fn env_optional_positive_f64(name: &str) -> Option { + std::env::var(name) + .ok() + .and_then(|s| s.trim().parse::().ok()) + .filter(|&v| v > 0.0) +} + +impl SelectionPolicy { + /// Build selection policy from the historical `PP_*` environment knobs. + pub fn from_env() -> Self { + let mut policy = Self::default(); + policy.min_gpu_ram_mb = env_positive_u64(ENV_GPU_MIN_RAM_MB); + policy.min_down_mbps = env_nonnegative_f64(ENV_MIN_INET_DOWN_MBPS, 100.0); + policy.min_reliability = std::env::var(ENV_MIN_RELIABILITY) + .ok() + .and_then(|s| s.trim().parse::().ok()) + .filter(|&v| (0.0..=1.0).contains(&v)) + .unwrap_or(0.95); + policy.require_verified = truthy_env(ENV_REQUIRE_VERIFIED); + policy.min_up_mbps = env_optional_positive_f64(ENV_MIN_INET_UP_MBPS); + policy.drop_cheap_frac = std::env::var(ENV_DROP_CHEAP_FRAC) + .ok() + .and_then(|s| s.trim().parse::().ok()) + .filter(|v| v.is_finite()) + .map(|v| v.clamp(0.0, 0.99)) + .unwrap_or(0.30); + policy.image_size_gb = env_optional_positive_f64(ENV_IMAGE_SIZE_GB); + if let Ok(raw) = std::env::var(ENV_BLACKLIST_HOSTS) { + policy + .blacklist_hosts + .extend(raw.split(',').filter_map(|s| s.trim().parse::().ok())); + } + policy + } +} + +impl LifecyclePolicy { + /// Build lifecycle policy from environment, using caller-provided poll cadence. + pub fn from_env(poll_interval: Duration) -> Self { + let mut policy = Self::default(); + policy.lease_pace = Duration::from_millis( + std::env::var(ENV_LEASE_PACE_MS) + .ok() + .and_then(|s| s.trim().parse::().ok()) + .unwrap_or(600), + ); + policy.poll_interval = poll_interval; + policy + } +} diff --git a/tools/vastai/src/filters.rs b/tools/vastai/src/filters.rs new file mode 100644 index 0000000..b246788 --- /dev/null +++ b/tools/vastai/src/filters.rs @@ -0,0 +1,17 @@ +use std::collections::HashSet; + +use crate::types::{Offer, SelectionPolicy}; + +pub(crate) fn reachable_offers(offers: Vec, policy: &SelectionPolicy) -> Vec { + let blacklist: HashSet = policy.blacklist_hosts.iter().copied().collect(); + offers + .into_iter() + .filter(|o| { + o.geolocation + .as_deref() + .map_or(false, |g| !g.to_uppercase().contains("CN")) + }) + .filter(|o| o.host_id.map_or(true, |h| !blacklist.contains(&h))) + .filter(|o| o.verification.as_deref() != Some("deverified")) + .collect() +} diff --git a/tools/vastai/src/lease.rs b/tools/vastai/src/lease.rs new file mode 100644 index 0000000..8f14dde --- /dev/null +++ b/tools/vastai/src/lease.rs @@ -0,0 +1,288 @@ +use std::collections::{BTreeMap, HashSet}; +use std::io::{IsTerminal, Write}; +use std::time::Duration; + +use crate::config::{ENV_ASSUME_YES, truthy_env}; +use crate::monitor::wait_for_running_with_policy; +use crate::pricing::{CostModel, plan_picks}; +use crate::provision::create_instance; +use crate::search::select_offer_pool_with_policy; +use crate::teardown::{destroy_instance_with_retry, rollback}; +use crate::types::{ + CreateInstanceRequest, InstanceInfo, Offer, ProvisionRequest, ProvisionedFleet, + ProvisionedInstance, +}; + +/// Print the planned lease + hourly cost and, on TTY, require y/N confirmation. +pub fn confirm_lease(pool: &[Offer], num_instances: u32, cost: &CostModel) -> Result<(), String> { + let picks = plan_picks(pool, num_instances); + let total_dph: f64 = picks.iter().map(|o| o.dph_total).sum(); + let total_eff: f64 = picks.iter().map(|o| cost.effective_price(o)).sum(); + + eprintln!("vastai: lease plan — {num_instances} instance(s), cheapest on distinct hosts:"); + for (i, o) in picks.iter().enumerate() { + eprintln!( + " node {i} {:<14} {:>8} ${:.3}/hr [{}] host {}", + o.gpu_name, + o.gpu_ram + .map(|r| format!("{:.0}MB", r)) + .unwrap_or_else(|| "?MB".into()), + o.dph_total, + o.geolocation.as_deref().unwrap_or("?"), + o.host_id + .map(|h| h.to_string()) + .unwrap_or_else(|| "?".into()), + ); + } + if picks.len() < num_instances as usize { + eprintln!( + " WARNING: only {} distinct-host offer(s) available for {num_instances} instance(s)", + picks.len(), + ); + } + let eff_note = if (total_eff - total_dph).abs() > 1e-6 { + format!(" (image-pull priced in: ${total_eff:.3}/hr eff)") + } else { + String::new() + }; + eprintln!( + " TOTAL ${total_dph:.3}/hr (~${:.2}/day){eff_note}", + total_dph * 24.0, + ); + + if truthy_env(ENV_ASSUME_YES) { + eprintln!("vastai: {ENV_ASSUME_YES} set — proceeding without confirmation"); + return Ok(()); + } + if !std::io::stdin().is_terminal() { + eprintln!( + "vastai: stdin is not a TTY — proceeding without interactive confirmation \ + (set {ENV_ASSUME_YES}=1 to silence this)" + ); + return Ok(()); + } + + eprint!("Proceed with renting these {num_instances} instance(s)? [y/N]: "); + let _ = std::io::stderr().flush(); + let mut line = String::new(); + std::io::stdin() + .read_line(&mut line) + .map_err(|e| format!("failed to read lease confirmation: {e}"))?; + let ans = line.trim().to_ascii_lowercase(); + if ans == "y" || ans == "yes" { + Ok(()) + } else { + Err("operator declined the lease (cost not confirmed); no instances were created".into()) + } +} + +fn next_eligible_offer<'a>( + pool: &'a [Offer], + tried_offer_ids: &[u64], + used_host_ids: &HashSet, +) -> Option<&'a Offer> { + pool.iter().find(|o| { + !tried_offer_ids.contains(&o.id) && o.host_id.map_or(true, |h| !used_host_ids.contains(&h)) + }) +} + +fn env_for_index(req: &ProvisionRequest, index: u32) -> BTreeMap { + let mut env = req.env.clone(); + if let Some(extra) = req.per_instance_env.get(index as usize) { + env.extend(extra.clone()); + } + env +} + +async fn provision_one( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + req: &ProvisionRequest, + pool: &[Offer], + index: u32, + tried_offer_ids: &mut Vec, + used_host_ids: &mut HashSet, +) -> Result { + let mut attempt = 1_u64; + loop { + let offer = match next_eligible_offer(pool, tried_offer_ids, used_host_ids) { + Some(o) => o.clone(), + None => { + return Err(format!( + "pool exhausted for index {index} (no untried offer on an unused host)" + )); + } + }; + tried_offer_ids.push(offer.id); + let cost = CostModel::from_policy(&req.selection); + eprintln!( + "lease_chain: index {index} → offer {} — {} {} @ ${:.3}/hr [{}] host {} eff ${:.3}/hr", + offer.id, + offer.gpu_name, + offer + .gpu_ram + .map(|r| format!("{:.0}MB", r)) + .unwrap_or_else(|| "?MB".into()), + offer.dph_total, + offer.geolocation.as_deref().unwrap_or("?"), + offer + .host_id + .map(|h| h.to_string()) + .unwrap_or_else(|| "?".into()), + cost.effective_price(&offer), + ); + + let create = CreateInstanceRequest { + offer_id: offer.id, + image: req.image.clone(), + disk_gb: req.disk_gb, + label: req.label.clone(), + env: env_for_index(req, index), + onstart: req.onstart.clone(), + }; + match create_instance(client, base_url, api_key, &create).await { + Ok(info) => { + if let Some(h) = offer.host_id { + used_host_ids.insert(h); + } + return Ok(ProvisionedInstance { + index, + contract_id: info.contract_id, + offer_id: offer.id, + host_id: offer.host_id, + gpu_name: offer.gpu_name, + gpu_ram: offer.gpu_ram, + dph_total: offer.dph_total, + }); + } + Err(e) => { + eprintln!( + "lease_chain: index {index} create on offer {} failed (attempt {attempt}): {e}", + offer.id, + ); + let is_429 = e.contains("429") || e.contains("Too Many Requests"); + let backoff = if is_429 { + std::cmp::min( + Duration::from_millis(2_000_u64.saturating_mul(attempt)), + Duration::from_secs(30), + ) + } else { + Duration::from_millis(400) + }; + tokio::time::sleep(backoff).await; + attempt = attempt.saturating_add(1); + } + } + } +} + +fn as_instance_infos(instances: &[ProvisionedInstance]) -> Vec { + instances + .iter() + .map(|i| InstanceInfo { + contract_id: i.contract_id, + }) + .collect() +} + +/// Rent, monitor, replace, and roll back an N-instance fleet. +pub async fn provision_fleet( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + req: ProvisionRequest, +) -> Result { + let pool = select_offer_pool_with_policy(client, base_url, api_key, &req.selection, req.count) + .await + .map_err(|e| format!("lease_chain: {e}"))?; + + if req.confirm_lease { + confirm_lease(&pool, req.count, &CostModel::from_policy(&req.selection))?; + } + + let mut tried_offer_ids = Vec::new(); + let mut created: Vec = Vec::with_capacity(req.count as usize); + let mut used_host_ids = HashSet::new(); + + for index in 0..req.count { + match provision_one( + client, + base_url, + api_key, + &req, + &pool, + index, + &mut tried_offer_ids, + &mut used_host_ids, + ) + .await + { + Ok(info) => created.push(info), + Err(e) => { + rollback(client, base_url, api_key, &as_instance_infos(&created)).await; + return Err(format!("lease_chain: {e}")); + } + } + if index + 1 < req.count { + tokio::time::sleep(req.lifecycle.lease_pace).await; + } + } + + for index in 0..req.count { + let idx = index as usize; + loop { + let cid = created[idx].contract_id; + match wait_for_running_with_policy(client, base_url, api_key, cid, &req.lifecycle).await + { + Ok(_) => break, + Err(e) => { + eprintln!( + "lease_chain: index {index} contract {cid} did not reach running: {e}" + ); + if let Err(de) = + destroy_instance_with_retry(client, base_url, api_key, cid).await + { + eprintln!( + "lease_chain: WARNING could not destroy dead contract {cid}: {de}" + ); + } + eprintln!("lease_chain: replacing index {index}"); + match provision_one( + client, + base_url, + api_key, + &req, + &pool, + index, + &mut tried_offer_ids, + &mut used_host_ids, + ) + .await + { + Ok(info) => created[idx] = info, + Err(pe) => { + let survivors: Vec = created + .iter() + .enumerate() + .filter(|(i, _)| *i != idx) + .map(|(_, c)| InstanceInfo { + contract_id: c.contract_id, + }) + .collect(); + rollback(client, base_url, api_key, &survivors).await; + return Err(format!( + "lease_chain: index {index} replacement could not be provisioned: {pe}" + )); + } + } + } + } + } + } + + Ok(ProvisionedFleet { + label: req.label, + instances: created, + }) +} diff --git a/tools/vastai/src/lib.rs b/tools/vastai/src/lib.rs new file mode 100644 index 0000000..7c7ec4b --- /dev/null +++ b/tools/vastai/src/lib.rs @@ -0,0 +1,34 @@ +//! Peripheral vast.ai provisioning utility. +//! +//! This crate is intentionally outside `crates/`: swactor itself stays a +//! general-purpose actor runtime, while this utility rents, monitors, and tears +//! down vast.ai machines for apps that choose to use it. + +pub mod client; +pub mod config; +pub mod filters; +pub mod lease; +pub mod logs; +pub mod monitor; +pub mod pricing; +pub mod provision; +pub mod search; +pub mod state; +pub mod teardown; +pub mod types; + +pub use client::VastClient; +pub use lease::{confirm_lease, provision_fleet}; +pub use logs::{fetch_logs, request_logs}; +pub use monitor::{wait_for_running, wait_for_running_with_policy}; +pub use pricing::CostModel; +pub use provision::create_instance; +pub use search::{select_offer_pool, select_offer_pool_with_policy}; +pub use teardown::{ + destroy_all_instances, destroy_instance, destroy_instance_with_retry, list_instances_by_label, +}; +pub use types::{ + ContractRef, CreateInstanceRequest, FleetState, InstanceInfo, LabeledInstance, LifecyclePolicy, + Offer, ProvisionRequest, ProvisionedFleet, ProvisionedInstance, RunningInstance, + SelectionPolicy, +}; diff --git a/tools/vastai/src/logs.rs b/tools/vastai/src/logs.rs new file mode 100644 index 0000000..647681c --- /dev/null +++ b/tools/vastai/src/logs.rs @@ -0,0 +1,36 @@ +use std::time::Duration; + +pub async fn request_logs( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + contract_id: u64, +) -> Result { + let url = format!("{base_url}/api/v0/instances/request_logs/{contract_id}/"); + let resp = client + .put(&url) + .header("Authorization", format!("Bearer {api_key}")) + .send() + .await + .map_err(|e| format!("request_logs failed: {e}"))?; + let body: serde_json::Value = resp + .json() + .await + .map_err(|e| format!("request_logs parse failed: {e}"))?; + body["result_url"] + .as_str() + .map(|s| s.to_string()) + .ok_or_else(|| "no result_url in log response".to_string()) +} + +pub async fn fetch_logs(client: &reqwest::Client, log_url: &str) -> Result { + tokio::time::sleep(Duration::from_secs(5)).await; + let resp = client + .get(log_url) + .send() + .await + .map_err(|e| format!("fetch_logs failed: {e}"))?; + resp.text() + .await + .map_err(|e| format!("fetch_logs read failed: {e}")) +} diff --git a/tools/vastai/src/monitor.rs b/tools/vastai/src/monitor.rs new file mode 100644 index 0000000..a06343a --- /dev/null +++ b/tools/vastai/src/monitor.rs @@ -0,0 +1,114 @@ +use crate::types::{InstanceResponse, LifecyclePolicy, RunningInstance}; + +/// Historical env-backed polling wrapper. +pub async fn wait_for_running( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + contract_id: u64, + poll_interval: std::time::Duration, +) -> Result { + let policy = LifecyclePolicy::from_env(poll_interval); + wait_for_running_with_policy(client, base_url, api_key, contract_id, &policy).await +} + +/// Poll vast.ai until an instance reaches `running`, or fail on terminal provider state. +pub async fn wait_for_running_with_policy( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + contract_id: u64, + policy: &LifecyclePolicy, +) -> Result { + let url = format!("{base_url}/api/v0/instances/{contract_id}/"); + let mut state_since = std::time::Instant::now(); + let mut last_state: Option = None; + + let mut poll = 0_u64; + loop { + poll += 1; + let resp = match client + .get(&url) + .header("Authorization", format!("Bearer {api_key}")) + .send() + .await + { + Ok(r) => r, + Err(e) => { + eprintln!(" contract {contract_id} poll {poll}: request error: {e} (retrying)"); + tokio::time::sleep(policy.poll_interval).await; + continue; + } + }; + + if !resp.status().is_success() { + let status = resp.status(); + let body = resp.text().await.unwrap_or_default(); + eprintln!( + " contract {contract_id} poll {poll}: HTTP {status} (retrying): {}", + body.chars().take(80).collect::(), + ); + tokio::time::sleep(policy.poll_interval).await; + continue; + } + + let wrapper: InstanceResponse = resp + .json() + .await + .map_err(|e| format!("wait_for_running parse failed: {e}"))?; + let status = wrapper.instances; + + let actual = status.actual_status.as_deref().unwrap_or("unknown"); + let intended = status.intended_status.as_deref().unwrap_or("unknown"); + + let msg = status.status_msg.clone(); + let disk = status.disk_usage; + + if last_state.as_deref() != Some(actual) { + state_since = std::time::Instant::now(); + } + last_state = Some(actual.to_string()); + let in_state = state_since.elapsed().as_secs(); + let msg_disp = match msg.as_deref() { + Some(m) if !m.is_empty() => format!(" msg=\"{m}\""), + _ => String::new(), + }; + let disk_disp = match disk { + Some(d) if d >= 0.0 => format!(" disk={d:.2}GB"), + _ => String::new(), + }; + eprintln!( + " contract {contract_id} poll {poll}: status={actual} in-state={in_state}s{msg_disp}{disk_disp}", + ); + + if let Some(m) = &msg { + if m.contains("Error") || m.contains("failed") { + return Err(format!("instance {contract_id} error: {m}")); + } + } + if intended == "stopped" && actual != "running" { + return Err(format!( + "instance {contract_id} stopped: {}", + msg.unwrap_or_default() + )); + } + + match actual { + "running" => { + let ip = status + .public_ipaddr + .unwrap_or_else(|| "unknown".to_string()); + let port = status.ssh_port.unwrap_or(0); + return Ok(RunningInstance { ip, port }); + } + "exited" | "error" => { + return Err(format!( + "instance {contract_id} reached terminal status: {actual}" + )); + } + _ => { + tokio::time::sleep(policy.poll_interval).await; + } + } + } +} diff --git a/tools/vastai/src/pricing.rs b/tools/vastai/src/pricing.rs new file mode 100644 index 0000000..ebbabd6 --- /dev/null +++ b/tools/vastai/src/pricing.rs @@ -0,0 +1,67 @@ +use crate::types::{Offer, SelectionPolicy}; + +/// Cost model for ranking offers on true lease cost rather than listed $/hr. +#[derive(Debug, Clone, Default)] +pub struct CostModel { + /// Deploy-image size in GB; `None` → image pull is not priced in. + pub image_gb: Option, +} + +impl CostModel { + pub fn from_policy(policy: &SelectionPolicy) -> Self { + Self { + image_gb: policy.image_size_gb, + } + } + + /// One-time cost of pulling the deploy image to this offer's host. + pub fn pull_cost(&self, o: &Offer) -> f64 { + self.image_gb + .map_or(0.0, |gb| gb * o.inet_down_cost_per_tb / 1000.0) + } + + /// Effective price used for ranking. + pub fn effective_price(&self, o: &Offer) -> f64 { + o.dph_total + self.pull_cost(o) + } +} + +/// Drop the suspiciously-cheap tail within each GPU model, then merge by price. +pub(crate) fn rank_survivors(offers: Vec, cost: &CostModel, drop_frac: f64) -> Vec { + let mut by_model: std::collections::HashMap> = + std::collections::HashMap::new(); + for o in offers { + by_model.entry(o.gpu_name.clone()).or_default().push(o); + } + let price = |o: &Offer| cost.effective_price(o); + let by_price = |a: &Offer, b: &Offer| { + price(a) + .partial_cmp(&price(b)) + .unwrap_or(std::cmp::Ordering::Equal) + }; + let mut survivors = Vec::new(); + for (_model, mut group) in by_model { + group.sort_by(&by_price); + let drop = (drop_frac * group.len() as f64).floor() as usize; + survivors.extend(group.into_iter().skip(drop)); + } + survivors.sort_by(&by_price); + survivors +} + +pub(crate) fn plan_picks(pool: &[Offer], num_instances: u32) -> Vec<&Offer> { + let mut picks = Vec::with_capacity(num_instances as usize); + let mut used = std::collections::HashSet::new(); + for o in pool { + if picks.len() == num_instances as usize { + break; + } + if let Some(h) = o.host_id { + if !used.insert(h) { + continue; + } + } + picks.push(o); + } + picks +} diff --git a/tools/vastai/src/provision.rs b/tools/vastai/src/provision.rs new file mode 100644 index 0000000..d61d901 --- /dev/null +++ b/tools/vastai/src/provision.rs @@ -0,0 +1,52 @@ +use serde_json::Value; + +use crate::types::{CreateInstanceRequest, CreateResponse, InstanceInfo}; + +/// Create one vast.ai instance from a fully generic payload. +pub async fn create_instance( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + req: &CreateInstanceRequest, +) -> Result { + let url = format!("{base_url}/api/v0/asks/{}/", req.offer_id); + let env = req + .env + .iter() + .map(|(k, v)| (k.clone(), Value::String(v.clone()))) + .collect::>(); + + let mut body = serde_json::json!({ + "image": req.image, + "env": env, + "disk": req.disk_gb, + }); + if let Some(onstart) = req.onstart.as_deref() { + body["onstart"] = Value::String(onstart.to_string()); + } + if let Some(label) = req.label.as_deref() { + body["label"] = Value::String(label.to_string()); + } + + let resp = client + .put(&url) + .header("Authorization", format!("Bearer {api_key}")) + .json(&body) + .send() + .await + .map_err(|e| format!("create_instance request failed: {e}"))?; + + if !resp.status().is_success() { + let status = resp.status(); + let body = resp.text().await.unwrap_or_default(); + return Err(format!("create_instance HTTP {status}: {body}")); + } + + let parsed: CreateResponse = resp + .json() + .await + .map_err(|e| format!("create_instance parse failed: {e}"))?; + Ok(InstanceInfo { + contract_id: parsed.new_contract, + }) +} diff --git a/tools/vastai/src/search.rs b/tools/vastai/src/search.rs new file mode 100644 index 0000000..7e98622 --- /dev/null +++ b/tools/vastai/src/search.rs @@ -0,0 +1,94 @@ +use crate::filters::reachable_offers; +use crate::pricing::{CostModel, rank_survivors}; +use crate::types::{Offer, SearchResponse, SelectionPolicy}; + +/// Historical env-backed offer search wrapper. +pub async fn select_offer_pool( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + gpu_name: &str, + target_count: u32, +) -> Result, String> { + let mut policy = SelectionPolicy::from_env(); + if !gpu_name.is_empty() { + policy.gpu_name = Some(gpu_name.to_string()); + } + select_offer_pool_with_policy(client, base_url, api_key, &policy, target_count).await +} + +/// Search vast.ai offers, apply quality filters, and rank survivors. +pub async fn select_offer_pool_with_policy( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + policy: &SelectionPolicy, + target_count: u32, +) -> Result, String> { + // Hard gates expressed server-side. Network speed cannot be probed before + // renting, so this trusts vast.ai's measured inet figures. + let mut query = serde_json::json!({ + "rentable": {"eq": true}, + "rented": {"eq": false}, + "reliability2": {"gte": policy.min_reliability}, + "cuda_max_good": {"gte": 12.6}, + "direct_port_count": {"gte": 1}, + "num_gpus": {"eq": 1}, + "inet_down": {"gte": policy.min_down_mbps}, + // vast.ai treats `limit` as a scan budget, not a simple result cap. + "limit": 5000, + }); + if let Some(up) = policy.min_up_mbps { + query["inet_up"] = serde_json::json!({"gte": up}); + } + if policy.require_verified { + query["verified"] = serde_json::json!({"eq": true}); + } + if let Some(min_ram) = policy.min_gpu_ram_mb { + query["gpu_ram"] = serde_json::json!({"gte": min_ram}); + } + if let Some(gpu_name) = policy.gpu_name.as_deref().filter(|s| !s.is_empty()) { + query["gpu_name"] = serde_json::json!({"eq": gpu_name}); + } + + let url = format!( + "{base_url}/api/v0/bundles/?q={}", + urlencoding::encode(&query.to_string()) + ); + let resp = client + .get(&url) + .header("Authorization", format!("Bearer {api_key}")) + .send() + .await + .map_err(|e| format!("select_offer_pool request failed: {e}"))?; + + if !resp.status().is_success() { + let status = resp.status(); + let body = resp.text().await.unwrap_or_default(); + return Err(format!("select_offer_pool HTTP {status}: {body}")); + } + + let body: SearchResponse = resp + .json() + .await + .map_err(|e| format!("select_offer_pool parse failed: {e}"))?; + + let reachable = reachable_offers(body.offers, policy); + let cost = CostModel::from_policy(policy); + let pool = rank_survivors(reachable, &cost, policy.drop_cheap_frac); + + if pool.is_empty() { + return Err( + "no offers available (after quality/geo/host-blacklist filters and cheap-tail drop)" + .to_string(), + ); + } + eprintln!( + "select_offer_pool: {} survivor(s) for {target_count} instance(s) after \ + per-model {:.0}% cheap-drop (cheapest ${:.3}/hr eff)", + pool.len(), + policy.drop_cheap_frac * 100.0, + cost.effective_price(&pool[0]), + ); + Ok(pool) +} diff --git a/tools/vastai/src/state.rs b/tools/vastai/src/state.rs new file mode 100644 index 0000000..338412e --- /dev/null +++ b/tools/vastai/src/state.rs @@ -0,0 +1,19 @@ +use std::path::Path; + +use crate::types::FleetState; + +impl FleetState { + pub fn load(path: &Path) -> Result { + let raw = std::fs::read_to_string(path) + .map_err(|e| format!("cannot read fleet state {}: {e}", path.display()))?; + serde_json::from_str(&raw) + .map_err(|e| format!("cannot parse fleet state {}: {e}", path.display())) + } + + pub fn save(&self, path: &Path) -> Result<(), String> { + let raw = serde_json::to_string_pretty(self) + .map_err(|e| format!("cannot serialize fleet state: {e}"))?; + std::fs::write(path, raw) + .map_err(|e| format!("cannot write fleet state {}: {e}", path.display())) + } +} diff --git a/tools/vastai/src/teardown.rs b/tools/vastai/src/teardown.rs new file mode 100644 index 0000000..dd5258e --- /dev/null +++ b/tools/vastai/src/teardown.rs @@ -0,0 +1,115 @@ +use std::time::Duration; + +use crate::types::{InstanceInfo, InstanceListResponse, LabeledInstance}; + +/// Destroy one vast.ai instance by contract id. +pub async fn destroy_instance( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + contract_id: u64, +) -> Result<(), String> { + let url = format!("{base_url}/api/v0/instances/{contract_id}/"); + let resp = client + .delete(&url) + .header("Authorization", format!("Bearer {api_key}")) + .send() + .await + .map_err(|e| format!("destroy_instance request failed: {e}"))?; + if !resp.status().is_success() { + let status = resp.status(); + let body = resp.text().await.unwrap_or_default(); + return Err(format!( + "destroy_instance {contract_id} HTTP {status}: {body}" + )); + } + Ok(()) +} + +/// Destroy every contract and return per-id results in the same order. +pub async fn destroy_all_instances( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + contract_ids: &[u64], +) -> Vec> { + let mut results = Vec::with_capacity(contract_ids.len()); + for &id in contract_ids { + results.push(destroy_instance(client, base_url, api_key, id).await); + } + results +} + +/// Destroy one contract, retrying transient failures so rollback does not strand billing instances. +pub async fn destroy_instance_with_retry( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + contract_id: u64, +) -> Result<(), String> { + let mut attempt = 1_u64; + loop { + match destroy_instance(client, base_url, api_key, contract_id).await { + Ok(()) => return Ok(()), + Err(_) => { + let backoff = std::cmp::min( + Duration::from_millis(500_u64.saturating_mul(attempt)), + Duration::from_secs(30), + ); + tokio::time::sleep(backoff).await; + attempt = attempt.saturating_add(1); + } + } + } +} + +pub(crate) async fn rollback( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + created: &[InstanceInfo], +) { + for info in created { + if let Err(e) = + destroy_instance_with_retry(client, base_url, api_key, info.contract_id).await + { + eprintln!( + "lease_chain: WARNING rollback could not destroy {}: {e}", + info.contract_id + ); + } + } +} + +/// List every instance on the account tagged with `label`, sorted by contract id. +pub async fn list_instances_by_label( + client: &reqwest::Client, + base_url: &str, + api_key: &str, + label: &str, +) -> Result, String> { + let url = format!("{base_url}/api/v0/instances/"); + let resp = client + .get(&url) + .header("Authorization", format!("Bearer {api_key}")) + .send() + .await + .map_err(|e| format!("list_instances request failed: {e}"))?; + if !resp.status().is_success() { + let status = resp.status(); + let body = resp.text().await.unwrap_or_default(); + return Err(format!("list_instances HTTP {status}: {body}")); + } + let body: InstanceListResponse = resp + .json() + .await + .map_err(|e| format!("list_instances parse failed: {e}"))?; + let mut out: Vec = body + .instances + .into_iter() + .filter(|e| e.label.as_deref() == Some(label)) + .map(Into::into) + .collect(); + out.sort_by_key(|i| i.contract_id); + Ok(out) +} diff --git a/tools/vastai/src/types.rs b/tools/vastai/src/types.rs new file mode 100644 index 0000000..5f6568a --- /dev/null +++ b/tools/vastai/src/types.rs @@ -0,0 +1,226 @@ +use std::collections::BTreeMap; +use std::time::Duration; + +use serde::{Deserialize, Serialize}; + +/// Identifier for a rented vast.ai instance. +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub struct InstanceInfo { + pub contract_id: u64, +} + +/// A vast.ai offer (GPU rental option) returned by the bundle search endpoint. +#[derive(Debug, Clone, Deserialize, Serialize)] +pub struct Offer { + pub id: u64, + pub gpu_name: String, + pub dph_total: f64, + #[serde(default)] + pub gpu_ram: Option, + #[serde(default)] + pub geolocation: Option, + /// Inbound bandwidth price ($/TB). vast.ai bills Docker image pulls here. + #[serde(default, rename = "internet_down_cost_per_tb")] + pub inet_down_cost_per_tb: f64, + /// Outbound bandwidth price ($/TB), surfaced so callers can account for it. + #[serde(default, rename = "internet_up_cost_per_tb")] + pub inet_up_cost_per_tb: f64, + /// Marketplace host that owns the machine. Used for host-level blacklist and + /// distinct-host provisioning. + #[serde(default)] + pub host_id: Option, + /// vast.ai host verification state: `verified`, `unverified`, or + /// `deverified`. + #[serde(default)] + pub verification: Option, +} + +/// Connection details for a running instance. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct RunningInstance { + pub ip: String, + pub port: u16, +} + +/// SSH endpoint + identity of a held instance, discovered by label. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct LabeledInstance { + pub contract_id: u64, + /// vast.ai SSH proxy host (e.g. `ssh5.vast.ai`); empty if not yet assigned. + pub ssh_host: String, + pub ssh_port: u16, + pub public_ipaddr: String, + pub actual_status: String, +} + +/// Offer selection knobs. Apps choose policy; this crate applies it. +#[derive(Debug, Clone)] +pub struct SelectionPolicy { + pub gpu_name: Option, + pub min_gpu_ram_mb: Option, + pub min_reliability: f64, + pub require_verified: bool, + pub min_down_mbps: f64, + pub min_up_mbps: Option, + pub blacklist_hosts: Vec, + pub drop_cheap_frac: f64, + pub image_size_gb: Option, +} + +impl Default for SelectionPolicy { + fn default() -> Self { + Self { + gpu_name: None, + min_gpu_ram_mb: None, + min_reliability: 0.95, + require_verified: false, + min_down_mbps: 100.0, + min_up_mbps: None, + blacklist_hosts: vec![59017], + drop_cheap_frac: 0.30, + image_size_gb: None, + } + } +} + +/// Provisioning and monitoring retry/timing knobs. +#[derive(Debug, Clone)] +pub struct LifecyclePolicy { + pub lease_pace: Duration, + pub poll_interval: Duration, +} + +impl Default for LifecyclePolicy { + fn default() -> Self { + Self { + lease_pace: Duration::from_millis(600), + poll_interval: Duration::from_secs(10), + } + } +} + +/// Generic vast.ai create-instance payload. +#[derive(Debug, Clone)] +pub struct CreateInstanceRequest { + pub offer_id: u64, + pub image: String, + pub disk_gb: u32, + pub label: Option, + pub env: BTreeMap, + /// Command passed to vast.ai's `onstart`; `None` omits the field. + pub onstart: Option, +} + +/// Generic N-instance provision request. Apps decide what env each machine runs. +#[derive(Debug, Clone)] +pub struct ProvisionRequest { + pub count: u32, + pub image: String, + pub label: Option, + pub disk_gb: u32, + /// Env applied to every instance. + pub env: BTreeMap, + /// Per-index env overlays, merged after `env`. + pub per_instance_env: Vec>, + pub onstart: Option, + pub selection: SelectionPolicy, + pub lifecycle: LifecyclePolicy, + /// Whether to print the lease plan and ask on TTY before spending money. + pub confirm_lease: bool, +} + +/// A successfully-provisioned instance with the offer facts used to pick it. +#[derive(Debug, Clone, PartialEq)] +pub struct ProvisionedInstance { + pub index: u32, + pub contract_id: u64, + pub offer_id: u64, + pub host_id: Option, + pub gpu_name: String, + pub gpu_ram: Option, + pub dph_total: f64, +} + +#[derive(Debug, Clone, PartialEq)] +pub struct ProvisionedFleet { + pub label: Option, + pub instances: Vec, +} + +/// Generic held-fleet handle file. +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] +pub struct FleetState { + pub label: String, + pub image: String, + pub contracts: Vec, + pub created_at: u64, + #[serde(default)] + pub metadata: BTreeMap, +} + +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] +pub struct ContractRef { + pub id: u64, + pub index: u32, +} + +#[derive(Debug, Deserialize)] +pub(crate) struct SearchResponse { + pub offers: Vec, +} + +#[derive(Debug, Deserialize)] +pub(crate) struct CreateResponse { + pub new_contract: u64, +} + +#[derive(Debug, Deserialize)] +pub(crate) struct InstanceResponse { + pub instances: InstanceStatus, +} + +#[derive(Debug, Deserialize)] +pub(crate) struct InstanceStatus { + pub actual_status: Option, + pub intended_status: Option, + #[serde(default)] + pub status_msg: Option, + #[serde(default)] + pub public_ipaddr: Option, + #[serde(default)] + pub ssh_port: Option, + #[serde(default)] + pub disk_usage: Option, +} + +#[derive(Debug, Deserialize)] +pub(crate) struct InstanceListResponse { + pub instances: Vec, +} + +#[derive(Debug, Deserialize)] +pub(crate) struct InstanceListEntry { + pub id: u64, + #[serde(default)] + pub label: Option, + #[serde(default)] + pub actual_status: Option, + #[serde(default)] + pub ssh_host: Option, + #[serde(default)] + pub ssh_port: Option, + #[serde(default)] + pub public_ipaddr: Option, +} + +impl From for LabeledInstance { + fn from(e: InstanceListEntry) -> Self { + Self { + contract_id: e.id, + ssh_host: e.ssh_host.unwrap_or_default(), + ssh_port: e.ssh_port.unwrap_or(0), + public_ipaddr: e.public_ipaddr.unwrap_or_default(), + actual_status: e.actual_status.unwrap_or_else(|| "unknown".to_string()), + } + } +} diff --git a/uv.lock b/uv.lock index 0ba29f0..994bb1d 100644 --- a/uv.lock +++ b/uv.lock @@ -2,8 +2,173 @@ version = 1 revision = 3 requires-python = ">=3.11" resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version < '3.12'", + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version < '3.12' and sys_platform == 'win32'", + "python_full_version < '3.12' and sys_platform == 'emscripten'", + "python_full_version < '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] + +[[package]] +name = "aiofiles" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/41/c3/534eac40372d8ee36ef40df62ec129bee4fdb5ad9706e58a29be53b2c970/aiofiles-25.1.0.tar.gz", hash = "sha256:a8d728f0a29de45dc521f18f07297428d56992a742f0cd2701ba86e44d23d5b2", size = 46354, upload-time = "2025-10-09T20:51:04.358Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/8a/340a1555ae33d7354dbca4faa54948d76d89a27ceef032c8c3bc661d003e/aiofiles-25.1.0-py3-none-any.whl", hash = "sha256:abe311e527c862958650f9438e859c1fa7568a141b22abcd015e120e86a85695", size = 14668, upload-time = "2025-10-09T20:51:03.174Z" }, +] + +[[package]] +name = "aiohappyeyeballs" +version = "2.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ce/f4/eec0465c2f67b2664688d0240b3212d5196fd89e741df67ddb81f8d35658/aiohappyeyeballs-2.7.1.tar.gz", hash = "sha256:065665c041c42a5938ed220bdcd7230f22527fbec085e1853d2402c8a3615d9d", size = 24757, upload-time = "2026-07-01T17:11:55.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/43/1947f06babed6b3f1d7f38b0c767f52df66bfb2bc10b468c4a7de9eceff2/aiohappyeyeballs-2.7.1-py3-none-any.whl", hash = "sha256:9243213661e29250eb41368e5daa826fc017156c3b8a11440826b2e3ed376472", size = 15038, upload-time = "2026-07-01T17:11:54.055Z" }, +] + +[[package]] +name = "aiohttp" +version = "3.14.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohappyeyeballs" }, + { name = "aiosignal" }, + { name = "attrs" }, + { name = "frozenlist" }, + { name = "multidict" }, + { name = "propcache" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, + { name = "yarl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1d/cc/58f26f118d8099f84e009ce560b9148a3f803e63fa8473b57feb67241875/aiohttp-3.14.2.tar.gz", hash = "sha256:f96821eb2ae2f12b0dfa799eafbf221f5621a9220b457b4744a269a63a5f3a6c", size = 7969860, upload-time = "2026-07-20T19:53:26.881Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/4a/a6c1426d2fb3cddd901575436803733caaaeb7ac0a49aa72d1930d2e3ab6/aiohttp-3.14.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:56432ee8f7abe47c97717cfbf5c32430463ea8a7138e12a87b7891fa6084c8ff", size = 764168, upload-time = "2026-07-20T19:50:07.389Z" }, + { url = "https://files.pythonhosted.org/packages/0c/62/88ae65afc3590719788cbff3b2e0f56e6850f53ca34114cbb371e677c543/aiohttp-3.14.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6c244f7a65cbec04c830a301aae443c529d4dbca5fddfd4b19e5a179d896adfd", size = 516255, upload-time = "2026-07-20T19:50:08.84Z" }, + { url = "https://files.pythonhosted.org/packages/8f/bc/ad9b767785b014f2f57497a2ccf67e3d4316d153f7ed1c7715fbbd7573fe/aiohttp-3.14.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c05afdd28ecacce5a1f63275a2e3dce09efddd3a63d143ee9799fda83989c8d", size = 514670, upload-time = "2026-07-20T19:50:10.325Z" }, + { url = "https://files.pythonhosted.org/packages/48/94/697aef63f15ef354f64723eaac6ccfb289d59b99699b3b7cb1ff663b2045/aiohttp-3.14.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a57f39d6ec155932853b6b0f130cbbafab3208240fa807f29a2c96ea52b77ae1", size = 1780650, upload-time = "2026-07-20T19:50:11.676Z" }, + { url = "https://files.pythonhosted.org/packages/99/f9/6a1994c1bf138403cf10171cb618571a330ae5683a5803b1ef29b5723d7f/aiohttp-3.14.2-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1fc31339824ec922cb7424d624b5b6c11d8942d077b2585e5bd602ca1a1e27ed", size = 1737710, upload-time = "2026-07-20T19:50:13.401Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ba/abe8d5015148b2cd7189473789461058dcf88ae202d4cf1cbecaf291a7ef/aiohttp-3.14.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d93854e215dcc7c88e4f530827193c1a594e2662931d8dbe7cca3abf52a7082d", size = 1845568, upload-time = "2026-07-20T19:50:15.168Z" }, + { url = "https://files.pythonhosted.org/packages/c2/89/98a2688810f469f19f2d02a298426a37b6e1cc420230a8cc7d6c85af7a01/aiohttp-3.14.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:87c9b03be0c18c3b3587be979149830381e37ac4a6ca8557dbe72e44fcad66c3", size = 1928485, upload-time = "2026-07-20T19:50:16.922Z" }, + { url = "https://files.pythonhosted.org/packages/5a/fd/c980f64f5e5bff22f07968bcc6af1b64167dfd21dbbffda86f2d153fc802/aiohttp-3.14.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bc1a0793dce8fa9bb6906411e57fb18a2f1c31357b04172541b92b30337362a7", size = 1786216, upload-time = "2026-07-20T19:50:18.598Z" }, + { url = "https://files.pythonhosted.org/packages/da/80/c710ce9c7f22fcbb83366aa64a5ccf03dced35ab09a6e37545656a6df01e/aiohttp-3.14.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:2f1b9540d2d0f2f95590528a1effd0ba5370f6ec189ac925e70b5eecae02dc77", size = 1636921, upload-time = "2026-07-20T19:50:20.201Z" }, + { url = "https://files.pythonhosted.org/packages/e1/b2/56ce1b0c535d188ef94c05bccbf3f5b1aaea1231fcb073318977bdd917e9/aiohttp-3.14.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c0a968b04fecf7c94e502015860ad1e2e112c6b761e97b6fdf65fbb374e22b73", size = 1753040, upload-time = "2026-07-20T19:50:21.857Z" }, + { url = "https://files.pythonhosted.org/packages/86/61/4318a947139a21d4e1a40e7f5a92799d0fe28feffaca6640a4a165e62b0e/aiohttp-3.14.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:2d2eedae227cd5cbd0bccc5e759f71e1af2cd77b7f74ce413bb9a2b87f94a272", size = 1760811, upload-time = "2026-07-20T19:50:23.623Z" }, + { url = "https://files.pythonhosted.org/packages/81/b0/2012165377d029ceb925c9e5f42b0b30a39d89cf7e494c4100f3ab8d27c6/aiohttp-3.14.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:9d3f4c68b2c2cd282b65e558cebf4b27c8b440ab511f2b938a643d3598df2ddb", size = 1819760, upload-time = "2026-07-20T19:50:25.34Z" }, + { url = "https://files.pythonhosted.org/packages/16/e5/1de93ba3bc18edb87f71594326bedafdc38fe725da8118b7d36fd56610f8/aiohttp-3.14.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:d32a70b8bf8836fd80d4169d9e34eb032cd2a7cbccb0b9cf00eac1f40732467c", size = 1628145, upload-time = "2026-07-20T19:50:26.992Z" }, + { url = "https://files.pythonhosted.org/packages/66/8f/adc9e8592449ee08f72fcce94b7f3f1a9bbf0591a46026e4d322e5a70d7a/aiohttp-3.14.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:386ce4e709b4cc40f9ef9a132ad8e672d2d164a65451305672df656e7794c68e", size = 1832577, upload-time = "2026-07-20T19:50:28.546Z" }, + { url = "https://files.pythonhosted.org/packages/9b/7f/700500700513b1b63967a24c4e189aad377e18f9d67b7387b3418d6213cb/aiohttp-3.14.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bc0ed30b942c3bd755583d74bb00b90248c067d20b1f8301e4489a53a33aa65f", size = 1774814, upload-time = "2026-07-20T19:50:30.144Z" }, + { url = "https://files.pythonhosted.org/packages/a5/d6/580f9b2ab4c78d9fbf9d56c85fb7f7d4d22d667b27df8032ab9bf7140e37/aiohttp-3.14.2-cp311-cp311-win32.whl", hash = "sha256:b5ed2c7dacebf4950d6b4a1b22548e4d709bb15e0287e064a7cdb32ada65893a", size = 455968, upload-time = "2026-07-20T19:50:31.722Z" }, + { url = "https://files.pythonhosted.org/packages/96/76/33665ae48e24e01c6dfa15ed14d9d9eec1349577cef497f3b26210621f0a/aiohttp-3.14.2-cp311-cp311-win_amd64.whl", hash = "sha256:bf7951959a8e89f2d4a1e719e60d3ea4e8fc26f011ee3aed09598ad786b112f7", size = 480978, upload-time = "2026-07-20T19:50:33.299Z" }, + { url = "https://files.pythonhosted.org/packages/5e/19/00963031da42bd23716032f57b2a8414c5355eb1abc41805b2b41173040c/aiohttp-3.14.2-cp311-cp311-win_arm64.whl", hash = "sha256:c167127a3b6089ef78ac2e33582c38040d51688ee28474b5053acf55f192187b", size = 452900, upload-time = "2026-07-20T19:50:35.049Z" }, + { url = "https://files.pythonhosted.org/packages/e0/99/8737b10b6fa447371541a3b2cdbf9703c31ecf3afff4998f2f0633646a57/aiohttp-3.14.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:30e41662123806e4590a0440585122ac33c89a2465a8be81cc1b50656ca0e432", size = 754562, upload-time = "2026-07-20T19:50:36.672Z" }, + { url = "https://files.pythonhosted.org/packages/7c/e5/fd624b8b46d99dfd8f7f75111569b5ee21850539e914eed04ce39e4455ea/aiohttp-3.14.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dbc45e2773c66d14fbd337754e9bf23932beef539bd539716a721f5b5f372034", size = 509386, upload-time = "2026-07-20T19:50:38.268Z" }, + { url = "https://files.pythonhosted.org/packages/6d/a8/473db85d08b862724c506b51af2b9c6327e9e95cbd297c4c6f33968be1a8/aiohttp-3.14.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:476cf7fac10619ad6d08e1df0225d07b5a8d57c04963a171ad845d5a349d47ef", size = 511905, upload-time = "2026-07-20T19:50:39.862Z" }, + { url = "https://files.pythonhosted.org/packages/c1/e8/aa5ebff13ac5e39ffae8add143757e936d1c2ceb726b82786e5f5cb9912c/aiohttp-3.14.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40bedff39ea83185f3f98a41155dd9da28b365c432e5bd90e7be140bcef0b7f3", size = 1764968, upload-time = "2026-07-20T19:50:41.559Z" }, + { url = "https://files.pythonhosted.org/packages/f4/22/23ec6d3d3f24f5961c7be73d5127481c992d6c92ca213f336ed8f0ff1453/aiohttp-3.14.2-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a26f14006883fc7662e21041b4311eac1acbc977a5c43aacb27ff17f8a4c28b2", size = 1740635, upload-time = "2026-07-20T19:50:43.363Z" }, + { url = "https://files.pythonhosted.org/packages/a0/7b/f8966d2d08f0582525ef02d5af007d2d2467cb733abf1d1f7849a02a6b98/aiohttp-3.14.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:673217cbc9370ebf8cd048b0889d7cbe922b7bb48f4e4c02d31cfefa140bd946", size = 1810447, upload-time = "2026-07-20T19:50:45.258Z" }, + { url = "https://files.pythonhosted.org/packages/39/f5/239f2a828b033ac244237074db7b560ad3279bb1e934bb462dbde19f3877/aiohttp-3.14.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b39dbdbe30a44958d63f3f8baa2af68f24ec8a631dcd18a33dd76dfa2a0eb917", size = 1905896, upload-time = "2026-07-20T19:50:47.022Z" }, + { url = "https://files.pythonhosted.org/packages/6c/6e/fb84b8dafc521026355aadbeed484fc1ec44a05aae927de309f204c1f0af/aiohttp-3.14.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d15f618255fcbe5f54689403aa4c2a90b6f2e6ebc96b295b1cb0e868c1c12384", size = 1792052, upload-time = "2026-07-20T19:50:48.683Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c4/25b199009f164ee02599b9b0962d22e6533d212418e49df9f4fdb37fe2eb/aiohttp-3.14.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7ae767b7dffd316cc2d0abf3e1f90132b4c1a2819a32d8bcb1ba749800ea6273", size = 1590939, upload-time = "2026-07-20T19:50:50.702Z" }, + { url = "https://files.pythonhosted.org/packages/ad/f5/96d7540a52620433db3822267008a1697fc816979c109a4f535855ac893c/aiohttp-3.14.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3ec4b6501a076b2f73844256da17d6b7acb15bb74ee0e908a67feb9412371166", size = 1725039, upload-time = "2026-07-20T19:50:52.506Z" }, + { url = "https://files.pythonhosted.org/packages/f6/50/1a06abbeec14a2bcb46124ca6e281ed4ccb3e9006542ded6bc89a0ce5224/aiohttp-3.14.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7e328d02fb46b9a8dbfa070d98967e8b7eaa1d9ee10ae03fb664bdf30d58ccf0", size = 1764748, upload-time = "2026-07-20T19:50:54.336Z" }, + { url = "https://files.pythonhosted.org/packages/70/5d/b8821b362306627ea8ca11fe49ec47cba18e7c75d975fa5f6710ad93845c/aiohttp-3.14.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c0c7f2e5fe10910d5ab76438f269cc41bb7e499fd48ded978e926360ab1790c8", size = 1777119, upload-time = "2026-07-20T19:50:56.306Z" }, + { url = "https://files.pythonhosted.org/packages/81/e5/805d9d49e66c6358574ad70dd731031585d18fe95ae65b857bc378bccc9a/aiohttp-3.14.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:66de80888db2176655f8df0b705b817f5ae3834e6566cc2caa89360871d90195", size = 1580047, upload-time = "2026-07-20T19:50:58.316Z" }, + { url = "https://files.pythonhosted.org/packages/c6/fa/1536f272d5ad93bf8b75043b02b94c24bf4e6b55a849d3287553ad6da97e/aiohttp-3.14.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f2f9950b2dd0fc896ab520ea2366b7df6484d3d164a65d5e9f28f7b0e5742d8a", size = 1796861, upload-time = "2026-07-20T19:51:00.373Z" }, + { url = "https://files.pythonhosted.org/packages/e6/f3/86dfd6152bb706351cf5c6b45f0f6a1818a4e559d1e88d899c4c673c23a8/aiohttp-3.14.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cc4435b16dc246c5dfa7f2f8ee71b10a30765018a090ee36e99f356b1e9b75cc", size = 1768687, upload-time = "2026-07-20T19:51:02.214Z" }, + { url = "https://files.pythonhosted.org/packages/57/af/14b98e07fcd1a2b37ebb2f950309821eaa56e0eac3d32fc23dc55227e49b/aiohttp-3.14.2-cp312-cp312-win32.whl", hash = "sha256:4ca802547f1128008addfc21b24959f5cbf30a8952d365e7daa078a0d884b242", size = 451437, upload-time = "2026-07-20T19:51:03.954Z" }, + { url = "https://files.pythonhosted.org/packages/38/20/8478c05702a369b6d0800e40e0c5f9a289ff482d0921faec1eb17727339d/aiohttp-3.14.2-cp312-cp312-win_amd64.whl", hash = "sha256:e5efff8bfd27c44ce1bfdf92ce838362d9316ed8b2ed2f89f581dbe0bbe05acf", size = 476776, upload-time = "2026-07-20T19:51:05.705Z" }, + { url = "https://files.pythonhosted.org/packages/d0/d0/e550bb1cb4fc82de3bdbe2add061cc0cedb34f2e7f01ada78fba94493ca1/aiohttp-3.14.2-cp312-cp312-win_arm64.whl", hash = "sha256:0eb1c9fd51f231ac8dc9d5824d5c2efc45337d429db0123fa9d4c20f570fdfc3", size = 447928, upload-time = "2026-07-20T19:51:07.523Z" }, + { url = "https://files.pythonhosted.org/packages/96/3a/8b8779f8e813d3a33cf16bc836a7ea7bf3c27b6588d42efa36b0c32fcb58/aiohttp-3.14.2-cp313-cp313-android_21_arm64_v8a.whl", hash = "sha256:17eecd6ee9bfc8e31b6003137d74f349f0ac3797111a2df87e23acb4a7a912ea", size = 506205, upload-time = "2026-07-20T19:51:09.215Z" }, + { url = "https://files.pythonhosted.org/packages/d1/73/2f45204b37ecc4ce2c54b8b67254d70a8ea3b629c4083d58f3e2d27991cb/aiohttp-3.14.2-cp313-cp313-android_21_x86_64.whl", hash = "sha256:ce8dfb58f012f76258f29951d38935ac928b32ae24a480f30761f2ed5036fa78", size = 515116, upload-time = "2026-07-20T19:51:10.914Z" }, + { url = "https://files.pythonhosted.org/packages/f0/22/8f4424de1f50df4fbb74ea32006f9cff798ae0d346ffa6be7b6f0caca719/aiohttp-3.14.2-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:4181d72e0e6d1735c1fae56381193c6ae211d584d06413980c00775b9b2a176a", size = 486244, upload-time = "2026-07-20T19:51:12.878Z" }, + { url = "https://files.pythonhosted.org/packages/c2/53/60de022260f5d2d31976bc5f50db708e10671f0ac5da515402adcc6b4d4d/aiohttp-3.14.2-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:0e56babe35076f69ec9327833b71439eeccd10f51fe56c1a533da8f24923f014", size = 492260, upload-time = "2026-07-20T19:51:14.555Z" }, + { url = "https://files.pythonhosted.org/packages/b2/6f/d3ccc31c15cd33888670b8f1bf1dc06f3239b4edd156fc818078e87ae628/aiohttp-3.14.2-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:6b63709e259e3b3d7922b235606564e91ed4c224e777cc0ca4cae04f5f559206", size = 502174, upload-time = "2026-07-20T19:51:16.3Z" }, + { url = "https://files.pythonhosted.org/packages/40/20/52d21e485652f4708015ce27dd3029e63140e0bdb0dcc7bf72dc0bc3f4ad/aiohttp-3.14.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f7c10c4d0b33888a68c192d883d1390d4596c116a59bf689e6d352c6739b7940", size = 750878, upload-time = "2026-07-20T19:51:18.013Z" }, + { url = "https://files.pythonhosted.org/packages/2e/49/1220bdc73d568431cc3856667405d78c2e95eb57fed2b9ffa5e825932ab2/aiohttp-3.14.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8f7b19e27b78a3a927b1932af93af7645806153e8f541cee8fe856426142503f", size = 508459, upload-time = "2026-07-20T19:51:19.876Z" }, + { url = "https://files.pythonhosted.org/packages/ed/f1/39177406ce0ae5cb2782b35e848c0edf6e09d6e082df636eeacdbdfa70bd/aiohttp-3.14.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:18fcc3a5cc7dde1d8f7903e309055294c28894c9434588645817e374f3b83d03", size = 509179, upload-time = "2026-07-20T19:51:21.719Z" }, + { url = "https://files.pythonhosted.org/packages/87/f7/6d081c2ee838458492c7ae1062399bdd68f149811d257d4502e79a25b306/aiohttp-3.14.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09d1b0deec698d1198eb0b8f910dd9432d856985abbfea3f06be8b296a6619b4", size = 1761346, upload-time = "2026-07-20T19:51:23.437Z" }, + { url = "https://files.pythonhosted.org/packages/1d/ed/0befea4ae533f09c3a60f0d10b923cd4a90027a1bf49dfafaa24eeee08b8/aiohttp-3.14.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:cabaaecb4c6888bd9abafac151051377534dad4c3859a386b6325f39d3732f99", size = 1735057, upload-time = "2026-07-20T19:51:25.512Z" }, + { url = "https://files.pythonhosted.org/packages/de/03/c1d89fcd94907f93a08d4aadbb4e1d9bd3d7d6c9f94bc9c17689de38107b/aiohttp-3.14.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:114299c08cce8ad4ebb21fafe766378864109e88ad8cf63cf6acb384ff844a57", size = 1800389, upload-time = "2026-07-20T19:51:27.585Z" }, + { url = "https://files.pythonhosted.org/packages/3a/8b/edbac4d1a1cde3571588a1e5b40637df5acee43158efdf3ae9a161fde8ab/aiohttp-3.14.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6bea8451e26cd67645d9b2ee18232e438ddfc36cea35feecb4537f2359fc7030", size = 1895342, upload-time = "2026-07-20T19:51:29.794Z" }, + { url = "https://files.pythonhosted.org/packages/0c/31/2e9ca3b21c07ea8a001e2b142cb01401fd34fd07b248a0b95a04c3ebc4ec/aiohttp-3.14.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:46b8887aa303075c1e5b24123f314a1a7bbfa03d0213dff8bb70503b2148c853", size = 1789175, upload-time = "2026-07-20T19:51:31.744Z" }, + { url = "https://files.pythonhosted.org/packages/6f/91/b57d3d13a80fbf765b19ae0c38d783a3a23f35b1cb82ae3b22f91abe6c24/aiohttp-3.14.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:de3b04a3f7b40ad7f1bcd3540dd447cf9bd93d57a49969bca522cbcf01290f08", size = 1586845, upload-time = "2026-07-20T19:51:33.571Z" }, + { url = "https://files.pythonhosted.org/packages/69/e8/a2f5f9f6219cd21190e9b50e2cbc978d12a2aab748d0aa7c6ee930db15c3/aiohttp-3.14.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:42372e1f1a8dca0dcd5daf922849004ec1120042d0e24f14c926f97d2275ca79", size = 1724839, upload-time = "2026-07-20T19:51:35.518Z" }, + { url = "https://files.pythonhosted.org/packages/de/d4/a2b9442336051714dd8dbd419b9f4a1003c45bb850ee0f3af87f2743e867/aiohttp-3.14.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:7871c94f3400358530ac4906dd7a526c5a24099cd5c48f53ffc4b1cb5037d7d7", size = 1756306, upload-time = "2026-07-20T19:51:37.459Z" }, + { url = "https://files.pythonhosted.org/packages/ab/93/22c94a599b2c4ea6ab88f1b912d90883f1fba5235b587ea9f13b148e9a0f/aiohttp-3.14.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f8f371794319a8185e61e15ba5e1be8407b986ebce1ade11856c02d24e090577", size = 1769133, upload-time = "2026-07-20T19:51:39.9Z" }, + { url = "https://files.pythonhosted.org/packages/fe/db/a4e4c207f7023e83c281a7cf3579f227bade48f1899cb6588c0ed6ae54de/aiohttp-3.14.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:af63ac06bad85191e6a0c4a733cb3c55adb99f8105bc7ce9913391561159a49a", size = 1578671, upload-time = "2026-07-20T19:51:42.418Z" }, + { url = "https://files.pythonhosted.org/packages/8d/6f/33746ba4947b8193652fc7ed0533e09f93b118e39777228f3029e5677c17/aiohttp-3.14.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:8c2cdb684c153f377157e856257ee8535c75d8478343e4bb1e83ca73bdfa3d31", size = 1791778, upload-time = "2026-07-20T19:51:44.298Z" }, + { url = "https://files.pythonhosted.org/packages/06/41/323856cb0ec9076b1f9a135eb0684f5f984dd97989a087873768aa34ca2f/aiohttp-3.14.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ceff4f84c1d928654faa6bcb0437ed095b279baae2a35fcfe5a3cbe0d8b9725d", size = 1768490, upload-time = "2026-07-20T19:51:46.279Z" }, + { url = "https://files.pythonhosted.org/packages/39/f0/09e29e457b6fb49253cbb61354ed2541fdf23ac192bddbb57bb34bc93d9c/aiohttp-3.14.2-cp313-cp313-win32.whl", hash = "sha256:15292b08ce7dd45e268fce542228894b4735102e8ee77163bd665b35fc2b5598", size = 451064, upload-time = "2026-07-20T19:51:48.194Z" }, + { url = "https://files.pythonhosted.org/packages/0b/76/b44703eafcfe1446f4f975be1ef2406042955425eaf56450e71b50506c49/aiohttp-3.14.2-cp313-cp313-win_amd64.whl", hash = "sha256:fc2d8e7373ceba7e1c7e9dc00adac854c2701a6d443fd21d4af2e49342d727bd", size = 476140, upload-time = "2026-07-20T19:51:50.285Z" }, + { url = "https://files.pythonhosted.org/packages/72/48/b095935c9e72a253439f80ec757b91d4733e0a9a98b63e108d84aaf39b08/aiohttp-3.14.2-cp313-cp313-win_arm64.whl", hash = "sha256:70570f50bda5037b416db8fcba595cf808ecf0fdce12d64e850b5ae1db7f64d4", size = 447585, upload-time = "2026-07-20T19:51:52.333Z" }, + { url = "https://files.pythonhosted.org/packages/4f/ca/716f720dccc3032e40dc80d0ab2d87a7365270a714976a85bdff73bc7254/aiohttp-3.14.2-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:7719cef2a9dc5e10cd5f476ec1744b25c5ac4da733a9a687d91c42de7d4afe30", size = 508899, upload-time = "2026-07-20T19:51:54.165Z" }, + { url = "https://files.pythonhosted.org/packages/f5/80/786166589e71b3f3cfce56b414170fe5008462d0bff100bd8837285632f6/aiohttp-3.14.2-cp314-cp314-android_24_x86_64.whl", hash = "sha256:3523ec0cc524a413699f25ec8340f3da368484bc9d5f2a1bf87f233ac20599bf", size = 514722, upload-time = "2026-07-20T19:51:56.208Z" }, + { url = "https://files.pythonhosted.org/packages/eb/b7/539961cf3e3d3f179ea4b20d456cbdb67d1163c68f2e95bf220438a5afd5/aiohttp-3.14.2-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:c8ab295ee58332ef8fbd62727df90540836dfcf7a61f545d0f2771223b80bf25", size = 488082, upload-time = "2026-07-20T19:51:58.293Z" }, + { url = "https://files.pythonhosted.org/packages/60/34/c7708eac8edacca9c049a0d6f5fa610005ac3c5634c9ea4751134263bf4e/aiohttp-3.14.2-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:71501bc03ede681401269c569e6f9306c761c1c7d4296675e8e78dd07147070f", size = 494140, upload-time = "2026-07-20T19:52:00.158Z" }, + { url = "https://files.pythonhosted.org/packages/d8/e1/076b88de36b4ebea62d1c0b225e32bc8a452ee71b2aded82878fa5fa7c9e/aiohttp-3.14.2-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:052478c7d01035d805302db50c2ef626b1c1ba0fe2f6d4a22ae6eaeb43bf2316", size = 502670, upload-time = "2026-07-20T19:52:02.097Z" }, + { url = "https://files.pythonhosted.org/packages/a9/71/7b7720ffe7e521aaa79a853ebff4c17937f4b5a3a586e9d13b0f38050b35/aiohttp-3.14.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b0d49be9d9a210b2c993bf32b1eda03f949f7bcda68fc4f718ae8085ae3fb4b8", size = 756406, upload-time = "2026-07-20T19:52:04.082Z" }, + { url = "https://files.pythonhosted.org/packages/b9/9a/c67c7e22fff7d7b17387e718451b30eb89f55df6b8d13d2d7f91daba6505/aiohttp-3.14.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:5fe25c4c44ea5b56fd4512e2065e09384987fc8cc98e41bc8749efe12f653abb", size = 510106, upload-time = "2026-07-20T19:52:06.001Z" }, + { url = "https://files.pythonhosted.org/packages/27/2a/3caebd640229663263585d4d31898331a3937752f2e1f5ec0af509fa31be/aiohttp-3.14.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:7e254b0d636957174a03ca210289e867a62bb9502081e1b44a8c2bb1f6266ecd", size = 512876, upload-time = "2026-07-20T19:52:08.036Z" }, + { url = "https://files.pythonhosted.org/packages/27/04/86945210e491493f5cd025efe5e6d8fc8a9e8aaf36f943c40f52c34eda7e/aiohttp-3.14.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6b0ce033d49dd3c6a2566b387e322a9f9029110d67902f0d64571c0fd4b73d8", size = 1750050, upload-time = "2026-07-20T19:52:09.998Z" }, + { url = "https://files.pythonhosted.org/packages/11/d8/356c62552b4db60af5ad8cddeafa6f837788918201f1b5f2466565c986b5/aiohttp-3.14.2-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:41b5b66b1ac2c48b61e420691eb9741d17d9068f2bc23b5ee3e750faa564bc8f", size = 1707177, upload-time = "2026-07-20T19:52:12.39Z" }, + { url = "https://files.pythonhosted.org/packages/77/2d/41bb20bed3df1d6dc7fc231ca4ffb72177fd151bf4205a4ade7a93e03501/aiohttp-3.14.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:30a5ed81f752f182961237414a3cd0af209c0f74f06d66f66f9fcb8964f4978d", size = 1803795, upload-time = "2026-07-20T19:52:14.705Z" }, + { url = "https://files.pythonhosted.org/packages/63/21/ad9fe6786a1d2758bcfdae4dbc1d6869ffc7b1e0571530a508de3cdde09b/aiohttp-3.14.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b9251f43d78ff675c0ddfcd53ba61abecc1f74eedc6287bb6657f6c6a033fe7", size = 1876539, upload-time = "2026-07-20T19:52:16.965Z" }, + { url = "https://files.pythonhosted.org/packages/0e/cb/d213f4fd7af279d82c4b46d30de22db93a01296d77a8d8e535289637da54/aiohttp-3.14.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf7930e83a12801b2e253d41cc8bf5553f61c0cfabef182a72ae13472cc81803", size = 1761130, upload-time = "2026-07-20T19:52:19.127Z" }, + { url = "https://files.pythonhosted.org/packages/46/4f/0792fe1a24c2b4b506d07350e980b0626c149fe73e68dd37dfb30ed89813/aiohttp-3.14.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:abb33120daba5e5643a757790ece44d638a5a11eb0598312e6e7ec2f1bd1a5a3", size = 1583576, upload-time = "2026-07-20T19:52:21.465Z" }, + { url = "https://files.pythonhosted.org/packages/46/ad/551c302f534f9cd6105bd16902e69dc64c726aa729127203f47ed4bddb2a/aiohttp-3.14.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:983a68048a48f35ed08aadfcc1ba55de9a121aa91be48a764965c9ec532b94b5", size = 1714139, upload-time = "2026-07-20T19:52:23.636Z" }, + { url = "https://files.pythonhosted.org/packages/e3/cf/a3be8601d2e80ccf7bd4f79807629cede5425d72c02636f06b1ad6a8290a/aiohttp-3.14.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:fef094bfc2f4e991a998af066fc6e3956a409ef799f5cbad2365175357181f2e", size = 1724352, upload-time = "2026-07-20T19:52:26.043Z" }, + { url = "https://files.pythonhosted.org/packages/c8/b1/6b55f6448b43a3338749f37fc6a14e7ac7dad121d2d585f22c1dd3d324fe/aiohttp-3.14.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:2f7ca81d936d820ae479971a6b6214b1b867420b5b58e54a1e7157716a943754", size = 1770749, upload-time = "2026-07-20T19:52:28.467Z" }, + { url = "https://files.pythonhosted.org/packages/39/58/b3f1cf6af47fa0b0d51c6e2b98b2bf0326b44a932d74915f3c0874413ea8/aiohttp-3.14.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:da4f142fa078fedbdb3f88d0542ad9315656224e167502ae274cbba818b90c90", size = 1577547, upload-time = "2026-07-20T19:52:30.658Z" }, + { url = "https://files.pythonhosted.org/packages/d4/e2/1d79f1ab35593d70dabed98936ae842ac90d12847c9a62bba4a19d6005a4/aiohttp-3.14.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:3d4238e50a378f5ac69a1e0162715c676bd082dede2e5c4f67ca7fd0014cb09d", size = 1781840, upload-time = "2026-07-20T19:52:33.021Z" }, + { url = "https://files.pythonhosted.org/packages/01/73/770be856c6fc861563999081a5fe2d44e16b4255f5fd94b2217a2349ca65/aiohttp-3.14.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:03330676d8caa28bb33fa7104b0d542d9aac93350abcd91bf68e64abd531c320", size = 1745757, upload-time = "2026-07-20T19:52:35.541Z" }, + { url = "https://files.pythonhosted.org/packages/bc/0b/861fdbe3ff90b503a4d0a12276623f4afbe54c237ca876fc560125c270a3/aiohttp-3.14.2-cp314-cp314-win32.whl", hash = "sha256:43387429e4f2ec4047aaf9f935db003d4aa1268ea9021164877fd6b012b6396a", size = 455863, upload-time = "2026-07-20T19:52:37.634Z" }, + { url = "https://files.pythonhosted.org/packages/f7/03/cc8234d0f06fe4b0e1777c7ed313cc9014f078f72a9a0cbdc144965d1bd7/aiohttp-3.14.2-cp314-cp314-win_amd64.whl", hash = "sha256:e3a6302f47518dbf2ffd3cd518f02a1fbf53f85ffeed41a224fa4a6f6a62673b", size = 480986, upload-time = "2026-07-20T19:52:39.665Z" }, + { url = "https://files.pythonhosted.org/packages/2e/b0/ae17dd629e22160f453b9041a4aee80a8a917ba2f44d5b3e252cc501ed2c/aiohttp-3.14.2-cp314-cp314-win_arm64.whl", hash = "sha256:8d1f3802887f0e0dc07387a081dca3ad0b5758e32bdf5fb619b12ac22b8e9b56", size = 453588, upload-time = "2026-07-20T19:52:41.634Z" }, + { url = "https://files.pythonhosted.org/packages/30/54/4bbcc00f04dbc380103ee669a56df30dea127c3686c8dc2ab86b05a1387b/aiohttp-3.14.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9094262ae4f2902c7291c14ba915960db5567276690ef9195cdefe8b7cbb3acb", size = 791337, upload-time = "2026-07-20T19:52:43.821Z" }, + { url = "https://files.pythonhosted.org/packages/e7/37/4f95edc1488580c63c0b5baaef429afbacadc7ccd9c47431cdcce90d9e5a/aiohttp-3.14.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:165b0dcc65960ffc9c99aa4ba1c3c76dbc7a34845c3c23a0bd3fbf33b3d12569", size = 526335, upload-time = "2026-07-20T19:52:45.903Z" }, + { url = "https://files.pythonhosted.org/packages/c3/ed/1d7ae73764d135638797a427cb637ae3d98f1fd61208c25891a9f26cdd67/aiohttp-3.14.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f518d75c03cd3f7f125eca1baadb56f8b94db94602278d2d0d19af6e177650a7", size = 532102, upload-time = "2026-07-20T19:52:47.994Z" }, + { url = "https://files.pythonhosted.org/packages/e3/12/da9816eee0d81506560259e7c0af93a4aa7df98acd0fe276958abd42d7c3/aiohttp-3.14.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9b937d7864ca68f1e8a1c3a4eb2bac1de86a992f86d36492da10a135a482fab6", size = 1922727, upload-time = "2026-07-20T19:52:50.224Z" }, + { url = "https://files.pythonhosted.org/packages/2f/b9/d7ccbcde223a72c7b8f3458bdb08c2bacf5fc268a1fdd5cc29861eb0e4e2/aiohttp-3.14.2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b155df7f572c73c6c4108b67be302c8639b96ae56fb02787eeae8cad0a1baf26", size = 1787202, upload-time = "2026-07-20T19:52:52.825Z" }, + { url = "https://files.pythonhosted.org/packages/c2/7c/39174069b7df18ea22b23a0fa9abffe4c091f0f86d53af83ddcbb5f44c8f/aiohttp-3.14.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0bfea68a48c8071d49aabdf5cd9a6939dcb246db65730e8dc76295fe02f7c73c", size = 1912574, upload-time = "2026-07-20T19:52:55.007Z" }, + { url = "https://files.pythonhosted.org/packages/21/ff/bd2b7473510caf352aef3f52a3d4fe10184ec22747df74ab658b4402020f/aiohttp-3.14.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8241ee6c7fff3ebb1e6b237bccc1d90b46d07c06cf978e9f2ecad43e29dac67a", size = 2005478, upload-time = "2026-07-20T19:52:57.401Z" }, + { url = "https://files.pythonhosted.org/packages/c8/ee/db26af0acc994350b653b3a73dddf9ee9886bf2fdb68b23fc98705e76442/aiohttp-3.14.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ec64d1c4605d689ed537ba1e572138e2d4ff603a0cb2bbbfe61d4552c73d19e1", size = 1879709, upload-time = "2026-07-20T19:52:59.778Z" }, + { url = "https://files.pythonhosted.org/packages/6a/4d/592451fd40edca73fcb099d8718668cea36dc1dde873dd0f8e91a4081051/aiohttp-3.14.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0fb26fcc5ebf765095fe0c6ab7501574d3108c57fca9a0d462be15a65c9deb8d", size = 1675699, upload-time = "2026-07-20T19:53:02.11Z" }, + { url = "https://files.pythonhosted.org/packages/2a/3e/c1ce4aa13fd1f910e437684843ea6cf6e0041f91d89a1b0389dce247ee59/aiohttp-3.14.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ef710fbb770aefa4def5484eeddb606e70ab3492aa37390def61b35652f6820a", size = 1843542, upload-time = "2026-07-20T19:53:04.385Z" }, + { url = "https://files.pythonhosted.org/packages/aa/a4/3f9e22fda714cc38ef558166ff3326cd2f6f65c33da92ba00e3641cbea54/aiohttp-3.14.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:d813f54560b9e5bce170fff7b0adde54d88253928e4add447c36792f27f92125", size = 1827505, upload-time = "2026-07-20T19:53:07.072Z" }, + { url = "https://files.pythonhosted.org/packages/37/9d/260c7b8a25c7cd74bee63ce957556a2d25839a321e9107a089d4da3a51af/aiohttp-3.14.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:1aa4f3b44563a88da4407cef8a13438e9e386967720a826a10a633493f69208f", size = 1853751, upload-time = "2026-07-20T19:53:10.012Z" }, + { url = "https://files.pythonhosted.org/packages/f8/d6/7c3cfa191e666bf7b48b4346815900b35b85b43ffff783fd0be52e45fe09/aiohttp-3.14.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:4610638d3135afaefadf179bffd1bbf3434d3dc7a5d0a4c4219b99fa976e944d", size = 1668850, upload-time = "2026-07-20T19:53:12.362Z" }, + { url = "https://files.pythonhosted.org/packages/c4/af/d9b8353aee9506dace04ca22c3c4e93b7375d9343c4780c8b512972fc6f9/aiohttp-3.14.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:6e30743bd3ab6ad98e9abbad6ccb39c52bcf6f11f9e3d4b6df97afffe8df53f3", size = 1883642, upload-time = "2026-07-20T19:53:14.664Z" }, + { url = "https://files.pythonhosted.org/packages/ed/29/ed64c0a013322570a02e5b0e359df2cfd30ae58ba045748dc78175f15826/aiohttp-3.14.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:68a6f7cd8d2c70869a2a5fe97a16e86a4e13a6ed6f0d9e6029aef7573e344cd6", size = 1844092, upload-time = "2026-07-20T19:53:16.995Z" }, + { url = "https://files.pythonhosted.org/packages/3c/74/ce6f229510fdd46ee7365fbb759ffaa3004e0bcc59fbd0ec51d8a8efc775/aiohttp-3.14.2-cp314-cp314t-win32.whl", hash = "sha256:205181d896f73436ac60cf6644e545544c759ab1c3ec8c34cc1e044689611361", size = 474098, upload-time = "2026-07-20T19:53:19.645Z" }, + { url = "https://files.pythonhosted.org/packages/72/4c/877c07a6d97a1a0e5e25a06bab76dd7449b533ff8bb6c281c5af8b09c8d9/aiohttp-3.14.2-cp314-cp314t-win_amd64.whl", hash = "sha256:312d414c294a1e26aa12888e8fd37cd2e1131e9c48ddcf2a4c6b590290d52a49", size = 500480, upload-time = "2026-07-20T19:53:22.227Z" }, + { url = "https://files.pythonhosted.org/packages/42/d8/d4c74bb7990da2ee6116fe262ace41cf376ebc6b0bda694c77eeaab5a509/aiohttp-3.14.2-cp314-cp314t-win_arm64.whl", hash = "sha256:63b840c03979732ec92e570f0bd6beb6311e2b5d19cacbfcd8cc7f6dd2693900", size = 469248, upload-time = "2026-07-20T19:53:24.622Z" }, +] + +[[package]] +name = "aiosignal" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "frozenlist" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490, upload-time = "2025-07-03T22:54:42.156Z" }, +] + +[[package]] +name = "aiosqlite" +version = "0.22.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4e/8a/64761f4005f17809769d23e518d915db74e6310474e733e3593cfc854ef1/aiosqlite-0.22.1.tar.gz", hash = "sha256:043e0bd78d32888c0a9ca90fc788b38796843360c855a7262a532813133a0650", size = 14821, upload-time = "2025-12-23T19:25:43.997Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/b7/e3bf5133d697a08128598c8d0abc5e16377b51465a33756de24fa7dee953/aiosqlite-0.22.1-py3-none-any.whl", hash = "sha256:21c002eb13823fad740196c5a2e9d8e62f6243bd9e7e4a1f87fb5e44ecb4fceb", size = 17405, upload-time = "2025-12-23T19:25:42.139Z" }, ] [[package]] @@ -24,6 +189,7 @@ dev = [ { name = "nbformat" }, { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "skypilot", extra = ["vast"] }, ] [package.metadata] @@ -39,6 +205,52 @@ dev = [ { name = "nbclient", specifier = ">=0.10.2" }, { name = "nbformat", specifier = ">=5.10.4" }, { name = "numpy", specifier = ">=2.4.0" }, + { name = "skypilot", extras = ["vast"], specifier = ">=0.12.3.post1" }, +] + +[[package]] +name = "alembic" +version = "1.18.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mako" }, + { name = "sqlalchemy" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1a/cc/ac0bed8e562e7407fe55c3ba85a4dce86e6dbd8730887bd1e406a6c5c18a/alembic-1.18.5.tar.gz", hash = "sha256:1554982221dd17e9a749b53902407578eb305e453f71999e8c7f0a48389fff8e", size = 2060480, upload-time = "2026-06-25T15:20:54.888Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/96/78/5fe6dc3a3a5b2f5a2a4faef8bfe336d5fa049a38884ab3172e0098160c01/alembic-1.18.5-py3-none-any.whl", hash = "sha256:06d8ba9d04558022f5395e9317de03d270f3dced49cee01f89fe7a13c26f14bc", size = 264664, upload-time = "2026-06-25T15:20:56.673Z" }, +] + +[[package]] +name = "annotated-doc" +version = "0.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4", size = 7288, upload-time = "2025-11-10T22:07:42.062Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", size = 5303, upload-time = "2025-11-10T22:07:40.673Z" }, +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "anyio" +version = "4.14.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/cc/a381afa6efea9f496eff839d4a6a1aed3bfafc7b3ab4b0d1b243a12573dd/anyio-4.14.2.tar.gz", hash = "sha256:cfa139f3ed1a23ee8f88a145ddb5ac7605b8bbfd8592baacd7ce3d8bb4313c7f", size = 260176, upload-time = "2026-07-12T20:29:07.082Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/35/f2287558c17e29fafc8ef3daf819bb9834061cfa43bff8014f7df7f63bdc/anyio-4.14.2-py3-none-any.whl", hash = "sha256:9f505dda5ac9f0c8309b5e8bd445a8c2bf7246f3ce950121e45ea15bc41d1494", size = 125813, upload-time = "2026-07-12T20:29:05.763Z" }, ] [[package]] @@ -59,6 +271,63 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d4/2b/04b8a15f3a1c77bc79ddf5c73875327f34b4fa75982df2b76e45e402d364/asttokens-3.0.2-py3-none-any.whl", hash = "sha256:9da13157f5b28becde0bd374fc677dcd3c290614264eff096f167c469cd9f933", size = 28702, upload-time = "2026-07-12T03:31:47.542Z" }, ] +[[package]] +name = "asyncio" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/71/ea/26c489a11f7ca862d5705db67683a7361ce11c23a7b98fc6c2deaeccede2/asyncio-4.0.0.tar.gz", hash = "sha256:570cd9e50db83bc1629152d4d0b7558d6451bb1bfd5dfc2e935d96fc2f40329b", size = 5371, upload-time = "2025-08-05T02:51:46.605Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/64/eff2564783bd650ca25e15938d1c5b459cda997574a510f7de69688cb0b4/asyncio-4.0.0-py3-none-any.whl", hash = "sha256:c1eddb0659231837046809e68103969b2bef8b0400d59cfa6363f6b5ed8cc88b", size = 5555, upload-time = "2025-08-05T02:51:45.767Z" }, +] + +[[package]] +name = "asyncpg" +version = "0.31.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/cc/d18065ce2380d80b1bcce927c24a2642efd38918e33fd724bc4bca904877/asyncpg-0.31.0.tar.gz", hash = "sha256:c989386c83940bfbd787180f2b1519415e2d3d6277a70d9d0f0145ac73500735", size = 993667, upload-time = "2025-11-24T23:27:00.812Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/17/cc02bc49bc350623d050fa139e34ea512cd6e020562f2a7312a7bcae4bc9/asyncpg-0.31.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:eee690960e8ab85063ba93af2ce128c0f52fd655fdff9fdb1a28df01329f031d", size = 643159, upload-time = "2025-11-24T23:25:36.443Z" }, + { url = "https://files.pythonhosted.org/packages/a4/62/4ded7d400a7b651adf06f49ea8f73100cca07c6df012119594d1e3447aa6/asyncpg-0.31.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2657204552b75f8288de08ca60faf4a99a65deef3a71d1467454123205a88fab", size = 638157, upload-time = "2025-11-24T23:25:37.89Z" }, + { url = "https://files.pythonhosted.org/packages/d6/5b/4179538a9a72166a0bf60ad783b1ef16efb7960e4d7b9afe9f77a5551680/asyncpg-0.31.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a429e842a3a4b4ea240ea52d7fe3f82d5149853249306f7ff166cb9948faa46c", size = 2918051, upload-time = "2025-11-24T23:25:39.461Z" }, + { url = "https://files.pythonhosted.org/packages/e6/35/c27719ae0536c5b6e61e4701391ffe435ef59539e9360959240d6e47c8c8/asyncpg-0.31.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c0807be46c32c963ae40d329b3a686356e417f674c976c07fa49f1b30303f109", size = 2972640, upload-time = "2025-11-24T23:25:41.512Z" }, + { url = "https://files.pythonhosted.org/packages/43/f4/01ebb9207f29e645a64699b9ce0eefeff8e7a33494e1d29bb53736f7766b/asyncpg-0.31.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e5d5098f63beeae93512ee513d4c0c53dc12e9aa2b7a1af5a81cddf93fe4e4da", size = 2851050, upload-time = "2025-11-24T23:25:43.153Z" }, + { url = "https://files.pythonhosted.org/packages/3e/f4/03ff1426acc87be0f4e8d40fa2bff5c3952bef0080062af9efc2212e3be8/asyncpg-0.31.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37fc6c00a814e18eef51833545d1891cac9aa69140598bb076b4cd29b3e010b9", size = 2962574, upload-time = "2025-11-24T23:25:44.942Z" }, + { url = "https://files.pythonhosted.org/packages/c7/39/cc788dfca3d4060f9d93e67be396ceec458dfc429e26139059e58c2c244d/asyncpg-0.31.0-cp311-cp311-win32.whl", hash = "sha256:5a4af56edf82a701aece93190cc4e094d2df7d33f6e915c222fb09efbb5afc24", size = 521076, upload-time = "2025-11-24T23:25:46.486Z" }, + { url = "https://files.pythonhosted.org/packages/28/fc/735af5384c029eb7f1ca60ccb8fa95521dbdaeef788edf4cecfc604c3cab/asyncpg-0.31.0-cp311-cp311-win_amd64.whl", hash = "sha256:480c4befbdf079c14c9ca43c8c5e1fe8b6296c96f1f927158d4f1e750aacc047", size = 584980, upload-time = "2025-11-24T23:25:47.938Z" }, + { url = "https://files.pythonhosted.org/packages/2a/a6/59d0a146e61d20e18db7396583242e32e0f120693b67a8de43f1557033e2/asyncpg-0.31.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b44c31e1efc1c15188ef183f287c728e2046abb1d26af4d20858215d50d91fad", size = 662042, upload-time = "2025-11-24T23:25:49.578Z" }, + { url = "https://files.pythonhosted.org/packages/36/01/ffaa189dcb63a2471720615e60185c3f6327716fdc0fc04334436fbb7c65/asyncpg-0.31.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0c89ccf741c067614c9b5fc7f1fc6f3b61ab05ae4aaa966e6fd6b93097c7d20d", size = 638504, upload-time = "2025-11-24T23:25:51.501Z" }, + { url = "https://files.pythonhosted.org/packages/9f/62/3f699ba45d8bd24c5d65392190d19656d74ff0185f42e19d0bbd973bb371/asyncpg-0.31.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:12b3b2e39dc5470abd5e98c8d3373e4b1d1234d9fbdedf538798b2c13c64460a", size = 3426241, upload-time = "2025-11-24T23:25:53.278Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d1/a867c2150f9c6e7af6462637f613ba67f78a314b00db220cd26ff559d532/asyncpg-0.31.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:aad7a33913fb8bcb5454313377cc330fbb19a0cd5faa7272407d8a0c4257b671", size = 3520321, upload-time = "2025-11-24T23:25:54.982Z" }, + { url = "https://files.pythonhosted.org/packages/7a/1a/cce4c3f246805ecd285a3591222a2611141f1669d002163abef999b60f98/asyncpg-0.31.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3df118d94f46d85b2e434fd62c84cb66d5834d5a890725fe625f498e72e4d5ec", size = 3316685, upload-time = "2025-11-24T23:25:57.43Z" }, + { url = "https://files.pythonhosted.org/packages/40/ae/0fc961179e78cc579e138fad6eb580448ecae64908f95b8cb8ee2f241f67/asyncpg-0.31.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bd5b6efff3c17c3202d4b37189969acf8927438a238c6257f66be3c426beba20", size = 3471858, upload-time = "2025-11-24T23:25:59.636Z" }, + { url = "https://files.pythonhosted.org/packages/52/b2/b20e09670be031afa4cbfabd645caece7f85ec62d69c312239de568e058e/asyncpg-0.31.0-cp312-cp312-win32.whl", hash = "sha256:027eaa61361ec735926566f995d959ade4796f6a49d3bde17e5134b9964f9ba8", size = 527852, upload-time = "2025-11-24T23:26:01.084Z" }, + { url = "https://files.pythonhosted.org/packages/b5/f0/f2ed1de154e15b107dc692262395b3c17fc34eafe2a78fc2115931561730/asyncpg-0.31.0-cp312-cp312-win_amd64.whl", hash = "sha256:72d6bdcbc93d608a1158f17932de2321f68b1a967a13e014998db87a72ed3186", size = 597175, upload-time = "2025-11-24T23:26:02.564Z" }, + { url = "https://files.pythonhosted.org/packages/95/11/97b5c2af72a5d0b9bc3fa30cd4b9ce22284a9a943a150fdc768763caf035/asyncpg-0.31.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c204fab1b91e08b0f47e90a75d1b3c62174dab21f670ad6c5d0f243a228f015b", size = 661111, upload-time = "2025-11-24T23:26:04.467Z" }, + { url = "https://files.pythonhosted.org/packages/1b/71/157d611c791a5e2d0423f09f027bd499935f0906e0c2a416ce712ba51ef3/asyncpg-0.31.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:54a64f91839ba59008eccf7aad2e93d6e3de688d796f35803235ea1c4898ae1e", size = 636928, upload-time = "2025-11-24T23:26:05.944Z" }, + { url = "https://files.pythonhosted.org/packages/2e/fc/9e3486fb2bbe69d4a867c0b76d68542650a7ff1574ca40e84c3111bb0c6e/asyncpg-0.31.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c0e0822b1038dc7253b337b0f3f676cadc4ac31b126c5d42691c39691962e403", size = 3424067, upload-time = "2025-11-24T23:26:07.957Z" }, + { url = "https://files.pythonhosted.org/packages/12/c6/8c9d076f73f07f995013c791e018a1cd5f31823c2a3187fc8581706aa00f/asyncpg-0.31.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bef056aa502ee34204c161c72ca1f3c274917596877f825968368b2c33f585f4", size = 3518156, upload-time = "2025-11-24T23:26:09.591Z" }, + { url = "https://files.pythonhosted.org/packages/ae/3b/60683a0baf50fbc546499cfb53132cb6835b92b529a05f6a81471ab60d0c/asyncpg-0.31.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0bfbcc5b7ffcd9b75ab1558f00db2ae07db9c80637ad1b2469c43df79d7a5ae2", size = 3319636, upload-time = "2025-11-24T23:26:11.168Z" }, + { url = "https://files.pythonhosted.org/packages/50/dc/8487df0f69bd398a61e1792b3cba0e47477f214eff085ba0efa7eac9ce87/asyncpg-0.31.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:22bc525ebbdc24d1261ecbf6f504998244d4e3be1721784b5f64664d61fbe602", size = 3472079, upload-time = "2025-11-24T23:26:13.164Z" }, + { url = "https://files.pythonhosted.org/packages/13/a1/c5bbeeb8531c05c89135cb8b28575ac2fac618bcb60119ee9696c3faf71c/asyncpg-0.31.0-cp313-cp313-win32.whl", hash = "sha256:f890de5e1e4f7e14023619399a471ce4b71f5418cd67a51853b9910fdfa73696", size = 527606, upload-time = "2025-11-24T23:26:14.78Z" }, + { url = "https://files.pythonhosted.org/packages/91/66/b25ccb84a246b470eb943b0107c07edcae51804912b824054b3413995a10/asyncpg-0.31.0-cp313-cp313-win_amd64.whl", hash = "sha256:dc5f2fa9916f292e5c5c8b2ac2813763bcd7f58e130055b4ad8a0531314201ab", size = 596569, upload-time = "2025-11-24T23:26:16.189Z" }, + { url = "https://files.pythonhosted.org/packages/3c/36/e9450d62e84a13aea6580c83a47a437f26c7ca6fa0f0fd40b6670793ea30/asyncpg-0.31.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:f6b56b91bb0ffc328c4e3ed113136cddd9deefdf5f79ab448598b9772831df44", size = 660867, upload-time = "2025-11-24T23:26:17.631Z" }, + { url = "https://files.pythonhosted.org/packages/82/4b/1d0a2b33b3102d210439338e1beea616a6122267c0df459ff0265cd5807a/asyncpg-0.31.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:334dec28cf20d7f5bb9e45b39546ddf247f8042a690bff9b9573d00086e69cb5", size = 638349, upload-time = "2025-11-24T23:26:19.689Z" }, + { url = "https://files.pythonhosted.org/packages/41/aa/e7f7ac9a7974f08eff9183e392b2d62516f90412686532d27e196c0f0eeb/asyncpg-0.31.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:98cc158c53f46de7bb677fd20c417e264fc02b36d901cc2a43bd6cb0dc6dbfd2", size = 3410428, upload-time = "2025-11-24T23:26:21.275Z" }, + { url = "https://files.pythonhosted.org/packages/6f/de/bf1b60de3dede5c2731e6788617a512bc0ebd9693eac297ee74086f101d7/asyncpg-0.31.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9322b563e2661a52e3cdbc93eed3be7748b289f792e0011cb2720d278b366ce2", size = 3471678, upload-time = "2025-11-24T23:26:23.627Z" }, + { url = "https://files.pythonhosted.org/packages/46/78/fc3ade003e22d8bd53aaf8f75f4be48f0b460fa73738f0391b9c856a9147/asyncpg-0.31.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:19857a358fc811d82227449b7ca40afb46e75b33eb8897240c3839dd8b744218", size = 3313505, upload-time = "2025-11-24T23:26:25.235Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e9/73eb8a6789e927816f4705291be21f2225687bfa97321e40cd23055e903a/asyncpg-0.31.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ba5f8886e850882ff2c2ace5732300e99193823e8107e2c53ef01c1ebfa1e85d", size = 3434744, upload-time = "2025-11-24T23:26:26.944Z" }, + { url = "https://files.pythonhosted.org/packages/08/4b/f10b880534413c65c5b5862f79b8e81553a8f364e5238832ad4c0af71b7f/asyncpg-0.31.0-cp314-cp314-win32.whl", hash = "sha256:cea3a0b2a14f95834cee29432e4ddc399b95700eb1d51bbc5bfee8f31fa07b2b", size = 532251, upload-time = "2025-11-24T23:26:28.404Z" }, + { url = "https://files.pythonhosted.org/packages/d3/2d/7aa40750b7a19efa5d66e67fc06008ca0f27ba1bd082e457ad82f59aba49/asyncpg-0.31.0-cp314-cp314-win_amd64.whl", hash = "sha256:04d19392716af6b029411a0264d92093b6e5e8285ae97a39957b9a9c14ea72be", size = 604901, upload-time = "2025-11-24T23:26:30.34Z" }, + { url = "https://files.pythonhosted.org/packages/ce/fe/b9dfe349b83b9dee28cc42360d2c86b2cdce4cb551a2c2d27e156bcac84d/asyncpg-0.31.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:bdb957706da132e982cc6856bb2f7b740603472b54c3ebc77fe60ea3e57e1bd2", size = 702280, upload-time = "2025-11-24T23:26:32Z" }, + { url = "https://files.pythonhosted.org/packages/6a/81/e6be6e37e560bd91e6c23ea8a6138a04fd057b08cf63d3c5055c98e81c1d/asyncpg-0.31.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6d11b198111a72f47154fa03b85799f9be63701e068b43f84ac25da0bda9cb31", size = 682931, upload-time = "2025-11-24T23:26:33.572Z" }, + { url = "https://files.pythonhosted.org/packages/a6/45/6009040da85a1648dd5bc75b3b0a062081c483e75a1a29041ae63a0bf0dc/asyncpg-0.31.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:18c83b03bc0d1b23e6230f5bf8d4f217dc9bc08644ce0502a9d91dc9e634a9c7", size = 3581608, upload-time = "2025-11-24T23:26:35.638Z" }, + { url = "https://files.pythonhosted.org/packages/7e/06/2e3d4d7608b0b2b3adbee0d0bd6a2d29ca0fc4d8a78f8277df04e2d1fd7b/asyncpg-0.31.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e009abc333464ff18b8f6fd146addffd9aaf63e79aa3bb40ab7a4c332d0c5e9e", size = 3498738, upload-time = "2025-11-24T23:26:37.275Z" }, + { url = "https://files.pythonhosted.org/packages/7d/aa/7d75ede780033141c51d83577ea23236ba7d3a23593929b32b49db8ed36e/asyncpg-0.31.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:3b1fbcb0e396a5ca435a8826a87e5c2c2cc0c8c68eb6fadf82168056b0e53a8c", size = 3401026, upload-time = "2025-11-24T23:26:39.423Z" }, + { url = "https://files.pythonhosted.org/packages/ba/7a/15e37d45e7f7c94facc1e9148c0e455e8f33c08f0b8a0b1deb2c5171771b/asyncpg-0.31.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8df714dba348efcc162d2adf02d213e5fab1bd9f557e1305633e851a61814a7a", size = 3429426, upload-time = "2025-11-24T23:26:41.032Z" }, + { url = "https://files.pythonhosted.org/packages/13/d5/71437c5f6ae5f307828710efbe62163974e71237d5d46ebd2869ea052d10/asyncpg-0.31.0-cp314-cp314t-win32.whl", hash = "sha256:1b41f1afb1033f2b44f3234993b15096ddc9cd71b21a42dbd87fc6a57b43d65d", size = 614495, upload-time = "2025-11-24T23:26:42.659Z" }, + { url = "https://files.pythonhosted.org/packages/3c/d7/8fb3044eaef08a310acfe23dae9a8e2e07d305edc29a53497e52bc76eca7/asyncpg-0.31.0-cp314-cp314t-win_amd64.whl", hash = "sha256:bd4107bb7cdd0e9e65fae66a62afd3a249663b844fa34d479f6d5b3bef9c04c3", size = 706062, upload-time = "2025-11-24T23:26:44.086Z" }, +] + [[package]] name = "attrs" version = "26.1.0" @@ -68,6 +337,83 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" }, ] +[[package]] +name = "bcrypt" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/ae/3af7d006aacf513975fd1948a6b4d6f8b4a307f8a244e1a3d3774b297aad/bcrypt-4.0.1.tar.gz", hash = "sha256:27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd", size = 25498, upload-time = "2022-10-09T15:36:49.775Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/d4/3b2657bd58ef02b23a07729b0df26f21af97169dbd0b5797afa9e97ebb49/bcrypt-4.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:b1023030aec778185a6c16cf70f359cbb6e0c289fd564a7cfa29e727a1c38f8f", size = 473446, upload-time = "2022-10-09T15:36:25.481Z" }, + { url = "https://files.pythonhosted.org/packages/ec/0a/1582790232fef6c2aa201f345577306b8bfe465c2c665dec04c86a016879/bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:08d2947c490093a11416df18043c27abe3921558d2c03e2076ccb28a116cb6d0", size = 583044, upload-time = "2022-10-09T15:37:09.447Z" }, + { url = "https://files.pythonhosted.org/packages/41/16/49ff5146fb815742ad58cafb5034907aa7f166b1344d0ddd7fd1c818bd17/bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0eaa47d4661c326bfc9d08d16debbc4edf78778e6aaba29c1bc7ce67214d4410", size = 583189, upload-time = "2022-10-09T15:37:10.69Z" }, + { url = "https://files.pythonhosted.org/packages/aa/48/fd2b197a9741fa790ba0b88a9b10b5e88e62ff5cf3e1bc96d8354d7ce613/bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344", size = 593473, upload-time = "2022-10-09T15:36:27.195Z" }, + { url = "https://files.pythonhosted.org/packages/7d/50/e683d8418974a602ba40899c8a5c38b3decaf5a4d36c32fc65dce454d8a8/bcrypt-4.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:a522427293d77e1c29e303fc282e2d71864579527a04ddcfda6d4f8396c6c36a", size = 593249, upload-time = "2022-10-09T15:36:28.481Z" }, + { url = "https://files.pythonhosted.org/packages/fb/a7/ee4561fd9b78ca23c8e5591c150cc58626a5dfb169345ab18e1c2c664ee0/bcrypt-4.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fbdaec13c5105f0c4e5c52614d04f0bca5f5af007910daa8b6b12095edaa67b3", size = 583586, upload-time = "2022-10-09T15:37:11.962Z" }, + { url = "https://files.pythonhosted.org/packages/64/fe/da28a5916128d541da0993328dc5cf4b43dfbf6655f2c7a2abe26ca2dc88/bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ca3204d00d3cb2dfed07f2d74a25f12fc12f73e606fcaa6975d1f7ae69cacbb2", size = 593659, upload-time = "2022-10-09T15:36:30.049Z" }, + { url = "https://files.pythonhosted.org/packages/dd/4f/3632a69ce344c1551f7c9803196b191a8181c6a1ad2362c225581ef0d383/bcrypt-4.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:089098effa1bc35dc055366740a067a2fc76987e8ec75349eb9484061c54f535", size = 613116, upload-time = "2022-10-09T15:37:14.107Z" }, + { url = "https://files.pythonhosted.org/packages/87/69/edacb37481d360d06fc947dab5734aaf511acb7d1a1f9e2849454376c0f8/bcrypt-4.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:e9a51bbfe7e9802b5f3508687758b564069ba937748ad7b9e890086290d2f79e", size = 624290, upload-time = "2022-10-09T15:36:31.251Z" }, + { url = "https://files.pythonhosted.org/packages/aa/ca/6a534669890725cbb8c1fb4622019be31813c8edaa7b6d5b62fc9360a17e/bcrypt-4.0.1-cp36-abi3-win32.whl", hash = "sha256:2caffdae059e06ac23fce178d31b4a702f2a3264c20bfb5ff541b338194d8fab", size = 159428, upload-time = "2022-10-09T15:36:32.893Z" }, + { url = "https://files.pythonhosted.org/packages/46/81/d8c22cd7e5e1c6a7d48e41a1d1d46c92f17dae70a54d9814f746e6027dec/bcrypt-4.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:8a68f4341daf7522fe8d73874de8906f3a339048ba406be6ddc1b3ccb16fc0d9", size = 152930, upload-time = "2022-10-09T15:36:34.635Z" }, +] + +[[package]] +name = "borb" +version = "2.1.25" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cryptography" }, + { name = "fonttools" }, + { name = "lxml" }, + { name = "pillow" }, + { name = "python-barcode" }, + { name = "qrcode", extra = ["pil"] }, + { name = "requests" }, + { name = "setuptools" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/f7/8efd8bbb1ae2c63bc62e1869c1edf312b7411c15c76f9a3058384ed89554/borb-2.1.25.tar.gz", hash = "sha256:813a25227b96f471d29244bf3c07a7b3df36d61d62bcbecf45b14944b8011ef4", size = 11589747, upload-time = "2024-08-03T11:43:30.403Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/fd/a270259e391e5e8a76cf28694c8a1ee01d2194b2bf9d6aa72eabb3c021f8/borb-2.1.25-py3-none-any.whl", hash = "sha256:708c6b14d298890d75567cda15027d874d818e533089d88637831e495f489088", size = 12323441, upload-time = "2024-08-03T11:43:27.352Z" }, +] + +[[package]] +name = "bracex" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ac/01/5f394b8bcd6e5b92f73130990960423bbb19711f906bd9fe9ea5557c667c/bracex-3.0.1.tar.gz", hash = "sha256:4e38e32392e4a4780fe15d644bfc7c8514057cfc3861e060b11814ce829c25e4", size = 44019, upload-time = "2026-07-20T13:43:00.335Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b8/8f/6f7273a7adb8d73fc8d21ede4376a3e475e52f98435c6007f69100dec8ca/bracex-3.0.1-py3-none-any.whl", hash = "sha256:6523ad83aeb5098a4ee597cff0f964442ff74e460bd3fafaffab6a013ff2288c", size = 11940, upload-time = "2026-07-20T13:42:59.268Z" }, +] + +[[package]] +name = "cachetools" +version = "7.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f4/8b/0d3945a13955303b81272f759a0331e54c5c793da455e6f5706b89d2639c/cachetools-7.1.4.tar.gz", hash = "sha256:437f55a4e0c1b01a4f3077cc470e6991d47430970e36fbcb77e2be0df4fc1cd6", size = 40085, upload-time = "2026-05-21T22:40:43.376Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8c/7b/1fc1c09cc0756cf25861a3be10565915953876da48bb228fb9a672b20a42/cachetools-7.1.4-py3-none-any.whl", hash = "sha256:323dc4127934744db5b54eb4924482d7edafbf9554e820d1531c2e08c0e4ef54", size = 16761, upload-time = "2026-05-21T22:40:41.845Z" }, +] + +[[package]] +name = "casbin" +version = "1.43.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "simpleeval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ad/df/ff2aa55cf0d7c14622ce4f9252cdc34c828c81d4213965d73207ac5434ae/casbin-1.43.0.tar.gz", hash = "sha256:d2e90ce8e72f912877851e94d37999f32c558c6ba7aba0437d483275262e86e0", size = 425727, upload-time = "2025-05-10T06:57:18.902Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/07/facef6abd81378e6153b757dc1848621675d971fbc88ebb5d182ebc1c37f/casbin-1.43.0-py3-none-any.whl", hash = "sha256:63a3d1228870250e859ccd94133fe478821093f71dd37f05e0baa0c6fea26623", size = 475059, upload-time = "2025-05-10T06:57:16.89Z" }, +] + +[[package]] +name = "certifi" +version = "2026.7.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a3/c2/24167ea9858356b47a87a50d39908bfdb72ceeefe0041586e704e5376b3a/certifi-2026.7.22.tar.gz", hash = "sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55", size = 138112, upload-time = "2026-07-22T03:35:12.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl", hash = "sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775", size = 136983, upload-time = "2026-07-22T03:35:11.276Z" }, +] + [[package]] name = "cffi" version = "2.1.0" @@ -166,6 +512,92 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a0/17/1073b53b68c9b5ca6914adf5f8bf55aacc2d3be102418c90700160ea8605/cffi-2.1.0-cp315-cp315t-win_arm64.whl", hash = "sha256:cbb7640ce37159548d2147b5b8c241f962143d4c71231431820783f4dc78f210", size = 186405, upload-time = "2026-07-06T21:34:24.857Z" }, ] +[[package]] +name = "charset-normalizer" +version = "3.4.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bd/2a/23f34ec9d04624958e137efdc394888716353190e75f25dd22c7a2c7a8aa/charset_normalizer-3.4.9.tar.gz", hash = "sha256:673611bbd43f0810bec0b0f028ddeaaa501190339cac411f347ac76917c3ae7b", size = 152439, upload-time = "2026-07-07T14:34:58.454Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/e3/85ec501f206fb049259288c1f3506e53876937fb00edb47009348e66756b/charset_normalizer-3.4.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0e94703ec9684807f20cfb5eed95c70f67f2a8f21ad620146d7b5a13677b93e5", size = 317075, upload-time = "2026-07-07T14:32:56.021Z" }, + { url = "https://files.pythonhosted.org/packages/c3/69/2a5385192e67175f7d8bd5ce4f57c24bc956439adeae5c13a99aa28a53d1/charset_normalizer-3.4.9-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a441ea71902098ffe78c5abe6c494f44160b4af614ed16c3d9a3b1d17fd8ee2", size = 213837, upload-time = "2026-07-07T14:32:57.78Z" }, + { url = "https://files.pythonhosted.org/packages/b3/46/03ddc7da576d814fe0a36dd1f0fd3258e95404b4b2e3c026b7923d7e133f/charset_normalizer-3.4.9-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:304b13570067b2547562e308af560b3963857b1fa90bd6afd978130130fe2d6a", size = 235503, upload-time = "2026-07-07T14:32:59.205Z" }, + { url = "https://files.pythonhosted.org/packages/4e/6e/de0229a7ef40f6f9d28a837eebf4ec47bdca5dab4e900c84f22919af636a/charset_normalizer-3.4.9-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4773092f8019072343a7447203308b176e10199920eb02d6195e81bbb3274c29", size = 229944, upload-time = "2026-07-07T14:33:00.803Z" }, + { url = "https://files.pythonhosted.org/packages/a5/34/49b9060e8418b14fb5cba9cf6bfb383111e2538a03a1fb18e66a95aeb3d5/charset_normalizer-3.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:04ce310cb89c15df659582aee80a0603788732a5e017d5bd5c81158106ce249c", size = 221276, upload-time = "2026-07-07T14:33:02.199Z" }, + { url = "https://files.pythonhosted.org/packages/44/95/80282cce0fae9c3061203d723ee87da996aed79679e65d8935050ee7ca1f/charset_normalizer-3.4.9-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:c0323c9daef75ef2e5083624b4585018a0c9d5e3b40f607eed81a311270b934b", size = 205260, upload-time = "2026-07-07T14:33:03.698Z" }, + { url = "https://files.pythonhosted.org/packages/0c/74/2f62c8821b969ea3bd67cc2e6976834f48ca5d12664d2559ebcd9bcfbed7/charset_normalizer-3.4.9-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:871ff67ea1aad4dfd91736464934d56b32dac49f9fbe16cddba36198a7b3a0db", size = 217786, upload-time = "2026-07-07T14:33:05.12Z" }, + { url = "https://files.pythonhosted.org/packages/d9/8d/feabb82cb49fcad14515b1d7d1ca4787b0da7fc723a212bf89bc9e0fac52/charset_normalizer-3.4.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:67830fc78e67501f47bb950471b2dcb9b35b140084429318e862895a8e89c993", size = 216798, upload-time = "2026-07-07T14:33:06.629Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ff/c946d63bc3786d5b84d960b0f7ab7e25b828486a946b5aa997625bcaf6a6/charset_normalizer-3.4.9-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:3d92613ec25e43b05f042302531ec0f00b8445190e43325880cbd6ab7c2581da", size = 206429, upload-time = "2026-07-07T14:33:08.006Z" }, + { url = "https://files.pythonhosted.org/packages/af/ba/5e5007c370702f85d2ef75791fac7943ed41e080364a673b20142e430e3e/charset_normalizer-3.4.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:280081916dc341820640489a66e4696049401ef1cf6dd672f672e70ad915aca3", size = 223066, upload-time = "2026-07-07T14:33:09.783Z" }, + { url = "https://files.pythonhosted.org/packages/83/d5/9096aa3cf532dfad237861544eb47a0f20d5adbf1039760fed8eaae935d9/charset_normalizer-3.4.9-cp311-cp311-win32.whl", hash = "sha256:ac351b3b8014eead140e77e9717e2992c6bbe30b63bc3422422eb84865412e3d", size = 150456, upload-time = "2026-07-07T14:33:11.217Z" }, + { url = "https://files.pythonhosted.org/packages/ed/a1/e29995109e455dc8eff8d0fac6ae509be39561318a7cfeac5d33ad029213/charset_normalizer-3.4.9-cp311-cp311-win_amd64.whl", hash = "sha256:6366a16e1a25018694d6a5d784d09b046edc9eac40ea2b54065c3052672516a1", size = 161410, upload-time = "2026-07-07T14:33:12.743Z" }, + { url = "https://files.pythonhosted.org/packages/4f/8d/1569f4d0032d6ba2a4fe4591c35bf87868c600c41a71eb5c2e1ffa8464c2/charset_normalizer-3.4.9-cp311-cp311-win_arm64.whl", hash = "sha256:1d22856ffbe153a602df38e4a5464f0b748a54002e0d69ac6d2ad0a197cc99ec", size = 152649, upload-time = "2026-07-07T14:33:14.173Z" }, + { url = "https://files.pythonhosted.org/packages/70/4a/ecbd131485c07fcdfad54e28946d513e3da22ef3b4bd854dcafae54ec739/charset_normalizer-3.4.9-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:45b0cc4e3556cd875e09102988d1ab8356c998b596c9fced84547c8138b487a0", size = 319300, upload-time = "2026-07-07T14:33:15.666Z" }, + { url = "https://files.pythonhosted.org/packages/ec/96/5d9364e3342d69f3a045e1777bc47c85c383e6e9466d561b33fdb419d1f9/charset_normalizer-3.4.9-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9b2aff1c7b3884512b9512c3eaadd9bab39fb45042ffaaa1dd08ff2b9f8109d9", size = 215802, upload-time = "2026-07-07T14:33:17.031Z" }, + { url = "https://files.pythonhosted.org/packages/4b/4c/5361f9aa7f2cb58d94f2ab831b3d493f69efb1d239654b4744e3c09527cb/charset_normalizer-3.4.9-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9104ed0bd76a429d46f9ec0dbc9b08ad1d2dcdf2b00a5a0daa1c145329b35b44", size = 237171, upload-time = "2026-07-07T14:33:18.576Z" }, + { url = "https://files.pythonhosted.org/packages/50/78/ce342ca4ff30b2eb49fe6d9578df85974f90c67d294113e94efdd9664cbd/charset_normalizer-3.4.9-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7b86a2b16095d250c6f58b3d9b2eee6f4147754344f3dab0922f7c9bf7d226c9", size = 233075, upload-time = "2026-07-07T14:33:20.084Z" }, + { url = "https://files.pythonhosted.org/packages/01/c4/4fa4c8b3097a11f3c5f09a35b72ed6855fb1d332469504962ab7bafcc702/charset_normalizer-3.4.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e226f6218febc71f6c1fc2fafb91c226f75bdc1d8fb12d66823716e891608fd", size = 224256, upload-time = "2026-07-07T14:33:21.747Z" }, + { url = "https://files.pythonhosted.org/packages/87/3a/ad914516df7e358a81aae018caa5e0470ba827fa6d763b1d2e87d920a5f6/charset_normalizer-3.4.9-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:90c44bc373b7687f6948b693cceaea1348ae0975d7474746559494468e3c1d84", size = 208784, upload-time = "2026-07-07T14:33:23.313Z" }, + { url = "https://files.pythonhosted.org/packages/d7/74/3c12f9755717dfe5c5c87da63f35d765fa0c00382ec26bf23f7fae34f2ba/charset_normalizer-3.4.9-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9cdef90ae47919cae358d8ab15797a800ed41da7aba5d72419fb510729e2ed4b", size = 219928, upload-time = "2026-07-07T14:33:24.814Z" }, + { url = "https://files.pythonhosted.org/packages/33/9a/895095b83e7907abd6d3d99aad3a38ad0d9686cc186cb0c94c24320fe63e/charset_normalizer-3.4.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:60f44ade2cf573dad7a277e6f8ca9a51a21dda572b13bd7d8539bb3cd5dbedde", size = 218489, upload-time = "2026-07-07T14:33:26.42Z" }, + { url = "https://files.pythonhosted.org/packages/a1/34/ef5c05f412f42520d7709b7d3784d19640839eb7366ded1755511585429f/charset_normalizer-3.4.9-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:a1786910334ed46ab1dd73222f2cd1e05c2c3bb39f6dddb4f8b36fc382058a39", size = 210267, upload-time = "2026-07-07T14:33:27.952Z" }, + { url = "https://files.pythonhosted.org/packages/83/dc/9b29fa4412b318bf3bfea985c35d67eb55e04b59a7c3f2237168b0e0be6f/charset_normalizer-3.4.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:03d07803992c6c7bbc976327f34b18b6160327fc81cb82c9d504720ac0be3b62", size = 226030, upload-time = "2026-07-07T14:33:29.397Z" }, + { url = "https://files.pythonhosted.org/packages/0e/42/6dbc00b8cd16011691203e33570fa42ed5746599a2e878112d16eab403a3/charset_normalizer-3.4.9-cp312-cp312-win32.whl", hash = "sha256:78841cccf1af7b40f6f716338d50c0902dbe88d9f800b3c973b7a9a0a693a642", size = 151185, upload-time = "2026-07-07T14:33:30.781Z" }, + { url = "https://files.pythonhosted.org/packages/80/cc/f920afd1a23c58ccd53c1d36085a71893a4737ff5e66e0371efab6809850/charset_normalizer-3.4.9-cp312-cp312-win_amd64.whl", hash = "sha256:4b3dac63058cc36820b0dd072f89898604e2d39686fe05321729d00d8ac185a0", size = 162557, upload-time = "2026-07-07T14:33:32.176Z" }, + { url = "https://files.pythonhosted.org/packages/f0/e6/0386d43a261ff4e4b30c5857af7df877254b46bec7b9d1b74b6bf969a90b/charset_normalizer-3.4.9-cp312-cp312-win_arm64.whl", hash = "sha256:78fa18e436a1a0e58dbd7e02fc4473f3f32cceb12df9dfca542d075961c307d2", size = 152665, upload-time = "2026-07-07T14:33:33.711Z" }, + { url = "https://files.pythonhosted.org/packages/b2/06/97ec2aeae780b31d742b6352218b43841a6871e2564578ca522dce4a45c3/charset_normalizer-3.4.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:440eede837960000d74978f0eba527be106b5b9aee0daf779d395276ed0b0614", size = 317688, upload-time = "2026-07-07T14:33:35.408Z" }, + { url = "https://files.pythonhosted.org/packages/d0/39/8ff066c672434225f8d25f8b739f992af250944392173dcc88362681c9bf/charset_normalizer-3.4.9-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:21e764fd1e70b6a3e205a0e46f3051701f98a8cb3fad66eeb80e48bb502f8698", size = 214982, upload-time = "2026-07-07T14:33:36.996Z" }, + { url = "https://files.pythonhosted.org/packages/92/8f/3a47a3667c83c2df9483d91644c6c107de3bf8874aa1793da9d3012eb986/charset_normalizer-3.4.9-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e4fd89cc178bced6ad29cb3e6dd4aa63fa5017c3524dbd0b25998fb64a87cc8b", size = 236460, upload-time = "2026-07-07T14:33:38.536Z" }, + { url = "https://files.pythonhosted.org/packages/f1/60/b22cdbee7e4013dab8b0d7647fc6181120fbbbc8f7025c226d15bd5a47fc/charset_normalizer-3.4.9-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bd47ba7fc3ca94896759ea0109775132d3e7ab921fbf54038e1bab2e46c313c9", size = 232003, upload-time = "2026-07-07T14:33:40.059Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f8/72eb13dcabe7257035cea8aefd922caad2f110d252bf9f67c4c2ca763aee/charset_normalizer-3.4.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:84fd18bcc17526fc2b3c1af7d2b9217d32c9c04448c16ec693b9b4f1985c3d33", size = 223149, upload-time = "2026-07-07T14:33:41.631Z" }, + { url = "https://files.pythonhosted.org/packages/b0/3e/faee8f9de92b14ee1198e9163252bb15efee7301b31256a3b6d9ebfdd0dd/charset_normalizer-3.4.9-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:5b10cd92fc5c498b35a8635df6d5a100207f88b63a4dc1de7ef9a548e1e2cd63", size = 207901, upload-time = "2026-07-07T14:33:43.209Z" }, + { url = "https://files.pythonhosted.org/packages/3a/25/45f30093ae27dd7b92a793b61882a38685f993700113ca36e0c9c14965e1/charset_normalizer-3.4.9-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a4fbdde9dd4a9ce5fd52c2b3a347bb50cc89483ef783f1cb00d408c13f7a96c0", size = 219176, upload-time = "2026-07-07T14:33:44.725Z" }, + { url = "https://files.pythonhosted.org/packages/48/18/c8f397329c35e32f6a837e488986f4ae03bd2abebc453b48714991630c2f/charset_normalizer-3.4.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:416c229f77e5ea25b3dfd4b582f8d73d7e43c22320302b9ab128a2d3a0b38efe", size = 217356, upload-time = "2026-07-07T14:33:46.192Z" }, + { url = "https://files.pythonhosted.org/packages/86/7e/5ce0bba863470fd1902d5e5843968951bddf38abe4742fc97116ef4598b3/charset_normalizer-3.4.9-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:75286256590a6320cf106a0d28970d3560aad9ee09aa7b34fb40524792436d35", size = 209614, upload-time = "2026-07-07T14:33:47.705Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ef/2473d3c4d869155be4af1191111d59c4d5c4e0173026f7e85b176e23bf65/charset_normalizer-3.4.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:69b157c5d3292bcd443faca052f3096f637f1e074b98212a933c074ae23dc3b8", size = 224991, upload-time = "2026-07-07T14:33:49.238Z" }, + { url = "https://files.pythonhosted.org/packages/d0/a3/53ddae3db108a088156aa8ddfafd411ebbc1340f48c5573f697b27f69a39/charset_normalizer-3.4.9-cp313-cp313-win32.whl", hash = "sha256:51307f5c71007673a2bf8232ad973483d281e74cb99c8c5a990af1eefa6277d9", size = 150622, upload-time = "2026-07-07T14:33:50.711Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ef/6953a77c7cf2c2ff9998e6f575ab3e380119f100223381565a4f94c1f836/charset_normalizer-3.4.9-cp313-cp313-win_amd64.whl", hash = "sha256:fe2c7201c642b7c308f1675355ad7ff7b66acfe3541625efe5a3ad38f29d6115", size = 161947, upload-time = "2026-07-07T14:33:52.197Z" }, + { url = "https://files.pythonhosted.org/packages/6e/fb/d560d1d1555debbfe7849d9cac6145c1b537709d79576bf22557ed803b82/charset_normalizer-3.4.9-cp313-cp313-win_arm64.whl", hash = "sha256:611057cc5d5c0afc743ba8be6bd828c17e0aaa8643f9d0a9b9bb7dea80eb8012", size = 152594, upload-time = "2026-07-07T14:33:53.486Z" }, + { url = "https://files.pythonhosted.org/packages/7e/8d/496817fa0944239ecae662dd57ea765cfeaec6a735f9f025d4b7b72e7143/charset_normalizer-3.4.9-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:0327fcd59a935777d83410750c50600ee9571af2846f71ce40f25b13da1ef380", size = 317253, upload-time = "2026-07-07T14:33:54.994Z" }, + { url = "https://files.pythonhosted.org/packages/2b/f9/ef4a69ea338ad3c0deceea0f5f7d2380ae8b52132b06d652cb0d2cd86706/charset_normalizer-3.4.9-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a79d9f4d8001473a30c163556b3c3bfebec837495a412dde78b51672f6134f9", size = 215898, upload-time = "2026-07-07T14:33:56.334Z" }, + { url = "https://files.pythonhosted.org/packages/8c/e7/5ddfd76fc061eb52de219658a4aa431cbacadf0a0219c8854f00da50d289/charset_normalizer-3.4.9-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:33bdcc2a32c0a0e861f60841a512c8acc658c87c2ac59d89e3a46dacf7d866e4", size = 236718, upload-time = "2026-07-07T14:33:57.9Z" }, + { url = "https://files.pythonhosted.org/packages/49/ba/768fa3f36048d81c477a0ce61f813bc1454d80917ccfe550abd9f44f5e24/charset_normalizer-3.4.9-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f840ed6d8ecba8255df8c42b87fadeda98ddfc6eeec05e2dc66e26d46dd6f58a", size = 232519, upload-time = "2026-07-07T14:33:59.811Z" }, + { url = "https://files.pythonhosted.org/packages/f4/c4/b3e049d2aa3766180c78507110543d9d50894cc97f57de543f1be521dcdc/charset_normalizer-3.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c25fe15c70c59eb7c5ce8c06a1f3fa1da0ecc5ea1e7a5922c40fd2fa9b0d5046", size = 223143, upload-time = "2026-07-07T14:34:01.517Z" }, + { url = "https://files.pythonhosted.org/packages/19/79/55c32d06d76ae4feafe053f061f3e3ab70bcf19f4007797ce8c3efda7830/charset_normalizer-3.4.9-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:f7fb7d750cfa0a070d2c24e831fd3481019a60dd317ea2b39acbcebc08b6ed81", size = 206742, upload-time = "2026-07-07T14:34:03.04Z" }, + { url = "https://files.pythonhosted.org/packages/10/e0/47c079dd82d217c807479cd59ffd30af56307ea31c108b75758970459ad3/charset_normalizer-3.4.9-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4d1c96a7a18b9690a4d46df09e3e3382406ae3213727cd1019ebade1c4a81917", size = 219191, upload-time = "2026-07-07T14:34:04.657Z" }, + { url = "https://files.pythonhosted.org/packages/42/ab/b9bc2e77d6b44a7e46ef62ec5cac1c9a6ba7b9135a5d560f002696ec9995/charset_normalizer-3.4.9-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a4cfde78a9f2880208d16a93b795726a3017d5977e08d1e162a7a31322479c41", size = 218328, upload-time = "2026-07-07T14:34:06.115Z" }, + { url = "https://files.pythonhosted.org/packages/f1/78/c9c71d599f5aa2d42bcdd35cbbd46d7f535351a57e40ff7d8e5a7e219401/charset_normalizer-3.4.9-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:d4d6fcde76f94f5cb9e43e9e9a61f16dacefd228cbbf6f1a09bd9b219a92f1a1", size = 207406, upload-time = "2026-07-07T14:34:07.554Z" }, + { url = "https://files.pythonhosted.org/packages/f6/39/c914445c321a845097ce4f6ac7de9a18228a77b766272125a1ce00d851eb/charset_normalizer-3.4.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:898f0e9068ca27d37f8e83a5b962821df851532e6c4a7d615c1c033f9da6eedf", size = 225157, upload-time = "2026-07-07T14:34:09.061Z" }, + { url = "https://files.pythonhosted.org/packages/9b/f2/c0d4b8508565a36bc5c624e88ed297f5b0b1095011034d7f5b83a69908b5/charset_normalizer-3.4.9-cp314-cp314-win32.whl", hash = "sha256:c1c948747b03be832dceed96ca815cef7360de9aa19d37c730f8e3f6101aca48", size = 151095, upload-time = "2026-07-07T14:34:10.901Z" }, + { url = "https://files.pythonhosted.org/packages/49/fd/a1d26144398c67486422a72bf5812cda22cb4ccfcd95a290fb41ceb4b8e2/charset_normalizer-3.4.9-cp314-cp314-win_amd64.whl", hash = "sha256:16b65ea0f2465b6fb52aa22de5eca612aa964ddfec00a912e26f4656cbef890b", size = 162796, upload-time = "2026-07-07T14:34:12.47Z" }, + { url = "https://files.pythonhosted.org/packages/20/95/d75e82f8ce9fd323ebf059c16c9aadefb22a1ecde13b7840b35835e4886c/charset_normalizer-3.4.9-cp314-cp314-win_arm64.whl", hash = "sha256:40a126142a56b2dfc0aacbad1de8310cbf60da7656db0e6b16eebd48e3e93519", size = 153334, upload-time = "2026-07-07T14:34:14.044Z" }, + { url = "https://files.pythonhosted.org/packages/00/5e/17398df3a139985ba9d11ed072531986f408c8fca952835ef1ab1820c02b/charset_normalizer-3.4.9-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:609b3ba8fcc0fb5ab7af00719d0fb6ad0cb518e48e7712d12fd68f1327951198", size = 338848, upload-time = "2026-07-07T14:34:15.688Z" }, + { url = "https://files.pythonhosted.org/packages/cd/91/7253a32e86b7e1d1239b1b36ba6dd0f021a21107ab33054b53119cc083b9/charset_normalizer-3.4.9-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:51447e9aa2684679af07ca5021c3db526e0284347ebf4ffcec1154c3350cfe32", size = 223022, upload-time = "2026-07-07T14:34:17.248Z" }, + { url = "https://files.pythonhosted.org/packages/cb/32/2e64bd2be10e89c61e57ebe6a93fd98ae88eb7ebe414b5121f22c96c69eb/charset_normalizer-3.4.9-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cc1b0fff8ead343dae06305f954eb8468ba0ec1a97881f42489d198e4ce3c632", size = 241590, upload-time = "2026-07-07T14:34:18.813Z" }, + { url = "https://files.pythonhosted.org/packages/3d/ef/d96ec496cfea0c21db43b0ad03891308b02388d054cc902cf0e5a1ad6a88/charset_normalizer-3.4.9-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fa36ec09ef71d158186bc79e359ff5fdd6e7996fe8ab638f00d6b93139ba4fcf", size = 239584, upload-time = "2026-07-07T14:34:20.52Z" }, + { url = "https://files.pythonhosted.org/packages/d4/ce/9af95f7876194bd7a14e3dfe4a4de2e0bff02666a3910d72beafd06cc297/charset_normalizer-3.4.9-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:df115d4d83168fdf2cae48ef1ff6d1cb4c466364e30861b37121de0f3bf1b990", size = 230224, upload-time = "2026-07-07T14:34:22.189Z" }, + { url = "https://files.pythonhosted.org/packages/52/94/af74dde74a3996bd959c350709bfe50e297823d70a8c1cbd54b838880863/charset_normalizer-3.4.9-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:f86c6358749bd4fda175388691e3ba8c46e24c5347d0afd20f9b7edfc9faf07d", size = 212667, upload-time = "2026-07-07T14:34:23.857Z" }, + { url = "https://files.pythonhosted.org/packages/ee/f0/f1c4fe746c395922961b5916ed1d7d6e7d4c84851d19ed43cc89980ec953/charset_normalizer-3.4.9-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:32286a2c8d167e897177b673176c1e3e00d4057caf5d2b64eef9a3666b03018e", size = 227179, upload-time = "2026-07-07T14:34:25.586Z" }, + { url = "https://files.pythonhosted.org/packages/e4/56/6c745619ac397e8871e2bcd3cea1eec86b877488f33888b3aef5c3ed506e/charset_normalizer-3.4.9-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:83aed2c10721ddd90f68140685391b50811a880af20654c59af6b6c66c40513c", size = 225372, upload-time = "2026-07-07T14:34:27.212Z" }, + { url = "https://files.pythonhosted.org/packages/78/ad/98aae8630ac71f16711968e38a5acfecce41b778bf2f0312851020f565a8/charset_normalizer-3.4.9-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:cd6c3d4b783c556fa00bf540854e42f135e2f256abd29669fcd0da0f2dec79c2", size = 215222, upload-time = "2026-07-07T14:34:28.774Z" }, + { url = "https://files.pythonhosted.org/packages/f7/40/9593d54209765207a7f11073c06494c1721e4ca4a0a426c597679bf7f91e/charset_normalizer-3.4.9-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ee2f2a527e3c1a6e6411eb4209642e138b544a2d72fe5d0d76daf77b24063534", size = 231958, upload-time = "2026-07-07T14:34:30.345Z" }, + { url = "https://files.pythonhosted.org/packages/b1/27/693ee5e8a18191eb38647360c51cd505013e2bd3b366aa43fd5344c21e3c/charset_normalizer-3.4.9-cp314-cp314t-win32.whl", hash = "sha256:0d861473f743244d349b50f850d10eb87aeb22bbdcc8e64f79273c94af5a8226", size = 155580, upload-time = "2026-07-07T14:34:31.884Z" }, + { url = "https://files.pythonhosted.org/packages/80/3f/bd97d3d9c613013d07cb7733d299385b41df37f0471310f5a73dc359f0b8/charset_normalizer-3.4.9-cp314-cp314t-win_amd64.whl", hash = "sha256:9b8e0f3107e2200b76f6054de99016eac3ee6762713587b36baaa7e4bd2ae177", size = 167620, upload-time = "2026-07-07T14:34:33.438Z" }, + { url = "https://files.pythonhosted.org/packages/3d/c6/eee9dca4439b1061f76373f06ea855678cc4a64c1c3c90b50e479edbb8eb/charset_normalizer-3.4.9-cp314-cp314t-win_arm64.whl", hash = "sha256:19ac87f93086ce37b86e098888555c4b4bc48102279bae3350098c0ed664b501", size = 158037, upload-time = "2026-07-07T14:34:35.018Z" }, + { url = "https://files.pythonhosted.org/packages/98/2b/f97f1c193fb855c345d678f5077d6926034db0722df74c8f057020e05a25/charset_normalizer-3.4.9-py3-none-any.whl", hash = "sha256:68e5f26a1ad57ded6d1cfb85331d1c1a195314756471d97758c48498bb4dcdf5", size = 64538, upload-time = "2026-07-07T14:34:56.993Z" }, +] + +[[package]] +name = "click" +version = "8.1.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, +] + [[package]] name = "colorama" version = "0.4.6" @@ -267,12 +699,68 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77", size = 225315, upload-time = "2025-07-26T12:02:58.801Z" }, ] +[[package]] +name = "cryptography" +version = "49.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1f/99/d1c90d6041656cc6ee229dc99cd67fd0cd5aec3c5f7d72fffc27cc750054/cryptography-49.0.0.tar.gz", hash = "sha256:f89660a348f4f78a92366240a61404e337586ef7f5909a2fef59ca88ef505493", size = 854345, upload-time = "2026-06-12T20:02:30.512Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/22/adf66990e63584a68dfb50c24f48a125c07b1699899381c8151e63ed458c/cryptography-49.0.0-cp311-abi3-macosx_11_0_arm64.whl", hash = "sha256:966fe0e9c67490071f14c0d2b1cb2dfb3023c5ce39457343931415f08382f2db", size = 4032100, upload-time = "2026-06-12T20:02:32.143Z" }, + { url = "https://files.pythonhosted.org/packages/09/41/3797cfaf69cae04a13ee78ebd83f0678d9c02b4779d21ce24445326f1a69/cryptography-49.0.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:36d1709f992593689b45bda411498d62c6e365f2ca00b84657d4dadd24de16db", size = 4692978, upload-time = "2026-06-12T20:01:21.305Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8b/43011f7ebe515a8aa20d61f290a326cd890c2e738e16e59eaff8d9c3a412/cryptography-49.0.0-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0e959b578856a3924bc0cbb710fc12c387b9412a951389f3ca61704a9e25f325", size = 4716422, upload-time = "2026-06-12T20:01:48.566Z" }, + { url = "https://files.pythonhosted.org/packages/4a/91/01ce7303a4579e6d3a6abef01bd322848e9ea7a219adcabc5048b9033571/cryptography-49.0.0-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:53ecee2e23f7169b6117e99fc8a944e5e50f79e69758a83b52a00cb98ab2b2d2", size = 4700503, upload-time = "2026-06-12T20:02:47.091Z" }, + { url = "https://files.pythonhosted.org/packages/62/99/a2c95cf8293f07491e9e27c20cc4dcd18176d944e674679adeb1d0173fd6/cryptography-49.0.0-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:2eda353d8a27bcbcaa4cbed18994a74ab4d19a2ca897db188ea269ab9b71419b", size = 5309779, upload-time = "2026-06-12T20:02:08.987Z" }, + { url = "https://files.pythonhosted.org/packages/20/2c/0622f20ff02b2ef32558733443805dc82fd4c275be01b2d19d14676f3a1b/cryptography-49.0.0-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2afe9051da7ae7bd5905da5a949280c7d2bb75682e188f650a9d0f2756b834c6", size = 4749683, upload-time = "2026-06-12T20:02:03.335Z" }, + { url = "https://files.pythonhosted.org/packages/a3/5b/c5246635d5fd3b64e0d45ae10e99fd32fe9676a79915ccfe5a61ba9af1a5/cryptography-49.0.0-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:0b82e28ee398a386f0807bba7884d30f25218855690f45115831bcce5d90822c", size = 4337874, upload-time = "2026-06-12T20:02:54.323Z" }, + { url = "https://files.pythonhosted.org/packages/6d/88/05563c7fe2e914e87d1a536d06fe83e66b4e1d95cb593e05aea375531da8/cryptography-49.0.0-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:ccac2bfebc306b862133e3bb71f3f6ee8bb525240089b2d952e4144b3a6d5da7", size = 4700283, upload-time = "2026-06-12T20:01:34.822Z" }, + { url = "https://files.pythonhosted.org/packages/c4/b6/d7696e4e890d6ae1469935164c9e5215c557671cb78d6e3f458ccceaa632/cryptography-49.0.0-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:d0527ce944105f257f605a827d6ebead966c752038b6e8656abb9c5edee6fc68", size = 5265844, upload-time = "2026-06-12T20:01:24.09Z" }, + { url = "https://files.pythonhosted.org/packages/a9/3c/f3ad17eecc1a57b0ba236dc01f90e783c51f4a2f35f64777cc4f47a184b2/cryptography-49.0.0-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:cbc77da8c523d5abd028635ba850a6966fcee2c82e2bf65a41d1d8afe0f98be9", size = 4749290, upload-time = "2026-06-12T20:01:30.848Z" }, + { url = "https://files.pythonhosted.org/packages/4f/01/339573cf1023163a400b0b5d16f6d507de413b9f60be6fd1b77feeaf6737/cryptography-49.0.0-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b87e65d263b3e5d3bb92a57e2a6638e2f31110fa7aa890c7b2dbba42248d0a3f", size = 4834612, upload-time = "2026-06-12T20:01:29.246Z" }, + { url = "https://files.pythonhosted.org/packages/71/fd/577302e213a1be9468f92d1afef66fcf1ef83d516819d9992ca547f592bd/cryptography-49.0.0-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:66ec79c3904820572d7e987abdf304281f141d37ad9a489b8e97066e7b9b6459", size = 4980804, upload-time = "2026-06-12T20:01:42.853Z" }, + { url = "https://files.pythonhosted.org/packages/1f/09/f42b1d190c5ba75f72062a387f8030d1d75f6ab035788f1d9c4b01de6525/cryptography-49.0.0-cp311-abi3-win_amd64.whl", hash = "sha256:e5dfc1e64de5677cec922ffa8da89c546d0415bf6efdf081842e5d44c84e1f0e", size = 3810026, upload-time = "2026-06-12T20:02:39.262Z" }, + { url = "https://files.pythonhosted.org/packages/ec/9e/db72b3ae7fc9cfad53e630e56c6ae83b9b6ff0bf3718ffb8012d20b3aabf/cryptography-49.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:73a205dce83953d131a4aa1e0fd917a2fd1c5b1eef251e9d7152efefcbf5caf7", size = 4013892, upload-time = "2026-06-12T20:02:10.735Z" }, + { url = "https://files.pythonhosted.org/packages/86/12/c48a424f38db03027be9f7ed5c7dc5de9933dbee992865f98b13727a009d/cryptography-49.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:196ecd6a36e4e9aa10270393bb98d8df88fccee0bf1e5128b91ae4eb4375896d", size = 4678835, upload-time = "2026-06-12T20:02:48.743Z" }, + { url = "https://files.pythonhosted.org/packages/68/28/8a3ad4653662c93fc44dc4e5d8fd374c25c42e07b34bbfbadf49cf57a5a8/cryptography-49.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7abcee80084cda3f7691f3eb1ce480d8df49cec637b429aa35986c1de71738aa", size = 4697239, upload-time = "2026-06-12T20:02:56.03Z" }, + { url = "https://files.pythonhosted.org/packages/a8/b2/2193fc74f81aee4f9b62733133b73b5176718932ed8f2e4b03fa040480a6/cryptography-49.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:4ae387c9cb68ea569ca17e490d66d8142b81c3cc814bf179974b7d146e490bbb", size = 4685593, upload-time = "2026-06-12T20:02:50.666Z" }, + { url = "https://files.pythonhosted.org/packages/47/f1/1d3eaa243bfc5de4a187b22aa8c048b3e4980bfbe830ac46e6bac2e66947/cryptography-49.0.0-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:f37d847238971164fdbc68ade6f6574aecc9c0af714190e2083429ff68f4ce9d", size = 5289961, upload-time = "2026-06-12T20:01:46.468Z" }, + { url = "https://files.pythonhosted.org/packages/58/39/2d51306721330c486495853eda1c567880ff036de15a14c4b74f399934af/cryptography-49.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:c2bc30226390d60ea19d9f82b19db005fe0452154a23c1c410c12ea801e43561", size = 4731145, upload-time = "2026-06-12T20:02:16.832Z" }, + { url = "https://files.pythonhosted.org/packages/17/50/983e838c7fd0d87fd8c969bcdd328edaf5f756e38df5281637424c155873/cryptography-49.0.0-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:07cab27cc7b7e0fd28e5e26bb9eeedde5c135c868b46de4a27845abe94af6122", size = 4321719, upload-time = "2026-06-12T20:02:52.611Z" }, + { url = "https://files.pythonhosted.org/packages/a7/f5/8f571d7e27c55bce9f76f026143bcb1e040a4233149ecca0bea5fa5dd5f7/cryptography-49.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:b20133d204d2bb56ba047642199603876c872026ca53e79c35b83772ab2cc505", size = 4685209, upload-time = "2026-06-12T20:02:07.282Z" }, + { url = "https://files.pythonhosted.org/packages/e7/84/0e27016a6fc5a0886f797018b26aa42f40c09a82332bff77822a451deaaa/cryptography-49.0.0-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:b970c6da94d5bb18629db453d14f2a1300f6bf59b61e9b82377931ef95504866", size = 5246285, upload-time = "2026-06-12T20:01:32.439Z" }, + { url = "https://files.pythonhosted.org/packages/11/2d/5e1fb307cb5931881516b464c98774b3f2c36b5d4bb9a2830253cf553cad/cryptography-49.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:d8ecde755e2e91bf773fc94e8c9d730cd7f2007004cb492263a794ec3899a1c8", size = 4730441, upload-time = "2026-06-12T20:02:01.469Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c0/bff5a02ee731d207d6a1ed51732549d8c53d2bc8da1d10ec6f2844201d68/cryptography-49.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e3fb64c420688e5319ae25113a354015abbd8dffbfbc41781a1ea66fc7622ac3", size = 4815869, upload-time = "2026-06-12T20:01:36.574Z" }, + { url = "https://files.pythonhosted.org/packages/b9/26/814681d14248d95d73d5c3eea0c39a94eb8302df966f670a2c60de90974b/cryptography-49.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32703d93296f5c1f4b53349ad3a250c2cae0fdecd3a3dd5d47e616d8d616af27", size = 4960948, upload-time = "2026-06-12T20:02:18.688Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fe/93ecac273d3738939d023612ad12cca9a3740a5345d69fda04134c43fd96/cryptography-49.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:33cd0565932807baddb67b96dbee92f2c374b5c89dee09fd74079aeb8c8dba61", size = 3799153, upload-time = "2026-06-12T20:01:39.059Z" }, + { url = "https://files.pythonhosted.org/packages/19/2a/5bb823f5bedcf80718cea7fbc95ec5515cca3769633c4b01a32be7f30e7c/cryptography-49.0.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:ec5e529fb80935c94fe7b729f9972b50e351a0e6b50aa294fd5cabb109fcc29a", size = 4025947, upload-time = "2026-06-12T20:01:25.745Z" }, + { url = "https://files.pythonhosted.org/packages/3d/df/40577043ca124e17012f408ddddaeb213b856336ac82ddb3bc915f39e29f/cryptography-49.0.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f78ff2c9ed8dc2d036b0f4d640e22522213d047c1b14e61205a7e55c80a494d4", size = 4692429, upload-time = "2026-06-12T20:01:53.628Z" }, + { url = "https://files.pythonhosted.org/packages/2c/99/2d13299eb3dd27b02dcfaafcc91d6b5cb3329f7cbd6d8f51921acd566c1a/cryptography-49.0.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:35b151772baff2c74cba7fa290ceaff4c3b11c0c881eb93eb5dbc05a7cfbba18", size = 4700968, upload-time = "2026-06-12T20:02:45.383Z" }, + { url = "https://files.pythonhosted.org/packages/a5/4d/9c0cd02f95e2602dd5e563da149ee0830abef3537be8b34dc56281ebe27a/cryptography-49.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:0f21641cf4b30fca7aee061ced0ec7ad7b073518088b7c9969a297c0ae796c69", size = 4697758, upload-time = "2026-06-12T20:01:41.13Z" }, + { url = "https://files.pythonhosted.org/packages/24/01/186c825898477d77e2324d5360fefe622ff1d8d1963ec0554e2cada8ec77/cryptography-49.0.0-cp39-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:9e82dcc8e56052715fb18b2429e3bca4823b1629136a2084fc45a9a5cecb9b64", size = 5298863, upload-time = "2026-06-12T20:02:24.579Z" }, + { url = "https://files.pythonhosted.org/packages/b8/7b/62cbbab75d0659865bf0273790031544a0b16c8072d258f9428dcd8190dc/cryptography-49.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6f2debedf9ca60cf1d5bd466475638af5130f89965605cd818484d19987d3a21", size = 4735983, upload-time = "2026-06-12T20:01:50.14Z" }, + { url = "https://files.pythonhosted.org/packages/6c/72/3e798c064bc39e471008075d0f9bc9daf77a80879c092e4a8e170c585ed4/cryptography-49.0.0-cp39-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:8c25ceb16df5b9435f3f6a9829204985b0e0cbee3b48aacd432c7d2c850b44d9", size = 4334173, upload-time = "2026-06-12T20:01:44.743Z" }, + { url = "https://files.pythonhosted.org/packages/f0/ee/6fca21d1ac73e06f8bef71940abfd4d2f6472b4bca284d770f32bd4086f6/cryptography-49.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:28d8b15e6275f12c8a207dc309dfa957903c927d08d0cc937ee3f63f200693cc", size = 4697298, upload-time = "2026-06-12T20:02:20.918Z" }, + { url = "https://files.pythonhosted.org/packages/67/d0/a5fcd3515f0bae49a7b6d0413cc1bdccdcc1fc0047037a0d480642cdc5d6/cryptography-49.0.0-cp39-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:6fc361c34fb6aac015ce19435876635e5c6d21db31998b0920f675f131e043b8", size = 5254338, upload-time = "2026-06-12T20:02:22.737Z" }, + { url = "https://files.pythonhosted.org/packages/a0/84/84fe36f19caf857d61cb7fc9c63035a47ffabd84ea12d1d393148efa3615/cryptography-49.0.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:2400ef9c9e2299a25614eb1dea3db54a69b1349efd043bfac9c67630d136df36", size = 4735650, upload-time = "2026-06-12T20:02:41.389Z" }, + { url = "https://files.pythonhosted.org/packages/6c/a0/db537264e234f7273a73ec020873d6d6b39dfd8a53db78b550ca8320440e/cryptography-49.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:67e1d20ad9ef3a563c59ef22e7a8a0b8210bd26604369ea4a30a7c66aefe504e", size = 4834820, upload-time = "2026-06-12T20:01:51.847Z" }, + { url = "https://files.pythonhosted.org/packages/93/77/8df9eb486495979bccecd1062e2eaf435250e84437040295b57d09048b0b/cryptography-49.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:42b0684e0e40cf26122427802486f6d93aea593612603a94fbf260c7eb1e9c1b", size = 4967968, upload-time = "2026-06-12T20:02:12.524Z" }, + { url = "https://files.pythonhosted.org/packages/c2/e6/f60198ea8d9dfa15fff9ed4ca02ce362f6eadd9ba757dcc50634c4257b63/cryptography-49.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:026ac7423e6fa66872d3bf889be5974507da3944f866f704fa200eadacd00001", size = 3785547, upload-time = "2026-06-12T20:02:26.847Z" }, + { url = "https://files.pythonhosted.org/packages/63/d3/4a83af35d65e3fad632c926fad684c193ea4398569ccb0bbbc7fe8f5dc9a/cryptography-49.0.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:fc1e275c2f1d97b1a6450b8b0ea3ebfa6e087a611c2b26cb2404d48588abab7b", size = 3993685, upload-time = "2026-06-12T20:02:14.883Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a7/f9dac0ab7f80368c56993a7bf638ef9935f825c91902798481fac0898138/cryptography-49.0.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c83782480a4a9da4d0feb51950131ba32e12e70813848b3343f6e18c28a66838", size = 4676239, upload-time = "2026-06-12T20:02:28.793Z" }, + { url = "https://files.pythonhosted.org/packages/d7/70/2ba3769dd0ae167e2f33dfa9592d45db6ff9a61d62ca1a5b3d1bdd09068f/cryptography-49.0.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b39efa323140595abd3ecca8529d321ae50f55f3aa3ba9cc81ea56a6011953d5", size = 4715584, upload-time = "2026-06-12T20:01:27.495Z" }, + { url = "https://files.pythonhosted.org/packages/94/64/2923570ac1c0bd3a737aa366ac3abbbbde273042308b8cde95e2364a6e6a/cryptography-49.0.0-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:b47db11c2c3525083296069b98ac5221907455e989ae0c2e3008bde851921615", size = 4675885, upload-time = "2026-06-12T20:01:55.49Z" }, + { url = "https://files.pythonhosted.org/packages/ab/f8/614dc7e051418cfe53d55173c1e24c6b0085e89996fe90508c2fdf769aef/cryptography-49.0.0-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:084ef1af862eb07ec46d25f68689f2102a9fc0e05ce7b80f14f5fe51e4eef0f6", size = 4715449, upload-time = "2026-06-12T20:02:05.469Z" }, + { url = "https://files.pythonhosted.org/packages/aa/50/a9caea39ad19c431c1a3f8a31114df65b260cdfe67786b6c7e7c040c4c44/cryptography-49.0.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:be9fcb48a55f023493482827d4f459bd263cc20efde64f204b97c123201850c6", size = 3783731, upload-time = "2026-06-12T20:02:43.319Z" }, +] + [[package]] name = "cuda-bindings" version = "13.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cuda-pathfinder" }, + { name = "cuda-pathfinder", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/51/6b/457ca12dad3ee9bfcc9a545cfd6b64b359ba49de40f776f6e028e678f262/cuda_bindings-13.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c5879712accf6e14bb01aa5e67440eb84998b8d104b509cc7a6dc0b8f656a474", size = 6053539, upload-time = "2026-05-29T23:11:43.19Z" }, @@ -305,43 +793,43 @@ wheels = [ [package.optional-dependencies] cublas = [ - { name = "nvidia-cublas", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, - { name = "nvidia-cuda-nvrtc", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, + { name = "nvidia-cublas", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "nvidia-cuda-nvrtc", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, ] cudart = [ - { name = "nvidia-cuda-runtime", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, + { name = "nvidia-cuda-runtime", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, ] cufft = [ - { name = "nvidia-cufft", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, - { name = "nvidia-nvjitlink", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, + { name = "nvidia-cufft", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "nvidia-nvjitlink", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, ] cufile = [ { name = "nvidia-cufile", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, ] cupti = [ - { name = "nvidia-cuda-cupti", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, + { name = "nvidia-cuda-cupti", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, ] curand = [ - { name = "nvidia-curand", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, + { name = "nvidia-curand", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, ] cusolver = [ - { name = "nvidia-cublas", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, - { name = "nvidia-cusolver", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, - { name = "nvidia-cusparse", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, - { name = "nvidia-nvjitlink", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, + { name = "nvidia-cublas", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "nvidia-cusolver", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "nvidia-cusparse", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "nvidia-nvjitlink", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, ] cusparse = [ - { name = "nvidia-cusparse", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, - { name = "nvidia-nvjitlink", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, + { name = "nvidia-cusparse", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "nvidia-nvjitlink", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, ] nvjitlink = [ - { name = "nvidia-nvjitlink", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, + { name = "nvidia-nvjitlink", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, ] nvrtc = [ - { name = "nvidia-cuda-nvrtc", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, + { name = "nvidia-cuda-nvrtc", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, ] nvtx = [ - { name = "nvidia-nvtx", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, + { name = "nvidia-nvtx", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, ] [[package]] @@ -396,6 +884,22 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017", size = 28317, upload-time = "2025-09-01T09:48:08.5Z" }, ] +[[package]] +name = "fastapi" +version = "0.139.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-doc" }, + { name = "pydantic" }, + { name = "starlette" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cd/95/d3f0ae10836324a2eab98a52b61210ac609f08200bf4bb0dc8132d32f78a/fastapi-0.139.2.tar.gz", hash = "sha256:333145a6891e9b5b3cfceb69baf817e8240cde4d4588ae5a10bf56ffacb6255e", size = 423428, upload-time = "2026-07-16T15:06:17.912Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/c7/cb03251d9dfb177246a9809a76f189d21df32dbd4a845951881d11323b7f/fastapi-0.139.2-py3-none-any.whl", hash = "sha256:b9ad015a835173d59865e2f5d8296fbc2b317bf56a2ba1a5bfbdd03de2fd4b1c", size = 130234, upload-time = "2026-07-16T15:06:19.557Z" }, +] + [[package]] name = "fastjsonschema" version = "2.21.2" @@ -463,6 +967,111 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2c/47/c99d5268f354002ce80f8d029cd9d7d872969da1de8b93d32de4dc56d6f4/fonttools-4.63.0-py3-none-any.whl", hash = "sha256:445af2eab030a16b9171ea8bdda7ebf7d96bda2df88ee182a464252f6e05e20d", size = 1164562, upload-time = "2026-05-14T12:04:29.092Z" }, ] +[[package]] +name = "frozenlist" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", size = 45875, upload-time = "2025-10-06T05:38:17.865Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/03/077f869d540370db12165c0aa51640a873fb661d8b315d1d4d67b284d7ac/frozenlist-1.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84", size = 86912, upload-time = "2025-10-06T05:35:45.98Z" }, + { url = "https://files.pythonhosted.org/packages/df/b5/7610b6bd13e4ae77b96ba85abea1c8cb249683217ef09ac9e0ae93f25a91/frozenlist-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9", size = 50046, upload-time = "2025-10-06T05:35:47.009Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ef/0e8f1fe32f8a53dd26bdd1f9347efe0778b0fddf62789ea683f4cc7d787d/frozenlist-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93", size = 50119, upload-time = "2025-10-06T05:35:48.38Z" }, + { url = "https://files.pythonhosted.org/packages/11/b1/71a477adc7c36e5fb628245dfbdea2166feae310757dea848d02bd0689fd/frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2552f44204b744fba866e573be4c1f9048d6a324dfe14475103fd51613eb1d1f", size = 231067, upload-time = "2025-10-06T05:35:49.97Z" }, + { url = "https://files.pythonhosted.org/packages/45/7e/afe40eca3a2dc19b9904c0f5d7edfe82b5304cb831391edec0ac04af94c2/frozenlist-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695", size = 233160, upload-time = "2025-10-06T05:35:51.729Z" }, + { url = "https://files.pythonhosted.org/packages/a6/aa/7416eac95603ce428679d273255ffc7c998d4132cfae200103f164b108aa/frozenlist-1.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52", size = 228544, upload-time = "2025-10-06T05:35:53.246Z" }, + { url = "https://files.pythonhosted.org/packages/8b/3d/2a2d1f683d55ac7e3875e4263d28410063e738384d3adc294f5ff3d7105e/frozenlist-1.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581", size = 243797, upload-time = "2025-10-06T05:35:54.497Z" }, + { url = "https://files.pythonhosted.org/packages/78/1e/2d5565b589e580c296d3bb54da08d206e797d941a83a6fdea42af23be79c/frozenlist-1.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567", size = 247923, upload-time = "2025-10-06T05:35:55.861Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/65872fcf1d326a7f101ad4d86285c403c87be7d832b7470b77f6d2ed5ddc/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b", size = 230886, upload-time = "2025-10-06T05:35:57.399Z" }, + { url = "https://files.pythonhosted.org/packages/a0/76/ac9ced601d62f6956f03cc794f9e04c81719509f85255abf96e2510f4265/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92", size = 245731, upload-time = "2025-10-06T05:35:58.563Z" }, + { url = "https://files.pythonhosted.org/packages/b9/49/ecccb5f2598daf0b4a1415497eba4c33c1e8ce07495eb07d2860c731b8d5/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d", size = 241544, upload-time = "2025-10-06T05:35:59.719Z" }, + { url = "https://files.pythonhosted.org/packages/53/4b/ddf24113323c0bbcc54cb38c8b8916f1da7165e07b8e24a717b4a12cbf10/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd", size = 241806, upload-time = "2025-10-06T05:36:00.959Z" }, + { url = "https://files.pythonhosted.org/packages/a7/fb/9b9a084d73c67175484ba2789a59f8eebebd0827d186a8102005ce41e1ba/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967", size = 229382, upload-time = "2025-10-06T05:36:02.22Z" }, + { url = "https://files.pythonhosted.org/packages/95/a3/c8fb25aac55bf5e12dae5c5aa6a98f85d436c1dc658f21c3ac73f9fa95e5/frozenlist-1.8.0-cp311-cp311-win32.whl", hash = "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25", size = 39647, upload-time = "2025-10-06T05:36:03.409Z" }, + { url = "https://files.pythonhosted.org/packages/0a/f5/603d0d6a02cfd4c8f2a095a54672b3cf967ad688a60fb9faf04fc4887f65/frozenlist-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b", size = 44064, upload-time = "2025-10-06T05:36:04.368Z" }, + { url = "https://files.pythonhosted.org/packages/5d/16/c2c9ab44e181f043a86f9a8f84d5124b62dbcb3a02c0977ec72b9ac1d3e0/frozenlist-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a", size = 39937, upload-time = "2025-10-06T05:36:05.669Z" }, + { url = "https://files.pythonhosted.org/packages/69/29/948b9aa87e75820a38650af445d2ef2b6b8a6fab1a23b6bb9e4ef0be2d59/frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1", size = 87782, upload-time = "2025-10-06T05:36:06.649Z" }, + { url = "https://files.pythonhosted.org/packages/64/80/4f6e318ee2a7c0750ed724fa33a4bdf1eacdc5a39a7a24e818a773cd91af/frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b", size = 50594, upload-time = "2025-10-06T05:36:07.69Z" }, + { url = "https://files.pythonhosted.org/packages/2b/94/5c8a2b50a496b11dd519f4a24cb5496cf125681dd99e94c604ccdea9419a/frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4", size = 50448, upload-time = "2025-10-06T05:36:08.78Z" }, + { url = "https://files.pythonhosted.org/packages/6a/bd/d91c5e39f490a49df14320f4e8c80161cfcce09f1e2cde1edd16a551abb3/frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383", size = 242411, upload-time = "2025-10-06T05:36:09.801Z" }, + { url = "https://files.pythonhosted.org/packages/8f/83/f61505a05109ef3293dfb1ff594d13d64a2324ac3482be2cedc2be818256/frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4", size = 243014, upload-time = "2025-10-06T05:36:11.394Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cb/cb6c7b0f7d4023ddda30cf56b8b17494eb3a79e3fda666bf735f63118b35/frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8", size = 234909, upload-time = "2025-10-06T05:36:12.598Z" }, + { url = "https://files.pythonhosted.org/packages/31/c5/cd7a1f3b8b34af009fb17d4123c5a778b44ae2804e3ad6b86204255f9ec5/frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b", size = 250049, upload-time = "2025-10-06T05:36:14.065Z" }, + { url = "https://files.pythonhosted.org/packages/c0/01/2f95d3b416c584a1e7f0e1d6d31998c4a795f7544069ee2e0962a4b60740/frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52", size = 256485, upload-time = "2025-10-06T05:36:15.39Z" }, + { url = "https://files.pythonhosted.org/packages/ce/03/024bf7720b3abaebcff6d0793d73c154237b85bdf67b7ed55e5e9596dc9a/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29", size = 237619, upload-time = "2025-10-06T05:36:16.558Z" }, + { url = "https://files.pythonhosted.org/packages/69/fa/f8abdfe7d76b731f5d8bd217827cf6764d4f1d9763407e42717b4bed50a0/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3", size = 250320, upload-time = "2025-10-06T05:36:17.821Z" }, + { url = "https://files.pythonhosted.org/packages/f5/3c/b051329f718b463b22613e269ad72138cc256c540f78a6de89452803a47d/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143", size = 246820, upload-time = "2025-10-06T05:36:19.046Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ae/58282e8f98e444b3f4dd42448ff36fa38bef29e40d40f330b22e7108f565/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608", size = 250518, upload-time = "2025-10-06T05:36:20.763Z" }, + { url = "https://files.pythonhosted.org/packages/8f/96/007e5944694d66123183845a106547a15944fbbb7154788cbf7272789536/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa", size = 239096, upload-time = "2025-10-06T05:36:22.129Z" }, + { url = "https://files.pythonhosted.org/packages/66/bb/852b9d6db2fa40be96f29c0d1205c306288f0684df8fd26ca1951d461a56/frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf", size = 39985, upload-time = "2025-10-06T05:36:23.661Z" }, + { url = "https://files.pythonhosted.org/packages/b8/af/38e51a553dd66eb064cdf193841f16f077585d4d28394c2fa6235cb41765/frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746", size = 44591, upload-time = "2025-10-06T05:36:24.958Z" }, + { url = "https://files.pythonhosted.org/packages/a7/06/1dc65480ab147339fecc70797e9c2f69d9cea9cf38934ce08df070fdb9cb/frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd", size = 40102, upload-time = "2025-10-06T05:36:26.333Z" }, + { url = "https://files.pythonhosted.org/packages/2d/40/0832c31a37d60f60ed79e9dfb5a92e1e2af4f40a16a29abcc7992af9edff/frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a", size = 85717, upload-time = "2025-10-06T05:36:27.341Z" }, + { url = "https://files.pythonhosted.org/packages/30/ba/b0b3de23f40bc55a7057bd38434e25c34fa48e17f20ee273bbde5e0650f3/frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7", size = 49651, upload-time = "2025-10-06T05:36:28.855Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40", size = 49417, upload-time = "2025-10-06T05:36:29.877Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4e/e4691508f9477ce67da2015d8c00acd751e6287739123113a9fca6f1604e/frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027", size = 234391, upload-time = "2025-10-06T05:36:31.301Z" }, + { url = "https://files.pythonhosted.org/packages/40/76/c202df58e3acdf12969a7895fd6f3bc016c642e6726aa63bd3025e0fc71c/frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822", size = 233048, upload-time = "2025-10-06T05:36:32.531Z" }, + { url = "https://files.pythonhosted.org/packages/f9/c0/8746afb90f17b73ca5979c7a3958116e105ff796e718575175319b5bb4ce/frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121", size = 226549, upload-time = "2025-10-06T05:36:33.706Z" }, + { url = "https://files.pythonhosted.org/packages/7e/eb/4c7eefc718ff72f9b6c4893291abaae5fbc0c82226a32dcd8ef4f7a5dbef/frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5", size = 239833, upload-time = "2025-10-06T05:36:34.947Z" }, + { url = "https://files.pythonhosted.org/packages/c2/4e/e5c02187cf704224f8b21bee886f3d713ca379535f16893233b9d672ea71/frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e", size = 245363, upload-time = "2025-10-06T05:36:36.534Z" }, + { url = "https://files.pythonhosted.org/packages/1f/96/cb85ec608464472e82ad37a17f844889c36100eed57bea094518bf270692/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11", size = 229314, upload-time = "2025-10-06T05:36:38.582Z" }, + { url = "https://files.pythonhosted.org/packages/5d/6f/4ae69c550e4cee66b57887daeebe006fe985917c01d0fff9caab9883f6d0/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1", size = 243365, upload-time = "2025-10-06T05:36:40.152Z" }, + { url = "https://files.pythonhosted.org/packages/7a/58/afd56de246cf11780a40a2c28dc7cbabbf06337cc8ddb1c780a2d97e88d8/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1", size = 237763, upload-time = "2025-10-06T05:36:41.355Z" }, + { url = "https://files.pythonhosted.org/packages/cb/36/cdfaf6ed42e2644740d4a10452d8e97fa1c062e2a8006e4b09f1b5fd7d63/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8", size = 240110, upload-time = "2025-10-06T05:36:42.716Z" }, + { url = "https://files.pythonhosted.org/packages/03/a8/9ea226fbefad669f11b52e864c55f0bd57d3c8d7eb07e9f2e9a0b39502e1/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed", size = 233717, upload-time = "2025-10-06T05:36:44.251Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0b/1b5531611e83ba7d13ccc9988967ea1b51186af64c42b7a7af465dcc9568/frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496", size = 39628, upload-time = "2025-10-06T05:36:45.423Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cf/174c91dbc9cc49bc7b7aab74d8b734e974d1faa8f191c74af9b7e80848e6/frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231", size = 43882, upload-time = "2025-10-06T05:36:46.796Z" }, + { url = "https://files.pythonhosted.org/packages/c1/17/502cd212cbfa96eb1388614fe39a3fc9ab87dbbe042b66f97acb57474834/frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62", size = 39676, upload-time = "2025-10-06T05:36:47.8Z" }, + { url = "https://files.pythonhosted.org/packages/d2/5c/3bbfaa920dfab09e76946a5d2833a7cbdf7b9b4a91c714666ac4855b88b4/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94", size = 89235, upload-time = "2025-10-06T05:36:48.78Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d6/f03961ef72166cec1687e84e8925838442b615bd0b8854b54923ce5b7b8a/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c", size = 50742, upload-time = "2025-10-06T05:36:49.837Z" }, + { url = "https://files.pythonhosted.org/packages/1e/bb/a6d12b7ba4c3337667d0e421f7181c82dda448ce4e7ad7ecd249a16fa806/frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52", size = 51725, upload-time = "2025-10-06T05:36:50.851Z" }, + { url = "https://files.pythonhosted.org/packages/bc/71/d1fed0ffe2c2ccd70b43714c6cab0f4188f09f8a67a7914a6b46ee30f274/frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51", size = 284533, upload-time = "2025-10-06T05:36:51.898Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/fb1685a7b009d89f9bf78a42d94461bc06581f6e718c39344754a5d9bada/frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65", size = 292506, upload-time = "2025-10-06T05:36:53.101Z" }, + { url = "https://files.pythonhosted.org/packages/e6/3b/b991fe1612703f7e0d05c0cf734c1b77aaf7c7d321df4572e8d36e7048c8/frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82", size = 274161, upload-time = "2025-10-06T05:36:54.309Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ec/c5c618767bcdf66e88945ec0157d7f6c4a1322f1473392319b7a2501ded7/frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714", size = 294676, upload-time = "2025-10-06T05:36:55.566Z" }, + { url = "https://files.pythonhosted.org/packages/7c/ce/3934758637d8f8a88d11f0585d6495ef54b2044ed6ec84492a91fa3b27aa/frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d", size = 300638, upload-time = "2025-10-06T05:36:56.758Z" }, + { url = "https://files.pythonhosted.org/packages/fc/4f/a7e4d0d467298f42de4b41cbc7ddaf19d3cfeabaf9ff97c20c6c7ee409f9/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506", size = 283067, upload-time = "2025-10-06T05:36:57.965Z" }, + { url = "https://files.pythonhosted.org/packages/dc/48/c7b163063d55a83772b268e6d1affb960771b0e203b632cfe09522d67ea5/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51", size = 292101, upload-time = "2025-10-06T05:36:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/9f/d0/2366d3c4ecdc2fd391e0afa6e11500bfba0ea772764d631bbf82f0136c9d/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e", size = 289901, upload-time = "2025-10-06T05:37:00.811Z" }, + { url = "https://files.pythonhosted.org/packages/b8/94/daff920e82c1b70e3618a2ac39fbc01ae3e2ff6124e80739ce5d71c9b920/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0", size = 289395, upload-time = "2025-10-06T05:37:02.115Z" }, + { url = "https://files.pythonhosted.org/packages/e3/20/bba307ab4235a09fdcd3cc5508dbabd17c4634a1af4b96e0f69bfe551ebd/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41", size = 283659, upload-time = "2025-10-06T05:37:03.711Z" }, + { url = "https://files.pythonhosted.org/packages/fd/00/04ca1c3a7a124b6de4f8a9a17cc2fcad138b4608e7a3fc5877804b8715d7/frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b", size = 43492, upload-time = "2025-10-06T05:37:04.915Z" }, + { url = "https://files.pythonhosted.org/packages/59/5e/c69f733a86a94ab10f68e496dc6b7e8bc078ebb415281d5698313e3af3a1/frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888", size = 48034, upload-time = "2025-10-06T05:37:06.343Z" }, + { url = "https://files.pythonhosted.org/packages/16/6c/be9d79775d8abe79b05fa6d23da99ad6e7763a1d080fbae7290b286093fd/frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042", size = 41749, upload-time = "2025-10-06T05:37:07.431Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/85da824b7e7b9b6e7f7705b2ecaf9591ba6f79c1177f324c2735e41d36a2/frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0", size = 86127, upload-time = "2025-10-06T05:37:08.438Z" }, + { url = "https://files.pythonhosted.org/packages/8e/e8/a1185e236ec66c20afd72399522f142c3724c785789255202d27ae992818/frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f", size = 49698, upload-time = "2025-10-06T05:37:09.48Z" }, + { url = "https://files.pythonhosted.org/packages/a1/93/72b1736d68f03fda5fdf0f2180fb6caaae3894f1b854d006ac61ecc727ee/frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c", size = 49749, upload-time = "2025-10-06T05:37:10.569Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b2/fabede9fafd976b991e9f1b9c8c873ed86f202889b864756f240ce6dd855/frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2", size = 231298, upload-time = "2025-10-06T05:37:11.993Z" }, + { url = "https://files.pythonhosted.org/packages/3a/3b/d9b1e0b0eed36e70477ffb8360c49c85c8ca8ef9700a4e6711f39a6e8b45/frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8", size = 232015, upload-time = "2025-10-06T05:37:13.194Z" }, + { url = "https://files.pythonhosted.org/packages/dc/94/be719d2766c1138148564a3960fc2c06eb688da592bdc25adcf856101be7/frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686", size = 225038, upload-time = "2025-10-06T05:37:14.577Z" }, + { url = "https://files.pythonhosted.org/packages/e4/09/6712b6c5465f083f52f50cf74167b92d4ea2f50e46a9eea0523d658454ae/frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e", size = 240130, upload-time = "2025-10-06T05:37:15.781Z" }, + { url = "https://files.pythonhosted.org/packages/f8/d4/cd065cdcf21550b54f3ce6a22e143ac9e4836ca42a0de1022da8498eac89/frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a", size = 242845, upload-time = "2025-10-06T05:37:17.037Z" }, + { url = "https://files.pythonhosted.org/packages/62/c3/f57a5c8c70cd1ead3d5d5f776f89d33110b1addae0ab010ad774d9a44fb9/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128", size = 229131, upload-time = "2025-10-06T05:37:18.221Z" }, + { url = "https://files.pythonhosted.org/packages/6c/52/232476fe9cb64f0742f3fde2b7d26c1dac18b6d62071c74d4ded55e0ef94/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f", size = 240542, upload-time = "2025-10-06T05:37:19.771Z" }, + { url = "https://files.pythonhosted.org/packages/5f/85/07bf3f5d0fb5414aee5f47d33c6f5c77bfe49aac680bfece33d4fdf6a246/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7", size = 237308, upload-time = "2025-10-06T05:37:20.969Z" }, + { url = "https://files.pythonhosted.org/packages/11/99/ae3a33d5befd41ac0ca2cc7fd3aa707c9c324de2e89db0e0f45db9a64c26/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30", size = 238210, upload-time = "2025-10-06T05:37:22.252Z" }, + { url = "https://files.pythonhosted.org/packages/b2/60/b1d2da22f4970e7a155f0adde9b1435712ece01b3cd45ba63702aea33938/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7", size = 231972, upload-time = "2025-10-06T05:37:23.5Z" }, + { url = "https://files.pythonhosted.org/packages/3f/ab/945b2f32de889993b9c9133216c068b7fcf257d8595a0ac420ac8677cab0/frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806", size = 40536, upload-time = "2025-10-06T05:37:25.581Z" }, + { url = "https://files.pythonhosted.org/packages/59/ad/9caa9b9c836d9ad6f067157a531ac48b7d36499f5036d4141ce78c230b1b/frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0", size = 44330, upload-time = "2025-10-06T05:37:26.928Z" }, + { url = "https://files.pythonhosted.org/packages/82/13/e6950121764f2676f43534c555249f57030150260aee9dcf7d64efda11dd/frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b", size = 40627, upload-time = "2025-10-06T05:37:28.075Z" }, + { url = "https://files.pythonhosted.org/packages/c0/c7/43200656ecc4e02d3f8bc248df68256cd9572b3f0017f0a0c4e93440ae23/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d", size = 89238, upload-time = "2025-10-06T05:37:29.373Z" }, + { url = "https://files.pythonhosted.org/packages/d1/29/55c5f0689b9c0fb765055629f472c0de484dcaf0acee2f7707266ae3583c/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed", size = 50738, upload-time = "2025-10-06T05:37:30.792Z" }, + { url = "https://files.pythonhosted.org/packages/ba/7d/b7282a445956506fa11da8c2db7d276adcbf2b17d8bb8407a47685263f90/frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930", size = 51739, upload-time = "2025-10-06T05:37:32.127Z" }, + { url = "https://files.pythonhosted.org/packages/62/1c/3d8622e60d0b767a5510d1d3cf21065b9db874696a51ea6d7a43180a259c/frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c", size = 284186, upload-time = "2025-10-06T05:37:33.21Z" }, + { url = "https://files.pythonhosted.org/packages/2d/14/aa36d5f85a89679a85a1d44cd7a6657e0b1c75f61e7cad987b203d2daca8/frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24", size = 292196, upload-time = "2025-10-06T05:37:36.107Z" }, + { url = "https://files.pythonhosted.org/packages/05/23/6bde59eb55abd407d34f77d39a5126fb7b4f109a3f611d3929f14b700c66/frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37", size = 273830, upload-time = "2025-10-06T05:37:37.663Z" }, + { url = "https://files.pythonhosted.org/packages/d2/3f/22cff331bfad7a8afa616289000ba793347fcd7bc275f3b28ecea2a27909/frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a", size = 294289, upload-time = "2025-10-06T05:37:39.261Z" }, + { url = "https://files.pythonhosted.org/packages/a4/89/5b057c799de4838b6c69aa82b79705f2027615e01be996d2486a69ca99c4/frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2", size = 300318, upload-time = "2025-10-06T05:37:43.213Z" }, + { url = "https://files.pythonhosted.org/packages/30/de/2c22ab3eb2a8af6d69dc799e48455813bab3690c760de58e1bf43b36da3e/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef", size = 282814, upload-time = "2025-10-06T05:37:45.337Z" }, + { url = "https://files.pythonhosted.org/packages/59/f7/970141a6a8dbd7f556d94977858cfb36fa9b66e0892c6dd780d2219d8cd8/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe", size = 291762, upload-time = "2025-10-06T05:37:46.657Z" }, + { url = "https://files.pythonhosted.org/packages/c1/15/ca1adae83a719f82df9116d66f5bb28bb95557b3951903d39135620ef157/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8", size = 289470, upload-time = "2025-10-06T05:37:47.946Z" }, + { url = "https://files.pythonhosted.org/packages/ac/83/dca6dc53bf657d371fbc88ddeb21b79891e747189c5de990b9dfff2ccba1/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a", size = 289042, upload-time = "2025-10-06T05:37:49.499Z" }, + { url = "https://files.pythonhosted.org/packages/96/52/abddd34ca99be142f354398700536c5bd315880ed0a213812bc491cff5e4/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e", size = 283148, upload-time = "2025-10-06T05:37:50.745Z" }, + { url = "https://files.pythonhosted.org/packages/af/d3/76bd4ed4317e7119c2b7f57c3f6934aba26d277acc6309f873341640e21f/frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df", size = 44676, upload-time = "2025-10-06T05:37:52.222Z" }, + { url = "https://files.pythonhosted.org/packages/89/76/c615883b7b521ead2944bb3480398cbb07e12b7b4e4d073d3752eb721558/frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd", size = 49451, upload-time = "2025-10-06T05:37:53.425Z" }, + { url = "https://files.pythonhosted.org/packages/e0/a3/5982da14e113d07b325230f95060e2169f5311b1017ea8af2a29b374c289/frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79", size = 42507, upload-time = "2025-10-06T05:37:54.513Z" }, + { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409, upload-time = "2025-10-06T05:38:16.721Z" }, +] + [[package]] name = "fsspec" version = "2026.6.0" @@ -472,6 +1081,330 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e5/22/4222d7ddf3da30f363edaa98e329c2bce6c65497c9cb2810931c8b2c0fbc/fsspec-2026.6.0-py3-none-any.whl", hash = "sha256:02e0b71817df9b2169dc30a16832045764def1191b43dcff5bb85bdee212d2a1", size = 203949, upload-time = "2026-06-16T01:57:26.358Z" }, ] +[[package]] +name = "gitdb" +version = "4.0.12" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "smmap" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload-time = "2025-01-02T07:20:46.413Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794, upload-time = "2025-01-02T07:20:43.624Z" }, +] + +[[package]] +name = "gitpython" +version = "3.1.54" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "gitdb" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5e/d5/3da0b92033887033f4c27f2dd109a303c4ca62813c7b3bb2511edb4777de/gitpython-3.1.54.tar.gz", hash = "sha256:53f2085e24a2cda300eed7c3fc5f1559ae289634b725e98acaf4791940247aa0", size = 225076, upload-time = "2026-07-22T04:08:51.403Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/b9/876f442a28df5c068ca69b0122d5c35e65fd2d2fa9992ea5cb5944ea00a6/gitpython-3.1.54-py3-none-any.whl", hash = "sha256:b90d7b3d9bc0238681d24369130826f0dcdb0ceaa45db67cf1d4ffa4c302dedf", size = 216575, upload-time = "2026-07-22T04:08:50.05Z" }, +] + +[[package]] +name = "greenlet" +version = "3.5.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e2/f1/fbbfef6af0bad0548f09bc28948ea3c275b4edb19e17fc5ca9900a6a634d/greenlet-3.5.3.tar.gz", hash = "sha256:a61efc018fd3eb317eeca31aba90ee9e7f26f22884a79b6c6ec715bf71bb62f1", size = 200270, upload-time = "2026-06-26T19:28:24.832Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/58/5404031044f55afad7aad1aff8be3f22b1bed03e237cfeabbc7e5c8cfde0/greenlet-3.5.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:aca9b4ce85b152b5524ef7d88170efdff80dc0032aa8b75f9aaf7f3479ea95b4", size = 287424, upload-time = "2026-06-26T18:20:31.469Z" }, + { url = "https://files.pythonhosted.org/packages/b4/bf/1c65e9b94a54d547068fa5b5a8a06f221f3316b48908e08668d29c77cb50/greenlet-3.5.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f71be4920368fe1fabeeaa53d1e3548337e2b223d9565f8ad5e392a75ba23fc", size = 606523, upload-time = "2026-06-26T19:07:08.859Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c7/b66baacc95775ad511287acb0137b95574a9ce5491902372b7564799d790/greenlet-3.5.3-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4d77e67f65f98449e3fb83f795b5d0a8437aead2f874ca89c96576caf4be3af6", size = 618315, upload-time = "2026-06-26T19:10:06.055Z" }, + { url = "https://files.pythonhosted.org/packages/b0/a0/68afd1ebad40db87dac0a28ffa120726b98bf9c7c40c481b0f63c105d298/greenlet-3.5.3-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e18619ba655ac05d78d80fc83cac4ba892bd6927b99e3b8237aee861aaacc8bb", size = 626155, upload-time = "2026-06-26T19:24:14.44Z" }, + { url = "https://files.pythonhosted.org/packages/78/2b/28ed29463522fdbe4c15b1f63922041626a7478316b34ab4adda3f0a4aba/greenlet-3.5.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8540f1e6205bd13ca0ce685581037219ca54a1b41a0a15d228c6c9b8ad5903d7", size = 617381, upload-time = "2026-06-26T18:32:16.077Z" }, + { url = "https://files.pythonhosted.org/packages/07/7f/e327d912239ec4b3b49999e3967389bcf1ee8722b9ee9194d2752ecd558a/greenlet-3.5.3-cp311-cp311-manylinux_2_39_riscv64.whl", hash = "sha256:d27c0c653a60d9535f690226474a5cc1036a8b0d7b57504d1c4f89c44a07a80c", size = 421083, upload-time = "2026-06-26T19:25:35.804Z" }, + { url = "https://files.pythonhosted.org/packages/2a/7b/ad04e9d1337fc04965dc9fc616b6a72cb65a24b800a014c011ec812f5489/greenlet-3.5.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7ef56fe650f50575bf843acde967b9c567687f3c22340941a899b7bc56e956a8", size = 1577771, upload-time = "2026-06-26T19:09:01.537Z" }, + { url = "https://files.pythonhosted.org/packages/d8/33/6c87ab7ba663f70ca21f3022aad1ffe56d3f3e0521e836c2415e13abcc3c/greenlet-3.5.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5121af01cf911e70056c00d4b46d5e9b5d1415550038573d744138bacb59e6b8", size = 1644048, upload-time = "2026-06-26T18:31:42.996Z" }, + { url = "https://files.pythonhosted.org/packages/1c/35/f0d8ee998b422cf8693b270f098e55d8d4ec8006b061b333f54f177d28d9/greenlet-3.5.3-cp311-cp311-win_amd64.whl", hash = "sha256:0f41e4a05a3c0cb31b17023eff28dd111e1d16bf7d7d00406cd7df23f31398a7", size = 239137, upload-time = "2026-06-26T18:23:21.664Z" }, + { url = "https://files.pythonhosted.org/packages/fb/96/b9820295576ef18c9edc404f10e260ae7215ceaf3781a54b720ed2627862/greenlet-3.5.3-cp311-cp311-win_arm64.whl", hash = "sha256:ec6f1af59f6b5f3fc9678e2ea062d8377d22ac644f7844cb7a292910cf12ff44", size = 237630, upload-time = "2026-06-26T18:24:00.281Z" }, + { url = "https://files.pythonhosted.org/packages/5d/6e/4c37d51a2b7f82d2ff11bb6b5f7d766d9a011726624af255e843727627a3/greenlet-3.5.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:719757059f5a53fd0dde23f78cffeafcdd97b21c850ddb7ca684a3c1a1f122e2", size = 288685, upload-time = "2026-06-26T18:22:08.977Z" }, + { url = "https://files.pythonhosted.org/packages/7a/73/815dd90131c1b71ebdf53dbc7c276cafec2a1173b97559f97aba72724a87/greenlet-3.5.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:efa9f765dd09f9d0cdac651ffdf631ee59ec5dc6ee7a73e0c012ba9c52fbdf5b", size = 604761, upload-time = "2026-06-26T19:07:10.114Z" }, + { url = "https://files.pythonhosted.org/packages/9f/57/079cfe76bcef36b153b25607ee91c6fcb58f17f8b23c86bbbeabe0c88d72/greenlet-3.5.3-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7faba15ac005376e02a0384504e0243be3370ce010296a44a820feb342b505ab", size = 617044, upload-time = "2026-06-26T19:10:07.25Z" }, + { url = "https://files.pythonhosted.org/packages/fb/fb/d97dc261209c80744b7c8132693a30d70ec6e7315e632cb0a10b3fec94dd/greenlet-3.5.3-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5795cd1101371140551c645f2d408b8d3c01a5a29cf8a9bce6e759c983682d23", size = 622351, upload-time = "2026-06-26T19:24:16.32Z" }, + { url = "https://files.pythonhosted.org/packages/37/87/b4d095775a3fb1bcafbb483fc206b27ebb785724c83051447737085dc54e/greenlet-3.5.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:87142215824be6ac05e2e8e2786eec307ccbc27c36723c3881959df654af6861", size = 614244, upload-time = "2026-06-26T18:32:17.594Z" }, + { url = "https://files.pythonhosted.org/packages/8e/ac/e5fee13cbbd0e8de312d9a146584b8a51891c68847330ef9dc8b5109d23f/greenlet-3.5.3-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:af4923b3096e26a36d7e9cf24ab88083a20f97d191e3b97f253731ce9b41b28c", size = 425395, upload-time = "2026-06-26T19:25:37.144Z" }, + { url = "https://files.pythonhosted.org/packages/8a/70/7559b609683650fa2b95b8ab84b4ab0b26556a635d19675e12aa832d826d/greenlet-3.5.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:215275b1b49320987352e6c1b054acca0064f965a2c66992bed9a6f7d913f149", size = 1574210, upload-time = "2026-06-26T19:09:03.077Z" }, + { url = "https://files.pythonhosted.org/packages/ae/73/be55392074c60fc37655ca40fa6022457bfbf6718e9e342a7b0b41f96dd2/greenlet-3.5.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6b1b0eed82364b0e32c4ea0f221452d33e6bb17ae094d9f72aed9851812747ea", size = 1638627, upload-time = "2026-06-26T18:31:44.748Z" }, + { url = "https://files.pythonhosted.org/packages/14/40/c57489acf8e37d74e2913d4eff63aa0dba17acccc4bdeef874dde2dbbec9/greenlet-3.5.3-cp312-cp312-win_amd64.whl", hash = "sha256:cde8adafa2365676f74a979744629589999093bc86e2484214f58e61df08902c", size = 239882, upload-time = "2026-06-26T18:23:27.518Z" }, + { url = "https://files.pythonhosted.org/packages/71/fd/6fea0e3d6600f785069481ee637e09378dd4118acdfd38ad88ae2db31c98/greenlet-3.5.3-cp312-cp312-win_arm64.whl", hash = "sha256:c4e7b79d83805475f0102008843f6eb45fd3bb0b2e88c774adab5fbaab27117d", size = 238211, upload-time = "2026-06-26T18:22:37.671Z" }, + { url = "https://files.pythonhosted.org/packages/9b/ff/a620267401db30a50cc8450ee90730e2d4a85658c055c0e760d4ed47fb13/greenlet-3.5.3-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:c8d87c2134d871df96ecdea9cec7cbaab286dadab0f56476e57aaf9e8ac11550", size = 287609, upload-time = "2026-06-26T18:21:14.724Z" }, + { url = "https://files.pythonhosted.org/packages/d6/fa/5401ac78021c826a25b6dde0c705e0a8f29b617509f9185a31dac15fbe1b/greenlet-3.5.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2d185dd1621757e70c3861cceffd5317ab4e7ed7eb09c82994828468527ade5", size = 607435, upload-time = "2026-06-26T19:07:11.412Z" }, + { url = "https://files.pythonhosted.org/packages/e9/76/1dc144a2e56e65d36405078ed774224375ea520a1870a6e46e08bb4ac7bf/greenlet-3.5.3-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1c514a468149bf8fbbab874188a3535cd8a48a3e353eb53a3d424296f8dbacd3", size = 619787, upload-time = "2026-06-26T19:10:08.396Z" }, + { url = "https://files.pythonhosted.org/packages/57/61/2f5b1adf256d039f5dab8005de8d3d7ad2b0070a3219c0e036b3fbfeb440/greenlet-3.5.3-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9ad04dd75458c6300b047c61b8639092433d205a25a14e310d6582a480efcca1", size = 625580, upload-time = "2026-06-26T19:24:18.344Z" }, + { url = "https://files.pythonhosted.org/packages/bf/87/c298cee62df1de4ad7fec32abda73526cff347fd143a6ed4ac369246668a/greenlet-3.5.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:915f887cf2682b66419b879423a2e072634aa7b7dce6f3ada4957cfced3f1e9a", size = 616786, upload-time = "2026-06-26T18:32:19.128Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d9/ab7fc9e543e44d6879b0a6ef9a4b2188940fd180cc65d6f646883ddf7201/greenlet-3.5.3-cp313-cp313-manylinux_2_39_riscv64.whl", hash = "sha256:afaabdd554cd7ae9bbb3ca070b0d7fdfd207dbf1d16865f7233837709d354bda", size = 427933, upload-time = "2026-06-26T19:25:38.219Z" }, + { url = "https://files.pythonhosted.org/packages/9e/2e/e6f009885ed0705ccf33fe0583c117cfd03cde77e31a596dd5785a30762b/greenlet-3.5.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:766cfd421c13e450feb340cd472a3ed9957d438727b7b4593ad7c76c5d2b0deb", size = 1574316, upload-time = "2026-06-26T19:09:04.273Z" }, + { url = "https://files.pythonhosted.org/packages/ef/fe/43fd110b01e40da0adb7c90ac7ea744bef2d43dca00de5095fd2351c2a68/greenlet-3.5.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2ecda9ec22edf38fa389369eaed8c3d37c05f3c54e69f69438dbb2cc1de1458b", size = 1638614, upload-time = "2026-06-26T18:31:46.297Z" }, + { url = "https://files.pythonhosted.org/packages/0f/7c/062447147a61f8b4337b156fe70d32a165fcf2f89d7ca6255e572806705c/greenlet-3.5.3-cp313-cp313-win_amd64.whl", hash = "sha256:c82304750f057167ff60d188df1d0cc1764ce9567eadf03e6a7443bcedd0b30b", size = 239850, upload-time = "2026-06-26T18:21:54.613Z" }, + { url = "https://files.pythonhosted.org/packages/c7/7e/220a7f5824a64a60443fc03b39dfac4ea63a7fb6d481efa27eafa928e7f4/greenlet-3.5.3-cp313-cp313-win_arm64.whl", hash = "sha256:dc133a1569ee667b2a6ef56ce551084aeefd87a5acbc4736d336d1e2edc6cfc4", size = 238141, upload-time = "2026-06-26T18:22:48.507Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/43e116ee114b28737ba7e12952a0d4e2f55944d0f84e42bc91ba7192a3c9/greenlet-3.5.3-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:fd2e02fa07485778536a036222d616ab957b1d533f36b3ed98ce725d9c9d3117", size = 288202, upload-time = "2026-06-26T18:23:49.604Z" }, + { url = "https://files.pythonhosted.org/packages/82/2f/146d218299046a43d1f029fd544b3d110d0f175a09c715c7e8da4a4a345d/greenlet-3.5.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df0a0628d1597eb0897b62f55d1343f772405fd25f3b2a796c76874b0c2e22e8", size = 654096, upload-time = "2026-06-26T19:07:12.71Z" }, + { url = "https://files.pythonhosted.org/packages/a0/cc/04738cafb3f45fa991ea44f9de94c47dcec964f5a972300988a6751f49d9/greenlet-3.5.3-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ebd933a6adabc298bab47731a130fe6bfb888bd934eee37810f151159544540d", size = 666304, upload-time = "2026-06-26T19:10:09.503Z" }, + { url = "https://files.pythonhosted.org/packages/86/a9/73fa62893d5b84b4205544e6b673c654cc43aa5b9899bac00f04d64af73d/greenlet-3.5.3-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8d19fe6c39ebff9259f07bcc685d3290f8fa4ea2278e51dd0008e4d6b0f2d814", size = 670657, upload-time = "2026-06-26T19:24:19.967Z" }, + { url = "https://files.pythonhosted.org/packages/ce/aa/4e0dad5e605c270c784ab911c43da6adb136ccd4d81180f763ca429a723d/greenlet-3.5.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4b9d501b40e80b70e32323c799dd9b420a5577a9601469d362ae1ffb690f3a7c", size = 663635, upload-time = "2026-06-26T18:32:20.802Z" }, + { url = "https://files.pythonhosted.org/packages/29/7e/2ffce64929fb3cab7b65d5a0b20aaf9764e227681d731b041077fc9a525a/greenlet-3.5.3-cp314-cp314-manylinux_2_39_riscv64.whl", hash = "sha256:962c5df2db8cb446da51edf1ca5296c389d93b99c9d8aa2ee4c7d0d8f1218260", size = 473497, upload-time = "2026-06-26T19:25:39.421Z" }, + { url = "https://files.pythonhosted.org/packages/d1/50/13efdbea246fe3d3b735e191fec08fb50809f53cd2383ebe123d0809e44b/greenlet-3.5.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a1fad1d11e7d6aab184107baa8e4ece11ccba3ec9599cd7efa5ff4d70d43256a", size = 1621252, upload-time = "2026-06-26T19:09:05.647Z" }, + { url = "https://files.pythonhosted.org/packages/f7/22/c0a336ae4a1410fd5f5121098e5bfbf1865f64c5ef80b4b5412886c4a332/greenlet-3.5.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:fad5aec764399f1b5cc347ad250a59660f20c8f8888ea6bae1f93b769cce1154", size = 1684824, upload-time = "2026-06-26T18:31:47.738Z" }, + { url = "https://files.pythonhosted.org/packages/7a/94/91aec0030bea75c4b3244251d0de60a1f3432d1ecb53ab6c437fb5c3ba61/greenlet-3.5.3-cp314-cp314-win_amd64.whl", hash = "sha256:7669aa24cf2a1041d6f7899575b494a3ab4cf68bfcc8609b1dc0be7272db835e", size = 240754, upload-time = "2026-06-26T18:22:15.669Z" }, + { url = "https://files.pythonhosted.org/packages/e5/06/68d0983e79e02138f64b4d303c500c27ddb48e5e77f3debb80888a921eae/greenlet-3.5.3-cp314-cp314-win_arm64.whl", hash = "sha256:5b4807c4082c9d1b6d9eed56fcd041863e37f2228106eef24c30ca096e238605", size = 239549, upload-time = "2026-06-26T18:22:42.996Z" }, + { url = "https://files.pythonhosted.org/packages/91/95/3e161213d7f1d378d15aa9e792093e9bfe01844680d04b7fd6e0107c9098/greenlet-3.5.3-cp314-cp314t-macosx_11_0_universal2.whl", hash = "sha256:271a8ea7c1024e8a0d7dd2be66dd66dda8a07193f41a17b9e924f7600f5b62be", size = 296389, upload-time = "2026-06-26T18:22:20.657Z" }, + { url = "https://files.pythonhosted.org/packages/00/92/715c44721abe2b4d1ae9abde4179411868a5bff312479f54e105d372f131/greenlet-3.5.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:19131729ae0ddc3c2e1ef85e650169b5e37ee32e400f215f78b94d7b0d567310", size = 653382, upload-time = "2026-06-26T19:07:14.209Z" }, + { url = "https://files.pythonhosted.org/packages/a0/83/37a10372a1090a6624cca8e74c12df1a36c2dc36429ed0255b7fb1aeee23/greenlet-3.5.3-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1540dd8e5fc2a5aec40fbb98ef8e149fa47c89a4b4a1cf2575a14d3d1869d7a8", size = 659401, upload-time = "2026-06-26T19:10:10.876Z" }, + { url = "https://files.pythonhosted.org/packages/cb/73/8faec206b851c22b1733545fda900829a1f3f5b1c78ae7e0fb3dba57d9f4/greenlet-3.5.3-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b897d97759425953f69a9c0fac67f8fe333ec0ce7377ef186fb2b0c3ad5e354d", size = 659582, upload-time = "2026-06-26T19:24:21.357Z" }, + { url = "https://files.pythonhosted.org/packages/db/e2/d1509cad4207da559cc42986ecdd8fc67ad0d1bba2bf03023c467fd5e0f3/greenlet-3.5.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e81fa194a1d20967877bdf9c7794db2bc99063e5be36aee710c08f04c5bb087f", size = 656969, upload-time = "2026-06-26T18:32:22.272Z" }, + { url = "https://files.pythonhosted.org/packages/b4/55/50c19e49f8045834ada71ef12f8ad048eba8517c6aa41161bed676328fae/greenlet-3.5.3-cp314-cp314t-manylinux_2_39_riscv64.whl", hash = "sha256:3236754d423955ea08e9bb5f6c04a7895f9e22c290b66aa7653fcb922d839eb0", size = 491037, upload-time = "2026-06-26T19:25:40.672Z" }, + { url = "https://files.pythonhosted.org/packages/86/7d/eaf70de20aadca3a5884aec58362861c64ce45e7b277f47ed026926a3b89/greenlet-3.5.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:55cf4d777485d43110e47133cbba6d74a8885a87ec1227ef0267f9ee80c5aa21", size = 1617822, upload-time = "2026-06-26T19:09:06.893Z" }, + { url = "https://files.pythonhosted.org/packages/8a/f9/414d38fc400ae4350d4185eaad1827676f7cf5287b9136e0ed1cbbe20a7f/greenlet-3.5.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:12a248ba75f6a9a236375f52296c498c89ff1d8badf32deb9eca7abd5853f7da", size = 1677983, upload-time = "2026-06-26T18:31:49.396Z" }, + { url = "https://files.pythonhosted.org/packages/e4/15/7edb977e08f9bff702fe42d6c902702786ff6b9694058b4e6a2a6ac90e57/greenlet-3.5.3-cp314-cp314t-win_amd64.whl", hash = "sha256:efc6bd60ea02e085862c74a3ef64b147ffc6f1a5ea7d9f26e7a939943f68c1e3", size = 243626, upload-time = "2026-06-26T18:24:41.485Z" }, + { url = "https://files.pythonhosted.org/packages/2c/8a/93928dce91e6b3598b5e779e8d1fd6576a504640c58e78627077f6a7a91a/greenlet-3.5.3-cp315-cp315-macosx_11_0_universal2.whl", hash = "sha256:ea03f2f04367845d6b58eeed276e1e56e51f0b97d8ad5a88a7d20a91dc9056cc", size = 288860, upload-time = "2026-06-26T18:22:48.07Z" }, + { url = "https://files.pythonhosted.org/packages/4f/ca/69db42d447a1378043e2c8f19c09cbbd1263371505053c496b49066d3d16/greenlet-3.5.3-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:78dbef602fda6d97d957eb7937f70c9ce9e9527330347f8f6b6f9e554a9e7a47", size = 659747, upload-time = "2026-06-26T19:07:15.565Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0b/af7ac2ef8dd41e3da1a40dda6305c23b9a03e13ba975ec916357b50f8575/greenlet-3.5.3-cp315-cp315-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6f73857adb8fee13fa56c172bd11262f888c0c648f9fea113e777bb2c7904a81", size = 670419, upload-time = "2026-06-26T19:10:12.293Z" }, + { url = "https://files.pythonhosted.org/packages/25/aa/952cf28c2ff949a8c971134fb43854dd7eaa737218723aaef758f8c9aead/greenlet-3.5.3-cp315-cp315-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cefa9cef4b371f9844c6053db71f1138bc6807bab1578b0dae5149c1f1141357", size = 674261, upload-time = "2026-06-26T19:24:22.79Z" }, + { url = "https://files.pythonhosted.org/packages/51/1e/1d51640cacbfc455dbe9f9a9f594c49e4e244f63b9971a2f4764e46cc53d/greenlet-3.5.3-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:232fec92e823addaf02d9472cf7381e24a1d046a6ced1103c5caa4c21b9dfc1d", size = 668787, upload-time = "2026-06-26T18:32:24.298Z" }, + { url = "https://files.pythonhosted.org/packages/dc/f2/b00d6f5e63e531a93562b2ec1a4c320fbee91f580fc42e6417af69d706e5/greenlet-3.5.3-cp315-cp315-manylinux_2_39_riscv64.whl", hash = "sha256:6219b6d04dbf6ba6084d77dc609e8473060dc55f759cbf626d512122781fa128", size = 480322, upload-time = "2026-06-26T19:25:41.852Z" }, + { url = "https://files.pythonhosted.org/packages/21/66/4030d5b0b5894500023f003bb054d9bb354dfbd1e186c3a296759172f5f5/greenlet-3.5.3-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:2421c3564da9429d5586d46ca31ebb26516b5498a802cf65c041a8e8a8980d34", size = 1626305, upload-time = "2026-06-26T19:09:08.281Z" }, + { url = "https://files.pythonhosted.org/packages/0e/50/5221371c7550108dfa3c378debc41d032aa9c78e89abb01d8011cfc93289/greenlet-3.5.3-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:e0f0d160f0b2e558e6c75f7930967183255dc9735e5f5b8cae58ee09c9576d8b", size = 1688631, upload-time = "2026-06-26T18:31:51.278Z" }, + { url = "https://files.pythonhosted.org/packages/68/5d/00d469daae3c65d2bf620b10eee82eb022127d483c6bc8c69fae6f3fbf17/greenlet-3.5.3-cp315-cp315-win_amd64.whl", hash = "sha256:dd99329bbc15ca78dcc583dba05d0b1b0bae01ab6c2174989f5aaee3e41ac930", size = 241027, upload-time = "2026-06-26T18:22:38.203Z" }, + { url = "https://files.pythonhosted.org/packages/e7/e8/883785b44c5780ed71e83d3e4437e710470be17a2e181e8b601e2da0dc4a/greenlet-3.5.3-cp315-cp315-win_arm64.whl", hash = "sha256:499fef2acede88c1864a57bb586b4bf533c81e1b82df7ab93451cdb47dfec227", size = 240085, upload-time = "2026-06-26T18:23:54.217Z" }, + { url = "https://files.pythonhosted.org/packages/1c/da/4f4a8450962fad137c1c8981a3f1b8919d06c829993d4d476f9c525d5173/greenlet-3.5.3-cp315-cp315t-macosx_11_0_universal2.whl", hash = "sha256:176bc16a721fa5fc294d70b87b4dfa5fbdd251b3da5d5372735ecef9bd7d6d0c", size = 297221, upload-time = "2026-06-26T18:23:27.176Z" }, + { url = "https://files.pythonhosted.org/packages/57/66/b3bfae3e220a9b63ea539a0eea681800c69ab1aada757eae8789f183e7ce/greenlet-3.5.3-cp315-cp315t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:629b614d2b786e89c50440e246f33eea78f58a962d0bdbbcc809e6d13605903f", size = 657221, upload-time = "2026-06-26T19:07:16.973Z" }, + { url = "https://files.pythonhosted.org/packages/7b/81/b6d4d73a709684fc77e7fa034d7c2fe82cffa9fc920fadcaa659c2626213/greenlet-3.5.3-cp315-cp315t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2b2e857ae16f5f72142edf75f9f176fe7526ba19a2841df1420516f83831c9f2", size = 663226, upload-time = "2026-06-26T19:10:13.723Z" }, + { url = "https://files.pythonhosted.org/packages/e9/39/0e0938a75115b939d42733a2a12e1d349653c9531fe6fe563e8a681f04e6/greenlet-3.5.3-cp315-cp315t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:16d192579ed281051396dddd7f7754dac6259e6b1fb26378c87b66622f8e3f91", size = 663706, upload-time = "2026-06-26T19:24:24.312Z" }, + { url = "https://files.pythonhosted.org/packages/f5/07/e210b02b589f16e74ff48b730690e4a34ffe984219fce4f3c1a0e7ec8545/greenlet-3.5.3-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e515757e2e36bcbf1fad09a46e1557e8b1ae1797d4b44d09da7deed88ad28608", size = 660802, upload-time = "2026-06-26T18:32:26.081Z" }, + { url = "https://files.pythonhosted.org/packages/5b/41/35d1c678cdb3c3b9e6bee691728e563cfb294202b23c7a4c3c2ccc343589/greenlet-3.5.3-cp315-cp315t-manylinux_2_39_riscv64.whl", hash = "sha256:4399eb8d041f20b68d943918bc55502a93d6fdc0a37c14da7881c04139acee9d", size = 498803, upload-time = "2026-06-26T19:25:43.063Z" }, + { url = "https://files.pythonhosted.org/packages/eb/2e/5303eb3fa06bca089060f479707182a93e360683bc252acf846c3090d34e/greenlet-3.5.3-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:b363d46ed1ea431825fdb01471bb024fc08399bad1572a616e853c7684415adb", size = 1622157, upload-time = "2026-06-26T19:09:09.527Z" }, + { url = "https://files.pythonhosted.org/packages/54/70/50de47a488f14df260b50ae34fb5d56016e308b098eab02c878b5223c26a/greenlet-3.5.3-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:e44da2f5bbdaabaf7d80b73dbb430c7035771e9f244e3c8b769715c9d8fa0a16", size = 1681159, upload-time = "2026-06-26T18:31:52.986Z" }, + { url = "https://files.pythonhosted.org/packages/a7/13/1055e1dda7882073eda533e2b96c62e55bbd2db7fda6d5ece992febc7071/greenlet-3.5.3-cp315-cp315t-win_amd64.whl", hash = "sha256:8ff8bed3e3baa20a3ea261ce00526f1898ad4801d4886fd2220580ee0ad8fadf", size = 244007, upload-time = "2026-06-26T18:22:04.353Z" }, + { url = "https://files.pythonhosted.org/packages/b4/0d/ca7d15afbdc397e3401134c9e1800d51d12b829661786187a4ad08fe484f/greenlet-3.5.3-cp315-cp315t-win_arm64.whl", hash = "sha256:b7068bd09f761f3f5b4d214c2bed063186b2a86148c740b3873e3f56d79bac31", size = 242586, upload-time = "2026-06-26T18:23:37.93Z" }, +] + +[[package]] +name = "grpcio" +version = "1.82.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/90/bc/656b89387d6f4ed7e0686c7b64c2ae7e554a759aa58122c8e5fb99392c32/grpcio-1.82.1.tar.gz", hash = "sha256:707b24abd90fcb1e45bcc080577da1dbf9971d107490589b9539af8e1e77b4b5", size = 13187300, upload-time = "2026-07-08T12:36:16.588Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/5b/e5092af97fa671ca279b3e373251af4bf87d5fbda7dc85f6a616899562a7/grpcio-1.82.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:0ddb18a9a9e1f46692b3567ae4abb3f8d117ce6afea48650f8eca06d8ab5d06f", size = 6181472, upload-time = "2026-07-08T12:34:31.009Z" }, + { url = "https://files.pythonhosted.org/packages/c1/8f/18053a3a2ca03d0c2a1b8cc7271e705007a16aa5dae84bac00935c5b1a7f/grpcio-1.82.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:cf855b1af246720f567b0ce5d0724d45dfa4188eecc3296a2a69257b11b9e94b", size = 11970995, upload-time = "2026-07-08T12:34:33.603Z" }, + { url = "https://files.pythonhosted.org/packages/5b/7e/21b1acb052876ad00959ec4d1b05fe08607d650bcfa282073bb164c2703c/grpcio-1.82.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ddb30cb13e25bc13cea70ffc69d6d90c49d36ea6c1d4549e6912f70177834cac", size = 6760127, upload-time = "2026-07-08T12:34:36.122Z" }, + { url = "https://files.pythonhosted.org/packages/3e/12/25eef9c245c54f0061317d13a302357fe8ea03bac240b2b02ececcf54da4/grpcio-1.82.1-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1e822b2774f719c017cbe700b6e47173b6ae290fb84906f52a5a3c2c60b62e1e", size = 7484377, upload-time = "2026-07-08T12:34:38.368Z" }, + { url = "https://files.pythonhosted.org/packages/a0/41/1a348767eb9d9bd7765dc4fa8a01723d3bb386d67f981ee5c6f9c02b8b1c/grpcio-1.82.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5dafb1ece8ed45dee7c738f166ec82e19673221ed5ab8967f72858a4685345b2", size = 6924269, upload-time = "2026-07-08T12:34:40.583Z" }, + { url = "https://files.pythonhosted.org/packages/e4/b9/3aae7a03d34c86ea27988db859a6087c186f6c3f53f9b551e07afd989bfa/grpcio-1.82.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e06503106e7271e0a49fd5a1ac04747f1e47e87d900476db6fe45bc87ee411f4", size = 7531848, upload-time = "2026-07-08T12:34:43.277Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/3c4afa625d0dac9090707966916284c035fc5b2fb3e2c51e156accee6735/grpcio-1.82.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ff99bc8cafb6a952201c37b995f425e641c93ffa6e072258525feab57290141d", size = 8568217, upload-time = "2026-07-08T12:34:45.502Z" }, + { url = "https://files.pythonhosted.org/packages/20/9c/d8489c628e73e20a3d034e7f66912de7b1acb405f01d388f056a88e47924/grpcio-1.82.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:644ae1b94266ac785330f4590a69e52b6a7eb73029043a02209db81c81397d69", size = 7938771, upload-time = "2026-07-08T12:34:48.323Z" }, + { url = "https://files.pythonhosted.org/packages/4b/b7/0a92cfd1658f3a896d4aa12d4efeb7dd4ddfc723725ae22741a5241ea710/grpcio-1.82.1-cp311-cp311-win32.whl", hash = "sha256:e203d2e19d471630084a16c815616f8211dff21c268ab3c5f5bf38417832e074", size = 4256432, upload-time = "2026-07-08T12:34:50.432Z" }, + { url = "https://files.pythonhosted.org/packages/c7/6a/2872c761b025d9ec74386f22a4a7d59c5a5b00ebf718761b33739ffc45de/grpcio-1.82.1-cp311-cp311-win_amd64.whl", hash = "sha256:0d8299c285fe6cc6a1f56badf8d3bc5078c8d20273ee64bafa3783b4bc29a769", size = 5009633, upload-time = "2026-07-08T12:34:52.67Z" }, + { url = "https://files.pythonhosted.org/packages/dc/88/d1350bf3343a2ed87d801584e40609f6c6bd3087926eeca03de50348cf4a/grpcio-1.82.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:c09bd5fa0d5b1fbd773ec349fe61441c3e4ebf168c229aa7538a820bdfad6a58", size = 6144689, upload-time = "2026-07-08T12:34:55.567Z" }, + { url = "https://files.pythonhosted.org/packages/e6/33/71875cdecd27c24ac1385d4783a09853f01b84a825a36aec2a2bc7d0d080/grpcio-1.82.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:1eae24810720734598e3e6a1a528d5de0f265fe3fc86575e9ecce424b9ec7379", size = 11952034, upload-time = "2026-07-08T12:34:58.128Z" }, + { url = "https://files.pythonhosted.org/packages/82/b2/d9125df3d8a140dec12cc82c05b7deafedeababcff6496f28b2fd5634d10/grpcio-1.82.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a6bd5daf5bde7b24d7ad2cbaf8bf9eac620d96222016bb5e7ddde930dec0673f", size = 6710772, upload-time = "2026-07-08T12:35:01.33Z" }, + { url = "https://files.pythonhosted.org/packages/88/9b/69e2d1627398b964f34437dc476a5aff5a2cc8e7f247d26272b5674b5faf/grpcio-1.82.1-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1ecfde669cb687ac020d31ff76debe5dc7a62213335f02262eb6625628da1c03", size = 7450677, upload-time = "2026-07-08T12:35:03.926Z" }, + { url = "https://files.pythonhosted.org/packages/e4/e7/8f855ca29c294956122a2a73023655b9b02602d5111dad2b9b00e7631c68/grpcio-1.82.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:011c8badee95734dee8bf05ce3464756a0ac3ebb8d443afd20c0e2b5e4640ad9", size = 6886855, upload-time = "2026-07-08T12:35:06.174Z" }, + { url = "https://files.pythonhosted.org/packages/5f/f0/fa87e85f49925f44c479d07e58b051e69bcfef6b6d5fbc6749d140f6730a/grpcio-1.82.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b85f4564926fb23114d239392bdcae200db1e6179629edd7d7ab0ab89c96a197", size = 7501323, upload-time = "2026-07-08T12:35:08.49Z" }, + { url = "https://files.pythonhosted.org/packages/67/55/2e0b10ae1d3ef9dcc480b91dc2158f4931fc4675d3af0a2836e39b2a744f/grpcio-1.82.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2c0c8270833395644c3fe6b6a806397955a2bc0538000a19a78b90c05a6c16e0", size = 8536899, upload-time = "2026-07-08T12:35:10.975Z" }, + { url = "https://files.pythonhosted.org/packages/bd/95/a3d8b0431fa221efc51ee39d73595ede74ba82a43b7c4313192e580face2/grpcio-1.82.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2ba199205ff46c7778290fe1673c91ac8e7e45678dd5c86e9e56fa33ec8788f6", size = 7913892, upload-time = "2026-07-08T12:35:13.944Z" }, + { url = "https://files.pythonhosted.org/packages/b8/92/f2651ec704d9852a56faef394775038afba435b50ce82ab2404d119c3355/grpcio-1.82.1-cp312-cp312-win32.whl", hash = "sha256:06127691866e295c14e84a1fb86356dd962254f6abd0da4ca4b001eea9e89438", size = 4240985, upload-time = "2026-07-08T12:35:16.048Z" }, + { url = "https://files.pythonhosted.org/packages/96/4f/a5fe8bf0d0a1b24855f370293075c931f27de4eb55f0f158786095bf3c11/grpcio-1.82.1-cp312-cp312-win_amd64.whl", hash = "sha256:1fa3223a3a2e1db74f4c2b255189eb7ea875dfba56e221d252ee3fc7b204778e", size = 5001580, upload-time = "2026-07-08T12:35:18.689Z" }, + { url = "https://files.pythonhosted.org/packages/1b/3e/496992d08c0aaa11272eb6228dc8ab947da01fe835de243cd00521bce4c4/grpcio-1.82.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:b454a2d97bfab7565683a02345f86bd182ab69fd7c2bdb7414171e7538f266b1", size = 6146068, upload-time = "2026-07-08T12:35:21.365Z" }, + { url = "https://files.pythonhosted.org/packages/e7/8f/f263d6f14fdba6b56cfadd91fd3e158a52682b72c6016d1f8723d435659f/grpcio-1.82.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:3dde70abfc80b3be11de53ba0d601c439e7fb2afd3583ad1788d1146bec92fdc", size = 11948600, upload-time = "2026-07-08T12:35:24.312Z" }, + { url = "https://files.pythonhosted.org/packages/8c/14/3a02e6ee49c2d85bc15eaae321e0e11ab3542cad3c5b2de121ecce0c4296/grpcio-1.82.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f5523099c98c292ea1ae08e617249db760c56a78f8deae879027fe7d1ffbcbf6", size = 6714591, upload-time = "2026-07-08T12:35:27.027Z" }, + { url = "https://files.pythonhosted.org/packages/69/80/58e3738696f48ab7645347b98d8a7f93d10e00e6218388fbfcd6c9310e3d/grpcio-1.82.1-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:5e5c4dc0a59b0f8490a6bdfd6fc8395b9d8ad8a8407c7d67ca7b5bba15c0877f", size = 7454995, upload-time = "2026-07-08T12:35:29.599Z" }, + { url = "https://files.pythonhosted.org/packages/f3/6c/2557c1a889363072fbf2285ecd0e8c44860d4dbd60f017a32537c5b863e2/grpcio-1.82.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c40d94ba820329cc191981bc22fa6f6eed0799c6d921f3c6709521d59d4a2fd7", size = 6888621, upload-time = "2026-07-08T12:35:32.38Z" }, + { url = "https://files.pythonhosted.org/packages/d2/66/907706ccaff1223f1e10fd5b37fc16faead43392fccb4e786e7e390ac141/grpcio-1.82.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4c816180e31e273caaec6f8bd86a8392499d5bbb26f41da44e3dce48bde69095", size = 7505069, upload-time = "2026-07-08T12:35:35.072Z" }, + { url = "https://files.pythonhosted.org/packages/b3/7c/ff97b0d0f635987ee5ec80dfedafa1aad629303745d48e8637d10eec5b80/grpcio-1.82.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e31fd780b261830720cb70b0fd8f0aa51d49e75a66d7464ad2e31d4b765f2580", size = 8535384, upload-time = "2026-07-08T12:35:37.954Z" }, + { url = "https://files.pythonhosted.org/packages/62/9e/a97fddd970a8d1588cade06eca20443761c1858b0ad6590a5c835aa18062/grpcio-1.82.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d76152d7c31d7210d4a106e5d8b64da5bba5d6abf11be30e2f7b0a0c59bbcbf", size = 7910707, upload-time = "2026-07-08T12:35:40.797Z" }, + { url = "https://files.pythonhosted.org/packages/20/e4/eaba1517888af483a88d449eb7566f0f7f63446d46f339c5891798435875/grpcio-1.82.1-cp313-cp313-win32.whl", hash = "sha256:38e9dcb5258226fb3282630b31b16a968df52c8c6ad514af540646e0a4578f8a", size = 4240363, upload-time = "2026-07-08T12:35:43.298Z" }, + { url = "https://files.pythonhosted.org/packages/b0/42/66a98d47732e35290bef722f6149fed3709cd4cf61166f6f53a12f417302/grpcio-1.82.1-cp313-cp313-win_amd64.whl", hash = "sha256:3dbfb52c36d9511ac2b8e6c94fdde837b393ae520cc321f52a333a2deedf5a90", size = 5000980, upload-time = "2026-07-08T12:35:46.262Z" }, + { url = "https://files.pythonhosted.org/packages/b4/cb/cf9ae9e164c6e6dc8a494faa9771763df9da150eefe19671009624d1559f/grpcio-1.82.1-cp314-cp314-linux_armv7l.whl", hash = "sha256:35f990f7784c8fd2872644f07f96ebb4d9e48e145a190ab80d0280af91a1bfb2", size = 6146901, upload-time = "2026-07-08T12:35:49.261Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2a/eccf26dbcfb7f7cab8027c5490a16c8937c5aa7a2ec20a3eab2cf7a43165/grpcio-1.82.1-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:46536a4a1f4434df3c851b9254ff6fc7df5705b273681a15ca277d5921c178a0", size = 11954756, upload-time = "2026-07-08T12:35:52.196Z" }, + { url = "https://files.pythonhosted.org/packages/ad/75/3b3b4a3cc9f084b026af96e1d3e539b1af29ec7f41ed0dfff3cb99cc8626/grpcio-1.82.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d6650a7c1ebb7921c70e12a385439a8118efb99e669fa9ed31cf25db1843937c", size = 6723087, upload-time = "2026-07-08T12:35:54.973Z" }, + { url = "https://files.pythonhosted.org/packages/9c/8b/b0f0c9b1400a99a4da4c09b114f101b192f8f11192e76f620b8962f5d90b/grpcio-1.82.1-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:b8e110c66df5204c0506d6c8787b35d48b8b699ef5aa366d6c4d67325c67fe9a", size = 7454542, upload-time = "2026-07-08T12:35:57.586Z" }, + { url = "https://files.pythonhosted.org/packages/b7/bd/428e38868382aa193697a5aa53973f29c58e58ba4268aa0c86a2715ee58b/grpcio-1.82.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f853eae07235a51a27bb5d6a9a175a59ca55dc9b99edc6ce2f76f07332d333ae", size = 6889588, upload-time = "2026-07-08T12:36:00.012Z" }, + { url = "https://files.pythonhosted.org/packages/49/ce/03e01d5e10259bf5c08ee50570cc94724e79c956f61fd2f09b341af0956c/grpcio-1.82.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:60b0f2c95337694fc094b77d9f60f50566c84b5677393e342eb98daeee242d98", size = 7514166, upload-time = "2026-07-08T12:36:02.693Z" }, + { url = "https://files.pythonhosted.org/packages/ff/59/278b4b600329e2ba3849f3c1ea3c820b3a01b38a7ad184ba09595e8d2733/grpcio-1.82.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:b064fc444812bdaa9825d33c26f8d732d63ee6a5d78557c1faf92c98687fed27", size = 8536166, upload-time = "2026-07-08T12:36:05.349Z" }, + { url = "https://files.pythonhosted.org/packages/44/27/7ccf2ef00f27a8e47a79d641c8ceaf7d3028c7a03d9a97b4c8a9a783c086/grpcio-1.82.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7d7ede11d747b4e1bd05e3bc0260e155b65a88735a895a10f6521f19b889511e", size = 7912572, upload-time = "2026-07-08T12:36:08.393Z" }, + { url = "https://files.pythonhosted.org/packages/0d/be/33742482d2753f2d3a1b7641664b6622262d44f2f3b609f13425dd86d36f/grpcio-1.82.1-cp314-cp314-win32.whl", hash = "sha256:3d21f19838dc255ecbb79321b15ae9b98fbddff4c3d4aedb0a81bdd7f4ab572a", size = 4321856, upload-time = "2026-07-08T12:36:10.899Z" }, + { url = "https://files.pythonhosted.org/packages/cc/67/03329c847172c78ddeb1eb9be6b444fdbc12775a84c958b27e427e7b926d/grpcio-1.82.1-cp314-cp314-win_amd64.whl", hash = "sha256:e20f1edbb15f99e3128ec86433f9785fd5a451d8f115e74fe0056134f092a9d5", size = 5141114, upload-time = "2026-07-08T12:36:13.595Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httptools" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/e5/d471fcb0e14523fe1c3f4ba58ca52480e7bd70ad7109a3846bc75892f7fb/httptools-0.8.0.tar.gz", hash = "sha256:6b2a32f18d97e16e90827d7a819ffa8dbd8cc245fc4e1fa9d1095b54ef4bd999", size = 271342, upload-time = "2026-05-25T22:17:48.841Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/d2/c3eedaef57de65c3cc5f8dc244cf12d09c84ad258a479055aad6db23206c/httptools-0.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ed377e64805bdba4943c82717333f8f8603a13b09aff9cead2717c6c817fb168", size = 208428, upload-time = "2026-05-25T22:16:59.717Z" }, + { url = "https://files.pythonhosted.org/packages/f1/94/dfe435d90d0ef61ec0f2cc3d480eef78c59727c6c2ce039f433882f6131a/httptools-0.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9518c406d7b310f05adb1a37f80acabac40504a575d7c0da6d3e365c695ac20d", size = 113366, upload-time = "2026-05-25T22:17:00.795Z" }, + { url = "https://files.pythonhosted.org/packages/cc/d4/13025f1a56e615dcb331e0bbe2d9a1143212b58c263385fc5d2e558f5bac/httptools-0.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:57278e6fa0424c42a8a3e454828ab4f0aff27b40cddf9679579b98c6dce6a376", size = 464676, upload-time = "2026-05-25T22:17:02.014Z" }, + { url = "https://files.pythonhosted.org/packages/bf/95/4c1c26c0b985f8a3331682d802598f14e32dc41bf7509266eb2c04ad4801/httptools-0.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bbb8caadb2b742d293169d2b458b5c001ef70e3158704aa3d3ef9597624c5d1d", size = 464235, upload-time = "2026-05-25T22:17:03.109Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/6735be2b0ca527718c431cdb8e5f70c3862c0844a687df0f572c51e11497/httptools-0.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:52dd695b865fe96d9d2b16b64a895f3f57bf3cb064e8383cd3b5713a069e8085", size = 449809, upload-time = "2026-05-25T22:17:04.443Z" }, + { url = "https://files.pythonhosted.org/packages/b5/f9/5811c74f37a758c8a4aa3dc430375119d335947e883efc4664d8f3559a41/httptools-0.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:20b4aac66ff65f7db06a375808b78f42a94970aa22e826b3cb2b43eb09174124", size = 452174, upload-time = "2026-05-25T22:17:05.476Z" }, + { url = "https://files.pythonhosted.org/packages/cc/94/97b75870dea07b71e3ec535cebe525b08d723152e4c7d13fa887e51f4de2/httptools-0.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:a1b4c8e7a489a0d750d91894e9a8cdc295838f1924c0ca903ae993456fddec07", size = 90991, upload-time = "2026-05-25T22:17:06.75Z" }, + { url = "https://files.pythonhosted.org/packages/14/88/1d21a36da8f5cb0fa49eafd4b169eba5608d57e75bbcf61845cbc6243216/httptools-0.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:880490234c10f70a9830743097e8958d6e4b9f5a0ffc24515023afeef984054d", size = 208247, upload-time = "2026-05-25T22:17:07.843Z" }, + { url = "https://files.pythonhosted.org/packages/a5/42/cc4feea2945cb3051038f090c9b36bd5b8a9d7f5a894a506a8983e33fd1c/httptools-0.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5931891fb7b441b8a3853cf1b85c82c903defce084dd5f6771ca46e31bf862c5", size = 113064, upload-time = "2026-05-25T22:17:09.136Z" }, + { url = "https://files.pythonhosted.org/packages/e3/a6/febbb8b8db0f58b38e44ad6cb946e6a255ae49b55f2e8543408fb7501ccd/httptools-0.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b15fc622b0f869d19207c4089a501d9bcc63ca5e071ffdd2f03f922df882dcb2", size = 523851, upload-time = "2026-05-25T22:17:10.106Z" }, + { url = "https://files.pythonhosted.org/packages/b7/e4/f90a0df0b83beff265b7e3b65f2a4cefd95792d4be0ac3e16049f2acd3c2/httptools-0.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:425f83884fd6343828d8c565f046cb72b6d19063f6924093e11bcd8e1548cd09", size = 518842, upload-time = "2026-05-25T22:17:11.218Z" }, + { url = "https://files.pythonhosted.org/packages/9e/2d/0c9ac76dd2c893841fbf6498d6acec4f2442e1b7067f6e3e316a80e494e8/httptools-0.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ef7c3c97f4311c7be57e2986629df89d49cb434dbff78eafcd48c2bff986b15a", size = 501238, upload-time = "2026-05-25T22:17:12.728Z" }, + { url = "https://files.pythonhosted.org/packages/ca/42/906adc91ae3a5fa9c59c0a2f21c139725bd7e5b41ae6acd485cd14123ebf/httptools-0.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a1afd7c9fbff0d9f5d489c4ce2768bd09c84a46ddefc7161e6aa82ae35c85745", size = 509567, upload-time = "2026-05-25T22:17:13.842Z" }, + { url = "https://files.pythonhosted.org/packages/05/0b/4240efeb672751ee5b9b380cb0e3fdc050bc05f68adc7a8aefc4fcd9a69a/httptools-0.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:cd96f29b4bab1d42fa6e3d008711c75e0f79e94e06827330160e3a304227f150", size = 90918, upload-time = "2026-05-25T22:17:15.155Z" }, + { url = "https://files.pythonhosted.org/packages/5e/e5/8cfcabc5546e8022f168be28bcdaa128a240a0befdd03b59d558b4f18bd6/httptools-0.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:614ceea8ea606848bece2338ac03b3ce5324bcb4be8dc7d377ed708012fa4db8", size = 205148, upload-time = "2026-05-25T22:17:16.333Z" }, + { url = "https://files.pythonhosted.org/packages/2a/0e/0fb14848c19a686c8062ff9067c1a48793e3224b47bc5b201535b6036fce/httptools-0.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2d689918c15a013c65ef52d9fd495d766893ab831a2c8d89f2ac5940a5df847c", size = 111368, upload-time = "2026-05-25T22:17:17.586Z" }, + { url = "https://files.pythonhosted.org/packages/2e/1b/46f1cecf06b9bbde8e4b8c88034ac7908989e5ff7a3a388ef38392949c1f/httptools-0.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:eb3028cca2fc0a6d720e52ef61d8ebb62fcbfeb1de56874546d858d3f25a26b7", size = 486447, upload-time = "2026-05-25T22:17:18.564Z" }, + { url = "https://files.pythonhosted.org/packages/77/00/258bfc0837221f81d9725c45f9b948a6a6b2994a147a4fb66e85100c668f/httptools-0.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:88bdd940f2b5d487b4d032c6afa5489a7dc4694410d43de3c38c4fb3af0dc45d", size = 482448, upload-time = "2026-05-25T22:17:19.912Z" }, + { url = "https://files.pythonhosted.org/packages/04/ab/d1cef3b5523f4d272a70f42a776c3169a2dddfe3a54de4b2ce4a36341528/httptools-0.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6a43c9dd399758ccc0531acb0a3c4a6c299ee893ee9400e9c893b7bdcfae0681", size = 464460, upload-time = "2026-05-25T22:17:20.882Z" }, + { url = "https://files.pythonhosted.org/packages/ce/48/5d1d072442277bb2b3434e0e60690b8e8c23840ef7de8b6ea54040a536d3/httptools-0.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0770728beb05094c809b98e814edff5fef69d26ad7d21185f2f6d5884a0ba683", size = 471312, upload-time = "2026-05-25T22:17:22.085Z" }, + { url = "https://files.pythonhosted.org/packages/0d/66/b96623b27e51a68199ef4efdda0613cced9233fe3062ac74e50749c5ad37/httptools-0.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:7685df791fad561384bfb139e77fde27a1ffd93134e016f95a0db424ffbf77b1", size = 90117, upload-time = "2026-05-25T22:17:23.074Z" }, + { url = "https://files.pythonhosted.org/packages/1a/12/fa3fbf5f9517b273edea2dc982aa82a8c634091e67c590792b729017bc6f/httptools-0.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:de242a49b5d18e0a8776e654e9f6bf6d89f3875a5c35b425a0e7ce940feb3fd6", size = 206183, upload-time = "2026-05-25T22:17:24.004Z" }, + { url = "https://files.pythonhosted.org/packages/30/fc/5e7c4cb443370f2090a3aba0453a07384d29ff66b7435bb90e77e1037599/httptools-0.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:159e9ab5f701ccd42e555a12f1ad8ff69702910fc1c996cf2bb66e5fcb7a231b", size = 112079, upload-time = "2026-05-25T22:17:25.216Z" }, + { url = "https://files.pythonhosted.org/packages/ba/53/771bd891eb0f236f32145d6a1775777ec85745f3cc983a1f23d1a3b8ddfe/httptools-0.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c4a9f1707e4823d54dfec6c33fa3697d302aed536ed352a7ebb5a061ddb869d0", size = 481596, upload-time = "2026-05-25T22:17:26.186Z" }, + { url = "https://files.pythonhosted.org/packages/62/42/94e15bc68ce3d423243c45d7f1b0c7561f13844f97dc52ae23182fb65628/httptools-0.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d76ad7b951387e3632c8716a9bb03ac5b45c5f16119aa409db0459520887944e", size = 480865, upload-time = "2026-05-25T22:17:27.542Z" }, + { url = "https://files.pythonhosted.org/packages/1c/7c/fe2980fc03723272e30f135b62360b075f513dfe7cc73aef36c7f04012bd/httptools-0.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a3b7387147361c3fd47a0bde763c5c91b5b4cd4dc9989b8ece84ff436c99843b", size = 463189, upload-time = "2026-05-25T22:17:28.546Z" }, + { url = "https://files.pythonhosted.org/packages/15/1b/47fc5fff68acd1bfa20b4734059c9a06cadb88119dcd5258b5b0d21d91c8/httptools-0.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f256d6ce930c52ca1cb2a960b7da03548c454e7d28b06059ad41bfe789036ce0", size = 466610, upload-time = "2026-05-25T22:17:29.816Z" }, + { url = "https://files.pythonhosted.org/packages/60/bd/07b13c93ffd9bec9546e0d43f8e19378dd696dbd278511406bc07371ef1f/httptools-0.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:19d1ee275bb59ba2643ba9a3a1e51cc0c788caf2b8df506368e03f56fdd08527", size = 92705, upload-time = "2026-05-25T22:17:31.133Z" }, + { url = "https://files.pythonhosted.org/packages/fd/c4/121648f68ce066d7bd762d6b6d97e620847642d38d54f3d90ff11d947629/httptools-0.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:de1ed58a974e75d56560acc7e7fed01a454994429456f65209789992e41f2568", size = 215023, upload-time = "2026-05-25T22:17:32.401Z" }, + { url = "https://files.pythonhosted.org/packages/b9/b0/312a062ae741ae3e8baa8c8bf20be81b2e67337b259ab4349bebc7b6142e/httptools-0.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e93c227b595c6926c1acee96891dd9da4be338cfbe82e5cd3bb9d8dd7dc4ac0b", size = 117405, upload-time = "2026-05-25T22:17:33.742Z" }, + { url = "https://files.pythonhosted.org/packages/fc/37/fccd705f795386bb05bf413012fecff2a33e5aa8c2f069096de3e9fd8702/httptools-0.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2a021c3a8e65cc125390d72f59b968afca3bdcaff25bd67965e0a055a14946ca", size = 558497, upload-time = "2026-05-25T22:17:34.732Z" }, + { url = "https://files.pythonhosted.org/packages/bd/39/f172e8003576de35f5ba77ff417cf0e34429d35dc014deef15afa337a72c/httptools-0.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:48774d39cbb70e2b1f71f88852a3087ae1d3a1eb80482bb48c13067ab080c14f", size = 571585, upload-time = "2026-05-25T22:17:35.813Z" }, + { url = "https://files.pythonhosted.org/packages/3e/b9/f5564760af99f3dbbf3f9104dc00e5da27e96cf433c6bdcf77617f70bf3f/httptools-0.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:88eead8ec8680a9f146c655bc88445a325bd7921cfd8194c7337e9467282427d", size = 543297, upload-time = "2026-05-25T22:17:37.08Z" }, + { url = "https://files.pythonhosted.org/packages/99/67/8d9f2c313618e161b82f3873188e7196126da1d6e29688df40eb3997c77a/httptools-0.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:2c032fa028f46871ec7e1fc59fc15e8023eab3e6bbe6ece786a1611719a5d081", size = 539535, upload-time = "2026-05-25T22:17:38.032Z" }, + { url = "https://files.pythonhosted.org/packages/48/63/b906c01e53f50d432c0defe43ce52764a111dc1bdd028bafbeb54dcfd008/httptools-0.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:384c17174464c8e873398b7af24f0b1f44d992c820328413951a625323155d77", size = 108209, upload-time = "2026-05-25T22:17:39.473Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + +[[package]] +name = "idna" +version = "3.18" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/63/9496c57188a2ee585e0f1db071d75089a11e98aa86eb99d9d7618fc1edce/idna-3.18.tar.gz", hash = "sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848", size = 196711, upload-time = "2026-06-02T14:34:07.794Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl", hash = "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2", size = 65455, upload-time = "2026-06-02T14:34:06.319Z" }, +] + +[[package]] +name = "ijson" +version = "3.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/06/b31f040a8764336a11152e474a7abcb3782fedb0d1cdf78f442b82878c56/ijson-3.5.1.tar.gz", hash = "sha256:af40bd1a85f55db0b8b30715c858761306bd92d5590148636f75c3309e6e76bd", size = 69913, upload-time = "2026-07-06T17:37:42.923Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/d3/16d1595d3ef4743fc55129211bc52f52d59c582d0b7be045d8c04be0ae0c/ijson-3.5.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2aa9d0cf21d4de89fb633e5ec27e9ad02c3f9a4ffa3940d120b23b8aed3acffc", size = 89069, upload-time = "2026-07-06T17:36:15.727Z" }, + { url = "https://files.pythonhosted.org/packages/32/a5/ddba126e2d46cf3b86ad762aeb5e0a02ce0ebc6e4529fe7d06eecb217844/ijson-3.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:05eba5268a38809ba1c3dbfa44ea67336e2c353fc11768acc9c6442fe0ccac50", size = 60697, upload-time = "2026-07-06T17:36:16.66Z" }, + { url = "https://files.pythonhosted.org/packages/dc/74/444d8d00a4506a79fc5544614106fa48d5f6f7049511148d8b6cddb8e9d7/ijson-3.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:40ddd236c80a667dd6a1f6b625d18ddac68b8719ff795761b7542f2e1f78e4a4", size = 60747, upload-time = "2026-07-06T17:36:17.927Z" }, + { url = "https://files.pythonhosted.org/packages/ee/b1/bc07831e646aebcc91a7bad9c5a0bf7c3f3395f0b10599e021667a3777f1/ijson-3.5.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e6cf9e49902f28af7a2e2f8b35c201195c0f0d5c170a5786e0c0a1b8492a4e37", size = 132095, upload-time = "2026-07-06T17:36:19.022Z" }, + { url = "https://files.pythonhosted.org/packages/1d/1f/b4547461d75db40744616e40c0a06cf2f46a14e60742f6d12510f4612985/ijson-3.5.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6ee1e6d59c800aa819952f6cb5ff08707ecd576b29cc9c3d00e33c2b371a92ce", size = 138790, upload-time = "2026-07-06T17:36:20.22Z" }, + { url = "https://files.pythonhosted.org/packages/a7/30/7ecba8377509eaea2666db5b39a1a99e23f5e3e1e7ee371ec366cbfc4f7c/ijson-3.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:affb85eb75fa03a21d1f790bbf26a0e66e5701672062a30dc5c3c6a29c5c0a63", size = 135233, upload-time = "2026-07-06T17:36:21.252Z" }, + { url = "https://files.pythonhosted.org/packages/38/36/0679010904b24398336b3099b09ccb1daa41c534e7cb0931e89d5fcdbee4/ijson-3.5.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3060b141ef758be3742315d44476109460c265b88247e3a4e479949f8b134eac", size = 138832, upload-time = "2026-07-06T17:36:22.323Z" }, + { url = "https://files.pythonhosted.org/packages/b0/90/a40f971e78191e423c7b3a23756f37c3a51c27aadd7769b3fb1816e0044d/ijson-3.5.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ffba9bce60be21b496afc67a05ab8e3f431f87f0282fd6ce3c62004c951a1428", size = 133313, upload-time = "2026-07-06T17:36:23.405Z" }, + { url = "https://files.pythonhosted.org/packages/7b/d7/b012c347d3ab011c0c4f7988dc6e85b83eaab59df1aec089f5db0e7b29c5/ijson-3.5.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:170cc4c209f57decc9b7ee5fd340f2a1602d54020fa222846482ff1c99e88fdc", size = 135706, upload-time = "2026-07-06T17:36:24.464Z" }, + { url = "https://files.pythonhosted.org/packages/f5/48/3eacb96124e78271f4e648c6ce36f9ce15ce2cef2afb6f8dc6e213e43979/ijson-3.5.1-cp311-cp311-win32.whl", hash = "sha256:6d581a071dae8dbee61f8d962e892787707bad6e641e2f6fb30dd89d3e896939", size = 52221, upload-time = "2026-07-06T17:36:25.517Z" }, + { url = "https://files.pythonhosted.org/packages/1b/1a/19eff8576da0b46fa4a5c8751536ea27ab34c44b2609b2bcded9d7808d42/ijson-3.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:1356bca96d015948b601b013defb2d5631e4330e8f5880e4d7c933d472a90c34", size = 54641, upload-time = "2026-07-06T17:36:26.453Z" }, + { url = "https://files.pythonhosted.org/packages/c7/80/86b28f28ebf190fffd4f46790e065311e2758b55d8e6bbd33d92e9a49448/ijson-3.5.1-cp311-cp311-win_arm64.whl", hash = "sha256:c2b83b24be73f0c7a301807a4c3081939524421c7ae1556eb6eac7cff50ddfa7", size = 53954, upload-time = "2026-07-06T17:36:27.542Z" }, + { url = "https://files.pythonhosted.org/packages/5b/6e/f3ded1ebb85ccc89a30f7b10a0076f30db70ae1d1e0b6423ff93c57b7539/ijson-3.5.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ee60c7741012671867678eae71c51872cac938b76f3d4ca40a778e6c361774d2", size = 88643, upload-time = "2026-07-06T17:36:28.529Z" }, + { url = "https://files.pythonhosted.org/packages/ee/f2/18f14a1d79ef4898e746b4f50dcdbe60abab317cc2bd8390f043b9553c4e/ijson-3.5.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:11c1d7d36a13054b5872ecd5d745dc4009d9abdbcba2312de69e66c2f92a46d2", size = 60611, upload-time = "2026-07-06T17:36:29.597Z" }, + { url = "https://files.pythonhosted.org/packages/30/c7/6e3e591324fd4c7a7a9e1bc23548bacbd84c0d91766b71f09f13e945e7e9/ijson-3.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9517efbe6604bce16f3e50d49b0cd1bdc58917f98cf2eab026599c5c0422991", size = 60447, upload-time = "2026-07-06T17:36:30.747Z" }, + { url = "https://files.pythonhosted.org/packages/4d/a5/9af7be670381ddac26dd55107ed0110b50f5161673b053311db67f510dcc/ijson-3.5.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:ea4fd7bec203a600b1cc88a492dfe6b75ce4b1b87488a66adcd5406022213f64", size = 139092, upload-time = "2026-07-06T17:36:31.749Z" }, + { url = "https://files.pythonhosted.org/packages/41/fb/f9c1664d75467453e6bd4e5f9cd2211b730b09e049445ab64cbac68cc6a3/ijson-3.5.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:350caea815e53151994b597abc80cf669454276b5ac6aadcec69ef6d48f7e90b", size = 149921, upload-time = "2026-07-06T17:36:32.912Z" }, + { url = "https://files.pythonhosted.org/packages/43/80/d20b1c49c4aa7cc6644131e2e57192b45346ef4816566ed1cd9fd05bae38/ijson-3.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e4fcebfe1685bb7ba06a8255a5d428ea6b4b895d7acf979cb637d8bbc9db2f47", size = 149848, upload-time = "2026-07-06T17:36:34.032Z" }, + { url = "https://files.pythonhosted.org/packages/fd/fc/5baa710869f5ab939e6233583ced1546889b55c35f35b844c518ac10abc3/ijson-3.5.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d78f362f51c8691798758a9e6ac3c9d385ee1228cb82987c91562a2fae235cd3", size = 150810, upload-time = "2026-07-06T17:36:35.19Z" }, + { url = "https://files.pythonhosted.org/packages/54/16/a12b3d987a5c1677b04557c6f9b9feb7e04b7d4171e9a344856cb9136e9b/ijson-3.5.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0b184180d45f85fd4479659582749b109e49f4a29c21ac700ccc9c2280fe015e", size = 142989, upload-time = "2026-07-06T17:36:36.23Z" }, + { url = "https://files.pythonhosted.org/packages/ed/63/1026c535671fc334fc85aeb78f0945c825e7a338575edc753c0f455459ae/ijson-3.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e353891d33a2e6aa5caf72c2a5fbadd7a46f5f9b32dcfd0c84113b2444c255b8", size = 151702, upload-time = "2026-07-06T17:36:37.296Z" }, + { url = "https://files.pythonhosted.org/packages/cb/af/b58aa3a2bf4d31c388ea78b49826605f60932891ce97e404d196766b4ea3/ijson-3.5.1-cp312-cp312-win32.whl", hash = "sha256:936f28671f018f8ac4d3f003ae9fa01d0467ab4ef4cfd0c97f23beda485b61c6", size = 52613, upload-time = "2026-07-06T17:36:38.345Z" }, + { url = "https://files.pythonhosted.org/packages/04/66/ce70a92949c2a753dad91fdd5761dc14f3a44517e80cfc3c26612982ed61/ijson-3.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:322c783f3ee0c6b383bbd4db88370b10172168808cc2a0bf811f1253f7435602", size = 54729, upload-time = "2026-07-06T17:36:39.337Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ff/e17784240c9cf1d58de2f2853ebaf9cc54f6bce117a1f12a6150bbb4a5aa/ijson-3.5.1-cp312-cp312-win_arm64.whl", hash = "sha256:e2ac204b59f09e38e16d277f906240e9fd38780e42076599419265af183dc4b4", size = 53714, upload-time = "2026-07-06T17:36:40.308Z" }, + { url = "https://files.pythonhosted.org/packages/fd/c0/5384ccf4fc497ae3dc79a5a28561b05518b503ade29daf3898168d640406/ijson-3.5.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3c0556d628443d3e871f414855313b2ae6cd9faa0104de3316bd8db03aab1589", size = 88652, upload-time = "2026-07-06T17:36:41.278Z" }, + { url = "https://files.pythonhosted.org/packages/8e/42/58769b8b6d614adb15c2c938c77bcdbfadfba8b1d21a98b5b09cb8961adc/ijson-3.5.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:12aa7fcf46f0fdc8e9e7cf37541e1dc20ac3f9243a23f4d346ab5395f72b0fe2", size = 60607, upload-time = "2026-07-06T17:36:42.697Z" }, + { url = "https://files.pythonhosted.org/packages/db/4a/8322c2824c24184880587bbca45531127a21a4b3bfc897f13427fea02424/ijson-3.5.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a96066d8c12a18ce2fa90579f2bbf991377cb71725874932e4a5d855226c162a", size = 60447, upload-time = "2026-07-06T17:36:43.791Z" }, + { url = "https://files.pythonhosted.org/packages/f4/43/7bdca8f733c45ce97f61a64fadd3e51d255c4c9b467345cbf71ccc7bb368/ijson-3.5.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a19413a092d458a57aaa574fec08e265851d3b5c6e018377f426cd5e70b91280", size = 138889, upload-time = "2026-07-06T17:36:45.081Z" }, + { url = "https://files.pythonhosted.org/packages/e7/dc/e8a2e63700ab1d63aaf3fa38c454f8178eaa5b80a6d7c019d1d61b490a6c/ijson-3.5.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:65974568748678165d7e90e3e7ce2f7c233cfe4de6c37fbb0760941c97e14632", size = 149933, upload-time = "2026-07-06T17:36:46.312Z" }, + { url = "https://files.pythonhosted.org/packages/d9/56/640a4d980f7f2c11e399a7fd5ccb9e3d3c9e1dec3a1d5a10024570697c25/ijson-3.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bad5d55c99c89de8cd0a4cded51f86427ba3353c4dccca37ec2e32e06f26b437", size = 149857, upload-time = "2026-07-06T17:36:47.309Z" }, + { url = "https://files.pythonhosted.org/packages/3d/a1/c953e22c83992b69ae538a83b3678d28768f1a48042fc7794733423a5ce7/ijson-3.5.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1a38d503ce343952e88edfd9a27296a4ec96af7073a9db58b3df6233367f75fc", size = 151141, upload-time = "2026-07-06T17:36:48.405Z" }, + { url = "https://files.pythonhosted.org/packages/9e/ab/8fe5b7269b140e6e5f8837a33ce980fd9b67c70d0f8114289ed1cea4dace/ijson-3.5.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2f41982c73896acab4a2a14faa14e152e444bd69f37c3139204429fd3fe65a10", size = 143112, upload-time = "2026-07-06T17:36:50.353Z" }, + { url = "https://files.pythonhosted.org/packages/78/f3/23d1284edcde50ba337ddfba5b5d59f8273084d98b28af94715e73dd2b64/ijson-3.5.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3321fede2b638d400de0036889a3a25c3bb689feb8df45e70a393346aad6194f", size = 152184, upload-time = "2026-07-06T17:36:51.536Z" }, + { url = "https://files.pythonhosted.org/packages/82/4e/df61be89dd295e4da722ec96ba03b1765bcb2becdaaaede9c96a7d2365b6/ijson-3.5.1-cp313-cp313-win32.whl", hash = "sha256:af6ddbd10ac9bce87a835f2de3ec61455ec435c54e7e0ba7b17c31c66de6f164", size = 52607, upload-time = "2026-07-06T17:36:52.596Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d9/03e5dbd3ef7e0cee06fbef0f87b91d7ce1c07fae9b5a1b0ca8b895de62c4/ijson-3.5.1-cp313-cp313-win_amd64.whl", hash = "sha256:1de3de278b0ffb40338374ad2a730e1c56f933e0706b1815ebeb07b82239b1a3", size = 54730, upload-time = "2026-07-06T17:36:53.526Z" }, + { url = "https://files.pythonhosted.org/packages/38/30/4f37076c88a96a1a5e44df38b59fade4f59eaef87ef8b5162d55b2d426d5/ijson-3.5.1-cp313-cp313-win_arm64.whl", hash = "sha256:c8a36a19b92cb7172c6448ab94f446033cfa3129dc4894aebe205f96b3fabf42", size = 53719, upload-time = "2026-07-06T17:36:54.592Z" }, + { url = "https://files.pythonhosted.org/packages/f9/17/54f9180c0da9a9e96e5b3791bc74093f029a2344678b4da218c2699465bf/ijson-3.5.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:21e1a250b254edba2f0dd7272a4c56f0a879aabe328d9e306dd1fc115f560e74", size = 89223, upload-time = "2026-07-06T17:36:55.534Z" }, + { url = "https://files.pythonhosted.org/packages/09/70/0ee0d2627c534174455a745ca25284797e71b0d6e2b2a1b31cc914e7b462/ijson-3.5.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:e01f95433725e2df62d682ff88e4a57bb694385ff2362bc364adec961167ae04", size = 60831, upload-time = "2026-07-06T17:36:56.554Z" }, + { url = "https://files.pythonhosted.org/packages/8d/e6/56f64ba7a3e7a25d9a9fbbeb4c30597d6b76c1094cc2041d11a3224b562c/ijson-3.5.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:539e8d6cca079bcbb68c390e55148f908e0a943a34f7dd321248637c6272adca", size = 60752, upload-time = "2026-07-06T17:36:57.826Z" }, + { url = "https://files.pythonhosted.org/packages/3e/2b/5a55db881f1b043cd6d5716578937a60ac16348be1a3afbf846b21cf4b44/ijson-3.5.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:32f64051be2f990d8ae7b614b5abdf4a7bead510ce3666568d7403c6c46ce4d8", size = 140783, upload-time = "2026-07-06T17:36:58.984Z" }, + { url = "https://files.pythonhosted.org/packages/2e/61/f7783cc18672dc31544141139efd187fb34795d24e573fed6abea6b776c7/ijson-3.5.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cd0dfc5a788d0b0c2f1eab258b9dabdeefc631ca8ef87644a999f633b0b2555a", size = 149976, upload-time = "2026-07-06T17:37:00.235Z" }, + { url = "https://files.pythonhosted.org/packages/5f/d6/4182dd63b6b70eae4f5208c53558a050895a40734dff283463033c153742/ijson-3.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:42bfda7858d99ee9777ec28cb6d347928249eefeb577f9b0a67503c18f7ebb6a", size = 149317, upload-time = "2026-07-06T17:37:01.476Z" }, + { url = "https://files.pythonhosted.org/packages/01/b1/a675e4a9b428a0ef556e7d718bf0e6885e3e5543042248a1a7030899a3d4/ijson-3.5.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c4b9a28e9719d1aebebe93ad8dc2ba87f4e2d9035043b196c1c07ef8530b44cc", size = 150555, upload-time = "2026-07-06T17:37:02.676Z" }, + { url = "https://files.pythonhosted.org/packages/b5/69/52686f56b44af63a93c3dc3f5bcfa07f87427d9aea4d2cbe3e1c94188c74/ijson-3.5.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:9a0b25c750a6bde14a0b31f1dcbfc86368e50767e3eaa73bb138e54128055edd", size = 144485, upload-time = "2026-07-06T17:37:03.779Z" }, + { url = "https://files.pythonhosted.org/packages/f0/46/10554e817dde56300a8414e52c0f5a44a29f3440327cd6d829ece57759b3/ijson-3.5.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:bd756f7b22df745ac14b7bc2ab9ed7c190a222e4c8e1bef26ef1162af8e54d0f", size = 151470, upload-time = "2026-07-06T17:37:04.901Z" }, + { url = "https://files.pythonhosted.org/packages/91/82/f37cbb110b48abdb623d169d0e196f2f6e064e2c20fa789ecde6e69b0440/ijson-3.5.1-cp314-cp314-win32.whl", hash = "sha256:e035cdfb2a1446b13881f0dfc0eecd1541cbb17a27a938ded2160ae6ce25051b", size = 53219, upload-time = "2026-07-06T17:37:06.254Z" }, + { url = "https://files.pythonhosted.org/packages/00/58/792df8f001c246c8ff28f860de81d35ea0d797c0d3276c22a2af83089656/ijson-3.5.1-cp314-cp314-win_amd64.whl", hash = "sha256:eeb2fb2daa5dd30326f93db465d0855b34aa6b1f52a7c0ff94522aec5ad57dfb", size = 55485, upload-time = "2026-07-06T17:37:07.242Z" }, + { url = "https://files.pythonhosted.org/packages/c0/3c/db3ccc22c09ed4738787e8d82fff76101aa81ec8de7eaf6572e065e012d3/ijson-3.5.1-cp314-cp314-win_arm64.whl", hash = "sha256:a96ab35d7ce2129dfde49c4c807596443410e260d7f7a4ca8fe4d0035553b589", size = 54390, upload-time = "2026-07-06T17:37:08.497Z" }, + { url = "https://files.pythonhosted.org/packages/26/59/eefa5d9488250c03f24152576804205ae40e29cac0dc65cbbc5f3d422008/ijson-3.5.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:77b68e91f95fb16ac2e7819903cd545db6cffa308c28833cc34911e6b21e91dd", size = 93177, upload-time = "2026-07-06T17:37:09.71Z" }, + { url = "https://files.pythonhosted.org/packages/88/db/6329eb7bb9f1906c1906fc10e7074b8f08bf39b7d50baa58f1b597d48898/ijson-3.5.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:94a95065b1ac67602af0cec852b07505abc37b77e3774d1c801d935d05e48f82", size = 62891, upload-time = "2026-07-06T17:37:10.735Z" }, + { url = "https://files.pythonhosted.org/packages/fc/d0/b3beddb96eef0b20bb9902c36e4de30f145be06d7e5e1d780e1a1689d0ce/ijson-3.5.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b70b5da6b0571da8f601a437c4fba2d35bc27739637d85f3acdc8f88916ce68e", size = 62575, upload-time = "2026-07-06T17:37:11.681Z" }, + { url = "https://files.pythonhosted.org/packages/5b/01/95f3a7c27d25bb917954ef0c8e86d0e60f585b9db675cbd05d355f54cce8/ijson-3.5.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0ade373dd765b057b1dec05d7711bfeb5a36f1e825259466d9f545cfd8ef3ba3", size = 200568, upload-time = "2026-07-06T17:37:12.743Z" }, + { url = "https://files.pythonhosted.org/packages/77/61/c94ee4ea1f22318aab9a49b35d0ce8ac87dd24d508ea4c77dcbde362ba5e/ijson-3.5.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:882bc0bdd25d41eae90a15695cd50707edde0978b8b72a2532e30442dd8fd04c", size = 217956, upload-time = "2026-07-06T17:37:14.041Z" }, + { url = "https://files.pythonhosted.org/packages/1a/82/43e8d225aea5ee00eef7998c8ce41f344f7ba451329dfa9e92f4700813af/ijson-3.5.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:451901c36e12fa87cbb1cafe661bd25c08c6bd7900cc738279614f71cea07048", size = 208403, upload-time = "2026-07-06T17:37:15.201Z" }, + { url = "https://files.pythonhosted.org/packages/cf/6f/375f67fad76677aca9bc0817b2b18fdd231d309fe24e26b19a5556ef6cdd/ijson-3.5.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e3c5f660658f2ebfba5d4dfe4bafe8cd3a0defcda410ec08d2205fe08c398940", size = 211967, upload-time = "2026-07-06T17:37:16.484Z" }, + { url = "https://files.pythonhosted.org/packages/dc/53/4c754c3ba18ec70b7086b91a4abd368358fc47cc9b3871afd50deef4fea1/ijson-3.5.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:29eb8f0c77a296a10843a1714ad4a5d561e604cda3c88585e9012cf2c1729b0a", size = 201020, upload-time = "2026-07-06T17:37:18.017Z" }, + { url = "https://files.pythonhosted.org/packages/26/2d/3e7191b3222a31c378b827565b4fa64676a293441279f84db3d971720bf5/ijson-3.5.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:85997568d6b304cfa59d5c3f2b04f95b92e9a8c7f57d312343a7989cf8dfff85", size = 205584, upload-time = "2026-07-06T17:37:19.343Z" }, + { url = "https://files.pythonhosted.org/packages/24/11/55ae9c915e68f37c8698f8b09355071dc808ced5e9d4abf8238dc363f500/ijson-3.5.1-cp314-cp314t-win32.whl", hash = "sha256:c2e2509dc7f2fa5a2ac9ba7d15dd901f4093bd36b0784f65e04b681b7956651c", size = 54438, upload-time = "2026-07-06T17:37:20.656Z" }, + { url = "https://files.pythonhosted.org/packages/96/df/5bf2656447f14a923d25a0401b1cd628ca05c23041d3a4c116ae8d44dc39/ijson-3.5.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2699e838099d056818c5f8e4ba702b345d0304e58847bdc79c5c1616d5d750a5", size = 56467, upload-time = "2026-07-06T17:37:21.615Z" }, + { url = "https://files.pythonhosted.org/packages/4e/e4/dec06e84fac704039625039c6b116a44f17ad72fda48b8f88a2493364b77/ijson-3.5.1-cp314-cp314t-win_arm64.whl", hash = "sha256:c388f85cbb9eec022b2bdedd23ffacfe7ab100c1200b1f47bee6e6ea2c3309fa", size = 55774, upload-time = "2026-07-06T17:37:22.958Z" }, + { url = "https://files.pythonhosted.org/packages/49/ea/f42470cc773c8686dd0823da8aefc31a138cd9aea1ad476d43c8293068da/ijson-3.5.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:077b1b0bcb6a622d460c6674fe6647c7af5a3b06503e1996d1efcf9f78c94512", size = 57830, upload-time = "2026-07-06T17:37:37.005Z" }, + { url = "https://files.pythonhosted.org/packages/d0/2f/64c61edab2c5ecf42a524146a70fa6171c8cf3960b947fb4c5f175660cb3/ijson-3.5.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:e8dbf71b21e65cb7f0d4d387c07fe73be820168070c3be05a0763a80f424f1c7", size = 57325, upload-time = "2026-07-06T17:37:38.017Z" }, + { url = "https://files.pythonhosted.org/packages/9f/5b/553ea8f14dfc756d6b6c9be2e2231ab44877ce96408eb9da3bb3f11ddd13/ijson-3.5.1-pp311-pypy311_pp73-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0d7c5025a820f36f3e0e64f4b0232b338c690664c12b497e205cf64dcc64fc12", size = 71344, upload-time = "2026-07-06T17:37:38.997Z" }, + { url = "https://files.pythonhosted.org/packages/2e/3e/0248fd00746731074ca01365a25d8aa3c4d54642c8a14490d94f7550bda9/ijson-3.5.1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa7a2c94e43c02e0482088e6ff997e2bd7b9a76e6f1d0fd70891b4b5ff51318f", size = 71335, upload-time = "2026-07-06T17:37:39.965Z" }, + { url = "https://files.pythonhosted.org/packages/7a/b9/1f1259546cc875adad240c468515f428d3a79b3def3ced17be3cdfe29146/ijson-3.5.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:69b5eef70240e9734c5a2fb5cc3742cae411fc833a66b9a50722b9eedb1e27de", size = 68728, upload-time = "2026-07-06T17:37:40.928Z" }, + { url = "https://files.pythonhosted.org/packages/ea/02/aafbf0c3e1468c7c0f607065363b49c381de7e4bb43ae6674684a3fafe92/ijson-3.5.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:4b75b6bf4b0dbb0df24947db6722cd5723ce8d6e6b13fddbfc98db312ba82237", size = 54922, upload-time = "2026-07-06T17:37:41.879Z" }, +] + +[[package]] +name = "invoke" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/33/f6/227c48c5fe47fa178ccf1fda8f047d16c97ba926567b661e9ce2045c600c/invoke-3.0.3.tar.gz", hash = "sha256:437b6a622223824380bfb4e64f612711a6b648c795f565efc8625af66fb57f0c", size = 343419, upload-time = "2026-04-07T15:17:48.307Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/de/bbc12563bbf979618d17625a4e753ff7a078523e28d870d3626daa97261a/invoke-3.0.3-py3-none-any.whl", hash = "sha256:f11327165e5cbb89b2ad1d88d3292b5113332c43b8553b494da435d6ec6f5053", size = 160958, upload-time = "2026-04-07T15:17:46.875Z" }, +] + [[package]] name = "ipykernel" version = "7.3.0" @@ -718,6 +1651,132 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0a/dd/8050c947d435c8d4bc94e3252f4d8bb8a76cfb424f043a8680be637a57f1/kiwisolver-1.5.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:59cd8683f575d96df5bb48f6add94afc055012c29e28124fcae2b63661b9efb1", size = 73558, upload-time = "2026-03-09T13:15:52.112Z" }, ] +[[package]] +name = "lxml" +version = "6.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/3b/aab6728cae887456f409b4d75e8a01856e4f04bd510de38052a47768b680/lxml-6.1.1.tar.gz", hash = "sha256:ba96ae44888e0185281e937633a743ea90d5a196c6000f82565ebb0580012d40", size = 4197430, upload-time = "2026-05-18T19:19:06.424Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/b0/83f481780d1548750b8ce2ec824073deef2f452d9cd1a6faff8507e3d16d/lxml-6.1.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:53b7d2b7a10b1c35c0a5e21e9224accf60c1bbfba523990732e521b2b73adef2", size = 8526461, upload-time = "2026-05-18T19:17:25.862Z" }, + { url = "https://files.pythonhosted.org/packages/b9/d5/30fa0f808002c7329397bfbb24e306789c0b29f04aa5842c07b174b4216f/lxml-6.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ff3f333630ab480244a1bff72043e511a91eb22e7595dead8653ee5612dd8f3d", size = 4595375, upload-time = "2026-05-18T19:17:34.555Z" }, + { url = "https://files.pythonhosted.org/packages/4f/d2/edb71cf0e561581a7c5eb2626244320eb04e9f8ce6d563184fd668b45073/lxml-6.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a4bbea04c97f6d78a48e3fbc1cb9116d2780b1b39e03a23f6eb9b603fd61f510", size = 4923654, upload-time = "2026-05-18T19:17:42.917Z" }, + { url = "https://files.pythonhosted.org/packages/4c/77/1bc7eeb0de4577d783fb625aa092cc9357883bba35845a3666bf1259f3dc/lxml-6.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:db1d75f6617a49c1c01bc7023713e0ff59ab32c9579ae62a7674c0e34f3b0b0a", size = 5067921, upload-time = "2026-05-18T19:17:49.175Z" }, + { url = "https://files.pythonhosted.org/packages/1b/3c/c0690d74bd2bc17bc03b5b0d093569ead597dd0bfa088bf99eef8c24e19c/lxml-6.1.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a12689be69a28ddaa0ab99a5a1137da2afd5f8f16df7b5680b66f616d3eda1d", size = 5002456, upload-time = "2026-05-18T19:17:59.715Z" }, + { url = "https://files.pythonhosted.org/packages/66/8d/d1b3271af0c0f1e27e8472a849e4d2c65bc7766884b9ad2da9e76e145c88/lxml-6.1.1-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18b73c339ae29b90fd2d06e58ebd555a751bde9cd6bbd36cc0281b9a2c94e9d8", size = 5202776, upload-time = "2026-05-18T19:18:08.924Z" }, + { url = "https://files.pythonhosted.org/packages/7a/45/689824ffb237fd10125ad273f32b28ff04dc6203c2822c85ff65a93df65e/lxml-6.1.1-cp311-cp311-manylinux_2_28_i686.whl", hash = "sha256:752d3bbfe874715ccd0aec7f88d7fc623c0f1fd7aa7b3238a084e017bad2a009", size = 5329945, upload-time = "2026-05-18T19:18:13.673Z" }, + { url = "https://files.pythonhosted.org/packages/5d/c0/ef73af53767e958fd87d437c170f272e2f6e6c0f854939f133a895f1e711/lxml-6.1.1-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:6b1761fbf9ec984e2e9d9c589ef5f5fd684b7c19f92aadd567a26c5224958db6", size = 4659237, upload-time = "2026-05-18T19:18:18.657Z" }, + { url = "https://files.pythonhosted.org/packages/a0/5e/e1158e40397585e91cb0472374a1f63d0926a1ddeaa92f13d1a1ffe306d5/lxml-6.1.1-cp311-cp311-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d680fbcb768404c601ecb43519ecd8461f6954cb11c06a78962f666832ccfca8", size = 5265904, upload-time = "2026-05-18T19:18:24.883Z" }, + { url = "https://files.pythonhosted.org/packages/a0/16/8687e5d1400ed1c0bc41dace232ebb7553952b618ea1f2e5fb6e2cfbbe23/lxml-6.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:162af1091cd785f2f27e62d3547ae9bc58ec5c86dd314d67021fd02463708d83", size = 5045225, upload-time = "2026-05-18T19:17:20.073Z" }, + { url = "https://files.pythonhosted.org/packages/ca/18/d877bd1ae2e5ffdfd4836565aba350db31feb2f2656d6ce70316ed66a05e/lxml-6.1.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:e9308ff8241c532df3f3e570f9a5aeed6c853f888512ba4b75638d7c11c95ef6", size = 4712721, upload-time = "2026-05-18T19:17:40.512Z" }, + { url = "https://files.pythonhosted.org/packages/44/4d/1f44fd1d770b10dacbf6b5c6e520f4d6e0708744930f719dc04e67cab981/lxml-6.1.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:5f6994074ebae6ffb04447268e37dc16edc304f9859cf91acb86e0af6c1b395c", size = 5252549, upload-time = "2026-05-18T19:17:51.236Z" }, + { url = "https://files.pythonhosted.org/packages/64/5d/1d66b84f850089254c230ef6ea6b267a5a54e2e179a5d960036a05d501d7/lxml-6.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:80c2dfadb855da477cf73373ad29a333535dedb9b12bad02c9814c8e2b43bf08", size = 5226877, upload-time = "2026-05-18T19:18:00.875Z" }, + { url = "https://files.pythonhosted.org/packages/ad/00/84c4b5302d42a2d0184f38d538c8a197f33b52a50bd4f7bcfe990bce3036/lxml-6.1.1-cp311-cp311-win32.whl", hash = "sha256:30a89d3ac8faec007453fb541f3f46807eeec88edd5826f6e3fe001752a2c621", size = 3594072, upload-time = "2026-05-18T19:17:12.714Z" }, + { url = "https://files.pythonhosted.org/packages/61/9d/2e2f7d876349f45e0f3e29f72da311668853d59b58d473a2dea4f0160135/lxml-6.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:abbefa31eee84842140f67acef1c828e28bba8bbf0c3bc6e5492a9af88152c28", size = 4025469, upload-time = "2026-05-18T19:17:50.566Z" }, + { url = "https://files.pythonhosted.org/packages/b0/d5/570e6390e4110331e6208b2ba83d1482cc9146808ee118b22824a34c1070/lxml-6.1.1-cp311-cp311-win_arm64.whl", hash = "sha256:dcb292aa7fe485ceff7af4f92e46c5af397daec5dff64871a528f0fc47a3cc5b", size = 3667640, upload-time = "2026-05-19T19:22:48.293Z" }, + { url = "https://files.pythonhosted.org/packages/6a/6e/c4add832b6fc1e887125b96f880d7b9b70aae5248718e046b1704bcac4b9/lxml-6.1.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:104c09bda8d2a562824c0e319d0768ce26a779b7601e0931d33b09b53c392ef7", size = 8570821, upload-time = "2026-05-18T19:17:42.068Z" }, + { url = "https://files.pythonhosted.org/packages/22/00/ff3009c88e65de8011630acf8ab5a09cb2becd2aaf47fba2f3449f6224e9/lxml-6.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:25c6997a9a534e016695a0ba06b2f07945de682731ff01065b6d5a4474179da1", size = 4624252, upload-time = "2026-05-18T19:17:47.897Z" }, + { url = "https://files.pythonhosted.org/packages/42/95/bb63f0fd62e554fe078e1fb3c8fe9083c14ddc7ad7fa178d10e57e071ac7/lxml-6.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c921ba5c51e4e9f63b8b00267d06566e1f63407408a0496da2d1d0bfc819c7fc", size = 4930746, upload-time = "2026-05-18T19:18:29.637Z" }, + { url = "https://files.pythonhosted.org/packages/eb/99/0013e8d9b5960f4f041cf0b73e2f80c23eb5205b1f7bfb20203243651359/lxml-6.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:54a7f95e4de5fb94e2f9f4b9055c6ba33bf3d628fd77a1d647c5923caa2cdcdc", size = 5093723, upload-time = "2026-05-18T19:18:34.168Z" }, + { url = "https://files.pythonhosted.org/packages/29/91/317b332636bfc7bddcff828d41b3307f50043f4b237e40849c333d80fa1a/lxml-6.1.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f2ec43df44b1f76249ee0a615334f9b5b060e1c8bd90e706dad2d14d02f383", size = 5005557, upload-time = "2026-05-18T19:18:39.798Z" }, + { url = "https://files.pythonhosted.org/packages/42/2f/cc9bf06afe70f9c9093ae60855d9759da9db601ec4080f7473319666ffd7/lxml-6.1.1-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:70ef8a7e102a1508f8121aae5b0867abd663f72c14f0a9c937e6554cb4587b7b", size = 5631036, upload-time = "2026-05-18T19:18:44.858Z" }, + { url = "https://files.pythonhosted.org/packages/08/f6/af32e23e563971ffb0fb86be52bc5be5c2c118858ffc119bf6a9039b173d/lxml-6.1.1-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ebe6af670449830d6d9b752c256a983291c766a1365ba5d5460048f9e33a7818", size = 5240367, upload-time = "2026-05-18T19:18:49.217Z" }, + { url = "https://files.pythonhosted.org/packages/78/83/8555d40948b09ce86f1bd0c68a7ac31d07b1929f92cc1b074006c97ef2d2/lxml-6.1.1-cp312-cp312-manylinux_2_28_i686.whl", hash = "sha256:27acc820660aaffa4f7c087f29120e12980f7779d56d8492d263170111284740", size = 5350171, upload-time = "2026-05-18T19:18:52.779Z" }, + { url = "https://files.pythonhosted.org/packages/63/75/5d92da93729b7bad783689e6496049fa40927b45bec7bf183c981de3ca70/lxml-6.1.1-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:1db753c9115ec7100d073b744d17e25e88a8f90f5c39b2f5dd878149af59671f", size = 4694874, upload-time = "2026-05-18T19:18:55.139Z" }, + { url = "https://files.pythonhosted.org/packages/c5/b5/3aad415a9a25b822e783f15deeb4dffccf5113030f1afa2222dd929313d9/lxml-6.1.1-cp312-cp312-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c4f469aebd783bb741c2ecb2a681008fd26bfe5c16a9a72ed5467f834e810df2", size = 5244492, upload-time = "2026-05-18T19:19:01.28Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a1/5fcf7eb9904b80086aa47dcf0027de07b1bb990afad2e6823144c368ae04/lxml-6.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:766b010012d59470072c1816b5b6c69f1d243e5db36ea5968e94accf430a4635", size = 5048232, upload-time = "2026-05-18T19:18:12.67Z" }, + { url = "https://files.pythonhosted.org/packages/77/74/1f601b63c7a69fcdf10fa9b148c81da8442204194f6c55509cc485c786b9/lxml-6.1.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b8d812c6011c08b8111a15e54dd990b8923692d80adf35488bee34026c35accf", size = 4777023, upload-time = "2026-05-18T19:18:15.928Z" }, + { url = "https://files.pythonhosted.org/packages/a2/b9/7a78f51aec95b1bf780d78e12705a9f6533284f8693dc5c0e6724fa53d3f/lxml-6.1.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:fe0306bd29505a9177aac19f1877174b0e7422c222a59f70b2cd41633448c3dc", size = 5645773, upload-time = "2026-05-18T19:18:23.223Z" }, + { url = "https://files.pythonhosted.org/packages/a5/6e/98a7b7ad54e4e74fa1f20fff776913980619d0ebe5558232d7da6580bdd8/lxml-6.1.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:5ba186ad207446c65d3bb3d3e0412b032b1d9f595e59861e2354798c5703d955", size = 5233088, upload-time = "2026-05-18T19:18:31.433Z" }, + { url = "https://files.pythonhosted.org/packages/65/d1/bc0ed2427bf609f2ee10da303a6a226f9c8bce94f945dc29a32ce55de6e4/lxml-6.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aa366a1e55b8ebfe8ca8ddc3cfe75c8ebade181aeb0f661d0cb05986b647f72a", size = 5260995, upload-time = "2026-05-18T19:18:37.091Z" }, + { url = "https://files.pythonhosted.org/packages/69/8b/6772e1a4b513fc50a8d931f19edde0e13ae6918510a1e13ff67864f3e5ed/lxml-6.1.1-cp312-cp312-win32.whl", hash = "sha256:126c93f7f56f0eda92f6d8c619edc463a4f23d9252f1c9d0405a76f25fa9f11a", size = 3596382, upload-time = "2026-05-18T19:17:18.37Z" }, + { url = "https://files.pythonhosted.org/packages/1b/89/45198e9624762af2dfd2cb8782598477ceb29f6e59caab560388ae1f4ec1/lxml-6.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:26e6eda8d38c1fcab1090dd196ee87cbd13788e531937610e2589085de074e77", size = 3997255, upload-time = "2026-05-18T19:17:56.781Z" }, + { url = "https://files.pythonhosted.org/packages/90/a9/7a54b6834088d9ae528a7b780584ba6a39a9457b0ac330479f20ffbc9449/lxml-6.1.1-cp312-cp312-win_arm64.whl", hash = "sha256:6540377fbd53fe1b629172288c464fb18db11ce1fa7dc15891da10aa9dcc3e7f", size = 3659610, upload-time = "2026-05-19T19:22:50.843Z" }, + { url = "https://files.pythonhosted.org/packages/a5/eb/7e6f37c5584ccbb2ff267f56fd0339016938c1c8684cfefab9b33ffc2f36/lxml-6.1.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:68a9198d0fc122d14bb76837de9aa80cf84caed990b5b237f532ed87d3706736", size = 8559780, upload-time = "2026-05-18T19:17:57.661Z" }, + { url = "https://files.pythonhosted.org/packages/a1/36/587c2521cf23a2cd6c9c22108aa7528f683a1f195ed7ccd23a4b1786ad36/lxml-6.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7d47866cb32fb503450b6edc9df355d10dc49836af2e89901bd6ac6b0896d9d9", size = 4618006, upload-time = "2026-05-18T19:18:04.452Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ca/ab7bfe2bf4c972af5e7878262845ead3a24a929a9b04bc11c7c1ece6c82a/lxml-6.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:eb7c9811bfaa8b1ed5ed319f5d370dfbcaa59d52ea64be2a5a85e18195930354", size = 4924139, upload-time = "2026-05-18T19:19:04.873Z" }, + { url = "https://files.pythonhosted.org/packages/6b/55/a0c72851dfee5ecc689f949723a73dea457758912542cb955b108eaf0d8f/lxml-6.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:762ff394d5bd56da0cf034a23dcce4e13923f15321a2adfa2ac00201dc6d3fca", size = 5082329, upload-time = "2026-05-18T19:19:09.728Z" }, + { url = "https://files.pythonhosted.org/packages/f0/b6/0608f7d61a3b96cc67e5648a3d906e31a5082093e10e7be65b3886289938/lxml-6.1.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a088f287f7d8275a33c07f2cac6c50b9319309a0200a39e7e75d80c707723099", size = 4993564, upload-time = "2026-05-18T19:19:13.608Z" }, + { url = "https://files.pythonhosted.org/packages/4c/66/ae227524b066d29d55bf0b453d93d2d793c40218657d643dcbbca13b8faf/lxml-6.1.1-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e902da4b04e6b52e5893900d4b8ab46068f75f3561f01bf1080957f9fd932ed6", size = 5613467, upload-time = "2026-05-18T19:19:16.228Z" }, + { url = "https://files.pythonhosted.org/packages/a6/76/dbe4a00b50385e40194231dcfe5a12c059de7cf90e89c83407d2b085b719/lxml-6.1.1-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1d4962d4c66bf830a7e59ed6cfc17d148149898a3aefa8ec6e59763e6e3ed085", size = 5228304, upload-time = "2026-05-18T19:19:19.354Z" }, + { url = "https://files.pythonhosted.org/packages/1c/01/00b1b8442ed2041793336868ba0b9ea4b13d7da7c085c6404c207a63bf79/lxml-6.1.1-cp313-cp313-manylinux_2_28_i686.whl", hash = "sha256:581d4c8ae690a6609e64862dd6b7c2489635c2d13907fc2b20f2bc200ff1d21e", size = 5341607, upload-time = "2026-05-18T19:19:22.297Z" }, + { url = "https://files.pythonhosted.org/packages/63/36/1ad29931e9a4638bb707869f01d423a6c815f82152138d1a40dfcfde2b95/lxml-6.1.1-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:876e1ff5930ed8bf295ec5ef9a8155e9b6b1876bbf1deed8b3a8069311875a8f", size = 4700168, upload-time = "2026-05-18T19:19:25.133Z" }, + { url = "https://files.pythonhosted.org/packages/3c/d1/a9536cecf9be18a0dc72d32bead283a2332d1ffebd2dd3ac70ce444686e5/lxml-6.1.1-cp313-cp313-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9eb9b5a968f6e0f6d640092a567e14529ff8cea2e29d00da6f78a79fa49f013c", size = 5232487, upload-time = "2026-05-18T19:19:28.603Z" }, + { url = "https://files.pythonhosted.org/packages/0e/77/b4fb1e03bf5d130e879214d3100092e386418807fb74dd0adc4b0a48f351/lxml-6.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:aa49e06d94aba782c6a02eecb7e507969e7e7a41b267f1b359bb35585f295d5b", size = 5044231, upload-time = "2026-05-18T19:18:42.246Z" }, + { url = "https://files.pythonhosted.org/packages/26/4c/d00daeeb0a5530c4028a9232aa1b93db3ef4ed2158c116ea73c79a9765b3/lxml-6.1.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:70cdfd80589d59e43e18005dd7244e8895e93db8ab6a620b7e23df5445a4e3d2", size = 4769450, upload-time = "2026-05-18T19:18:48.013Z" }, + { url = "https://files.pythonhosted.org/packages/ed/6a/715a3a8d156ce42f29cf014706f5410c2ff3b02267774110fc23266409fe/lxml-6.1.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:aad9aa39483ed8ec44d6d2e59e5b98a0d80676ef0d92f44bfc374836111f62f5", size = 5635874, upload-time = "2026-05-18T19:18:51.914Z" }, + { url = "https://files.pythonhosted.org/packages/45/37/0544bc21dde2a88f3a17b504e6fc79c0e01d25a33c2f6079724e9e72b9c7/lxml-6.1.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:d49514be2f28d895c38cf9d2b72d7b9a07d00314519f456c0b50b53cfcf4c785", size = 5223987, upload-time = "2026-05-18T19:18:59.715Z" }, + { url = "https://files.pythonhosted.org/packages/4d/f8/f6a5e8185bcb28c2befae3d31f8e3df3b811cb0f47746517a81279fcafe1/lxml-6.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:47402e62c52ff5988c1e8c6c63177f5708bccf48e366dea4e3dcf1e645e04947", size = 5250276, upload-time = "2026-05-18T19:19:03.834Z" }, + { url = "https://files.pythonhosted.org/packages/c7/f2/1a2b9f1b7a49d45495369be7ef9ad05b262930f2eab3e3145706fca8083f/lxml-6.1.1-cp313-cp313-win32.whl", hash = "sha256:3483644525531e1d5762b0c44a8e18b6efba321b6dcf8a8952de10b037618bca", size = 3596903, upload-time = "2026-05-18T19:17:29.863Z" }, + { url = "https://files.pythonhosted.org/packages/e6/99/f4ffb024f238eec2131aaa09f3278fb6129cf892741bf68e1fc1afb8c100/lxml-6.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:a10bd2fd62e8ce916ececb342f348f190724a098c1faa056fdfb2a22ad5e8660", size = 3995869, upload-time = "2026-05-18T19:18:02.596Z" }, + { url = "https://files.pythonhosted.org/packages/d1/53/70eb8c5c6037f27448f1e3c54ebede9545a801ae63f0a7254afca4fe8e45/lxml-6.1.1-cp313-cp313-win_arm64.whl", hash = "sha256:424aa57aca0897eb922aef34395bd1289b3b6f04e6bae20ea123c0c7e333cffc", size = 3658490, upload-time = "2026-05-19T19:22:53.846Z" }, + { url = "https://files.pythonhosted.org/packages/13/e2/2e325795566de01d0d7c3bb57d3c370616b2d07b01214e84eec5d3b10963/lxml-6.1.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:19b7ab10b210b0b3ad7985d9ac4eb66ab09a90b20fe6e2f7ba55d01a234345d0", size = 8577146, upload-time = "2026-05-18T19:18:17.765Z" }, + { url = "https://files.pythonhosted.org/packages/93/cf/5630b5e4be7d2e6bee8efe83865c925221103cf0221303b104ce134b01e2/lxml-6.1.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c08e5c694306507275f2290073350c4f32e383db15213b2c69e7ff39c1193840", size = 4623866, upload-time = "2026-05-18T19:18:30.669Z" }, + { url = "https://files.pythonhosted.org/packages/d2/51/3904907c063451cf8d4a5c9fe0cad95fa1f4ec57f4e3884fa0731bd7a305/lxml-6.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:74a9717fd0d82effef5c2854f0d917231d5324b5a3eb7275c43ac9fa32f97a14", size = 4950022, upload-time = "2026-05-18T19:19:31.958Z" }, + { url = "https://files.pythonhosted.org/packages/94/cd/9c7611a51c37a2830928405817cc5d56a97f64fab83cc3f628748b135749/lxml-6.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:efe0374196335f93b53269acd811b944f2e6bdc88e8894f214bd636455484909", size = 5086695, upload-time = "2026-05-18T19:19:34.764Z" }, + { url = "https://files.pythonhosted.org/packages/da/d6/24e3b5906abb0b674ff2ae195bc3ce59708df2bcd17cf17703b2d7dd643a/lxml-6.1.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ac931cdc9442c1763b8a8f6cd62c0c938737eafc5be75eff88df55fc73bc0d00", size = 5031642, upload-time = "2026-05-18T19:19:37.771Z" }, + { url = "https://files.pythonhosted.org/packages/2d/db/6ec54f99019838bff54785c51da07f189eb4676861c5f2730962b0d8d665/lxml-6.1.1-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:aee395f5d0927f947758b4ec119fd5fc8ec71f07a1c5c52077b30b04c0fa6955", size = 5647338, upload-time = "2026-05-18T19:19:40.553Z" }, + { url = "https://files.pythonhosted.org/packages/42/3d/ef4dcfffd22d27a61805d8ed9f7fb888495bc6aa88648fa07c1eaa5586b6/lxml-6.1.1-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9395002973c827b3ed67db77e6ec09f092919a587022174554096a269378fb13", size = 5239528, upload-time = "2026-05-18T19:19:43.657Z" }, + { url = "https://files.pythonhosted.org/packages/62/bb/37fb3f0dff146bdcfa78eec47879273820b2a0bf350ec236ce14bd0b1c26/lxml-6.1.1-cp314-cp314-manylinux_2_28_i686.whl", hash = "sha256:73bc2086f141224ebddb7fc5c6a36ca58b31b94b561e1dfe8e073e3270fad1e7", size = 5350730, upload-time = "2026-05-18T19:19:46.307Z" }, + { url = "https://files.pythonhosted.org/packages/90/42/43253f168388df4fae1f38c01df36ddb9bee39e2048167b54cdcbae85ea3/lxml-6.1.1-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:3779def59032b81e44a5f70096ef6bf2082f8d901937dca354474ba09782e245", size = 4697530, upload-time = "2026-05-18T19:19:49.889Z" }, + { url = "https://files.pythonhosted.org/packages/eb/a8/c5a8504f81bbdfc8e7094c2c850cdb4ed6777fc4d5ddd9e5ab819f3b0d54/lxml-6.1.1-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:86c89b9d55ebf820ad7c90bc533410f0d098054f293351f10603c0c46ff598f5", size = 5250670, upload-time = "2026-05-18T19:19:53.199Z" }, + { url = "https://files.pythonhosted.org/packages/77/b7/c7e76ab18744d75e21f320ebf9ff9d1ceae2b54dd431ea5a64caf26c9672/lxml-6.1.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:19607c6bbff2a44cf3fe8250abccd20942d3462473e0a721d01d379ed017e462", size = 5084485, upload-time = "2026-05-18T19:19:08.422Z" }, + { url = "https://files.pythonhosted.org/packages/31/31/b35c53f8ef7b7c31cacd23d3638652fff7bcd1deb6eedb709ab43b685908/lxml-6.1.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:c6ed5141a5c7507cf3ee76bd363b0d6f801e3321adc35b5d825a23115faa5465", size = 4737635, upload-time = "2026-05-18T19:19:12.321Z" }, + { url = "https://files.pythonhosted.org/packages/d9/06/31f23c813a7fe8e0cb1b175e915b08c9bf4e86d225b210feadbdbe519667/lxml-6.1.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:62aeb7e85b5d60320b9d77eef2e773994e2c0ce10121b277e0a19804e1654a5a", size = 5670681, upload-time = "2026-05-18T19:19:15.001Z" }, + { url = "https://files.pythonhosted.org/packages/1a/bc/ce619bccc89b1fd9ad8a8e1330ee3f3beff9f2ff95b712d7bbcdd6e22fc3/lxml-6.1.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:b1b963fd8f5caa68e99dfae060d54de1fe9cba899b8718b44a00cdca53c3e590", size = 5238229, upload-time = "2026-05-18T19:19:18.131Z" }, + { url = "https://files.pythonhosted.org/packages/2f/5d/b329acbbedc0b619ebc2be6cf7ee9ed07e80892c88d4dfd612c33805789a/lxml-6.1.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:63876be28efefa04a1df615b46770e82042cce445cfdce55160522f57b231ccb", size = 5264191, upload-time = "2026-05-18T19:19:21.118Z" }, + { url = "https://files.pythonhosted.org/packages/d6/85/be36fb1425b30db3c3f9df75fe86343ebffb79e6320bd7f588e25bfeac39/lxml-6.1.1-cp314-cp314-win32.whl", hash = "sha256:7f7a92e8583f06b1fd49d01158143b8461cfcd135dcb10ec807270a3051bd603", size = 3657202, upload-time = "2026-05-18T19:17:39.509Z" }, + { url = "https://files.pythonhosted.org/packages/b8/ce/3cf9a827342269f54d405a6202397de63f07c69cbd6ce7d183a3f0cba1e9/lxml-6.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:b2d444f2e66624d68e9c6b211e28a76e22fff5fcabcfff4deac18b529b7d4137", size = 4064497, upload-time = "2026-05-18T19:18:14.662Z" }, + { url = "https://files.pythonhosted.org/packages/d9/3e/1a957bde8f0760039e627f94699f82caa782c9d838d86c3d28245ee67212/lxml-6.1.1-cp314-cp314-win_arm64.whl", hash = "sha256:3fd9728a2735fda14f4e8235830c86b539e9661e849665bf926d3f867943b4bf", size = 3741991, upload-time = "2026-05-19T19:22:59.111Z" }, + { url = "https://files.pythonhosted.org/packages/78/b2/00ed55b3a2efa4658fb795c38d1090ec9b3e8a6c3683d4441fa517f09c3b/lxml-6.1.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:787b2496d0dbe8cd180984e8d29e3a6f76e7ea34db781cb3bd55e4ba1ef8b4ee", size = 8827545, upload-time = "2026-05-18T19:18:41.193Z" }, + { url = "https://files.pythonhosted.org/packages/c0/73/74573db19baa618d5f266f2407898b087ff6927115b00b71e5fc1b700847/lxml-6.1.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:2c8daa471358dc2d6fcf02165e80ec68f77871a286df95bc5cc3816153b0fd2c", size = 4735736, upload-time = "2026-05-18T19:18:46.761Z" }, + { url = "https://files.pythonhosted.org/packages/16/02/6f7061f4f95f51e545d48e87647c54791d204a4e881be4156e7a26ba5338/lxml-6.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:acd7d70b64c0aae0c7922cca83d288a16f5f6da523637697872253415269baef", size = 4970291, upload-time = "2026-05-18T19:19:56.215Z" }, + { url = "https://files.pythonhosted.org/packages/b0/02/55fc057d8283427dea7d6edb102e7a840239c77a64a983d92f62a304c0e9/lxml-6.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4f0dd2f01f9f8a89f565d000e03abcf0a13d692a346c8d22f628d49af098777a", size = 5102822, upload-time = "2026-05-18T19:19:59.223Z" }, + { url = "https://files.pythonhosted.org/packages/e4/48/8e1cf78d89d66850121d9255a2a24414c98f775da93b90cf976956c24b14/lxml-6.1.1-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b7e8a14c8634bf6f7a568634cb395305a6d964aeb5b7ee32248094bed3a7e2c", size = 5027923, upload-time = "2026-05-18T19:20:01.549Z" }, + { url = "https://files.pythonhosted.org/packages/ed/00/0632a0647612c8af24d26997b3b961397daa9d5b2581444805933629a4cb/lxml-6.1.1-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:86281fbdd6a8162756f8d603f37e3435bfa38043adb79c6dc6a2dfee065e7525", size = 5595843, upload-time = "2026-05-18T19:20:03.93Z" }, + { url = "https://files.pythonhosted.org/packages/bc/86/ab008a7dc360711b66858d61c80a5979a70a09f2aa2b05d9698df80b803d/lxml-6.1.1-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c5d7152ec39ca7c402d8fb9bad86140a15b9503bd0c54484e3f1bbe3dd37ceca", size = 5224515, upload-time = "2026-05-18T19:20:06.381Z" }, + { url = "https://files.pythonhosted.org/packages/75/c6/2702ff375e728e34f56d9a45339a9cf7e4427e917f542225242d63a05afa/lxml-6.1.1-cp314-cp314t-manylinux_2_28_i686.whl", hash = "sha256:88d8cb75b9d82858497a5393e3c63cfbf03035225e4b35a49ed7ccb151e4dc0e", size = 5312511, upload-time = "2026-05-18T19:20:09.308Z" }, + { url = "https://files.pythonhosted.org/packages/b7/57/a5807c98f87a86f10ef9ffab35516df7c0f0c4b6d5d33e9f608ab9c04a31/lxml-6.1.1-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:f64ec5397ea6a41fc1b4af0380d79b44a755b5531dcaccd9940fb260dca93038", size = 4639206, upload-time = "2026-05-18T19:20:11.704Z" }, + { url = "https://files.pythonhosted.org/packages/1f/e1/8a0a2c35734812395f4da4eaf33748a7e5705bfb2a58b128da764339d5ec/lxml-6.1.1-cp314-cp314t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d34bbf07dbc7ca5970671b1512e928991fb5e9d95365636c9b2d8b4f53af405e", size = 5232404, upload-time = "2026-05-18T19:20:14.064Z" }, + { url = "https://files.pythonhosted.org/packages/c2/e2/0e6a4dd5ad84d01d99aa7bae7cfefd4a760a0e0f8176818241de17d9b6c0/lxml-6.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:17e0e18d4ad8adbd0399291bc44845b69d9dd68439a3cdebdf35ff902ec05072", size = 5083769, upload-time = "2026-05-18T19:19:23.758Z" }, + { url = "https://files.pythonhosted.org/packages/a0/7e/161f33d463f6ffc1c7679104b65086dea120080d49dde4d238f015aaee2f/lxml-6.1.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:3ab541146f1f6968c462d6c2ac495148e8cdba2f8347700b2141b6ec5a75bf52", size = 4758936, upload-time = "2026-05-18T19:19:27.256Z" }, + { url = "https://files.pythonhosted.org/packages/f1/fb/2369825e3f6ca99305bf9f7b7085fda91c8b0922a89e54d900974aa3ef85/lxml-6.1.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:2a0217714657e023ef4293500f65aa20fce6164c8fd6b08fa5bd4a859fb14b9b", size = 5620296, upload-time = "2026-05-18T19:19:29.993Z" }, + { url = "https://files.pythonhosted.org/packages/30/90/d61e383146f74c5ab683947ea14dc7b82778838ab9b95ea73a23b60d0191/lxml-6.1.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:05a82eb6e1530a64f26225b55cbd178113bd0b5af1c2b625f25e5296742c26d2", size = 5228598, upload-time = "2026-05-18T19:19:33.523Z" }, + { url = "https://files.pythonhosted.org/packages/76/2d/2dafd8149e94b05bb070690efd5bb2680720681e03ff03fc57d2b70a1105/lxml-6.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9e36f163528fc50cbef305f02a5fd66d404edf7049cdaff211dbc2cba5a7013e", size = 5247845, upload-time = "2026-05-18T19:19:36.649Z" }, + { url = "https://files.pythonhosted.org/packages/ce/68/b30e913340c380ddac9580c6e6230991fc37240ec4f64704833e4f3e2769/lxml-6.1.1-cp314-cp314t-win32.whl", hash = "sha256:649dda677cf3bd6ac9ae14007ba0c824ded8ce5808b53fc7431d9140399118c1", size = 3897345, upload-time = "2026-05-18T19:17:33.562Z" }, + { url = "https://files.pythonhosted.org/packages/3c/4e/9eb2af5335545f9fbcd7af57bcf87c6025d31eaa31b14ec184a6c8675328/lxml-6.1.1-cp314-cp314t-win_amd64.whl", hash = "sha256:793033d6c5cdf33a573f910d9bea14ef8f5771820411d118da8e1182edb53d5e", size = 4393350, upload-time = "2026-05-18T19:18:10.076Z" }, + { url = "https://files.pythonhosted.org/packages/7f/2c/0f1e93c636720e8a3eb59af2bfda99d98b55891e1c53bc30c2e0e865f01b/lxml-6.1.1-cp314-cp314t-win_arm64.whl", hash = "sha256:58bb955caba94e467d2a96da17660d2d704e0675894cba21ab8a775b8621fd1c", size = 3817223, upload-time = "2026-05-19T19:22:56.823Z" }, + { url = "https://files.pythonhosted.org/packages/b5/32/86a3f0f724a3a402d4627937a7fc27b160e45e7012b4adf47f6e1e844511/lxml-6.1.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:31033dc34636ea6b7d5cc11b1ddbda78a14de858ba9d3e1ed4b69a3085bc521e", size = 3930127, upload-time = "2026-05-18T19:19:02.27Z" }, + { url = "https://files.pythonhosted.org/packages/40/44/d832e82af08723761556d004b1d04d281c09f9a8cecd7d3148548c9941a3/lxml-6.1.1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3893c14c4b6ac5b2d54ba8cf03e99fe5104e592de491f19bd6b82756c09f8004", size = 4210769, upload-time = "2026-05-18T19:20:41.427Z" }, + { url = "https://files.pythonhosted.org/packages/6d/39/0dc5949f759ed7d951e0bb8c2f2d9d7aca1908d22352fa84a8afd2ea54af/lxml-6.1.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c07da4cebf6889f03ebac8d238f62318e29f495de0aa18a51ea14e61ae907e2e", size = 4318163, upload-time = "2026-05-18T19:20:44.702Z" }, + { url = "https://files.pythonhosted.org/packages/e6/fb/8ab3845fe046ba4cbf74536bcf6801a774b7caf4350de1c5d37f1f0a9e90/lxml-6.1.1-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f6f0ce10945fab9c4c06ce14e22af9059d1a87493a9af4501a5b0b9187e21cf2", size = 4250945, upload-time = "2026-05-18T19:20:47.385Z" }, + { url = "https://files.pythonhosted.org/packages/68/1b/7553ab136894374ffae8851ec06f98f511cd8e66246e41b6be059d0a7289/lxml-6.1.1-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f8844cd288697c6425c9beba919302241e3278871dc6519515e72b04e987abcf", size = 4401664, upload-time = "2026-05-18T19:20:50.489Z" }, + { url = "https://files.pythonhosted.org/packages/db/a4/441aee36c6f6b249823d20fd91f9be9ab89d7c5a8ae542a4a4ca6d342d56/lxml-6.1.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:ed21202aec73cda4d55d1ce57b389aadb90ffb044e6cd1080b8347efe1b1ec84", size = 3508989, upload-time = "2026-05-18T19:18:38.158Z" }, +] + +[[package]] +name = "mako" +version = "1.3.12" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/00/62/791b31e69ae182791ec67f04850f2f062716bbd205483d63a215f3e062d3/mako-1.3.12.tar.gz", hash = "sha256:9f778e93289bd410bb35daadeb4fc66d95a746f0b75777b942088b7fd7af550a", size = 400219, upload-time = "2026-04-28T19:01:08.512Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/b1/a0ec7a5a9db730a08daef1fdfb8090435b82465abbf758a596f0ea88727e/mako-1.3.12-py3-none-any.whl", hash = "sha256:8f61569480282dbf557145ce441e4ba888be453c30989f879f0d652e39f53ea9", size = 78521, upload-time = "2026-04-28T19:01:10.393Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "4.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", hash = "sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49", size = 82454, upload-time = "2026-05-07T12:08:28.36Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", hash = "sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a", size = 91687, upload-time = "2026-05-07T12:08:27.182Z" }, +] + [[package]] name = "markupsafe" version = "3.0.3" @@ -869,6 +1928,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/41/09/5b161152e2d90f7b87f781c2e1267494aef9c32498df793f73ad0a0a494a/matplotlib_inline-0.2.2-py3-none-any.whl", hash = "sha256:3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6", size = 9534, upload-time = "2026-05-08T17:33:32.055Z" }, ] +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + [[package]] name = "mpmath" version = "1.3.0" @@ -878,6 +1946,123 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198, upload-time = "2023-03-07T16:47:09.197Z" }, ] +[[package]] +name = "multidict" +version = "6.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", size = 102010, upload-time = "2026-01-26T02:46:45.979Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/f1/a90635c4f88fb913fbf4ce660b83b7445b7a02615bda034b2f8eb38fd597/multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d", size = 76626, upload-time = "2026-01-26T02:43:26.485Z" }, + { url = "https://files.pythonhosted.org/packages/a6/9b/267e64eaf6fc637a15b35f5de31a566634a2740f97d8d094a69d34f524a4/multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e", size = 44706, upload-time = "2026-01-26T02:43:27.607Z" }, + { url = "https://files.pythonhosted.org/packages/dd/a4/d45caf2b97b035c57267791ecfaafbd59c68212004b3842830954bb4b02e/multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855", size = 44356, upload-time = "2026-01-26T02:43:28.661Z" }, + { url = "https://files.pythonhosted.org/packages/fd/d2/0a36c8473f0cbaeadd5db6c8b72d15bbceeec275807772bfcd059bef487d/multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3", size = 244355, upload-time = "2026-01-26T02:43:31.165Z" }, + { url = "https://files.pythonhosted.org/packages/5d/16/8c65be997fd7dd311b7d39c7b6e71a0cb449bad093761481eccbbe4b42a2/multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e", size = 246433, upload-time = "2026-01-26T02:43:32.581Z" }, + { url = "https://files.pythonhosted.org/packages/01/fb/4dbd7e848d2799c6a026ec88ad39cf2b8416aa167fcc903baa55ecaa045c/multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a", size = 225376, upload-time = "2026-01-26T02:43:34.417Z" }, + { url = "https://files.pythonhosted.org/packages/b6/8a/4a3a6341eac3830f6053062f8fbc9a9e54407c80755b3f05bc427295c2d0/multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8", size = 257365, upload-time = "2026-01-26T02:43:35.741Z" }, + { url = "https://files.pythonhosted.org/packages/f7/a2/dd575a69c1aa206e12d27d0770cdf9b92434b48a9ef0cd0d1afdecaa93c4/multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0", size = 254747, upload-time = "2026-01-26T02:43:36.976Z" }, + { url = "https://files.pythonhosted.org/packages/5a/56/21b27c560c13822ed93133f08aa6372c53a8e067f11fbed37b4adcdac922/multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144", size = 246293, upload-time = "2026-01-26T02:43:38.258Z" }, + { url = "https://files.pythonhosted.org/packages/5a/a4/23466059dc3854763423d0ad6c0f3683a379d97673b1b89ec33826e46728/multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49", size = 242962, upload-time = "2026-01-26T02:43:40.034Z" }, + { url = "https://files.pythonhosted.org/packages/1f/67/51dd754a3524d685958001e8fa20a0f5f90a6a856e0a9dcabff69be3dbb7/multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71", size = 237360, upload-time = "2026-01-26T02:43:41.752Z" }, + { url = "https://files.pythonhosted.org/packages/64/3f/036dfc8c174934d4b55d86ff4f978e558b0e585cef70cfc1ad01adc6bf18/multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3", size = 245940, upload-time = "2026-01-26T02:43:43.042Z" }, + { url = "https://files.pythonhosted.org/packages/3d/20/6214d3c105928ebc353a1c644a6ef1408bc5794fcb4f170bb524a3c16311/multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c", size = 253502, upload-time = "2026-01-26T02:43:44.371Z" }, + { url = "https://files.pythonhosted.org/packages/b1/e2/c653bc4ae1be70a0f836b82172d643fcf1dade042ba2676ab08ec08bff0f/multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0", size = 247065, upload-time = "2026-01-26T02:43:45.745Z" }, + { url = "https://files.pythonhosted.org/packages/c8/11/a854b4154cd3bd8b1fd375e8a8ca9d73be37610c361543d56f764109509b/multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa", size = 241870, upload-time = "2026-01-26T02:43:47.054Z" }, + { url = "https://files.pythonhosted.org/packages/13/bf/9676c0392309b5fdae322333d22a829715b570edb9baa8016a517b55b558/multidict-6.7.1-cp311-cp311-win32.whl", hash = "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a", size = 41302, upload-time = "2026-01-26T02:43:48.753Z" }, + { url = "https://files.pythonhosted.org/packages/c9/68/f16a3a8ba6f7b6dc92a1f19669c0810bd2c43fc5a02da13b1cbf8e253845/multidict-6.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b", size = 45981, upload-time = "2026-01-26T02:43:49.921Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ad/9dd5305253fa00cd3c7555dbef69d5bf4133debc53b87ab8d6a44d411665/multidict-6.7.1-cp311-cp311-win_arm64.whl", hash = "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6", size = 43159, upload-time = "2026-01-26T02:43:51.635Z" }, + { url = "https://files.pythonhosted.org/packages/8d/9c/f20e0e2cf80e4b2e4b1c365bf5fe104ee633c751a724246262db8f1a0b13/multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172", size = 76893, upload-time = "2026-01-26T02:43:52.754Z" }, + { url = "https://files.pythonhosted.org/packages/fe/cf/18ef143a81610136d3da8193da9d80bfe1cb548a1e2d1c775f26b23d024a/multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd", size = 45456, upload-time = "2026-01-26T02:43:53.893Z" }, + { url = "https://files.pythonhosted.org/packages/a9/65/1caac9d4cd32e8433908683446eebc953e82d22b03d10d41a5f0fefe991b/multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7", size = 43872, upload-time = "2026-01-26T02:43:55.041Z" }, + { url = "https://files.pythonhosted.org/packages/cf/3b/d6bd75dc4f3ff7c73766e04e705b00ed6dbbaccf670d9e05a12b006f5a21/multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53", size = 251018, upload-time = "2026-01-26T02:43:56.198Z" }, + { url = "https://files.pythonhosted.org/packages/fd/80/c959c5933adedb9ac15152e4067c702a808ea183a8b64cf8f31af8ad3155/multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75", size = 258883, upload-time = "2026-01-26T02:43:57.499Z" }, + { url = "https://files.pythonhosted.org/packages/86/85/7ed40adafea3d4f1c8b916e3b5cc3a8e07dfcdcb9cd72800f4ed3ca1b387/multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", size = 242413, upload-time = "2026-01-26T02:43:58.755Z" }, + { url = "https://files.pythonhosted.org/packages/d2/57/b8565ff533e48595503c785f8361ff9a4fde4d67de25c207cd0ba3befd03/multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", size = 268404, upload-time = "2026-01-26T02:44:00.216Z" }, + { url = "https://files.pythonhosted.org/packages/e0/50/9810c5c29350f7258180dfdcb2e52783a0632862eb334c4896ac717cebcb/multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", size = 269456, upload-time = "2026-01-26T02:44:02.202Z" }, + { url = "https://files.pythonhosted.org/packages/f3/8d/5e5be3ced1d12966fefb5c4ea3b2a5b480afcea36406559442c6e31d4a48/multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", size = 256322, upload-time = "2026-01-26T02:44:03.56Z" }, + { url = "https://files.pythonhosted.org/packages/31/6e/d8a26d81ac166a5592782d208dd90dfdc0a7a218adaa52b45a672b46c122/multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582", size = 253955, upload-time = "2026-01-26T02:44:04.845Z" }, + { url = "https://files.pythonhosted.org/packages/59/4c/7c672c8aad41534ba619bcd4ade7a0dc87ed6b8b5c06149b85d3dd03f0cd/multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", size = 251254, upload-time = "2026-01-26T02:44:06.133Z" }, + { url = "https://files.pythonhosted.org/packages/7b/bd/84c24de512cbafbdbc39439f74e967f19570ce7924e3007174a29c348916/multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3", size = 252059, upload-time = "2026-01-26T02:44:07.518Z" }, + { url = "https://files.pythonhosted.org/packages/fa/ba/f5449385510825b73d01c2d4087bf6d2fccc20a2d42ac34df93191d3dd03/multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", size = 263588, upload-time = "2026-01-26T02:44:09.382Z" }, + { url = "https://files.pythonhosted.org/packages/d7/11/afc7c677f68f75c84a69fe37184f0f82fce13ce4b92f49f3db280b7e92b3/multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", size = 259642, upload-time = "2026-01-26T02:44:10.73Z" }, + { url = "https://files.pythonhosted.org/packages/2b/17/ebb9644da78c4ab36403739e0e6e0e30ebb135b9caf3440825001a0bddcb/multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", size = 251377, upload-time = "2026-01-26T02:44:12.042Z" }, + { url = "https://files.pythonhosted.org/packages/ca/a4/840f5b97339e27846c46307f2530a2805d9d537d8b8bd416af031cad7fa0/multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511", size = 41887, upload-time = "2026-01-26T02:44:14.245Z" }, + { url = "https://files.pythonhosted.org/packages/80/31/0b2517913687895f5904325c2069d6a3b78f66cc641a86a2baf75a05dcbb/multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19", size = 46053, upload-time = "2026-01-26T02:44:15.371Z" }, + { url = "https://files.pythonhosted.org/packages/0c/5b/aba28e4ee4006ae4c7df8d327d31025d760ffa992ea23812a601d226e682/multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf", size = 43307, upload-time = "2026-01-26T02:44:16.852Z" }, + { url = "https://files.pythonhosted.org/packages/f2/22/929c141d6c0dba87d3e1d38fbdf1ba8baba86b7776469f2bc2d3227a1e67/multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23", size = 76174, upload-time = "2026-01-26T02:44:18.509Z" }, + { url = "https://files.pythonhosted.org/packages/c7/75/bc704ae15fee974f8fccd871305e254754167dce5f9e42d88a2def741a1d/multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2", size = 45116, upload-time = "2026-01-26T02:44:19.745Z" }, + { url = "https://files.pythonhosted.org/packages/79/76/55cd7186f498ed080a18440c9013011eb548f77ae1b297206d030eb1180a/multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445", size = 43524, upload-time = "2026-01-26T02:44:21.571Z" }, + { url = "https://files.pythonhosted.org/packages/e9/3c/414842ef8d5a1628d68edee29ba0e5bcf235dbfb3ccd3ea303a7fe8c72ff/multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177", size = 249368, upload-time = "2026-01-26T02:44:22.803Z" }, + { url = "https://files.pythonhosted.org/packages/f6/32/befed7f74c458b4a525e60519fe8d87eef72bb1e99924fa2b0f9d97a221e/multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23", size = 256952, upload-time = "2026-01-26T02:44:24.306Z" }, + { url = "https://files.pythonhosted.org/packages/03/d6/c878a44ba877f366630c860fdf74bfb203c33778f12b6ac274936853c451/multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060", size = 240317, upload-time = "2026-01-26T02:44:25.772Z" }, + { url = "https://files.pythonhosted.org/packages/68/49/57421b4d7ad2e9e60e25922b08ceb37e077b90444bde6ead629095327a6f/multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d", size = 267132, upload-time = "2026-01-26T02:44:27.648Z" }, + { url = "https://files.pythonhosted.org/packages/b7/fe/ec0edd52ddbcea2a2e89e174f0206444a61440b40f39704e64dc807a70bd/multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed", size = 268140, upload-time = "2026-01-26T02:44:29.588Z" }, + { url = "https://files.pythonhosted.org/packages/b0/73/6e1b01cbeb458807aa0831742232dbdd1fa92bfa33f52a3f176b4ff3dc11/multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429", size = 254277, upload-time = "2026-01-26T02:44:30.902Z" }, + { url = "https://files.pythonhosted.org/packages/6a/b2/5fb8c124d7561a4974c342bc8c778b471ebbeb3cc17df696f034a7e9afe7/multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6", size = 252291, upload-time = "2026-01-26T02:44:32.31Z" }, + { url = "https://files.pythonhosted.org/packages/5a/96/51d4e4e06bcce92577fcd488e22600bd38e4fd59c20cb49434d054903bd2/multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9", size = 250156, upload-time = "2026-01-26T02:44:33.734Z" }, + { url = "https://files.pythonhosted.org/packages/db/6b/420e173eec5fba721a50e2a9f89eda89d9c98fded1124f8d5c675f7a0c0f/multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c", size = 249742, upload-time = "2026-01-26T02:44:35.222Z" }, + { url = "https://files.pythonhosted.org/packages/44/a3/ec5b5bd98f306bc2aa297b8c6f11a46714a56b1e6ef5ebda50a4f5d7c5fb/multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84", size = 262221, upload-time = "2026-01-26T02:44:36.604Z" }, + { url = "https://files.pythonhosted.org/packages/cd/f7/e8c0d0da0cd1e28d10e624604e1a36bcc3353aaebdfdc3a43c72bc683a12/multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d", size = 258664, upload-time = "2026-01-26T02:44:38.008Z" }, + { url = "https://files.pythonhosted.org/packages/52/da/151a44e8016dd33feed44f730bd856a66257c1ee7aed4f44b649fb7edeb3/multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33", size = 249490, upload-time = "2026-01-26T02:44:39.386Z" }, + { url = "https://files.pythonhosted.org/packages/87/af/a3b86bf9630b732897f6fc3f4c4714b90aa4361983ccbdcd6c0339b21b0c/multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3", size = 41695, upload-time = "2026-01-26T02:44:41.318Z" }, + { url = "https://files.pythonhosted.org/packages/b2/35/e994121b0e90e46134673422dd564623f93304614f5d11886b1b3e06f503/multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5", size = 45884, upload-time = "2026-01-26T02:44:42.488Z" }, + { url = "https://files.pythonhosted.org/packages/ca/61/42d3e5dbf661242a69c97ea363f2d7b46c567da8eadef8890022be6e2ab0/multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df", size = 43122, upload-time = "2026-01-26T02:44:43.664Z" }, + { url = "https://files.pythonhosted.org/packages/6d/b3/e6b21c6c4f314bb956016b0b3ef2162590a529b84cb831c257519e7fde44/multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1", size = 83175, upload-time = "2026-01-26T02:44:44.894Z" }, + { url = "https://files.pythonhosted.org/packages/fb/76/23ecd2abfe0957b234f6c960f4ade497f55f2c16aeb684d4ecdbf1c95791/multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963", size = 48460, upload-time = "2026-01-26T02:44:46.106Z" }, + { url = "https://files.pythonhosted.org/packages/c4/57/a0ed92b23f3a042c36bc4227b72b97eca803f5f1801c1ab77c8a212d455e/multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34", size = 46930, upload-time = "2026-01-26T02:44:47.278Z" }, + { url = "https://files.pythonhosted.org/packages/b5/66/02ec7ace29162e447f6382c495dc95826bf931d3818799bbef11e8f7df1a/multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65", size = 242582, upload-time = "2026-01-26T02:44:48.604Z" }, + { url = "https://files.pythonhosted.org/packages/58/18/64f5a795e7677670e872673aca234162514696274597b3708b2c0d276cce/multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292", size = 250031, upload-time = "2026-01-26T02:44:50.544Z" }, + { url = "https://files.pythonhosted.org/packages/c8/ed/e192291dbbe51a8290c5686f482084d31bcd9d09af24f63358c3d42fd284/multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43", size = 228596, upload-time = "2026-01-26T02:44:51.951Z" }, + { url = "https://files.pythonhosted.org/packages/1e/7e/3562a15a60cf747397e7f2180b0a11dc0c38d9175a650e75fa1b4d325e15/multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca", size = 257492, upload-time = "2026-01-26T02:44:53.902Z" }, + { url = "https://files.pythonhosted.org/packages/24/02/7d0f9eae92b5249bb50ac1595b295f10e263dd0078ebb55115c31e0eaccd/multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd", size = 255899, upload-time = "2026-01-26T02:44:55.316Z" }, + { url = "https://files.pythonhosted.org/packages/00/e3/9b60ed9e23e64c73a5cde95269ef1330678e9c6e34dd4eb6b431b85b5a10/multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7", size = 247970, upload-time = "2026-01-26T02:44:56.783Z" }, + { url = "https://files.pythonhosted.org/packages/3e/06/538e58a63ed5cfb0bd4517e346b91da32fde409d839720f664e9a4ae4f9d/multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3", size = 245060, upload-time = "2026-01-26T02:44:58.195Z" }, + { url = "https://files.pythonhosted.org/packages/b2/2f/d743a3045a97c895d401e9bd29aaa09b94f5cbdf1bd561609e5a6c431c70/multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4", size = 235888, upload-time = "2026-01-26T02:44:59.57Z" }, + { url = "https://files.pythonhosted.org/packages/38/83/5a325cac191ab28b63c52f14f1131f3b0a55ba3b9aa65a6d0bf2a9b921a0/multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8", size = 243554, upload-time = "2026-01-26T02:45:01.054Z" }, + { url = "https://files.pythonhosted.org/packages/20/1f/9d2327086bd15da2725ef6aae624208e2ef828ed99892b17f60c344e57ed/multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c", size = 252341, upload-time = "2026-01-26T02:45:02.484Z" }, + { url = "https://files.pythonhosted.org/packages/e8/2c/2a1aa0280cf579d0f6eed8ee5211c4f1730bd7e06c636ba2ee6aafda302e/multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52", size = 246391, upload-time = "2026-01-26T02:45:03.862Z" }, + { url = "https://files.pythonhosted.org/packages/e5/03/7ca022ffc36c5a3f6e03b179a5ceb829be9da5783e6fe395f347c0794680/multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108", size = 243422, upload-time = "2026-01-26T02:45:05.296Z" }, + { url = "https://files.pythonhosted.org/packages/dc/1d/b31650eab6c5778aceed46ba735bd97f7c7d2f54b319fa916c0f96e7805b/multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32", size = 47770, upload-time = "2026-01-26T02:45:06.754Z" }, + { url = "https://files.pythonhosted.org/packages/ac/5b/2d2d1d522e51285bd61b1e20df8f47ae1a9d80839db0b24ea783b3832832/multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8", size = 53109, upload-time = "2026-01-26T02:45:08.044Z" }, + { url = "https://files.pythonhosted.org/packages/3d/a3/cc409ba012c83ca024a308516703cf339bdc4b696195644a7215a5164a24/multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118", size = 45573, upload-time = "2026-01-26T02:45:09.349Z" }, + { url = "https://files.pythonhosted.org/packages/91/cc/db74228a8be41884a567e88a62fd589a913708fcf180d029898c17a9a371/multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee", size = 75190, upload-time = "2026-01-26T02:45:10.651Z" }, + { url = "https://files.pythonhosted.org/packages/d5/22/492f2246bb5b534abd44804292e81eeaf835388901f0c574bac4eeec73c5/multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2", size = 44486, upload-time = "2026-01-26T02:45:11.938Z" }, + { url = "https://files.pythonhosted.org/packages/f1/4f/733c48f270565d78b4544f2baddc2fb2a245e5a8640254b12c36ac7ac68e/multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1", size = 43219, upload-time = "2026-01-26T02:45:14.346Z" }, + { url = "https://files.pythonhosted.org/packages/24/bb/2c0c2287963f4259c85e8bcbba9182ced8d7fca65c780c38e99e61629d11/multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d", size = 245132, upload-time = "2026-01-26T02:45:15.712Z" }, + { url = "https://files.pythonhosted.org/packages/a7/f9/44d4b3064c65079d2467888794dea218d1601898ac50222ab8a9a8094460/multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31", size = 252420, upload-time = "2026-01-26T02:45:17.293Z" }, + { url = "https://files.pythonhosted.org/packages/8b/13/78f7275e73fa17b24c9a51b0bd9d73ba64bb32d0ed51b02a746eb876abe7/multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048", size = 233510, upload-time = "2026-01-26T02:45:19.356Z" }, + { url = "https://files.pythonhosted.org/packages/4b/25/8167187f62ae3cbd52da7893f58cb036b47ea3fb67138787c76800158982/multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362", size = 264094, upload-time = "2026-01-26T02:45:20.834Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e7/69a3a83b7b030cf283fb06ce074a05a02322359783424d7edf0f15fe5022/multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37", size = 260786, upload-time = "2026-01-26T02:45:22.818Z" }, + { url = "https://files.pythonhosted.org/packages/fe/3b/8ec5074bcfc450fe84273713b4b0a0dd47c0249358f5d82eb8104ffe2520/multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709", size = 248483, upload-time = "2026-01-26T02:45:24.368Z" }, + { url = "https://files.pythonhosted.org/packages/48/5a/d5a99e3acbca0e29c5d9cba8f92ceb15dce78bab963b308ae692981e3a5d/multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0", size = 248403, upload-time = "2026-01-26T02:45:25.982Z" }, + { url = "https://files.pythonhosted.org/packages/35/48/e58cd31f6c7d5102f2a4bf89f96b9cf7e00b6c6f3d04ecc44417c00a5a3c/multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb", size = 240315, upload-time = "2026-01-26T02:45:27.487Z" }, + { url = "https://files.pythonhosted.org/packages/94/33/1cd210229559cb90b6786c30676bb0c58249ff42f942765f88793b41fdce/multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd", size = 245528, upload-time = "2026-01-26T02:45:28.991Z" }, + { url = "https://files.pythonhosted.org/packages/64/f2/6e1107d226278c876c783056b7db43d800bb64c6131cec9c8dfb6903698e/multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601", size = 258784, upload-time = "2026-01-26T02:45:30.503Z" }, + { url = "https://files.pythonhosted.org/packages/4d/c1/11f664f14d525e4a1b5327a82d4de61a1db604ab34c6603bb3c2cc63ad34/multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1", size = 251980, upload-time = "2026-01-26T02:45:32.603Z" }, + { url = "https://files.pythonhosted.org/packages/e1/9f/75a9ac888121d0c5bbd4ecf4eead45668b1766f6baabfb3b7f66a410e231/multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b", size = 243602, upload-time = "2026-01-26T02:45:34.043Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e7/50bf7b004cc8525d80dbbbedfdc7aed3e4c323810890be4413e589074032/multidict-6.7.1-cp314-cp314-win32.whl", hash = "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d", size = 40930, upload-time = "2026-01-26T02:45:36.278Z" }, + { url = "https://files.pythonhosted.org/packages/e0/bf/52f25716bbe93745595800f36fb17b73711f14da59ed0bb2eba141bc9f0f/multidict-6.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f", size = 45074, upload-time = "2026-01-26T02:45:37.546Z" }, + { url = "https://files.pythonhosted.org/packages/97/ab/22803b03285fa3a525f48217963da3a65ae40f6a1b6f6cf2768879e208f9/multidict-6.7.1-cp314-cp314-win_arm64.whl", hash = "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5", size = 42471, upload-time = "2026-01-26T02:45:38.889Z" }, + { url = "https://files.pythonhosted.org/packages/e0/6d/f9293baa6146ba9507e360ea0292b6422b016907c393e2f63fc40ab7b7b5/multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581", size = 82401, upload-time = "2026-01-26T02:45:40.254Z" }, + { url = "https://files.pythonhosted.org/packages/7a/68/53b5494738d83558d87c3c71a486504d8373421c3e0dbb6d0db48ad42ee0/multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a", size = 48143, upload-time = "2026-01-26T02:45:41.635Z" }, + { url = "https://files.pythonhosted.org/packages/37/e8/5284c53310dcdc99ce5d66563f6e5773531a9b9fe9ec7a615e9bc306b05f/multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c", size = 46507, upload-time = "2026-01-26T02:45:42.99Z" }, + { url = "https://files.pythonhosted.org/packages/e4/fc/6800d0e5b3875568b4083ecf5f310dcf91d86d52573160834fb4bfcf5e4f/multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262", size = 239358, upload-time = "2026-01-26T02:45:44.376Z" }, + { url = "https://files.pythonhosted.org/packages/41/75/4ad0973179361cdf3a113905e6e088173198349131be2b390f9fa4da5fc6/multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59", size = 246884, upload-time = "2026-01-26T02:45:47.167Z" }, + { url = "https://files.pythonhosted.org/packages/c3/9c/095bb28b5da139bd41fb9a5d5caff412584f377914bd8787c2aa98717130/multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889", size = 225878, upload-time = "2026-01-26T02:45:48.698Z" }, + { url = "https://files.pythonhosted.org/packages/07/d0/c0a72000243756e8f5a277b6b514fa005f2c73d481b7d9e47cd4568aa2e4/multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4", size = 253542, upload-time = "2026-01-26T02:45:50.164Z" }, + { url = "https://files.pythonhosted.org/packages/c0/6b/f69da15289e384ecf2a68837ec8b5ad8c33e973aa18b266f50fe55f24b8c/multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d", size = 252403, upload-time = "2026-01-26T02:45:51.779Z" }, + { url = "https://files.pythonhosted.org/packages/a2/76/b9669547afa5a1a25cd93eaca91c0da1c095b06b6d2d8ec25b713588d3a1/multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609", size = 244889, upload-time = "2026-01-26T02:45:53.27Z" }, + { url = "https://files.pythonhosted.org/packages/7e/a9/a50d2669e506dad33cfc45b5d574a205587b7b8a5f426f2fbb2e90882588/multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489", size = 241982, upload-time = "2026-01-26T02:45:54.919Z" }, + { url = "https://files.pythonhosted.org/packages/c5/bb/1609558ad8b456b4827d3c5a5b775c93b87878fd3117ed3db3423dfbce1b/multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c", size = 232415, upload-time = "2026-01-26T02:45:56.981Z" }, + { url = "https://files.pythonhosted.org/packages/d8/59/6f61039d2aa9261871e03ab9dc058a550d240f25859b05b67fd70f80d4b3/multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e", size = 240337, upload-time = "2026-01-26T02:45:58.698Z" }, + { url = "https://files.pythonhosted.org/packages/a1/29/fdc6a43c203890dc2ae9249971ecd0c41deaedfe00d25cb6564b2edd99eb/multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c", size = 248788, upload-time = "2026-01-26T02:46:00.862Z" }, + { url = "https://files.pythonhosted.org/packages/a9/14/a153a06101323e4cf086ecee3faadba52ff71633d471f9685c42e3736163/multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9", size = 242842, upload-time = "2026-01-26T02:46:02.824Z" }, + { url = "https://files.pythonhosted.org/packages/41/5f/604ae839e64a4a6efc80db94465348d3b328ee955e37acb24badbcd24d83/multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2", size = 240237, upload-time = "2026-01-26T02:46:05.898Z" }, + { url = "https://files.pythonhosted.org/packages/5f/60/c3a5187bf66f6fb546ff4ab8fb5a077cbdd832d7b1908d4365c7f74a1917/multidict-6.7.1-cp314-cp314t-win32.whl", hash = "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7", size = 48008, upload-time = "2026-01-26T02:46:07.468Z" }, + { url = "https://files.pythonhosted.org/packages/0c/f7/addf1087b860ac60e6f382240f64fb99f8bfb532bb06f7c542b83c29ca61/multidict-6.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5", size = 53542, upload-time = "2026-01-26T02:46:08.809Z" }, + { url = "https://files.pythonhosted.org/packages/4c/81/4629d0aa32302ef7b2ec65c75a728cc5ff4fa410c50096174c1632e70b3e/multidict-6.7.1-cp314-cp314t-win_arm64.whl", hash = "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2", size = 44719, upload-time = "2026-01-26T02:46:11.146Z" }, + { url = "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", size = 12319, upload-time = "2026-01-26T02:46:44.004Z" }, +] + [[package]] name = "nbclient" version = "0.11.0" @@ -931,7 +2116,9 @@ name = "numpy" version = "2.4.6" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version < '3.12'", + "python_full_version < '3.12' and sys_platform == 'win32'", + "python_full_version < '3.12' and sys_platform == 'emscripten'", + "python_full_version < '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'", ] sdist = { url = "https://files.pythonhosted.org/packages/d0/ad/fed0499ce6a338d2a03ebae59cd15093910c8875328855781952abf6c2fe/numpy-2.4.6.tar.gz", hash = "sha256:f3a3570c4a2a16746ac2c31a7c7c7b0c186b95ce902e33db6f28094ed7387dda", size = 20735807, upload-time = "2026-05-18T23:37:14.07Z" } wheels = [ @@ -1013,7 +2200,12 @@ name = "numpy" version = "2.5.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", ] sdist = { url = "https://files.pythonhosted.org/packages/22/fd/89965aa4ac08c74998539fcbf24fa3540f3e15237fbeb6bcf9c908f4aade/numpy-2.5.1.tar.gz", hash = "sha256:a48a113e6afea91f5608793bafa7ef2ad481fefbda87ec5069f483de61cb9fa3", size = 20755553, upload-time = "2026-07-04T17:08:00.933Z" } wheels = [ @@ -1067,7 +2259,7 @@ name = "nvidia-cublas" version = "13.1.1.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cuda-nvrtc" }, + { name = "nvidia-cuda-nvrtc", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/a7/a1/0bd24ee8c8d03adac032fd2909426a00c88f8c57961b1277ded97f91119f/nvidia_cublas-13.1.1.3-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:b7a210458267ac818974c53038fbec2e969d5c99f305ab15c72522fa9f001dd5", size = 542848918, upload-time = "2026-04-08T18:46:22.985Z" }, @@ -1106,7 +2298,7 @@ name = "nvidia-cudnn-cu13" version = "9.20.0.48" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cublas" }, + { name = "nvidia-cublas", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/56/c5/83384d846b2fd17c44bd499b36c75a45ed4f095fbbb2252294e89cea5c5c/nvidia_cudnn_cu13-9.20.0.48-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:e31454ae00094b0c55319d9d15b6fa2fc50a9e1c0f5c8c80fb75258234e731e1", size = 444574296, upload-time = "2026-03-09T19:28:27.751Z" }, @@ -1118,7 +2310,7 @@ name = "nvidia-cufft" version = "12.0.0.61" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-nvjitlink" }, + { name = "nvidia-nvjitlink", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/8b/ae/f417a75c0259e85c1d2f83ca4e960289a5f814ed0cea74d18c353d3e989d/nvidia_cufft-12.0.0.61-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2708c852ef8cd89d1d2068bdbece0aa188813a0c934db3779b9b1faa8442e5f5", size = 214053554, upload-time = "2025-09-04T08:31:38.196Z" }, @@ -1148,9 +2340,9 @@ name = "nvidia-cusolver" version = "12.0.4.66" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cublas" }, - { name = "nvidia-cusparse" }, - { name = "nvidia-nvjitlink" }, + { name = "nvidia-cublas", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "nvidia-cusparse", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "nvidia-nvjitlink", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/c8/c3/b30c9e935fc01e3da443ec0116ed1b2a009bb867f5324d3f2d7e533e776b/nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:02c2457eaa9e39de20f880f4bd8820e6a1cfb9f9a34f820eb12a155aa5bc92d2", size = 223467760, upload-time = "2025-09-04T08:33:04.222Z" }, @@ -1162,7 +2354,7 @@ name = "nvidia-cusparse" version = "12.6.3.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-nvjitlink" }, + { name = "nvidia-nvjitlink", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/f8/94/5c26f33738ae35276672f12615a64bd008ed5be6d1ebcb23579285d960a9/nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:80bcc4662f23f1054ee334a15c72b8940402975e0eab63178fc7e670aa59472c", size = 162155568, upload-time = "2025-09-04T08:33:42.864Z" }, @@ -1214,6 +2406,74 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a8/64/3708a90d1ebe202ffdeb7185f878a3c84d15c2b2c31858da2ce0583e2def/nvidia_nvtx-13.0.85-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cb7780edb6b14107373c835bf8b72e7a178bac7367e23da7acb108f973f157a6", size = 148878, upload-time = "2025-09-04T08:28:53.627Z" }, ] +[[package]] +name = "orjson" +version = "3.11.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/0c/964746fcafbd16f8ff53219ad9f6b412b34f345c75f384ad434ceaadb538/orjson-3.11.9.tar.gz", hash = "sha256:4fef17e1f8722c11587a6ef18e35902450221da0028e65dbaaa543619e68e48f", size = 5599163, upload-time = "2026-05-06T15:11:08.309Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/51/3fb9e65ae76ee97bd611869a503fa3fc0a6e81dd8b737cf3003f682df7ff/orjson-3.11.9-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:f01c4818b3fc9b0da8e096722a84318071eaa118df35f6ed2344da0e73a5444f", size = 228522, upload-time = "2026-05-06T15:09:35.362Z" }, + { url = "https://files.pythonhosted.org/packages/16/fa/9d54b07cb3f3b0bfd57841478e42d7a0ece4a9f49f9907eecf5a45461687/orjson-3.11.9-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:3ebca4179031ee716ed076ffadc29428e900512f6fccee8614c9983157fcf19c", size = 128463, upload-time = "2026-05-06T15:09:37.063Z" }, + { url = "https://files.pythonhosted.org/packages/88/b1/6ceafc2eefd0a553e3be77ce6c49d107e772485d9568629376171c50e634/orjson-3.11.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48ee05097750de0ff69ed5b7bbcf0732182fd57a24043dcc2a1da780a5ead3a5", size = 132306, upload-time = "2026-05-06T15:09:38.299Z" }, + { url = "https://files.pythonhosted.org/packages/ea/76/f11311285324a40aab1e3031385c50b635a7cd0734fdaf60c7e89a696f60/orjson-3.11.9-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a6082706765a95a6680d812e1daf1c0cfe8adec7831b3ff3b625693f3b461b1c", size = 127988, upload-time = "2026-05-06T15:09:39.597Z" }, + { url = "https://files.pythonhosted.org/packages/9e/85/0ef63bcf1337f44031ce9b91b1919563f62a37527b3ea4368bb15a22e5d7/orjson-3.11.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:277fefe9d76ee17eb14debf399e3533d4d63b5f677a4d3719eb763536af1f4bd", size = 135188, upload-time = "2026-05-06T15:09:40.957Z" }, + { url = "https://files.pythonhosted.org/packages/05/94/b0d27090ea8a2095db3c2bd1b1c96f96f19bbb494d7fef33130e846e613d/orjson-3.11.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03db380e3780fa0015ed776a90f20e8e20bb11dde13b216ce19e5718e3dfba62", size = 145937, upload-time = "2026-05-06T15:09:42.249Z" }, + { url = "https://files.pythonhosted.org/packages/09/eb/75d50c29c05b8054013e221e598820a365c8e64065312e75e202ed880709/orjson-3.11.9-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33d7d766701847dc6729846362dc27895d2f2d2251264f9d10e7cb9878194877", size = 132758, upload-time = "2026-05-06T15:09:43.945Z" }, + { url = "https://files.pythonhosted.org/packages/49/bd/360686f39348aa88827cb6fbf7dc606fd41c831a35235e1abf1db8e3a9e6/orjson-3.11.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:147302878da387104b66bb4a8b0227d1d487e976ce41a8501916161072ed87b1", size = 133971, upload-time = "2026-05-06T15:09:45.239Z" }, + { url = "https://files.pythonhosted.org/packages/0e/30/3178eb16f3221aeef068b6f1f1ebe05f656ea5c6dffe9f6c917329fe17a3/orjson-3.11.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3513550321f8c8c811a7c3297b8a630e82dc08e4c10216d07703c997776236cd", size = 141685, upload-time = "2026-05-06T15:09:46.858Z" }, + { url = "https://files.pythonhosted.org/packages/5f/f1/ff2f19ed0225f9680fafa42febca3570dd59444ebf190980738d376214c2/orjson-3.11.9-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:c5d001196b89fa9cf0a4ab79766cd835b991a166e4b621ba95089edc50c429ff", size = 415167, upload-time = "2026-05-06T15:09:48.312Z" }, + { url = "https://files.pythonhosted.org/packages/9b/61/863bddf0da6e9e586765414debd54b4e58db05f560902b6d00658cb88636/orjson-3.11.9-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:16969c9d369c98eb084889c6e4d2d39b77c7eb38ceccf8da2a9fff62ae908980", size = 147913, upload-time = "2026-05-06T15:09:49.733Z" }, + { url = "https://files.pythonhosted.org/packages/b6/8a/4081492586d75b073d60c5271a8d0f05a0955cabf1e34c8473f6fcd84235/orjson-3.11.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:63e0efbc991250c0b3143488fa57d95affcabbfc63c99c48d625dd37779aafe2", size = 136959, upload-time = "2026-05-06T15:09:51.311Z" }, + { url = "https://files.pythonhosted.org/packages/0d/bd/70b6ab193594d7abb875320c0a7c8335e846f28968c432c31042409c3c8d/orjson-3.11.9-cp311-cp311-win32.whl", hash = "sha256:14ed654580c1ed2bc217352ec82f91b047aef82951aa71c7f64e0dcb03c0e180", size = 131533, upload-time = "2026-05-06T15:09:52.637Z" }, + { url = "https://files.pythonhosted.org/packages/3f/17/1a1a228183d62d1b77e2c30d210f47dd4768b310ebe1607c63e3c0e3a71e/orjson-3.11.9-cp311-cp311-win_amd64.whl", hash = "sha256:57ea77fb70a448ce87d18fca050193202a3da5e54598f6501ca5476fb66cfe02", size = 127106, upload-time = "2026-05-06T15:09:54.204Z" }, + { url = "https://files.pythonhosted.org/packages/b8/95/285de5fa296d09681ee9c546cd4a8aeb773b701cf343dc125994f4d52953/orjson-3.11.9-cp311-cp311-win_arm64.whl", hash = "sha256:19b72ed11572a2ee51a67a903afbe5af504f84ed6f529c0fe44b0ab3fb5cc697", size = 126848, upload-time = "2026-05-06T15:09:55.551Z" }, + { url = "https://files.pythonhosted.org/packages/16/6d/11867a3ffa3a3608d84a4de51ef4dd0896d6b5cc9132fbe1daf593e677bc/orjson-3.11.9-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9ef6fe90aadef185c7b128859f40beb24720b4ecea95379fc9000931179c3a49", size = 228515, upload-time = "2026-05-06T15:09:57.265Z" }, + { url = "https://files.pythonhosted.org/packages/24/75/05912954c8b288f34fcf5cd4b9b071cb4f6e77b9961e175e56ebb258089f/orjson-3.11.9-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:e5c9b8f28e726e97d97696c826bc7bea5d71cecd63576dba92924a32c1961291", size = 128409, upload-time = "2026-05-06T15:09:59.063Z" }, + { url = "https://files.pythonhosted.org/packages/ab/86/1c3a47df3bc8191ea9ac51603bbb872a95167a364320c269f2557911f406/orjson-3.11.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26a473dbb4162108b27901492546f83c76fdcea3d0eadff00ae7a07e18dcce09", size = 132106, upload-time = "2026-05-06T15:10:00.798Z" }, + { url = "https://files.pythonhosted.org/packages/d7/cf/b33b5f3e695ae7d63feef9d915c37cc3b8f465493dcd4f8e0b4c697a2366/orjson-3.11.9-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:011382e2a60fda9d46f1cdee31068cfc52ffe952b587d683ec0463002802a0f4", size = 127864, upload-time = "2026-05-06T15:10:02.15Z" }, + { url = "https://files.pythonhosted.org/packages/31/6a/6cf69385a58208024fcb8c014e2141b8ce838aba6492b589f8acfff97fab/orjson-3.11.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2d3dc759490128c5c1711a53eeaa8ee1d437fd0038ffd2b6008abf46db3f882", size = 135213, upload-time = "2026-05-06T15:10:03.515Z" }, + { url = "https://files.pythonhosted.org/packages/e8/f8/0b1bd3e8f2efcdd376af5c8cfd79eaf13f018080c0089c80ebd724e3c7fb/orjson-3.11.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8ea516b3726d190e1b4297e6f4e7a8650347ae053868a18163b4dd3641d1fff", size = 145994, upload-time = "2026-05-06T15:10:05.083Z" }, + { url = "https://files.pythonhosted.org/packages/f3/59/dab79f61044c529d2c81aecdc589b1f833a1c8dec11ba3b1c2498a02ca7e/orjson-3.11.9-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380cdce7ba24989af81d0a7013d0aaec5d0e2a21734c0e2681b1bc4f141957fe", size = 132744, upload-time = "2026-05-06T15:10:06.853Z" }, + { url = "https://files.pythonhosted.org/packages/0e/a4/82b7a2fe5d8a67a59ed831b24d59a3d46ea7d207b66e1602d376541d94a6/orjson-3.11.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be4fa4f0af7fa18951f7ab3fc2148e223af211bf03f59e1c6034ec3f97f21d61", size = 134014, upload-time = "2026-05-06T15:10:08.213Z" }, + { url = "https://files.pythonhosted.org/packages/50/c7/375e83a76851b73b2e39f3bcf0e5a19e2b89bad13e5bca97d0b293d27f24/orjson-3.11.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a8f5f8bc7ce7d59f08d9f99fa510c06496164a24cb5f3d34537dbd9ca30132e2", size = 141509, upload-time = "2026-05-06T15:10:09.595Z" }, + { url = "https://files.pythonhosted.org/packages/7f/7c/49d5d82a3d3097f641f094f552131f1e2723b0b8cb0fa2874ab65ecfffa6/orjson-3.11.9-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:4d7fde5501b944f83b3e665e1b31343ff6e154b15560a16b7130ea1e594a4206", size = 415127, upload-time = "2026-05-06T15:10:11.049Z" }, + { url = "https://files.pythonhosted.org/packages/3a/dc/7446c538590d55f455647e5f3c61fc33f7108714e7afcffa6a2a033f8350/orjson-3.11.9-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cde1a448023ba7d5bb4c01c5afb48894380b5e4956e0627266526587ef4e535f", size = 148025, upload-time = "2026-05-06T15:10:12.842Z" }, + { url = "https://files.pythonhosted.org/packages/df/e5/4d2d8af06f788329b4f78f8cc3679bb395392fcaa1e4d8d3c33e85308fa4/orjson-3.11.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:71e63adb0e1f1ed5d9e168f50a91ceb93ae6420731d222dc7da5c69409aa47aa", size = 136943, upload-time = "2026-05-06T15:10:14.405Z" }, + { url = "https://files.pythonhosted.org/packages/06/69/850264ccf6d80f6b174620d30a87f65c9b1490aba33fe6b62798e618cad3/orjson-3.11.9-cp312-cp312-win32.whl", hash = "sha256:2d057a602cdd19a0ad680417527c45b6961a095081c0f46fe0e03e304aac6470", size = 131606, upload-time = "2026-05-06T15:10:15.791Z" }, + { url = "https://files.pythonhosted.org/packages/b9/d5/973a43fc9c55e20f2051e9830997649f669be0cb3ca52192087c0143f118/orjson-3.11.9-cp312-cp312-win_amd64.whl", hash = "sha256:59e403b1cc5a676da8eaf31f6254801b7341b3e29efa85f92b48d272637e77be", size = 127101, upload-time = "2026-05-06T15:10:17.129Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ae/495470f0e4a18f73fa10b7f6b84b464ec4cc5291c4e0c7c2a6c400bef006/orjson-3.11.9-cp312-cp312-win_arm64.whl", hash = "sha256:9af678d6488357948f1f84c6cd1c1d397c014e1ae2f98ae082a44eb48f602624", size = 126736, upload-time = "2026-05-06T15:10:18.645Z" }, + { url = "https://files.pythonhosted.org/packages/32/33/93fcc25907235c344ae73122f8a4e01d2d393ef062b4af7d2e2487a32c37/orjson-3.11.9-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:4bab1b2d6141fe7b32ae71dac905666ece4f94936efbfb13d55bb7739a3a6021", size = 228458, upload-time = "2026-05-06T15:10:20.079Z" }, + { url = "https://files.pythonhosted.org/packages/8f/27/b1e6dadb3c080313c03fdd8067b85e6a0460c7d8d6a1c3984ef77b904e4d/orjson-3.11.9-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:844417969855fc7a41be124aafe83dc424592a7f77cd4501900c67307122b92c", size = 128368, upload-time = "2026-05-06T15:10:21.549Z" }, + { url = "https://files.pythonhosted.org/packages/21/0f/c9ede0bf052f6b4051e64a7d4fa91b725cccf8321a6a786e86eb03519f00/orjson-3.11.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffe02797b5e9f3a9d8292ddcd289b474ad13e81ad83cd1891a240811f1d2cb81", size = 132070, upload-time = "2026-05-06T15:10:23.371Z" }, + { url = "https://files.pythonhosted.org/packages/fd/26/d398e28048dc18205bbe812f2c88cb9b40313db2470778e25964796458fe/orjson-3.11.9-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0e4eed3b200023042814d2fc8a5d2e880f13b52e1ed2485e83da4f3962f7dc1a", size = 127892, upload-time = "2026-05-06T15:10:24.714Z" }, + { url = "https://files.pythonhosted.org/packages/66/60/52b0054c4c700d5aa7fc5b7ca96917400d8f061307778578e67a10e25852/orjson-3.11.9-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aff7da9952a5ad1cef8e68017724d96c7b9a66e99e91d6252e1b133d67a7b10", size = 135217, upload-time = "2026-05-06T15:10:26.084Z" }, + { url = "https://files.pythonhosted.org/packages/d5/97/1e3dc2b2a28b7b2528f403d2fc1d79ec5f39af3bc143ab65d3ec26426385/orjson-3.11.9-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d4e98d6f3b8afed8bc8cd9718ec0cdf46661826beefb53fe8eafb37f2bf0362", size = 145980, upload-time = "2026-05-06T15:10:28.062Z" }, + { url = "https://files.pythonhosted.org/packages/fc/39/31fbfe7850f2de32dee7e7e5c09f26d403ab01e440ac96001c6b01ad3c99/orjson-3.11.9-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3a81d52442a7c99b3662333235b3adf96a1715864658b35bb797212be7bddb97", size = 132738, upload-time = "2026-05-06T15:10:29.727Z" }, + { url = "https://files.pythonhosted.org/packages/a1/08/dca0082dd2a194acb93e5457e73455388e2e2ca464a2672449a9ddbb679d/orjson-3.11.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e39364e726a8fff737309aff059ff67d8a8c8d5b677be7bb49a8b3e84b7e218", size = 134033, upload-time = "2026-05-06T15:10:31.152Z" }, + { url = "https://files.pythonhosted.org/packages/11/d4/5bdb0626801230139987385554c5d4c42255218ac906525bf4347f22cd95/orjson-3.11.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4fd66214623f1b17501df9f0543bef0b833979ab5b6ded1e1d123222866aa8c9", size = 141492, upload-time = "2026-05-06T15:10:32.641Z" }, + { url = "https://files.pythonhosted.org/packages/fa/88/a21fb53b3ede6703aede6dce4710ed4111e5b201cfa6bbff5e544f9d47d7/orjson-3.11.9-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:8ecc30f10465fa1e0ce13fd01d9e22c316e5053a719a8d915d4545a09a5ff677", size = 415087, upload-time = "2026-05-06T15:10:34.438Z" }, + { url = "https://files.pythonhosted.org/packages/3d/57/1b30daf70f0d8180e9a73cefbfbdd99e4bf19eb020466502b01fba7e0e50/orjson-3.11.9-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:97db4c94a7db398a5bd636273324f0b3fd58b350bbbac8bb380ceb825a9b40f4", size = 148031, upload-time = "2026-05-06T15:10:36.358Z" }, + { url = "https://files.pythonhosted.org/packages/04/83/45fbb6d962e260807f99441db9613cee868ceda4baceda59b3720a563f97/orjson-3.11.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9f78cf8fec5bd627f4082b8dfeac7871b43d7f3274904492a43dab39f18a19a0", size = 136915, upload-time = "2026-05-06T15:10:38.013Z" }, + { url = "https://files.pythonhosted.org/packages/5f/cc/2d10025f9056d376e4127ec05a5808b218d46f035fdc08178a5411b34250/orjson-3.11.9-cp313-cp313-win32.whl", hash = "sha256:d4087e5c0209a0a8efe4de3303c234b9c44d1174161dcd851e8eea07c7560b32", size = 131613, upload-time = "2026-05-06T15:10:39.569Z" }, + { url = "https://files.pythonhosted.org/packages/67/bd/2775ff28bfe883b9aa1ff348300542eb2ef1ee18d8ae0e3a49846817a865/orjson-3.11.9-cp313-cp313-win_amd64.whl", hash = "sha256:051b102c93b4f634e89f3866b07b9a9a98915ada541f4ec30f177067b2694979", size = 127086, upload-time = "2026-05-06T15:10:41.262Z" }, + { url = "https://files.pythonhosted.org/packages/91/2b/d26799e580939e32a7da9a39531bc9e58e15ca32ffaa6a8cb3e9bb0d22cd/orjson-3.11.9-cp313-cp313-win_arm64.whl", hash = "sha256:cce9127885941bd28f080cecf1f1d288336b7e0d812c345b08be88b572796254", size = 126696, upload-time = "2026-05-06T15:10:42.651Z" }, + { url = "https://files.pythonhosted.org/packages/8e/eb/5da01e356015aee6ecfa1187ced87aef51364e306f5e695dd52719bf0e78/orjson-3.11.9-cp314-cp314-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:b6ef1979adc4bc243523f1a2ba91418030a8e29b0a99cbe7e0e2d6807d4dce6e", size = 228465, upload-time = "2026-05-06T15:10:44.097Z" }, + { url = "https://files.pythonhosted.org/packages/64/62/3e0e0c14c957133bcd855395c62b55ed4e3b0af23ffea11b032cb1dcbdb1/orjson-3.11.9-cp314-cp314-macosx_15_0_arm64.whl", hash = "sha256:f36b7f32c7c0db4a719f1fc5824db4a9c6f8bd1a354debb91faf26ebf3a4c71e", size = 128364, upload-time = "2026-05-06T15:10:45.839Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5a/07d8aa117211a8ed7630bda80c8c0b14d04e0f8dcf99bcf49656e4a710eb/orjson-3.11.9-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08f4d8ebb44925c794e535b2bebc507cebf32209df81de22ae285fb0d8d66de0", size = 132063, upload-time = "2026-05-06T15:10:47.267Z" }, + { url = "https://files.pythonhosted.org/packages/d6/ec/4acaf21483e18aa945be74a474c74b434f284b549f275a0a39b9f98956e9/orjson-3.11.9-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6cc7923789694fd58f001cbcac7e47abc13af4d560ebbfcf3b41a8b1a0748124", size = 122356, upload-time = "2026-05-06T15:10:48.765Z" }, + { url = "https://files.pythonhosted.org/packages/13/d8/5f0555e7638801323b7a75850f92e7dfa891bc84fe27a1ba4449170d1200/orjson-3.11.9-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea5c46eb2d3af39e806b986f4b09d5c2706a1f5afde3cbf7544ce6616127173c", size = 129592, upload-time = "2026-05-06T15:10:50.13Z" }, + { url = "https://files.pythonhosted.org/packages/b6/30/ed9860412a3603ceb3c5955bfd72d28b9d0e7ba6ed81add14f83d7114236/orjson-3.11.9-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f5d89a2ed90731df3be64bab0aa44f78bff39fdc9d71c291f4a8023aa46425b7", size = 140491, upload-time = "2026-05-06T15:10:51.582Z" }, + { url = "https://files.pythonhosted.org/packages/d0/17/adc514dea7ac7c505527febf884934b815d34f0c7b8693c1a8b39c5c4a57/orjson-3.11.9-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:25e4aed0312d292c09f61af25bba34e0b2c88546041472b09088c39a4d828af1", size = 127309, upload-time = "2026-05-06T15:10:53.329Z" }, + { url = "https://files.pythonhosted.org/packages/76/3e/c0b690253f0b82d86e99949af13533363acfb5432ecb5d53dd5b3bce9c34/orjson-3.11.9-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaea64f3f467d22e70eeed68bdccb3bc4f83f650446c4a03c59f2cba28a108db", size = 134030, upload-time = "2026-05-06T15:10:54.988Z" }, + { url = "https://files.pythonhosted.org/packages/c1/7a/bc82a0bb25e9faaf92dc4d9ef002732efc09737706af83e346788641d4a7/orjson-3.11.9-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a028425d1b440c5d92a6be1e1a020739dfe67ea87d96c6dbe828c1b30041728b", size = 141482, upload-time = "2026-05-06T15:10:56.663Z" }, + { url = "https://files.pythonhosted.org/packages/01/55/e69188b939f77d5d32a9833745ace31ea5ccae3ab613a1ec185d3cd2c4fb/orjson-3.11.9-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:5b192c6cf397e4455b11523c5cf2b18ed084c1bbd61b6c0926344d2129481972", size = 415178, upload-time = "2026-05-06T15:10:58.446Z" }, + { url = "https://files.pythonhosted.org/packages/2e/1a/b8a5a7ac527e80b9cb11d51e3f6689b709279183264b9ec5c7bc680bb8b5/orjson-3.11.9-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ea407d4ccf5891d667d045fecae97a7a1e5e87b3b97f97ae1803c2e741130be0", size = 148089, upload-time = "2026-05-06T15:11:00.441Z" }, + { url = "https://files.pythonhosted.org/packages/97/4e/00503f64204bf859b37213a63927028f30fb6268cd8677fb0a5ad48155e1/orjson-3.11.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5f63aaf97afd9f6dec5b1a68e1b8da12bfccb4cb9a9a65c3e0b6c847849e7586", size = 136921, upload-time = "2026-05-06T15:11:02.176Z" }, + { url = "https://files.pythonhosted.org/packages/0d/ba/a23b82a0a8d0ed7bed4e5f5035aae751cad4ff6a1e8d2ecd14d8860f5929/orjson-3.11.9-cp314-cp314-win32.whl", hash = "sha256:e30ab17845bb9fa54ccf67fa4f9f5282652d54faa6d17452f47d0f369d038673", size = 131638, upload-time = "2026-05-06T15:11:03.696Z" }, + { url = "https://files.pythonhosted.org/packages/f3/c3/0c6798456bade745c75c452342dabacce5798196483e77e643be1f53877d/orjson-3.11.9-cp314-cp314-win_amd64.whl", hash = "sha256:32ef5f4283a3be81913947d19608eacb7c6608026851123790cd9cc8982af34b", size = 127078, upload-time = "2026-05-06T15:11:05.123Z" }, + { url = "https://files.pythonhosted.org/packages/16/21/5a3f1e8913103b703a436a5664238e5b965ec392b555fe68943ea3691e6b/orjson-3.11.9-cp314-cp314-win_arm64.whl", hash = "sha256:eebdbdeef0094e4f5aefa20dcd4eb2368ab5e7a3b4edea27f1e7b2892e009cf9", size = 126687, upload-time = "2026-05-06T15:11:06.602Z" }, +] + [[package]] name = "packaging" version = "26.2" @@ -1223,6 +2483,82 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 100195, upload-time = "2026-04-24T20:15:22.081Z" }, ] +[[package]] +name = "pandas" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "python-dateutil" }, + { name = "tzdata", marker = "sys_platform == 'emscripten' or sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/87/4341c6252d1c47b08768c3d25ac487362bf403f0313ddae4a2a26c9b1b4c/pandas-3.0.3.tar.gz", hash = "sha256:696a4a00a2a2a35d4e5deb3fc946641b96c944f02230e4f76137fe35d806c4fc", size = 4651414, upload-time = "2026-05-11T18:54:29.21Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/16/b5c76b838fd9bf6ce84d3a53346b8874ec05c5f0040d75ef2c320100cd2a/pandas-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:455f6f8139d4282188f526868dbc3c828470e88a3d9d59a891bd46a455f21b98", size = 10338495, upload-time = "2026-05-11T18:52:11.558Z" }, + { url = "https://files.pythonhosted.org/packages/5a/b0/a4ffc4ae74d2d822200dcc46898987d8eb6032d1e2b219cae39da6f5cbcc/pandas-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4e15135e2ee5df1063313e2425ceef8ac0f4ae775893815b0923651b806a5639", size = 9938250, upload-time = "2026-05-11T18:52:17.005Z" }, + { url = "https://files.pythonhosted.org/packages/2e/b2/3323601a52caee42c019e370090ca4544b241437240ca04f786cce82b0cf/pandas-3.0.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:05f1f1752b8533ea03f7f39a9c15b1a058d067bb48f4748948e7a8691e0510f2", size = 10770558, upload-time = "2026-05-11T18:52:19.865Z" }, + { url = "https://files.pythonhosted.org/packages/32/f1/bbecd2f867b97abebe0f9b53d750f862251b40337e061b36676ded3d920f/pandas-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8a1e45c80cceb3b4a21bc5939d52e8cbd8d9b7305309219d59e9754d9ce09e27", size = 11274611, upload-time = "2026-05-11T18:52:22.622Z" }, + { url = "https://files.pythonhosted.org/packages/7f/4f/eafabf2d5fae5adf143b4d18d3706c5efdc368a7c4eb1ee8a3eddabbd0f6/pandas-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:14da8316da4d0c5a77618425996bfb1248ca87fc2c1486e6fde4652bd18b5824", size = 11784670, upload-time = "2026-05-11T18:52:25.4Z" }, + { url = "https://files.pythonhosted.org/packages/49/44/1eb20389301b57b19cc099a1c2f662501f72f08a65f912d05822613c1532/pandas-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a55066a0505dae0ba2b50a46637db34b46f9094c65c5d4800794ef6335010938", size = 12353708, upload-time = "2026-05-11T18:52:28.139Z" }, + { url = "https://files.pythonhosted.org/packages/eb/62/c321f13b5ba1819fc8dca456c7fce578da2dcfecff1abbf0eaddf8406c0f/pandas-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6674ab18ad8c57802867264b00e15e7bb904700cdd9046e3b2fa1fce237439ea", size = 9907609, upload-time = "2026-05-11T18:52:30.982Z" }, + { url = "https://files.pythonhosted.org/packages/53/85/1b7f563ebc6357c27233a02a96b589bcce1fa9c6eb89fb4f0e56421d277e/pandas-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:5cc09a68b3120e0f54870dede8287a7bb1fa463907e4fcec1ea77cab6179bf7a", size = 9165596, upload-time = "2026-05-11T18:52:33.334Z" }, + { url = "https://files.pythonhosted.org/packages/24/f1/392f8c5bfc16f66a0d2d41561c01627c228fe7ed2a0d056ef11315042570/pandas-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fed2ff7fd9779120e388e285fc029bd5cf9490cdd2e4166a9ee22c0e49a9ab09", size = 10357846, upload-time = "2026-05-11T18:52:36.143Z" }, + { url = "https://files.pythonhosted.org/packages/cf/3d/b16412745651e855f357e5e66930248688378853a6e2698a214e331fba1f/pandas-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b168fc218fd80a6cbdbdbc1a97ddc7889ed057d7eb45f50d866ceab5f39904c4", size = 9899550, upload-time = "2026-05-11T18:52:38.976Z" }, + { url = "https://files.pythonhosted.org/packages/31/a8/fa2535168fffcedf67f4f6de28d2dd903a747ca7c8ea6989451aaeb3a92f/pandas-3.0.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0383c72c75cdcca61a9e116e611143902dbfd08bff356829c2f6d1cf40a9ca8c", size = 10412965, upload-time = "2026-05-11T18:52:41.915Z" }, + { url = "https://files.pythonhosted.org/packages/65/b6/09b01cdbc15224e2850365192d17b7bdebb8bdbd8780ed221fcdf0d9a515/pandas-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6dc0b3fd2169c9157deed50b4d519553a3655c8c6a96027136d654592be973a9", size = 10894600, upload-time = "2026-05-11T18:52:45.02Z" }, + { url = "https://files.pythonhosted.org/packages/c9/a4/2eb28f2fccb4ced4a2c79ab2a5dee9ade1ebf44922ebad6fea158c9f95d4/pandas-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7e65d5407dc0b394f509699650e4a2ec01c0514f21850f453fa60f3be79a5dbf", size = 11422824, upload-time = "2026-05-11T18:52:48.058Z" }, + { url = "https://files.pythonhosted.org/packages/f8/45/830bb57f533a4604b355e07edcb8ea18cf88b5f94e5fca92f27052d7c597/pandas-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f8894dc474d648fe7b6ff0ca9b0bd73950d19952bc1a6534540762c5d79d305c", size = 11950889, upload-time = "2026-05-11T18:52:50.905Z" }, + { url = "https://files.pythonhosted.org/packages/b9/c5/fc1b368f303087d20e8c9bf3d6ceb186263cfac0ade735cd938538bea839/pandas-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:c7be265b62cef88e253a941e4698604973736dcfe242fdb5198f0f7bc473cdcc", size = 9755463, upload-time = "2026-05-11T18:52:53.386Z" }, + { url = "https://files.pythonhosted.org/packages/86/bd/fda8f9705b1b09c6ebe14bfc0fa0e4ec8584d54ea673628f157ff55131af/pandas-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:557409bc4178e70ee8d9ddb494798e51ebf6ea59330f6be22c51bab2a7db6c49", size = 9066158, upload-time = "2026-05-11T18:52:56.038Z" }, + { url = "https://files.pythonhosted.org/packages/c5/90/62d8302883c44308c477e222c3daf7c813a34c8e96985882fbd53d964352/pandas-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:67b3b64c11910cfa29f4e94a14d3bff9ee693b6fc76055e7cad549cee0aec5fa", size = 10331071, upload-time = "2026-05-11T18:52:58.838Z" }, + { url = "https://files.pythonhosted.org/packages/7f/ae/6a6493c783a101f165e4356953ba3c74d6f77f0042fa7d753da9dfbb640c/pandas-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:39436b377d56d2a2e52d0395bdbee171f01068e99af5250509aceeb929f765c7", size = 9875690, upload-time = "2026-05-11T18:53:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/62/7c/5df8e9f56c69a2769fbe9382a5ef8f2658c007e376434e1e2cbb57ad895f/pandas-3.0.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4be06d68f9ddcfc645b87534911da79a8fbffc7573c80e0edcf42a5020624d8", size = 10381634, upload-time = "2026-05-11T18:53:04.393Z" }, + { url = "https://files.pythonhosted.org/packages/99/68/1237369725aa617bb358263d535803e3053fdbc593513ec5ed9c9896b5b6/pandas-3.0.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a4eeb6830daf35a71cc09649bd823e2b542dac246cdee9614c6e4bd65028cd6a", size = 10891243, upload-time = "2026-05-11T18:53:07.643Z" }, + { url = "https://files.pythonhosted.org/packages/25/93/77d108e8af7222b4a503ebde0e30215b1c2e4f8e53a526431890f22d5586/pandas-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1928e07221f82db493cd4af1e23c1bfca524a19a4699887975bff68f49a72bfb", size = 11388659, upload-time = "2026-05-11T18:53:10.634Z" }, + { url = "https://files.pythonhosted.org/packages/d0/bd/eff5b4399f332ac386c853f6cd2bd3fa2ca0061b9f36ecd9c4d7c4265649/pandas-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51b1fe551acb77dac643c6fda86084d8d446c10fe64b06a9cc29c4cc8540e7f2", size = 11942880, upload-time = "2026-05-11T18:53:13.536Z" }, + { url = "https://files.pythonhosted.org/packages/2c/20/559ace4200982c3887d0b86bfd0d856a2143ef8ddab63cc07934951a964c/pandas-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:a82d532a3351d435432cd913edbccaf8b8e01d4dd0e5ced5a8d2e8ecd94c7e44", size = 9757091, upload-time = "2026-05-11T18:53:16.306Z" }, + { url = "https://files.pythonhosted.org/packages/3a/66/69055a09fe200f29f922a3eeec4804611900b95f52d932ece3393c3c0c19/pandas-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:275c14e0fce14a2ec20eee474aecd305478ea3c1e6f6a9d8fe219a165542717e", size = 9057282, upload-time = "2026-05-11T18:53:18.768Z" }, + { url = "https://files.pythonhosted.org/packages/57/0e/efe801b0e6811e8e650cd21b7f2608e30f08a7067e2bf6e8752b0d56ee3c/pandas-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:46997386d528eb40376ecd6b033cf4a8a1e5282580f68f43de875b78cba2199d", size = 10767016, upload-time = "2026-05-11T18:53:21.227Z" }, + { url = "https://files.pythonhosted.org/packages/ea/dc/eb55135a1d5f0f0519f28da1f609a206d2cad1f9c35c32d51e38dd7261ae/pandas-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:261e308dfb22448384b7580cf719d2f998fe2966c92893c3e77d14008af1f066", size = 10420210, upload-time = "2026-05-11T18:53:23.982Z" }, + { url = "https://files.pythonhosted.org/packages/c6/3e/b1d5d955ce33ffecb407465a60bc32769d74fcf68224b7ae67ae11d4dea4/pandas-3.0.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dd1a5d1def6a46002e964510bdc67c368aa0951df5d1d9f8365336f5a1f490cd", size = 10336126, upload-time = "2026-05-11T18:53:26.731Z" }, + { url = "https://files.pythonhosted.org/packages/f5/76/a01261711ab60a22d71b862f0de20e4c504bf80457270ad8cb42110f6abc/pandas-3.0.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d72828c20c6d6e83e1e22a6a3b47b326b71664112fa9705dcbccfd7a39b62085", size = 10728051, upload-time = "2026-05-11T18:53:29.125Z" }, + { url = "https://files.pythonhosted.org/packages/e9/21/ea191195e587b18cf682e97f433f81b2d0fbe341380e80a3e0d6e4403c8e/pandas-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d26cbe1fcfc12e8fd900e2454163e466b2d3af84f7c75481df7683ffc073d870", size = 11350796, upload-time = "2026-05-11T18:53:32.056Z" }, + { url = "https://files.pythonhosted.org/packages/64/69/f0eaaf54939f0e8c6768fd06be9af2cef9b36048b96dfb9e1b2c685a807e/pandas-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3e91cec1879ada0624fc3dc9953c5cbd60208e59c0db28f540c5d6d47502422f", size = 11799741, upload-time = "2026-05-11T18:53:34.985Z" }, + { url = "https://files.pythonhosted.org/packages/45/a4/865e0e510cae5fc2194de4db28be638952de942571ba9125934fd9c01d47/pandas-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:08d789b41f87e0905880e293cedf6197ce71fe67cc081358b1e148a491b9bd13", size = 10499958, upload-time = "2026-05-11T18:53:37.857Z" }, + { url = "https://files.pythonhosted.org/packages/86/54/effdcc3c0ff7a08037889200e148ebe94c16c4f653be078c7b3675955df1/pandas-3.0.3-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:3650109c0f22879df8bd6179ab9ee3d7f1d1d4e7e0094a3f0032d9f51e2e64ac", size = 10336065, upload-time = "2026-05-11T18:53:41.099Z" }, + { url = "https://files.pythonhosted.org/packages/68/10/bf2d6738d72748b961a3751ab89522d58c54efc36a8e1a12161216cd45cf/pandas-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:bab900348131a7db1f69a7309ef141fd5680f1487094193bcbbb61791573bf8f", size = 9926101, upload-time = "2026-05-11T18:53:43.515Z" }, + { url = "https://files.pythonhosted.org/packages/ae/e9/e35cf11c8a136e757b956f5f0efdcaa50aecde85ea055f1898dfc68262f3/pandas-3.0.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba7e08b9ac1d54569cd1e256e3668975ed624d6826f7b68df0342b012007bddb", size = 10457553, upload-time = "2026-05-11T18:53:46.394Z" }, + { url = "https://files.pythonhosted.org/packages/58/3b/1cdec6772bdbaf7b25dab360c59f03cadf05492dd724c6540af905389b07/pandas-3.0.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d71c63ae4ebdbf70209742096f1fc46a83a0613c99d4b23766cced9ff8cd62a", size = 10914065, upload-time = "2026-05-11T18:53:49.134Z" }, + { url = "https://files.pythonhosted.org/packages/c4/c2/1ef644445fcd72e3627bceec77e3560636f87ddce4ed841afe76b83b5bf9/pandas-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e3a2ec42c98ffa2565a67e08e218d06d72576d758d90facb7c00805194d8f360", size = 11459188, upload-time = "2026-05-11T18:53:52.527Z" }, + { url = "https://files.pythonhosted.org/packages/7e/49/4d8d4f42cbc9c4adc7a1870f269c02cbd6cd40d059622c06fb298addcbad/pandas-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:335f62418ed562cfc3c49e9e196375c28b729dcef8543abf4f9438e381bf3c76", size = 11982966, upload-time = "2026-05-11T18:53:55.043Z" }, + { url = "https://files.pythonhosted.org/packages/38/55/792619469bab9882d8bbd5865d45a72f6478762d04a9af4bf0d08c503e95/pandas-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:3c20a521bbb85902f79f7270c80a59e1b5452d96d170c034f207181870f97ac5", size = 9876755, upload-time = "2026-05-11T18:53:58.067Z" }, + { url = "https://files.pythonhosted.org/packages/2a/af/33c469653b0ba03b50c3a98192d4c07f0c75c66b263ceb097fce0ee97d31/pandas-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:a2d2dff8a04f3917b55ab3910c32990f8ddf7eceba114947838cefa976a68977", size = 9198658, upload-time = "2026-05-11T18:54:00.733Z" }, + { url = "https://files.pythonhosted.org/packages/a2/fa/b8c257bd76b8bd060c3a9151c1fca05e9b9c5e3af5d0f549c0356f6d143d/pandas-3.0.3-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:0d589105b3c14645af1738ff279b2995102d8f7a03b0a66dc8d95550eb513e04", size = 10787242, upload-time = "2026-05-11T18:54:03.564Z" }, + { url = "https://files.pythonhosted.org/packages/54/eb/f19206ffb0bf1919002969aa448b4702c6594845156a6f8050674855aac3/pandas-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:13fc1e853d9e04743d11ba75a985ccbc2a317fe07d8af61e445a6fd24dacd6a6", size = 10436369, upload-time = "2026-05-11T18:54:06.311Z" }, + { url = "https://files.pythonhosted.org/packages/fd/24/c7c39fb4fe22b71a0c2d78bf0c585c600092d85f94f086d2b3b2f6ca27e2/pandas-3.0.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:819959dab7bbd0049c15623fbac4e29a191b9528160a61fb1032242d8ced2d9c", size = 10358306, upload-time = "2026-05-11T18:54:09.085Z" }, + { url = "https://files.pythonhosted.org/packages/16/ec/dd2a9eb7fa1204df88c0864164e35b228ac581062ac612ba0a67fd812e4c/pandas-3.0.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:60ae316d3fd75d1858d450d0db0103ea2be3e7d4a95ec2f064f7e2ae63f7b028", size = 10758394, upload-time = "2026-05-11T18:54:11.956Z" }, + { url = "https://files.pythonhosted.org/packages/95/6e/00c61ea8e85b4f6d8d35e11852a1a4998fc7fafc91c6a602d1cc9c972d64/pandas-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bd3a518890b400d32f9023722dc9a9a5c969f00b415419a3c06c043f09bb5d7d", size = 11375717, upload-time = "2026-05-11T18:54:14.539Z" }, + { url = "https://files.pythonhosted.org/packages/31/89/8fc1c268969fac43688d65fd92e67df24bd128d53cb4d2eee534cd307399/pandas-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9c39be2d709d01fa972a0cabc522389fceca4f3969332ba25a7d6c5802cf976a", size = 11828897, upload-time = "2026-05-11T18:54:17.146Z" }, + { url = "https://files.pythonhosted.org/packages/56/3b/e7d20dea247a3e6dc0bd8a6953854afbedc03951def4e7371e05e7263e25/pandas-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4db8c527972a821cf5286b40ccc57642a39bc62e62022b42f99f8a67fca8c3a1", size = 10900855, upload-time = "2026-05-11T18:54:19.72Z" }, + { url = "https://files.pythonhosted.org/packages/0f/54/68a0978d1ef8502b8492099beaa6e7a0c1b32e3b5d4f677f5810cb08711c/pandas-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b2c95f8bfc1ee412bf482605d7bfd30c12d1d26bd59fdd91efeef1d4718decb1", size = 9466464, upload-time = "2026-05-11T18:54:22.754Z" }, +] + +[[package]] +name = "paramiko" +version = "5.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "bcrypt" }, + { name = "cryptography" }, + { name = "invoke" }, + { name = "pynacl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/62/93/dcc25d52f49022ae6175d15e6bd751f1acc99b98bc61fc55e5155a7be2e7/paramiko-5.0.0.tar.gz", hash = "sha256:36763b5b95c2a0dcfdf1abc48e48156ee425b21efe2f0e787c2dd5a95c0e5e79", size = 1548586, upload-time = "2026-05-09T18:28:52.256Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/5b/eadf6d45de38d30ab603f49393b6cd2cbe7e233af8cf90197e32782b68a9/paramiko-5.0.0-py3-none-any.whl", hash = "sha256:b7044611c30140d9a75261653210e2002977b71a0497ff3ba0d98d7edbf62f7c", size = 208919, upload-time = "2026-05-09T18:28:50.295Z" }, +] + [[package]] name = "parso" version = "0.8.7" @@ -1232,12 +2568,81 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/99/5d/8268b644392ee874ee82a635cd0df1773de230bde356c38de28e298392cc/parso-0.8.7-py2.py3-none-any.whl", hash = "sha256:a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c", size = 107025, upload-time = "2026-05-01T23:12:58.867Z" }, ] +[[package]] +name = "passlib" +version = "1.7.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b6/06/9da9ee59a67fae7761aab3ccc84fa4f3f33f125b370f1ccdb915bf967c11/passlib-1.7.4.tar.gz", hash = "sha256:defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04", size = 689844, upload-time = "2020-10-08T19:00:52.121Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/a4/ab6b7589382ca3df236e03faa71deac88cae040af60c071a78d254a62172/passlib-1.7.4-py2.py3-none-any.whl", hash = "sha256:aa6bca462b8d8bda89c70b382f0c298a20b5560af6cbfa2dce410c0a2fb669f1", size = 525554, upload-time = "2020-10-08T19:00:49.856Z" }, +] + +[[package]] +name = "pendulum" +version = "3.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cb/72/9a51afa0a822b09e286c4cb827ed7b00bc818dac7bd11a5f161e493a217d/pendulum-3.2.0.tar.gz", hash = "sha256:e80feda2d10fa3ff8b1526715f7d33dcb7e08494b3088f2c8a3ac92d4a4331ce", size = 86912, upload-time = "2026-01-30T11:22:24.093Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c4/27/a4be6ec12161b503dd036f8d7cc57f8626170ae31bb298038be9af0001ce/pendulum-3.2.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5d775cc608c909ad415c8e789c84a9f120bb6a794c4215b2d8d910893cf0ec6a", size = 337923, upload-time = "2026-01-30T11:20:51.61Z" }, + { url = "https://files.pythonhosted.org/packages/59/e1/2a214e18355ec2a6ce3f683a97eecdb6050866ff3a6cf165d411450aeb1b/pendulum-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8de794a7f665aebc8c1ba4dd4b05ab8fe1a36ce9c0498366adf1d1edd79b2686", size = 327379, upload-time = "2026-01-30T11:20:53.085Z" }, + { url = "https://files.pythonhosted.org/packages/9d/01/7392e58ebc1d9e70b987dc8bb0c89710b47ac8125067efe7aa4c420b616f/pendulum-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bac7df7696e1c942e17c0556b3a7bcdd1d7aa5b24faee7620cb071e754a0622", size = 340115, upload-time = "2026-01-30T11:20:54.635Z" }, + { url = "https://files.pythonhosted.org/packages/ef/33/80de84c5ca1a3e4f7f3b75090c9b61b6dbb6d095e302ee592cebbaf0bbfb/pendulum-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db0f6a8a04475d9cba26ce701e7d66d266fd97227f2f5f499270eba04be1c7e9", size = 373969, upload-time = "2026-01-30T11:20:56.209Z" }, + { url = "https://files.pythonhosted.org/packages/75/e4/f7b4c1818927ab394a2a0a9b7011f360a0a75839a22678833c5bc0a84183/pendulum-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c352c63c1ff05f2198409b28498d7158547a8be23e1fbd4aa2cf5402fb239b55", size = 379058, upload-time = "2026-01-30T11:20:57.618Z" }, + { url = "https://files.pythonhosted.org/packages/36/94/9947cf710620afcc68751683f2f8de88d902505e7c13c0349d7e9d362f97/pendulum-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de8c1ad1d1aa7d4ceae341528bab35a0f8c88a5aa63f2f5d84e16b517d1b32c2", size = 348403, upload-time = "2026-01-30T11:20:59.56Z" }, + { url = "https://files.pythonhosted.org/packages/6f/12/0e6ba0bb00fa57907af2a3fca8643bded5dba1e87072d50673776a0d6ed2/pendulum-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1ba955511c12fec2252038b0c866c25c0c30b720bf74d3023710f121e42b1498", size = 517457, upload-time = "2026-01-30T11:21:01.602Z" }, + { url = "https://files.pythonhosted.org/packages/c6/fe/dae5fbfe67bd41d943def0ad8f1e7f6988aa8e527255e433cd7c494f9ad5/pendulum-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4115bf364a2ec6d5ddc476751ceaa4164a04f2c15589f0d29aa210ddb784b15d", size = 561103, upload-time = "2026-01-30T11:21:03.924Z" }, + { url = "https://files.pythonhosted.org/packages/ce/a0/8f646160b98abfc19152505af19bd643a4279ec2bdbe0959f16b7025fc6b/pendulum-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:4151a903356413fdd9549de0997b708fb95a214ed97803ffb479ffd834088378", size = 260595, upload-time = "2026-01-30T11:21:05.495Z" }, + { url = "https://files.pythonhosted.org/packages/79/01/feead7af9ded7a13f2d798fb6573e70f469113eafcd8cc8f59671584ca3e/pendulum-3.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:acfdee9ddc56053cb7c8c075afbfde0857322d09e56a56195b9cd127fae87e4c", size = 255382, upload-time = "2026-01-30T11:21:06.847Z" }, + { url = "https://files.pythonhosted.org/packages/41/56/dd0ea9f97d25a0763cda09e2217563b45714786118d8c68b0b745395d6eb/pendulum-3.2.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:bf0b489def51202a39a2a665dcc4162d5e46934a740fe4c4fe3068979610156c", size = 337830, upload-time = "2026-01-30T11:21:08.298Z" }, + { url = "https://files.pythonhosted.org/packages/cf/98/83d62899bf7226fc12396de4bc1fb2b5da27e451c7c60790043aaf8b4731/pendulum-3.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:937a529aa302efa18dcf25e53834964a87ffb2df8f80e3669ab7757a6126beaf", size = 327574, upload-time = "2026-01-30T11:21:09.715Z" }, + { url = "https://files.pythonhosted.org/packages/76/fa/ff2aa992b23f0543c709b1a3f3f9ed760ec71fd02c8bb01f93bf008b52e4/pendulum-3.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85c7689defc65c4dc29bf257f7cca55d210fabb455de9476e1748d2ab2ae80d7", size = 339891, upload-time = "2026-01-30T11:21:11.089Z" }, + { url = "https://files.pythonhosted.org/packages/c5/4e/25b4fa11d19503d50d7b52d7ef943c0f20fd54422aaeb9e38f588c815c50/pendulum-3.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5e216e5a412563ea2ecf5de467dcf3d02717947fcdabe6811d5ee360726b02b", size = 373726, upload-time = "2026-01-30T11:21:12.493Z" }, + { url = "https://files.pythonhosted.org/packages/4f/30/0acad6396c4e74e5c689aa4f0b0c49e2ecdcfce368e7b5bf35ca1c0fc61a/pendulum-3.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3a2af22eeec438fbaac72bb7fba783e0950a514fba980d9a32db394b51afccec", size = 379827, upload-time = "2026-01-30T11:21:14.08Z" }, + { url = "https://files.pythonhosted.org/packages/3a/f7/e6a2fdf2a23d59b4b48b8fa89e8d4bf2dd371aea2c6ba8fcecec20a4acb9/pendulum-3.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3159cceb54f5aa8b85b141c7f0ce3fac8bdd1ffdc7c79e67dca9133eac7c4d11", size = 348921, upload-time = "2026-01-30T11:21:15.816Z" }, + { url = "https://files.pythonhosted.org/packages/7f/f2/c15fa7f9ad4e181aa469b6040b574988bd108ccdf4ae509ad224f9e4db44/pendulum-3.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c39ea5e9ffa20ea8bae986d00e0908bd537c8468b71d6b6503ab0b4c3d76e0ea", size = 517188, upload-time = "2026-01-30T11:21:17.835Z" }, + { url = "https://files.pythonhosted.org/packages/47/c7/5f80b12ee88ec26e930c3a5a602608a63c29cf60c81a0eb066d583772550/pendulum-3.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e5afc753e570cce1f44197676371f68953f7d4f022303d141bb09f804d5fe6d7", size = 561833, upload-time = "2026-01-30T11:21:19.232Z" }, + { url = "https://files.pythonhosted.org/packages/90/15/1ac481626cb63db751f6281e294661947c1f0321ebe5d1c532a3b51a8006/pendulum-3.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:fd55c12560816d9122ca2142d9e428f32c0c083bf77719320b1767539c7a3a3b", size = 258725, upload-time = "2026-01-30T11:21:20.558Z" }, + { url = "https://files.pythonhosted.org/packages/40/ae/50b0398d7d027eb70a3e1e336de7b6e599c6b74431cb7d3863287e1292bb/pendulum-3.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:faef52a7ed99729f0838353b956f3fabf6c550c062db247e9e2fc2b48fcb9457", size = 253089, upload-time = "2026-01-30T11:21:22.497Z" }, + { url = "https://files.pythonhosted.org/packages/27/8c/400c8b8dbd7524424f3d9902ded64741e82e5e321d1aabbd68ade89e71cf/pendulum-3.2.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:addb0512f919fe5b70c8ee534ee71c775630d3efe567ea5763d92acff857cfc3", size = 337820, upload-time = "2026-01-30T11:21:24.305Z" }, + { url = "https://files.pythonhosted.org/packages/59/38/7c16f26cc55d9206d71da294ce6857d0da381e26bc9e0c2a069424c2b173/pendulum-3.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3aaa50342dc174acebdc21089315012e63789353957b39ac83cac9f9fc8d1075", size = 327551, upload-time = "2026-01-30T11:21:25.747Z" }, + { url = "https://files.pythonhosted.org/packages/0b/cd/f36ec5d56d55104232380fdbf84ff53cc05607574af3cbdc8a43991ac8a7/pendulum-3.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:927e9c9ab52ff68e71b76dd410e5f1cd78f5ea6e7f0a9f5eb549aea16a4d5354", size = 339894, upload-time = "2026-01-30T11:21:27.229Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4e/b9a1e546519c3a92d5bc17787cea925e06a20def2ae344fa136d2fc40338/pendulum-3.2.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:249d18f5543c9f43aba3bd77b34864ec8cf6f64edbead405f442e23c94fce63d", size = 373766, upload-time = "2026-01-30T11:21:28.642Z" }, + { url = "https://files.pythonhosted.org/packages/ea/a6/6471ab87ae2260594501f071586a765fc894817043b7d2d4b04e2eff4f31/pendulum-3.2.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c644cc15eec5fb02291f0f193195156780fd5a0affd7a349592403826d1a35e", size = 379837, upload-time = "2026-01-30T11:21:30.637Z" }, + { url = "https://files.pythonhosted.org/packages/0d/79/0ba0c14e862388f7b822626e6e989163c23bebe7f96de5ec4b207cbe7c3d/pendulum-3.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:063ab61af953bb56ad5bc8e131fd0431c915ed766d90ccecd7549c8090b51004", size = 348904, upload-time = "2026-01-30T11:21:32.436Z" }, + { url = "https://files.pythonhosted.org/packages/17/34/df922c7c0b12719589d4954bfa5bdca9e02bcde220f5c5c1838a87118960/pendulum-3.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:26a3ae26c9dd70a4256f1c2f51addc43641813574c0db6ce5664f9861cd93621", size = 517173, upload-time = "2026-01-30T11:21:34.428Z" }, + { url = "https://files.pythonhosted.org/packages/87/ec/3b9e061eeee97b72a47c1434ee03f6d85f0284d9285d92b12b0fff2d19ac/pendulum-3.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:2b10d91dc00f424444a42f47c69e6b3bfd79376f330179dc06bc342184b35f9a", size = 561744, upload-time = "2026-01-30T11:21:35.861Z" }, + { url = "https://files.pythonhosted.org/packages/fd/7e/f12fdb6070b7975c1fcfa5685dbe4ab73c788878a71f4d1d7e3c87979e37/pendulum-3.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:63070ff03e30a57b16c8e793ee27da8dac4123c1d6e0cf74c460ce9ee8a64aa4", size = 258746, upload-time = "2026-01-30T11:21:37.782Z" }, + { url = "https://files.pythonhosted.org/packages/c9/b8/5abd872056357f069ae34a9b24a75ac58e79092d16201d779a8dd31386bb/pendulum-3.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c8dde63e2796b62070a49ce813ce200aba9186130307f04ec78affcf6c2e8122", size = 253028, upload-time = "2026-01-30T11:21:39.381Z" }, + { url = "https://files.pythonhosted.org/packages/82/99/5b9cc823862450910bcb2c7cdc6884c0939b268639146d30e4a4f55eb1f1/pendulum-3.2.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:c17ac069e88c5a1e930a5ae0ef17357a14b9cc5a28abadda74eaa8106d241c8e", size = 338281, upload-time = "2026-01-30T11:21:40.812Z" }, + { url = "https://files.pythonhosted.org/packages/cd/3a/64a35260f6ac36c0ad50eeb5f1a465b98b0d7603f79a5c2077c41326d639/pendulum-3.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e1fbb540edecb21f8244aebfb05a1f2333ddc6c7819378c099d4a61cc91ae93c", size = 328030, upload-time = "2026-01-30T11:21:42.778Z" }, + { url = "https://files.pythonhosted.org/packages/da/6b/1140e09310035a2afb05bb90a2b8fbda9d3222e03b92de9533123afe6b65/pendulum-3.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8c67fb9a1fe8fc1adae2cc01b0c292b268c12475b4609ff4aed71c9dd367b4d", size = 340206, upload-time = "2026-01-30T11:21:44.148Z" }, + { url = "https://files.pythonhosted.org/packages/52/4a/a493de56cbc24a64b21ac6ba98513a9ec5c67daa3dba325e39a8e53f30d8/pendulum-3.2.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:baa9a66c980defda6cfe1275103a94b22e90d83ebd7a84cc961cee6cbd25a244", size = 373976, upload-time = "2026-01-30T11:21:45.56Z" }, + { url = "https://files.pythonhosted.org/packages/3c/4c/f083c4fd1a161d4ab218680cc906338c541497b3098373f2241f58c429cb/pendulum-3.2.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef8f783fa7a14973b0596d8af2a5b2d90858a55030e9b4c6885eb4284b88314f", size = 380075, upload-time = "2026-01-30T11:21:46.959Z" }, + { url = "https://files.pythonhosted.org/packages/57/b6/333a0fcb33bf15eb879a46a11ce6300c1698a141e689665fe430783ff8d6/pendulum-3.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7d2e9bfb065727d8676e7ada3793b47a24349500a5e9637404355e482c822be", size = 349026, upload-time = "2026-01-30T11:21:48.271Z" }, + { url = "https://files.pythonhosted.org/packages/43/1a/dfb526ec0cba1e7cd6a5e4f4dd64a6ada7428d1449c54b15f7b295f6e122/pendulum-3.2.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:55d7ba6bb74171c3ee409bf30076ee3a259a3c2bb147ac87ebb76aaa3cf5d3a2", size = 517395, upload-time = "2026-01-30T11:21:49.643Z" }, + { url = "https://files.pythonhosted.org/packages/c9/37/b4f2b5f1200351c4869b8b46ad5c21019e3dbe0417f5867ae969fad7b5fe/pendulum-3.2.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:a50d8cf42f06d3d8c3f8bb2a7ac47fa93b5145e69de6a7209be6a47afdd9cf76", size = 561926, upload-time = "2026-01-30T11:21:51.698Z" }, + { url = "https://files.pythonhosted.org/packages/a0/9e/567376582da58f5fe8e4f579db2bcfbf243cf619a5825bdf1023ad1436b3/pendulum-3.2.0-cp314-cp314-win_amd64.whl", hash = "sha256:e5bbb92b155cd5018b3cf70ee49ed3b9c94398caaaa7ed97fe41e5bb5a968418", size = 258817, upload-time = "2026-01-30T11:21:53.074Z" }, + { url = "https://files.pythonhosted.org/packages/95/67/dfffd7eb50d67fa821cd4d92cf71575ead6162930202bc40dfcedf78c38c/pendulum-3.2.0-cp314-cp314-win_arm64.whl", hash = "sha256:d53134418e04335c3029a32e9341cccc9b085a28744fb5ee4e6a8f5039363b1a", size = 253292, upload-time = "2026-01-30T11:21:54.484Z" }, + { url = "https://files.pythonhosted.org/packages/c9/0d/d5ac8468a1b40f09a62d6e91654088de432367907579dd161c0fb1bdf222/pendulum-3.2.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9585594d32faa71efa5a78f576f1ee4f79e9c5340d7c6f0cd6c5dfe725effaaa", size = 338760, upload-time = "2026-01-30T11:22:12.225Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e5/7fa8c8be6caac8e0be78fbe7668df571f44820ed779cb3736fab645fcba8/pendulum-3.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:26401e2de77c437e8f3b6160c08c6c5d45518d906f8f9b48fd7cb5aa0f4e2aff", size = 328333, upload-time = "2026-01-30T11:22:13.811Z" }, + { url = "https://files.pythonhosted.org/packages/ad/78/73a1031b7d1bf7986e8e655cea3f018164b3470aecfea25a4074e77dda73/pendulum-3.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:637e65af042f383a2764a886aa28ccc6f853bf7a142df18e41c720542934c13b", size = 340841, upload-time = "2026-01-30T11:22:15.278Z" }, + { url = "https://files.pythonhosted.org/packages/49/40/4e36e9074e92b0164c088b9ada3c02bfea386d83e24fa98b30fe9b6e61a8/pendulum-3.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6e46c28f4d067233c4a4c42748f4ffa641d9289c09e0e81488beb6d4b3fab51", size = 348959, upload-time = "2026-01-30T11:22:16.718Z" }, + { url = "https://files.pythonhosted.org/packages/24/99/8bf7fcb91b526e1efe17d047faa845709b88800fff915ff848ff26054293/pendulum-3.2.0-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:71d46bcc86269f97bfd8c5f1475d55e717696a0a010b1871023605ca94624031", size = 518102, upload-time = "2026-01-30T11:22:18.2Z" }, + { url = "https://files.pythonhosted.org/packages/b8/b0/a36c468d2d0dec62ddea7c5e4177e93abb12f48ac90f09f24d0581c5189f/pendulum-3.2.0-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:5cd956d4176afc7bfe8a91bf3f771b46ff8d326f6c5bf778eb5010eb742ebba6", size = 561884, upload-time = "2026-01-30T11:22:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/c5/4d/dad105261898907bf806cabca53d3878529a9fa2c0d5d7f95f2035246fc2/pendulum-3.2.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:39ef129d7b90aab49708645867abdd207b714ba7bff12dae549975b0aca09716", size = 261236, upload-time = "2026-01-30T11:22:21.059Z" }, + { url = "https://files.pythonhosted.org/packages/02/fb/d65db067a67df7252f18b0cb7420dda84078b9e8bfb375215469c14a50be/pendulum-3.2.0-py3-none-any.whl", hash = "sha256:f3a9c18a89b4d9ef39c5fa6a78722aaff8d5be2597c129a3b16b9f40a561acf3", size = 114111, upload-time = "2026-01-30T11:22:22.361Z" }, +] + [[package]] name = "pexpect" version = "4.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "ptyprocess" }, + { name = "ptyprocess", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } wheels = [ @@ -1329,6 +2734,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/36/54/0169bc772ec491108b62f644f8ecf1fe5d8ae5ebafde2ee2142210166903/pillow-12.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:04f01d28a6aaff387bf842a13be313df23ba0597a44f1a976c9feb3c6ff4711a", size = 7231786, upload-time = "2026-07-01T11:56:35.046Z" }, ] +[[package]] +name = "pip" +version = "26.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/91/47e7d486260f618783899587af63ccf7980fb60245c3e63dd4571c6b57ad/pip-26.1.2.tar.gz", hash = "sha256:f49cd134c61cf2fd75e0ce2676db03e4054504a5a4986d00f8299ae632dc4605", size = 1840799, upload-time = "2026-05-31T17:33:58.56Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5d/95/6b5cb3461ea5673ba0995989746db58eb18b91b54dbf331e72f569540946/pip-26.1.2-py3-none-any.whl", hash = "sha256:382ff9f685ee3bc25864f820aa50505825f10f5458ffff07e30a6d96e5715cab", size = 1813144, upload-time = "2026-05-31T17:33:56.772Z" }, +] + [[package]] name = "platformdirs" version = "4.10.1" @@ -1338,6 +2752,27 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ec/73/6fd0bb9ce84138c3857f12e9de63bc901852975a092d545f18087a204aa2/platformdirs-4.10.1-py3-none-any.whl", hash = "sha256:0e4eff26be2d75293977f7cddc153fd9b8eaa7fb0c7b64ffe4076cb443117443", size = 22906, upload-time = "2026-07-18T03:53:42.576Z" }, ] +[[package]] +name = "prettytable" +version = "3.18.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/81/74/ba08d81e668ccfe8658d7520a307e63c19862c08eb4ccb26f356c5239a7a/prettytable-3.18.0.tar.gz", hash = "sha256:439217116152244369caf3d9f1caf2f9fe29b03bd79e88d2928c8e718c95d680", size = 76373, upload-time = "2026-06-22T16:07:50.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/be/2e6798ace5cc036f5d05d36b7b2fd85346f1a708c87060890b070d0ec607/prettytable-3.18.0-py3-none-any.whl", hash = "sha256:b3346e0e6f79180833aebaac088ae926340586cf6d7d991b9eb125b65f72313a", size = 37357, upload-time = "2026-06-22T16:07:48.595Z" }, +] + +[[package]] +name = "prometheus-client" +version = "0.25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1b/fb/d9aa83ffe43ce1f19e557c0971d04b90561b0cfd50762aafb01968285553/prometheus_client-0.25.0.tar.gz", hash = "sha256:5e373b75c31afb3c86f1a52fa1ad470c9aace18082d39ec0d2f918d11cc9ba28", size = 86035, upload-time = "2026-04-09T19:53:42.359Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/9b/d4b1e644385499c8346fa9b622a3f030dce14cd6ef8a1871c221a17a67e7/prometheus_client-0.25.0-py3-none-any.whl", hash = "sha256:d5aec89e349a6ec230805d0df882f3807f74fd6c1a2fa86864e3c2279059fed1", size = 64154, upload-time = "2026-04-09T19:53:41.324Z" }, +] + [[package]] name = "prompt-toolkit" version = "3.0.52" @@ -1350,6 +2785,132 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431, upload-time = "2025-08-27T15:23:59.498Z" }, ] +[[package]] +name = "propcache" +version = "0.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/44/c87281c333769159c50594f22610f77398a47ccbfbbf23074e744e86f87c/propcache-0.5.2.tar.gz", hash = "sha256:01c4fc7480cd0598bb4b57022df55b9ca296da7fc5a8760bd8451a7e63a7d427", size = 50208, upload-time = "2026-05-08T21:02:12.199Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/f1/8a8cc1c2c7e7934ab77e0163414f736fadbc0f5e8dd9673b952355ac175b/propcache-0.5.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:74b70780220e2dd89175ca24b81b68b67c83db499ae611e7f2313cb329801c78", size = 90744, upload-time = "2026-05-08T20:59:45.799Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f4/651b1225e976bd1a2ba5cfba0c29d096581c2636b437e3a9a7ab6276270a/propcache-0.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a4840ab0ae0216d952f4b53dc6d0b992bfc2bedbfe360bdd9b548bc184c08959", size = 52033, upload-time = "2026-05-08T20:59:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/15/a8/8ede85d6aa1f79fc7dc2f8fd2c8d65920b8272c3892903c8a1affde48cfb/propcache-0.5.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c6844ba6364fb12f403928a82cfd295ab103a2b315c77c747b2dbe4a41894ea7", size = 52754, upload-time = "2026-05-08T20:59:49.202Z" }, + { url = "https://files.pythonhosted.org/packages/7d/fe/b3551b41bbc2f5b5bb088fc6920567cd43101253e68fbaa261339eb96fe1/propcache-0.5.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2293949b855ce597f2826452d17c2d545fb5622379c4ea6fdf525e9b8e8a2511", size = 57573, upload-time = "2026-05-08T20:59:50.778Z" }, + { url = "https://files.pythonhosted.org/packages/83/27/ab851ebd1b7172e3e161f5f8d39e315d54a91bea246f01f4d872d3376aef/propcache-0.5.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0fd59b5af35f74da48d905dcbad55449ba13be91823cb05a9bd590bbf5b61660", size = 60645, upload-time = "2026-05-08T20:59:52.227Z" }, + { url = "https://files.pythonhosted.org/packages/95/7d/466b3d18022e9897cbda9c735c493c5bd747d7a4c6f5ea1480b4cec434b6/propcache-0.5.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29f9309a2e42b0d273be006fdb4be2d6c39a47f6f57d8fb1cf9f81481df81b66", size = 61563, upload-time = "2026-05-08T20:59:53.866Z" }, + { url = "https://files.pythonhosted.org/packages/27/1b/16ab7f2cf2041da2f60d156ba64c2484eadf9168075b4ff43c3ef60045af/propcache-0.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5aaa2b923c1944ac8febd6609cb373540a5563e7cbcb0fd770f75dace2eb817b", size = 58888, upload-time = "2026-05-08T20:59:55.457Z" }, + { url = "https://files.pythonhosted.org/packages/0a/67/bb777ffd907633563bf35fd859c4ce97b0512c32f4633cf5d1eb7c33512b/propcache-0.5.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:66ea454f095ddf5b6b14f56c064c0941c4788be11e18d2464cf643bf7203ff67", size = 59253, upload-time = "2026-05-08T20:59:57.075Z" }, + { url = "https://files.pythonhosted.org/packages/b9/42/64f8d90b73fd9cdc1499b48057ff6d9cd2a98a25734c9bb62ecf07e87061/propcache-0.5.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:95f1e3f4760d404b13c9976c0229b2b49a3c8e2c62a9ce92efdd2b11ada75e3f", size = 57558, upload-time = "2026-05-08T20:59:58.602Z" }, + { url = "https://files.pythonhosted.org/packages/eb/02/dba5bc03c9041f2092ea55a449caf5dfe68352c6654511b29ba0654ddb69/propcache-0.5.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:85341b12b9d55bad0bded24cac341bb34289469e03a11f3f583ea1cc1db0326c", size = 55007, upload-time = "2026-05-08T20:59:59.837Z" }, + { url = "https://files.pythonhosted.org/packages/14/c0/43f649c7aa2a77a3b100d84e9dea3a483120ecb608bfe36ce49eaff517fe/propcache-0.5.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:26a4dca084132874e639895c3135dfad5eb20bae209f62d1aeb31b03e601c3c0", size = 60355, upload-time = "2026-05-08T21:00:01.144Z" }, + { url = "https://files.pythonhosted.org/packages/83/c0/435dafd27f1cb4a495381dae60e25883ccfe4020bb72818e8184c1678092/propcache-0.5.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3b199b9b2b3d6a7edf3183ba8a9a137a22b97f7df525feb5ae1eccf026d2a9c6", size = 59057, upload-time = "2026-05-08T21:00:02.401Z" }, + { url = "https://files.pythonhosted.org/packages/53/ae/6e292df9135d659944e96cb3389258e4a663e5b2b5f6c217ef0ddc8d2f73/propcache-0.5.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e59bc9e66329185b93dab73f210f1a37f81cb40f321501db8017c9aea15dba27", size = 61938, upload-time = "2026-05-08T21:00:03.638Z" }, + { url = "https://files.pythonhosted.org/packages/0b/42/314ebc50d8159055411fd6b0bda322ff510e4b1f7d2e4927940ad0f6af20/propcache-0.5.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:552ffadf6ad409844bc5919c42a0a83d88314cedddaea0e41e80a8b8fffe881f", size = 59731, upload-time = "2026-05-08T21:00:04.881Z" }, + { url = "https://files.pythonhosted.org/packages/b8/9b/2da6dee38871c3c8772fabc2758325a5c9077d6d18c597737dc04dd884cd/propcache-0.5.2-cp311-cp311-win32.whl", hash = "sha256:cd416c1de191973c52ff1a12a57446bfc7642797b282d7caf2162d7d1b8aa9a0", size = 38966, upload-time = "2026-05-08T21:00:06.511Z" }, + { url = "https://files.pythonhosted.org/packages/42/4e/f17363fb58c0afe05b067361cb6d86ed2d29de6506779a27547c4d183075/propcache-0.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:44e488ef40dbb452700b2b1f8188934121f6648f52c295055662d2191959ff82", size = 42135, upload-time = "2026-05-08T21:00:08.088Z" }, + { url = "https://files.pythonhosted.org/packages/c6/eb/6af6685077d22e8b33358d3c548e3282706a0b3cd85044ffba4e5dd08e3b/propcache-0.5.2-cp311-cp311-win_arm64.whl", hash = "sha256:54adaa85a22078d1e306304a40984dc5be99d599bf3dc0a24dc98f7daeab89ab", size = 38381, upload-time = "2026-05-08T21:00:09.692Z" }, + { url = "https://files.pythonhosted.org/packages/4a/cb/e27bc2b2737a0bb49962b275efa051e8f1c35a936df7d5139b6b658b7dc9/propcache-0.5.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:806719138ecd720339a12410fb9614ac9b2b2d3a5fdf8235d56981c36f4039ba", size = 95887, upload-time = "2026-05-08T21:00:11.277Z" }, + { url = "https://files.pythonhosted.org/packages/e6/13/b8ae04c59392f8d11c6cd9fb4011d1dc7c86b81225c770280300e259ffe1/propcache-0.5.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:db2b80ea58eab4f86b2beec3cc8b39e8ff9276ac20e96b7cce43c8ae84cd6b5a", size = 54654, upload-time = "2026-05-08T21:00:12.604Z" }, + { url = "https://files.pythonhosted.org/packages/2c/7d/49777a3e20b55863d4794384a38acd460c04157b0a00f8602b0d508b8431/propcache-0.5.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e5cbfac9f61484f7e9f3597775500cd3ebe8274e9b050c38f9525c77c97520bf", size = 55190, upload-time = "2026-05-08T21:00:13.935Z" }, + { url = "https://files.pythonhosted.org/packages/44/c7/085d0cd63062e84044e3f05797749c3f8e3938ff3aeb0eb2f69d43fafc91/propcache-0.5.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dbc581d2814337da56222fab8dc5f161cd798a434e49bac27930aaef798e144", size = 59995, upload-time = "2026-05-08T21:00:15.526Z" }, + { url = "https://files.pythonhosted.org/packages/9c/42/32cf8e3009e92b2645cf1e944f701e8ea4e924dffde1ee26db860bcbf7e4/propcache-0.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:857187f381f88c8e2fa2fe56ab94879d011b883d5a2ee5a1b60a8cd2a06846d9", size = 63422, upload-time = "2026-05-08T21:00:16.824Z" }, + { url = "https://files.pythonhosted.org/packages/9e/1b/f112433f99fc979431b87a39ef169e3f8df070d99a72792c56d6937ac48b/propcache-0.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:178b4a2cdaac1818e2bf1c5a99b94383fa73ea5382e032a48dec07dc5668dc42", size = 64342, upload-time = "2026-05-08T21:00:18.362Z" }, + { url = "https://files.pythonhosted.org/packages/14/15/5574111ae50dd6e879456888c0eadd4c5a869959775854e18e18a6b345f3/propcache-0.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f328175a2cde1f0ff2c4ed8ce968b9dcfb55f3a7153f39e2957ed994da13476", size = 61639, upload-time = "2026-05-08T21:00:19.692Z" }, + { url = "https://files.pythonhosted.org/packages/cc/da/4d775080b1490c0ae604acda868bd71aabe3a89ed16f2aa4339eb8a283e7/propcache-0.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5671d09a36b06d0fd4a3da0fccbcae360e9b1570924171a15e9e0997f0249fba", size = 61588, upload-time = "2026-05-08T21:00:21.155Z" }, + { url = "https://files.pythonhosted.org/packages/04/ac/f076982cbe2195ee9cf32de5a1e46951d9fb399fc207f390562dd0fd8fb2/propcache-0.5.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80168e2ebe4d3ec6599d10ad8f520304ae1cad9b6c5a95372aef1b66b7bfb53a", size = 60029, upload-time = "2026-05-08T21:00:22.713Z" }, + { url = "https://files.pythonhosted.org/packages/70/60/189be62e0dd898dce3b331e1b8c7a543cd3a405ac0c81fe8ee8a9d5d77e1/propcache-0.5.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45f11346f884bc47444f6e6647131055844134c3175b629f84952e2b5cd62b64", size = 56774, upload-time = "2026-05-08T21:00:24.001Z" }, + { url = "https://files.pythonhosted.org/packages/ea/9e/93377b9c7939c1ffae98f878dee955efadfd638078bc86dbc21f9d52f651/propcache-0.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e778ebd44ef4f66ed60a0416b06b489687db264a9c0b3620362f26489492913", size = 63532, upload-time = "2026-05-08T21:00:25.545Z" }, + { url = "https://files.pythonhosted.org/packages/14/f9/590ef6cfb9b8028d516d287812ece32bb0bc5f11fbb9c8bf6b2e6313fec8/propcache-0.5.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:c0cb9ed24c8964e172768d455a38254c2dd8a552905729ce006cad3d3dda59b1", size = 61592, upload-time = "2026-05-08T21:00:27.186Z" }, + { url = "https://files.pythonhosted.org/packages/b4/5e/70958b3034c297a630bba2f17ca7abc2d5f39a803ad7e370ab79d1ecd022/propcache-0.5.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1d1ad32d9d4355e2be65574fd0bfd3677e7066b009cd5b9b2dee8aa6a6393b33", size = 64788, upload-time = "2026-05-08T21:00:28.8Z" }, + { url = "https://files.pythonhosted.org/packages/12/fd/77fe5936d8c3086ca9048f7f415f122ed82e53884a9ec193646b42deef06/propcache-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c80f4ba3e8f00189165999a742ee526ebeccedf6c3f7beb0c7df821e9772435a", size = 62514, upload-time = "2026-05-08T21:00:30.098Z" }, + { url = "https://files.pythonhosted.org/packages/cf/74/66bd798b5b3be70aa1b391f5cc9d6a0a5532d7fd3b19ec0b213e72e6ad9d/propcache-0.5.2-cp312-cp312-win32.whl", hash = "sha256:8c7972d8f193740d9175f0998ab38717e6cd322d5935c5b0fef8c0d323fd9031", size = 39018, upload-time = "2026-05-08T21:00:31.622Z" }, + { url = "https://files.pythonhosted.org/packages/61/7c/5c0d34aa3024694d6dcb9271cdbdd08c4e47c1c0ad95ec7e7bc74cdea145/propcache-0.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:d9ee8826a7d47863a08ac44e1a5f611a462eefc3a194b492da242128bec75b42", size = 42322, upload-time = "2026-05-08T21:00:32.918Z" }, + { url = "https://files.pythonhosted.org/packages/4d/91/875812f1a3feb20ceba818ef39fbe4d92f1081e04ac815c822496d0d038b/propcache-0.5.2-cp312-cp312-win_arm64.whl", hash = "sha256:2800a4a8ead6b28cccd1ec54b59346f0def7922ee1c7598e8499c733cfbb7c84", size = 38172, upload-time = "2026-05-08T21:00:35.124Z" }, + { url = "https://files.pythonhosted.org/packages/c5/09/f049e45385503fe67db75a6b6186a7b9f0c3930366dc960522c312a825b1/propcache-0.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:099aaf4b4d1a02265b92a977edf00b5c4f63b3b17ac6de39b0d637c9cac0188a", size = 94457, upload-time = "2026-05-08T21:00:36.355Z" }, + { url = "https://files.pythonhosted.org/packages/6b/65/83d1d05655baf63113731bd5a1008435e14f8d1e5a06cbe4ec5b23ad7a31/propcache-0.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:68ce1c44c7a813a7f71ea04315a8c7b330b63db99d059a797a4651bb6f69f117", size = 53835, upload-time = "2026-05-08T21:00:38.072Z" }, + { url = "https://files.pythonhosted.org/packages/a9/12/a6ba6482bb5ea3260c000c9b20881c95fa11c6b30173715668259f844ed7/propcache-0.5.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fc299c129490f55f254cd90be0deca4764e36e9a7c08b4aa588479a3bbed3098", size = 54545, upload-time = "2026-05-08T21:00:39.319Z" }, + { url = "https://files.pythonhosted.org/packages/a9/19/7fa086f5764c59ec8a8e157cd93aa8497acc00aba9dcdec56bfffb32602d/propcache-0.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6ae2198be502c10f09b2516e7b5d019816924bc3183a43ce792a7bd6625e6f4", size = 59886, upload-time = "2026-05-08T21:00:40.621Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e4/5d7663dc8235956c8f5281698a3af1d351d8820341ddd890f59d9a9127f2/propcache-0.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6041d31504dc1779d700e1edcfb08eea334b357620b06681a4eabb57a74e574e", size = 63261, upload-time = "2026-05-08T21:00:41.775Z" }, + { url = "https://files.pythonhosted.org/packages/4a/4a/15a03adee24d6350da4292caeac44c34c033d2afe5e87eb370f38854560f/propcache-0.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f7eabc04151c78a9f4d5bbb5f1faf571e4defeb4b585e0fe95b60ff2dbe4d3d7", size = 64184, upload-time = "2026-05-08T21:00:43.018Z" }, + { url = "https://files.pythonhosted.org/packages/8b/c6/979176efdaa3d239e36d503d5af63a0a773b36662ed8f52e5b6a6d9fd40e/propcache-0.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4db0ba63d693afd40d249bd93f842b5f144f8fcbb83de05660373bcf30517b1d", size = 61534, upload-time = "2026-05-08T21:00:44.507Z" }, + { url = "https://files.pythonhosted.org/packages/c8/22/63e8cd1bae4c2d2be6493b6b7d10566ddafad88137cfbc99964a1119853c/propcache-0.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1dbcf7675229b35d31abb6547d8ebc8c27a830ac3f9a794edff6254873ec7c0a", size = 61500, upload-time = "2026-05-08T21:00:45.796Z" }, + { url = "https://files.pythonhosted.org/packages/60/5a/28e5d9acbac1cc9ccb67045e8c1b943aa8d79fdf39c93bd73cacd68008ea/propcache-0.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d310c013aad2c72f1c3f2f8dd3279d460a858c551f97aeb8c63e4693cca7b4d2", size = 59994, upload-time = "2026-05-08T21:00:47.093Z" }, + { url = "https://files.pythonhosted.org/packages/f3/40/db650677f554a95b9c01a7c9d93d629e93a15562f5deb4573c9ee136fed2/propcache-0.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:06187263ddad280d05b4d8a8b3bb7d164cbebd469236544a42e6d9b28ac6a4fa", size = 56884, upload-time = "2026-05-08T21:00:48.376Z" }, + { url = "https://files.pythonhosted.org/packages/80/45/70b39b89516ff8b96bf732fa6fded8cef20f293cb1508690101c3c07ec51/propcache-0.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3115559b8effafd63b142ea5ed53d63a16ea6469cbc63dce4ee194b42db5d853", size = 63464, upload-time = "2026-05-08T21:00:49.954Z" }, + { url = "https://files.pythonhosted.org/packages/f9/e2/fa59d3a89eac5534293124af4f1d0d0ada091ce4a0ab4610ce03fd2bdd8d/propcache-0.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c60462af8e6dc30c35407c7237ea908d777b22862bbee27bc4699c0d8bcdc45a", size = 61588, upload-time = "2026-05-08T21:00:51.281Z" }, + { url = "https://files.pythonhosted.org/packages/0b/97/efb547a55c4bc7381cfb202d6a2239ac621045277bc1ea5dfd3a7f0516c0/propcache-0.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:40314bca9ac559716fe374094fc81c11dcc34b64fd6c585360f5775690505704", size = 64667, upload-time = "2026-05-08T21:00:52.602Z" }, + { url = "https://files.pythonhosted.org/packages/92/56/f5c7d9b4b7595d5127da38974d791b2153f3d1eae6c674af3583ace92ad3/propcache-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cfa21e036ce1e1db2be04ba3b85d2df1bb1702fa01932d984c5464c665228ff4", size = 62463, upload-time = "2026-05-08T21:00:54.303Z" }, + { url = "https://files.pythonhosted.org/packages/bd/3b/484a3a65fc9f9f60c41dcd17b428bace5389544e2c680994534a20755066/propcache-0.5.2-cp313-cp313-win32.whl", hash = "sha256:f156a3529f38063b6dbaf356e15602a7f95f8055b1295a438433a6386f10463d", size = 38621, upload-time = "2026-05-08T21:00:55.808Z" }, + { url = "https://files.pythonhosted.org/packages/1c/fd/3f0f10dba4dabad3bf53102be007abf55481067952bde0fdddff439e7c61/propcache-0.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:dfed59d0a5aeb01e242e66ff0300bc4a265a7c05f612d30016f0b60b1017d757", size = 41649, upload-time = "2026-05-08T21:00:57.061Z" }, + { url = "https://files.pythonhosted.org/packages/90/ec/6ce619cc32bb500a482f811f9cd509368b4e58e638d13f2c68f370d6b475/propcache-0.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:ba338430e87ceb9c8f0cf754de38a9860560261e56c00376debd628698a7364f", size = 37636, upload-time = "2026-05-08T21:00:58.646Z" }, + { url = "https://files.pythonhosted.org/packages/1b/82/c1d268bbbf2ef981c5bf0fbbe746db617c66e3bcefe431a1aa8943fbe23a/propcache-0.5.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a592f5f3da71c8691c788c13cb6734b6d17663d2e1cb8caddf0673d01ef8847d", size = 98872, upload-time = "2026-05-08T21:00:59.889Z" }, + { url = "https://files.pythonhosted.org/packages/f4/d4/52c871e73e864e6b34c0e2d58ac1ec5ccd149497ddc7ad2137ae98323a35/propcache-0.5.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6a997d0489e9668a384fcfd5061b857aa5361de73191cac204d04b889cfbbafa", size = 56257, upload-time = "2026-05-08T21:01:01.195Z" }, + { url = "https://files.pythonhosted.org/packages/67/f0/9b90ca2a210b3d09bcfcd96ecd0f55545c091535abce2a45de2775cfd357/propcache-0.5.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:10734b5484ea113152ee25a91dccedf81631791805d2c9ccb054958e51842c94", size = 56696, upload-time = "2026-05-08T21:01:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/9d/0e/6e9d4ba07c8e56e21ddec1e75f12148142b21ca83a51871babce095334f4/propcache-0.5.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cafca7e56c12bb02ae16d283742bef25a61122e9dab2b5b3f2ccbe589ce32164", size = 62378, upload-time = "2026-05-08T21:01:04.475Z" }, + { url = "https://files.pythonhosted.org/packages/65/19/c10badaa463dde8a27ce884f8ee2ec37e6035b7c9f5ff0c8f74f06f08dac/propcache-0.5.2-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f064f8d2b59177878b7615df1735cd8fe3462ed6be8c7b217d17a276489c2b7f", size = 65283, upload-time = "2026-05-08T21:01:05.959Z" }, + { url = "https://files.pythonhosted.org/packages/b0/b6/93bea99ca80e19cef6512a8580e5b7857bbe09422d9daa7fd4ef5723306c/propcache-0.5.2-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f78abfa8dfc32376fd1aacf597b2f2fbbe0ea751419aee718af5d4f82537ef8c", size = 66616, upload-time = "2026-05-08T21:01:07.228Z" }, + { url = "https://files.pythonhosted.org/packages/83/e4/5c7462e50625f051f37fb38b8224f7639f667184bbd34424ec83819bb1b7/propcache-0.5.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7467da8a9822bf1a55336f877340c5bcbd3c482afc43a99771169f74a26dedc", size = 63773, upload-time = "2026-05-08T21:01:08.514Z" }, + { url = "https://files.pythonhosted.org/packages/ca/b6/99238894047b13c823be25027e736626cd414a52a5e30d2c3347c2733529/propcache-0.5.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a6ddc6ac9e25de626c1f129c1b467d7ecd33ce2237d3fd0c4e429feef0a7ee1f", size = 63664, upload-time = "2026-05-08T21:01:09.874Z" }, + { url = "https://files.pythonhosted.org/packages/85/1e/a3a1a63116a2b8edb415a8bb9a6f0c34bd03830b1e18e8ce2904e1dc1cf4/propcache-0.5.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2f22cbbac9e26a8e864c0985ff1268d5d939d53d9d9411a9824279097e03a2cb", size = 62643, upload-time = "2026-05-08T21:01:11.132Z" }, + { url = "https://files.pythonhosted.org/packages/e4/03/893cf147de2fc6543c5eaa07ad833170e7e2a2385725bbebe8c0503723bb/propcache-0.5.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:fc76378c62a0f04d0cd82fbb1a2cd2d7e28fcb40d5873f28a6c44e388aaa2751", size = 59595, upload-time = "2026-05-08T21:01:12.387Z" }, + { url = "https://files.pythonhosted.org/packages/86/3b/04c1a2e12c57766568ba75ba72b3bf2042818d4c1425fab6fc07155c7cff/propcache-0.5.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:acd2c8edba48e31e58a363b8cf4e5c7db3b04b3f9e371f601df30d9b0d244836", size = 65711, upload-time = "2026-05-08T21:01:13.676Z" }, + { url = "https://files.pythonhosted.org/packages/1c/34/80f8d0099f8d6bacc4de1624c85672681c8cd1149ca2da0e38fd120b817f/propcache-0.5.2-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:452b5065457eb9991ec5eb38ff41d6cd4c991c9ac7c531c4d5849ae473a9a13f", size = 64247, upload-time = "2026-05-08T21:01:14.936Z" }, + { url = "https://files.pythonhosted.org/packages/f3/1a/8b08f3a5f1037e9e370c55883ceeeee0f6dd0416fb2d2d67b8bfc91f2a79/propcache-0.5.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:3430bb2bfe1331885c427745a751e774ee679fd4344f80b97bf879815fe8fa55", size = 67102, upload-time = "2026-05-08T21:01:16.281Z" }, + { url = "https://files.pythonhosted.org/packages/34/68/8bdb7bb7756d76e005490649d10e4a8369e610c74d619f71e1aedf889e9c/propcache-0.5.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cef6cea3922890dd6c9654971001fa797b526c16ab5e1e46c05fd6f877be7568", size = 64964, upload-time = "2026-05-08T21:01:17.57Z" }, + { url = "https://files.pythonhosted.org/packages/0a/aa/50fb0b5d3968b61a510926ff8b8465f1d6e976b3ab74496d7a4b9fc42515/propcache-0.5.2-cp313-cp313t-win32.whl", hash = "sha256:72d61e16dd78228b58c5d47be830ff3da7e5f139abdf0aef9d86cde1c5cf2191", size = 42546, upload-time = "2026-05-08T21:01:18.946Z" }, + { url = "https://files.pythonhosted.org/packages/ae/4c/0ddbae64321bd4a95bcbfc19307238016b5b1fee645c84626c8d539e5b74/propcache-0.5.2-cp313-cp313t-win_amd64.whl", hash = "sha256:0958834041a0166d343b8d2cedcd8bcbaeb4fdbe0cf08320c5379f143c3be6e7", size = 46330, upload-time = "2026-05-08T21:01:20.162Z" }, + { url = "https://files.pythonhosted.org/packages/00/d9/9cddc8efb78d8af264c5ec9f6d10b62f57c515feda8d321595f56010fb23/propcache-0.5.2-cp313-cp313t-win_arm64.whl", hash = "sha256:6de8bd93ddde9b992cf2b2e0d796d501a19026b5b9fd87356d7d0779531a8d96", size = 40521, upload-time = "2026-05-08T21:01:21.399Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ea/23ee535d90ce8bcc465a3028eb3cc0ce3bd1005f4bb27710b30587de798d/propcache-0.5.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:46088abff4cba581dea21ae0467a480526cb25aa5f3c269e909f800328bc3999", size = 94662, upload-time = "2026-05-08T21:01:22.683Z" }, + { url = "https://files.pythonhosted.org/packages/b5/06/c5a52f419b5d8972f8d46a7577476090d8e3263ff589ce40b5ca4968d5be/propcache-0.5.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fc88b26f08d634f7bc819a7852e5214f5802641ab8d9fd5326892292eee1993e", size = 53928, upload-time = "2026-05-08T21:01:23.986Z" }, + { url = "https://files.pythonhosted.org/packages/63/b1/4260d67d6bd85e58a66b72d54ce15d5de789b6f3870cc6bedf8ff9667401/propcache-0.5.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:97797ebb098e670a2f92dd66f32897e30d7615b14e7f59711de23e30a9072539", size = 54650, upload-time = "2026-05-08T21:01:25.305Z" }, + { url = "https://files.pythonhosted.org/packages/70/06/2f46c318e3307cd7a6a7481def374ce838c0fe20084b39dd54b0879d0e99/propcache-0.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba57fffe4ac99c5d30076161b5866336d97600769bad35cc68f7774b15298a4e", size = 59912, upload-time = "2026-05-08T21:01:26.545Z" }, + { url = "https://files.pythonhosted.org/packages/4c/29/fe1aebec2ce57ab985a9c382bded1124431f85078113aa222c5d278430d4/propcache-0.5.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:583c19759d9eec1e5b69e2fbef36a7d9c326041be9746cb822d335c8cedc2979", size = 63300, upload-time = "2026-05-08T21:01:27.937Z" }, + { url = "https://files.pythonhosted.org/packages/b4/18/2334b26768b6c82be8c69e83671b767d5ef426aa09b0cba6c2ea47816774/propcache-0.5.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d0326e2e5e1f3163fa306c834e48e8d490e5fae607a097a40c0648109b47ba80", size = 64208, upload-time = "2026-05-08T21:01:29.484Z" }, + { url = "https://files.pythonhosted.org/packages/2b/76/7f1bfd6afff4c5e38e36a3c6d68eb5f4b7311ea80baf693db78d95b603c4/propcache-0.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e00820e192c8dbebcafb383ebbf99030895f09905e7a0eb2e0340a0bcc2bc825", size = 61633, upload-time = "2026-05-08T21:01:31.068Z" }, + { url = "https://files.pythonhosted.org/packages/c4/46/b3ff8aba2b4953a3e50de2cf72f1b5748b8eca93b15f3dc2c84339084c09/propcache-0.5.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c66afea89b1e43725731d2004732a046fe6fe955d51f952c3e95a7314a284a39", size = 61724, upload-time = "2026-05-08T21:01:32.374Z" }, + { url = "https://files.pythonhosted.org/packages/c5/01/814cfcafbcff954f94c01cf30e097ddc88a076b5440fbcf4570753437d40/propcache-0.5.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d4dc37dec6c6cdad0b57881a5658fd14fbf53e333b1a86cf86559f190e1d9ec4", size = 60069, upload-time = "2026-05-08T21:01:33.67Z" }, + { url = "https://files.pythonhosted.org/packages/da/68/5c6f7622d510cc666a300687e06fd060c1a43361c0c9b20d284f06d8096a/propcache-0.5.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:5570dbcc97571c15f68068e529c92715a12f8d54030e272d264b377e22bd17a5", size = 57099, upload-time = "2026-05-08T21:01:34.915Z" }, + { url = "https://files.pythonhosted.org/packages/55/27/9cb0b4c679124085327957d42521c99dba04c88c90c3e55a6f0b633ebccc/propcache-0.5.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f814362777a9f841adddb200ecdf8f5cb1e5a3c4b7a86378edbd6ccb26edd702", size = 63391, upload-time = "2026-05-08T21:01:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/f0/9d/7258aaa5bdf60fc6f27591eef6fe52768cb0beda7140be477c8b12c9794a/propcache-0.5.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:196913dea116aeb5a2ba95af4ddcb7ea85559ae07d8eee8751688310d09168c3", size = 61626, upload-time = "2026-05-08T21:01:37.545Z" }, + { url = "https://files.pythonhosted.org/packages/8e/0d/41c602003e8a9b16fe1e7eadf62c7bfba9d5474370b24200bf48b315f45f/propcache-0.5.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6e7b8719005dd1175be4ab1cd25e9b98659a5e0347331506ec6760d2773a7fb5", size = 64781, upload-time = "2026-05-08T21:01:38.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f3/38e66b1856e9bd079deea015bc4a55f7767c0e4db2f7dcf69e7e680ba4ce/propcache-0.5.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:51f96d685ab16e88cab128cd37a52c5da540809c8b879fa047731bfcb4ad35a4", size = 62570, upload-time = "2026-05-08T21:01:40.415Z" }, + { url = "https://files.pythonhosted.org/packages/95/ca/bbfe9b910ce57dde8bb4876b4520fc02a4e89497c10de26be936758a3aaa/propcache-0.5.2-cp314-cp314-win32.whl", hash = "sha256:cc6fc3cc62e8501d3ed62894425040d2728ecddb1ed072737a5c70bd537aa9f0", size = 39436, upload-time = "2026-05-08T21:01:41.654Z" }, + { url = "https://files.pythonhosted.org/packages/61/d2/45c9defbaa1ea297035d9d4cce9e8f80daafbf19319c6007f157c6256ea9/propcache-0.5.2-cp314-cp314-win_amd64.whl", hash = "sha256:81e3a30b0bb60caa22033dd0f8a3618d1d67356212514f62c57db75cb0ef410c", size = 42373, upload-time = "2026-05-08T21:01:43.041Z" }, + { url = "https://files.pythonhosted.org/packages/44/68/9ea5103f41d5217d7d6ec24db90018e23aebec070c3f9a6e54d12b841fd8/propcache-0.5.2-cp314-cp314-win_arm64.whl", hash = "sha256:0d2c9bf8528f135dbb805ce027567e09164f7efa51a2be07458a2c0420f292d0", size = 38554, upload-time = "2026-05-08T21:01:44.336Z" }, + { url = "https://files.pythonhosted.org/packages/8a/81/fadf555f42d3b762eea8a53950b0489fdc0aa9da5f8ed9e10ce0a4e01b48/propcache-0.5.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4bc8ff1feffc6a61c7002ffe84634c41b822e104990ae009f44a0834430070bb", size = 99395, upload-time = "2026-05-08T21:01:45.883Z" }, + { url = "https://files.pythonhosted.org/packages/f5/c9/c61e134a686949cf7971af3a390148b1156f7be81c73bc0cd12c873e2d48/propcache-0.5.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:79aa3ff0a9b566633b642fa9caf7e21ed1c13d6feca718187873f199e1514078", size = 56653, upload-time = "2026-05-08T21:01:47.307Z" }, + { url = "https://files.pythonhosted.org/packages/cb/73/daf935ea7048ddd7ec8eec5345b4a40b619d2d178b3c0a0900796bc3c794/propcache-0.5.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1b31822f4474c4036bae62de9402710051d431a606d6a0f907fec79935a071aa", size = 56914, upload-time = "2026-05-08T21:01:48.573Z" }, + { url = "https://files.pythonhosted.org/packages/79/9f/aba959b435ea18617edd7cf0a7ad0b9c574b8fc7e3d2cd55fb59cb255d33/propcache-0.5.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13fef48778b5a2a756523fdb781326b028ca75e32858b04f2cdd19f394564917", size = 62567, upload-time = "2026-05-08T21:01:49.903Z" }, + { url = "https://files.pythonhosted.org/packages/6c/a1/859942de9a791ff42f6141736f5b37749b8f53e65edfa49638c67dd67e6a/propcache-0.5.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8b73ab70f1a3351fbc71f663b3e645af6dd0329100c353081cf69c37433fc6fe", size = 65542, upload-time = "2026-05-08T21:01:51.204Z" }, + { url = "https://files.pythonhosted.org/packages/b5/61/315bc0fd6c0fc7f80a528b8afd209e5fc4a875ea79571b91b8f50f442907/propcache-0.5.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5538d2c13d93e4698af7e092b57bc7298fd35d1d58e656ae18f23ee0d0378e03", size = 66845, upload-time = "2026-05-08T21:01:52.539Z" }, + { url = "https://files.pythonhosted.org/packages/47/f7/9f8122e3132e8e354ac41975ef8f1099be7d5a16bc7ae562734e993665c0/propcache-0.5.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd645f03898405cabe694fb8bc35241e3a9c332ec85627584fe3de201452b335", size = 63985, upload-time = "2026-05-08T21:01:53.847Z" }, + { url = "https://files.pythonhosted.org/packages/c8/54/c317819ec157cbf6f35df9df9657a6f82daf34d5faf15948b2f639c2192e/propcache-0.5.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a473b3440261e0c60706e732b2ed2f517857344fc21bf48fdfe211e2d98eb285", size = 63999, upload-time = "2026-05-08T21:01:55.179Z" }, + { url = "https://files.pythonhosted.org/packages/5a/56/387e3f7dfce0a9233df41fb888aa1c30222cb4bbbf09537c02dd9bd85fe2/propcache-0.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7afa37062e6650640e932e4cc9297d81f9f42d9944029cc386b8247dea4da837", size = 62779, upload-time = "2026-05-08T21:01:57.489Z" }, + { url = "https://files.pythonhosted.org/packages/a1/9c/596784cb5824ed61ee960d3f8655a3f0993e107c6e98ab6c818b7fb92ccb/propcache-0.5.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:8a90efd5777e996e42d568db9ac740b944d691e565cbfd31b2f7832f9184b2b8", size = 59796, upload-time = "2026-05-08T21:01:58.736Z" }, + { url = "https://files.pythonhosted.org/packages/c2/3d/1a6cfa1726a48542c1e8784a0761421476a5b68e09b7f36bf95eb954aaba/propcache-0.5.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:f19bb891234d72535764d703bfed1153cc34f4214d5bd7150aee1eec9e8f4366", size = 66023, upload-time = "2026-05-08T21:02:00.228Z" }, + { url = "https://files.pythonhosted.org/packages/e4/0e/05fd6990369477076e4e280bcb970de760fddf0161a46e988bc95f7940ec/propcache-0.5.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:32775082acd2d807ee3db715c7770d38767b817870acfa08c29e057f3c4d5b56", size = 64448, upload-time = "2026-05-08T21:02:01.888Z" }, + { url = "https://files.pythonhosted.org/packages/cd/86/5f8da315a4309c62c10c0b2516b17492d5d3bbe1bb862b96604db67e2a37/propcache-0.5.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9282fb1a3bccd038da9f768b927b24a0c753e466c086b7c4f3c6982851eefb2d", size = 67329, upload-time = "2026-05-08T21:02:03.484Z" }, + { url = "https://files.pythonhosted.org/packages/da/d3/3368efe79ab21f0cdf86ef49895811c9cc933131d4cde1f28a624e22e712/propcache-0.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cc49723e2f60d6b32a0f0b08a3fd6d13203c07f1cd9566cfce0f12a917c967a2", size = 65172, upload-time = "2026-05-08T21:02:04.745Z" }, + { url = "https://files.pythonhosted.org/packages/d5/07/127e8b0bacfb325396196f9d976a22453049b89b9b2b08477cc3145faa44/propcache-0.5.2-cp314-cp314t-win32.whl", hash = "sha256:2d7aa89ebca5acc98cba9d1472d976e394782f587bad6661003602a619fd1821", size = 43813, upload-time = "2026-05-08T21:02:06.025Z" }, + { url = "https://files.pythonhosted.org/packages/88/fb/46dad6c0ae49ed230ab1b16c890c2b6314e2403e6c412976f4a72d64a527/propcache-0.5.2-cp314-cp314t-win_amd64.whl", hash = "sha256:d447bb0b3054be5818458fbb171208b1d9ff11eba14e18ca18b90cbb45767370", size = 47764, upload-time = "2026-05-08T21:02:07.353Z" }, + { url = "https://files.pythonhosted.org/packages/e7/c4/a47d0a63aa309d10d59ede6e9d4cff03a344a79d1f0f4cd0cd74997b53e0/propcache-0.5.2-cp314-cp314t-win_arm64.whl", hash = "sha256:fe67a3d11cd9b4efabfa45c3d00ffba2b26811442a73a581a94b67c2b5faccf6", size = 41140, upload-time = "2026-05-08T21:02:09.065Z" }, + { url = "https://files.pythonhosted.org/packages/3a/ed/1cdcab6ba3d6ab7feca11fc14f0eeea80755bb53ef4e892079f31b10a25f/propcache-0.5.2-py3-none-any.whl", hash = "sha256:be1ddfcbb376e3de5d2e2db1d58d6d67463e6b4f9f040c000de8e300295465fe", size = 14036, upload-time = "2026-05-08T21:02:10.673Z" }, +] + +[[package]] +name = "protobuf" +version = "6.33.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/66/70/e908e9c5e52ef7c3a6c7902c9dfbb34c7e29c25d2f81ade3856445fd5c94/protobuf-6.33.6.tar.gz", hash = "sha256:a6768d25248312c297558af96a9f9c929e8c4cee0659cb07e780731095f38135", size = 444531, upload-time = "2026-03-18T19:05:00.988Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/9f/2f509339e89cfa6f6a4c4ff50438db9ca488dec341f7e454adad60150b00/protobuf-6.33.6-cp310-abi3-win32.whl", hash = "sha256:7d29d9b65f8afef196f8334e80d6bc1d5d4adedb449971fefd3723824e6e77d3", size = 425739, upload-time = "2026-03-18T19:04:48.373Z" }, + { url = "https://files.pythonhosted.org/packages/76/5d/683efcd4798e0030c1bab27374fd13a89f7c2515fb1f3123efdfaa5eab57/protobuf-6.33.6-cp310-abi3-win_amd64.whl", hash = "sha256:0cd27b587afca21b7cfa59a74dcbd48a50f0a6400cfb59391340ad729d91d326", size = 437089, upload-time = "2026-03-18T19:04:50.381Z" }, + { url = "https://files.pythonhosted.org/packages/5c/01/a3c3ed5cd186f39e7880f8303cc51385a198a81469d53d0fdecf1f64d929/protobuf-6.33.6-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:9720e6961b251bde64edfdab7d500725a2af5280f3f4c87e57c0208376aa8c3a", size = 427737, upload-time = "2026-03-18T19:04:51.866Z" }, + { url = "https://files.pythonhosted.org/packages/ee/90/b3c01fdec7d2f627b3a6884243ba328c1217ed2d978def5c12dc50d328a3/protobuf-6.33.6-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:e2afbae9b8e1825e3529f88d514754e094278bb95eadc0e199751cdd9a2e82a2", size = 324610, upload-time = "2026-03-18T19:04:53.096Z" }, + { url = "https://files.pythonhosted.org/packages/9b/ca/25afc144934014700c52e05103c2421997482d561f3101ff352e1292fb81/protobuf-6.33.6-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:c96c37eec15086b79762ed265d59ab204dabc53056e3443e702d2681f4b39ce3", size = 339381, upload-time = "2026-03-18T19:04:54.616Z" }, + { url = "https://files.pythonhosted.org/packages/16/92/d1e32e3e0d894fe00b15ce28ad4944ab692713f2e7f0a99787405e43533a/protobuf-6.33.6-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:e9db7e292e0ab79dd108d7f1a94fe31601ce1ee3f7b79e0692043423020b0593", size = 323436, upload-time = "2026-03-18T19:04:55.768Z" }, + { url = "https://files.pythonhosted.org/packages/c4/72/02445137af02769918a93807b2b7890047c32bfb9f90371cbc12688819eb/protobuf-6.33.6-py3-none-any.whl", hash = "sha256:77179e006c476e69bf8e8ce866640091ec42e1beb80b213c3900006ecfba6901", size = 170656, upload-time = "2026-03-18T19:04:59.826Z" }, +] + [[package]] name = "psutil" version = "7.2.2" @@ -1378,6 +2939,58 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/8c/c7/7bb2e321574b10df20cbde462a94e2b71d05f9bbda251ef27d104668306a/psutil-7.2.2-cp37-abi3-win_arm64.whl", hash = "sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee", size = 134617, upload-time = "2026-01-28T18:15:36.514Z" }, ] +[[package]] +name = "psycopg2-binary" +version = "2.9.12" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2a/60/a3624f79acea344c16fbef3a94d28b89a8042ddfb8f3e4ca83f538671409/psycopg2_binary-2.9.12.tar.gz", hash = "sha256:5ac9444edc768c02a6b6a591f070b8aae28ff3a99be57560ac996001580f294c", size = 379686, upload-time = "2026-04-21T09:40:34.304Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/19/d4ce60954f3bb9d8e3bc5e5c4d1f2487de2d3851bf2391d54954c9df12a6/psycopg2_binary-2.9.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5c8ce6c61bd1b1f6b9c24ee32211599f6166af2c55abb19456090a21fd16554b", size = 3712338, upload-time = "2026-04-20T23:34:03.961Z" }, + { url = "https://files.pythonhosted.org/packages/53/71/c85409ee0d78890f0660eff262e815e7dd2bb741a17611d82e9e8cd9dc5e/psycopg2_binary-2.9.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b4a9eaa6e7f4ff91bec10aa3fb296878e75187bced5cc4bafe17dc40915e1326", size = 3822407, upload-time = "2026-04-20T23:34:05.977Z" }, + { url = "https://files.pythonhosted.org/packages/3c/ed/60486c2c7f0d4d1ede2bfb1ed27e2498477ce646bc7f6b2759906303117e/psycopg2_binary-2.9.12-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:c6528cefc8e50fcc6f4a107e27a672058b36cc5736d665476aeb413ba88dbb06", size = 4578425, upload-time = "2026-04-20T23:34:08.246Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b9/656cb03fad9f4f49f2145c334b1126ee75189929ca4e6187d485a2d59951/psycopg2_binary-2.9.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e4e184b1fb6072bf05388aa41c697e1b2d01b3473f107e7ec44f186a32cfd0b8", size = 4273709, upload-time = "2026-04-20T23:34:10.974Z" }, + { url = "https://files.pythonhosted.org/packages/99/66/08cf0da0e25cc6fb142c89be45fc8418792858f0c4cbff5e24530ff02cd6/psycopg2_binary-2.9.12-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4766ab678563054d3f1d064a4db19cc4b5f9e3a8d9018592a8285cf200c248f3", size = 5893779, upload-time = "2026-04-20T23:34:13.905Z" }, + { url = "https://files.pythonhosted.org/packages/17/d7/eecd9ce8e146d3721115d82d3836efdbb712187e4590325df549989d18f4/psycopg2_binary-2.9.12-cp311-cp311-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5a0253224780c978746cb9be55a946bcdaf40fe3519c0f622924cdabdafe2c39", size = 4109308, upload-time = "2026-04-20T23:34:16.761Z" }, + { url = "https://files.pythonhosted.org/packages/b6/2e/b1dc289b362cc8d45697b57eefbd673186f49a4ea0906928988e3affcc98/psycopg2_binary-2.9.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0dc9228d47c46bda253d2ecd6bb93b56a9f2d7ad33b684a1fa3622bf74ffe30c", size = 3654405, upload-time = "2026-04-20T23:34:19.303Z" }, + { url = "https://files.pythonhosted.org/packages/eb/e4/4c4aea6473214dbdbd0fbba11aa4691e76dc01722c55724c5951719865ff/psycopg2_binary-2.9.12-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f921f3cd87035ef7df233383011d7a53ea1d346224752c1385f1edfd790ceb6a", size = 3299187, upload-time = "2026-04-20T23:34:21.206Z" }, + { url = "https://files.pythonhosted.org/packages/ba/5d/b03b99986446a4f57b170ed9a2579fb7ff9783ca0fa5226b19db99737fee/psycopg2_binary-2.9.12-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3d999bd982a723113c1a45b55a7a6a90d64d0ed2278020ed625c490ff7bef96c", size = 3047716, upload-time = "2026-04-20T23:34:23.077Z" }, + { url = "https://files.pythonhosted.org/packages/14/86/382ee4afbd1d97500c9d2862b20c2fdeddf4b7335e984df3fb4309f64108/psycopg2_binary-2.9.12-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29d4d134bd0ab46ffb04e94aa3c5fa3ef582e9026609165e2f758ff76fc3a3be", size = 3349237, upload-time = "2026-04-20T23:34:25.211Z" }, + { url = "https://files.pythonhosted.org/packages/a8/16/9a57c75ba1eda7165c017342f526810d5f5a12647dde749c99ae9a7141d7/psycopg2_binary-2.9.12-cp311-cp311-win_amd64.whl", hash = "sha256:cb4a1dacdd48077150dc762a9e5ddbf32c256d66cb46f80839391aa458774936", size = 2757036, upload-time = "2026-04-20T23:34:27.77Z" }, + { url = "https://files.pythonhosted.org/packages/e2/9f/ef4ef3c8e15083df90ca35265cfd1a081a2f0cc07bb229c6314c6af817f4/psycopg2_binary-2.9.12-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5cdc05117180c5fa9c40eea8ea559ce64d73824c39d928b7da9fb5f6a9392433", size = 3712459, upload-time = "2026-04-20T23:34:30.549Z" }, + { url = "https://files.pythonhosted.org/packages/b5/01/3dd14e46ba48c1e1a6ec58ee599fa1b5efa00c246d5046cd903d0eeb1af1/psycopg2_binary-2.9.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d3227a3bc228c10d21011a99245edca923e4e8bf461857e869a507d9a41fe9f6", size = 3822936, upload-time = "2026-04-20T23:34:32.77Z" }, + { url = "https://files.pythonhosted.org/packages/a6/f7/0640e4901119d8a9f7a1784b927f494e2198e213ceb593753d1f2c8b1b30/psycopg2_binary-2.9.12-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:995ce929eede89db6254b50827e2b7fd61e50d11f0b116b29fffe4a2e53c4580", size = 4578676, upload-time = "2026-04-20T23:34:35.18Z" }, + { url = "https://files.pythonhosted.org/packages/b0/55/44df3965b5f297c50cc0b1b594a31c67d6127a9d133045b8a66611b14dfb/psycopg2_binary-2.9.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9fe06d93e72f1c048e731a2e3e7854a5bfaa58fc736068df90b352cefe66f03f", size = 4274917, upload-time = "2026-04-20T23:34:37.982Z" }, + { url = "https://files.pythonhosted.org/packages/b0/4b/74535248b1eac0c9336862e8617c765ac94dac76f9e25d7c4a79588c8907/psycopg2_binary-2.9.12-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40e7b28b63aaf737cb3a1edc3a9bbc9a9f4ad3dcb7152e8c1130e4050eddcb7d", size = 5894843, upload-time = "2026-04-20T23:34:40.856Z" }, + { url = "https://files.pythonhosted.org/packages/f2/ba/f1bf8d2ae71868ad800b661099086ee52bc0f8d9f05be1acd8ebb06757cc/psycopg2_binary-2.9.12-cp312-cp312-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:89d19a9f7899e8eb0656a2b3a08e0da04c720a06db6e0033eab5928aabe60fa9", size = 4110556, upload-time = "2026-04-20T23:34:44.016Z" }, + { url = "https://files.pythonhosted.org/packages/45/46/c15706c338403b7c420bcc0c2905aad116cc064545686d8bf85f1999ea00/psycopg2_binary-2.9.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:612b965daee295ae2da8f8218ce1d274645dc76ef3f1abf6a0a94fd57eff876d", size = 3655714, upload-time = "2026-04-20T23:34:46.233Z" }, + { url = "https://files.pythonhosted.org/packages/b3/7c/a2d5dc09b64a4564db242a0fe418fde7d33f6f8259dd2c5b9d7def00fb5a/psycopg2_binary-2.9.12-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:b9a339b79d37c1b45f3235265f07cdeb0cb5ad7acd2ac7720a5920989c17c24e", size = 3301154, upload-time = "2026-04-20T23:34:49.528Z" }, + { url = "https://files.pythonhosted.org/packages/c0/e8/cc8c9a4ce71461f9ec548d38cadc41dc184b34c73e6455450775a9334ccd/psycopg2_binary-2.9.12-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:3471336e1acfd9c7fe507b8bad5af9317b6a89294f9eb37bd9a030bb7bebcdc6", size = 3048882, upload-time = "2026-04-20T23:34:51.86Z" }, + { url = "https://files.pythonhosted.org/packages/19/6a/31e2296bc0787c5ab75d3d118e40b239db8151b5192b90b77c72bc9256e9/psycopg2_binary-2.9.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7af18183109e23502c8b2ae7f6926c0882766f35b5175a4cd737ad825e4d7a1b", size = 3351298, upload-time = "2026-04-20T23:34:54.124Z" }, + { url = "https://files.pythonhosted.org/packages/5f/a8/75f4e3e11203b590150abed2cf7794b9c9c9f7eceddae955191138b44dde/psycopg2_binary-2.9.12-cp312-cp312-win_amd64.whl", hash = "sha256:398fcd4db988c7d7d3713e2b8e18939776fd3fb447052daae4f24fa39daede4c", size = 2757230, upload-time = "2026-04-20T23:34:56.242Z" }, + { url = "https://files.pythonhosted.org/packages/91/bb/4608c96f970f6e0c56572e87027ef4404f709382a3503e9934526d7ba051/psycopg2_binary-2.9.12-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7c729a73c7b1b84de3582f73cdd27d905121dc2c531f3d9a3c32a3011033b965", size = 3712419, upload-time = "2026-04-20T23:34:58.754Z" }, + { url = "https://files.pythonhosted.org/packages/5e/af/48f76af9d50d61cf390f8cd657b503168b089e2e9298e48465d029fcc713/psycopg2_binary-2.9.12-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4413d0caef93c5cf50b96863df4c2efe8c269bf2267df353225595e7e15e8df7", size = 3822990, upload-time = "2026-04-20T23:35:00.821Z" }, + { url = "https://files.pythonhosted.org/packages/7a/df/aba0f99397cd811d32e06fc0cc781f1f3ce98bc0e729cb423925085d781a/psycopg2_binary-2.9.12-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:4dfcf8e45ebb0c663be34a3442f65e17311f3367089cd4e5e3a3e8e62c978777", size = 4578696, upload-time = "2026-04-20T23:35:03.409Z" }, + { url = "https://files.pythonhosted.org/packages/95/9c/eaa74021ac4e4d5c2f83d82fc6615a63f4fe6c94dc4e94c3990427053f67/psycopg2_binary-2.9.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c41321a14dd74aceb6a9a643b9253a334521babfa763fa873e33d89cfa122fb5", size = 4274982, upload-time = "2026-04-20T23:35:05.583Z" }, + { url = "https://files.pythonhosted.org/packages/35/ed/c25deff98bd26187ba48b3b250a3ffc3037c46c5b89362534a15d200e0db/psycopg2_binary-2.9.12-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83946ba43979ebfdc99a3cd0ee775c89f221df026984ba19d46133d8d75d3cd9", size = 5894867, upload-time = "2026-04-20T23:35:07.902Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/8d0e21ca77373c6c9589e5c4528f6e8f0c08c62cafc76fb0bddb7a2cee22/psycopg2_binary-2.9.12-cp313-cp313-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:411e85815652d13560fbe731878daa5d92378c4995a22302071890ec3397d019", size = 4110578, upload-time = "2026-04-20T23:35:10.149Z" }, + { url = "https://files.pythonhosted.org/packages/00/fc/f481e2435bd8f742d0123309174aae4165160ad3ef17c1b99c3622c241d2/psycopg2_binary-2.9.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c8ad4c08e00f7679559eaed7aff1edfffc60c086b976f93972f686384a95e2c", size = 3655816, upload-time = "2026-04-20T23:35:12.56Z" }, + { url = "https://files.pythonhosted.org/packages/53/79/b9f46466bdbe9f239c96cde8be33c1aace4842f06013b47b730dc9759187/psycopg2_binary-2.9.12-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:00814e40fa23c2b37ef0a1e3c749d89982c73a9cb5046137f0752a22d432e82f", size = 3301307, upload-time = "2026-04-20T23:35:15.029Z" }, + { url = "https://files.pythonhosted.org/packages/3f/19/7dc003b32fe35024df89b658104f7c8538a8b2dcbde7a4e746ce929742e7/psycopg2_binary-2.9.12-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:98062447aebc20ed20add1f547a364fd0ef8933640d5372ff1873f8deb9b61be", size = 3048968, upload-time = "2026-04-20T23:35:16.757Z" }, + { url = "https://files.pythonhosted.org/packages/91/58/2dbd7db5c604d45f4950d988506aae672a14126ec22998ced5021cbb76bb/psycopg2_binary-2.9.12-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:66a7685d7e548f10fb4ce32fb01a7b7f4aa702134de92a292c7bd9e0d3dbd290", size = 3351369, upload-time = "2026-04-20T23:35:18.933Z" }, + { url = "https://files.pythonhosted.org/packages/42/ee/dee8dcaad07f735824de3d6563bc67119fa6c28257b17977a8d624f02fab/psycopg2_binary-2.9.12-cp313-cp313-win_amd64.whl", hash = "sha256:b6937f5fe4e180aeee87de907a2fa982ded6f7f15d7218f78a083e4e1d68f2a0", size = 2757347, upload-time = "2026-04-20T23:35:21.283Z" }, + { url = "https://files.pythonhosted.org/packages/13/1b/708c0dca874acfad6d65314271859899a79007686f3a1f74e82a2ed4b645/psycopg2_binary-2.9.12-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:6f3b3de8a74ef8db215f22edffb19e32dc6fa41340456de7ec99efdc8a7b3ec2", size = 3712428, upload-time = "2026-04-20T23:35:23.453Z" }, + { url = "https://files.pythonhosted.org/packages/d6/39/ddbea9d4b4de6aca9431b6ed253f530f8a02d3b8f9bcfd0dbfe2b3de6fe4/psycopg2_binary-2.9.12-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1006fb62f0f0bc5ce256a832356c6262e91be43f5e4eb15b5eaf38079464caf2", size = 3823184, upload-time = "2026-04-20T23:35:25.92Z" }, + { url = "https://files.pythonhosted.org/packages/bf/a0/bc2fef74b106fa345567122a0659e6d94512ed7dc0131ec44c9e5aba3725/psycopg2_binary-2.9.12-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:840066105706cd2eb29b9a1c2329620056582a4bf3e8169dec5c447042d0869f", size = 4579157, upload-time = "2026-04-20T23:35:28.542Z" }, + { url = "https://files.pythonhosted.org/packages/57/d7/d4e3b2005d3de607ca4fbb0e8742e248056e52184a6b94ebda3c1c2c329b/psycopg2_binary-2.9.12-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:863f5d12241ebe1c76a72a04c2113b6dc905f90b9cef0e9be0efd994affd9354", size = 4274970, upload-time = "2026-04-20T23:35:30.418Z" }, + { url = "https://files.pythonhosted.org/packages/2e/42/c9853f8db3967fe08bcde11f53d53b85d351750cae726ce001cb68afa9c1/psycopg2_binary-2.9.12-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a99eaab34a9010f1a086b126de467466620a750634d114d20455f3a824aae033", size = 5895175, upload-time = "2026-04-20T23:35:33.584Z" }, + { url = "https://files.pythonhosted.org/packages/eb/fd/b82b5601a97630308bef079f545ffec481bbbc795c2ba5ec416a01d03f60/psycopg2_binary-2.9.12-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ffdd7dc5463ccd61845ac37b7012d0f35a1548df9febe14f8dd549be4a0bc81e", size = 4110658, upload-time = "2026-04-20T23:35:35.638Z" }, + { url = "https://files.pythonhosted.org/packages/62/8c/32ca69b0389ef25dd22937bf9e8fbe2ce27aea20b05ded48c4ce4cb42475/psycopg2_binary-2.9.12-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:54a0dfecab1b48731f934e06139dfe11e24219fb6d0ceb32177cf0375f14c7b5", size = 3656251, upload-time = "2026-04-20T23:35:37.854Z" }, + { url = "https://files.pythonhosted.org/packages/c4/29/96992a2b59e3b9d730fcf9612d0a387305025dc867a9fc490a9e496e074e/psycopg2_binary-2.9.12-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:96937c9c5d891f772430f418a7a8b4691a90c3e6b93cf72b5bd7cad8cbca32a5", size = 3301810, upload-time = "2026-04-20T23:35:39.927Z" }, + { url = "https://files.pythonhosted.org/packages/56/ad/44b06659949b243ae10112cd3b20a197f9bf3e81d5651379b9eb889bfaad/psycopg2_binary-2.9.12-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:77b348775efd4cdab410ec6609d81ccecd1139c90265fa583a7255c8064bc03d", size = 3048977, upload-time = "2026-04-20T23:35:41.806Z" }, + { url = "https://files.pythonhosted.org/packages/1d/f2/10a1bcebadb6aa55e280e1f58975c36a7b560ea525184c7aa4064c466633/psycopg2_binary-2.9.12-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:527e6342b3e44c2f0544f6b8e927d60de7f163f5723b8f1dfa7d2a84298738cd", size = 3351466, upload-time = "2026-04-20T23:35:43.993Z" }, + { url = "https://files.pythonhosted.org/packages/20/be/b732c8418ffa5bcfda002890f5dc4c869fc17db66ff11f53b17cfe44afc0/psycopg2_binary-2.9.12-cp314-cp314-win_amd64.whl", hash = "sha256:f12ae41fcafadb39b2785e64a40f9db05d6de2ac114077457e0e7c597f3af980", size = 2848762, upload-time = "2026-04-20T23:35:46.421Z" }, +] + [[package]] name = "ptyprocess" version = "0.7.0" @@ -1387,6 +3000,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, ] +[[package]] +name = "pulp" +version = "3.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4e/70/69be07a67621ad804d6cf347965eb4e0d7786a97330d99c31d735aaa6c5a/pulp-3.3.2.tar.gz", hash = "sha256:d0904700c207ac11e25e3b1213b70eae1d6fb25faa719d75f3f15054901258c0", size = 16305346, upload-time = "2026-05-25T09:41:26.207Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dd/6e/d674f1dde91c71e2ac19e5e5cf1ee6d5845e3aefecd9c39ed9c4b0c9a696/pulp-3.3.2-py3-none-any.whl", hash = "sha256:631b166f72086971a9597f7a0233ababa99bb8d50a01cd543f7758be5a9f86c0", size = 16391742, upload-time = "2026-05-25T09:41:22.2Z" }, +] + [[package]] name = "pure-eval" version = "0.2.3" @@ -1396,6 +3018,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, ] +[[package]] +name = "pycasbin" +version = "2.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "simpleeval" }, + { name = "wcmatch" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8e/01/bc46b48e0e4576422faea00d8cdeaf7d23e6c65891890175c831ce7c5c6d/pycasbin-2.8.0.tar.gz", hash = "sha256:2615c8940d58caf03c9206246d9499209fd520448c682d2f2ca101c41d9b0aee", size = 426693, upload-time = "2026-02-02T03:34:14.301Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/e3/0f15da0fb5864a37637820e4bde463a52ba0c052a8edab06aad46b9e578b/pycasbin-2.8.0-py3-none-any.whl", hash = "sha256:1a9e370de553c677c4dff75a5d6f3b0eb354b73b20d7df77ff4ee61a71267a3a", size = 476153, upload-time = "2026-02-02T03:34:12.555Z" }, +] + [[package]] name = "pycparser" version = "3.0" @@ -1405,6 +3040,123 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172, upload-time = "2026-01-21T14:26:50.693Z" }, ] +[[package]] +name = "pydantic" +version = "2.13.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/18/a5/b60d21ac674192f8ab0ba4e9fd860690f9b4a6e51ca5df118733b487d8d6/pydantic-2.13.4.tar.gz", hash = "sha256:c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6", size = 844775, upload-time = "2026-05-06T13:43:05.343Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl", hash = "sha256:45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba", size = 472262, upload-time = "2026-05-06T13:43:02.641Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.46.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/56/921726b776ace8d8f5db44c4ef961006580d91dc52b803c489fafd1aa249/pydantic_core-2.46.4.tar.gz", hash = "sha256:62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1", size = 471464, upload-time = "2026-05-06T13:37:06.98Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/fa/6d7708d2cfc1a832acb6aeb0cd16e801902df8a0f583bb3b4b527fde022e/pydantic_core-2.46.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:0e96592440881c74a213e5ad528e2b24d3d4f940de2766bed9010ab1d9e51594", size = 2111872, upload-time = "2026-05-06T13:40:27.596Z" }, + { url = "https://files.pythonhosted.org/packages/ae/6f/aa064a3e74b5745afbdf250594f38e7ead05e2d651bcb35994b9417a0d4d/pydantic_core-2.46.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0d65b8c354be7fb5f720c3caa8bc940bc2d20ce749c8e06135f07f8ed95dd7c", size = 1948255, upload-time = "2026-05-06T13:39:12.574Z" }, + { url = "https://files.pythonhosted.org/packages/43/3a/41114a9f7569b84b4d84e7a018c57c56347dac30c0d4a872946ec4e36c46/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bfb192b3f4b9e8a89b6277b6ce787564f62cfd272055f6e685726b111dc7826", size = 1972827, upload-time = "2026-05-06T13:38:19.841Z" }, + { url = "https://files.pythonhosted.org/packages/ef/25/1ab42e8048fe551934d9884e8d64daa7e990ad386f310a15981aeb6a5b08/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9037063db01f09b09e237c282b6792bd4da634b5402c4e7f0c61effed7701a04", size = 2041051, upload-time = "2026-05-06T13:38:10.447Z" }, + { url = "https://files.pythonhosted.org/packages/94/c2/1a934597ddf08da410385b3b7aae91956a5a76c635effef456074fad7e88/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc010ab034c8c7452522748bf937df58020d256ccae0874463d1f4d01758af8e", size = 2221314, upload-time = "2026-05-06T13:40:13.089Z" }, + { url = "https://files.pythonhosted.org/packages/02/6d/9e8ad178c9c4df27ad3c8f25d1fe2a7ab0d2ba0559fad4aee5d3d1f16771/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c5dac79fa1614d1e06ca695109c6105923bd9c7d1d6c918d4e637b7e6b32fd3", size = 2285146, upload-time = "2026-05-06T13:38:59.224Z" }, + { url = "https://files.pythonhosted.org/packages/80/50/540cd3aeefc041beb111125c4bff779831a2111fc6b15a9138cda277d32c/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9fa868638bf362d3d138ea55829cefb3d5f4b0d7f142234382a15e2485dbec4", size = 2089685, upload-time = "2026-05-06T13:38:17.762Z" }, + { url = "https://files.pythonhosted.org/packages/6b/a4/b440ad35f05f6a38f89fa0f149accb3f0e02be94ca5e15f3c449a61b4bc9/pydantic_core-2.46.4-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:17299feefe090f2caa5b8e37222bb5f663e4935a8bfa6931d4102e5df1a9f398", size = 2115420, upload-time = "2026-05-06T13:37:58.195Z" }, + { url = "https://files.pythonhosted.org/packages/99/61/de4f55db8dfd57bfdfa9a12ec90fe1b57c4f41062f7ca86f08586b3e0ac0/pydantic_core-2.46.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4c63ebc82684aa89d9a3bcbd13d515b3be44250dc68dd3bd81526c1cb31286c3", size = 2165122, upload-time = "2026-05-06T13:37:01.167Z" }, + { url = "https://files.pythonhosted.org/packages/f7/52/7c529d7bdb2d1068bd52f51fe32572c8301f9a4febf1948f10639f1436f5/pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:aaa2a54443eff1950ba5ddc6b6ccda0d9c84a364276a62f969bdf2a390650848", size = 2182573, upload-time = "2026-05-06T13:38:45.04Z" }, + { url = "https://files.pythonhosted.org/packages/37/b3/7c40325848ba78247f2812dcf9c7274e38cd801820ca6dd9fe63bcfb0eb4/pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:18e5ceec2ab67e6d5f1a9085e5a24c9c4e2ac4545730bfe668680bca05e555f3", size = 2317139, upload-time = "2026-05-06T13:37:15.539Z" }, + { url = "https://files.pythonhosted.org/packages/d9/37/f913f81a657c865b75da6c0dbed79876073c2a43b5bd9edbe8da785e4d49/pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a0f62d0a58f4e7da165457e995725421e0064f2255d8eccebc49f41bbc23b109", size = 2360433, upload-time = "2026-05-06T13:37:30.099Z" }, + { url = "https://files.pythonhosted.org/packages/c4/67/6acaa1be2567f9256b056d8477158cac7240813956ce86e49deae8e173b4/pydantic_core-2.46.4-cp311-cp311-win32.whl", hash = "sha256:041bde0a48fd37cf71cab1c9d56d3e8625a3793fef1f7dd232b3ff37e978ecda", size = 1985513, upload-time = "2026-05-06T13:38:15.669Z" }, + { url = "https://files.pythonhosted.org/packages/aa/e6/c505f83dfeda9a2e5c995cfd872949e4d05e12f7feb3dca72f633daefa94/pydantic_core-2.46.4-cp311-cp311-win_amd64.whl", hash = "sha256:6f2eeda33a839975441c86a4119e1383c50b47faf0cbb5176985565c6bb02c33", size = 2071114, upload-time = "2026-05-06T13:40:35.416Z" }, + { url = "https://files.pythonhosted.org/packages/0f/da/7a263a96d965d9d0df5e8de8a475f33495451117035b09acb110288c381f/pydantic_core-2.46.4-cp311-cp311-win_arm64.whl", hash = "sha256:14f4c5d6db102bd796a627bbb3a17b4cf4574b9ae861d8b7c9a9661c6dd3362d", size = 2044298, upload-time = "2026-05-06T13:38:29.754Z" }, + { url = "https://files.pythonhosted.org/packages/ce/8c/af022f0af448d7747c5154288d46b5f2bc5f17366eaa0e23e9aa04d59f3b/pydantic_core-2.46.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3245406455a5d98187ec35530fd772b1d799b26667980872c8d4614991e2c4a2", size = 2106158, upload-time = "2026-05-06T13:38:57.215Z" }, + { url = "https://files.pythonhosted.org/packages/19/95/6195171e385007300f0f5574592e467c568becce2d937a0b6804f218bc49/pydantic_core-2.46.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:962ccbab7b642487b1d8b7df90ef677e03134cf1fd8880bf698649b22a69371f", size = 1951724, upload-time = "2026-05-06T13:37:02.697Z" }, + { url = "https://files.pythonhosted.org/packages/8e/bc/f47d1ff9cbb1620e1b5b697eef06010035735f07820180e74178226b27b3/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8233f2947cf85404441fd7e0085f53b10c93e0ee78611099b5c7237e36aacbf7", size = 1975742, upload-time = "2026-05-06T13:37:09.448Z" }, + { url = "https://files.pythonhosted.org/packages/5b/11/9b9a5b0306345664a2da6410877af6e8082481b5884b3ddd78d47c6013ce/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a233125ac121aa3ffba9a2b59edfc4a985a76092dc8279586ab4b71390875e7", size = 2052418, upload-time = "2026-05-06T13:37:38.234Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b7/a65fec226f5d78fc39f4a13c4cc0c768c22b113438f60c14adc9d2865038/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b712b53160b79a5850310b912a5ef8e57e56947c8ad690c227f5c9d7e561712", size = 2232274, upload-time = "2026-05-06T13:38:27.753Z" }, + { url = "https://files.pythonhosted.org/packages/68/f0/92039db98b907ef49269a8271f67db9cb78ae2fc68062ef7e4e77adb5f61/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9401557acd873c3a7f3eb9383edef8ac4968f9510e340f4808d427e75667e7b4", size = 2309940, upload-time = "2026-05-06T13:38:05.353Z" }, + { url = "https://files.pythonhosted.org/packages/5f/97/2aab507d3d00ca626e8e57c1eac6a79e4e5fbcc63eb99733ff55d1717f65/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:926c9541b14b12b1681dca8a0b75feb510b06c6341b70a8e500c2fdcff837cce", size = 2094516, upload-time = "2026-05-06T13:39:10.577Z" }, + { url = "https://files.pythonhosted.org/packages/22/37/a8aca44d40d737dde2bc05b3c6c07dff0de07ce6f82e9f3167aeaf4d5dea/pydantic_core-2.46.4-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:56cb4851bcaf3d117eddcef4fe66afd750a50274b0da8e22be256d10e5611987", size = 2136854, upload-time = "2026-05-06T13:40:22.59Z" }, + { url = "https://files.pythonhosted.org/packages/24/99/fcef1b79238c06a8cbec70819ac722ba76e02bc8ada9b0fd66eba40da01b/pydantic_core-2.46.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c68fcd102d71ea85c5b2dfac3f4f8476eff42a9e078fd5faefff6d145063536b", size = 2180306, upload-time = "2026-05-06T13:40:10.666Z" }, + { url = "https://files.pythonhosted.org/packages/ae/6c/fc44000918855b42779d007ae63b0532794739027b2f417321cddbc44f6a/pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b2f69dec1725e79a012d920df1707de5caf7ed5e08f3be4435e25803efc47458", size = 2190044, upload-time = "2026-05-06T13:40:43.231Z" }, + { url = "https://files.pythonhosted.org/packages/6b/65/d9cadc9f1920d7a127ad2edba16c1db7916e59719285cd6c94600b0080ba/pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:8d0820e8192167f80d88d64038e609c31452eeca865b4e1d9950a27a4609b00b", size = 2329133, upload-time = "2026-05-06T13:39:57.365Z" }, + { url = "https://files.pythonhosted.org/packages/d0/cf/c873d91679f3a30bcf5e7ac280ce5573483e72295307685120d0d5ad3416/pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fbdb89b3e1c94a30cc5edfce477c6e6a5dc4d8f84665b455c27582f211a1c72c", size = 2374464, upload-time = "2026-05-06T13:38:06.976Z" }, + { url = "https://files.pythonhosted.org/packages/47/bd/6f2fc8188f31bf10590f1e98e7b306336161fac930a8c514cd7bd828c7dc/pydantic_core-2.46.4-cp312-cp312-win32.whl", hash = "sha256:9aa768456404a8bf48a4406685ac2bec8e72b62c69313734fa3b73cf33b3a894", size = 1974823, upload-time = "2026-05-06T13:40:47.985Z" }, + { url = "https://files.pythonhosted.org/packages/40/8c/985c1d41ea1107c2534abd9870e4ed5c8e7669b5c308297835c001e7a1c4/pydantic_core-2.46.4-cp312-cp312-win_amd64.whl", hash = "sha256:e9c26f834c65f5752f3f06cb08cb86a913ceb7274d0db6e267808a708b46bc89", size = 2072919, upload-time = "2026-05-06T13:39:21.153Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ba/f463d006e0c47373ca7ec5e1a261c59dc01ef4d62b2657af925fb0deee3a/pydantic_core-2.46.4-cp312-cp312-win_arm64.whl", hash = "sha256:4fc73cb559bdb54b1134a706a2802a4cddd27a0633f5abb7e53056268751ac6a", size = 2027604, upload-time = "2026-05-06T13:39:03.753Z" }, + { url = "https://files.pythonhosted.org/packages/51/a2/5d30b469c5267a17b39dec53208222f76a8d351dfac4af661888c5aee77d/pydantic_core-2.46.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5d5902252db0d3cedf8d4a1bc68f70eeb430f7e4c7104c8c476753519b423008", size = 2106306, upload-time = "2026-05-06T13:37:48.029Z" }, + { url = "https://files.pythonhosted.org/packages/c1/81/4fa520eaffa8bd7d1525e644cd6d39e7d60b1592bc5b516693c7340b50f1/pydantic_core-2.46.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c94f0688e7b8d0a67abf40e57a7eaaecd17cc9586706a31b76c031f63df052b4", size = 1951906, upload-time = "2026-05-06T13:37:17.012Z" }, + { url = "https://files.pythonhosted.org/packages/03/d5/fd02da45b659668b05923b17ba3a0100a0a3d5541e3bd8fcc4ecb711309e/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f027324c56cd5406ca49c124b0db10e56c69064fec039acc571c29020cc87c76", size = 1976802, upload-time = "2026-05-06T13:37:35.113Z" }, + { url = "https://files.pythonhosted.org/packages/21/f2/95727e1368be3d3ed485eaab7adbd7dda408f33f7a36e8b48e0144002b91/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e739fee756ba1010f8bcccb534252e85a35fe45ae92c295a06059ce58b74ccd3", size = 2052446, upload-time = "2026-05-06T13:37:12.313Z" }, + { url = "https://files.pythonhosted.org/packages/9c/86/5d99feea3f77c7234b8718075b23db11532773c1a0dbd9b9490215dc2eeb/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d56801be94b86a9da183e5f3766e6310752b99ff647e38b09a9500d88e46e76", size = 2232757, upload-time = "2026-05-06T13:39:01.149Z" }, + { url = "https://files.pythonhosted.org/packages/d2/3a/508ac615935ef7588cf6d9e9b91309fdc2da751af865e02a9098de88258c/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2412e734dcb48da14d4e4006b82b46b74f2518b8a26ee7e58c6844a6cd6d03c4", size = 2309275, upload-time = "2026-05-06T13:37:41.406Z" }, + { url = "https://files.pythonhosted.org/packages/07/f8/41db9de19d7987d6b04715a02b3b40aea467000275d9d758ffaa31af7d50/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a", size = 2094467, upload-time = "2026-05-06T13:39:18.847Z" }, + { url = "https://files.pythonhosted.org/packages/2c/e2/f35033184cb11d0052daf4416e8e10a502ea2ac006fc4f459aee872727d1/pydantic_core-2.46.4-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:0186750b482eefa11d7f435892b09c5c606193ef3375bcf94aa00ae6bfb66262", size = 2134417, upload-time = "2026-05-06T13:40:17.944Z" }, + { url = "https://files.pythonhosted.org/packages/7e/7b/6ceeb1cc90e193862f444ebe373d8fdf613f0a82572dde03fb10734c6c71/pydantic_core-2.46.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5855698a4856556d86e8e6cd8434bc3ac0314ee8e12089ae0e143f64c6256e4e", size = 2179782, upload-time = "2026-05-06T13:40:32.618Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f2/c8d7773ede6af08036423a00ae0ceffce266c3c52a096c435d68c896083f/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:cbaf13819775b7f769bf4a1f066cb6df7a28d4480081a589828ef190226881cd", size = 2188782, upload-time = "2026-05-06T13:36:51.018Z" }, + { url = "https://files.pythonhosted.org/packages/59/31/0c864784e31f09f05cdd87606f08923b9c9e7f6e51dd27f20f62f975ce9f/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:633147d34cf4550417f12e2b1a0383973bdf5cdfde212cb09e9a581cf10820be", size = 2328334, upload-time = "2026-05-06T13:40:37.764Z" }, + { url = "https://files.pythonhosted.org/packages/c2/eb/4f6c8a41efa30baa755590f4141abf3a8c370fab610915733e74134a7270/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:82cf5301172168103724d49a1444d3378cb20cdee30b116a1bd6031236298a5d", size = 2372986, upload-time = "2026-05-06T13:39:34.152Z" }, + { url = "https://files.pythonhosted.org/packages/5b/24/b375a480d53113860c299764bfe9f349a3dc9108b3adc0d7f0d786492ebf/pydantic_core-2.46.4-cp313-cp313-win32.whl", hash = "sha256:9fa8ae11da9e2b3126c6426f147e0fba88d96d65921799bb30c6abd1cb2c97fb", size = 1973693, upload-time = "2026-05-06T13:37:55.072Z" }, + { url = "https://files.pythonhosted.org/packages/7e/e8/cff247591966f2d22ec8c003cd7587e27b7ba7b81ab2fb888e3ab75dc285/pydantic_core-2.46.4-cp313-cp313-win_amd64.whl", hash = "sha256:6b3ace8194b0e5204818c92802dcdca7fc6d88aabbb799d7c795540d9cd6d292", size = 2071819, upload-time = "2026-05-06T13:38:49.139Z" }, + { url = "https://files.pythonhosted.org/packages/c6/1a/f4aee670d5670e9e148e0c82c7db98d780be566c6e6a97ee8035528ca0b3/pydantic_core-2.46.4-cp313-cp313-win_arm64.whl", hash = "sha256:184c081504d17f1c1066e430e117142b2c77d9448a97f7b65c6ac9fd9aee238d", size = 2027411, upload-time = "2026-05-06T13:40:45.796Z" }, + { url = "https://files.pythonhosted.org/packages/8d/74/228a26ddad29c6672b805d9fd78e8d251cd04004fa7eed0e622096cd0250/pydantic_core-2.46.4-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:428e04521a40150c85216fc8b85e8d39fece235a9cf5e383761238c7fa9b96fb", size = 2102079, upload-time = "2026-05-06T13:38:41.019Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1f/8970b150a4b4365623ae00fc88603491f763c627311ae8031e3111356d6e/pydantic_core-2.46.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:23ace664830ee0bfe014a0c7bc248b1f7f25ed7ad103852c317624a1083af462", size = 1952179, upload-time = "2026-05-06T13:36:59.812Z" }, + { url = "https://files.pythonhosted.org/packages/95/30/5211a831ae054928054b2f79731661087a2bc5c01e825c672b3a4a8f1b3e/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce5c1d2a8b27468f433ca974829c44060b8097eedc39933e3c206a90ee49c4a9", size = 1978926, upload-time = "2026-05-06T13:37:39.933Z" }, + { url = "https://files.pythonhosted.org/packages/57/e9/689668733b1eb67adeef047db3c2e8788fcf65a7fd9c9e2b46b7744fe245/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7283d57845ecf5a163403eb0702dfc220cc4fbdd18919cb5ccea4f95ee1cdab4", size = 2046785, upload-time = "2026-05-06T13:38:01.995Z" }, + { url = "https://files.pythonhosted.org/packages/60/d9/6715260422ff50a2109878fd24d948a6c3446bb2664f34ee78cd972b3acd/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8daafc69c93ee8a0204506a3b6b30f586ef54028f52aeeeb5c4cfc5184fd5914", size = 2228733, upload-time = "2026-05-06T13:40:50.371Z" }, + { url = "https://files.pythonhosted.org/packages/18/ae/fdb2f64316afca925640f8e70bb1a564b0ec2721c1389e25b8eb4bf9a299/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd2213145bcc2ba85884d0ac63d222fece9209678f77b9b4d76f054c561adb28", size = 2307534, upload-time = "2026-05-06T13:37:21.531Z" }, + { url = "https://files.pythonhosted.org/packages/89/1d/8eff589b45bb8190a9d12c49cfad0f176a5cbd1534908a6b5125e2886239/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a5f930472650a82629163023e630d160863fce524c616f4e5186e5de9d9a49b", size = 2099732, upload-time = "2026-05-06T13:39:31.942Z" }, + { url = "https://files.pythonhosted.org/packages/06/d5/ee5a3366637fee41dee51a1fc91562dcf12ddbc68fda34e6b253da2324bb/pydantic_core-2.46.4-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:c1b3f518abeca3aa13c712fd202306e145abf59a18b094a6bafb2d2bbf59192c", size = 2129627, upload-time = "2026-05-06T13:37:25.033Z" }, + { url = "https://files.pythonhosted.org/packages/94/33/2414be571d2c6a6c4d08be21f9292b6d3fdb08949a97b6dfe985017821db/pydantic_core-2.46.4-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a7dd0b3ee80d90150e3495a3a13ac34dbcbfd4f012996a6a1d8900e91b5c0fb", size = 2179141, upload-time = "2026-05-06T13:37:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/7b/79/7daa95be995be0eecc4cf75064cb33f9bbbfe3fe0158caf2f0d4a996a5c7/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:3fb702cd90b0446a3a1c5e470bfa0dd23c0233b676a9099ddcc964fa6ca13898", size = 2184325, upload-time = "2026-05-06T13:36:53.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/cb/d0a382f5c0de8a222dc61c65348e0ce831b1f68e0a018450d31c2cace3a5/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:b8458003118a712e66286df6a707db01c52c0f52f7db8e4a38f0da1d3b94fc4e", size = 2323990, upload-time = "2026-05-06T13:40:29.971Z" }, + { url = "https://files.pythonhosted.org/packages/05/db/d9ba624cc4a5aced1598e88c04fdbd8310c8a69b9d38b9a3d39ce3a61ed7/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:372429a130e469c9cd698925ce5fc50940b7a1336b0d82038e63d5bbc4edc519", size = 2369978, upload-time = "2026-05-06T13:37:23.027Z" }, + { url = "https://files.pythonhosted.org/packages/f2/20/d15df15ba918c423461905802bfd2981c3af0bfa0e40d05e13edbfa48bc3/pydantic_core-2.46.4-cp314-cp314-win32.whl", hash = "sha256:85bb3611ff1802f3ee7fdd7dbff26b56f343fb432d57a4728fdd49b6ef35e2f4", size = 1966354, upload-time = "2026-05-06T13:38:03.499Z" }, + { url = "https://files.pythonhosted.org/packages/fc/b6/6b8de4c0a7d7ab3004c439c80c5c1e0a3e8d78bbae19379b01960383d9e5/pydantic_core-2.46.4-cp314-cp314-win_amd64.whl", hash = "sha256:811ff8e9c313ab425368bcbb36e5c4ebd7108c2bbf4e4089cfbb0b01eff63fac", size = 2072238, upload-time = "2026-05-06T13:39:40.807Z" }, + { url = "https://files.pythonhosted.org/packages/32/36/51eb763beec1f4cf59b1db243a7dcc39cbb41230f050a09b9d69faaf0a48/pydantic_core-2.46.4-cp314-cp314-win_arm64.whl", hash = "sha256:bfec22eab3c8cc2ceec0248aec886624116dc079afa027ecc8ad4a7e62010f8a", size = 2018251, upload-time = "2026-05-06T13:37:26.72Z" }, + { url = "https://files.pythonhosted.org/packages/e8/91/855af51d625b23aa987116a19e231d2aaef9c4a415273ddc189b79a45fee/pydantic_core-2.46.4-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:af8244b2bef6aaad6d92cda81372de7f8c8d36c9f0c3ea36e827c60e7d9467a0", size = 2099593, upload-time = "2026-05-06T13:39:47.682Z" }, + { url = "https://files.pythonhosted.org/packages/fb/1b/8784a54c65edb5f49f0a14d6977cf1b209bba85a4c77445b255c2de58ab3/pydantic_core-2.46.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a4330cdbc57162e4b3aa303f588ba752257694c9c9be3e7ebb11b4aca659b5d", size = 1935226, upload-time = "2026-05-06T13:40:40.428Z" }, + { url = "https://files.pythonhosted.org/packages/e8/e7/1955d28d1afc56dd4b3ad7cc0cf39df1b9852964cf16e5d13912756d6d6b/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29c61fc04a3d840155ff08e475a04809278972fe6aef51e2720554e96367e34b", size = 1974605, upload-time = "2026-05-06T13:37:32.029Z" }, + { url = "https://files.pythonhosted.org/packages/93/e2/3fedbf0ba7a22850e6e9fd78117f1c0f10f950182344d8a6c535d468fdd8/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c50f2528cf200c5eed56faf3f4e22fcd5f38c157a8b78576e6ba3168ec35f000", size = 2030777, upload-time = "2026-05-06T13:38:55.239Z" }, + { url = "https://files.pythonhosted.org/packages/f8/61/46be275fcaaba0b4f5b9669dd852267ce1ff616592dccf7a7845588df091/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0cbe8b01f948de4286c74cdd6c667aceb38f5c1e26f0693b3983d9d74887c65e", size = 2236641, upload-time = "2026-05-06T13:37:08.096Z" }, + { url = "https://files.pythonhosted.org/packages/60/db/12e93e46a8bac9988be3c016860f83293daea8c716c029c9ace279036f2f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:617d7e2ca7dcb8c5cf6bcb8c59b8832c94b36196bbf1cbd1bfb56ed341905edd", size = 2286404, upload-time = "2026-05-06T13:40:20.221Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4a/4d8b19008f38d31c53b8219cfedc2e3d5de5fe99d90076b7e767de29274f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7027560ee92211647d0d34e3f7cd6f50da56399d26a9c8ad0da286d3869a53f3", size = 2109219, upload-time = "2026-05-06T13:38:12.153Z" }, + { url = "https://files.pythonhosted.org/packages/88/70/3cbc40978fefb7bb09c6708d40d4ad1a5d70fd7213c3d17f971de868ec1f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:f99626688942fb746e545232e7726926f3be91b5975f8b55327665fafda991c7", size = 2110594, upload-time = "2026-05-06T13:40:02.971Z" }, + { url = "https://files.pythonhosted.org/packages/9d/20/b8d36736216e29491125531685b2f9e61aa5b4b2599893f8268551da3338/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fc3e9034a63de20e15e8ade85358bc6efc614008cab72898b4b4952bea0509ff", size = 2159542, upload-time = "2026-05-06T13:39:27.506Z" }, + { url = "https://files.pythonhosted.org/packages/1d/a2/367df868eb584dacf6bf82a389272406d7178e301c4ac82545ab98bc2dd9/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:97e7cf2be5c77b7d1a9713a05605d49460d02c6078d38d8bef3cbe323c548424", size = 2168146, upload-time = "2026-05-06T13:38:31.93Z" }, + { url = "https://files.pythonhosted.org/packages/c1/b8/4460f77f7e201893f649a29ab355dddd3beee8a97bcb1a320db414f9a06e/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:3bf92c5d0e00fefaab325a4d27828fe6b6e2a21848686b5b60d2d9eeb09d76c6", size = 2306309, upload-time = "2026-05-06T13:37:44.717Z" }, + { url = "https://files.pythonhosted.org/packages/64/c4/be2639293acd87dc8ddbcec41a73cee9b2ebf996fe6d892a1a74e88ad3f7/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:3ecbc122d18468d06ca279dc26a8c2e2d5acb10943bb35e36ae92096dc3b5565", size = 2369736, upload-time = "2026-05-06T13:37:05.645Z" }, + { url = "https://files.pythonhosted.org/packages/30/a6/9f9f380dbb301f67023bf8f707aaa75daadf84f7152d95c410fd7e81d994/pydantic_core-2.46.4-cp314-cp314t-win32.whl", hash = "sha256:e846ae7835bf0703ae43f534ab79a867146dadd59dc9ca5c8b53d5c8f7c9ef02", size = 1955575, upload-time = "2026-05-06T13:38:51.116Z" }, + { url = "https://files.pythonhosted.org/packages/40/1f/f1eb9eb350e795d1af8586289746f5c5677d16043040d63710e22abc43c9/pydantic_core-2.46.4-cp314-cp314t-win_amd64.whl", hash = "sha256:2108ba5c1c1eca18030634489dc544844144ee36357f2f9f780b93e7ddbb44b5", size = 2051624, upload-time = "2026-05-06T13:38:21.672Z" }, + { url = "https://files.pythonhosted.org/packages/f6/d2/42dd53d0a85c27606f316d3aa5d2869c4e8470a5ed6dec30e4a1abe19192/pydantic_core-2.46.4-cp314-cp314t-win_arm64.whl", hash = "sha256:4fcbe087dbc2068af7eda3aa87634eba216dbda64d1ae73c8684b621d33f6596", size = 2017325, upload-time = "2026-05-06T13:40:52.723Z" }, + { url = "https://files.pythonhosted.org/packages/ee/a4/73995fd4ebbb46ba0ee51e6fa049b8f02c40daebb762208feda8a6b7894d/pydantic_core-2.46.4-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:14d4edf427bdcf950a8a02d7cb44a08614388dd6e1bdcbf4f67504fa7887da9c", size = 2111589, upload-time = "2026-05-06T13:37:10.817Z" }, + { url = "https://files.pythonhosted.org/packages/fb/7f/f37d3a5e8bfcc2e403f5c57a730f2d815693fb42119e8ea48b3789335af1/pydantic_core-2.46.4-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:0ce40cd7b21210e99342afafbd4d0f76d784eb5b1d60f3bdc566be4983c6c73b", size = 1944552, upload-time = "2026-05-06T13:36:56.717Z" }, + { url = "https://files.pythonhosted.org/packages/15/3c/d7eb777b3ff43e8433a4efb39a17aa8fd98a4ee8561a24a67ef5db07b2d6/pydantic_core-2.46.4-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90884113d8b48f760e9587002789ddd741e76ab9f89518cd1e43b1f1a52ec44b", size = 1982984, upload-time = "2026-05-06T13:39:06.207Z" }, + { url = "https://files.pythonhosted.org/packages/63/87/70b9f40170a81afd55ca26c9b2acb25c20d64bcfbf888fafecb3ba077d4c/pydantic_core-2.46.4-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66ce7632c22d837c95301830e111ad0128a32b8207533b60896a96c4915192ea", size = 2138417, upload-time = "2026-05-06T13:39:45.476Z" }, + { url = "https://files.pythonhosted.org/packages/9d/1d/8987ad40f65ae1432753072f214fb5c74fe47ffbd0698bb9cbbb585664f8/pydantic_core-2.46.4-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:1d8ba486450b14f3b1d63bc521d410ec7565e52f887b9fb671791886436a42f7", size = 2095527, upload-time = "2026-05-06T13:39:52.283Z" }, + { url = "https://files.pythonhosted.org/packages/64/d3/84c282a7eee1d3ac4c0377546ef5a1ea436ce26840d9ac3b7ed54a377507/pydantic_core-2.46.4-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:3009f12e4e90b7f88b4f9adb1b0c4a3d58fe7820f3238c190047209d148026df", size = 1936024, upload-time = "2026-05-06T13:40:15.671Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ca/eac61596cdeb4d7e174d3dc0bd8a6238f14f75f97a24e7b7db4c7e7340a0/pydantic_core-2.46.4-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad785e92e6dc634c21555edc8bd6b64957ab844541bcb96a1366c202951ae526", size = 1990696, upload-time = "2026-05-06T13:38:34.717Z" }, + { url = "https://files.pythonhosted.org/packages/fa/c3/7c8b240552251faf6b3a957db200fcfbbcec36763c050428b601e0c9b83b/pydantic_core-2.46.4-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00c603d540afdd6b80eb39f078f33ebd46211f02f33e34a32d9f053bba711de0", size = 2147590, upload-time = "2026-05-06T13:39:29.883Z" }, + { url = "https://files.pythonhosted.org/packages/11/cb/428de0385b6c8d44b716feba566abfacfbd23ee3c4439faa789a1456242f/pydantic_core-2.46.4-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:0c563b08bca408dc7f65f700633d8442fffb2421fc47b8101377e9fd65051ff0", size = 2112782, upload-time = "2026-05-06T13:37:04.016Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b5/6a17bdadd0fc1f170adfd05a20d37c832f52b117b4d9131da1f41bb097ce/pydantic_core-2.46.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:db06ffe51636ffe9ca531fe9023dd64bdd794be8754cb5df57c5498ae5b518a7", size = 1952146, upload-time = "2026-05-06T13:39:43.092Z" }, + { url = "https://files.pythonhosted.org/packages/2a/dc/03734d80e362cd43ef65428e9de77c730ce7f2f11c60d2b1e1b39f0fbf99/pydantic_core-2.46.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:133878133d271ade3d41d1bfb2a45ec38dbdbda40bc065921c6b04e4630127e2", size = 2134492, upload-time = "2026-05-06T13:36:58.124Z" }, + { url = "https://files.pythonhosted.org/packages/de/df/5e5ffc085ed07cc22d298134d3d911c63e91f6a0eb91fe646750a3209910/pydantic_core-2.46.4-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9bc519fbf2b7578398853d815009ae5e4d4603d12f4e3f91da8c06852d3da3e9", size = 2156604, upload-time = "2026-05-06T13:37:49.88Z" }, + { url = "https://files.pythonhosted.org/packages/81/44/6e112a4253e56f5705467cbab7ab5e91ee7398ba3d56d358635958893d3e/pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:c7a7bd4e39e8e4c12c39cd480356842b6a8a06e41b23a55a5e3e191718838ddf", size = 2183828, upload-time = "2026-05-06T13:37:43.053Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ad/5565071e937d8e752842ac241463944c9eb14c87e2d269f2658a5bd05e98/pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:d396ec2b979760aaf3218e76c24e65bd0aca24983298653b3a9d7a45f9e47b30", size = 2310000, upload-time = "2026-05-06T13:37:56.694Z" }, + { url = "https://files.pythonhosted.org/packages/4f/c3/66883a5cec183e7fba4d024b4cbbe61851a63750ef606b0afecc46d1f2bf/pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:86e1a4418c6cd97d60c95c71164158eaf7324fae7b0923264016baa993eba6fc", size = 2361286, upload-time = "2026-05-06T13:40:05.667Z" }, + { url = "https://files.pythonhosted.org/packages/4b/2d/69abac8f838090bbecd5df894befb2c2619e7996a98ddb949db9f3b93225/pydantic_core-2.46.4-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:d51026d73fcfd93610abc7b27789c26b313920fcfb20e27462d74a7f8b06e983", size = 2193071, upload-time = "2026-05-06T13:38:08.682Z" }, +] + [[package]] name = "pygments" version = "2.20.0" @@ -1414,6 +3166,50 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, ] +[[package]] +name = "pyjwt" +version = "2.13.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3b/81/58d0ac84e1ef3a3843791d6954d94c0b33d526c75eeb1efbce9d0a4c4077/pyjwt-2.13.0.tar.gz", hash = "sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423", size = 107515, upload-time = "2026-05-21T19:54:36.618Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/5e/ecf12fdb62546d64385c158514e9b2b671f7832108ef2ecd2020ce0af2d1/pyjwt-2.13.0-py3-none-any.whl", hash = "sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728", size = 31274, upload-time = "2026-05-21T19:54:35.362Z" }, +] + +[[package]] +name = "pynacl" +version = "1.6.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/9a/4019b524b03a13438637b11538c82781a5eda427394380381af8f04f467a/pynacl-1.6.2.tar.gz", hash = "sha256:018494d6d696ae03c7e656e5e74cdfd8ea1326962cc401bcf018f1ed8436811c", size = 3511692, upload-time = "2026-01-01T17:48:10.851Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4b/79/0e3c34dc3c4671f67d251c07aa8eb100916f250ee470df230b0ab89551b4/pynacl-1.6.2-cp314-cp314t-macosx_10_10_universal2.whl", hash = "sha256:622d7b07cc5c02c666795792931b50c91f3ce3c2649762efb1ef0d5684c81594", size = 390064, upload-time = "2026-01-01T17:31:57.264Z" }, + { url = "https://files.pythonhosted.org/packages/eb/1c/23a26e931736e13b16483795c8a6b2f641bf6a3d5238c22b070a5112722c/pynacl-1.6.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d071c6a9a4c94d79eb665db4ce5cedc537faf74f2355e4d502591d850d3913c0", size = 809370, upload-time = "2026-01-01T17:31:59.198Z" }, + { url = "https://files.pythonhosted.org/packages/87/74/8d4b718f8a22aea9e8dcc8b95deb76d4aae380e2f5b570cc70b5fd0a852d/pynacl-1.6.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fe9847ca47d287af41e82be1dd5e23023d3c31a951da134121ab02e42ac218c9", size = 1408304, upload-time = "2026-01-01T17:32:01.162Z" }, + { url = "https://files.pythonhosted.org/packages/fd/73/be4fdd3a6a87fe8a4553380c2b47fbd1f7f58292eb820902f5c8ac7de7b0/pynacl-1.6.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:04316d1fc625d860b6c162fff704eb8426b1a8bcd3abacea11142cbd99a6b574", size = 844871, upload-time = "2026-01-01T17:32:02.824Z" }, + { url = "https://files.pythonhosted.org/packages/55/ad/6efc57ab75ee4422e96b5f2697d51bbcf6cdcc091e66310df91fbdc144a8/pynacl-1.6.2-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:44081faff368d6c5553ccf55322ef2819abb40e25afaec7e740f159f74813634", size = 1446356, upload-time = "2026-01-01T17:32:04.452Z" }, + { url = "https://files.pythonhosted.org/packages/78/b7/928ee9c4779caa0a915844311ab9fb5f99585621c5d6e4574538a17dca07/pynacl-1.6.2-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:a9f9932d8d2811ce1a8ffa79dcbdf3970e7355b5c8eb0c1a881a57e7f7d96e88", size = 826814, upload-time = "2026-01-01T17:32:06.078Z" }, + { url = "https://files.pythonhosted.org/packages/f7/a9/1bdba746a2be20f8809fee75c10e3159d75864ef69c6b0dd168fc60e485d/pynacl-1.6.2-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:bc4a36b28dd72fb4845e5d8f9760610588a96d5a51f01d84d8c6ff9849968c14", size = 1411742, upload-time = "2026-01-01T17:32:07.651Z" }, + { url = "https://files.pythonhosted.org/packages/f3/2f/5e7ea8d85f9f3ea5b6b87db1d8388daa3587eed181bdeb0306816fdbbe79/pynacl-1.6.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:3bffb6d0f6becacb6526f8f42adfb5efb26337056ee0831fb9a7044d1a964444", size = 801714, upload-time = "2026-01-01T17:32:09.558Z" }, + { url = "https://files.pythonhosted.org/packages/06/ea/43fe2f7eab5f200e40fb10d305bf6f87ea31b3bbc83443eac37cd34a9e1e/pynacl-1.6.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:2fef529ef3ee487ad8113d287a593fa26f48ee3620d92ecc6f1d09ea38e0709b", size = 1372257, upload-time = "2026-01-01T17:32:11.026Z" }, + { url = "https://files.pythonhosted.org/packages/4d/54/c9ea116412788629b1347e415f72195c25eb2f3809b2d3e7b25f5c79f13a/pynacl-1.6.2-cp314-cp314t-win32.whl", hash = "sha256:a84bf1c20339d06dc0c85d9aea9637a24f718f375d861b2668b2f9f96fa51145", size = 231319, upload-time = "2026-01-01T17:32:12.46Z" }, + { url = "https://files.pythonhosted.org/packages/ce/04/64e9d76646abac2dccf904fccba352a86e7d172647557f35b9fe2a5ee4a1/pynacl-1.6.2-cp314-cp314t-win_amd64.whl", hash = "sha256:320ef68a41c87547c91a8b58903c9caa641ab01e8512ce291085b5fe2fcb7590", size = 244044, upload-time = "2026-01-01T17:32:13.781Z" }, + { url = "https://files.pythonhosted.org/packages/33/33/7873dc161c6a06f43cda13dec67b6fe152cb2f982581151956fa5e5cdb47/pynacl-1.6.2-cp314-cp314t-win_arm64.whl", hash = "sha256:d29bfe37e20e015a7d8b23cfc8bd6aa7909c92a1b8f41ee416bbb3e79ef182b2", size = 188740, upload-time = "2026-01-01T17:32:15.083Z" }, + { url = "https://files.pythonhosted.org/packages/be/7b/4845bbf88e94586ec47a432da4e9107e3fc3ce37eb412b1398630a37f7dd/pynacl-1.6.2-cp38-abi3-macosx_10_10_universal2.whl", hash = "sha256:c949ea47e4206af7c8f604b8278093b674f7c79ed0d4719cc836902bf4517465", size = 388458, upload-time = "2026-01-01T17:32:16.829Z" }, + { url = "https://files.pythonhosted.org/packages/1e/b4/e927e0653ba63b02a4ca5b4d852a8d1d678afbf69b3dbf9c4d0785ac905c/pynacl-1.6.2-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8845c0631c0be43abdd865511c41eab235e0be69c81dc66a50911594198679b0", size = 800020, upload-time = "2026-01-01T17:32:18.34Z" }, + { url = "https://files.pythonhosted.org/packages/7f/81/d60984052df5c97b1d24365bc1e30024379b42c4edcd79d2436b1b9806f2/pynacl-1.6.2-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:22de65bb9010a725b0dac248f353bb072969c94fa8d6b1f34b87d7953cf7bbe4", size = 1399174, upload-time = "2026-01-01T17:32:20.239Z" }, + { url = "https://files.pythonhosted.org/packages/68/f7/322f2f9915c4ef27d140101dd0ed26b479f7e6f5f183590fd32dfc48c4d3/pynacl-1.6.2-cp38-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:46065496ab748469cdd999246d17e301b2c24ae2fdf739132e580a0e94c94a87", size = 835085, upload-time = "2026-01-01T17:32:22.24Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d0/f301f83ac8dbe53442c5a43f6a39016f94f754d7a9815a875b65e218a307/pynacl-1.6.2-cp38-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8a66d6fb6ae7661c58995f9c6435bda2b1e68b54b598a6a10247bfcdadac996c", size = 1437614, upload-time = "2026-01-01T17:32:23.766Z" }, + { url = "https://files.pythonhosted.org/packages/c4/58/fc6e649762b029315325ace1a8c6be66125e42f67416d3dbd47b69563d61/pynacl-1.6.2-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:26bfcd00dcf2cf160f122186af731ae30ab120c18e8375684ec2670dccd28130", size = 818251, upload-time = "2026-01-01T17:32:25.69Z" }, + { url = "https://files.pythonhosted.org/packages/c9/a8/b917096b1accc9acd878819a49d3d84875731a41eb665f6ebc826b1af99e/pynacl-1.6.2-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:c8a231e36ec2cab018c4ad4358c386e36eede0319a0c41fed24f840b1dac59f6", size = 1402859, upload-time = "2026-01-01T17:32:27.215Z" }, + { url = "https://files.pythonhosted.org/packages/85/42/fe60b5f4473e12c72f977548e4028156f4d340b884c635ec6b063fe7e9a5/pynacl-1.6.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:68be3a09455743ff9505491220b64440ced8973fe930f270c8e07ccfa25b1f9e", size = 791926, upload-time = "2026-01-01T17:32:29.314Z" }, + { url = "https://files.pythonhosted.org/packages/fa/f9/e40e318c604259301cc091a2a63f237d9e7b424c4851cafaea4ea7c4834e/pynacl-1.6.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:8b097553b380236d51ed11356c953bf8ce36a29a3e596e934ecabe76c985a577", size = 1363101, upload-time = "2026-01-01T17:32:31.263Z" }, + { url = "https://files.pythonhosted.org/packages/48/47/e761c254f410c023a469284a9bc210933e18588ca87706ae93002c05114c/pynacl-1.6.2-cp38-abi3-win32.whl", hash = "sha256:5811c72b473b2f38f7e2a3dc4f8642e3a3e9b5e7317266e4ced1fba85cae41aa", size = 227421, upload-time = "2026-01-01T17:32:33.076Z" }, + { url = "https://files.pythonhosted.org/packages/41/ad/334600e8cacc7d86587fe5f565480fde569dfb487389c8e1be56ac21d8ac/pynacl-1.6.2-cp38-abi3-win_amd64.whl", hash = "sha256:62985f233210dee6548c223301b6c25440852e13d59a8b81490203c3227c5ba0", size = 239754, upload-time = "2026-01-01T17:32:34.557Z" }, + { url = "https://files.pythonhosted.org/packages/29/7d/5945b5af29534641820d3bd7b00962abbbdfee84ec7e19f0d5b3175f9a31/pynacl-1.6.2-cp38-abi3-win_arm64.whl", hash = "sha256:834a43af110f743a754448463e8fd61259cd4ab5bbedcf70f9dabad1d28a394c", size = 184801, upload-time = "2026-01-01T17:32:36.309Z" }, +] + [[package]] name = "pyparsing" version = "3.3.2" @@ -1423,6 +3219,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, ] +[[package]] +name = "python-barcode" +version = "0.16.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0e/f2/4c0b07f100e1e184ba682021322c336bbba6aa7adfabd2616f70eff917d9/python_barcode-0.16.1.tar.gz", hash = "sha256:665ed09516b0088b5593061c5ac8662caa0b08d56bdad328388b1cab39939ac5", size = 233777, upload-time = "2025-08-27T11:05:45.614Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/34/810885dca784b02e5ad0f71ced9c06ba5e9d33a6493bc886f7470ce82a39/python_barcode-0.16.1-py3-none-any.whl", hash = "sha256:5776567478c9a0dae473374bb86631ba0b5ea99aaf302763b364e367ac51f367", size = 228046, upload-time = "2025-08-27T11:05:42.776Z" }, +] + [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -1435,6 +3240,88 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, ] +[[package]] +name = "python-dotenv" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz", hash = "sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3", size = 50135, upload-time = "2026-03-01T16:00:26.196Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl", hash = "sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a", size = 22101, upload-time = "2026-03-01T16:00:25.09Z" }, +] + +[[package]] +name = "python-multipart" +version = "0.0.32" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5b/42/55c32bb9b12693c092ad250a0e82edb5b31ddeda6eb772de5f308b3804ad/python_multipart-0.0.32.tar.gz", hash = "sha256:be54b7f3fa167bb83e4fcd936b887b708f4e57fe75911c02aebf53efaf8d938e", size = 46881, upload-time = "2026-06-04T16:18:58.647Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/04/e8135ebd1ad02c56ec633277529b2602ff99ff634be76cdba5744cf554fd/python_multipart-0.0.32-py3-none-any.whl", hash = "sha256:ff6d3f776f16878c894e52e107296ffc890e913c611b1a4ec6c44e2821fe2e23", size = 30042, upload-time = "2026-06-04T16:18:57.319Z" }, +] + +[[package]] +name = "pytz" +version = "2026.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ff/46/dd499ec9038423421951e4fad73051febaa13d2df82b4064f87af8b8c0c3/pytz-2026.2.tar.gz", hash = "sha256:0e60b47b29f21574376f218fe21abc009894a2321ea16c6754f3cad6eb7cdd6a", size = 320861, upload-time = "2026-05-04T01:35:29.667Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/dd/96da98f892250475bdf2328112d7468abdd4acc7b902b6af23f4ed958ea0/pytz-2026.2-py2.py3-none-any.whl", hash = "sha256:04156e608bee23d3792fd45c94ae47fae1036688e75032eea2e3bf0323d1f126", size = 510141, upload-time = "2026-05-04T01:35:27.408Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" }, + { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" }, + { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" }, + { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" }, + { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" }, + { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" }, + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + [[package]] name = "pyzmq" version = "27.1.0" @@ -1493,6 +3380,23 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/01/1b/5dbe84eefc86f48473947e2f41711aded97eecef1231f4558f1f02713c12/pyzmq-27.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c9f7f6e13dff2e44a6afeaf2cf54cee5929ad64afaf4d40b50f93c58fc687355", size = 544862, upload-time = "2025-09-08T23:09:56.509Z" }, ] +[[package]] +name = "qrcode" +version = "8.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8f/b2/7fc2931bfae0af02d5f53b174e9cf701adbb35f39d69c2af63d4a39f81a9/qrcode-8.2.tar.gz", hash = "sha256:35c3f2a4172b33136ab9f6b3ef1c00260dd2f66f858f24d88418a015f446506c", size = 43317, upload-time = "2025-05-01T15:44:24.726Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dd/b8/d2d6d731733f51684bbf76bf34dab3b70a9148e8f2cef2bb544fccec681a/qrcode-8.2-py3-none-any.whl", hash = "sha256:16e64e0716c14960108e85d853062c9e8bba5ca8252c0b4d0231b9df4060ff4f", size = 45986, upload-time = "2025-05-01T15:44:22.781Z" }, +] + +[package.optional-dependencies] +pil = [ + { name = "pillow" }, +] + [[package]] name = "referencing" version = "0.37.0" @@ -1507,6 +3411,34 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" }, ] +[[package]] +name = "requests" +version = "2.34.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", size = 142856, upload-time = "2026-05-14T19:25:27.735Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0", size = 73075, upload-time = "2026-05-14T19:25:26.443Z" }, +] + +[[package]] +name = "rich" +version = "15.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", hash = "sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36", size = 230680, upload-time = "2026-04-12T08:24:00.75Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", hash = "sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb", size = 310654, upload-time = "2026-04-12T08:24:02.83Z" }, +] + [[package]] name = "rpds-py" version = "2026.6.3" @@ -1630,6 +3562,77 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/10/85/48f0abdcef5cce4e034c7a5b0ceeceba0b01bf0d942824f4bb720afe2dec/rpds_py-2026.6.3-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:8e65860d238379ed982fd9ba690579b5e95af2f4840f99c772816dbe573cb826", size = 586486, upload-time = "2026-06-30T07:17:51.141Z" }, ] +[[package]] +name = "setproctitle" +version = "1.3.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8d/48/49393a96a2eef1ab418b17475fb92b8fcfad83d099e678751b05472e69de/setproctitle-1.3.7.tar.gz", hash = "sha256:bc2bc917691c1537d5b9bca1468437176809c7e11e5694ca79a9ca12345dcb9e", size = 27002, upload-time = "2025-09-05T12:51:25.278Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/cd/1b7ba5cad635510720ce19d7122154df96a2387d2a74217be552887c93e5/setproctitle-1.3.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a600eeb4145fb0ee6c287cb82a2884bd4ec5bbb076921e287039dcc7b7cc6dd0", size = 18085, upload-time = "2025-09-05T12:49:22.183Z" }, + { url = "https://files.pythonhosted.org/packages/8f/1a/b2da0a620490aae355f9d72072ac13e901a9fec809a6a24fc6493a8f3c35/setproctitle-1.3.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:97a090fed480471bb175689859532709e28c085087e344bca45cf318034f70c4", size = 13097, upload-time = "2025-09-05T12:49:23.322Z" }, + { url = "https://files.pythonhosted.org/packages/18/2e/bd03ff02432a181c1787f6fc2a678f53b7dacdd5ded69c318fe1619556e8/setproctitle-1.3.7-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1607b963e7b53e24ec8a2cb4e0ab3ae591d7c6bf0a160feef0551da63452b37f", size = 32191, upload-time = "2025-09-05T12:49:24.567Z" }, + { url = "https://files.pythonhosted.org/packages/28/78/1e62fc0937a8549f2220445ed2175daacee9b6764c7963b16148119b016d/setproctitle-1.3.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a20fb1a3974e2dab857870cf874b325b8705605cb7e7e8bcbb915bca896f52a9", size = 33203, upload-time = "2025-09-05T12:49:25.871Z" }, + { url = "https://files.pythonhosted.org/packages/a0/3c/65edc65db3fa3df400cf13b05e9d41a3c77517b4839ce873aa6b4043184f/setproctitle-1.3.7-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f8d961bba676e07d77665204f36cffaa260f526e7b32d07ab3df6a2c1dfb44ba", size = 34963, upload-time = "2025-09-05T12:49:27.044Z" }, + { url = "https://files.pythonhosted.org/packages/a1/32/89157e3de997973e306e44152522385f428e16f92f3cf113461489e1e2ee/setproctitle-1.3.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:db0fd964fbd3a9f8999b502f65bd2e20883fdb5b1fae3a424e66db9a793ed307", size = 32398, upload-time = "2025-09-05T12:49:28.909Z" }, + { url = "https://files.pythonhosted.org/packages/4a/18/77a765a339ddf046844cb4513353d8e9dcd8183da9cdba6e078713e6b0b2/setproctitle-1.3.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:db116850fcf7cca19492030f8d3b4b6e231278e8fe097a043957d22ce1bdf3ee", size = 33657, upload-time = "2025-09-05T12:49:30.323Z" }, + { url = "https://files.pythonhosted.org/packages/6b/63/f0b6205c64d74d2a24a58644a38ec77bdbaa6afc13747e75973bf8904932/setproctitle-1.3.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:316664d8b24a5c91ee244460bdaf7a74a707adaa9e14fbe0dc0a53168bb9aba1", size = 31836, upload-time = "2025-09-05T12:49:32.309Z" }, + { url = "https://files.pythonhosted.org/packages/ba/51/e1277f9ba302f1a250bbd3eedbbee747a244b3cc682eb58fb9733968f6d8/setproctitle-1.3.7-cp311-cp311-win32.whl", hash = "sha256:b74774ca471c86c09b9d5037c8451fff06bb82cd320d26ae5a01c758088c0d5d", size = 12556, upload-time = "2025-09-05T12:49:33.529Z" }, + { url = "https://files.pythonhosted.org/packages/b6/7b/822a23f17e9003dfdee92cd72758441ca2a3680388da813a371b716fb07f/setproctitle-1.3.7-cp311-cp311-win_amd64.whl", hash = "sha256:acb9097213a8dd3410ed9f0dc147840e45ca9797785272928d4be3f0e69e3be4", size = 13243, upload-time = "2025-09-05T12:49:34.553Z" }, + { url = "https://files.pythonhosted.org/packages/fb/f0/2dc88e842077719d7384d86cc47403e5102810492b33680e7dadcee64cd8/setproctitle-1.3.7-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2dc99aec591ab6126e636b11035a70991bc1ab7a261da428491a40b84376654e", size = 18049, upload-time = "2025-09-05T12:49:36.241Z" }, + { url = "https://files.pythonhosted.org/packages/f0/b4/50940504466689cda65680c9e9a1e518e5750c10490639fa687489ac7013/setproctitle-1.3.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cdd8aa571b7aa39840fdbea620e308a19691ff595c3a10231e9ee830339dd798", size = 13079, upload-time = "2025-09-05T12:49:38.088Z" }, + { url = "https://files.pythonhosted.org/packages/d0/99/71630546b9395b095f4082be41165d1078204d1696c2d9baade3de3202d0/setproctitle-1.3.7-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2906b6c7959cdb75f46159bf0acd8cc9906cf1361c9e1ded0d065fe8f9039629", size = 32932, upload-time = "2025-09-05T12:49:39.271Z" }, + { url = "https://files.pythonhosted.org/packages/50/22/cee06af4ffcfb0e8aba047bd44f5262e644199ae7527ae2c1f672b86495c/setproctitle-1.3.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6915964a6dda07920a1159321dcd6d94fc7fc526f815ca08a8063aeca3c204f1", size = 33736, upload-time = "2025-09-05T12:49:40.565Z" }, + { url = "https://files.pythonhosted.org/packages/5c/00/a5949a8bb06ef5e7df214fc393bb2fb6aedf0479b17214e57750dfdd0f24/setproctitle-1.3.7-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cff72899861c765bd4021d1ff1c68d60edc129711a2fdba77f9cb69ef726a8b6", size = 35605, upload-time = "2025-09-05T12:49:42.362Z" }, + { url = "https://files.pythonhosted.org/packages/b0/3a/50caca532a9343828e3bf5778c7a84d6c737a249b1796d50dd680290594d/setproctitle-1.3.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b7cb05bd446687ff816a3aaaf831047fc4c364feff7ada94a66024f1367b448c", size = 33143, upload-time = "2025-09-05T12:49:43.515Z" }, + { url = "https://files.pythonhosted.org/packages/ca/14/b843a251296ce55e2e17c017d6b9f11ce0d3d070e9265de4ecad948b913d/setproctitle-1.3.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3a57b9a00de8cae7e2a1f7b9f0c2ac7b69372159e16a7708aa2f38f9e5cc987a", size = 34434, upload-time = "2025-09-05T12:49:45.31Z" }, + { url = "https://files.pythonhosted.org/packages/c8/b7/06145c238c0a6d2c4bc881f8be230bb9f36d2bf51aff7bddcb796d5eed67/setproctitle-1.3.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d8828b356114f6b308b04afe398ed93803d7fca4a955dd3abe84430e28d33739", size = 32795, upload-time = "2025-09-05T12:49:46.419Z" }, + { url = "https://files.pythonhosted.org/packages/ef/dc/ef76a81fac9bf27b84ed23df19c1f67391a753eed6e3c2254ebcb5133f56/setproctitle-1.3.7-cp312-cp312-win32.whl", hash = "sha256:b0304f905efc845829ac2bc791ddebb976db2885f6171f4a3de678d7ee3f7c9f", size = 12552, upload-time = "2025-09-05T12:49:47.635Z" }, + { url = "https://files.pythonhosted.org/packages/e2/5b/a9fe517912cd6e28cf43a212b80cb679ff179a91b623138a99796d7d18a0/setproctitle-1.3.7-cp312-cp312-win_amd64.whl", hash = "sha256:9888ceb4faea3116cf02a920ff00bfbc8cc899743e4b4ac914b03625bdc3c300", size = 13247, upload-time = "2025-09-05T12:49:49.16Z" }, + { url = "https://files.pythonhosted.org/packages/5d/2f/fcedcade3b307a391b6e17c774c6261a7166aed641aee00ed2aad96c63ce/setproctitle-1.3.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c3736b2a423146b5e62230502e47e08e68282ff3b69bcfe08a322bee73407922", size = 18047, upload-time = "2025-09-05T12:49:50.271Z" }, + { url = "https://files.pythonhosted.org/packages/23/ae/afc141ca9631350d0a80b8f287aac79a76f26b6af28fd8bf92dae70dc2c5/setproctitle-1.3.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3384e682b158d569e85a51cfbde2afd1ab57ecf93ea6651fe198d0ba451196ee", size = 13073, upload-time = "2025-09-05T12:49:51.46Z" }, + { url = "https://files.pythonhosted.org/packages/87/ed/0a4f00315bc02510395b95eec3d4aa77c07192ee79f0baae77ea7b9603d8/setproctitle-1.3.7-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0564a936ea687cd24dffcea35903e2a20962aa6ac20e61dd3a207652401492dd", size = 33284, upload-time = "2025-09-05T12:49:52.741Z" }, + { url = "https://files.pythonhosted.org/packages/fc/e4/adf3c4c0a2173cb7920dc9df710bcc67e9bcdbf377e243b7a962dc31a51a/setproctitle-1.3.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a5d1cb3f81531f0eb40e13246b679a1bdb58762b170303463cb06ecc296f26d0", size = 34104, upload-time = "2025-09-05T12:49:54.416Z" }, + { url = "https://files.pythonhosted.org/packages/52/4f/6daf66394152756664257180439d37047aa9a1cfaa5e4f5ed35e93d1dc06/setproctitle-1.3.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a7d159e7345f343b44330cbba9194169b8590cb13dae940da47aa36a72aa9929", size = 35982, upload-time = "2025-09-05T12:49:56.295Z" }, + { url = "https://files.pythonhosted.org/packages/1b/62/f2c0595403cf915db031f346b0e3b2c0096050e90e0be658a64f44f4278a/setproctitle-1.3.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0b5074649797fd07c72ca1f6bff0406f4a42e1194faac03ecaab765ce605866f", size = 33150, upload-time = "2025-09-05T12:49:58.025Z" }, + { url = "https://files.pythonhosted.org/packages/a0/29/10dd41cde849fb2f9b626c846b7ea30c99c81a18a5037a45cc4ba33c19a7/setproctitle-1.3.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:61e96febced3f61b766115381d97a21a6265a0f29188a791f6df7ed777aef698", size = 34463, upload-time = "2025-09-05T12:49:59.424Z" }, + { url = "https://files.pythonhosted.org/packages/71/3c/cedd8eccfaf15fb73a2c20525b68c9477518917c9437737fa0fda91e378f/setproctitle-1.3.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:047138279f9463f06b858e579cc79580fbf7a04554d24e6bddf8fe5dddbe3d4c", size = 32848, upload-time = "2025-09-05T12:50:01.107Z" }, + { url = "https://files.pythonhosted.org/packages/d1/3e/0a0e27d1c9926fecccfd1f91796c244416c70bf6bca448d988638faea81d/setproctitle-1.3.7-cp313-cp313-win32.whl", hash = "sha256:7f47accafac7fe6535ba8ba9efd59df9d84a6214565108d0ebb1199119c9cbbd", size = 12544, upload-time = "2025-09-05T12:50:15.81Z" }, + { url = "https://files.pythonhosted.org/packages/36/1b/6bf4cb7acbbd5c846ede1c3f4d6b4ee52744d402e43546826da065ff2ab7/setproctitle-1.3.7-cp313-cp313-win_amd64.whl", hash = "sha256:fe5ca35aeec6dc50cabab9bf2d12fbc9067eede7ff4fe92b8f5b99d92e21263f", size = 13235, upload-time = "2025-09-05T12:50:16.89Z" }, + { url = "https://files.pythonhosted.org/packages/e6/a4/d588d3497d4714750e3eaf269e9e8985449203d82b16b933c39bd3fc52a1/setproctitle-1.3.7-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:10e92915c4b3086b1586933a36faf4f92f903c5554f3c34102d18c7d3f5378e9", size = 18058, upload-time = "2025-09-05T12:50:02.501Z" }, + { url = "https://files.pythonhosted.org/packages/05/77/7637f7682322a7244e07c373881c7e982567e2cb1dd2f31bd31481e45500/setproctitle-1.3.7-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:de879e9c2eab637f34b1a14c4da1e030c12658cdc69ee1b3e5be81b380163ce5", size = 13072, upload-time = "2025-09-05T12:50:03.601Z" }, + { url = "https://files.pythonhosted.org/packages/52/09/f366eca0973cfbac1470068d1313fa3fe3de4a594683385204ec7f1c4101/setproctitle-1.3.7-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c18246d88e227a5b16248687514f95642505000442165f4b7db354d39d0e4c29", size = 34490, upload-time = "2025-09-05T12:50:04.948Z" }, + { url = "https://files.pythonhosted.org/packages/71/36/611fc2ed149fdea17c3677e1d0df30d8186eef9562acc248682b91312706/setproctitle-1.3.7-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7081f193dab22df2c36f9fc6d113f3793f83c27891af8fe30c64d89d9a37e152", size = 35267, upload-time = "2025-09-05T12:50:06.015Z" }, + { url = "https://files.pythonhosted.org/packages/88/a4/64e77d0671446bd5a5554387b69e1efd915274686844bea733714c828813/setproctitle-1.3.7-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9cc9b901ce129350637426a89cfd650066a4adc6899e47822e2478a74023ff7c", size = 37376, upload-time = "2025-09-05T12:50:07.484Z" }, + { url = "https://files.pythonhosted.org/packages/89/bc/ad9c664fe524fb4a4b2d3663661a5c63453ce851736171e454fa2cdec35c/setproctitle-1.3.7-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:80e177eff2d1ec172188d0d7fd9694f8e43d3aab76a6f5f929bee7bf7894e98b", size = 33963, upload-time = "2025-09-05T12:50:09.056Z" }, + { url = "https://files.pythonhosted.org/packages/ab/01/a36de7caf2d90c4c28678da1466b47495cbbad43badb4e982d8db8167ed4/setproctitle-1.3.7-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:23e520776c445478a67ee71b2a3c1ffdafbe1f9f677239e03d7e2cc635954e18", size = 35550, upload-time = "2025-09-05T12:50:10.791Z" }, + { url = "https://files.pythonhosted.org/packages/dd/68/17e8aea0ed5ebc17fbf03ed2562bfab277c280e3625850c38d92a7b5fcd9/setproctitle-1.3.7-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5fa1953126a3b9bd47049d58c51b9dac72e78ed120459bd3aceb1bacee72357c", size = 33727, upload-time = "2025-09-05T12:50:12.032Z" }, + { url = "https://files.pythonhosted.org/packages/b2/33/90a3bf43fe3a2242b4618aa799c672270250b5780667898f30663fd94993/setproctitle-1.3.7-cp313-cp313t-win32.whl", hash = "sha256:4a5e212bf438a4dbeece763f4962ad472c6008ff6702e230b4f16a037e2f6f29", size = 12549, upload-time = "2025-09-05T12:50:13.074Z" }, + { url = "https://files.pythonhosted.org/packages/0b/0e/50d1f07f3032e1f23d814ad6462bc0a138f369967c72494286b8a5228e40/setproctitle-1.3.7-cp313-cp313t-win_amd64.whl", hash = "sha256:cf2727b733e90b4f874bac53e3092aa0413fe1ea6d4f153f01207e6ce65034d9", size = 13243, upload-time = "2025-09-05T12:50:14.146Z" }, + { url = "https://files.pythonhosted.org/packages/89/c7/43ac3a98414f91d1b86a276bc2f799ad0b4b010e08497a95750d5bc42803/setproctitle-1.3.7-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:80c36c6a87ff72eabf621d0c79b66f3bdd0ecc79e873c1e9f0651ee8bf215c63", size = 18052, upload-time = "2025-09-05T12:50:17.928Z" }, + { url = "https://files.pythonhosted.org/packages/cd/2c/dc258600a25e1a1f04948073826bebc55e18dbd99dc65a576277a82146fa/setproctitle-1.3.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b53602371a52b91c80aaf578b5ada29d311d12b8a69c0c17fbc35b76a1fd4f2e", size = 13071, upload-time = "2025-09-05T12:50:19.061Z" }, + { url = "https://files.pythonhosted.org/packages/ab/26/8e3bb082992f19823d831f3d62a89409deb6092e72fc6940962983ffc94f/setproctitle-1.3.7-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fcb966a6c57cf07cc9448321a08f3be6b11b7635be502669bc1d8745115d7e7f", size = 33180, upload-time = "2025-09-05T12:50:20.395Z" }, + { url = "https://files.pythonhosted.org/packages/f1/af/ae692a20276d1159dd0cf77b0bcf92cbb954b965655eb4a69672099bb214/setproctitle-1.3.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:46178672599b940368d769474fe13ecef1b587d58bb438ea72b9987f74c56ea5", size = 34043, upload-time = "2025-09-05T12:50:22.454Z" }, + { url = "https://files.pythonhosted.org/packages/34/b2/6a092076324dd4dac1a6d38482bedebbff5cf34ef29f58585ec76e47bc9d/setproctitle-1.3.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7f9e9e3ff135cbcc3edd2f4cf29b139f4aca040d931573102742db70ff428c17", size = 35892, upload-time = "2025-09-05T12:50:23.937Z" }, + { url = "https://files.pythonhosted.org/packages/1c/1a/8836b9f28cee32859ac36c3df85aa03e1ff4598d23ea17ca2e96b5845a8f/setproctitle-1.3.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:14c7eba8d90c93b0e79c01f0bd92a37b61983c27d6d7d5a3b5defd599113d60e", size = 32898, upload-time = "2025-09-05T12:50:25.617Z" }, + { url = "https://files.pythonhosted.org/packages/ef/22/8fabdc24baf42defb599714799d8445fe3ae987ec425a26ec8e80ea38f8e/setproctitle-1.3.7-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:9e64e98077fb30b6cf98073d6c439cd91deb8ebbf8fc62d9dbf52bd38b0c6ac0", size = 34308, upload-time = "2025-09-05T12:50:26.827Z" }, + { url = "https://files.pythonhosted.org/packages/15/1b/b9bee9de6c8cdcb3b3a6cb0b3e773afdb86bbbc1665a3bfa424a4294fda2/setproctitle-1.3.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b91387cc0f02a00ac95dcd93f066242d3cca10ff9e6153de7ee07069c6f0f7c8", size = 32536, upload-time = "2025-09-05T12:50:28.5Z" }, + { url = "https://files.pythonhosted.org/packages/37/0c/75e5f2685a5e3eda0b39a8b158d6d8895d6daf3ba86dec9e3ba021510272/setproctitle-1.3.7-cp314-cp314-win32.whl", hash = "sha256:52b054a61c99d1b72fba58b7f5486e04b20fefc6961cd76722b424c187f362ed", size = 12731, upload-time = "2025-09-05T12:50:43.955Z" }, + { url = "https://files.pythonhosted.org/packages/d2/ae/acddbce90d1361e1786e1fb421bc25baeb0c22ef244ee5d0176511769ec8/setproctitle-1.3.7-cp314-cp314-win_amd64.whl", hash = "sha256:5818e4080ac04da1851b3ec71e8a0f64e3748bf9849045180566d8b736702416", size = 13464, upload-time = "2025-09-05T12:50:45.057Z" }, + { url = "https://files.pythonhosted.org/packages/01/6d/20886c8ff2e6d85e3cabadab6aab9bb90acaf1a5cfcb04d633f8d61b2626/setproctitle-1.3.7-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:6fc87caf9e323ac426910306c3e5d3205cd9f8dcac06d233fcafe9337f0928a3", size = 18062, upload-time = "2025-09-05T12:50:29.78Z" }, + { url = "https://files.pythonhosted.org/packages/9a/60/26dfc5f198715f1343b95c2f7a1c16ae9ffa45bd89ffd45a60ed258d24ea/setproctitle-1.3.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6134c63853d87a4897ba7d5cc0e16abfa687f6c66fc09f262bb70d67718f2309", size = 13075, upload-time = "2025-09-05T12:50:31.604Z" }, + { url = "https://files.pythonhosted.org/packages/21/9c/980b01f50d51345dd513047e3ba9e96468134b9181319093e61db1c47188/setproctitle-1.3.7-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1403d2abfd32790b6369916e2313dffbe87d6b11dca5bbd898981bcde48e7a2b", size = 34744, upload-time = "2025-09-05T12:50:32.777Z" }, + { url = "https://files.pythonhosted.org/packages/86/b4/82cd0c86e6d1c4538e1a7eb908c7517721513b801dff4ba3f98ef816a240/setproctitle-1.3.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e7c5bfe4228ea22373e3025965d1a4116097e555ee3436044f5c954a5e63ac45", size = 35589, upload-time = "2025-09-05T12:50:34.13Z" }, + { url = "https://files.pythonhosted.org/packages/8a/4f/9f6b2a7417fd45673037554021c888b31247f7594ff4bd2239918c5cd6d0/setproctitle-1.3.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:585edf25e54e21a94ccb0fe81ad32b9196b69ebc4fc25f81da81fb8a50cca9e4", size = 37698, upload-time = "2025-09-05T12:50:35.524Z" }, + { url = "https://files.pythonhosted.org/packages/20/92/927b7d4744aac214d149c892cb5fa6dc6f49cfa040cb2b0a844acd63dcaf/setproctitle-1.3.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:96c38cdeef9036eb2724c2210e8d0b93224e709af68c435d46a4733a3675fee1", size = 34201, upload-time = "2025-09-05T12:50:36.697Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0c/fd4901db5ba4b9d9013e62f61d9c18d52290497f956745cd3e91b0d80f90/setproctitle-1.3.7-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:45e3ef48350abb49cf937d0a8ba15e42cee1e5ae13ca41a77c66d1abc27a5070", size = 35801, upload-time = "2025-09-05T12:50:38.314Z" }, + { url = "https://files.pythonhosted.org/packages/e7/e3/54b496ac724e60e61cc3447f02690105901ca6d90da0377dffe49ff99fc7/setproctitle-1.3.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:1fae595d032b30dab4d659bece20debd202229fce12b55abab978b7f30783d73", size = 33958, upload-time = "2025-09-05T12:50:39.841Z" }, + { url = "https://files.pythonhosted.org/packages/ea/a8/c84bb045ebf8c6fdc7f7532319e86f8380d14bbd3084e6348df56bdfe6fd/setproctitle-1.3.7-cp314-cp314t-win32.whl", hash = "sha256:02432f26f5d1329ab22279ff863c83589894977063f59e6c4b4845804a08f8c2", size = 12745, upload-time = "2025-09-05T12:50:41.377Z" }, + { url = "https://files.pythonhosted.org/packages/08/b6/3a5a4f9952972791a9114ac01dfc123f0df79903577a3e0a7a404a695586/setproctitle-1.3.7-cp314-cp314t-win_amd64.whl", hash = "sha256:cbc388e3d86da1f766d8fc2e12682e446064c01cea9f88a88647cfe7c011de6a", size = 13469, upload-time = "2025-09-05T12:50:42.67Z" }, + { url = "https://files.pythonhosted.org/packages/c3/5b/5e1c117ac84e3cefcf8d7a7f6b2461795a87e20869da065a5c087149060b/setproctitle-1.3.7-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:b1cac6a4b0252b8811d60b6d8d0f157c0fdfed379ac89c25a914e6346cf355a1", size = 12587, upload-time = "2025-09-05T12:51:21.195Z" }, + { url = "https://files.pythonhosted.org/packages/73/02/b9eadc226195dcfa90eed37afe56b5dd6fa2f0e5220ab8b7867b8862b926/setproctitle-1.3.7-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f1704c9e041f2b1dc38f5be4552e141e1432fba3dd52c72eeffd5bc2db04dc65", size = 14286, upload-time = "2025-09-05T12:51:22.61Z" }, + { url = "https://files.pythonhosted.org/packages/28/26/1be1d2a53c2a91ec48fa2ff4a409b395f836798adf194d99de9c059419ea/setproctitle-1.3.7-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:b08b61976ffa548bd5349ce54404bf6b2d51bd74d4f1b241ed1b0f25bce09c3a", size = 13282, upload-time = "2025-09-05T12:51:24.094Z" }, +] + [[package]] name = "setuptools" version = "83.0.0" @@ -1639,6 +3642,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5d/40/e1e72872c6354b306daef1703549e8e83b4d43cfea356311bf722a043752/setuptools-83.0.0-py3-none-any.whl", hash = "sha256:29b23c360f22f414dc7336bb39178cc7bcbf6021ed2733cde173f09dba19abb3", size = 1008090, upload-time = "2026-07-04T15:31:20.885Z" }, ] +[[package]] +name = "simpleeval" +version = "1.0.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b4/9d/e7c9309940794dd3073cba2e5101df5874d84243595ce63b1e1c8f9b9c76/simpleeval-1.0.7.tar.gz", hash = "sha256:1e10e5f9fec597814444e20c0892ed15162fa214c8a88f434b5b077cf2fef85b", size = 30250, upload-time = "2026-03-16T10:53:03.464Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/2f/f32aa85591882378bb43caa09363f3ed97df399369a5144c7f19f2275bc0/simpleeval-1.0.7-py3-none-any.whl", hash = "sha256:97ac271bfd8f2af9e7b9a36ceea67617f26fa873f9d5ae1922f64d4c1442534b", size = 18792, upload-time = "2026-03-16T10:53:02.103Z" }, +] + [[package]] name = "six" version = "1.17.0" @@ -1648,6 +3660,151 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, ] +[[package]] +name = "skypilot" +version = "0.12.3.post1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiofiles" }, + { name = "aiohttp" }, + { name = "aiosqlite" }, + { name = "alembic" }, + { name = "anyio" }, + { name = "asyncpg" }, + { name = "bcrypt" }, + { name = "cachetools" }, + { name = "casbin" }, + { name = "click" }, + { name = "colorama" }, + { name = "cryptography" }, + { name = "fastapi" }, + { name = "filelock" }, + { name = "gitpython" }, + { name = "greenlet" }, + { name = "httpx" }, + { name = "ijson" }, + { name = "jinja2" }, + { name = "jsonschema" }, + { name = "networkx" }, + { name = "orjson" }, + { name = "packaging" }, + { name = "pandas" }, + { name = "paramiko" }, + { name = "passlib" }, + { name = "pendulum" }, + { name = "pip" }, + { name = "prettytable" }, + { name = "prometheus-client" }, + { name = "psutil" }, + { name = "psycopg2-binary" }, + { name = "pulp" }, + { name = "pydantic" }, + { name = "pyjwt" }, + { name = "python-dotenv" }, + { name = "python-multipart" }, + { name = "pyyaml" }, + { name = "requests" }, + { name = "rich" }, + { name = "setproctitle" }, + { name = "setuptools" }, + { name = "sqlalchemy" }, + { name = "sqlalchemy-adapter" }, + { name = "tabulate" }, + { name = "tqdm" }, + { name = "types-paramiko" }, + { name = "typing-extensions" }, + { name = "uvicorn", extra = ["standard"] }, + { name = "wheel" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/25/03/8320149d1a1b6c8909dea1127150932c23b7e0284e1ec91a217dad87c85c/skypilot-0.12.3.post1.tar.gz", hash = "sha256:f6e8c59559b675fd967b8f95060f8c8aac9b80ec9832f5f7cd52098824116995", size = 3326369, upload-time = "2026-05-28T00:02:30.322Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/ad/97b4dc701053802b6268fedd99832efd762c93a2e55b86b752a4ed778242/skypilot-0.12.3.post1-py3-none-any.whl", hash = "sha256:ff53190bc3d2a0e146f08e8d7d71626628134961cdfcd89333202f116c0a2f3a", size = 3655498, upload-time = "2026-05-28T00:02:27.535Z" }, +] + +[package.optional-dependencies] +vast = [ + { name = "aiohttp" }, + { name = "aiosqlite" }, + { name = "anyio" }, + { name = "casbin" }, + { name = "grpcio" }, + { name = "passlib" }, + { name = "protobuf" }, + { name = "pyjwt" }, + { name = "sqlalchemy-adapter" }, + { name = "vastai-sdk" }, +] + +[[package]] +name = "smmap" +version = "5.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1f/ea/49c993d6dfdd7338c9b1000a0f36817ed7ec84577ae2e52f890d1a4ff909/smmap-5.0.3.tar.gz", hash = "sha256:4d9debb8b99007ae47165abc08670bd74cb74b5227dda7f643eccc4e9eb5642c", size = 22506, upload-time = "2026-03-09T03:43:26.1Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/d4/59e74daffcb57a07668852eeeb6035af9f32cbfd7a1d2511f17d2fe6a738/smmap-5.0.3-py3-none-any.whl", hash = "sha256:c106e05d5a61449cf6ba9a1e650227ecfb141590d2a98412103ff35d89fc7b2f", size = 24390, upload-time = "2026-03-09T03:43:24.361Z" }, +] + +[[package]] +name = "sqlalchemy" +version = "2.0.51" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "greenlet", marker = "platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64'" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/02/f1/a7a892f18d4d224e6b26f706531eafccc41e37594d37d304786969ee13cb/sqlalchemy-2.0.51.tar.gz", hash = "sha256:804dccd8a4a6242c4e30ad961e540e18a588f6527202f2d6791b01845d59fdc9", size = 9912201, upload-time = "2026-06-15T15:41:20.012Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/69/a67c69e5f28fc9c99d6f7bd60bd50e91f2fed2423e3b30fb228fa00e51f3/sqlalchemy-2.0.51-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1aa10c0daee6705294d181daadaa793221e1a59ed55000a3fab1d42b088ce4ba", size = 2161838, upload-time = "2026-06-15T16:05:17.144Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a4/c8c22b8438bddc0a030157c6ec0f6ef97b3c38effa444bdab2a27af04090/sqlalchemy-2.0.51-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a5b2ed6d828f1f09bd812861f4f59ca3bc3803f9df871f4555187f0faf018604", size = 3319402, upload-time = "2026-06-15T16:10:40.002Z" }, + { url = "https://files.pythonhosted.org/packages/90/54/44012d32fd77d991256d2ff793ba3807c51d40cb27a85b4796224f6744df/sqlalchemy-2.0.51-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:436728ce18a80f6951a1e11cc6112c2ede9faf20766f1a26195a7c441ca12dbd", size = 3319675, upload-time = "2026-06-15T16:12:25.658Z" }, + { url = "https://files.pythonhosted.org/packages/29/a5/de0592acaf5906cd7430874392d6f7e8b4a7c8437610953ee2d1501c0b44/sqlalchemy-2.0.51-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dc261707bf5739aea8a541593f3cc1d463c2701fb05fbcbba0ce031b69a21260", size = 3270777, upload-time = "2026-06-15T16:10:42.125Z" }, + { url = "https://files.pythonhosted.org/packages/cb/14/a44c90739c780b362238e4ac3cb19dd0ca40d13e6ddc5daa112166ddab4f/sqlalchemy-2.0.51-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a6d26094615306d116dd5e4a51b0304c99dd2356fc569eed6922a80a6bd3b265", size = 3293940, upload-time = "2026-06-15T16:12:27.156Z" }, + { url = "https://files.pythonhosted.org/packages/65/eb/fbd0f206a330e66f8c602a99c37c4e731f107faed62954b41b01f16dd9d9/sqlalchemy-2.0.51-cp311-cp311-win32.whl", hash = "sha256:ca8435d13829b92f4a97362d91975154a4015db3a2634154e1754e9a915e6b86", size = 2121183, upload-time = "2026-06-15T16:13:29.905Z" }, + { url = "https://files.pythonhosted.org/packages/ad/fd/005bf80f3cf6e5c62b5dd68616280f51cd012c60840fa74781b3ed7b1623/sqlalchemy-2.0.51-cp311-cp311-win_amd64.whl", hash = "sha256:4a011ea4510683319ce4ed274b56ee05194b39b6da9d09ca7a39388f0fa84dcc", size = 2145796, upload-time = "2026-06-15T16:13:31.283Z" }, + { url = "https://files.pythonhosted.org/packages/d5/70/e868bc5412acd101a8280f25c95f10eeae0771c4eb806b02491142810ee8/sqlalchemy-2.0.51-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d78702b26ba1c18b2d0fb2ea940ba7f17a9581b42e8361ff93920ebbee1235a", size = 2160291, upload-time = "2026-06-15T16:08:48.918Z" }, + { url = "https://files.pythonhosted.org/packages/e5/1c/71ee0f8a6b9d7316a1ccd30430b4c62b6c2e36adc96017a4e3a72dce49d6/sqlalchemy-2.0.51-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581921d849d6e6f994d560389192955e80e2950e18fcdfe2ccea863e01158e6e", size = 3343835, upload-time = "2026-06-15T16:19:42.613Z" }, + { url = "https://files.pythonhosted.org/packages/2b/7c/7ab9f9aadc5944fdd06612484ed7918fe376ad871a5f50404dc1536e0194/sqlalchemy-2.0.51-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1d21ce524ab86c23046e992a5b81cb54c21079c6df6e78b8fc77d77cac70a6b9", size = 3358470, upload-time = "2026-06-15T16:26:38.011Z" }, + { url = "https://files.pythonhosted.org/packages/d0/7d/ff77169fee6186de145a7f2b87006c39638391130abbab2b1f63ac6ea583/sqlalchemy-2.0.51-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c5d98a2709840027f5a347c3af0a7c3d5f6c1ff93af2ca1c54494e23cba8f389", size = 3289874, upload-time = "2026-06-15T16:19:45.212Z" }, + { url = "https://files.pythonhosted.org/packages/6f/3b/6c505903710d781b55bc3141ee34a062bf9745a6b5bc7333305b9ed63b33/sqlalchemy-2.0.51-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1181256e0f16479691b5616d36375dc2620ad8332b25978763c3d206ad3f3f1d", size = 3321692, upload-time = "2026-06-15T16:26:39.747Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b7/c5ffe50aa2f4d947c9250e1519d939260329a07fe6272edfccd784b3d007/sqlalchemy-2.0.51-cp312-cp312-win32.whl", hash = "sha256:9f380393be5abeb6815f68fd39271b95127173511b6706b0a630a9995d53f8f5", size = 2119674, upload-time = "2026-06-15T16:23:09.543Z" }, + { url = "https://files.pythonhosted.org/packages/25/dc/46a65916af68a06ef6b972c6050ba4c8f97070fe3fb33097d34229d9bef6/sqlalchemy-2.0.51-cp312-cp312-win_amd64.whl", hash = "sha256:2cf39aabdf48e87c1c2c2ed6d20d33ffa0733b3071ce9c5f66357947dd009080", size = 2146670, upload-time = "2026-06-15T16:23:11.048Z" }, + { url = "https://files.pythonhosted.org/packages/54/fe/a210d52fd1a90ecfae8a78e9d8b27e18d733d60818a8bf250ff690b75120/sqlalchemy-2.0.51-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7c2056838b6685b72fdb36c99996cf862753461a62f2e84f4196371d3b2d6a07", size = 2157184, upload-time = "2026-06-15T16:08:50.374Z" }, + { url = "https://files.pythonhosted.org/packages/17/6b/2dce8369b199cb855110e056032f94a9f66dacc2237d3d39c115a86eac56/sqlalchemy-2.0.51-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:483b11bd46bf35fc14c52faf338b04300c9e6ce554bce9b11be85bfec3bc3195", size = 3284735, upload-time = "2026-06-15T16:19:46.934Z" }, + { url = "https://files.pythonhosted.org/packages/53/ff/dbc495b8a14da840faffb353857a72d4190113cac33727906fb997047f0f/sqlalchemy-2.0.51-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1bed1ee8b01da6088210aa9412023326fb98a599ba502e6118308601dcbef77f", size = 3302756, upload-time = "2026-06-15T16:26:41.336Z" }, + { url = "https://files.pythonhosted.org/packages/cf/d5/fde8f4dddcf518ee15ab35a7c6a28acc32c8ba548d1d2aa451f96e6dbb0b/sqlalchemy-2.0.51-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:72ca54c952107ba5cd58854b67a5a6268631289d21651a1235396f3b98b47400", size = 3232055, upload-time = "2026-06-15T16:19:49.286Z" }, + { url = "https://files.pythonhosted.org/packages/67/d1/43d3a0ac955a58601c24fa23038b1c55ee3a1ec02c0f96ebb1eae2bcf614/sqlalchemy-2.0.51-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b3e693d15533a45cd5906f0589f9c35090bef6ef45bf1e8195c424aa0ae06a8d", size = 3269850, upload-time = "2026-06-15T16:26:43.017Z" }, + { url = "https://files.pythonhosted.org/packages/94/df/de669c7054cd47c4439ac34b1b2ee8b804a794791fbb10720e997a2c87c7/sqlalchemy-2.0.51-cp313-cp313-win32.whl", hash = "sha256:b93ab07b5292dbe7e6b8da89475275e7042744283921344b56105f3eeb0f828b", size = 2117721, upload-time = "2026-06-15T16:23:12.36Z" }, + { url = "https://files.pythonhosted.org/packages/d0/8a/403c51d064196bae20a0bc2476577f83a3f8dd299719a97417086b7f2ec5/sqlalchemy-2.0.51-cp313-cp313-win_amd64.whl", hash = "sha256:0f053118c30e53161857a953e4de667d90e274980dccbe5dd3829bbbeece72a5", size = 2143615, upload-time = "2026-06-15T16:23:13.906Z" }, + { url = "https://files.pythonhosted.org/packages/b1/49/a739be2e1d02a96a658eb71ab45d921c874249252358ad24a5bffdd02525/sqlalchemy-2.0.51-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:6ea306caaae6bd5afd0a46050003c88f6bf33227377a49298c498c3cb88ff491", size = 2158999, upload-time = "2026-06-15T16:08:51.759Z" }, + { url = "https://files.pythonhosted.org/packages/23/6b/2e0e38cf75c8780eca78d9b2e78164f8bcfd70125e5caa588ff5cbb9c9f4/sqlalchemy-2.0.51-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c45a496d6bc05dec41dcd4c3a2b183723f47473255c159cd80b503c8f246424d", size = 3282539, upload-time = "2026-06-15T16:19:51.065Z" }, + { url = "https://files.pythonhosted.org/packages/dd/a1/e77854cb5336fd37dc3c6ae3b71de242c98caac5725120be0b526b31cbd0/sqlalchemy-2.0.51-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4004ada0aafe8ae1991b2cd1d99c6d9146126e123bd6f883c260d974aa012e54", size = 3287545, upload-time = "2026-06-15T16:26:44.735Z" }, + { url = "https://files.pythonhosted.org/packages/f6/ab/9e17272fd4dac8df3b83c4fbe52b998a1c9d89a843c8c35ff29b74ff7364/sqlalchemy-2.0.51-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0f6bcad487aee1c638d707235682fc96f741de00663619881ab235400d03289e", size = 3230929, upload-time = "2026-06-15T16:19:52.625Z" }, + { url = "https://files.pythonhosted.org/packages/02/3c/52f408ea701781caee975606beccc48845f2aee8711ac29843d612c0306c/sqlalchemy-2.0.51-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:39a76529db6305693d8d4affa58ad5b5e2e18edd62daea628b29b97930b3513d", size = 3252888, upload-time = "2026-06-15T16:26:46.454Z" }, + { url = "https://files.pythonhosted.org/packages/24/16/3efd2ee6bc4ca4693a30a1dd17a91b606cae15d517d2a4746611d9b73ce8/sqlalchemy-2.0.51-cp314-cp314-win32.whl", hash = "sha256:08a204d8b5638717c26a24df18fcf40af45a6b22e35b70b1d62f0113c2e278e8", size = 2120551, upload-time = "2026-06-15T16:23:15.629Z" }, + { url = "https://files.pythonhosted.org/packages/7b/78/55b12e70f45bccc40d9e483925c065027b3b98ea4cbbdf6f8c2546feaf6c/sqlalchemy-2.0.51-cp314-cp314-win_amd64.whl", hash = "sha256:96747bfbadb055466e5b46d572618170046b45ce5a4879167f50d70a5319a499", size = 2146318, upload-time = "2026-06-15T16:23:17.108Z" }, + { url = "https://files.pythonhosted.org/packages/21/db/a9574ed40fed418924b1b1a3e54f47ee3963053b3d3d325a0d36b41f2c08/sqlalchemy-2.0.51-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e5ea1a213be1fcd5e49d9904c3b9939211ded90bc2a64e93f4c01963474285de", size = 2178920, upload-time = "2026-06-15T15:59:56.285Z" }, + { url = "https://files.pythonhosted.org/packages/bf/90/a1bb5c7cbba76b7bc1fbd586d0a5479a7bc9c27b4a8298f22ec9423b2bb3/sqlalchemy-2.0.51-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7c6b36ed71f41942bdcd2ad2522be46bfce09d5705be5640ecf19bbc7660e4b7", size = 3566534, upload-time = "2026-06-15T15:58:35.024Z" }, + { url = "https://files.pythonhosted.org/packages/15/4b/481f1fed30e0e9e8dd24aecbb49f29eb57fe7657ece5cf06ee9b84bb97d8/sqlalchemy-2.0.51-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0c2c62877097e1a0db401fba5cb4debee33265e5b2a55c4ccb489c02c53b4f72", size = 3535844, upload-time = "2026-06-15T16:02:43.973Z" }, + { url = "https://files.pythonhosted.org/packages/02/71/0aa64aeda645510af0a43f7d9ee70932f0d1dc4263aed34c50ee891d9df3/sqlalchemy-2.0.51-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0378d055e9e8cd6ce4d8dff683bdd3d7d413533c4ee51d67a2b1e0f9eacc0f23", size = 3475355, upload-time = "2026-06-15T15:58:36.592Z" }, + { url = "https://files.pythonhosted.org/packages/05/db/6061db32316446135a3abae5f308d144ab988a34234726042da3e58b1c63/sqlalchemy-2.0.51-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6e46fc36029eff666391e0531e5387b62ce6c4f1d8e50b3fb3099eaca1b42522", size = 3486591, upload-time = "2026-06-15T16:02:45.346Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c9/f14fdf71bb8957e0c7e39db69bbdf12b5c80f4ef775fdfa127bf4e0d6760/sqlalchemy-2.0.51-cp314-cp314t-win32.whl", hash = "sha256:9161cfc9efce70d1715f47d6ff40f79c6778c00d53be4fbc09d70301e4b83ba7", size = 2151313, upload-time = "2026-06-15T16:03:39.127Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c6/673e618e6f4f297e126d9b56ea2f6478708f6c1af4e3223835c22e2c3697/sqlalchemy-2.0.51-cp314-cp314t-win_amd64.whl", hash = "sha256:159bb6ba32059f57ad7375a8f50d844dd2f19d14954ecf820cd33e20debd46b2", size = 2186280, upload-time = "2026-06-15T16:03:40.569Z" }, + { url = "https://files.pythonhosted.org/packages/e2/22/dbf013a12ec759e54a34a119e9e217435b3f71b2dd5c61a7ade0a25dae87/sqlalchemy-2.0.51-py3-none-any.whl", hash = "sha256:bb024d8b621d0be75f4f44ecc7c950450026e76d66dc8f791bb5331d7fed59d5", size = 1944334, upload-time = "2026-06-15T16:09:22.418Z" }, +] + +[[package]] +name = "sqlalchemy-adapter" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycasbin" }, + { name = "sqlalchemy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f1/97/a7a3ba4edb229be8c21e7ff962d6d40ca0955dbdd6d8545bd5583ec381fd/sqlalchemy_adapter-1.9.0.tar.gz", hash = "sha256:7a7f88c0ecda41ba3a6635197dd22f65cbf73e352bfb0f4a26207c24e683261a", size = 12501, upload-time = "2025-11-17T17:19:51.796Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/85/bfd277c82b52318725499855e7ea42368d49df3327dbc63ea16ba9973fc0/sqlalchemy_adapter-1.9.0-py3-none-any.whl", hash = "sha256:7c100e2f9c4ca82a2dad82b9b8e4a2f03f3aa2d0204732e138e41c46623da6f7", size = 9944, upload-time = "2025-11-17T17:19:50.913Z" }, +] + [[package]] name = "stack-data" version = "0.6.3" @@ -1662,6 +3819,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, ] +[[package]] +name = "starlette" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/e3/7c1dc7381d9f8ab7d854328ebfa884e62cb3f3d8549ddfd37c7814f42afa/starlette-1.3.1.tar.gz", hash = "sha256:05d0213193f2fbaae60e2ecb593b4add4262ad4e46536b54abe36f11a71724e0", size = 2703240, upload-time = "2026-06-12T09:23:11.602Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/bb/2799cc2ede3ed41131f8975621e7213dfc7ef4acbbaadfa440f32500c370/starlette-1.3.1-py3-none-any.whl", hash = "sha256:c7372aae11c3c3f26a42df7bd626cec2f47d03483d261d369516a615a53714c6", size = 73632, upload-time = "2026-06-12T09:23:10.017Z" }, +] + [[package]] name = "sympy" version = "1.14.0" @@ -1674,6 +3844,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353, upload-time = "2025-04-27T18:04:59.103Z" }, ] +[[package]] +name = "tabulate" +version = "0.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/46/58/8c37dea7bbf769b20d58e7ace7e5edfe65b849442b00ffcdd56be88697c6/tabulate-0.10.0.tar.gz", hash = "sha256:e2cfde8f79420f6deeffdeda9aaec3b6bc5abce947655d17ac662b126e48a60d", size = 91754, upload-time = "2026-03-04T18:55:34.402Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/55/db07de81b5c630da5cbf5c7df646580ca26dfaefa593667fc6f2fe016d2e/tabulate-0.10.0-py3-none-any.whl", hash = "sha256:f0b0622e567335c8fabaaa659f1b33bcb6ddfe2e496071b743aa113f8774f2d3", size = 39814, upload-time = "2026-03-04T18:55:31.284Z" }, +] + [[package]] name = "torch" version = "2.13.0" @@ -1734,6 +3913,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/71/2e/7b1c769803121b809112cf9a00681c472eae1d80e32d7ec0e0bd61d0d0e1/tornado-6.5.7-cp39-abi3-win_arm64.whl", hash = "sha256:ff934fce95643af5f11efdae618eaa73d469dc588641e5c8d19295a0c65c4796", size = 450506, upload-time = "2026-06-08T17:34:49.702Z" }, ] +[[package]] +name = "tqdm" +version = "4.69.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8c/69/40407dfc835517f058b603dbf37a6df094d8582b015a51eddc988febbcb7/tqdm-4.69.0.tar.gz", hash = "sha256:700c5e85dcd5f009dd6222588a29180a193a748247a5d855b4d67db93d79a53b", size = 792569, upload-time = "2026-07-17T18:09:06.2Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/21/99a0cdaf54eb35e77623c41b5a2c9472ee4404bba687052791fe2aba6773/tqdm-4.69.0-py3-none-any.whl", hash = "sha256:9979978912be667a6ef21fd5d8abf54e324e63d82f7f43c360792ebc2bc4e622", size = 676680, upload-time = "2026-07-17T18:09:04.172Z" }, +] + [[package]] name = "traitlets" version = "5.15.1" @@ -1760,6 +3951,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f0/ac/229b7d4589d2e5937310e72c6d46e89599d16a4a12b479ffa1499fee8eb8/triton-3.7.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10ba85fa2cca4a2fbdeb36bf1cb082f2c252bda55bf9fccd74f65ec5bc647e68", size = 197824404, upload-time = "2026-06-17T19:53:42.772Z" }, ] +[[package]] +name = "types-paramiko" +version = "5.0.0.20260617" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cryptography" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/de/89/902652d7b62bb7cd2b73c7f08c8fd03945c223c3814022f0ad305e1018b9/types_paramiko-5.0.0.20260617.tar.gz", hash = "sha256:50a5b0dc68b39d30097cb7d93b4915dbbc97ed740ea633bd492be25ca1f25df4", size = 28474, upload-time = "2026-06-17T06:56:52.955Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/50/4d/eab89decb4201dfff665a3b92088f384ff1e165bf6caa447509733bc1bc6/types_paramiko-5.0.0.20260617-py3-none-any.whl", hash = "sha256:83d87c396405666524441710ec59e693bca8b19021861456ac0a2401327812f8", size = 37123, upload-time = "2026-06-17T06:56:51.81Z" }, +] + [[package]] name = "typing-extensions" version = "4.16.0" @@ -1769,6 +3972,235 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8", size = 45571, upload-time = "2026-07-02T08:40:04.659Z" }, ] +[[package]] +name = "typing-inspection" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, +] + +[[package]] +name = "tzdata" +version = "2026.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/92/ff/5a28bdfd8c3ebec42564ac7d0e54ca3db65044a9314a97f9564fa7a1e926/tzdata-2026.3.tar.gz", hash = "sha256:4a1518b8993086a7982523e071643f3c0e5f213e75b21318e78bcabfff9d1415", size = 198674, upload-time = "2026-07-10T08:50:37.887Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/6d/b53b99a9f2766d095985947a5782f1702cabb129a34f7a802d7197af832f/tzdata-2026.3-py2.py3-none-any.whl", hash = "sha256:dc096730c87af6cab1b171c9d532be840741ff5d459015e7f6947bd7d7e54931", size = 348168, upload-time = "2026-07-10T08:50:36.46Z" }, +] + +[[package]] +name = "urllib3" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, +] + +[[package]] +name = "uvicorn" +version = "0.35.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz", hash = "sha256:bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01", size = 78473, upload-time = "2025-06-28T16:15:46.058Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/e2/dc81b1bd1dcfe91735810265e9d26bc8ec5da45b4c0f6237e286819194c3/uvicorn-0.35.0-py3-none-any.whl", hash = "sha256:197535216b25ff9b785e29a0b79199f55222193d47f820816e7da751e9bc8d4a", size = 66406, upload-time = "2025-06-28T16:15:44.816Z" }, +] + +[package.optional-dependencies] +standard = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "httptools" }, + { name = "python-dotenv" }, + { name = "pyyaml" }, + { name = "uvloop", marker = "platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'" }, + { name = "watchfiles" }, + { name = "websockets" }, +] + +[[package]] +name = "uvloop" +version = "0.22.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/06/f0/18d39dbd1971d6d62c4629cc7fa67f74821b0dc1f5a77af43719de7936a7/uvloop-0.22.1.tar.gz", hash = "sha256:6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f", size = 2443250, upload-time = "2025-10-16T22:17:19.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/d5/69900f7883235562f1f50d8184bb7dd84a2fb61e9ec63f3782546fdbd057/uvloop-0.22.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c60ebcd36f7b240b30788554b6f0782454826a0ed765d8430652621b5de674b9", size = 1352420, upload-time = "2025-10-16T22:16:21.187Z" }, + { url = "https://files.pythonhosted.org/packages/a8/73/c4e271b3bce59724e291465cc936c37758886a4868787da0278b3b56b905/uvloop-0.22.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b7f102bf3cb1995cfeaee9321105e8f5da76fdb104cdad8986f85461a1b7b77", size = 748677, upload-time = "2025-10-16T22:16:22.558Z" }, + { url = "https://files.pythonhosted.org/packages/86/94/9fb7fad2f824d25f8ecac0d70b94d0d48107ad5ece03769a9c543444f78a/uvloop-0.22.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53c85520781d84a4b8b230e24a5af5b0778efdb39142b424990ff1ef7c48ba21", size = 3753819, upload-time = "2025-10-16T22:16:23.903Z" }, + { url = "https://files.pythonhosted.org/packages/74/4f/256aca690709e9b008b7108bc85fba619a2bc37c6d80743d18abad16ee09/uvloop-0.22.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:56a2d1fae65fd82197cb8c53c367310b3eabe1bbb9fb5a04d28e3e3520e4f702", size = 3804529, upload-time = "2025-10-16T22:16:25.246Z" }, + { url = "https://files.pythonhosted.org/packages/7f/74/03c05ae4737e871923d21a76fe28b6aad57f5c03b6e6bfcfa5ad616013e4/uvloop-0.22.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40631b049d5972c6755b06d0bfe8233b1bd9a8a6392d9d1c45c10b6f9e9b2733", size = 3621267, upload-time = "2025-10-16T22:16:26.819Z" }, + { url = "https://files.pythonhosted.org/packages/75/be/f8e590fe61d18b4a92070905497aec4c0e64ae1761498cad09023f3f4b3e/uvloop-0.22.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:535cc37b3a04f6cd2c1ef65fa1d370c9a35b6695df735fcff5427323f2cd5473", size = 3723105, upload-time = "2025-10-16T22:16:28.252Z" }, + { url = "https://files.pythonhosted.org/packages/3d/ff/7f72e8170be527b4977b033239a83a68d5c881cc4775fca255c677f7ac5d/uvloop-0.22.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:fe94b4564e865d968414598eea1a6de60adba0c040ba4ed05ac1300de402cd42", size = 1359936, upload-time = "2025-10-16T22:16:29.436Z" }, + { url = "https://files.pythonhosted.org/packages/c3/c6/e5d433f88fd54d81ef4be58b2b7b0cea13c442454a1db703a1eea0db1a59/uvloop-0.22.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:51eb9bd88391483410daad430813d982010f9c9c89512321f5b60e2cddbdddd6", size = 752769, upload-time = "2025-10-16T22:16:30.493Z" }, + { url = "https://files.pythonhosted.org/packages/24/68/a6ac446820273e71aa762fa21cdcc09861edd3536ff47c5cd3b7afb10eeb/uvloop-0.22.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:700e674a166ca5778255e0e1dc4e9d79ab2acc57b9171b79e65feba7184b3370", size = 4317413, upload-time = "2025-10-16T22:16:31.644Z" }, + { url = "https://files.pythonhosted.org/packages/5f/6f/e62b4dfc7ad6518e7eff2516f680d02a0f6eb62c0c212e152ca708a0085e/uvloop-0.22.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7b5b1ac819a3f946d3b2ee07f09149578ae76066d70b44df3fa990add49a82e4", size = 4426307, upload-time = "2025-10-16T22:16:32.917Z" }, + { url = "https://files.pythonhosted.org/packages/90/60/97362554ac21e20e81bcef1150cb2a7e4ffdaf8ea1e5b2e8bf7a053caa18/uvloop-0.22.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e047cc068570bac9866237739607d1313b9253c3051ad84738cbb095be0537b2", size = 4131970, upload-time = "2025-10-16T22:16:34.015Z" }, + { url = "https://files.pythonhosted.org/packages/99/39/6b3f7d234ba3964c428a6e40006340f53ba37993f46ed6e111c6e9141d18/uvloop-0.22.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:512fec6815e2dd45161054592441ef76c830eddaad55c8aa30952e6fe1ed07c0", size = 4296343, upload-time = "2025-10-16T22:16:35.149Z" }, + { url = "https://files.pythonhosted.org/packages/89/8c/182a2a593195bfd39842ea68ebc084e20c850806117213f5a299dfc513d9/uvloop-0.22.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:561577354eb94200d75aca23fbde86ee11be36b00e52a4eaf8f50fb0c86b7705", size = 1358611, upload-time = "2025-10-16T22:16:36.833Z" }, + { url = "https://files.pythonhosted.org/packages/d2/14/e301ee96a6dc95224b6f1162cd3312f6d1217be3907b79173b06785f2fe7/uvloop-0.22.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cdf5192ab3e674ca26da2eada35b288d2fa49fdd0f357a19f0e7c4e7d5077c8", size = 751811, upload-time = "2025-10-16T22:16:38.275Z" }, + { url = "https://files.pythonhosted.org/packages/b7/02/654426ce265ac19e2980bfd9ea6590ca96a56f10c76e63801a2df01c0486/uvloop-0.22.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e2ea3d6190a2968f4a14a23019d3b16870dd2190cd69c8180f7c632d21de68d", size = 4288562, upload-time = "2025-10-16T22:16:39.375Z" }, + { url = "https://files.pythonhosted.org/packages/15/c0/0be24758891ef825f2065cd5db8741aaddabe3e248ee6acc5e8a80f04005/uvloop-0.22.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0530a5fbad9c9e4ee3f2b33b148c6a64d47bbad8000ea63704fa8260f4cf728e", size = 4366890, upload-time = "2025-10-16T22:16:40.547Z" }, + { url = "https://files.pythonhosted.org/packages/d2/53/8369e5219a5855869bcee5f4d317f6da0e2c669aecf0ef7d371e3d084449/uvloop-0.22.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bc5ef13bbc10b5335792360623cc378d52d7e62c2de64660616478c32cd0598e", size = 4119472, upload-time = "2025-10-16T22:16:41.694Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ba/d69adbe699b768f6b29a5eec7b47dd610bd17a69de51b251126a801369ea/uvloop-0.22.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1f38ec5e3f18c8a10ded09742f7fb8de0108796eb673f30ce7762ce1b8550cad", size = 4239051, upload-time = "2025-10-16T22:16:43.224Z" }, + { url = "https://files.pythonhosted.org/packages/90/cd/b62bdeaa429758aee8de8b00ac0dd26593a9de93d302bff3d21439e9791d/uvloop-0.22.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3879b88423ec7e97cd4eba2a443aa26ed4e59b45e6b76aabf13fe2f27023a142", size = 1362067, upload-time = "2025-10-16T22:16:44.503Z" }, + { url = "https://files.pythonhosted.org/packages/0d/f8/a132124dfda0777e489ca86732e85e69afcd1ff7686647000050ba670689/uvloop-0.22.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4baa86acedf1d62115c1dc6ad1e17134476688f08c6efd8a2ab076e815665c74", size = 752423, upload-time = "2025-10-16T22:16:45.968Z" }, + { url = "https://files.pythonhosted.org/packages/a3/94/94af78c156f88da4b3a733773ad5ba0b164393e357cc4bd0ab2e2677a7d6/uvloop-0.22.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:297c27d8003520596236bdb2335e6b3f649480bd09e00d1e3a99144b691d2a35", size = 4272437, upload-time = "2025-10-16T22:16:47.451Z" }, + { url = "https://files.pythonhosted.org/packages/b5/35/60249e9fd07b32c665192cec7af29e06c7cd96fa1d08b84f012a56a0b38e/uvloop-0.22.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c1955d5a1dd43198244d47664a5858082a3239766a839b2102a269aaff7a4e25", size = 4292101, upload-time = "2025-10-16T22:16:49.318Z" }, + { url = "https://files.pythonhosted.org/packages/02/62/67d382dfcb25d0a98ce73c11ed1a6fba5037a1a1d533dcbb7cab033a2636/uvloop-0.22.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b31dc2fccbd42adc73bc4e7cdbae4fc5086cf378979e53ca5d0301838c5682c6", size = 4114158, upload-time = "2025-10-16T22:16:50.517Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/f1171b4a882a5d13c8b7576f348acfe6074d72eaf52cccef752f748d4a9f/uvloop-0.22.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:93f617675b2d03af4e72a5333ef89450dfaa5321303ede6e67ba9c9d26878079", size = 4177360, upload-time = "2025-10-16T22:16:52.646Z" }, + { url = "https://files.pythonhosted.org/packages/79/7b/b01414f31546caf0919da80ad57cbfe24c56b151d12af68cee1b04922ca8/uvloop-0.22.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:37554f70528f60cad66945b885eb01f1bb514f132d92b6eeed1c90fd54ed6289", size = 1454790, upload-time = "2025-10-16T22:16:54.355Z" }, + { url = "https://files.pythonhosted.org/packages/d4/31/0bb232318dd838cad3fa8fb0c68c8b40e1145b32025581975e18b11fab40/uvloop-0.22.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:b76324e2dc033a0b2f435f33eb88ff9913c156ef78e153fb210e03c13da746b3", size = 796783, upload-time = "2025-10-16T22:16:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/42/38/c9b09f3271a7a723a5de69f8e237ab8e7803183131bc57c890db0b6bb872/uvloop-0.22.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:badb4d8e58ee08dad957002027830d5c3b06aea446a6a3744483c2b3b745345c", size = 4647548, upload-time = "2025-10-16T22:16:57.008Z" }, + { url = "https://files.pythonhosted.org/packages/c1/37/945b4ca0ac27e3dc4952642d4c900edd030b3da6c9634875af6e13ae80e5/uvloop-0.22.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b91328c72635f6f9e0282e4a57da7470c7350ab1c9f48546c0f2866205349d21", size = 4467065, upload-time = "2025-10-16T22:16:58.206Z" }, + { url = "https://files.pythonhosted.org/packages/97/cc/48d232f33d60e2e2e0b42f4e73455b146b76ebe216487e862700457fbf3c/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:daf620c2995d193449393d6c62131b3fbd40a63bf7b307a1527856ace637fe88", size = 4328384, upload-time = "2025-10-16T22:16:59.36Z" }, + { url = "https://files.pythonhosted.org/packages/e4/16/c1fd27e9549f3c4baf1dc9c20c456cd2f822dbf8de9f463824b0c0357e06/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6cde23eeda1a25c75b2e07d39970f3374105d5eafbaab2a4482be82f272d5a5e", size = 4296730, upload-time = "2025-10-16T22:17:00.744Z" }, +] + +[[package]] +name = "vastai-sdk" +version = "0.2.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohttp" }, + { name = "asyncio" }, + { name = "borb" }, + { name = "jsonschema" }, + { name = "pyparsing" }, + { name = "python-dateutil" }, + { name = "pytz" }, + { name = "requests" }, + { name = "urllib3" }, + { name = "xdg" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e0/dc/cd49d074adaf96c94d0d239b1d2b6eb98557b0b888ab87839bbc89d9d899/vastai_sdk-0.2.5.tar.gz", hash = "sha256:2bc4baed89fdd1f8167d0d73bfa3d9b80a4fc7732cbe0883ca47b6426718b020", size = 68998, upload-time = "2025-11-19T01:14:45.576Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/4d/a801a53239c08aa81fcd144a1b0b58909febf503cb817c6b4da1cb23d29f/vastai_sdk-0.2.5-py3-none-any.whl", hash = "sha256:c8c4568554848cf6e439d754591fa83ec30cc4c380463bbdb2bf9d8549391e85", size = 72783, upload-time = "2025-11-19T01:14:44.331Z" }, +] + +[[package]] +name = "watchfiles" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cd/41/5e1a4bb12aac5f1493fa1bdc11154eca3b258ca4eba65d39c473fe19d8e9/watchfiles-1.2.0.tar.gz", hash = "sha256:c995fba777f1ea992f090f9236e9284cf7a5d1a0130dd5a3d82c598cacd76838", size = 108252, upload-time = "2026-05-18T04:32:04.251Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/3d/8024c801df84d1587740d0359e7fdd80afeae3d159011f3d5376dd82f18e/watchfiles-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:704fd259e332e01f9b9c178f4bce9e49027e5587cc2600eeeaf8e76e1c846201", size = 400242, upload-time = "2026-05-18T04:31:19.014Z" }, + { url = "https://files.pythonhosted.org/packages/87/5b/f4dfd45323e949984a3a7f9dc31d1cbb049921e7d98253488dda72ccdaa9/watchfiles-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6543cf55d170003296d185c0af981f3e1311564907e1f4e08671fc7693a890a5", size = 394562, upload-time = "2026-05-18T04:30:08.46Z" }, + { url = "https://files.pythonhosted.org/packages/98/d8/19483ef075d601c409bce8bcbb5c0f81a10876fff870400568f08ce484a1/watchfiles-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89d8c2394a065ca86f5d2910ff263ae67c127e1376ccc4f9fc35c71db879f80a", size = 456611, upload-time = "2026-05-18T04:30:45.723Z" }, + { url = "https://files.pythonhosted.org/packages/b1/6a/cc81fbe7ee42f2f22e661a6e12def7807e01b14b2f39e0ff83fd373fd307/watchfiles-1.2.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:772b80df316480d894a0e3165fdd19cf77f5d17f9a787f94029465ad0e3529d1", size = 461379, upload-time = "2026-05-18T04:31:29.292Z" }, + { url = "https://files.pythonhosted.org/packages/b1/57/7e669002082c0a0f4fb5113bb70125f7110124b846b0a11bc5ae8e90eac1/watchfiles-1.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d158cd89df6053823533e06fb1d73c549133bff5f0396170c0e53d9559340717", size = 493556, upload-time = "2026-05-18T04:30:05.44Z" }, + { url = "https://files.pythonhosted.org/packages/45/7d/f60a2b19807b21fe8281f3a8da4f59eef0d5f96825ac4680ba2d4f2ebf91/watchfiles-1.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d516b3283a758e087841aedb8031549fb41ced08f3db10aa6d2bf32dc042525b", size = 575255, upload-time = "2026-05-18T04:30:40.568Z" }, + { url = "https://files.pythonhosted.org/packages/bd/49/77f5b5e6efbcd57482f74948ebb1b97e5c0046d6b61475042d830c84b3ff/watchfiles-1.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:53b2290c92e0506d102cd448fbc610d87079553f86caa39d67440856a8b8bba5", size = 467052, upload-time = "2026-05-18T04:31:17.942Z" }, + { url = "https://files.pythonhosted.org/packages/ee/5a/73e2959af1b97fd5d556f9a8bdba017be23ceeef731869d5eaa0a753d5a3/watchfiles-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a711b51aec4370d0dcda5b6c09463206f133a5759341d7744b953a7b62e1100e", size = 456858, upload-time = "2026-05-18T04:30:30.182Z" }, + { url = "https://files.pythonhosted.org/packages/50/57/1bc8c27fad7e6c19bddee15d276dbb6ab72480ec01c127afff1673aee417/watchfiles-1.2.0-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:e2ca07fa7d89195ec0865d3d285666286740bfa83d83e5cee204043a31ecc165", size = 467579, upload-time = "2026-05-18T04:32:15.897Z" }, + { url = "https://files.pythonhosted.org/packages/09/6c/3c2e44edba3553c5e3c3b8c8a2a6dee6b9e12ae2cf4bd2378bebf9dc3038/watchfiles-1.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e0618518f282c4ebff60f5e5b1247b6d91bb8b9f4476947563a1e74acc66f3c6", size = 633253, upload-time = "2026-05-18T04:31:37.123Z" }, + { url = "https://files.pythonhosted.org/packages/30/c2/d8c84a882ab39bbefcc4915ab3e91830b7a7e990c5570b0b69075aba3faf/watchfiles-1.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0d191c054d0715c3c95c99df9b8dbf6fd096d8c1e021e8f212e1bd8bc444ccb5", size = 660713, upload-time = "2026-05-18T04:31:24.62Z" }, + { url = "https://files.pythonhosted.org/packages/a9/07/f97736a5fc605364fe67b25e9fa4a6965dfd4840d50c406ada507e9d735f/watchfiles-1.2.0-cp311-cp311-win32.whl", hash = "sha256:9342472aff9b093c5acd4f6d8f70ae0937964ab56542502bcf5579782da69ae8", size = 277222, upload-time = "2026-05-18T04:31:21.131Z" }, + { url = "https://files.pythonhosted.org/packages/cf/99/2b04981977fc2608afd60360d928c6aecf6b950292ca221d98f4005f6694/watchfiles-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:dbd6c97045dad81227c8d040173da044c1de08de64a5ea8b555da4aee1d5fa22", size = 290274, upload-time = "2026-05-18T04:31:45.966Z" }, + { url = "https://files.pythonhosted.org/packages/3c/74/f7f58a7075ee9cf612b0cfcddb78b8cd8234f0742d6f0075cf0da2dde1c6/watchfiles-1.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:57a2d9fa4fb4c2ecae57b13dfff2c7ab53e21a2ba674fe9f05506680fcdcc0d7", size = 283460, upload-time = "2026-05-18T04:31:39.126Z" }, + { url = "https://files.pythonhosted.org/packages/b8/2f/e42c992d2afda3108ea1c02acecc991b9f31d05c14adc2a7cee9ee211fc4/watchfiles-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:bc13eb17538be00c874699dc0abe4ee2bc8d50bb1166a6b9e175ef3fd7eb8f26", size = 400115, upload-time = "2026-05-18T04:32:02.06Z" }, + { url = "https://files.pythonhosted.org/packages/5f/8f/6af2ea19065c91d8b0ea3516fdfc8c0d349f407e8e9fbf4e5a17360de8ad/watchfiles-1.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d95ddc1eb6914154253d239089900813f6a767e174b8e6a50e7fdacb7e4236c", size = 393659, upload-time = "2026-05-18T04:30:50.951Z" }, + { url = "https://files.pythonhosted.org/packages/13/01/b32a967c56fb3e3e5be3db52c3d3b87fa4513aa367d8ed1ad96d42952e5f/watchfiles-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f70d8b291ef6e88d19b1f297a6905ddb978888d9272b0d05e6f53309856bcfc", size = 453207, upload-time = "2026-05-18T04:31:04.231Z" }, + { url = "https://files.pythonhosted.org/packages/04/98/97557a812180338cb1abd32e1cffcc4588f59b5f23e0cb006b2ba95ba64a/watchfiles-1.2.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:56d8641cf834c2836922899105bd3ce3d0dfc69291d52edf0b4d0436829b34c0", size = 459273, upload-time = "2026-05-18T04:31:50.377Z" }, + { url = "https://files.pythonhosted.org/packages/e8/a8/b4b08dcb7653b8087c6586f7ce649505900e866bbcfe40dc9587af02e686/watchfiles-1.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2581a94056e55d7d0a31a823ea92bf73749c489ca2285bfdc0fbe6b2bb49d50c", size = 489927, upload-time = "2026-05-18T04:31:42.485Z" }, + { url = "https://files.pythonhosted.org/packages/50/94/3dceea03545d2e5ddfd839f0ddd5e1cecbf1697b5a428d5ba11cef6af95d/watchfiles-1.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:41bc1199f7523b3f82843c88cbb979180c949caef0342cf90968f178e5d49b01", size = 570476, upload-time = "2026-05-18T04:31:03.071Z" }, + { url = "https://files.pythonhosted.org/packages/cc/f2/d39a5450c3532092b91f81d274360e613c2371bc874a89c7a1a3c5e8d138/watchfiles-1.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7571e4464cb6e434958f867f7f730b8ab0b75e3f8e5eac0499168486ab3c33a8", size = 465650, upload-time = "2026-05-18T04:30:12.701Z" }, + { url = "https://files.pythonhosted.org/packages/22/24/ed72f68cbc1333ca9b9f2200aa048bb6658ae41709bc1caad4310f4bdffd/watchfiles-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e53a384f76b631c3ae5334ce6a52f0baa3a911eb94a4eac7f160079868b716d5", size = 456398, upload-time = "2026-05-18T04:30:13.784Z" }, + { url = "https://files.pythonhosted.org/packages/0d/64/982ef4a4e5bab5b6e5b6becc8cd5e732f6130a78b855f0abec6439a9a135/watchfiles-1.2.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:d20029a60a71a052a24c4db7673bc4de39ab89adbaccbfb5d67987c5d73f424d", size = 465140, upload-time = "2026-05-18T04:31:52.111Z" }, + { url = "https://files.pythonhosted.org/packages/a0/0c/95282abf4ed680b6096010bcfc30c5fa7a041fc5aa5a2ad17a2cc6c75bba/watchfiles-1.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:2cb93af48550faf1cea04c303107c8b75833de7013e57ce27d3b8d21d8d0f58c", size = 630259, upload-time = "2026-05-18T04:31:25.676Z" }, + { url = "https://files.pythonhosted.org/packages/30/45/607c1de1530c4bdcf2cf1d1ecc2505ddba5d96bd43ba9f2b0e79876f850f/watchfiles-1.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2995c176de7692b86a2e4c58d9ec718f753150a979cb4a754e2b4ffa38e70906", size = 659859, upload-time = "2026-05-18T04:30:24.333Z" }, + { url = "https://files.pythonhosted.org/packages/fa/08/d9e2e0f9e8e6791d33aefc694ad7eefa7f901f63caff84a81ded38692f9c/watchfiles-1.2.0-cp312-cp312-win32.whl", hash = "sha256:7a2cffd17d27d2ecbb310c2b1d8174f222a5495b1a721894afa88ec11e25b898", size = 275480, upload-time = "2026-05-18T04:30:31.307Z" }, + { url = "https://files.pythonhosted.org/packages/1c/e6/9d42569c0102645cc8cea5d8c7d8a1e9d4ada2cb7f05f75e554b8aa2202a/watchfiles-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:f155b3a1b2a5fc89cdc70d47ee5d54e3b75e88efa34982028a35daef9ba00379", size = 288718, upload-time = "2026-05-18T04:32:10.745Z" }, + { url = "https://files.pythonhosted.org/packages/0a/26/88e0dc6ee3898169d7fa22bb6a69cabf2502d2ee25cb8c876d1262d204f8/watchfiles-1.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:8fa585ede612ee9f9e91b18bebf9ba11b9ae29a4e3a0d0cf6fca3e382133f0d5", size = 281026, upload-time = "2026-05-18T04:30:22.23Z" }, + { url = "https://files.pythonhosted.org/packages/d1/4d/70a7feced9f87e2ff26dba42667290f41694fc64646c67261fbb8cab5d5c/watchfiles-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:01ea8d66f0693b9b60a6541c8d10263091ca9a9060d242f3c1f3143f9aad2c98", size = 399730, upload-time = "2026-05-18T04:31:38.162Z" }, + { url = "https://files.pythonhosted.org/packages/31/3a/0da302f2307aee316922806ebd5726c542cbd787c938271cf14a074c7daf/watchfiles-1.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ba0480b9a74af058f43b337e937a451e109295c420916d68ad24e3dc02f5e44", size = 392842, upload-time = "2026-05-18T04:30:27.051Z" }, + { url = "https://files.pythonhosted.org/packages/db/ef/d5bdb705c224dbc256aa0c1ec47bf4e61ec52558f2afb44a71a1fe4d7015/watchfiles-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f34e26a19f91f710c08e0183429f0d1d15df734e6bc78c31e77b9ea9c433658", size = 452989, upload-time = "2026-05-18T04:31:11.945Z" }, + { url = "https://files.pythonhosted.org/packages/71/29/5495f2c1661949ef7a35e4d71111d129cfe7606414a26887a919d0a55406/watchfiles-1.2.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b4e77f6a55f858504069abd35d336a637555c09bca453dde1ee1e5ada8a6a1fb", size = 458978, upload-time = "2026-05-18T04:30:52.606Z" }, + { url = "https://files.pythonhosted.org/packages/d5/8c/7f9c07c433811c2fffd93e13fdfb7135de9aab5f2ae41be08960fa0047dc/watchfiles-1.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0cb4d80e212f116474a545c21c912b445f16bb0cef9e6a73a498164223e14e2f", size = 490248, upload-time = "2026-05-18T04:31:36.003Z" }, + { url = "https://files.pythonhosted.org/packages/3c/11/d93632febc52fbc21be90231bb7c17fd5387f46c9076fd40a5f9c2ae6910/watchfiles-1.2.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b974946a10af379d425e2eef5b62f5c6ebeaccf91d45eaad6f5b27ecd4f91aa0", size = 571847, upload-time = "2026-05-18T04:31:10.862Z" }, + { url = "https://files.pythonhosted.org/packages/55/b4/383173e73aabb07ad1d9c7aa859d95437ac46a6d6a1e11005facda0c9d19/watchfiles-1.2.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86bc13c25a8d1fcd70b51d0ce7c9b65e90de5666fcbfd3e34957cc73ee19aeb5", size = 465974, upload-time = "2026-05-18T04:30:17.006Z" }, + { url = "https://files.pythonhosted.org/packages/a7/6c/89b1a230a78f57c52dd8893adb1f92f94411721b6ec12596c56d98c74356/watchfiles-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca148d73dea36c9763aaa351e4d7a51780ec1584217c45276f4fe8239c768b71", size = 454782, upload-time = "2026-05-18T04:30:35.656Z" }, + { url = "https://files.pythonhosted.org/packages/24/62/1732118367cfff0a9fce3bf62ff4bfded09ef5df21d9d446b858b3f70a96/watchfiles-1.2.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:c525543d91961c6955b2636b308569e84a1d1c5f5f2932041ab9ef46422f43e3", size = 465182, upload-time = "2026-05-18T04:30:20.846Z" }, + { url = "https://files.pythonhosted.org/packages/28/96/716f7e5f51339bf22963f3345f9f27d7f3b30e2eadc597e257c881dd3c53/watchfiles-1.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:a204794696ffb8f9b10fba6f7cb5216d42f3b2b71860ccac6b6e42f5f10973b0", size = 629841, upload-time = "2026-05-18T04:31:05.397Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fe/c40783950fd771ccf66ab3ec2722d188a9af1c7f96c6e811f36e40c6e03f/watchfiles-1.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:10d86db20695afe7997ac9e1717637d6714a8d0220458c33f3d2061f54cec427", size = 658028, upload-time = "2026-05-18T04:31:48.22Z" }, + { url = "https://files.pythonhosted.org/packages/71/72/4508db1856d1d87fcbb3b63f4839bab1b5682cb0e8d224d122263c09654a/watchfiles-1.2.0-cp313-cp313-win32.whl", hash = "sha256:eb283ee99e21ad6443c8cdb06ac5b34b1308c329cbdf03fa02b445363714c799", size = 275183, upload-time = "2026-05-18T04:30:59.57Z" }, + { url = "https://files.pythonhosted.org/packages/f9/36/14b76ca57652e5cc5fd1c11f32a261292c08a0d19a00351013c2549cbfb2/watchfiles-1.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:a0f27f01bee51861392bb6b7c4fdb290b27d1eb194e9e28788d68102a0e898d9", size = 288059, upload-time = "2026-05-18T04:32:07.937Z" }, + { url = "https://files.pythonhosted.org/packages/1b/8d/0a85e395398d8d20fadfe5c5d32c726eee17a519e78fb356f2cf7531bffe/watchfiles-1.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:3651aa7058595e9cfb75d35dd5ada2bf9f48a5b8a0f3562821d3e210c507e077", size = 280186, upload-time = "2026-05-18T04:31:54.484Z" }, + { url = "https://files.pythonhosted.org/packages/37/68/36db056f1fdcc5f07302f56e631774d6835bcd6fa3ace402304621d5f9e5/watchfiles-1.2.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:faea288b6f0ab1902ef08f4ca6de005dccf856c4e0c4f21b8c5fce02d90a1b08", size = 399031, upload-time = "2026-05-18T04:30:44.576Z" }, + { url = "https://files.pythonhosted.org/packages/c1/64/01a9d6f66a82a5c101ce939274106cc72759d62427e153f01edd2b9f87c2/watchfiles-1.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:01859b11fd9fbca670f4d5da00fbac282cfea9bd67a2125d8b2833a3b5617ea9", size = 391205, upload-time = "2026-05-18T04:30:25.413Z" }, + { url = "https://files.pythonhosted.org/packages/84/2c/0a44fe058cb4bb7b8ede6b6670698bbb7c0400740e378d00022189b7b31d/watchfiles-1.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fff610d7bb2256a317bb1e96f0d7862c7aa8076733ee5df0fd41bbe76a24a4f4", size = 451892, upload-time = "2026-05-18T04:32:14.005Z" }, + { url = "https://files.pythonhosted.org/packages/67/a1/351e0d56cd35e6488b5c8b4fb11a809a5bc923e8fe8fed9faf8920be0c89/watchfiles-1.2.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b141a4891c995a039cd89e9a49e62df1dc8a559a5d1a6e4c7106d16c12777a55", size = 458867, upload-time = "2026-05-18T04:31:22.279Z" }, + { url = "https://files.pythonhosted.org/packages/d5/7d/9d09605187f1b838998624049fcf8bf47b73c1a3b76901fcac1782f62277/watchfiles-1.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f22943b7770483f6ea0721c6b11d022947a98eb0acae14694de034f4d0d38925", size = 490217, upload-time = "2026-05-18T04:31:43.657Z" }, + { url = "https://files.pythonhosted.org/packages/60/5d/a17a16eccb182f04188cd308ec24b1a71a9b5c4e7098269cf35d9fa56d02/watchfiles-1.2.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1bc6195825b7dcd217968bb1f801a60fd4c16e8eeab5bedc7fe917d7d5995ab4", size = 571458, upload-time = "2026-05-18T04:32:11.875Z" }, + { url = "https://files.pythonhosted.org/packages/d3/3d/4dd457062083ab1938e5dfd45032eb425cee2ac817287ca8ff4356183e5d/watchfiles-1.2.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4a4b147f5dca2a5d325a06a832fb43f345751adfbc63204aec30e0d9ca965a2", size = 464707, upload-time = "2026-05-18T04:30:43.492Z" }, + { url = "https://files.pythonhosted.org/packages/c6/71/ea8c57b128f5383de74d0c7d2d9c57ad7c9a65a930c451bd25d524b295b7/watchfiles-1.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4543579a9bdb0c9560039b4ffddbdb39545707659fbc430ce4c10f3f68d557f9", size = 454663, upload-time = "2026-05-18T04:30:16.061Z" }, + { url = "https://files.pythonhosted.org/packages/53/fd/2e812bf938406d7db351f0703ddd3fc6c061cf30d96153a77bc79a943a44/watchfiles-1.2.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:20aa0e708b920bde876a4aa82dc7dd6ebea228a63a67cda6632c2fc87b787efa", size = 463537, upload-time = "2026-05-18T04:31:44.9Z" }, + { url = "https://files.pythonhosted.org/packages/86/56/d17a7f1dd1bc3035f1072694a551301272f1739c2d8e319c927cb9e29b38/watchfiles-1.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:d413349d565dab74297f2a63e84a097936be69bf8f3b3801f27f380e32040f44", size = 629194, upload-time = "2026-05-18T04:31:14.141Z" }, + { url = "https://files.pythonhosted.org/packages/be/06/f1ff66bf5cae50aa4062779a0ecd0bbaf15e466195719074078947d9a17d/watchfiles-1.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:f28b2725eb8cce327b9b3ab02415c853011dc55c95832fe90de6bc56f5315f72", size = 656194, upload-time = "2026-05-18T04:31:47.14Z" }, + { url = "https://files.pythonhosted.org/packages/e7/54/a9c7ea9a82a4ac65e7004c0a03920b5cdd2f9c3b678757d9cd425aa51d53/watchfiles-1.2.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:b8c8358484d5fa12ef34f05b7f4168eaf1932f408725ff6d023c33ec17bd79d4", size = 400205, upload-time = "2026-05-18T04:32:05.153Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5d/c9ab3534374a4a67450696905d6ef16a04405448b8dc52bd752ae50423d4/watchfiles-1.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f04b092229ad2c50126dd3c922c8822e51e605993764a33058d4a791ab42281", size = 392508, upload-time = "2026-05-18T04:30:54.849Z" }, + { url = "https://files.pythonhosted.org/packages/26/ca/1ad30103535cf0cecd7b993e8d50edc5351b1820e38f2d22e3df58962feb/watchfiles-1.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a7ce236284f002a156f70add88efe5c70879cccbb658be0822c54b1306fc09d", size = 452448, upload-time = "2026-05-18T04:30:53.727Z" }, + { url = "https://files.pythonhosted.org/packages/37/a1/ceee2cdf2afbd715fa07758d39c9859513eae411b23196f7fd039e5feedd/watchfiles-1.2.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b9909cc2b48468b575eefa944919e1fe8a36c5849d5c7c168f80a8c1db69398e", size = 459605, upload-time = "2026-05-18T04:30:23.312Z" }, + { url = "https://files.pythonhosted.org/packages/e8/f6/421e30fd1cb3907a84ed92ab3f1983e37ba2dca015e9a894a048418417a2/watchfiles-1.2.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a37faaed405c67e28e6be45a1fa4f206ef5a2860f27c237db9fa30704c38242", size = 490757, upload-time = "2026-05-18T04:30:47.358Z" }, + { url = "https://files.pythonhosted.org/packages/41/b0/55ed1b97ed08be7bba6f9a541cac15f2a858e1d74d2b07b6da70a82aab00/watchfiles-1.2.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9649193aa27bd9ff2e80ff29bfaa93085496c7a3a377592823cc58b77ee88add", size = 568672, upload-time = "2026-05-18T04:30:38.915Z" }, + { url = "https://files.pythonhosted.org/packages/d1/cf/d8ae8a80dd7bafab395ea7681c10237311bbf34d37704a8c744e7cf31fc7/watchfiles-1.2.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4e4ff8e37f99cf1da89e255e07c9c4b37c214038c4283707bdec308cb1b0ea1f", size = 464197, upload-time = "2026-05-18T04:30:09.914Z" }, + { url = "https://files.pythonhosted.org/packages/7c/8a/3076c496ca8dafe0e8cd03fcebdfc47be4b1174b4e5b24ff6e396e6b3af2/watchfiles-1.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:054dc20fd2e3132b4c3883b4a00d72fd6e1f56fdaf89fccd12e8057d74cd74d7", size = 453181, upload-time = "2026-05-18T04:30:14.829Z" }, + { url = "https://files.pythonhosted.org/packages/e5/10/9745e17c98e7b8a86454df0a3c7b5686bd650383f1e9f26e4ebcbd6cc0c0/watchfiles-1.2.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:e140ed30ebde76796b686e67c182cff10ea2fbab186fafd1560f74bb5a473a6e", size = 465109, upload-time = "2026-05-18T04:30:28.123Z" }, + { url = "https://files.pythonhosted.org/packages/8f/95/8ef4a95481d3e0cb52d62a06fa6e972e81424be2d9698b91a2fecca9904c/watchfiles-1.2.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:bb7e52ecf68ba46d22df23467b87cffeb2146908aa523ebfe803019618cfda06", size = 630653, upload-time = "2026-05-18T04:31:49.304Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e4/3b3bf36b0f829b50c6ebcb8d031583863c59f923d6a6af3d485e470d0fac/watchfiles-1.2.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:23282a321c8baf9b3a3c4afff673f9fe65eb7fdc2338d765ccad9d3d1916a5ba", size = 657838, upload-time = "2026-05-18T04:31:06.497Z" }, + { url = "https://files.pythonhosted.org/packages/21/b1/6cbbb50c1f3002ab568777d44aa21206dfb8807a840990c4037523b51812/watchfiles-1.2.0-cp314-cp314-win32.whl", hash = "sha256:c0db965c5f79aa49fe672d297cf1febc5ad149b658594944f49a54a2b96270a7", size = 275108, upload-time = "2026-05-18T04:30:06.891Z" }, + { url = "https://files.pythonhosted.org/packages/92/45/190ce6db8dcb4536682cf75d3889ff1a27182a58cb519d343cb6d9ea63d8/watchfiles-1.2.0-cp314-cp314-win_amd64.whl", hash = "sha256:71283b39fd17e5408eb123bd37aeecfd9d54c81fc184421943208aadb879d103", size = 288441, upload-time = "2026-05-18T04:32:12.901Z" }, + { url = "https://files.pythonhosted.org/packages/74/0d/3eae1c2313ab08378431d907c3f8095ecca00f3eda33111cf4f0f2591799/watchfiles-1.2.0-cp314-cp314-win_arm64.whl", hash = "sha256:c5c19526f4e54a00f2666a6c0e9e40d582c09e865055ea7378bf0009aab857b3", size = 280684, upload-time = "2026-05-18T04:31:26.902Z" }, + { url = "https://files.pythonhosted.org/packages/b1/75/fb64e6c25d6b5ca636d03df34ffb1c6e9873303e76d27967e045f8df088f/watchfiles-1.2.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:d73a585accffa5ae39c17264c36ec3166d2fad7000c780f5ef83b2722afb9dd2", size = 398857, upload-time = "2026-05-18T04:32:17.108Z" }, + { url = "https://files.pythonhosted.org/packages/73/4e/9f7adf01754cbf81843722ccfec169d8f26c69778281a302855cecd2ee08/watchfiles-1.2.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ae99b14c5f21e026e0e9d96f40e07d8570ebee6cafd9d8fc318354606daa7a28", size = 392413, upload-time = "2026-05-18T04:31:07.911Z" }, + { url = "https://files.pythonhosted.org/packages/47/c8/bec626bcc2d69f44b9acb24ce7d60ed7b16b73628eea747fcbd169d8edda/watchfiles-1.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4429f3b105524a10b72c3a819b091c495d2811d419c1e1e8df773a5a5974f831", size = 452409, upload-time = "2026-05-18T04:31:20.142Z" }, + { url = "https://files.pythonhosted.org/packages/00/b7/b6362068e81e7c556d155a34c35d40ac3ef42d747b06d7f6e5bf58e359c2/watchfiles-1.2.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:43d818978d06062d9b22c4fab2ebe44cf5213d42dc8e62bda8c2760cfa2eeb33", size = 458827, upload-time = "2026-05-18T04:32:06.219Z" }, + { url = "https://files.pythonhosted.org/packages/67/f8/9a813fa42afb1e0b4625e75f0479826644d3ee8dc287e093799bc01f390c/watchfiles-1.2.0-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9f732dc58b2dbe69e464ccf8fff7a03b0dd0be439da4c0720d3558527d3d6b4", size = 490104, upload-time = "2026-05-18T04:31:56.034Z" }, + { url = "https://files.pythonhosted.org/packages/2f/bf/27dfb6094ca4c9aad21298b5525b6c53cb36121ee454331d05161e58d130/watchfiles-1.2.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f200104103feb097de4cab8fe4f5dd18a2026934c7dea98c55a2f5fd6d5a33b", size = 571360, upload-time = "2026-05-18T04:31:57.133Z" }, + { url = "https://files.pythonhosted.org/packages/fb/39/44a096d67270ea93df91d33877dbe91fbda3aa4f8ec2edf799d93eda8736/watchfiles-1.2.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:63ac26eefbf4af1741247d6fb68b11c49a25b2f7413fbd318a83a12aaa9cf666", size = 464644, upload-time = "2026-05-18T04:30:57.33Z" }, + { url = "https://files.pythonhosted.org/packages/0e/80/c7472203bad6268e3ef1ad260739704847898938ad7ea8b63a5131f46b50/watchfiles-1.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c4997d4e4a55f0d02b6cde327322daf3a0400e5df6c6b15948994bf72497925", size = 454771, upload-time = "2026-05-18T04:30:48.736Z" }, + { url = "https://files.pythonhosted.org/packages/51/cf/3b10b268b4b7f0fc26e9debb5eef1998b515887840f444cd3ec80c688755/watchfiles-1.2.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:4c887eba18b7945ac73067a8b4a66f21cd46c2539b2bc68588f7be6c7eb6d26b", size = 463494, upload-time = "2026-05-18T04:31:33.826Z" }, + { url = "https://files.pythonhosted.org/packages/3d/3e/a4302545cd589262a0dc7d140e86f7688eba3f9c72776c27f7e23b8864c4/watchfiles-1.2.0-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:3416ff151bb6b5a8d8d11664974fbef4d9305b9b2957839ab5a270468fd8df30", size = 629383, upload-time = "2026-05-18T04:31:15.596Z" }, + { url = "https://files.pythonhosted.org/packages/db/99/d5649df0a9a410d45b7c882304d0b790903ac9b6e8f2cfd12114e0c6b9f2/watchfiles-1.2.0-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:0e831a271c035d89789cffc386b6aa1375f39f1cd25eb7ca0997e4970d152fc5", size = 656093, upload-time = "2026-05-18T04:31:58.707Z" }, + { url = "https://files.pythonhosted.org/packages/92/b9/362702539275019a54dd2e94511b31a9b89c5f9e6a21966de7eb692549fc/watchfiles-1.2.0-cp315-cp315-macosx_10_12_x86_64.whl", hash = "sha256:37a6721cdf3f65dbb13aa9503510ccb4451603ac837e44d265d7992a597e1374", size = 400109, upload-time = "2026-05-18T04:31:16.879Z" }, + { url = "https://files.pythonhosted.org/packages/8f/75/71d5ba62db781e5587bded1d944c675374bc4aa37ff33d5018d98e8b6538/watchfiles-1.2.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:2b37d10b5a63bd4d87e18472d80fa525bd670586fae62e5dd580452764879b65", size = 392167, upload-time = "2026-05-18T04:31:28.058Z" }, + { url = "https://files.pythonhosted.org/packages/3c/01/c66dd95d0423fe30d31820e2d1d5bda773764131bbb6ac0cb1cf303ac328/watchfiles-1.2.0-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a105bc2283f67e8fbec74253ec2d94925de92ed72c0393f1206bf326b7b7b69", size = 452372, upload-time = "2026-05-18T04:31:00.836Z" }, + { url = "https://files.pythonhosted.org/packages/91/15/2fe99557e72f85627c6a8eed50d889e8d101623e060a22ad75b875cb932d/watchfiles-1.2.0-cp315-cp315-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5327989a465505f05cfe06f04fa9d0c2fd5432bb243e10e6f012b1bdca3c8579", size = 459596, upload-time = "2026-05-18T04:31:34.96Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/d4acfa0023367428ed48351b3b9b267893037b6cadae55620c61c24bcfd4/watchfiles-1.2.0-cp315-cp315-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ecb47f183a8025b2aa18b546725c3657e542112ae9c0613a2af79b4fa8d04ad7", size = 490869, upload-time = "2026-05-18T04:31:59.923Z" }, + { url = "https://files.pythonhosted.org/packages/a4/5f/3164cbdce06c9fb95c4f7b9e2f9760b5e2797af43a9ecc317ef42a23a278/watchfiles-1.2.0-cp315-cp315-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8520a4ab0e37f770afc34459c4f8f7019e153f9124dc101c15538365875d1ab2", size = 571641, upload-time = "2026-05-18T04:32:00.948Z" }, + { url = "https://files.pythonhosted.org/packages/41/e6/85d3731c55e65cd7690f3f803d24c139588aaf863e4bf2148fe7a7fa1a19/watchfiles-1.2.0-cp315-cp315-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:71cd71740ed2c15211ebb237ced4e39a1cdf6f80566e5fe95428da1626f4fde6", size = 464444, upload-time = "2026-05-18T04:30:34.298Z" }, + { url = "https://files.pythonhosted.org/packages/f4/7d/562641012b8b09872742c3b8adf9629ec479fd78f8d68ae4a0c13da8add6/watchfiles-1.2.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f88af53d6ddaf72179ef613ddc905e6f4785f712b49b80b3bef9f3525e6194b4", size = 453593, upload-time = "2026-05-18T04:31:23.464Z" }, + { url = "https://files.pythonhosted.org/packages/56/fe/cb8ef3d6f929d14158fdaaad9925985b7310abc9384dcd4d82dd0016fb59/watchfiles-1.2.0-cp315-cp315-manylinux_2_31_riscv64.whl", hash = "sha256:cee9d5efd929efdac5f7e58f72b3376f676b64050a91c5b99a7094c5b2317488", size = 465096, upload-time = "2026-05-18T04:31:30.384Z" }, + { url = "https://files.pythonhosted.org/packages/25/91/80908e835e100527a9267147b08c0eee1fa6ab0ffec15edc04d1d44885f7/watchfiles-1.2.0-cp315-cp315-musllinux_1_1_aarch64.whl", hash = "sha256:b718bf356bbc15e559bd8ef41782b573b8ae0e3f177ab244b440568d7ea02cfb", size = 630638, upload-time = "2026-05-18T04:30:49.89Z" }, + { url = "https://files.pythonhosted.org/packages/46/4b/95ab2f256bb4af3cb2eb23b9317bda984ee6e0f11733a5c004a6c95b06e3/watchfiles-1.2.0-cp315-cp315-musllinux_1_1_x86_64.whl", hash = "sha256:922c0e019fe68b3ae392965a766b02a71ba1168c932cebc3733cd52c5fe5b377", size = 657684, upload-time = "2026-05-18T04:31:32.027Z" }, + { url = "https://files.pythonhosted.org/packages/23/f4/7513ef1e85fc4c6331b59479d6d72661fc391fbe543678052ac72c8b6c19/watchfiles-1.2.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:4674d49eb94706dfe666c069fc0a1b646ffcf920473492e209f6d5f60d3f0cc2", size = 403050, upload-time = "2026-05-18T04:30:36.753Z" }, + { url = "https://files.pythonhosted.org/packages/27/0b/a54103cfd732bb703c7a749222011a0483ef3705948dae3b203158601119/watchfiles-1.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:094b9b70103d4e963499bdea001ee3c2697b144cd9ae6218a62c0f89ec9e31db", size = 396629, upload-time = "2026-05-18T04:32:03.268Z" }, + { url = "https://files.pythonhosted.org/packages/5e/2c/73f31a3b893886206c3f54d73e8ad8dee58cdb2f69ad2622e0a8a9e07f4e/watchfiles-1.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0ef001f8c25ad0fa9529f914c1600647ecd0f542d11c19b7894768c67b6acb7", size = 457318, upload-time = "2026-05-18T04:31:01.932Z" }, + { url = "https://files.pythonhosted.org/packages/e9/f9/45d021e4a5cc7b9dd567f7cbb06d3b75f751a690063fb6cc7ec60f4e46b7/watchfiles-1.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a88fc94e647bc4eec523f1caa540258eb71d14278b9daf72fa1e2658a98df0f0", size = 457771, upload-time = "2026-05-18T04:30:56.331Z" }, +] + +[[package]] +name = "wcmatch" +version = "11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "bracex" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/16/25/1da725838132221e33568973da484ff43813662ccc06ebf7f6e3abddfcd5/wcmatch-11.0.tar.gz", hash = "sha256:55d95c2447789712774b198ceec72939e88b5618f1f8f0a9b605bf7740b63b96", size = 141360, upload-time = "2026-07-10T05:50:24.183Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/12/f38b6fee116274d7221743caab07d765032e1370bb54cad8714f87aeb0e8/wcmatch-11.0-py3-none-any.whl", hash = "sha256:3a5977ace27e075eef67eb03d539563f1a19018b62881949a42932cf66926934", size = 42914, upload-time = "2026-07-10T05:50:22.995Z" }, +] + [[package]] name = "wcwidth" version = "0.8.2" @@ -1777,3 +4209,222 @@ sdist = { url = "https://files.pythonhosted.org/packages/34/74/c6428f875774288be wheels = [ { url = "https://files.pythonhosted.org/packages/96/42/3e5985a0a7e57de470b320c6d6a1a67c844f6737a587f3d44dd13d1819e7/wcwidth-0.8.2-py3-none-any.whl", hash = "sha256:d63947694a0539a1d51e01eda7caf800c291020e6cdd7e28ad7b14dd33ad4f85", size = 323166, upload-time = "2026-06-29T18:11:09.888Z" }, ] + +[[package]] +name = "websockets" +version = "16.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/f7/bc3a25c5ec26ce62ce487690becc2f3710bbc7b33338f005ad390db0b986/websockets-16.1.1.tar.gz", hash = "sha256:db234eda965dcce15df96bb9709f587cd87d4d52aaf0e80e2f34ec04c7670c57", size = 182204, upload-time = "2026-07-17T22:51:05.858Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/03/47debfe28e9d6d354be5d777b67fd44c359b9eb299a5d103500bd7cc3e37/websockets-16.1.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d0fcf657e9f13ff4b177960ab2200237b12994232dfb6df16f1cfe1d4339f93c", size = 179566, upload-time = "2026-07-17T22:48:49.596Z" }, + { url = "https://files.pythonhosted.org/packages/72/93/31efa1ed78c17e5cfc229fd449e3966e1b9cc15753204cd585cc8dd01f4a/websockets-16.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b852788aa51764e2d8e4cf5493d559326bcae5e38d16ba25ffa322b034df272a", size = 177250, upload-time = "2026-07-17T22:48:50.942Z" }, + { url = "https://files.pythonhosted.org/packages/01/4a/542378ab3972b0c1cf1df3df3eff9591cea0d30c58c3aa3c4ddbc244e787/websockets-16.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1427fb4cf0d72f66333e2cacc3ff5f575bf2d7008166ce991a4a470b21d51a22", size = 177528, upload-time = "2026-07-17T22:48:52.59Z" }, + { url = "https://files.pythonhosted.org/packages/33/d9/162321f63c7eed558e9e1798ed7a1e34a4f6dab51f35419e4ed7a4907979/websockets-16.1.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:da4ca1a9d72f9030b3146b8d7022719a9f3d478f61efe6f7dd51d243f61c51b2", size = 186859, upload-time = "2026-07-17T22:48:53.915Z" }, + { url = "https://files.pythonhosted.org/packages/de/09/87df740f7430ce564bd52402e9c9458d4d0459cc7d2ee29e530c8204851b/websockets-16.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:86d7f0f8bdb25d2c632b72527325e4776430fd5bc61b9118de4e2b8ddb5f5b01", size = 188095, upload-time = "2026-07-17T22:48:55.384Z" }, + { url = "https://files.pythonhosted.org/packages/d2/12/3d2703af7cc095f3c81904c92208cc1ae79affbc67376944b50ee9301f73/websockets-16.1.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7dfcad78ea1492ee3a9ec765cb7f51bbc17d477107aaf6b22abf7b2558d1c5a0", size = 191385, upload-time = "2026-07-17T22:48:56.742Z" }, + { url = "https://files.pythonhosted.org/packages/1d/69/986aa0234a964a00f5149cfc46e136e96c8faad1c783474550f40d31aef4/websockets-16.1.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fb9a0a6dc3d1b3986cb88091b6899f0396651e0f74e2c9766ab8d6ffc3842e29", size = 188653, upload-time = "2026-07-17T22:48:58.134Z" }, + { url = "https://files.pythonhosted.org/packages/35/6b/10f9d03e3970a69ba67bd3b46b87a929b586d0300fadbfe14f57c1f85490/websockets-16.1.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29dfa8114c4a620c69591c5973860f768eac29d3fd6904f37f34266cb219c512", size = 187426, upload-time = "2026-07-17T22:48:59.515Z" }, + { url = "https://files.pythonhosted.org/packages/56/db/bb3aad62bf63d8bb3f0634b2eabffcfb3677a34bd19492110ff6869cf703/websockets-16.1.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6ff9417c0ada4d0f7d212f928303e5579bdf3ace4c802fa4afabb30995da58c3", size = 184882, upload-time = "2026-07-17T22:49:00.916Z" }, + { url = "https://files.pythonhosted.org/packages/6c/4c/c09a2ea9bfbeccce52fdc383e5f28af4bc8843338aabac28c81489af6120/websockets-16.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fe0b50da2d84535fb4f7b4bfa951280f97ce3d558a0443b541166d609e67b57", size = 187584, upload-time = "2026-07-17T22:49:02.283Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8b/31bb4eb4d9eaacf1fdd39d115772a8aeaedfc19b5dc262e57ffbc8a9d42c/websockets-16.1.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:34420aaa64440ebd51ac72ca8a45ef4626429438c9b02e633ae412ed43f925d3", size = 186174, upload-time = "2026-07-17T22:49:03.973Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e4/dc02d725610a1ad49e193ef91a548194d71bdc6cdf27da83067dd1f73995/websockets-16.1.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a6a61aff018180c9c50b7b0da33bfd29d378af3497429c95006c589a23a11648", size = 187986, upload-time = "2026-07-17T22:49:05.553Z" }, + { url = "https://files.pythonhosted.org/packages/e0/73/30ed84c8bfd14c73d4af29d5ed9323c3073b48e0b7b23b67070f4e7fd59b/websockets-16.1.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:04fd29a0e2fe9414a95b00e92c67ae51bf900c50c0f8a4b2dafdad621f49ea1d", size = 185565, upload-time = "2026-07-17T22:49:06.959Z" }, + { url = "https://files.pythonhosted.org/packages/7d/d3/4be8d4959f51e31b4f8fc0ece12b45bd3b6c0d15ea23b9990d9c11fc805f/websockets-16.1.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5c31aa7e39ee3e8a358573257f1c0bb5c52430d1b637030dd9c8cc2c282926be", size = 186598, upload-time = "2026-07-17T22:49:08.293Z" }, + { url = "https://files.pythonhosted.org/packages/26/fa/abb38597a52d84ed9cfacadc7a0c6f2db282c0ab23cdf72b58a666a21227/websockets-16.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d14bfb217eb4701e850f1525c9d29d79c44794cdf1c299ead25f39f8c78dea81", size = 186834, upload-time = "2026-07-17T22:49:09.766Z" }, + { url = "https://files.pythonhosted.org/packages/59/80/1119ad08a228b90c4eb77fbe48df7836731a605f5f881ba701ca826a4a65/websockets-16.1.1-cp311-cp311-win32.whl", hash = "sha256:2e28e602bb13da44fbe518c1781a88e3b9d4c3d48d02c9bad83e546164336f57", size = 179940, upload-time = "2026-07-17T22:49:11.196Z" }, + { url = "https://files.pythonhosted.org/packages/71/b2/e511c1c6f64a95c2f3fc54bffda0e14eaa7e9442be605c29270f7589b918/websockets-16.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:7421fad442de870a8cbf2287d1cad7e706ece0dbfeba5e911df132cbdc1cb56a", size = 180239, upload-time = "2026-07-17T22:49:12.519Z" }, + { url = "https://files.pythonhosted.org/packages/17/9d/681cda21c9eee743203a6cb79b9d3d05adad9aa60ec660c6c9bf4dd619ca/websockets-16.1.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:cc97814dfb786a83b6e2dc2e79351e1b83e6d715647d6887fcabd83026417a00", size = 179600, upload-time = "2026-07-17T22:49:13.92Z" }, + { url = "https://files.pythonhosted.org/packages/fb/8d/6195a88b45e8d2a8f745fc2046e36f885a3c9763e6767d2c46229bf9510c/websockets-16.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e047dc87ef7ca50f4d309bf775ad4a71711c58556d75d7bd0604b2317f43e94b", size = 177272, upload-time = "2026-07-17T22:49:15.453Z" }, + { url = "https://files.pythonhosted.org/packages/73/e3/fe2d498c64dea0095c9a9f9a351af4cd6eef31b618395582bc1f38ba45ff/websockets-16.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:01fbdcbac298efe19360b94bc0039c8f746f0220ba570f327577bfee81059175", size = 177542, upload-time = "2026-07-17T22:49:16.875Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ed/f1831681fce0e3242346e5458486003c5f124ed69e5e0b847fd029db4973/websockets-16.1.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0f62863e8a00a6d33c3d6566ec0b89f23787b747ffe0c3bc71ec0e76b82c94b1", size = 187137, upload-time = "2026-07-17T22:49:18.323Z" }, + { url = "https://files.pythonhosted.org/packages/6f/79/4ff9dcc1bb46f6b4c536936dde1fd60f9b564f3304307274db97f4c9496d/websockets-16.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8087e82f842609734c9b5a1330464f8e94e346ba0e18c832c08bafa4b0d63c15", size = 188374, upload-time = "2026-07-17T22:49:19.65Z" }, + { url = "https://files.pythonhosted.org/packages/62/c3/5c49b6efb36cab733d23773f6de575e1dba65736ead17d5d2b2a1daef779/websockets-16.1.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2bb5d041a8307d2e18782e7ce777f6fdb1e8c2f5d09291484b18c294b789d9aa", size = 191155, upload-time = "2026-07-17T22:49:21.331Z" }, + { url = "https://files.pythonhosted.org/packages/6e/f6/56ccceda3a4838d18f1d40821480da4775397e8b1eecf4031e20c50e2e90/websockets-16.1.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1db4de4a0e95673f7545d393c49eeb0c2f18ac1ef93073218c79d5cdb2ee75ab", size = 189011, upload-time = "2026-07-17T22:49:22.889Z" }, + { url = "https://files.pythonhosted.org/packages/86/d6/ad5286241a2bce1107e2798d3bfbd62cf79aee167bdb654f8cb1e9dbf949/websockets-16.1.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f17dbe07eb3ea7f99e4df9b7e0efefe80fbf30d37a8cc4d561a0aed310bc8847", size = 187766, upload-time = "2026-07-17T22:49:24.339Z" }, + { url = "https://files.pythonhosted.org/packages/bc/67/d65c970b7e347fdca69479beb7811c2060529956730a7a4e3ae7c66b0e31/websockets-16.1.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4b57693728576d84ede0a77987ab16881b783d2cd9f1dc180a8fbbc3f79c4428", size = 185173, upload-time = "2026-07-17T22:49:25.743Z" }, + { url = "https://files.pythonhosted.org/packages/1d/5b/14af3cd4ee69d8ea9baca58f3dc3cfb1ba78332a347fd478cb096549d60e/websockets-16.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2a636ff1e7a5c4edf71ef0e79adae7f25dba93b4fcbe3dc958733477ffeb0eaf", size = 187809, upload-time = "2026-07-17T22:49:27.147Z" }, + { url = "https://files.pythonhosted.org/packages/7b/11/be301710d70de97e3e7b3586e6d492c9c06d6a61bf1c2202c36cf0c75607/websockets-16.1.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d6bec75c290fe484a8ba4cacdf838501e17c06ecfbbf31eede81a9e431bd7751", size = 186412, upload-time = "2026-07-17T22:49:28.611Z" }, + { url = "https://files.pythonhosted.org/packages/db/07/fe1435bf6fe738a3d3b54dbe0c18dabf12cba4d909ac8b58b539ce27c1f4/websockets-16.1.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:54509b8e92fee4453e152b7558ddef37ce9705a044922f2095a6105e3f80c96f", size = 188290, upload-time = "2026-07-17T22:49:29.965Z" }, + { url = "https://files.pythonhosted.org/packages/8a/0a/81f394aff8efcbb01208c1ced77df0a3c7fcce584a88c7273663697946c2/websockets-16.1.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:f0aa4aad3b1b69ad3fd85a0fd0952ec64331c762bd77ec51cc814170873890b2", size = 185844, upload-time = "2026-07-17T22:49:31.447Z" }, + { url = "https://files.pythonhosted.org/packages/39/5c/dd485b995473f415510251fe9bd708f2d24458f439fce958daf8d66dc7c6/websockets-16.1.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:42290eb6db4ccaca7012656738214f8514082fb6fa40cdeb61bb9a471b52e383", size = 186823, upload-time = "2026-07-17T22:49:33.104Z" }, + { url = "https://files.pythonhosted.org/packages/9d/0b/f78de76ff446f1e66af12b43c48a35f31744de93cfdec2f4ea67d5d7bbf1/websockets-16.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:53260c8930da5771cec89439bff99c20c8cb03ddb9588b980697355a83cd4bd3", size = 187102, upload-time = "2026-07-17T22:49:34.616Z" }, + { url = "https://files.pythonhosted.org/packages/37/a1/4cf892007778eaf84ad162bfc98046e0ed89b63ac55949e3236626b2a23f/websockets-16.1.1-cp312-cp312-win32.whl", hash = "sha256:1d27fa8462ad6a1cb36206a3d0640b2333340def181fae11ed7f9adeaa5c0747", size = 179943, upload-time = "2026-07-17T22:49:36.213Z" }, + { url = "https://files.pythonhosted.org/packages/d9/de/6abe251d28c3a3f217096575400b27750b18e0b1d2fff3a2a239960fea07/websockets-16.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:b436f6ec4fc3a6b4237c84d3f83170ed2b40bb584222f0ac47a0c8a5921980c7", size = 180243, upload-time = "2026-07-17T22:49:37.626Z" }, + { url = "https://files.pythonhosted.org/packages/ce/fd/6ec6c6d2850aea25b1b2aa9901a016980bb87d01e89b3eb00470b1b5d471/websockets-16.1.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ab59169ace05dcb49a1d4118f0bde139557adf45091bd85747e36bf5de984dd1", size = 179587, upload-time = "2026-07-17T22:49:38.959Z" }, + { url = "https://files.pythonhosted.org/packages/5f/d8/1d299d2dd34087db39831a34cc645ef8a6f89d78efada6983093513cd81c/websockets-16.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5e3b7d601f6f84156b08cc4a5e541c2b50ad7b36cfc302b657a12477c904a5df", size = 177272, upload-time = "2026-07-17T22:49:40.293Z" }, + { url = "https://files.pythonhosted.org/packages/3d/86/0a70d3ae2f0f2256bb41302d9804dbca65d4360281e7feb3e1f94102ac46/websockets-16.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cd2ca96a082a36964aca83e992f72abeb61b7306c1a6cba4c7d06a7b93750cac", size = 177530, upload-time = "2026-07-17T22:49:41.786Z" }, + { url = "https://files.pythonhosted.org/packages/b5/c2/c676c69444d9db448b3f0a55a98dcc534affce0bce961d9d2f0b8499b10a/websockets-16.1.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f5d497865f05bb222cab7016c6034542e84e5f29f49c6fd3f4939cda7197b5b8", size = 187197, upload-time = "2026-07-17T22:49:43.658Z" }, + { url = "https://files.pythonhosted.org/packages/0b/13/88137fbaf726ebe29d62c1117fa11fa2bbb6209dc79d4ad738efbe36a2aa/websockets-16.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bae954c382e013d5ea5b190d2830526bfa45ad121c326da0049b8c769f185db6", size = 188433, upload-time = "2026-07-17T22:49:45.147Z" }, + { url = "https://files.pythonhosted.org/packages/01/6d/46c2f2ce6751cb26f39293e1ecbf8544cb01321397cd476c2756b98c216d/websockets-16.1.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e09f753a169951eb4f28c2c774f71069304f66e7277e0f5a2892423599cfa854", size = 189868, upload-time = "2026-07-17T22:49:46.581Z" }, + { url = "https://files.pythonhosted.org/packages/29/2b/170a9e8097636cfde4dc3c592b6e00b18a44a2f5407606d96ca542dd5838/websockets-16.1.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:024193f8551a2b0eafbdd160911012c4e6c228c28430c84433253299a9e42d6a", size = 189059, upload-time = "2026-07-17T22:49:47.972Z" }, + { url = "https://files.pythonhosted.org/packages/a7/48/f0d4ebc9ab4b473b8861b9e20fdb663d515d42f7befdf62cdb60fee7a1ec/websockets-16.1.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:aabe464bfd13bd25f4821faf111da6fefdc389f870265a53105580e45b0a2e49", size = 187814, upload-time = "2026-07-17T22:49:49.344Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ba/39a41d3ae8e72696a9492581900611c5a91e2b07563b0bcd2523adea9854/websockets-16.1.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a28fcbc9b6baf54a2e23f8655f308e4ccc6afdd7266f8fe7954f320dcda0f785", size = 185229, upload-time = "2026-07-17T22:49:50.787Z" }, + { url = "https://files.pythonhosted.org/packages/3c/36/ac15b604f850d1907f0a85ed721cefe47cd45034b3620069b829746cccbe/websockets-16.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:79eace538c6a97e96d0d03d4f9d314f9677f5ed85a8a984992ffd90b13cb8a56", size = 187874, upload-time = "2026-07-17T22:49:52.228Z" }, + { url = "https://files.pythonhosted.org/packages/a8/f3/3fbd5d71d59299c3770faa5884d4f45070236ca5a35ab3a61830812c409a/websockets-16.1.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:496af849a472b531f758dbd4d61338f5000538cb1a7b3d20d9d32a264517f509", size = 186469, upload-time = "2026-07-17T22:49:53.776Z" }, + { url = "https://files.pythonhosted.org/packages/b4/fc/dd90349bba58af2a53ef2ddd9c32716c81eb6d59a0687939fff561860878/websockets-16.1.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5283810d2646741a0d8da2aa733d6aefa0545809afccb2a5d105a26bc45125f1", size = 188347, upload-time = "2026-07-17T22:49:55.202Z" }, + { url = "https://files.pythonhosted.org/packages/4c/f3/f73ba86427682da59b78c11d77ba56d5b801c32e84afe79b274bbd6a9bb2/websockets-16.1.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:4e3b680b1e0a27457e727a0d572fd81dffa87b6dbf8b228ab57da64f7d85aead", size = 185903, upload-time = "2026-07-17T22:49:56.75Z" }, + { url = "https://files.pythonhosted.org/packages/34/7c/f95eb20e80104173b3a0a092291f89ea4047ef6e608e0a57ca06eb14eecb/websockets-16.1.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:69159730a823dde3ea8d08783e8d47ef135a6d7e8d44eb127e32b321c9db8e3e", size = 186855, upload-time = "2026-07-17T22:49:58.467Z" }, + { url = "https://files.pythonhosted.org/packages/b0/35/dd875b3e050ff232d60fa377707f890e369f74d134f1be32e8f68879747c/websockets-16.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ed5bb271084b46530ee2ddc0410537a9961152c5ccba2fc98c5276d992ccba87", size = 187140, upload-time = "2026-07-17T22:50:00.016Z" }, + { url = "https://files.pythonhosted.org/packages/e8/dc/5cbfcb41824502f6af93b8f3943a4d06c67c23c7d2e31eb18748c4a5b2a7/websockets-16.1.1-cp313-cp313-win32.whl", hash = "sha256:cfb70b4eb56cac4da0a83588f3ad50d46beb0690391082f3d4e2d488c70b68ea", size = 179928, upload-time = "2026-07-17T22:50:01.685Z" }, + { url = "https://files.pythonhosted.org/packages/b0/c1/71e5deb5b7f8f226997ab64908c184ac3105c0155ce2d486f318e5dd08a8/websockets-16.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:d9531d9cbeac99af6f038fb1bc351403531f7d634a2c2e10e2f7c854c6ed5b68", size = 180242, upload-time = "2026-07-17T22:50:03.117Z" }, + { url = "https://files.pythonhosted.org/packages/73/a2/ba78a164eeea4620df4a4df4bd2ed6017438c4655cc0f36f2c0bc0432355/websockets-16.1.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:443aefe96b7fdb132e2a70806cca1f2af49bb3f28e47abcd7c2e9dcf4d8fa1b8", size = 179635, upload-time = "2026-07-17T22:50:05.001Z" }, + { url = "https://files.pythonhosted.org/packages/b9/08/d26d7a7628cd4ac34cbbdb63ac80914ca842ed8e42938c40a53567806df3/websockets-16.1.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:6456ff333092d509127d75a638cb411afae8ff17f092635015d1902efec8a293", size = 177320, upload-time = "2026-07-17T22:50:06.427Z" }, + { url = "https://files.pythonhosted.org/packages/0f/45/ebec83e6269536aa5932533c67b0af5c781f3e73fdbcd68672dcf43f4f44/websockets-16.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:fce6c48559c86d1ac3632ccb1bebc7d5442fbe79bd9bb0e40379ee54be2a4051", size = 177544, upload-time = "2026-07-17T22:50:07.834Z" }, + { url = "https://files.pythonhosted.org/packages/c9/d5/abc614d2297f6c1c3e01e61260364457a47c25cc1cf6a879038902bc6aa8/websockets-16.1.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:92b820d345f7a3fc7b8163949ee92df910f290c3fc517b3d5301c78065adafe1", size = 187270, upload-time = "2026-07-17T22:50:09.275Z" }, + { url = "https://files.pythonhosted.org/packages/52/71/4c99af3b87dff1b2927981f6876607d4acb45338c665242168d3982f7758/websockets-16.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a606d9c24035242a3e256e9d5b77ed9cd6bccfcb7cf993e5ca3c0f6f68fb6a7", size = 188509, upload-time = "2026-07-17T22:50:10.722Z" }, + { url = "https://files.pythonhosted.org/packages/9b/b4/5c8ca14b0df7eb84ed0524165c5359150210140817a3312aee57bf62a1cf/websockets-16.1.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:414e596c75f74e0994084694189d7dc9229fb278e33064d6784b73ffbba3ca31", size = 189882, upload-time = "2026-07-17T22:50:12.293Z" }, + { url = "https://files.pythonhosted.org/packages/25/c1/bedfba9e70557129cb8083748d167bdcc01483dedf0f0df143676df05cbe/websockets-16.1.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:536676848fc5961aca9d20389951f59169508f765637a172403dc5434d722fa0", size = 189114, upload-time = "2026-07-17T22:50:13.789Z" }, + { url = "https://files.pythonhosted.org/packages/df/09/aa835b2787835aebd839114be5de51b797cb480b63ba42b26d34dfe147cb/websockets-16.1.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:97fd3a0e8b53efa41970ac1dff3d8cf0d2884cadeb4caaf95db7ad1526926ee3", size = 187861, upload-time = "2026-07-17T22:50:15.179Z" }, + { url = "https://files.pythonhosted.org/packages/20/26/f6408330694dbc9830857d9d23bc14ac4f6875127a480cfdda8d5ca21198/websockets-16.1.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7b1b19636af86a3c7995d4d028dbe376f39b4bf31541146f9c123582a6c94562", size = 185286, upload-time = "2026-07-17T22:50:16.741Z" }, + { url = "https://files.pythonhosted.org/packages/17/9a/e0675e70dd8a80762cf35bb18799d3f290a4890ffe6439bc51d222796083/websockets-16.1.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:41c8e77f17294c0ac18008a7309b99b34ee72247ef10b6dff4c3f8b5ac29896b", size = 187935, upload-time = "2026-07-17T22:50:18.213Z" }, + { url = "https://files.pythonhosted.org/packages/33/c1/3234cfb86afde01b81e9bddcc6e534c440975d60a13991259e833069ab3e/websockets-16.1.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:9f63bcef7f4b02b06b35fc01c93b96c43b5e88e1e8868676caacf493d5a31f3a", size = 186444, upload-time = "2026-07-17T22:50:19.67Z" }, + { url = "https://files.pythonhosted.org/packages/89/87/9c15206e1d778923d8daa9657de07aa62ea815e13448319c98458c37b281/websockets-16.1.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dab9eb87869da2d6ed3af3f3adf28414baae6ec9d4df355ffc18889132f3436c", size = 188409, upload-time = "2026-07-17T22:50:21.28Z" }, + { url = "https://files.pythonhosted.org/packages/f2/00/cf5de5c67676de2d3eef8b2a518f168f6796595447a5b7161ba0d012915c/websockets-16.1.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:43e3a9fdd7cbf7ba6040c31fae0faf84ca1474fef777c4e37912f1540f854499", size = 185958, upload-time = "2026-07-17T22:50:22.719Z" }, + { url = "https://files.pythonhosted.org/packages/62/c0/731b6ddede2e4136912ec4cff2cffbda35af73546be4762c3d7bd3bd79af/websockets-16.1.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:056ae37939ed7e9974f364f5864e76e49182622d8f9751ac1903c0d09b013985", size = 186911, upload-time = "2026-07-17T22:50:24.108Z" }, + { url = "https://files.pythonhosted.org/packages/8c/7f/39c634472c4469a24a7c09cecddffb08fac6d0e74f73881a94ee8a40a196/websockets-16.1.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a0eadbbf2c30f01efa58e1f110eb6fa293261f6b0b1aa38f7f48707107690af9", size = 187204, upload-time = "2026-07-17T22:50:25.548Z" }, + { url = "https://files.pythonhosted.org/packages/26/89/9667c256c256dafcc62d21328ce7a40067da857969b68ee9af375b0aaf72/websockets-16.1.1-cp314-cp314-win32.whl", hash = "sha256:195c978b065fa40910582464f99d6b15c8b314c68e0546549a55ed83f4735328", size = 179603, upload-time = "2026-07-17T22:50:27.086Z" }, + { url = "https://files.pythonhosted.org/packages/bd/dd/1c099d6c0fc5deb6b46ccdbb6981fdb4b12c917869cb3952408409dc18db/websockets-16.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:4e8d01cc3bcae7bbf8167f944aeafefed590fae5693552bba9794a9df68371cc", size = 179948, upload-time = "2026-07-17T22:50:28.521Z" }, + { url = "https://files.pythonhosted.org/packages/35/25/9956b2d5e0529d5d23924f21bba1440d4c5c88a562e4f08550871ffa97a7/websockets-16.1.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0ffd3031ea8bda8d61762e84220186105ba3b748b3c8da2ae4f7816fac03e573", size = 179963, upload-time = "2026-07-17T22:50:29.982Z" }, + { url = "https://files.pythonhosted.org/packages/17/06/55ffc976c488b6aee9ea05761ff7c4e88e7c1fd82818c8ca7b556ad2f90c/websockets-16.1.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:84a2cef8deffbd9ab8ee0ea546a2a6a7030c28f44e6cdd4547dbfeb489eb8999", size = 177497, upload-time = "2026-07-17T22:50:31.396Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/f7dac2e980bacc92bdc26cebae4ae4d50cae5380732c50980598fc0bbae4/websockets-16.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3df13f73af9b3b38ab1195eb299ecb67a4330c911c97ae04043ff74085728abe", size = 177698, upload-time = "2026-07-17T22:50:32.829Z" }, + { url = "https://files.pythonhosted.org/packages/b2/39/26762f734113e22da2b942c3aca85798e0c0405d64c256549540ff31e5a1/websockets-16.1.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:23253dd5bcae3f9aaee0a1d30967a8dbd52e5d3cff93a2e5b84df57b77d4750d", size = 187561, upload-time = "2026-07-17T22:50:34.24Z" }, + { url = "https://files.pythonhosted.org/packages/11/94/c3f330851806b9b02138b774d593478323e73c99238681b4b93efe64e02d/websockets-16.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c1c5705e314449e3308872fe084b8571ce078ee4fc55a98a769bdefe5917392", size = 188732, upload-time = "2026-07-17T22:50:36.088Z" }, + { url = "https://files.pythonhosted.org/packages/d1/f2/eb2c450f052de334ae33cf200ece6e87b0e14d186807074e4eb1cd2cdea2/websockets-16.1.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:69e52d175a0a7d1e13b4b67ad41c560b7d98e8c6f6126eb0bda496c784faf8c7", size = 190872, upload-time = "2026-07-17T22:50:38.008Z" }, + { url = "https://files.pythonhosted.org/packages/70/31/2ac8cecf3a74f7fed9132129fc3d90b3998a1554570c11a69b2a8c20332d/websockets-16.1.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1f79c89b5eb034d1722938a891916582f8f7f503f58ca22518a63c3f2cd18499", size = 189305, upload-time = "2026-07-17T22:50:39.53Z" }, + { url = "https://files.pythonhosted.org/packages/6a/cf/8ab19650d3c0d4562c92e70ab47c257c4aa5c6a713ed87fe63766b31fefc/websockets-16.1.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:39f2a024af5c345ffe8fcf1ee18c049c024c94df393bb09b044a6917c77bde43", size = 188033, upload-time = "2026-07-17T22:50:40.912Z" }, + { url = "https://files.pythonhosted.org/packages/66/d7/a49a38a6127a4acb134fb1912b215d900cc657605cff32445bf519f3acc4/websockets-16.1.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:952303a7318d4cbe1011400839bb2051c9f84fa0a35923267f5daba34b15d458", size = 185748, upload-time = "2026-07-17T22:50:42.559Z" }, + { url = "https://files.pythonhosted.org/packages/95/3e/ad1fa40388c7f2e0bb2c7930d0090b6c5498594bd1cdaec18864df3d9e97/websockets-16.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:249116b4a76063d930a46391ad56e135c286e4562a18309029fc2c73f4ed4c62", size = 188285, upload-time = "2026-07-17T22:50:43.974Z" }, + { url = "https://files.pythonhosted.org/packages/35/b8/d5db28ca264b9104f82196f92dc8843e35fd391f763d42e4ad358f5bc97e/websockets-16.1.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:61922544a0587a13fd3f53e4c0e5e606510c7b0d9d22c8444e5fae22a06b38cb", size = 186777, upload-time = "2026-07-17T22:50:45.474Z" }, + { url = "https://files.pythonhosted.org/packages/42/9c/726cb39d0cc43ae848dce4aa2acb04eecc6738b1264ec6d700bf6bcfb9f8/websockets-16.1.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:46dcaa042cd1de6c59e7d9269fa63ff7572b6df40510600b678f0826b3c7af51", size = 188682, upload-time = "2026-07-17T22:50:46.973Z" }, + { url = "https://files.pythonhosted.org/packages/be/c7/1168704de8c2dd483edabe4a22cbe4465dd8be8dd95561d214f9fe092871/websockets-16.1.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:38565aca3e01ea8734e578fb2118dade0ecb0250533f29e22b8d1a7a196cf4d0", size = 186377, upload-time = "2026-07-17T22:50:48.413Z" }, + { url = "https://files.pythonhosted.org/packages/ca/40/f9ff2d630ffce4e7dfea0b2288e1caf9ebbf9ff8a9ec9396136ce8b94935/websockets-16.1.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:42f599f4d48c7e1a3338fdaac3acd075be3b3cf02d4b274f3bf2767aedd3d217", size = 187148, upload-time = "2026-07-17T22:50:49.845Z" }, + { url = "https://files.pythonhosted.org/packages/b5/71/e177c8299f78d7cbe2d14df228643c10c70c0e86e108e092056bbcc16e46/websockets-16.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dcc04fedf83effaeb9cce98abc9469bb1b42ef85f03e01c8c1f4438ef7555737", size = 187578, upload-time = "2026-07-17T22:50:51.619Z" }, + { url = "https://files.pythonhosted.org/packages/49/b2/b6987faf330f5af5c787a2610124c2e8403d51724f9001ec4fff6311fe7a/websockets-16.1.1-cp314-cp314t-win32.whl", hash = "sha256:8483c2096363120eea8b07c06ae7304d520f686665fffd4811fad423930a65d7", size = 179729, upload-time = "2026-07-17T22:50:53.269Z" }, + { url = "https://files.pythonhosted.org/packages/a2/6e/fbac6ed878dd362fbad7d415fa4f84d38e3e33fed8cde45c64e783acf826/websockets-16.1.1-cp314-cp314t-win_amd64.whl", hash = "sha256:bcce07e23e5769375158f5efdcdafa8d5cd014b93c6683865b840ed65b96f231", size = 180072, upload-time = "2026-07-17T22:50:54.969Z" }, + { url = "https://files.pythonhosted.org/packages/e1/ed/71fea6e141590cafc40b14dc5943b0845606bee87bdb52a21b6a73eb4311/websockets-16.1.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:820fb8450edddae3812fd58cbc08e2bf22812cb248ecb5f06dbb82119a56e869", size = 177185, upload-time = "2026-07-17T22:50:56.665Z" }, + { url = "https://files.pythonhosted.org/packages/01/ec/00e7eeca200facf9266a83e4cbbf1bed0e67fba1d4d45031d3e5b3d81b5c/websockets-16.1.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:125f22dbefaf1554fea66fc83851490edb284ce4f501d37ffed2752f418332d9", size = 177459, upload-time = "2026-07-17T22:50:58.197Z" }, + { url = "https://files.pythonhosted.org/packages/75/fd/5774c4b33f7c0d8f0c51809c8b3a93456c48e3543579262cfa64eb5f522e/websockets-16.1.1-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:30bbe120437b5648a77d3519b7024ea09530e0b5b18d3698c5a0ae536fe0cc2e", size = 178294, upload-time = "2026-07-17T22:50:59.641Z" }, + { url = "https://files.pythonhosted.org/packages/37/c3/48e2c03d2bd79bb45948841c592d24156312dd5f58cdf8f549febe652fb6/websockets-16.1.1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b6b9dadbef0cccd9f4c4ee96b08898afa73e26803bbe0f6aeb5bb12b0074206d", size = 179190, upload-time = "2026-07-17T22:51:01.129Z" }, + { url = "https://files.pythonhosted.org/packages/2d/3f/73e511ecf2496ceac57dd4ed8388efe2bcf0769338a2dbf242c8366ae87e/websockets-16.1.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:56cd5fc4f10a9ea8aa0804bddb7b42506cf9e136046f3b4c27de8fec9e2ecba5", size = 180330, upload-time = "2026-07-17T22:51:02.603Z" }, + { url = "https://files.pythonhosted.org/packages/be/4d/2d0d67834092e354d2b0498f014a41249a89556bc406cf86f3e1557bb463/websockets-16.1.1-py3-none-any.whl", hash = "sha256:6abbd3e82c731c8e531714466acd5d87b5e88ac3243465337ba71d68e23ae7e3", size = 173814, upload-time = "2026-07-17T22:51:04.184Z" }, +] + +[[package]] +name = "wheel" +version = "0.47.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/39/62/75f18a0f03b4219c456652c7780e4d749b929eb605c098ce3a5b6b6bc081/wheel-0.47.0.tar.gz", hash = "sha256:cc72bd1009ba0cf63922e28f94d9d83b920aa2bb28f798a31d0691b02fa3c9b3", size = 63854, upload-time = "2026-04-22T15:51:27.727Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/1b/9e33c09813d65e248f7f773119148a612516a4bea93e9c6f545f78455b7c/wheel-0.47.0-py3-none-any.whl", hash = "sha256:212281cab4dff978f6cedd499cd893e1f620791ca6ff7107cf270781e587eced", size = 32218, upload-time = "2026-04-22T15:51:26.296Z" }, +] + +[[package]] +name = "xdg" +version = "6.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2a/b9/0e6e6f19fb75cf5e1758f4f33c1256738f718966700cffc0fde2f966218b/xdg-6.0.0.tar.gz", hash = "sha256:24278094f2d45e846d1eb28a2ebb92d7b67fc0cab5249ee3ce88c95f649a1c92", size = 3453, upload-time = "2023-02-27T19:27:44.309Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dd/54/3516c1cf349060fc3578686d271eba242f10ec00b4530c2985af9faac49b/xdg-6.0.0-py3-none-any.whl", hash = "sha256:df3510755b4395157fc04fc3b02467c777f3b3ca383257397f09ab0d4c16f936", size = 3855, upload-time = "2023-02-27T19:27:42.151Z" }, +] + +[[package]] +name = "yarl" +version = "1.24.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "multidict" }, + { name = "propcache" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/31/33/ebe9e3d1f86c7a0b51094c0a146392045ca1631d2664889539dec8088a33/yarl-1.24.5.tar.gz", hash = "sha256:e81b83143bee16329c23db3c1b2d82b29892fcbcb849186d2f6e98a5abe9a57f", size = 228679, upload-time = "2026-07-20T02:07:45.435Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/db/3cb5df059756a45761cc3dee8fd25ec82b83a6585ea3542b969fda850f99/yarl-1.24.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2c1fe720934a16ea8e7146175cba2126f87f54912c8c5435e7f7c7a51ef808d3", size = 135043, upload-time = "2026-07-20T02:04:52.39Z" }, + { url = "https://files.pythonhosted.org/packages/44/f8/767d6bd5a03db63bc467df2fb56d6fafeae9667d74aea92cd6af399f828b/yarl-1.24.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c687ed078e145f5fd53a14854beff320e1d2ab76df03e2009c98f39a0f68f39a", size = 96942, upload-time = "2026-07-20T02:04:54.26Z" }, + { url = "https://files.pythonhosted.org/packages/ce/97/10b939c44d7b28d1dbc389cfc7012306d1ea8dba01eaef44b39fffaee52a/yarl-1.24.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:709f1efed56c4a145793c046cd4939f9959bcd818979a787b77d8e09c57a0840", size = 97046, upload-time = "2026-07-20T02:04:56.638Z" }, + { url = "https://files.pythonhosted.org/packages/5b/7a/b410dbe39b6255c55fb2a2bcee96eb844d0789235ddc381a889a90dc72d6/yarl-1.24.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:874019bd513008b009f58657134e5d0c5e030b3559bd0553976837adf52fe966", size = 110512, upload-time = "2026-07-20T02:04:58.955Z" }, + { url = "https://files.pythonhosted.org/packages/83/c7/da591971f78a5617e1f21f5699858ebccd836fe181a6493788ffc91ba69b/yarl-1.24.5-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a4582acf7ef76482f6f511ebaf1946dae7f2e85ec4728b81a678c01df63bd723", size = 102454, upload-time = "2026-07-20T02:05:00.623Z" }, + { url = "https://files.pythonhosted.org/packages/c4/8e/73b0ed4de47289a78a96045d76d1cfe5e41848bf0da59ce25b2ec87ee05d/yarl-1.24.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2cabe6546e41dabe439999a23fcb5246e0c3b595b4315b96ef755252be90caeb", size = 117617, upload-time = "2026-07-20T02:05:02.325Z" }, + { url = "https://files.pythonhosted.org/packages/cf/14/b744747bc4f57a8d55bd744df463457524583e1e9f7538b5ace0346ab92e/yarl-1.24.5-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:17f57620f5475b3c69109376cc87e42a7af5db13c9398e4292772a706ff10780", size = 116135, upload-time = "2026-07-20T02:05:04.05Z" }, + { url = "https://files.pythonhosted.org/packages/66/ca/95aa4d0e5b7ea4f20e4d577c42d001ed9df207569fdb063cc5ed4ebb496b/yarl-1.24.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:570fec8fbd22b032733625f03f10b7ff023bc399213db15e72a7acaef28c2f4e", size = 111935, upload-time = "2026-07-20T02:05:05.738Z" }, + { url = "https://files.pythonhosted.org/packages/72/0d/d2ad8d6b147832d177a4e720ba1962fe686eb0913b74503b3eca094b8bba/yarl-1.24.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5fede79c6f73ff2c3ef822864cb1ada23196e62756df53bc6231d351a49516a2", size = 110010, upload-time = "2026-07-20T02:05:07.471Z" }, + { url = "https://files.pythonhosted.org/packages/50/18/eb335e4120903903f4865041355ae46256a2406eb2865bc24827f4f27b61/yarl-1.24.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8ccf9aca873b767977c73df497a85dbedee4ee086ae9ae49dc461333b9b79f58", size = 110058, upload-time = "2026-07-20T02:05:09.246Z" }, + { url = "https://files.pythonhosted.org/packages/44/70/97353add32c62ad6f206d948ac5a5ee84398225e534dc6ed6433d1b335b6/yarl-1.24.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:ad5d8201d310b031e6cd839d9bac2d4e5a01533ce5d3d5b50b7de1ef3af1de61", size = 103308, upload-time = "2026-07-20T02:05:11.31Z" }, + { url = "https://files.pythonhosted.org/packages/68/39/5e7398d4b6f6b3c9062823ebc60802df5b272e3fe9e788f9734c6ee46c85/yarl-1.24.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:841f0852f48fefea3b12c9dfec00704dfa3aef5215d0e3ce564bb3d7cd8d57c6", size = 116898, upload-time = "2026-07-20T02:05:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c9/09e52f2239e8b96357eccca05915382e4ba5405ebfb623b6036040d99654/yarl-1.24.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:9baafc71b04f8f4bb0703b21d6fc9f0c30b346c636a532ff16ec8491a5ea4b1f", size = 109400, upload-time = "2026-07-20T02:05:14.821Z" }, + { url = "https://files.pythonhosted.org/packages/4b/6a/e94133d4c2d1a14d2384310bf3e79d9cf32c9d1eae1c6f034fb80d098fa1/yarl-1.24.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d897129df1a22b12aeed2c2c98df0785a2e8e6e0bde87b389491d0025c187077", size = 115934, upload-time = "2026-07-20T02:05:17.78Z" }, + { url = "https://files.pythonhosted.org/packages/4e/3c/34955ed967b976fc38edcbb6d538dee79dbda4cb7fc7f72a0907a7c78e0f/yarl-1.24.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dd625535328fd9882374356269227670189adfcc6a2d90284f323c05862eecbd", size = 112178, upload-time = "2026-07-20T02:05:19.675Z" }, + { url = "https://files.pythonhosted.org/packages/f5/46/d7bd3a8859d47dcfaffd7127af7076032a7da278a9a02e17b5f37bfb6712/yarl-1.24.5-cp311-cp311-win_amd64.whl", hash = "sha256:f4239bbec5a3577ddb49e4b50aeb32d8e5792098262ae2f63723f916a29b1a25", size = 97544, upload-time = "2026-07-20T02:05:21.523Z" }, + { url = "https://files.pythonhosted.org/packages/01/69/c1bfd21e32c638974ea2c542a0b8c53ef1fa9eff336020f5d014f9503ff2/yarl-1.24.5-cp311-cp311-win_arm64.whl", hash = "sha256:3ac6aff147deb9c09461b2d4bbdf6256831198f5d8a23f5d37138213090b6d8a", size = 93359, upload-time = "2026-07-20T02:05:23.493Z" }, + { url = "https://files.pythonhosted.org/packages/1b/84/71d051c850b5af41d168c679d9eb67eb7c55283ac4ee131673edf134bc4e/yarl-1.24.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d693396e5aea78db03decd60aec9ece16c9b40ba00a587f089615ff4e718a81d", size = 136035, upload-time = "2026-07-20T02:05:25.489Z" }, + { url = "https://files.pythonhosted.org/packages/03/4d/8ad27f9a1b7e69313cca5d695b925b48efe51208d3490e0844bae97cabc0/yarl-1.24.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3363fcc96e665878946ad7a106b9a13eac0541766a690ef287c0232ac768b6ec", size = 97642, upload-time = "2026-07-20T02:05:27.429Z" }, + { url = "https://files.pythonhosted.org/packages/ea/b4/05b4131c407006cd1e410e9c6539f16a0945724677e5364447313c15ea3e/yarl-1.24.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9d399bdcfb4a0f659b9b3788bbc89babe63d9a6a65aacdf4d4e7065ff2e6316c", size = 97323, upload-time = "2026-07-20T02:05:29.441Z" }, + { url = "https://files.pythonhosted.org/packages/20/16/e618c875c73e0e39611f20a581b3d5e8d59b8857bf001bee3263044c6deb/yarl-1.24.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90333fd89b43c0d08ac85f3f1447593fc2c66de18c3d6378d7125ea118dc7a54", size = 107741, upload-time = "2026-07-20T02:05:31.367Z" }, + { url = "https://files.pythonhosted.org/packages/d9/9a/c4defeaf3ed33fcb346aacf9c6e971a8d4e2bde04a0310e79abb208e7965/yarl-1.24.5-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:665b0a2c463cc9423dd647e0bfd9f4ccc9b50f768c55304d5e9f80b177c1de12", size = 103570, upload-time = "2026-07-20T02:05:33.303Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e7/0e0e0de5865ebd5914537ef486f36c727a59865c3ac0cf5ff1b32aececbf/yarl-1.24.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e006d3a974c4ee19512e5f058abedb6eef36a5e553c14812bdeba1758d812e6d", size = 115815, upload-time = "2026-07-20T02:05:35.292Z" }, + { url = "https://files.pythonhosted.org/packages/2b/27/ca56b700cb170aba25a3893b75355b213935657dc5714d2383354a270e62/yarl-1.24.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e7d42c531243450ef0d4d9c172e7ed6ef052640f195629065041b5add4e058d1", size = 116025, upload-time = "2026-07-20T02:05:37.503Z" }, + { url = "https://files.pythonhosted.org/packages/d6/d0/d56c859b8222116f5d68459199f48359e0bf121b6f65a69bf329b3602ba0/yarl-1.24.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f08c7513ecef5aad65687bfdf6bc601ae9fccd04a42904501f8f7141abad9eb9", size = 109835, upload-time = "2026-07-20T02:05:39.506Z" }, + { url = "https://files.pythonhosted.org/packages/70/a2/3a35557e4d1a79425040eba202ccaf08bdc8717680fc77e2498a1ad2e0a5/yarl-1.24.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6c95b17fe34ed802f17e205112e6e10db92275c34fee290aa9bdc55a9c724027", size = 108884, upload-time = "2026-07-20T02:05:41.584Z" }, + { url = "https://files.pythonhosted.org/packages/e4/35/ef4c26356b7913c68983bac2d72a4212b3347af551cb8d250b99b5ed7b7f/yarl-1.24.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:56b149b22de33b23b0c6077ab9518c6dcb538ad462e1830e68d06591ccf6e38b", size = 107308, upload-time = "2026-07-20T02:05:43.697Z" }, + { url = "https://files.pythonhosted.org/packages/d5/91/ff0dc66c2ccf3e0153ab97ff61eabab4400e6a5264af427ab30cd69f1857/yarl-1.24.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:a8fe66b8f300da93798025a785a5b90b42f3810dc2b72283ff84a41aaaebc293", size = 103646, upload-time = "2026-07-20T02:05:45.895Z" }, + { url = "https://files.pythonhosted.org/packages/74/f0/33b9271c7f881766359d58266fa0811d2e5210ed860e28da7dc6d7786344/yarl-1.24.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:377fe3732edbaf78ee74efdf2c9f49f6e99f20e7f9d2649fda3eb4badd77d76e", size = 115305, upload-time = "2026-07-20T02:05:47.832Z" }, + { url = "https://files.pythonhosted.org/packages/ef/65/fd79fb1868c4a80db8661091de525bf430f63c3bea1b20e8b6a84fc7d359/yarl-1.24.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:e8ffa78582120024f476a611d7befc123cee59e47e8309d470cf667d806e613b", size = 108404, upload-time = "2026-07-20T02:05:49.604Z" }, + { url = "https://files.pythonhosted.org/packages/ff/ba/dbabe6b262f17a816c70cfc09558dbf03ece3ec76684d02f911a3d3a189c/yarl-1.24.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:daba5e594f06114e37db186efd2dd916609071e59daca901a0a2e71f02b142ce", size = 115940, upload-time = "2026-07-20T02:05:51.741Z" }, + { url = "https://files.pythonhosted.org/packages/a5/43/fab2d1dad9d340a268cdde63756a123d069723efff6a372d123fa74a9517/yarl-1.24.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:65be18ec59496c13908f02a2472751d9ef840b4f3fb5726f129306bf6a2a7bba", size = 110006, upload-time = "2026-07-20T02:05:53.554Z" }, + { url = "https://files.pythonhosted.org/packages/c4/27/41eb51bbd1b8d89546b83897cfb0164f1e109304fd408dbb151b639eec0f/yarl-1.24.5-cp312-cp312-win_amd64.whl", hash = "sha256:a929d878fec099030c292803b31e5d5540a7b6a31e6a3cc76cb4685fc2a2f51b", size = 97618, upload-time = "2026-07-20T02:05:55.57Z" }, + { url = "https://files.pythonhosted.org/packages/3c/25/b2553764b3d65db711d8f45416351ec4f420847558eb669edcbcaadf5780/yarl-1.24.5-cp312-cp312-win_arm64.whl", hash = "sha256:7ce27823052e2013b597e0c738b13e7e36b8ccb9400df8959417b052ab0fd92c", size = 93018, upload-time = "2026-07-20T02:05:57.554Z" }, + { url = "https://files.pythonhosted.org/packages/e1/63/64ef361967cc983573149dc1515d531db5da8a4c92d22bb833d59e01b313/yarl-1.24.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:79af890482fc94648e8cde4c68620378f7fef60932710fa17a66abc039244da2", size = 135075, upload-time = "2026-07-20T02:05:59.671Z" }, + { url = "https://files.pythonhosted.org/packages/bb/89/55920fd853ce43e608adbc3962456f0d649d6bb15250dc2988321da0fe1c/yarl-1.24.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:46c2f213e23a04b93a392942d782eb9e413e6ef6bf7c8c53884e599a5c174dcb", size = 97225, upload-time = "2026-07-20T02:06:01.769Z" }, + { url = "https://files.pythonhosted.org/packages/15/f0/7688d3f2cfff7590df2af38ec46d969f4281a4dddb08a9ad2eafbcdddf98/yarl-1.24.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92ab3e11448f2ff7bf53c5a26eff0edc086898ec8b21fb154b85839ce1d88075", size = 96751, upload-time = "2026-07-20T02:06:03.676Z" }, + { url = "https://files.pythonhosted.org/packages/05/1a/a851a0f94aaaf379dd4f901bfc80f634280bec51eb260b47363e2a4cd62e/yarl-1.24.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ebb0ec7f17803063d5aeb982f3b1bd2b2f4e4fae6751226cbd6ba1fcfe9e63ff", size = 107960, upload-time = "2026-07-20T02:06:05.699Z" }, + { url = "https://files.pythonhosted.org/packages/6c/a8/faea066c12f9c77ca0de90641f1655f9dd7b412477bf28c76d692f3aecff/yarl-1.24.5-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:82632daed195dcc8ea664e8556dc9bdbd671960fb3776bd92806ce05792c2448", size = 103500, upload-time = "2026-07-20T02:06:07.556Z" }, + { url = "https://files.pythonhosted.org/packages/fb/9c/1e67084c2a6e2f2db0e3be798328cb3be42c0119b621d25461479a224d21/yarl-1.24.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:53e549287ef628fecba270045c9701b0c564563a9b0577d24a4ec75b8ab8040f", size = 115780, upload-time = "2026-07-20T02:06:09.599Z" }, + { url = "https://files.pythonhosted.org/packages/58/86/1f94664e147474337e3359f52012cf3d02f825f694317b178bfba1078c62/yarl-1.24.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fcd3b77e2f17bbe4ca56ec7bcb07992647d19d0b9c05d84886dcd6f9eb810afd", size = 115308, upload-time = "2026-07-20T02:06:11.352Z" }, + { url = "https://files.pythonhosted.org/packages/0a/43/8e55ae7538ba5f28ccb3c845c6dd4549cf7016d5992e5326512519107cdd/yarl-1.24.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d46b86567dd4e248c6c159fcbcdcce01e0a5c8a7cd2334a0fff759d0fa075b16", size = 110574, upload-time = "2026-07-20T02:06:13.129Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ba/a889ec8765cedcf2ac44dcb02d6a21e4861399b243b263c5f2dde27ee740/yarl-1.24.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7f72c74aa99359e27a2ee8d6613fefa28b5f76a983c083074dfc2aaa4ab46213", size = 109914, upload-time = "2026-07-20T02:06:15.243Z" }, + { url = "https://files.pythonhosted.org/packages/9c/c3/e45f821af67b791c2dbbe4a9f4137a1d33f8d386654a05a0c3f47bdfa25d/yarl-1.24.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3f45789ce415a7ec0820dc4f82925f9b5f7732070be1dec1f5f23ec381435a24", size = 107712, upload-time = "2026-07-20T02:06:17.443Z" }, + { url = "https://files.pythonhosted.org/packages/02/00/2ab0f42c9857fcb490bfaa6647b14540b53d241ab209f23220b958cc5832/yarl-1.24.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:6e73e7fe93f17a7b191f52ec9da9dd8c06a8fe735a1ecbd13b97d1c723bff385", size = 104251, upload-time = "2026-07-20T02:06:19.259Z" }, + { url = "https://files.pythonhosted.org/packages/7a/70/709d9a286e98af2c7fd8e4e6cada658b5c0e30d87dd7e2a63c2fb5767217/yarl-1.24.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4a36f9becdd4c5c52a20c3e9484128b070b1dcfc8944c006f3a528295a359a9c", size = 115319, upload-time = "2026-07-20T02:06:21.207Z" }, + { url = "https://files.pythonhosted.org/packages/5c/6c/3eaa515142991fe84cfc483ff986492211f1978f90161ccefdbec919d09b/yarl-1.24.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:7bcbe0fcf850eae67b6b01749815a4f7161c560a844c769ad7b48fcd99f791c4", size = 109163, upload-time = "2026-07-20T02:06:23.006Z" }, + { url = "https://files.pythonhosted.org/packages/bb/64/711dafce66c323a3144d470547a71c5384c57623308ac8bb5e4b903ac148/yarl-1.24.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:24e861e9630e0daddcb9191fb187f60f034e17a4426f8101279f0c475cd74144", size = 115435, upload-time = "2026-07-20T02:06:24.923Z" }, + { url = "https://files.pythonhosted.org/packages/cf/f3/9b9d0e6d84bea851eb1ba99e4bdc755b86fd813e49ec86dfe42f26befdef/yarl-1.24.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9335a099ad87287c37fe5d1a982ff392fa5efe5d14b40a730b1ec1d6a41382b4", size = 110691, upload-time = "2026-07-20T02:06:26.973Z" }, + { url = "https://files.pythonhosted.org/packages/86/e4/62a06b7e87c4246ac76b7c2da136f972eb4a3a1fc94abb07e7022d6fdb0a/yarl-1.24.5-cp313-cp313-win_amd64.whl", hash = "sha256:2dbe06fc16bc91502bca713704022182e5729861ae00277c3a23354b40929740", size = 97454, upload-time = "2026-07-20T02:06:29.163Z" }, + { url = "https://files.pythonhosted.org/packages/9e/c9/5fc8025b318ab10db413b61056bd0d95c557a70e8df4210c7511f866329c/yarl-1.24.5-cp313-cp313-win_arm64.whl", hash = "sha256:6b8536851f9f65e7f00c7a1d49ba7f2be0ffe2c11555367fc9f50d9f842410a1", size = 92813, upload-time = "2026-07-20T02:06:31.113Z" }, + { url = "https://files.pythonhosted.org/packages/a9/08/5f3085fef9564217074db9dd8573de1795bc82cde61a7ad10b6a7234a569/yarl-1.24.5-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:2729fcfc4f6a596fb0c50f32090400aa9367774ac296a00387e65098c0befa76", size = 135680, upload-time = "2026-07-20T02:06:33.273Z" }, + { url = "https://files.pythonhosted.org/packages/98/35/ba9436e579bd48a8801f2021d842d9ab4994c26e4c7dd3a4c1f1bcb57a9e/yarl-1.24.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:ff330d3c30db4eb6b01d79e29d2d0b407a7ecad39cfd9ec993ece57396a2ec0d", size = 97395, upload-time = "2026-07-20T02:06:35.259Z" }, + { url = "https://files.pythonhosted.org/packages/18/a9/a07f76f3c44e02b25cc743af5ef93eef27f7013eadca770451b6a6ccb5db/yarl-1.24.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e42d75862735da90e7fc5a7b23db0c976f737113a54b3c9777a9b665e9cbff75", size = 97223, upload-time = "2026-07-20T02:06:37.216Z" }, + { url = "https://files.pythonhosted.org/packages/77/f7/a9a1d6fa7dd9e388f95b30f6ad3ec4e285f6c8f61f44ce16070c3fcfe414/yarl-1.24.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a3732e66413163e72508da9eff9ce9d2846fde51fae45d3605393d3e6cd303e9", size = 108777, upload-time = "2026-07-20T02:06:39.292Z" }, + { url = "https://files.pythonhosted.org/packages/2f/44/e0b86c302471fabd6f02808ecf2ac52b8412b624787849d4bf2cdb466f6f/yarl-1.24.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5b8ee53be440a0cffc991a27be3057e0530122548dbe7c0892df08822fce5ede", size = 103119, upload-time = "2026-07-20T02:06:41.456Z" }, + { url = "https://files.pythonhosted.org/packages/d1/16/9c16d180bf8faaf223225eb50e1245870ff1ae0e302a27153988e65c51fd/yarl-1.24.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:af3aefa655adb5869491fa907e652290386800ae99cc50095cba71e2c6aefdca", size = 116471, upload-time = "2026-07-20T02:06:43.696Z" }, + { url = "https://files.pythonhosted.org/packages/d2/8d/b219b9df28a02ce95cfbdd41d2f7caa5669d0ff979c1c9975697145e33c5/yarl-1.24.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2120b96872df4a117cde97d270bac96aea7cc52205d305cf4611df694a487027", size = 115974, upload-time = "2026-07-20T02:06:45.874Z" }, + { url = "https://files.pythonhosted.org/packages/9b/e8/f20557aca240d88e69850ad1ee91756821d094bb1310565c04d25c6682a2/yarl-1.24.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:66410eb6345d467151934b49bfa70fb32f5b35a6140baa40ad97d6436abea2e9", size = 110830, upload-time = "2026-07-20T02:06:47.852Z" }, + { url = "https://files.pythonhosted.org/packages/db/18/199b85109a53eeca64ee19c9cca228287e8e4ab0cc1a09b28f530e65cce0/yarl-1.24.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4af7b7e1be0a69bee8210735fe6dcfc38879adfac6d62e789d53ba432d1ffa41", size = 110054, upload-time = "2026-07-20T02:06:49.84Z" }, + { url = "https://files.pythonhosted.org/packages/aa/2f/ed28147f8cd7f48c49367c90713b30a555284b6105a6a56f3a05568da795/yarl-1.24.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa139875ff98ab97da323cfadfaff08900d1ad42f1b5087b0b812a55c5a06373", size = 108312, upload-time = "2026-07-20T02:06:51.835Z" }, + { url = "https://files.pythonhosted.org/packages/c5/c5/55e16ae0a5c227cea8df1c6871ba57d614a34243146c05729caf2a1bd9c5/yarl-1.24.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:0055afc45e864b92729ac7600e2d102c17bef060647e74bca75fa84d66b9ff36", size = 103662, upload-time = "2026-07-20T02:06:54.061Z" }, + { url = "https://files.pythonhosted.org/packages/8d/ea/dbd7c2caec459c9a426f18b02688ecbfb58620d0f6a3422d24769fbaf8ab/yarl-1.24.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f0e466ed7511fe9d459a819edbc6c2585c0b6eabde9fa8a8947552468a7a6ef0", size = 116090, upload-time = "2026-07-20T02:06:56.015Z" }, + { url = "https://files.pythonhosted.org/packages/06/84/39ce4ce3059e07fece5fbdbee8c4053406af9aca911ce9fa5f8548aab6af/yarl-1.24.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:f141474e85b7e54998ec5180530a7cda99ab29e282fa50e0756d89981a9b43c5", size = 109523, upload-time = "2026-07-20T02:06:57.926Z" }, + { url = "https://files.pythonhosted.org/packages/a9/8b/71ff44137b405c64a7788075669c24010019f57a7464b78c3a6cbee539d9/yarl-1.24.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:e2935f8c39e3b03e83519292d78f075189978f3f4adc15a78144c7c8e2a1cba5", size = 116084, upload-time = "2026-07-20T02:06:59.868Z" }, + { url = "https://files.pythonhosted.org/packages/62/c0/423078fdd4042e1862c11f0ffd977a0ffa393783c12bee94685923bc189e/yarl-1.24.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9d1216a7f6f77836617dba35687c5b78a4170afc3c3f18fc788f785ba26565c4", size = 111006, upload-time = "2026-07-20T02:07:01.907Z" }, + { url = "https://files.pythonhosted.org/packages/cf/52/6daa2ee9d95e5c98b8128f8df91eb692eb423ab274b8cf08db52152fad26/yarl-1.24.5-cp314-cp314-win_amd64.whl", hash = "sha256:5ba4f78df2bcc19f764a4b26a8a4f5049c110090ad5825993aacb052bf8003ad", size = 99215, upload-time = "2026-07-20T02:07:03.852Z" }, + { url = "https://files.pythonhosted.org/packages/ec/0e/464a847d7359e0da75dd9fc5c1d1aa35d0159ea31e5f8e66a3c1c29ff3d0/yarl-1.24.5-cp314-cp314-win_arm64.whl", hash = "sha256:9e4e16c73d717c5cf27626c524d0a2e261ad20e46932b2670f64ad5dde23e26f", size = 94566, upload-time = "2026-07-20T02:07:06.074Z" }, + { url = "https://files.pythonhosted.org/packages/e2/55/e03acc4446772660bc335e86e41ef31e4d0d838fd641531a11a5ee33b493/yarl-1.24.5-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:e1ae548a9d901adca07899a4147a7c826bbcc06239d3ce9a59f57886a28a4c88", size = 142533, upload-time = "2026-07-20T02:07:08.284Z" }, + { url = "https://files.pythonhosted.org/packages/ae/71/4acd3a1fc7cf14345cdb302665ecd2097f62c365b4f14ca17d4f37775cf9/yarl-1.24.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:ff405d91509d88e8d44129cd87b18d70acd1f0c1aeabd7bc3c46792b1fe2acba", size = 100776, upload-time = "2026-07-20T02:07:10.197Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0b/cfb76b7fe99686db264bff829779a539d923e7564ffd7ef18da6c54c3774/yarl-1.24.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:47e98aab9d8d82ff682e7b0b5dded33bf138a32b817fcf7fa3b27b2d7c412928", size = 100913, upload-time = "2026-07-20T02:07:12.357Z" }, + { url = "https://files.pythonhosted.org/packages/8b/3f/7116e782992abbd4fb6948488aec72078895e929a23078290739e8396fce/yarl-1.24.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f0a658a6d3fafee5c6f63c58f3e785c8c43c93fbc02bf9f2b6663f8185e0971f", size = 106507, upload-time = "2026-07-20T02:07:14.173Z" }, + { url = "https://files.pythonhosted.org/packages/33/90/d4d2d73ee78229cc889872eb8e085d8f5c6f51abdb178409fd9b23cf74fd/yarl-1.24.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4377407001ca3c057773f44d8ddd6358fa5f691407c1ba92210bd3cf8d9e4c95", size = 99219, upload-time = "2026-07-20T02:07:16.019Z" }, + { url = "https://files.pythonhosted.org/packages/3e/fa/a6df1a9bccd644eec00abee0dff4277416222cec435330fd1f2858523ec1/yarl-1.24.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7c0494a31a1ac5461a226e7947a9c9b78c44e1dc7185164fa7e9651557a5d9bc", size = 111804, upload-time = "2026-07-20T02:07:18.141Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9e/7b2a1f4bcc20e9447156dd2b1c4d01f70d9df0759025ee7d09a84ffae134/yarl-1.24.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a7cff474ab7cd149765bb784cf6d78b32e18e20473fb7bda860bce98ab58e9da", size = 110943, upload-time = "2026-07-20T02:07:20.06Z" }, + { url = "https://files.pythonhosted.org/packages/08/ff/22c92affb0f9b623ca753d27d968b5625b868f12c6378d049d55ae247643/yarl-1.24.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cbb833ccacdb5519eff9b8b71ee618cc2801c878e77e288775d77c3a2ced858a", size = 108251, upload-time = "2026-07-20T02:07:22.217Z" }, + { url = "https://files.pythonhosted.org/packages/45/44/5769b96298c1e195fb412997b6090af2a84105cf59c17613558a2d011d1f/yarl-1.24.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:82f75e05912e84b7a0fe57075d9c59de3cb352b928330f2eb69b2e1f54c3e1f0", size = 106025, upload-time = "2026-07-20T02:07:24.083Z" }, + { url = "https://files.pythonhosted.org/packages/4c/40/009e8e791fd9762c0e1567e69248acb4f49064597e1680874c16dd8bb798/yarl-1.24.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:16a2f5010280020e90f5330257e6944bc33e73593b136cc5a241e6c1dc292498", size = 106573, upload-time = "2026-07-20T02:07:26.248Z" }, + { url = "https://files.pythonhosted.org/packages/20/c6/b7480578f8a0a80946f36ad6df547ecec704f9ba69d2de60f8aa6f1c1cbf/yarl-1.24.5-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:ffcd54362564dc1a30fb74d8b8a6e5a6b11ebd5e27266adc3b7427a21a6c9104", size = 100751, upload-time = "2026-07-20T02:07:28.098Z" }, + { url = "https://files.pythonhosted.org/packages/d4/27/4476f3360b91a48c5cf125e91f59a3bd35299d84a431a258d57f5977bb11/yarl-1.24.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0465ec8cedc2349b97a6b595ace64084a50c6e839eca40aa0626f38b8350e331", size = 111643, upload-time = "2026-07-20T02:07:30.88Z" }, + { url = "https://files.pythonhosted.org/packages/4c/4b/5cdd3e5ee944e8af31e52f6cd3d3af5fd7b937e036ccbbba2c9ffebede95/yarl-1.24.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:4db9aecb141cb7a5447171b57aa1ed3a8fee06af40b992ffc31206c0b0121550", size = 106312, upload-time = "2026-07-20T02:07:33.06Z" }, + { url = "https://files.pythonhosted.org/packages/18/86/f406b0c2a6f99575de2da671ef47aa06f89a5be83a27a46971c3b86cecdb/yarl-1.24.5-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:f540c013589084679a6c7fac07096b10159737918174f5dfc5e11bf5bca4dfe6", size = 110379, upload-time = "2026-07-20T02:07:35.155Z" }, + { url = "https://files.pythonhosted.org/packages/f0/6c/9f3adfbd3b30b4fa0f7ccb3a83eba2c1152d3fff554d535e640ba0f7ba2b/yarl-1.24.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a61834fb15d81322d872eaafd333838ae7c9cea84067f232656f75965933d047", size = 108497, upload-time = "2026-07-20T02:07:37.35Z" }, + { url = "https://files.pythonhosted.org/packages/dd/37/91eb2e5ca883a529c1b390348a74cd9fc0512171727f547ce70bfe02be5c/yarl-1.24.5-cp314-cp314t-win_amd64.whl", hash = "sha256:5c88e5815a49d289e599f3513aa7fde0bc2092ff188f99c940f007f90f53d104", size = 102450, upload-time = "2026-07-20T02:07:39.578Z" }, + { url = "https://files.pythonhosted.org/packages/bf/f4/ed5c402ac8fde4403ed3366c2716bfddc8a6677ebd59f3d62772cc7fe468/yarl-1.24.5-cp314-cp314t-win_arm64.whl", hash = "sha256:cf139c02f5f23ef6532040a30ff662c00a318c952334f211046b8e60b7f17688", size = 97222, upload-time = "2026-07-20T02:07:41.55Z" }, + { url = "https://files.pythonhosted.org/packages/61/02/962c1cbfc401a30c1d034dc67ff395f64b52302c6d62de556c1fca99acc0/yarl-1.24.5-py3-none-any.whl", hash = "sha256:a33700d13d9b7d84fd10947b09ff69fb9a792e519c8cb9764a3ca70baa6c23a7", size = 58612, upload-time = "2026-07-20T02:07:43.461Z" }, +]