From 1ffe58ec288a75ede7e282a274a325447dacdd56 Mon Sep 17 00:00:00 2001 From: Jim Schaff Date: Fri, 23 Feb 2024 09:46:39 -0500 Subject: [PATCH] improve jupyter notebook --- .gitignore | 2 + pythonData/example.ipynb | 176 +- pythonData/example_vcell_ui.png | Bin 0 -> 218291 bytes pythonData/poetry.lock | 2824 ++++++++++++++++++++++-- pythonData/pyproject.toml | 2 + pythonData/tests/vcell_parsing_test.py | 1 - 6 files changed, 2827 insertions(+), 178 deletions(-) create mode 100644 pythonData/example_vcell_ui.png diff --git a/.gitignore b/.gitignore index 4e4e94c439..2a62753293 100644 --- a/.gitignore +++ b/.gitignore @@ -246,3 +246,5 @@ pythonData/test_data/SimID_946368938_0_.meshmetrics pythonData/test_data/SimID_946368938_0_.subdomains pythonData/test_data/SimID_946368938_0_.vcg pythonData/test_data/SimID_946368938_mathmodel.vcml + +pythonData/test_data/zarr/ diff --git a/pythonData/example.ipynb b/pythonData/example.ipynb index 1cc031ba81..611bfb7801 100644 --- a/pythonData/example.ipynb +++ b/pythonData/example.ipynb @@ -1,21 +1,155 @@ { "cells": [ + { + "cell_type": "markdown", + "source": [ + "# Writing a VCell simulation dataset to Zarr" + ], + "metadata": { + "collapsed": false + }, + "id": "29a6cffd5df3cb63" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "import tarfile\n", + "import os\n", + "from pathlib import Path\n", + "import zarr\n", + "from vcelldata.zarr_writer import write_zarr\n", + "from vcelldata.simdata_models import PdeDataSet, DataFunctions\n", + "import matplotlib.pyplot as plt" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-23T14:56:12.289300Z", + "start_time": "2024-02-23T14:56:12.254162Z" + } + }, + "id": "c94978b833082ef7", + "execution_count": 64 + }, + { + "cell_type": "markdown", + "source": [ + "## extract the vcell simulation dataset from the tarball (compressed to save space)" + ], + "metadata": { + "collapsed": false + }, + "id": "4b69965b59dd9af5" + }, { "cell_type": "code", - "execution_count": 1, - "id": "initial_id", + "outputs": [ + { + "data": { + "text/plain": "'./example_vcell_ui.png'" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "test_data_dir = Path(os.getcwd()) / \"test_data\"\n", + "\n", + "def extract_simdata() -> None:\n", + " if (test_data_dir / \"SimID_946368938_0_.log\").exists():\n", + " return\n", + " with tarfile.open(test_data_dir / \"SimID_946368938_simdata.tgz\", 'r:gz') as tar:\n", + " tar.extractall(path=test_data_dir)\n", + " \n", + "extract_simdata()\n", + "\n", + "display(\"./example_vcell_ui.png\")" + ], "metadata": { - "collapsed": true, + "collapsed": false, "ExecuteTime": { - "end_time": "2024-02-23T00:21:57.901821Z", - "start_time": "2024-02-23T00:21:57.664407Z" + "end_time": "2024-02-23T14:56:12.353214Z", + "start_time": "2024-02-23T14:56:12.298293Z" } }, + "id": "e88a4bb558aba920", + "execution_count": 65 + }, + { + "cell_type": "markdown", + "source": [ + "## read vcell simulation results metadata\n", + "* `PdeDataSet` contains the metadata for the tabular simulation results (e.g. state variables, shape, time points)\n", + "* `DataFunctions` contains the function definitions (name, expression, type, domain)\n", + "![vcell simulation results](./example_vcell_ui.png)" + ], + "metadata": { + "collapsed": false + }, + "id": "61b06bfdb3479c67" + }, + { + "cell_type": "code", "outputs": [], "source": [ - "import zarr\n", - "import numpy as np\n" - ] + "sim_id = 946368938\n", + "job_id = 0\n", + "pde_dataset = PdeDataSet(base_dir=test_data_dir, log_filename=f\"SimID_{sim_id}_{job_id}_.log\")\n", + "pde_dataset.read()\n", + "data_functions = DataFunctions(function_file=test_data_dir / f\"SimID_{sim_id}_{job_id}_.functions\")\n", + "data_functions.read()" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-23T14:56:12.401206Z", + "start_time": "2024-02-23T14:56:12.359184Z" + } + }, + "id": "510f598e05e81f7f", + "execution_count": 66 + }, + { + "cell_type": "markdown", + "source": [ + "## write the vcell simulation dataset to zarr including:\n", + "* metadata\n", + "* numerical datasets from stored data and evaluated functions\n", + "* ... masks for domains coming soon (e.g. cell, extracellular, etc.)" + ], + "metadata": { + "collapsed": false + }, + "id": "cb456b125c78df83" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "write_zarr(pde_dataset=pde_dataset, data_functions=data_functions, zarr_dir=test_data_dir / \"zarr\")" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-23T14:56:12.598559Z", + "start_time": "2024-02-23T14:56:12.406498Z" + } + }, + "id": "39e09444af3e25f1", + "execution_count": 67 + }, + { + "cell_type": "markdown", + "source": [ + "## Open and display slices from the zarr dataset as an image\n", + "* no masking for domains\n", + "* different colormap and scaling" + ], + "metadata": { + "collapsed": false + }, + "id": "84d2b666c214cb87" }, { "cell_type": "code", @@ -23,21 +157,18 @@ { "data": { "text/plain": "
", - "image/png": "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Bw8eVEFBgc477zzNmzdPjY2NkhLvep599llNnTpVt9xyi8aNG6cpU6bo8ccfjz6e6D8PhnJFdOfC6aOPPlJPT4/y8vJ61f/cirqJ4pNrSMTri0QiWrx4saZPn65LL71U0sBXQB5O+/bt0+jRo+X3+3XPPfdo8+bNuvjiixPyWiRp48aNevPNN1VdXe15LBGvqaysTOvXr9dLL72kNWvW6PDhw7r22mt1/PjxhLue9957T2vWrNHEiRO1detWLViwQN/85jf15JNPSkrsnwdS/FZEtxnwMu0481RWVmr//v16/fXXh3sog3LRRRdp7969CoVC+ulPf6r58+ertrZ2uIc1IE1NTbr33nu1bds2paenD/dw4mLWrFnRf0+ePFllZWWaMGGCnn76aWVkZAzjyGIXiUQ0depUPfLII5KkKVOmaP/+/Vq7dq3mz58/zKMbvHitiG7j3J3T2WefreTkZE93x59bUTdRfHINiXZ9Cxcu1M9//nO9+uqr0SVNpN4rIH+ay9eTlpamCy64QKWlpaqurtbll1+uH/3oRwl5LfX19Tp27JiuuOIKpaSkKCUlRbW1tXr00UeVkpKivLy8hLum02VnZ+vCCy/UoUOHEu5zNH78eF188cW9apMmTYq+TZmoPw+kP66I/rd/+7fRWjw/P86FU1pamkpLS1VTUxOtRSIR1dTUKBgMDuPI4qO4uFj5+fm9rq+trU07d+508vqMMVq4cKE2b96sV155RcXFxb0eLy0tVWpqaq/raWhoUGNjo5PXYxOJRBQOhxPyWmbMmKF9+/Zp79690W3q1KmaN29e9N+Jdk2nO3HihN59912NHz8+4T5H06dP9/zpxTvvvKMJEyZISryfB5+2bt06jRs3TjfeeGO0FtfPT5wbN+Ji48aNxu/3m/Xr15u3337b3H333SY7O9s0NzcP99D65fjx4+att94yb731lpFkfvjDH5q33nrLvP/++8aYP7SOZmdnm2eeecb86le/MrNnz3a2dXTBggUmEAiY7du392ofPXnyZHSfe+65xxQVFZlXXnnF7NmzxwSDQRMMBodx1H27//77TW1trTl8+LD51a9+Ze6//37j8/nMf//3fxtjEuta+vLpbj1jEu+avvWtb5nt27ebw4cPmzfeeMOUl5ebs88+2xw7dswYk1jXs2vXLpOSkmL+6Z/+yRw8eNA89dRT5qyzzjI/+clPovsk0s+DT/T09JiioiJz3333eR6L1+fHyXAyxph//dd/NUVFRSYtLc1cddVVZseOHcM9pH579dVXjSTPNn/+fGPMH9pHH3zwQZOXl2f8fr+ZMWOGaWhoGN5B98F2HZLMunXrovucOnXKfOMb3zBjxowxZ511lvnKV75ijh49OnyD/hPuvPNOM2HCBJOWlmbGjh1rZsyYEQ0mYxLrWvpyejgl2jXdeuutZvz48SYtLc187nOfM7feemuvvwtKtOt57rnnzKWXXmr8fr8pKSkxjz32WK/HE+nnwSe2bt1qJFnHGa/PD0tmAACc49zvnAAAIJwAAM4hnAAAziGcAADOIZwAAM4hnAAAziGcAADOIZwAAM4hnAAAziGcAADOIZwAAM4hnAAAzvn/f8AgxPkOSAAAAAAASUVORK5CYII=" + "image/png": "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" }, "metadata": {}, "output_type": "display_data" } ], "source": [ - "import zarr\n", - "import matplotlib.pyplot as plt\n", - "\n", "# Open the Zarr dataset\n", - "dataset = zarr.open('/Users/schaff/Documents/workspace/vcell/pythonData/test_data/zarr/', mode='r')\n", + "dataset = zarr.open(test_data_dir / \"zarr\", mode='r')\n", "\n", - "# Get a slice of the dataset\n", - "slice = dataset[3, 2, 5, :, :]\n", + "# Get a slice of the dataset, shape is (time, channel, z, y, x)\n", + "slice = dataset[3, 2, 9, :, :]\n", "\n", "# Display the slice as an image\n", "plt.imshow(slice)\n", @@ -46,21 +177,26 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-02-23T00:21:59.089038Z", - "start_time": "2024-02-23T00:21:57.907571Z" + "end_time": "2024-02-23T14:56:12.898022Z", + "start_time": "2024-02-23T14:56:12.604252Z" } }, "id": "5bb30178f82d50e5", - "execution_count": 2 + "execution_count": 68 }, { "cell_type": "code", "outputs": [], "source": [], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-23T14:56:12.899114Z", + "start_time": "2024-02-23T14:56:12.886210Z" + } }, - "id": "508c085e7e54e11e" + "id": "9340dfb0efa80754", + "execution_count": 68 } ], "metadata": { diff --git a/pythonData/example_vcell_ui.png b/pythonData/example_vcell_ui.png new file mode 100644 index 0000000000000000000000000000000000000000..4b8ed96a92fdf5e5bb062c51319054544d03cc8c GIT binary patch literal 218291 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

3oFd>olxECsW>CqGf3N)RJJS{N;|)0*#_LdF z&?q(0;Ikh2@^F~YR>#^mKPTJ+q44|%J2vSP&Ziaim-#SoD-GcIGl;A{&fibfGz4Pf zWcnBbz}GkwgFiXQ^>)+Y@WIu}#UMSzK`wrK(jbKGeIt@D?(zmt(k|4^QN!dM&|~k1 zoAb%UteuDDKbGfdR&M<~PJtEmE--f7DEs91Gtc#HFRaJr^$BNf2-FH-OYcpB-McA{L=Iq_N`slyblTP0~PYW{OcuLkp}na=*l((4`>fC!TkV6if||zROm>;xj+djapJIbWt5Y_93lFsmbGCO^+N99sN7D zg5n~Y6Zz$XsIo0s4F2;WB&Ea~&_;(tRL*UwE(_kLl;|sDnAX0^F2%#@k{e4(KXuKhB zd(DxFvH@sf`MpgRtAyPpy8i00km;K(^i{YU6iYhJ4OpGD<$3e{9v}^0e8&4^)5#Kg z(0wMJ(`84q*=*eeMMDy(2SWbPm$ze-(feYSmcMm?o6v(x#M3~$QCmr-+T&oH9ZJ>x z;A*&{j`&d~okgP&!8s&4oF!LFiN6H*h1LQy*Z#-2QINp19pxC1D{7;qJigDAjGk^X zOLU%#^io6?B-Jr!B|sb{u|b8p(P!|@#ok;pI)Vj3Z? z=X#)rClP!9nW!UYjh_%>@3NK;p{ea^nKm{9a=!{1)K;Gtt3+_LU1%O?JCe8APwIsH0l$q1ktn4c0aJVMz6**)sS_tr z+|AvUepw^q_bwdYR`?#FrmwP$aFO9C^(EZ5B2r@?sD?+7zx+waO++cnw0A8XUJnSG zk1wd`QztVt(2;EVZkzcM?y z&M+q$h6IeZcQ{7XRN{q%xi3<^7_;jW8PvNw-j_metZ0|eb%8!6Hcd-;m@S=Q_g0q-d1@xWTSwcCE$m2(#F-Z@CGl0zezcI^d_IQcHBe%pr9ut?m;NL6T({@4A} zu!28(8jZV+90?Grw2=pzcfAR`rA7B5T9u`5M?(o~i>)!F zdQ!-DprTlf?;3|ZrRtW_f}L_^{qf)8KZt10_fYx3!?+t-ai(5bmn z?*~$eV_Z(ZJR>jjqN`DXs6}f}0QY<;ftH5P!-h>f2EEZVi27 zMBg_Llu&rm$V9`PyA2KYN7<-A_kv7sd6?(}rC0kK^`OFc<`So%A2tt^2m%X=Y|MHg z(HJh9ZJqj1bW)>L=qr4OF`;qe5bWys3Z=s}^ZB`qA=mhb?UI}doMxCW%$$qNffUPw z2IpYyQ3s)sA!~=fIw=NEOi*~g{8}kC3B-Xv*^bWypMw_1yb|%I;cet`Cr7AVs%HG( z*MGw+JUwyTV~?b)P<^gj?JdvW+-V5n_u&q}yDQ}Oeg3>`BkdmOLtlVmFBzNDh>cUi zHczP17rAL~R z@mub4&6JmWL#CuycF>!pd{S}ytT?hd7eO}Oi|lDi{LQyTp_5c5jo%K$uJ^@SC%^@k zUX;lJF^o0EFQGyk6Ejdq$)@ttD+1-yyEK-ujBF_+4IFUWgIuaHOYY$Hnm|#y%Yzi7 zT$^w3yTow*hCxKLZoKMVTZeF}-e)q0E%bvMZq55P-3QB6MP7S#em(z4eGhbYU z+kBT`E0uG0@p`*-kmI*ICG`;j4LhmQ*&}h*TRoy7n=tzpCaJ|%DaSz3ODs{JWOY$h zpKZP0u^`-kfT6@L^|1QJ%1h{(8&}O62hM)qcJ6b1im;WLc4d>=+;wvoQOS*4kB$^d zP}x#4_vul{)5%gdU0Cv06Sl?ku62k2rwnH`(j#W9=N=0mG3jh56RHy`E~*u(W4|M+ zAn`6BVN~QWRyo&cTh$&ur9e)KKXt!69LXZP+hXHOh@~@rpBx25(hM{|kT07d;?^5L z?xn^|)c3kQ-pRDN^5C(X zFno#+I<2=9Ao5%^j z;o1f#d_8*3z6{|)1<^dkdwaw}I@;xB1dLC=k?_yrmQ6{ra>V|9xWhRmOubTS2xozP zEPf-SCDE6YQxlZ?w9RB}GY<`vNH~PK_RCcSYN+qPNDPLh*%=?&kow2R>7XJbvL_eR z>~*HE+(1SvA+uI(W`*jcD^#zrYV^`4{L(B1EyUxjWA{!bWgFdOnEoq+01PhKSWKM{ zRdTcJiYrcx_2<Gp3o>_v1SgzjBiIyd-oYe0q zn{`#vs1AQLokAOt3`q-mn=S`L{wpMuv z#W`zR+0i+FUZD+nq1Pca9U)B_7c~!iKy$)v-}cJYSck&%VwdT5v51m6?o*e|8S3@V z%-F5=kOW&ghv_S*>S}`;&;DNA1F_}%A)E4r)_86aAmYn<_^FC3Mgse&OG^MY_}s1szq(~;?OcJ5L= zuqN}@^AiH%mjOYvzxe}z?ljp+ zF#iwF6E>1h&w=Ml5VZfy9?R&B%rh?ZPB;D8$+BT+&7dc?-p7tMV6$r>a@|TKLvN{F3A9rcLvt>87Ogwo#`+PS-`xt&c`Enehzt+~DXqn(nV9ul zi+*};!71G_TDFfrPWj?{+o6&^Y$jR@P1)*(=pCW^gk(f2idL%HUtN!a?Cr?)dkzF@ z7k-2auQJX-sGU6Nh0j9g*DwhoblMgG$*G!K@djdub?djdV^Ils$Z7QWmhCFWD3uwy z=r^0}$p{du_r;e{&f6L~JmdDg>?dE`kFL7j%{+`%{DrZ4zed72l6Zru+S8t2@(zI` z6rSs}Ti{sBf|~5Q#G)IAgtx~X(&YsJE#c5%{eyQj-V%6v59xxDM0<_NQIxxW26Eo3 zcfIz)&PfY=ZI?XiEmE}RS$8BFgPJG|5rItLQ`$}&s>1CTJWIU#dV0^1OK>o_LqA3J zPcd#O%NdqZ$K<_ZfXm6~Oaspbnh-nn$Zd#qSV4MNJ zuwtnoK%Mkd=DIv?d!j#Gn=8b}34@|Oc2y!`js$CoA4iFQuw4SHM1wz|#(Lg>CAo*Q z!{rle)H06XJY2<=F?JV#kPm{t<6EXEm0JNJTkCvlh)Ov;^`*HN1hFwh$1rjO(C3Ga zXt9)PL|VA(5heF~dcQ+AUGs1{XZ%jqtc3(IAh%Yz4aRCAc&*%F=f)|>FdJyYev5D@=z-8izPp?#|(3Q zzE3L>3Z@)7gZH|e_uM1s*QNoci6!+6F1|%g%h_Rqat^%3Hxb@pCRm9<;NY7(kKK>l zhqn^`9W${tx$`#ts&+XAf?$o@feXu(%wvy^$jXnz@NL68obe*OZ z4|BRt2}&?lWT%rIPS3`|Yz*KzkC#SKBFT7B*P2$f_7bci)`i69M}ReYDMK@iE=3Zx z%D6Lg(#BVgWN&Dl%5moccm6Vt^x91~{Vm-pUazlh6#yPNzK3#!cx?&uagzt~;_LdU zQ{rUOD4=X}V917Tax=g>^3)X>R!gxEQr%aOF9dd7F*jk#usz{8x!)U6Uw3q58 z6>FEAd1J|TWucW+H(|hL`-dnchka=z86jsjZPeG5OFXU7QkCrTb?GUG{*i5ubzRByelH0rcr_5$o(Z(`&%G!bM|BG?4l&+9by5(Sogr+BfhEzm?0ht!wA*qJ7( zXJb0(_Hepe61k$-<$=N6VngQJRTnSw0i}Hzz)?A!u!eslGj{(Vat`OE$cP6|eMHZ{ zj!XXaL?)yfmK3KS(*d?Ncp$;nhk#^>7tIfk=yXy{`IFdQM7Y+IetFIL43@nj^NPfB z%c|AP$I2lOZXu&^s2&8m8#N==o!HE^tk|F3vb@cd>@c5{Q=nuFJ4x+Z65QV#KTNZ% zUSTLfRhmreU>|ubMq}BO5?u_N`Ixgz-AgWNk0Q!LmM##U7f~TJ|88+&&mKx%=}kNH zqAYATKwUPCK5eLg^I1cXJ(|5OJIi0(l()^@20Oa<9L~MQvp2bA(jGBeBj}dm>I?Mu zZ3H8hw$i}Sfo?1$t%K9Zpxud#c%MY zF~0C|W#4ATw_8f7thJUOY5|5nMKEJ4u;S3I6&)P3IKNNFEtBr@ZFKVS= zFRmpN`?htPb$iECF*@V`GaKMWPu>-`mS8`rOX%xauquTAQ@1e^$Y0i~YTvc>ok*0x zJeKP;{((q^L%Rtjz8rq6%{Txw2%YwRi2gNcchkn%Cy91_zT$jPHspQM-d7GK@#a)0 zdZ;!(>|+bCyp?D4sG^fvg*Ncd>aUa51L<@FHbTCMtm8>DxDmHZ@FH19V z{b}bEU8I%I21OR#^jj6(5=+aJ6x@v~h<_dU9|;@U?~}UgzW&H_?=LSBO79J;$S-Qb zGCkwxAV6WFr{-*g8eYFDpMHKL9sz5HrLcy(wMD#<+;?s?ti^V8v&aqeK$03XwD_!7 z9#g_{cIWj^y%Pb%2uZj;t@%OB{nuN#3sW?xQ%4fEQHrz^0N{WMB1-Ac8PKqQPMg-5 z_$6b>mZa8sjj;%Q5bhWV@cxWGz-Os`E^fPJiWX3UvksSL)l3p_UczZV8&ISrom2-( z44VwbcRlEJ?A{e=v&&fmgP>;UJAkmnDrf!*#En_JoywQvETjA!{BU zmBarGK}V`tX?bK%F>XfwYiZbHwqUn_)PD^;KbPJ4R;Hl)mR=D3K5WGkz-)bDpW2n_ zbETz%5+ooqI*>&Nruxk6>a6ngJ5eZVIu~MR167vWEHc$fHJ$ur-@tAHH(Q`s_IQ zKYb^BGyDT^1S&B+4AQhw<{$ciruk#Y|K`VrH-y07mI}EBL=Vf4RzNUY`W^lcvYrY| zJX#}mb+5S~p z_)o6~J_wff3db6JqBLAk7BUV|C^S~`hDvgDun+*l$G+& zVlwEznTJ1&{r@Q@i`C~67&M?!=g6$a|EaRmD<@Pljx#cLCEfh@Vz&ke9&Eo?NV+`Q zFTX*-d+tGu60K{jdF($x*MBi69N%&v{4Fr+*)p`){;%toR@RG*1QZ>7ycrJ}dv1IK za6}WqfGnb&n9l`^BnFce;CQV-a3B_gKkE1&woLaeB$(d=`k)$-&M$kNEDSTMX8E9R zCf{H=*aw3$vw*2FYb?_T=iZ=Np6Y+x8@}{jp*|zzh)+~PMOf2a_^rA}?Vk{Z|>8a6Kbmw6gk>A-uuC1%~euiZTmHqQ1RtoG|7 zk%|%TE=utyL@9*0rB;1vEm zpk`c0gmJ;m5+ct#mL9zYpD1|MsG7s-*Z#cUEfiG+EdT2?bn_zNo4NW#yKYsQu%7=c zp)?BO;1D>cqB33&fPE5B6hLbiRO_(pJW>$5DX{qN<;hA^fIFPB2nO{ROQJUbR>24o ze5!}HbEBy)SEO49la5Mrwg38NZ+yBUr`>sci@2VDsG`y&^nlu$GBjWm3)B%|^M&wQr+|1OMFcR5Y`&;hse4SMn za%~#k{CH zDk~(0SFO>E2f7|z`V1lV?~XtaRC+nJ?crDqip7-=$hCK-oN?W@Fmgam(y#>Tp81uu zaCUfxg`#xX@Ez}B`gcB-;S)F^K&BiojXwC3lC82P`zfypMw=JU*SZc4w$XY zHwkoNT$gXYqu-T*tf{?ps!#4Fl(^*+oKBv|vPr&Q*wc1&b zIvxW4#bKf*t<*5;+&gR!ta%AR23)a=o%tZzFbLh7@<&Lt(q8H$phd5$$h{Syj9>!m zqK(1kiYo?`bFkVP;=-OY(` z#_u*rcr^($bvczF5VSQa!K5gIi(B0%As?|kF4!v<-y=CH!(~xIB+accrXNtq4Tjs> zMURT_eg9%e@A%UvZcrn@Sdy4N$+bAW8Y@@uTtBMRK69AJi!IBmP$AnqQne`5^r${i zwXmwl&%GT{K2_&1L91Ke<*@X^qHvt#&~cp9w6iN$SaqWFRBDcIbE6{v@`qJts%EX~ zd0zSb{Ce%WT*2J(M^_H#ofBR4v|?RV=WChU&!wkHMx=ekvkbMqHz}+NZL-9uGFS){ z*3*5%MkLyT)q0FJQ+{~AppS$q^Z*A1={}E{x85+TjfF3{rIyt~KMhL#1!EgL6}@zI zF!}1uSxEK9Uq6U14lb*56<`>5U9Ku-ZTz^nl+Ii1E@wL?s9Vm_Q`GRB>jMvK zlb(clhJz0mvaB_OnRRuIxfoEe2E+5@nZAO`vxB^hy+COmdm)Up4_AIxbzFlZQ|`HY zrb{9yj{G&KKZpJJr^DEAf(K^T+3)VeX;ekHVqd_-z^oLTk<@9Oj%Gv*{%PI`$kskQ z((owUw1{E1(yhMdtSLk2oO?D=0HvQ;AJSBqC{66=+mntf&d;rn$jtSO;F#gtIB?dM zAI=+}Oi!qCuKFIojT=xLYGl6t+$!shvW|{a9ot@8d9I5gmC?g9MvfWMiB8i|P_&7y z-tsJ4Xb&j&n`xEo6Vl3c!X!CNKh?OYt6D|1etGSgBsTD4LMx_$69W(30MrZSP%0%L zIssZL7SOu-TEzJy|5|q1(`dNbG*a0&4iz>numxLqT7zNy(r>X?S-sCQGT?;FzB9yj zowZMJ{qwMANMm~Cy&N$pO3M%GBk_WvK;lbhxW|BZd@lybQ{7Fe?BRZZyl_8ZBO8kL zQ+3EaS8!F*8R7?E4Wt}g0e|Mbu_>N-bv!2v(iG9*k7?=LJ&|?wz9(%r(9Y(chUhKb z!I>7hzStk!xQP_UNxdK)EijVL9kA5~3S5*B3mxScty-#3m70*Ke2j&g%J%{vy2 zHAdAvx5l*Bnj2j)%8JboQ{8^o0uT_XH`GlM)#X^$*LBv6Ql6g9xe&Hk>|5U~rCfDo z6YE@y5*;|G?mj0r0_OoUoAY=^_?{r!K6iXnWXa|;#SQXjXEjsG#zXxUWUC-IS92`! zXe5Vkdxm-Xo873&(!V=aI)$MoUI5yfK5a)M1)gh7nnB z4|O!g3c7WANjt-R_d5i$ug}#;YwvKl3exb8`W1u<;qnWZBm2JnJVj;HmC_XyFaIqllokm;_&J5$W zju738c_xAL9ID&6*RlsfMQu|` zajLxa&X<%8Q6NQpUuUkUVzOAaKD=-rtKiL4RE)ne<{cd*tRn@Vx{z{x zKblwemPLSzsEZhHDz;if`h2rOVRNIrFxg{BgoFR8&~<7(__$_S1RTpeLHunPE)RP> zaq!`6olyzbm3~ps!n5e?k!yEVor+KfZ+HcZoH-!7qwKqhll{FLitT=tK4)+-Zy8vf z6>n8n$@V_h-#Zyr)x?O%-rG@kzBTdj>8PxLTy%5OEe7&B>Pr2erF-sjUZL2cKB(kN zO$fTTbZK|$$cZV{tcPzTtv!UlUR;>$k_KfgN&eC;B!V&@d#Eu{G>p>i^_UOHby{+w%KKeY3ddqQBMzMr9}?Uq^TEwU=2s3~a*n}=O$5=c_-7k*$! za8+kZCIm$>p5J=oOw_|@KS_^I<&!c8*1Az8lplKGAkW~&qBt0`A?Pa2~psrnSlQRxz8sGync{-?PYVwbOMb!^?>!qy>; zd4G5f@5fRhaH<3~NpE`ZLq%z*5J5ZLmC222b6(8uCrB+tuTZBb+aV+;bPrE_c@A0K zh}!zAz+D>*f}s1CpUsM9GrNe`{m6G&basPFb&j!hy}?Q&RVjzZOsL*Df8$D5Mlu*A zgBhGysPk_|$PbsgUdcw*9Y^w6NlqQEW|LA5H8YG34_L9|a7K&B z9C1On(Hbw~8&@i;Pj=~Ay6Ll-U6vIbH{n97Br29``{<)Yf{^M`#RRX)VYylO1h`vq zg3L!gdPpz9%a`PTYOa+xYj$Tj*}evjcD$BQtEe&ly=aN37h(7fEB3~BJ_8R|J6<)* z!$2k~9C6G29pnZDaR9yvsLQQjbJM_;Rk=+SvxMT^QjD&s^G3(u1&Da%#Jbudgyla6 zHhvmW$L~(jqem%bfWSghm!Ukpj2`gl!|?^Y*32$kD-~Q=_PKcz= z?;dkk%31%q^KO`94ece>tRHsK4uY@jsX_sazYe2VYW(r3mRU^i=7J*iLEFMiWa9w> zIcoAE0ha6{=;(bv_I*|kksB)wgf5o(km`DuO69dNvu4M*S>f$G5w^FQHXth_vs9mJ zlgW@t8KOE0y%zsXu8v^(5oC6IZ#F-}=y_JV>#3k#4Vz3^~;P4t>@Iy z`=pwP3ffPz{-Ar|* z1Q*%|y$t=}%WefK2+2zn^&_S}YfpKQfG%wG?D62)+X#&h4%1JXGM*O@GB4+!U1o`0 zGFfDXy5-)5;;RDJ%H?*#1vpJOP~S@JD(qNjY2!1J-{F0zI@4uecCH;=ahp#|2Y<3A zUXL-CTkT*loPHT~lX~T>OXujz@IESgL+qn8aAWjf=zUwd)p%$|^VzE>_+y-wTxv7l z9nl$BcJvLBIoSyH8ys$P*shj$OYX-81nLnvgDIZ2o3?G@bSbJOUH1^E|5@7wJgFo? zTwQ{wlkCHi`{tQ$G;gPAOqP~Iy48#4)d!oM+xD(Qn(Xx>7wO~=$?VrcO6}M3BY8W+ zjTS>^SjUF3OLA+R1(pu=vp7axT-`oA9;mRL_VD1#;oDn0{F0ws{vtXqrq4z7qvhd; z2_mC6U8Jj>r~AB*KJJw(ICq|Zf?95VUAK0(M)C2iCNT6og_X(9tRGn}IZVu$iDbr4 zp`0Z??hjMgQcNC2$3TpHE9)Ik-K%)O(vl6&Oc@Nia4;&H5M9~J4r~|)NS>^O(h6J| z4IpCgBEIogX)ilECb*$z`+J5WM0>TjaAZ?2zW-pF0EdvMneh{! zU@8bbry8E7cPz!+&D@z$Mq<^nsTMACzG{ZP7S@jr1L;(k38YSrUqhWrsYq24{o+_L zY@UyQExKCXT(hf2k@83283rISK5476sTRkk(>GtrC>(s0QUL(7JpGo2fz-MksUXNi zta4w{C!S+)l@a-cd?lwQa)|H)y&R`k-Gfmh&hOZ=szHeom3MRl2CD4?c|UyvkdH3t z&Ag=e-M#d7maxU?^aMNZglm3<>1pB`WlNpydD=E>*EyQ9Zj>^6^@t0twt#2UgsFNo zUwQFHMz_wuq6Ng^tfs(5JKXSHNw7sNWsHM+Ul(iETfx11#rfK`&f|>X77-lf(J{sK z%%17_PY5T}o-bKcuW6z2a|87HOj6Lt9=vdpl5oy#%iA1X7q|Xw-(CE{w*SKN> zC02BsCk#mo7p)44y#d30P2en5@KU3}LT^_p|NZ^DP>3?xpn z!ozeoJ2R0N))l-81@IbDt7+EG3gXL|1G3#Cwqq;x{B5w4rdoW9c5Cj$DpmvgomJ_N z2WhL$jn_Zm!rPwKARqRKF&U86qJz~rRX{aYCmN_z7JAv_gWzP{;w4S<44Ko<1*)1IZK5XHvaoHy{SFqTWW8h+R%D;l2K zL@iECYHJw=U}Mc3Y?%{pKd(`Ev+qp)nkEVF%Nccqi7>;7<$s2bac1FP9$Yc#KT zk?P^4iFvc=0)h(NmRMBETf;k~wQd^7+>6HGRY2H-^vvXc2G{}9qm>4w7TQaciLK`| zMMoo>(u4axWOxuk>uUw^H#o$N+a0vwtnjWJ<=Rk*0ey&h{I}Z#vA!rp%6R28l>xU# zu6Pb{yF?rFxis*y{jkLb3F8P(;KDXI))=#?54K_#d;N6{9D2G^8N$6@CJYrD7h^Q z%{-=EQ{D-*g;&3~+0#M9hmt}Mq}gG!KKE84?f3A91n)Z1wU)!v)l5k{&n92>m)2xw zjnM6q!i$MVB{*SZCD=aENG>?bfySb-!68HWYWxA+g&T*j7AqhJ&xs4ei6TQm>|+wClk1!( zqKS{y0vaVUTD=vJI?MwU!vtSq$Sxp+9$j%kGzotZt_9lHhUeTxqI~ApMRlvi_ z{~p4o0OS{oX5rYo@B}j-YCim^>a|xhwq0zh@q^_UtV6sKtzkf?$#N=nR~!@?-cfIV z2Ixy0-@=X`^goRbkwjw5P!io?V#$8?q*N>=5mwfxYNbegEitUA>QPJL@ci}7PZw32 zWG~Nbtgflm4>X>i-g>`GPTv=o3jz|(;rNT0z@E6h(>Dg-!5_vF0QR7I?3NSh@$Qg! zyH>!2#~Xg&{7hpUdZaawLWJ8GdI&JD+Gi=R=NUO|DHfXH;@C;;g%Ya7b};f7x8nr@ z^wtxAHOB?J4n!tBCvR+!toE=R6kr)r&K43mZW-Im_Sp{Rv)jJ8 z7QU8`Rd1_K?74KEFF1OHJ-6uUdR0Mrx_7BMA-EZS;Ox40P!KML7`}T#)jami7xGn6 z*ZPK^rn#uOCp_hoXa4Dq{8Vxo|${dYlT&YDg#h_3MEgP1z?xXg|2~kdC@3?yNX- z_!J{c5}}3c+$A`*^*9wQNas&N`6>FN`Z~yc5U>+u?@+ohXes3E^8)xh5BJKK*X_@h zmuqJE-Qb-fibeS|jrb1C7a%l6VgQ-e&~7HgMiaj>ft9@g9B>AvwYJ_7+4btVyuynr z1{!OQ#L{yTOD)FbeQcD#A97Y=VBt0wh;UM;S3vxZT3yNT(ZfX!?g$p}V@;Da;y(+8V5>r-q>1MgK$my2^ z-lIqAyF$7j_JmK8%ZkqvEQH7d~T*CP~i5YtLJZR}S0+KVK0JA}k=&ZqfE4{U5&G0xIh5dmn~z zKsu!)1q2k3?iv&j6cCh@7Laaf=}t-MMgi#%q-5xn?v|DY2@%lujL6md{oVh&)-2Y@ zl9}^4XP=$VezyH*f>luJlmB?yz1j$xCLbdjbY;sqNOco;tRBzOobnDGa&>#FGbfiL z@^(`WTL_x$Hq__BcpV87boNWRS>X@LdDuBQ2E}k;+BwP9Q4Zs)DCO?`(a#FLfn2_@ zYRP2Z9q99g>(pGEA1V<+^gCbL1z#=sq2xS~ompH!K zcCyUz0(Z&<(K*x+B%bmzg4?cO=33hGhwRefPE;R~9#0aIt~iU=X@wFw>EGxL27m`8 zLin2a8U_|gG#4vFlvVC}w&f*7QF<_3Q|8;h|@%dPyO zRC)X1nK85a`nTO1J25#!AL~NZsNWpePZ78=v0YULc?HV`p^+(Y{L}I#hr>p1nwQWhj)esgXXd)^x$zB0XftA3247zS@FcuLpSQ&kLK*8R z#i`Mn5vlrr07Z1aqvLTcAzVygM(0?R1%fxukLNt{wwfn*fy*};jS+wZlK8qn!Ugk=z1GWux3@DrzFq8lhAkrlNCsXmiC<5I& zbUf=M05nj8&S(Svst`cdWmcCrn@?UU}0VteC0{}SL4tBsr(`SB;FE&-{9@SxD8TsUy9}~ zNr~tlc`DX$u!>1dweQ$2&Uh4`LQj-xZFbLg&*l?9|7`ww|75n&su)+BnjiOjy{H1} zU{SK`@pslgD@}s6Os48C11E%RYjjfZ@(KPvKK3xEf8nj_Iqsv@cfWt1C5uEZNy@@7 zbC0a;Sq$!Li~oPXf(n4D1j`T+0?dnvI@@!zfUUUyI=@^=UGc)k@T97 z*Y!@Ha#jeLnAJP|a{&bL`>#4N3NAMEEeic;FL{D1{4r(i!@qD(S#qETOPDnyq4DR> z{(7wEp78j-5;enE*DF(fNCNo?d;vQnI=|D~6TNl?aV$&*)t(St;!h!5|Fq=%KW<6x zBS7T^P~<6`@)GPJ-&^DF{a+yhsME)g@)kxvI(MTlCniC&TvHn}X6(n`i>?^>lRhoumuocMcCaA}1DT!hNCws^lIqabLn zxy!>SU|WdhUrf=COi9e4sA2#r5ORA;e!Zxm{^-mbx6Jx;X2sG5pyiNF8$|_v!-e3) z6GP@eYuMX2skuu4cJMIk1_FdwVc;4q9=R;MB`l6$Gs;`H?6V#C_%W_ITyMbf3hTwy zpl26C!>gseAa|qGDku4U&fCzMu#QdbCZ}w;+FpFSFayugN6DwfoN7uI8>0_Hi8L(i zf1XCoXyA$!eOSQ2CZ3tE{;#_#;n|4!k{$5yHAUb3eM{TXmbmCLHvqG=*j3IA+AceU z?|HG9wp33pmbM>wlNY}s#RXN9rD)B&dhZdipth{#N(4zJLNJgZGt+22v1FuIU?%^m zEz{W$6&FG!jGC}NJaM{5_%yGf+X)fEsglZ%?2hH@YXU$If$P(9PL-!$-l~)$E<|DN zA0%MgYk13eUJ63JJq<7g=`z*}EW?W4c-u75VGx0BrAmf#=(DBvj>ISGX8s0e{^1HmtgnsqUol)hTe$3-*1Tj-@Ooo;TB9%7!K??kO6 zP>xrs^#>jVtbh{4PS{_P^qQwPfYSctJ3-HqH1psKX?8=WBWnwGj@CIFwMN#u$e>!I zNR9(PK;HV`<*yB1fHrj~@XD9ehYvhcSPtdClQiZJ+orl5^}>#j=!@oGb``LK>4n1i zBSA+oGs7p$g7yIJ&HMX@u2s`!p&!PiZ5j;Xbt&&jewSrPGyeI_CV450w)&F z3=Pz2WF%uL(f-Ha^jJcwU31q=`1lkfd;fG+$45g~*04ep2s2n~Tsb#y`3I9*HR#w3 zE_Yue(X37XaJ2I^kords9cTq=C4jiLkfD+j*BOVud^nW z@*uRGmkk5#3`4Z1EFNwvuJF5=O$y)))bT4~z$lU4GEyahtot3rVYJB4Ep@Rv-*o9l z?Ku8rzI0!p`IathyKbu{mm7=Qv`BUnRk7+(NqFq{)dnvdhpguG-BJamLcM5@Ykle; z=;fx+vLrot;x&HBa9boSQJsTB5#aY4*!^4isl=yPev7>xM7iiKxK_bUy3=$o`^^(C zmGeVFC-`8}^V8SyT9MPDa=iuMZl+SR&e@)Gcl^*t%Gk{OP&mG?_%QfXPDRvXkl`+Q zvLT1`;Om>p4TH7he(Sb4 zW)?kLTz=dWtalihKry`65-|N(_{B+QJaKeGkj=#h!KZ0GuQG)anfSN1EGc0Yko;pl z?Ly#DHy=JNr?RXud84vw)sUjvzHK|A>_~#R|4*9UkEQDDnlM%;G0oh2pS9$0sR`)W z?V#}!o+WUiVO96?9@sSO&0V3F977A)-EpkiwF6txZNaYOpIJh1;M2dJj+lVP9K``h zaE))G-_`Luzv|^MBS>%hhqyk#@`izh-r*Kf5q=|+5W+R#SeV`xKi3jbIz@(Pp6>aMggi?N3t9M#dpnrW!+D31?fA@$A=r(VDe589 zbF~Am&IORYH?aXd4A+D=L;)b6FW=^3E2UzPw9~CI{eZtHfgAM~cJGgMKt*SXZ>%xO zHGR%IA8*o`-MFx>v4Yz}IqaJHB)eDq5K;lc;e;u zX+@BaEP&z+tBQuj`=5QY32+%jEsLK$vVHIp92!Vj2muU*NI_FA6m@vs{~`AZk=$@g z3#r^R!5p7yXi!k5)B=H6*!5PFG16&k5`}9@Sl*rm7`FrY3z|9EbwnKbKW!zxTi;$c zbaC$OOMF+;U48r`|7y-oo?SQ=DLc(bUbz^01QPl+5oBLq@0ccAxf{p?G{^)Ua**pa z9n3NnuT7HDiHym&^s7cVE%e9s5}^b)(@`;(D*Ep=OWu6vvnA~b{r#fJK~oYe?_7#} z5>l8J>hC*P&M=STx;^+{$>`42fWFaSS@oyXE?uMf`ftk~9s-W!7KIdH=Q8v0k{fSX zwD`cF(Raz9{>W)EnEfIzn+mZErl*h+MH&y3Y$a9_$%j6ej9_tI!u07<{z^HicSQ1f zea>b6`Tk#TYy)5^(J!Wa18fVf<|Y3Wew=MTG;XhT5|!4g#HkuceXozz=;X-*x{lzHsel@j=@w4YvWPn`4k>GmjP?&a68I>4v04+33AiwgB>+c&Za zoRaBu_{ghObM8WsZ#gW0|G|QoSKKK;@T8F(EH0ByK}F@cts2cM6g#zRGmER*YP+0woSY?%g&eiYT=v5VS06&?VSl|M1d;XAt%u>KH;4p=f}&nH9jjqG)-mso z4vuryH(Qem70^&zYl7LY56cua{BSt|3^m3|^`M4f3ubw{yleFrwbh1!X>6z`KaLxy zhqjaLdLt9KjJitnnwJ1mB%eKCwa-C>-TR=^We|%e9dn+7z3zV&W5u-i^Gn#u_s0OHJNp=YU?)IMSGH8Wk(WtVFWlVKyA~gXc zIgOpaeGZVL9DQXknb3iSW&}`0A(&Jr zi{HI_5H7gR#3jGlo3eGoNe)7qaDfVHw7Cu zUVPabN@H6#9o|c_BCT|1!~Ye%4spl{S{RV3l+$Q)fL0{@86d_YsGkiL+7cHPI8#UYZ06` zD93YcGRfQ_3)I4uK?@wikR!lT$Ne}z?VfyZ78chk_VeV?35d^o-kt*@H$%s-^`p*B z9s6fr`^f8;mrD~qN0uCc;(O9SDVX&^zW50!Us-KjQd(VK&kQ*6NJugT-`q>PVLTt+ zT`aGUmNPYE&3-dGV7g{>UUNK{a(}I0vAj=|3l-O5tjzFXeQ0WIMkCvn1)Z^H;-Jfo1wz;>^Q=b;JA3cnzy~8 zW|K?gjs!`fhYa$`xu2XFfVQFq+6rC@S#=qb#Ai)?c+<-q53Yd*XaPKya6P{H*hsb} zQGKHex(lI?AcqdCEjspwsXuoo{&sh$NK44>U|pHPMM>o?v6z|>j>x+w?Tr)X4Dp~f z>{7u31xMqEHjZ9ugH6}^&?rRMp{C;?EogI9g3Gq5@qBG3kfMrtJwhE%n0Z!hVMg0N zyUg~m2r*bX%nPYTUhoUOm(i7_H*v`=Wa=@%?C6xa9GaSp79?;W!Qtt)pkUI8&X}xg zN$qiF<7IS@(>p?j{V`1);a&dE3XN}n0zme&I@t;=4-dL*BB)-$>pNPeMKfYgD~xY| z`g}^ljwkY!9*Wb$4Wq=yuZ_gM=}jN6w$*|*4!Mq7g#kAf0A_e#DxT}E_-7%~Iu3X6 z{r5NESExAfmMYQ_CWspOums*kCvA*O!Vd%r=7Kga7Yqt$($D)+DYJILZFvo_{c`iK zWiD(Kun+&dI&2`36lpsCIalv_vx-gXWVA2@T3k!sg7wTV8owTU*}(~G9KkrD9(St``Lqs*|ohaF&#Jh85G z=Qc*L(+C6jHbcP>fOylIk{b8-XCVpPs$_l)1xhwJc%$WHS#0D=>-yZ_fCR#(`D(eE1y2um7bbN->I@`v1~R2cd+TE?tQP| z4?hQPO&i)7(nmN$*dJ>;efDdke39mM#37Tliy2TQG9P{d;97S9@1jRbom<3-x()Qt z9{jTz(&3&{@ZCbf-cDjt#x_bi&NhyxN>)Y1)%~5Ag;LlSuAN_L%{1NK-=Q?}buF`# z9T&Jh|2f@zXL*8C?d6Y?)#u|!TT>gm97aN=6_sHoc-B{n{b{_AR{^{}N>$rgQkTDU z0(xjR^j6Nt^fb(<_VH=~6^nyb|Ka{}w;az(VDrQIguCF3nB*a*o7^&08+hyy2$|>f z0*wm&q|7yrJC=2~c6m{tR`&B2C@pcx?0Vj3J3oI|b?GZ2|4}8sbqWj>oyJ2l5(DB} zgH3$wMq~R@ClX)8QJkz_W~q}pn8L=&?WCB($B(s2FqNp74N%h+b38AD;6kvk`h8T@ zaeH4J41SK#r)^IRJ@vHO7`}b5tlNO?q2Vfcyo9HXA;7!xDamO65f+s&Fwur`a$z)# zk~I=zv76KOTm+q!_#e9;K7DVxtlYy14hq8P=|O!k7l`&FvQ+C1#>*{DDs+QTcrX#O zZ00R2Yk*$~xz23;N-Y$ObF14cf>~nvhA#Z{757K%KnOI#@!3*GaD1N0{$_kr1Ycm* zRITGq{A^;3(Ax;Uzukc_Dfq_BXn7i*^U8hNQz3s0BF#Blb91uw*Y3==`O%9L4__V0 z9foEPjwc7uSb3`!Re%vYlTPF`j*zCi6V-&9d-c3?e3sM3d@|pzXT$(U#e84Q$^Pyg z^w>LEHEV`ltAI#xbaxzZLo5LdeyD%qgPc-G^yYA0G{6Wbl;AGhbl0X7aXDbW@h*|q z;x@>UQ`gs&g+is%rP1M{89#CEbTfEW;Kg&BM9Ju)7zR+gJ6%Z$ z2&6s%US0B=I|TAcb&^jb`K{lka5BVYT3_TEx>F?vyA zbZz_9p(C<5vSmi}bCuY{NAB_d0)rnLz*JI0;DfkqxE_5cCnod1*CJlDPIZYXVyl8}yUqypkBl-A^A!oJP{G5!fYBJmB69Te* zXMcO=4WVJ@b!NOD9n2GzuA*qj_JHjp;hA~Kqf}vm$!yhP?M#6iph7EhvRU3I%d`qO zO{VLtNiEiF21@nYbLFcBAf5T8d?l7Mg4Lj@3aU+Y`;q8L_QX>Ac@SeN(-l;#{&z9G zYFC9xXxJ-Qv}%Sm8;&N;IBgar?82y>6q%Gy09?Uf^r{GGF3Iy8BU0780jegU)1ao9 z=^7R(T`+=+-dtJ0tuwVd%Ue{wdr2y@C|xn_d-!{bCAr z1j>5s^ixeMOw$TmVk(28__yg1UOp6kevb9LX<_+LH@~!5;^uWKjIH?ur$;!B$EC;QPC-1_yObc|gF`78kA~i1CybsV(97?C z4tnlhA8w3wgAOJu0=?#`c`zwYvPbwyy|^|S{j|Rxs?>G*R_zMo$ayOZdYb#WZ*3Oa zI^QYhF9H7pTZH1St`2a&Z2{geu|yTncs^1Z%T>&R>J@F*A8Y6324ZuC@aWif-t_KQ zW|v1yt{!ag@X$Ylp|ScNdsktJux0W)i$f&ufu$(ynuVRlqjx0pR7f*|)8=Q2`__@>G+WX~hdjv9Ds6jR-`|RYaoRjgep3XcV%>6jATQy}S*1)xI z2am`^FRq`|V>KHqA}VQgq$1Vv$0mO+OvC=D2L(%^7&U~ZzQ$5yN}slx@8dmqx8X#Y z;Yuwu%A{Er*$0~K{B^~F#17j>{!#k|ia#N#)vWue#gp*WfhsGVX!<&FMq-4^B8+?{ zlyzf+HnAsjUiA}76wDtzw;Pmsow0N5Evux9D_Q6+#q%HSW-I}T4dZv9!_itG#i5md z`SuQLRd=SkDiluh zUV|VRUaLNBR-sdEYdG!T_Wd9dm?+Izw_`1RnD~cVJi%}~DuH1ZhJ%Q6x8g&6bU=8@u;iQ;Ze(31ShBsN|Su}aj zv!!&aW*oRMcAxvFttItLjuumPBf@l=Dd_G_w12>0sYUTsR!rB*=6iWKQ)c(Noq+TF zXMcntz1orGdi0N1DDKscbmf?NV-v@J(a9O6&g=Q!U-bUDETtHcmfrVgi|%Xv8G1Ds zckg{hBcPvgV4TGq&5gY|GclYg4m>Ei15CRpZTPJ zRF6#gz93oc-0Ku7;={$HY6DAYQ~4`ipi$|usi`Sc3Xhbkq#=+bUHj#pWEN%W?VL1s zm+MlQ7(g37qw(zEG0h3gUCtyW?&XPsF`(1%-h@h_xA?qZ3`!In=@hJd;&QN-5homd z8HxRNpTIw1y?EA{;xY;PCF5DkI42DmJo{5)Ndh+nIk`jt6ce?rDV{VbiW*vS?8UCy z(f65n39B096=qrymWl>h2NDSJYo?!hj)SQq4|GH}+Pp`{V*4w;pUqN(OjV5#4*DAi zM;XDZCiCUF{-3k_eW+e6giL+=P6F%{SZF0=F@nUw4Dy<}i$}97^s}?{9*IwH@x1@? zo`GiINIAR|qR(wZ`zTg$oAUYD0Z#N4B}_XEG;|)j71?N63YjW1GqX2#tG$Eys%+6| zne3{clq12p1S6SW zh;v*?$3}>*4SI#e6t6Wzy7K9xc^Qu<7<`V$@8G^1mU!z% z6-l)5@QuTLeoi?`I?2`7_O`}x7Ph0Fh4RmKCri?1o*}s&|_(Q8>u;@LJB_$|V^L=PDv{I&Y2G zO%dzz!Xg~6w9w!#mbAB5eo>K_c+dj%q*|)(CqF#Zp1EY8_$`p|LF>g6aee+;|9-8HrC5M>&!W3Y9K8e;*sCgMbK_I zz4w#vu^7&sna+ldjg#oVqg@TCd6s0*;<t6vVBEyVa9Dgq{NnU6aJLTsI~8~N-h>8;?usyV%U(9SKT10suTi8$0N4lg2OZdy zw;3{ydfQC1VU%@uetCT`NUIzYFNQ>(*XJgik68$H;SFnWKZjlgvi2)E`S;KLSkLR% zl5^$dIW4vP?DWX!D!8|uji^aELy_q$ukv2p941sqhmKb>Da)FkBG#*9GlXaKe_qnT zFgJtX?3!z~`ue(P`q@kdOq%4sqA1u?G>|;SaZ;Dit%g0u#6Vxd@B$$;>#)+Dnzc-Y z^YNhnSlFLMrrV&A_618zbai#bH)q;ViGL2O0e)k7Zfgih(pQkhGwB7F>~>wNt>oX4 z%f)-YN1jx~em_I2@BUh{S27Kf4@w;~9`KH{`EU&#}kHXE{a6mt}Etgoe>tnHq5vle^Sf>!+OHMsJBwA)|rvm=pc zVU22f!Ys7m`6vY>*9fHj;7xv*a*jNnU(UU*QpE>9J-UfZFfIeP@}XSb1YdG-Hmq05Khu_GE@<3N&qH$%bv3fk_ntDa9 zD2t)8vb_>Y+nYa2fn^Z}a(~C-zdR!*42ZM_vJeUu2|mNjonWJ0$taMS~2RbF2H)0(=A=B#@d&%f7Mvo}wz?G`Yl1xLI$FFvN0Jxlh-Ip=|SNFJ^@4 zRL{&=>g!BdAX2WEHw3)FMxzOkWO#*orR-A3gQJmzS-2-5loTOfx!}scA}yhNIgy_v zJeAT9OUgUU)z%`}-ZHz+8H3mN_b2^%AK?Z;Lr2k*&fP3u4MhAJFVVBU6X#~0Wkvo+ zCzpy8d0}l=i=1=sNyb5`!<%+(@%>?R#xJYnQ*fg#Ydd#S{|I()C{i8s?+Xe(iHy;+ zf~Z3W*#?V5wkE}9f#TPqAJeBNty%Ku@hvJpstY?aXt%F=q~uZOAgFV!-u`vtm2Jg< z!`jZ+XkpUvkBb-{V+iSlWiWQ=?tO{b(Aj#|jY0vsViY@#7Mjo4{~?^$pk8HVoYBn? zXBJwASubxjN)mCzE}}eu*AEmW?ef=d5J;vAdVjCosCY!XXsS_#)5Df~C-Q`GP-klV zyTS?&wIf-y<<#)AV!e`ngNbNHt51QAcca}lIxvY@(i`vU?f%N!BK9hR5)wN>#*lX3 zMmtbW+F?aeE|-=3;>v&|n-I0FM7b3SHEK~jVw3g*JYBgcx$Y;7`M>OcH| z)WHR*%%Gjs@wnMLSs{W=;(U}YpoI|14gzHQ8UJ}%+z=M=RrX)&41tz#P+NT!jdec# zQq^8jyj5B;Z6UnN{3yG4?&apkx>-r28}aiKNM7weQya+3SFRStAzv|lQ)cUUvg2X4 zoM2R$&VNIk>6Vi*%)A)8xYr?`2?Qs!Eg(;GxuOnXWFFz%NXW5}!>n;aFT@{1I?oQD zM`_diT79uqQyO9&Fo>i)5*4v^0lZrD&>`~5=lu(3Zr=w++ZOD^TpC7fsV`mku~o&2 z95v!eQ@5^Ooc))_KcyrxlQ+*uI)XCv-qwBBr=Se^oKc5X3Q{DO7lHFW+#+}UWAk33 zwLcds<}D7R>HNJW(p$-{qzn&Ir1+aX72kT?8MOY~kH~<67ZV}}>IOw;H8nGPA8vG^ zIw@$=lQzb4`&L$5-nL^u4M|f3^C|rVS3S7B&{kkF6+M72k-gp4w7QEA(gy#DCgTeh-d=i$X(0 zL^POnA6K&tt&Zh+uk5Vd5DxAej77hoL5IIQdzcg&cX!}uo#MMT3@0UXzWYHe8XC99 z8fG*_&nw-V`372Fej(+xOqq~P)fkp25`2;M!m7U6Nh4`iQwXY@#NZRhEqOyD$&+dRa_W3Ut$MpzDl8O)5uX2gIpp# zC&d&H)od>$ceX>vp%anAO8*=^igy=xPMQ$8_>+B%bL=Vhm$A`e3KuZ6bVYTWr&3j; z*x}2aujG6aCpoU#ewoEJHIsI?I#)_}m6|Smgo``tC3Q2s4FlS%sNY(vBe4|6RuzL{ z*0pY@!XIlK*W>lEpQCvI#R_|^jTDcv{71N$3=IXcuSX)ERVw;dXz}j5cefYGaI*ZU zfIC4*;qr>Bu6=;mZ9WW{a$~F*mk<32C@bkiq|ktMC48@q=%;K^qb)cWT0os{z6yCK z6{b*|E?7lX{|MoRC^wvLzG=?ynd#dQop5(J<!5u?5M zd&Ex#QmC$UKfA)v>$vWn9PYSD?(EwdwQnSfUY7f53cbjpm~EYiw$kNlp)vV-mDMx9pg1gpIWb}5kK{dJjGlsMUl(yb;yz)maI5T% zW{~5Yt8zKsW(8q<5YC1wl?5D=fC&l0@TD?kI1_2K<>qgv1V)1_bP%n2Z_4_!avvv$ z6?vnv7aOF~d{Sw(F0!RKiI-6OPrwKh#b>7??DgHaCm!2zm+@@q{gb55O76EXzalYN z69z|$dhsL6a;*o+;*o*m+r;up5p^-Qp1h66UfG_hb@iA3)GfI@kR2&Y-WJ@OB9ugN z4Q(~M4TDGNTYX8G3n_PrSTOrze(P6903pVKdWC+q_ce{cH_)bI=nu-y8=0t>4f{$f zt$h}^561Zjp}Gd{0xt?e@&9((!CiLI4> zitGH%LNOpd`K8gpPclY48>x<^$UPKaY9x=o#@fs_899gZisxk}8bKVo@W99-{U;Vd z17RHODm6d+u^QHQMM@)I5*$RVU2*|5p)+>KFs9J=i5zP>Np6w_Bk}Ubv1%|#$JYZt zI>GvpHY%prGP`W<07MGsK(d2r&0BtLRDs7`aKAJ;ZR+JqQ$Hc2v+&Q3_-%KiU({O1 zb;bU6U19e?P-NUeFDoM_CwG8N&&a5y#A{W=$1Q<*S6fNtHGk(ecZPm#E-@+VAKwK$ z)E7piEU&LR!?n)_n=qowY0v3K%p~MPWH6IDI_D;6-#jnxy5-0)zo~90yV9G&tn+fu zPo_**7w+lXjy}cq8F`$Y8~J5}Pb4yWWn{=*5$5#%zWgRLb_+~g%zA%$CoA1hhb;#; z#=Z5l5W}@c;JL6S8ve7vUv9!41sv>W^In=;FA6$^RQ<1= zgD-R|JV{zrjOL7+lHaZf&i0c~(C?q`1a6LHd|cj)rS1DfQvJ2wNrXd+P{6X7_3;Yn ztp{A@1#okKkWo4TDfMN*{18U3UxKzCK>rC)9W`VMTwN$mWF3^52jS*xQ1DKuBV^}= zYd|uk0u0*jQg6oIz53$DwPC=;bq5s8)U~g(e5;mQ`BHA7PXOOZ{_$g=Ig=v|+WvQ@ z=^rP7#*2am=^hF+hf*G6GeJjcsr#@ovPDBk@0?oHA}*te$=V%m?R7;elv@6pdab(I z^;8bjHo*e3LN14MKy7DG&ob{v85oo}(A5M3_S10WTHnp4>y5ddhxw(Dq*T37 zq6c!P?*;QJmN+Kr5-J<-ZawL7;9nF|2qy~9qu2p%kKTc&kEr(O@pZV`Nk!nQN! zUB2WGwh-n&&v)q!A%5eCoj&g70BQWcoJ&2xA3|Q)BD~Deq-)RB<3xDk(GvIK|6A4=ULX z#x+EP*b0^5n2v{AMan5{r2BY>KNUrP{=yv(05y?I4FUb0no{8uw-CezVMeHv4S=7l z?Q{_lj064J0kZ4MVA`dMGRJBFm5Ve;+cE@D*ai+%0q{aMm>R^!tWpqYqKd_*tEsF^ zq+cLCR-^YpAq%AquBJzy&}Tw=uI;veZYKnA8Ug^(1x?!`d?c(W6?XmR`S-(UzzEfB zR?WhU1nJPqa0m{3dIv*SOA~VGv%_%kV6#C{QNi&E#=mQHlovHRrzb(xtj{8L{r~uP zQ4D~02n%&8g}Pi-64ESw{wz@XXZT(KEC~~bxZ178V`?HlIqY4EKI5X67v3AdrZ5+} zP=7qDA!xr&5B&Csn-5=ih#XJTfvmSJK#1JG+Lly%`$Of<`{@nys;?V4ZIC6Q63K3( zzEsvev7dDX+Vz6pU;ijjFaMQeaW*?kG%MoxDph8LCM*ds306P0MF3}e)@{&>$Uw$t znXF4lkyH%~eGH)TQUJ3H(HGzE^>Fn`Oc6Ju@XwzjAMuTp-xZ;MtlqG$kR=J~(uP}; z?=zGbP6e=e0`KR%{4otUT0CMAN`7f|mj-griOSCnmC8viMjv``OyZBpn1laARpKwt z^8jz$teA5(tTZ@YUv+xm!Q~65atv-+3ng$wpQ2; zRNMA7_OZNX);Lprg=hkIO1`)OU?J(1W-yt@Xb5`4 zs>C0ZJx86CWK#r{=f%C~2P4S1p2u^!!`W>Blz~jY6@hO8Gcpp-Kv99$AG^W>G(Q_G zNHC(R;-k-YNPS=+W#PQpAI5R8wPVmOvtpN6VA*hVa#r2C!{z?!254Lir~?VqeIUh& zeLumFgVid7*Q)}^<4o4@eie*-l*^1z@UP^@%{3+lVom1Dz4;Xhd_boW9{SFD=#SZ8 zEg$5hnybB3vpeKt8|udqO=LdUjO4ld;I>mF%I7E=cGO>mI=-Vv}pEwegEJ&`;lZ0Qo53LeNRyP$NGwPC~>aqkH zl_>aJ3B_ZVY9X8|LDmmAI$k#-m(`Uhos;-#+V@wqNrUVG8NX$!qRlvGc{IoMeeGc+ za>|+gIL`>rAu3*N&&M{kA9NF}_cbU#-bX}8pquBRl(KfkNL+ZNIk{DaE4naWuuMrK`c71Eu#45UYyqWf z4(UCW>J}OQr(=g!tE4rz0@usTzy` z($2f@;fhZk5fb|yugiy^iT9+WdZ00>jr)}N2oz)xU#^SSOS<{G@%6fy+mBUl+e*hx8dG6@GWsk^{WHCT zg^@cZ4X$7VhK8K5PoE!B>Fdc-&OJ)g3KvG=dfvk>NhcMG$D=ZCVI8I*s!ecYHBxe3 zw-RAa7G-fy^lbN@GXMZZZ)rztCGnU&pZ%!Xd{^*Tz#_$|xuJ~Hxhh{tEa!`hG0=1( zU^2@xu=EHt2`L4rk;~VVC_KW!hyB2y*e$chBI*5!|1Zz=AGZ;_k$ebhhRGw%wV6Ev z{x6DR!#||}7x+Q+TxnaUoXxix+6E8FrNh=br}Hoh%U!XvVY>AF;%)raf|#W6G75h#>b9VA=oDX;bw30VD21ckkD` zqZbqv1^3pyWvCu+83-@JTvKEVdG~JJnDt-z;x6dAoyXe(hPi9}4p;Q~jS2Fiskdt- zEt9E!7Vg`~J26q{LG`)q+aBvnatcPYBcoU8y+km+831R&@rS6U!NSzyr&GBk-p&s; ziv}a_lx+cN*Y%MrS8=$hFn~#nqzmW2i;8`nzBvH*75Os;^9F-a!eUlo7Qlo^ARc&w zlo1d_n17jTXaKdOPB0=y&WUAdkN;>~e=+ZN?)T9`jcx#SHp9XgKk#jA6lE+|<9Pvs z9jll3_}b8z^+a>@+HH@!+xxaat@1Vy@~lv5G3^LXa<-{OM~a3%z~+&Js0wZy?terA zVFd9k(YG1qRyL}C+dsL-q78N&r5#I8BV**hsu_PoPiAJ`bOxuQrjI z>)b~-xxu~fuUo$oo-og&c=aJ236y@$J54e5l=k(nd~Xk11z~~SZr>=msfh90MCtBd;}Y{Ce|1?V5VPhXK9`9#v)?*c&O<#ZpMU{la54uAzqptm=! zPxQ2>PS+=UW{*BsCxn>QV7V(6Tj^V@S+mK|+00{vwze3Z$I8OO2@QHlJig|WBMAWC zCOPmQD4+YXxLpSjFHp3-#UH^3m8smL*qsoa_q^i$x~oQ*5viGV^V+u=ed%0bkN9NK zU)uuPhjJeo?u$(P<7xb|a~MfTSXVn7g2SfXMiNZqoIB{NeVf_%l+7zAE=b#p#I6E! z971cGA|tq+EeEyIUbOCxxN&b1N4^;-v6_pb7G>LGc_ADZrNq!~NM_nBnYEWQU_+auuzpBu}a#GvXpEy*^qs->s$xaMGQi)WB z+A!A4RkV%T(4reMO9Jh9zR-Bq-R!XO#M9|83&4X1k+KdecyS%c?0J*#r^3~cQxK4} z9zyueyOk`UAOC{f{ZFWv%b2cB{2|{ul=u^6Rx3w+rOfJUp{2=Nv1Qg_gw3~nH%A<5 z(K$vuj<>>l1+!|gs3?2AIBwBL+(srP#cMJ-TpwXLmH!mQ@{D7FkVjlgMx z-LDa5eyl}!8VxJOgGn=?-MdTFO}HxfH+bUDp3sOxOep;@rUzUn z#ba16_@S|sEvm6xPlTVauP(9jQj0;yf+;p^YJG-&USy!O6(>6DnQ_%qfn2-7iWdY< zbQDT&zCu`E^s7aFv(xRihCZz{zr{b#Q3~qmd7x)va&nT?aGbwWs1aT7lO0}>_fH{LT-}b+S82sTCA;UPEgl%#NYXs9HcX$>u#V)p-y-$kI4jah{kjr zQQAM=SgINiSD=zld7}S~G|N}N0!Hl{bK4GwM=2e7`!`;JJ{{2y;>{((5`*!pz!;GQ zC795x%1JeMtt~#Cd_>Y!kA;$8x|2il^)M-9^kxl%qtI-Q{9o0kMyf^}!dPP`rV1Y; z)Ru0u=25GFpl41@Nm#}IEb=8fKlxsa8btA4vwX83VPi8XJ%y`e{qPhsMYp7z*Iuu6 zR|Ws1m3LrHar?=+JKYklRq~AE4Z0l`=J2 zB!G|jL-fMhg-}<^z-Oo1u@)_MjcVLzV}_F;c0qhP8fm>LGF2A0^K_;@XDDgZu`5pA zi7W?U!&Eya;hU|0;m`h2g~q}Vb`=S1;y_%(T21cR3VzOudsT$r|H<{Z?kp53!E%QO zH|B(l-aO0i=+G?x@UIfh#U;G_Y48eZlMqxKCIF6S*d?<5mNoq^Z^rB8jrrMm)hyq% z0otLh*reWOk<`(}0*h%wZMSJd*&2%{i=d!(`6<_KcQ)>3Hbz z*;5B4OfC1jc@W8E*gAAN>05swX9Jr^f@LxD;9h+jrfJssL4n20Doy=%4Mfo{-ebFGE}+ zz%P^mPm!O^<^2QagBJ%&byb6&*HbudnO`29Iz33U+N#CG#sJfSz6|MY z{z@NTPDq6)9r$WPg{079;^F|8gHB-MeiE!he z>x}penwyY7naEDMH=U)IB7P0WYjE)Kq8_q_C*ing=4N_&0eE9<@M_a zadi~fexH`AoHiyfw8infUwHF`k&~phzNmc^fr4RO`MWPDofLh^87Jh~ zO9Rb|b;H~VVA~k)pGXYbMy5UdTyXJ}oZxnR8?&k7{k|pWIz+wv#k_ct-u5Wbwg2VW zBqJyBRCXNFzI-T!I)2tQXV$^kDTp%{s4`JzQ9HB7Ptl^HTm8?&{Ms{SC?3k~#1}~d zEM-l}KEG^_F+`mFhxUV^8PS>V({}O_9<&zIE;ecAVzuW0ZC$5S#)1jeEg6qxsda~U zMpwNZ(aq@mXfN=8pbQEK6ww*|rKV9qgG+fegHF|2Nec@L71R})i(5}0feD?~rr8#l z@W*td{I?nT%f%YJ{|keMk|haM`P+v!NJ6^H-dK(dd3CjF%twS;NLC3zp8Ii9$?({U zu{9bf8G-=AxiO@^SX#V3Z;( z`^TScRxXy|ED6A8*@d2;y?>s5%D>;eXT|6Ak@jtjTumiR`C)R)f@3O9^pa2BN zvpqD8eW03}?Da+QlAFP6vW+5H|92@9hK~y{+v-!}_9lYtKsHt|Gy566Y-7!*eWQth0rA3ppG00mCg4+bQ6 zso0a>9}}SDd;_|8F7G=C5@v%U>6o9r4w2h^v0S;^RS%cw=lDQAJubjhL11{Pjltpp zgbmR}ipc2mT23<|h*JlL+U7zKX&&7MuPav{fOr)$<(tsH_)2X1jI~Z$rC6KQVyZG0 zfVaADv!haeq2N7gjyB3C}=XZ9g^eg1RYY(NxI!n zw-^!GAc`0L;vCB#WDMOb4MF?LD@{O>_4XTLWb{(h!#g&7dv$#V4Sq9Q$6?ZT3Z@`NE4M4Nz>1!_i^C zEmAtjFBN9dsFy#NQ{X{>`~QAnc*1|4di;C@Zhq`h>?Y`KNEPG}t*zzk5#Fsl12bEN z$_IcLIFgCJ`~U)DMbYnTbP1e>!2*az`)a^k`^+D6s!t`V=X+ClKtKEGX8EhV;I--M za`=@6A6!wqI`p3)Wh4zcB9{SSVo8o+5h85}_}ty~qmDt7{Q#mLVd!}7=Z`85+4F-O zF``{6L_PT9(}yV$Agu`r9Q@ZQF9ab3_>VGD=?$ch7i z)asnnh=?6$V)?v|ER8ll zq%3s*E*K&(Te;I2Y0?(m3NlUZ*d(ploWkDrc>ruYv$fr?VKCfin^Vw(OU=y3$CqSZ zhv_DM)T)fM08&!opA}<0mtZ&$dxS2SQ^Rfl;6PDxeJKfbuOAWtN>-a}{oCbH4ABz@;lfUKc2frW#IrYzpd-s*FoMUghvANkNO{Xrm4#`p`L=6^MQuZDL zuQT{4`-Qx57{Tv9KG!4WsZewp&LpuBLDono#<1MB#0T~iETJ*TobO zF-*Jm)mBN(S%-i8F%UKCK7kRgfM7rv(A5-{58BhnH{kp^9^T9E>0;%L?ZigmaKGQQ zfRb8lf!>#sm+U8ck+PCI=I4;lAp(CgnfZv}vbp*n>-P6It8{S5H44-fvOmY7n*7C= zK1CumgG45^AX)vqsm_lGgS@9QhHmQo)bQhSO|p015*E{{@*uTFTH+$T4_FJTHewi` z`L0(npnw>NF{JV)rk54)PY{u<632XmpS4ZmS|=k;c)0Xi^SkwRL05eQkT4=mQut;@nBoPyhPQHG8HW;%E6XxiIO6?-xXn$^D ztt&el&d#17wo`L-Sn8GGGyysG9`h5r;l0$2u`+vP>lNTz0osNb09+Vi@yIC{?-IrL zxAJX9m&%7GSiM(GlPybtO*F5>gf2`8*~DWs*eUmIsu4;^*jpxi8g+DZgjdwM@(C_2 zcZfW|0jA%14S83Lc1=tbqZ0U>3Tkw&!FeI%Y;SDW{y6wX__uy!J%pfC3DsW`owWUe z_CQj*4Ui%9qr)78lKVy#CRgbc*yhHt>L|N9%?L8sA4qzW{TZkMFmaX^=K}p4OGUn9=}O) z+g&uu&VzqPNxDgrZ*qQm)H4eDkA+<=4HzoKb_4Rzy5O4P+BhoO)k$HAYo6<^r-0;G z;K9N)@=m6~*-yPSH<}y+;Uq+TwFbdr+J|8=_?=dfEsmP&uNR*uY=Zdh6*(Io%}=K? zw47+s|LFh&tz{Qi3!0dj^ihI=*-;1foXU9_7XECyKH$=3XOUC%65-oGW7m*5k&XM@ zK(;#H{m8DMHT2np9Nc)3`C#EkauHZAx`%&<9ok!BJPR_^5aQ1UEGw9Is0X%y32Xs; z-LKjJ3cX9r?g#$;dmC$*ZxN;OOQ9NTlVM-Ahg%<#KBp7GIzUN|=t+x$2Cc(Q)QnbE4;?+Cbu8UMEXKVAmDT*XCa>>Cu%W3Kc}&(|{R$y`Xg5hin;sfsoMj zD)?RH4Y_&qHo)+WyR+}WKoAaytCM@WWla(FV40qvaAIq3H6%=Natv@fgm*s;0O;Sd zdVh3Z&7+}NnWt-D>1A`2Yq`eG;RS0LV1J zVI+SC5L$BFV9x5pdNPzvp)-ir<9;ot=TO@sgzt#P(sbmLDzI$;r2JqVVWFI>l}tkEVQd<`_u?!El26)jhzmINvo z3j?58tcvf2Gxhw%>4G@ZGaCi^cL`~s!aqe4a>qo~@^3XD(ZPmxb6dDfzA3+{1!Kvg z)!Z!I0Zw3vv5P?^3~2;3sOXVK_%{+(R23_JN-pj%&`}nlTHo&`{M9@zmci~Yyf#xL z<5n_sHtx7DTHUSsxA!5Jq5^yq2Qt>p{fkczA|YEB%z^zNKHQ%S-8oNnkzdoWfi!RZ zrkn$oF{)JYREVcVJ-vZqbN@CuCNlde1PBvb5G+TmJ! zwmE+{!ei8SvxpWFY%A9N= zLXgXi`OX)bAh-?Kr&wPq)N2}@lr6+99zVKaJyq-DD~&uIZ5UR&KxpK#spUw4uJW#= z5T9-Z0GIBd9@DSlADiC#3L2y{w7cx-Rv_qR`vOtmUH^n~;25Np<2}Xp6-uG(S^)S4 zK9k|~7br!ZwFL_DS53Lm%QCV%|` z@OMfPb0xLWrw#-n)I-!{uaY-T2(PVjM-fle4MD8(+Czx zOAj1C1r|;Rn3G9Udmb7^&cFvU_^JqI$?P+W*8P}HNZ&#c!3tsjbLFU@(O}uh(fFuvp?Ig0(D6&EY`)>&9 zN7z!yiGP{;_{gAWw#PeuDK#`Pmyk#In*MDlb+|k@GeHz=s-!~80 zE9j;LAr=Xj1VB8g;bF)kTOV{K-W`OIK(*NCkExQ#&=No;n-L;>2)Q3rJa|V+ia5d) z2RREpp?V3=KUT_=Lk{%hk!ScjW7bQ9{`XF@2ZfSDo+Fbhl!es_Z=Jzp-h?h(G5O8y zEkc;uR4%gqJ#cREFmB_cYfpmlbc+;4DAarg9(z&H$kaRfT*XF=qi3s*_3{WcCt;xB zv@;u{5@(cCudB}74gyw9$*I-bDXWQ(rpv+swEiba&@E2K7qxoTL=|=$VPCe~txwcc zp(43>how*WBx|O0bVh$=b$`F80(W`Ly~Vv#tFUF4qm z&fkER2{jGzEpZskC~?)LA!8q~e8hf)CayGdz;^YbZEpa>aTrO502api?q zlR9Miw3~*)0FGJ6vPoH-9MhZIRVS~JZ(>x&d>3alh+aio`=tn*VdgE9`ZXK8;b16! zvkUjG;!gg0v@~BG8eqGtz4GXWj$=lrnnT&ih_LPVpo;%W^?_VC?N~1eK3_x!+6d!? zm;m<#6w0_w^u@y#$xzT3m}Pl%VH&jf&SA7pA`y!8NBrlV&9XZH$(rVZa zt>)tV`Pn{Yxb6sh%b*Y7>>YO+?O+IZDnYk@ry}_B6b7RGx6HxIb@SVb0^`p_%vAVc zn}*+cglOt_{d~DrFz+hAJ=pD27TA=N)DH#z7=FJjo^U%mnjf-s2zv{&k12Iai0_8C zT+>=K*NXj0%bpwT5xainkOE;6jbzQnzIOdC<_YDht&5&6(v%*28nT_`{a^hbOYv-q zpfE;-5@{9NHA^!DK2G1mIAo=WBN1~Tdr*H(^GZ|xNdWQtXrFxc&NhnmZbpoNSB~Rh zBp;-4VLnAlO$@t7n)+;0fRDfKVE6^i*RNl>sVO|qRH{vT=m3WKaUr_Y1IGASfsxzN zq`*P>{6GnN54J<$t0Ldx3}-f8Ui3i4%F5|nLJ2ABzQB3WI*570&6EkHU@<7O(}_qAp(A>DIcTO~2x|o?xSK-}Gr+@Ok0X z!8dqMI`uZ;hlcE~f$){V!$ge-ybL5GK})3jLW`%HBIh88TDELI0^_&10=r|SCT2z9 zVSZl|={`mWR~itLUM&|M<5UUvyKMz>c5?Hv#d%<0QxCv5E1Wt4^)~Q6F>UaV8>2zNt zA*`kliWl*;TkQ4HH;cV4&d)k1HY7a?R8fr)_)jhCMvt@uL+nZnX|O-OsGvT!p}k%B zGey#G7LfSiTjU=v_(=}pKtvjH#SZrwd1qdD3`4@7}x`i(D5-tsbKHVn8 zs{nu3Q#3s1ifv3*y;5hBhF+tJ(iICxkXc^7?cLu8|9SO%zeu*Qr$CR?;rrSi<*$M4 zzJ1r?mEB{|)16a>qyrOXWHCApaKUjpL{&M*yk2;+RCNj|qLQ}+y%21b{>DeKLRUibRqa$a60!FH^FcWIvcPP36 z9wN-LH%&ocYvy~ORe~waqJqO%?(s~=-MC}eN_`CXe(EFzQc9kWoiLxdY$*A&L9zm@w8_?=1kX9P&4iGNtxk zwY6rDUicZss_2#zCjL!)uoGxJ`cYp}Gv7+%)A>k?8nwZgRamTmh|8~pW@{?_IiutB zaPpH{ zF2@C$#b`16a=!|wAL>acD(dYDM+M6S7vFtwtAw1m$~8);m9fpee;QLW2!~36?m=aM zCRPNCmk2XgAjEYLF3I@^Gh^o?ar1&^3F3T#O#gg{I}8pYG{rl*g!u{q+%p(RLEt}E zm#}e2frefb-UpwW36OgT^cNz=5Af_q))q^0~A4@OPOiJ+PJ07$)`!Iy$^B23Ppr;s9zJKJ@af5*{gP zYzlq_j+#?D7eJPC$@Y1SH-a{u9%e(zd6TvsXIo&%Hy`8yGyy!2IgLFSgJIzJQOXg8(!=)yx*n$reEPlH^hQ=1X@X*_;q#$Ig#wvR-Ri)w0%qx(e6XQ9SutnEE|BUw8R-BmA~N=WEp- z!Nn#`KGl2;WaOxq?4oL6C%JF3R8~GAke=~VSq*(xyei%pmiFD)UP%S^Hcl}wZ^Aguv9Y%}*@*Nn@asJ@e5O6W~ir=V6Kr3cHzu_BG-(-#n+hBE5%Ml6-TtiI^<}}2xxsK!Qj%l@FG&gY z{|QoNxgo+af#ubzZByE2*_#1^FNgEfp|y;GPx5(_J9qAp?8+f;-mjMC*t*NgCX@rPCq3GkOF;9$W(qo0GtPFh%@$5-+OE|GDHi>YM zJLsV~rH%hFhC3L|?x;#1YCz%a0$GUcbD`7_^0=`zm;Y1uWl)Jl`V~n73PnWocjmwS zyCeYH;-nOcP2ps3r+%2Z(wnXT$Xmi4S03%?Z_)Vh{W%yO(7_P150$(0a6wrggdoir zA66b)lQN@b$6tYt&M=*jLBJ8UKWnK^F=+H zb8?z;bgqqaW#;YtimRaYwYuJ<@*(H&Zl6wO1RB!amG8>5HpQtSVLT$!uNlV z-e1T52sm%{n!st51slr*cJt^^Q}B|x!IT%_*cze=A2qeV^~=Wy%4r+k`1qtsg@$kN zpOk+XE0V9B)FMr_r+tXVMTfv7T4?T5<{@>eTM&iNfB%#C43Tdt5#zhVtFOp>M*Zx0 z{T5(lZ>b~b%fg$$8%u}z(CVK7&ge({n!D@cI$s+8fSJO)rBhTy*$!>4Q|h!aSLm^p zx%)rLu7OAi5FZcXlWeU5rre~c|M||~!zD&I&R{v$Cy%bEhAy9U76l#_{xbH{^76OE zPcL8cBvhF9d|d1K^b2@)=%Fy*BV-xFHyXGbSbJf$@s8t?Gb7YACMH$B@fZXCh#wbf zanRL%3uRU(cb!xUi**jksv|uUf>MQy+*Z3s1n{{ zXXm3PVPYU6v?ASm;S>Ci8~_5wd!mG^n{xVnTi=v<$KJ?aX`?%_N{hBVNWOj*=vi5N+BBywck5^Y4_im zR^*@KA(_c`ITiCPk-eEdicSaS^vC9>CEm1`4GA#+@E z&s^yy9)()-9dSMB=PYAtA7!H*zWcdeD=k_LbfUDNMlddc9`wjXMzLx@T?rksxA|iL zCsuCW3COabicQd*E#6mp)e=}%Sl?;9^}BH!R11EBI^ekB7{q@M0B4_o1;k#i-<3D< zFlqvTjgwhW&@tz7CUOUTcmR9+DmKKiVj9Tsv*ll3xhZy`>;ktsr5Aw(KlvXnfYYs{ zF50NQVdI%&P!tLSDc?RKT#)SreZ_NDzg?1BJr6(BW)LfHx*RPjdy!j`6w?qfoKSMr zfE8sEE}lf5U)U?#H>b%FVLO1iYAGW~f>=;$jR?O;7s=6(>fd7rTs#<)VZmgy0y)X5 zZN4plg(6tLxcMcB-83fnH{ZoQ!q*GGT?Lu11;2$E0lZK)x7sJS&h;8;HF5roN`^~Z z15|4mwXWf_ZggH7>9=U{0`t_GSOK{;0LMsn3N3tyz1gr|5XDeXojWuAeI}Y+2V($m z)iMH@3SJgAH6a&I9j%cY!s6*v;}#h67CQ<^9pn$z$4zFMLU_E+-L(KIjL6Y!q#a1% zv;aD=uX^MkBDIn$?uZ~6dOuXpALkrCVjLCgUw~7_rPN1w7w7N*ROZQ(UEjpORR-7q z*s7$JOk?mX)_=s}mKuV7>iaO2a+P{&qlQV#x3z&a6>J*GIfJLu5uMM*%8q{sazgKY zOBbOipn`WY%IFS-QDE+t=yea6_2@lT78aISP(Qc)*r8a#wG#_+PTcAebuHoaCKqQ1 z??Q!)>X8U>(5GQzoOb?yunJI0->0sQ9VqJxZtX11ypMGwhOxCeXL$aT!k~2eaU5TN z84%=##mAEqVzhM`hOZufL=+_L#(sz7Pb@E+-?Q;4QfWJpv=of^c>D;ER7kxTw#V(` zr0PlqU4#&D$c@FU21vsiVQT$H1~9Q5hmZh69rG07+G(+igw(DmbMf;I@~-V?qi!s= z7?J%mgA)VRUBfw5<4x-co#r)pj&Cj6C7b`jAzTTHT>u=v@e{*bQ#SNFxE^Kj)(OV; z6A($l4Zi>l>cQMIi?deUAgZo50NOAz^^QRn5l9)u!S*kio0fsMUDyO2+f|<+d=tcp z%nV<~y;}YG@f&flr9yWE$m*u3Qq13d;iowB9l$^&-G4X=1cjDTJJvJgjPm!^z;W(a zk$4wGWpaA*R!)UW`+fZ%ydM}NB1y5L@2GE5o}VIYnYNHpEa^BRJ|QG`Uqw%(DvKFD z0j?Tvy5scTMCTxvYTQpuqb^px!FY2z{EaYRMQV*Adx$e`z5e;E$$wA=bX#5M_u&By#!B4_=8>VG zppx;ZRoVq)XduVd&Cn(K=IR3?Nxqx^T4R=WXV_vok9MJ2XQN(gE=#7?aGD%j;9q%ukl~a!+IOl&F#J;CmkYMqWWu3 zNY@@i~1H9u_}9t2IouwlylaYnnC+S`1#n(~_zOV|!7CsbRCf z6ls|+kB9?+Qx<$gHU7c6ynoy`U-T(UEsLRbfL*G?ew?+|_vPJ#Rb4$jODW2_8MxHc z&kAu*MbN^6i~x8CTNZs(nV7MnTCKUy);7@j2Y7u2RgiOBW3k6ZVF8Uf5x|}R#JIn|fqNci4R01rwHlbjm-Vnw@a6-yUgceNdFsmyRmzm{hEE zG9sE?T=L(M!!Q%v2FAl>q_8^(E+p~1W=|tzH=v69kWr9~z~@Iasru3&j8S~+#Sk7i z2+zL*DEkLt^5+$kXW7t*XfrO|Kahn9kYupfep7qsy`jdck4$>N({v*-GRcy@ z2WnC@eSujo@s;*A~!a((0vDd{vR~SI&#`~+U z-nVw~OKYDa-6lfag76dcHqn0D;bbHWXx_spW?=AcdU(nGsXx)CCekSuk$Pm7?(q$2 zI}=YWAC*sj!0m85+SfU8auL&S-U-Y2`Zd_q81`LRl&^9*Uv-|(YjlN?!hVYEA9rhs z(L3bm+qdJ~_d}Hv03awd;l86-*K~5@#RvRFc#7xzXm0+Lh!Ff^oSWklfKK(0epT>U zxgYEKHH)(y7Rw{0bMsj^`(fye$ty{U*=_GswAB}#AI$2_i(mHtbZAB?r4nvSB)hwM z3{g5keR($yhK%14FFv>jZ8@|5k9g1=d0PzN77)cbohGmF3R&Pr=r}sLc?sX@=-8ay zs4JO#9Pqs1ae}xtyBp}J1E_v?LIdW@5Or(I)|ROH|{(Gww%d=ng3yPC{!U)36vgVn`Yz&E0&YTX@CYuy~M=so}z7zqJgp2>3KH z!*!9l`xG~}(V7hIT!mUta(D}!mKhGmBA!#PoEMP%_RzCOx-F&0yv;*s{h|y;9xja( zW!^wEa!}9GG~!=?=x>Ao3y8@((fwDUH;N6^>NQe$^0|Nht-$71K2HS8%t@Fhv#-xn|423R>9@4YE=E=&o(%cbF$SK)7J_t0 zq*x4qdd5L5a=yho2JPov=XHy>w@t&=JbNCjReDRJLUn#m-q7>Tmy?fq&K`N-z_Njh zxSxp0g15gCsVs(W;rGyeBXFAKvdj;U?oVqd!b*pKo0XMtJ{Ju>Ob=3dDctA`6VmOBS7*uzfP?T&5JS2?34N%$2pgbK;^0L*Ycc6eJ(ehOWl?6eW5EQ9ICPPR zV=ruex1$?e^K!irWv+vshawsCo8AP`RwxHP9G zk;ydaZHlgG|7KBro(b$lf|GGGE9qVcuF>8}hk$-r=)xdJkITv43!#6#Lnz|#7J&CR zf8-M+A&lgLl8!XDZbIY$xrtaa?i$&*G^LQOrBN(JYrjA_}ikJyHUxs zC8#($yo2{arj~ns$kB69a%BZ{eh*vhE@PgzMEWcsHURXu8YtK{H@b`znyLDsOEH2< z&`J7=5Uj%pvi@^V&S_S(8m`0gW5&&7=XXeof>pi1gQyTF^ zr?O&22R$bP{YVKGB)l%NRDat3{yp@YwjoIU@0*wnnSY1Icmq?|xTz9yu_}mo>E96{ zjNNW+k379t9Y=q!tKqS*6?fz_G4gL)gQ@IK}wF)ip1!VP4(bC}1jo(^YShzH{aD@GeuxM4!WS4(g zq%HNhX7E^J(seKT+wzEh|3Tto&yDdjPyMz>H980SULj|IWRd?9f!A02lYvr$+-lYA znC;{Fn(9XL`&CD5UcZFCdUa$dx4~(Zjp$a67y~DzPK@MXj@IoF`qX&(uU> zT{JcN6iZfKrPPb$JO(wsr=KL@;E_hyR958AwELPJbCT>{wmz00Ddis^?3|JleK{U; z-@I>GrX+Oc%ak_fPoWXcDeE7J#qcFH3Pf$vMHj<82uOGma6S_R&^&I+Rh<-gAAk}Y zPwzChH(O(#rqO0u0zMzQ@2+*8c6HBs3}LnBenB!7mfRx6=?F}db83y^)U_=!iM3e`>R&`(4e5O|s4VidI+EI&LD=B-T;alL6BR6S)2nq(_L zp?L~<8VnbIs+w*udd6zf*%E-lTIf@TvxZG@?h>*hD|)o-fn#e)OX*`p*v+ECpVA(o zGQRJygo}XYkSOt;bI)9n26Z6AZsdulZk0d1Hyi>Q?d2Dh5DCt8qpi3u_oiVU#eH7` z&XT<~7!@KS;yM`L#yN8r^yzaM;_KU;28o}hx&f4jAGYUSMSy=u#{ zSG@6nPcfU>psK5GB+aL^)I+i`N3Pcboz?FSLLytr4H9xgP|KbT?Bxd=mNJO^l8QHj z&*Ou2+D|i$BilWKP&kBPqRp6~eCki^geFUZ*9#%Bhj6T3rGI!56upqkRmJe`?rK7w zXJzloT&b9oX_yq}Kw5Rbwb`;+kbdP#Hx|y^peMeQX&iplFTEPiDxF+IA7oT;4sV0K z$t)4;kn5T9N4dS5*YNzCu5BYRiJH@Z>n8c9ZVN0AhefR==jzOy>XAf%`!iWOOK?42 zSUAX8TWIL?)a@-wFR_25E#BEXI{dD{{G{wx@S_gTulpIy2BKY(Yx&ZMzSEMD!3B(U ztJU}~>P6bUcuB>E9>pXh0=Bgq9)aH*um63T09x z9%{O3ZXbK`1Ht@S&M8h@lPX0Wrk}mGvOqe(YU%sve=yq0cCN~No_$cY;Suh_QMKD^ zNWbv<_3Np|bHE1eHz!!M8>*krOa*p&&WuaK@8*btc8#(rqDF^ocRNOh!mGQ>tpYLU z{g0EQM|&;sEwk7kSIG@zy#^TwlmyM@y){K^*T-QSTg^1M&$||dJ~$3&t%LDauiFUx zyVAW>kx$wJWEz_T`0h;Jo!AO3eM#7`(yGyA-;FZowg18^dMNt2%)rV-*1n3>0p{Yx zApfB{WvOA`+Pc^5E*|s}(3>n`!+RlGt#DJ=CLq1I`b?X7YJEWp zHC#Yx9^TO!(SG^a4I(-1HxI{+BpCg0qnQ2@$1A~dC3mAtKwqGo3ziW{KYAST$hHaI^69uyy&_OUms45MT z`67xq;s?olHw8kxQR-`A;Vz4+af-9gF;|a=gwUQcg(`_KvZ~6N??@?*Jm`ww*>i+& zE<0vMVRO=UFHb~mL0m`s)jv7|JY*H4;T^VLD=nHm?yL)#%VWSNhBrVZ5BA5p<*^R#%pTNhhV*gh1rcXz^~^ zfLx2yitGo zocSy%q*j=u9PKZ6%mkpNB!Nd^jc?B0LQhZ&@8dM(ckQWUxqajExvm~=AM=pHM#r3& z)`%ikC)VqEnw5bcbT(3)k;*-AgMn?_?`-(=yT)wq;?dGP< z)7vvMGq1Pq{hxIOZ^WxEQNU&w!XD9kb?CvFvp_SA{#vb-WBl}K#;?WJ2mAXhM$ZoG zCtux7?kaQl)VHu^VhRkt!}c`IZ}{@85af!eRT6T8N02B%cR0ZcwsO@7e_7Dn~{!k?x20PTodopn10uuj&KinFZ%VK9+%gMBxY56 zG2u^LGI-g4|GU4CK#U;qYTE8Dwr~6v8g2hrOeYue_i4Jix{S1+2WLsa3`H{QYzvUb+3b3|Q-ONeM)f;~z9ph=gfrT~BN2sNa%7+r*4C)bNp+ z`cC3KXhRm^;MeqwW{89+$`-wydXWCQfUvg2iPjLx*no=VRJN$<@6bXR|8{63J>@?S z3ohU)DUm4=1vVKsSRXdKi~rB>Qt%PZQO4AhP$(@BoiTU1%(g6M*UW99)o};~(j&Z} z)lC51&1apYn=C-AEV%63-nG`@OVQF7yQIb2l@VKBkG(f`kBkp&A-NT8OxR4mIb zc)f;jKKg{+Jfg?*6``+Rr#?DhW^NNO;E=KDk@Xp)TnRPEHv2sFa~l&`V=TjsNj<@O zVQ1^&c~Y!kx?sa^Qws`arfAZcnHt(z&O43UDtT}3LH-0g>8lHI=e7i?fa@(S^4`zM zwSDtJmh<|yi;VEkRd##(LN_w^DRWKS-;5Hx50$!k-e`XtpHz=C1s>DGq1~cZ)PDT! z#c`Vg&^>qjZxjBrUSKVSwIqy*ia8BKMcIUpRC^#x4{g!EUrdAG+%yZN6NN92psOnQ z?<2)hh@??FlWwa1Vt;8{JbIN|?X2v$#8J=e@^b_!jP=#j@c0QQHAs@XXl`@dX|zb< zA+q}G(%@Vm7kYth@J7DF=DPjDTj}4csohq&C6Xyft1337l2o)W$|HLpm)lS^w1o;% z7`6zjMm@Ig{84T~y3ye)SeNemK!nN5x<8XpUai)ZN7k(m*)Q|g{I5#(blKa*yZDkq z075JKZ-GkbN2qImquaT+wcX`>X3*ga1TI>ODiXp`hpn8(bMJPN@;&q`X zEdWo!ZC*!wB_AC`-QEGuHB9+3K77`;x%^{?Y)JDwn`vrprf-<(J$XH|eQehI6Fnw8 zTHhpS=WuVhD2gy<;5WNR(Gr_S(E^y!rIGOdkDLwDjI-v(qVh8(JNgeW}8tT3e0N%{j;! z!xD@oi#G68^^LU83l9tTIoWcue`oV}rE;l^wYag!#dRr@9ux>_hPNRwF{u;3(4@>A zeY5l9ha9)q?TepJPoK$%VQ$8xK6SbEc=|1PIKgHtOizrfT{R8yF8TmHa+C-nFmy za7#TVV9CPBGr@t1lv;_jdNS8YTJY5g2Vr*-TycA6zDYqME78!Xxw>EGb9B>MDH^J@ zv`C;UJ6`%lt#C>M;rU$um*s#*(q>F~l2XX_KGcN`y`RNt8H!$BlD={qrY22N^Q#)m zVYYr$W@g*}OGlABv)Q`F%W~^4Yl>&;?>+F*bp8vzCGZU|-xBD!J8Xp*zM(&lmd3lK zkHgI1pFezdyw!7vLuxvRdG6Ft;YrEQMS!#Mem`KeQ4|4fH&7y#OH-G6`O{FRlG6N} z0&Wt<9~DpCPxIBZ=d)BaRied{2eU$@O^n8_&fK4!UnA&_P!R@esi*Ai3QnvK3C54A zjGWKto)g*zt0yiq%lW)!Can5qdwGTZvqikNdzS{fP)EWK`vD@((j@o8(RbN)#QQy} z&E7Ho{VvcW}gS6NHm(59F=4rd=aO z%v?@+F@jm>DM_LRIfGV!ww}6o$Y|kw5Ib>GC0XLvR1yk91j^x1MunKU-A!;AOsM=2NUdDN(J(2y4#_NyLJwU-JT>xrSkv4Ch*_UO0t28 z9;kYhnDvjNKl{7oZV1h!zFIJhlGIkOl2y=O+8Y_ zBdc}pF%-yvGc}CYy^5ij)h)DEQe(0EN*!{A^f>Si>czf}?#(`6$r&kCA6&uJRvVQ~ z52hH)-5-2JVs`g&t=H@L0V(W97Gp3$_8VJh4j~e$Hd3}>>;5U?X=!%}QQ3Nh*Kl$2 zMbzR+wyt$=w}KC#Yb}FnqU)fJ>!?lWHD2zx&dBNVTBj0btJlw8URh2q$%N!8QTtpo zBU9*XTGZ~-wvLAAlmsbs(iPB#Fn3EySK}7%WrRQQSZX>CEbn6fXICVckb0j_brcc0 zYdy{OoxNX6S_;aKW1ydK3d*U959vAd$gDR}SUW(Rty-`V#k4m0%y%#(SFPIpoG{7t z#h$o1T-O`^)sP}jWa;jVIrw&0B-e1wEJlOf@*AUN#j$kN8vbUCS3XHD*82xG>oV{i zg+rxVyF=N^O6TQ*6lw0m-`&p*ZPjH@c~tWP@O`c|H5#v^gdfocC<%;9O@X8n&~(?aRh!JV|GeN@+&6$XNp+m~peFKwh&K z^`aQCZlw~v5|S_#Nxi&XRom%oru3pxo1{`Zb`M?m(hn~;z+tvru$jmZHh+-0%~thu z1Zd1sjP;6p-gC+2vy#0bf#`>A(lVs3xpXiG2LVJ9ViqJIc?ak~WKNQ9i!Q7Cc%3$T zVWF@>o%n|Qji9}R%)!yY;a3%CUvUO3$0aBAq}5aBv&!e6SbYCHY7jE7rYd=E_p!?P z`(SFP)RoJfPx2O*GptkfLm(MkwO4afd!d`~v9~$h(rNTI4R9+KiG4Dvj6Z+*qUYsx zDlg8zydIT|bNm|Y00S2vAF=z&Saogr%l>aatdm&JsGP^}9V9v513>BaBWJ6sy@9E! z2z{a){i<@JPGp4d1b~P+=%mxRno#Yae6Xr>*f0Qrqhgik;G0GjORV13nzh$mO`eyn z5sa@D%^h4`N8y7T`FJ-muWo$$;OUdwgXw;$(1qnwCP-I{X5}9y5Ro!IF+bLB%P2a1 z{^i|EaU)1aaYDgIf*%S45w&x!s`Ce|Y2bl)`skh{bblft!azQVAFTYWb_^y5Z&bW< zpQTSf*=&T`4h}+{E7ORw=IlU1e0qOlazp=YSp#*N=CBsk*TnhZ>r#mn8HAECyI{A| zt!BTG!aAqJQb0)H3m*&tPtSJ5FACgdC??629yv`eZvVts03Q1zWM9P+5XmmzyGo*Q z5agyO|1MWsk+`ob^misI4B5x)Y|slEg$B%Zpd23C0G+kr(@1pP=m`9p+`PQApuxeQ zhXGr2D9?UDsp74uKzZfRn^!>cFyK4#7bkKs)f{5rt{p+(W_Hl^3sg8NC}2gEiwU(( z=rO+i#@Tz`N>(%0r9f=oAs*Y?yN#X7O318y;>^MBS(@LHA69s3wq@pN5+yUHaNqw( z^5it()k^CtF7XWDZFED9aFb{<4d?oct+&aktFBLXh(x3Kg&t~$Bqk28)jd4 zt-sY*>w9AWmTw)Zwz)M>OsIsrTUfN8jnxo1xuH8AjN* zJ_m&B-1*-?wqIx{N5w$F4S=fY`wo3VIJ!6!K=}BIq+23D-Di1a#lG(IXiqEJWwQc= z3TQ6vy|zfbR3B~_n2KXZxq#x*Nu4e|9&3vAvz6SKL{)Tlju`obqZMCkm_UAI#y%d% zbIl`aqdU`~$G#Osu2LR1P7j~|=s${mLJF@kgv}P#LWj;>nMALM~(yR9O z-N~cSg!p(Cjtc?uRSi{TQHbAT!|=lUp!%R{-GtLEZWI(vPiDl=XAE7EKyOCT)7syF zEZ?@vZDMB(6j4=`9cPy$;VBHeQ~W*kQBhES673dPA{rJyv(WPG21W~$7_xfz&`dwS z4|z<4$}um)a1-r60<^0Gkur+B8(|9k3`qf~Bedc^wacepCOSA^NNqMtK)-8hNSXMi z53V4#<_E9yBM|tGG)M(Kcl5_)N8ba_+NI|_?l^sG9sdwg?KOmqgvww?GfQQ`ic#_|XHI zbpW}#gH{2iQjTZp?|pl7Xd?j@B&G|v)M^-}8yFsi48KH1V?XoUxOsIF9lk*E78kqd z`dDJsXN|v(=RHi*8%&lC-=!0*SGr|~g$tV-0gi@DcW@^;qcUq>^&NxDZ=}NJH`w1i z=2#8TqxlO8A$2n@P`wp0HPEa1p;Mb+%@>oy2Gk#2Zo@d{qA;crKp;T?JgT#CJd5)0 zs+d4S{Mid6VB!)jvjw=h)s`n_XY+a;H+0(_vDXW&eLhFka0QgROV9uOA5bU4qpz!@*+JWpNUw5qk<)3WGo$m-2fZWX5P-p! z3rqajzo&UH3*s$0_>@%6v9AN>6C6(`s6nV4wCw((60&0`6^Cu6^reg?OzeJsW3@U~ z)_427uuq9KIJ2ZOU#e6R&gUC4?@VXYZM#1~s6**5+~{LJi2-3&CM z-3nCM>jb*?KE@#WD3Nya7$+b8U>*a~l4KazI9R=3l+p?^hYp})d}TaHY&W$fPKtlD zxpSb)wXNV31a2w(!1rHthEWMA7F@;1e-!5R?rb9WJ|{aiEAa9FjrGWFGh#gjX{pwlVChzC?DVdUh#M|~D*^m?HT8F;0bk4sH@|CQ0lfif7f~b`H zyT!BHIj}}nUmxGc%A);MyXl;c3&~!d^uamb*x2WGUVu#hdcx%C^CwFW{GkU6^MGG7 zNPYKQYnIn8Rq?O%RThS64#sFs{V`s3iB0F9J4)nW?(XeHp`EVScZmuN!77NB^oGbU zw4XO;6MuJGbDIug3}Efte_T{hznYtC<3iGP8GNUlfGWzlF2};IGl83?!{ko-{i`eP ze(*+N9>~(_vp@UXaD5XHE3E6u02AO@OhH4FgT8U#b#ag=cAf{@`fYf`B(5-MI~{%L z%OBsP8u9Z+gw$V32@M*f3Hp`cXY;c;_B<}SzjHi)l3GuZ3lZL< zu=?I0iGP{e^RLX($|IcfsCalB{rF6ZaX(Q^copCh?ZfTQP%;Jqh65@umfXPV+-(x?XU$^9j8F|cryD%?E}04fv*2FSI(pz#zZV#lVb9P)>TByHg}`<}gfLC=U&hJ@hon1jbfiYA zSp=kir}le!|ESGB_qx`i(2t8!KGoILhPaq(#&y&rdWYUi1poa4Xzfo@yt0wQpzs2E zm~VL9pGS`uTZY$1pUl#uL;qbO0Vyyji1j5kI9+IuCDgP7n$tCOd+|9qvp?9BXYia= zb|_izo$P6zdB&#ibVYaK&XE7tQ$s(dY$1#|=md4P=bBb>GD5*KHt{RBvh2;x;Jwnq zmnv$*9J)hH9SI|i-og?JCSMQ@{fMsfBc(sGC5)@^!*|Dwl8V2eD)NT zLm~9yxn1GOAUI?%Jj-4w?q&X5xHDYRM_e3&q!mbF$zsx#{EoLe=b?5i$k3JsW9_T|_%n}Jbxuo6 zJbQTQth|2kfn!jg-DDZU+1Z)ZaDE)=bhEOganTY#D!4{*?Ue8B7y~}1%J2e2ZGN=j z;qPA@|2}Hna_|X8sXPm2(pNI)(@FfwwTznhGxaZWeZ`zJp0kyg+bkj2>S_rks!LCj zJ-%6HrWf!JiCz~SA#u?s>UI`MI9if|!pvKVT2 zHH{qkSv|%i?tS0Wx-0Z=R{7tv->z4?KZ3(QF6NX)G3c6fmw*xaT_TGi=S0HMM?I5F zYLBcW?Ukb4eqsK*9(-#VMcDoCACO<2G3YjI7@yXr-#3c&Jiq!(SXsi4I2|7IJMNrv z*<$5tZZ2LM-*{Rg&95FxWzmRmg^rdm(?%bq0ns}l*0NC5$L9d4^bZa^k!^# z*THP}qi9E}`sIzakxxli%v{VLP;j(uA5UY*yKUv{s=Azkd{l=LO*W^y^`1swiH-g` zlx<<~IURx*a6KW+dw@aj!68mkqhM|{tI2&XCw0yoyya#*BT&7`i^BHQ5k!dpiiVF8 zL5o?RC9qPx^r`HZ8zOPYSYD+&C`7riQ0(x)>~#0sQB5CHK6CKr*P@B%UrL;`#8)T8 zHAV%*aR>i8AI~00oWyN&+>%#*TTJII!Hi~_PFE$rV4CC&ELFUQ2;=1*^2$qa?nmmE zXX*#%IO5UX28`;x!5*0vBj*BlJ&M+H9bR@F@2#vw+XrEoMlXW4Xx{-v5V2|t3B@&5 zmCYY3=bt~iNaO7NsjQRc##KJ_XfeO{$!?>KgUxLRlO>kzr;CLxQ;((^(=!)?dlsi2 zEpEKe{>Z6x;_3jqy^EO6TG8^3os$ExNTgKHxea3>x{(6gawL(UhL!O=@5kY3_C|Tn zNex+HdahkPu`E+o+?|EVGs7c~L#w%+hMRK-6m8b5>+3mawvk^rYyw`#nS2WjwPIoH z{!3WTS3g7#^hSWdwP)#~KuwXFgd7ip zf80um@BJG{Ai6o=Dc~|*(bs zTNgJf-C+O+kWfS#RJu_F1SF-~pu4+86hsU{x z|L~m0L#(~#oMVnLelgaM<&BW~b}6KdWr|COucDme{IJ=jZN+Ufb$6bVajdxbSY=ne z82phu-7a6LMyyqqPPQ0H_=~vutZ#IuNt>SfCA(5L1j2wvy7=N$>W9t716Pvi;VWJK zMLfU{_8&+I*B3pHGrYJc2ggU4+4!ak)IaS1`5}Oi-oZ$jNMuGpT~yNL$7mdt8TUht zWSRB<04ILf^etS2*2*_0EeJ@mNV0Md8=`7*IX*$)2TL z{XVtx7U6$86Z);!(7Fryl7kL4JIB;Q70s`2ptf%IwIcu5c8@{G)ALv)St>5`sVd-@ z>=_!gHb<1SoSeZ;GAm2cR-b5Il3fGC(B5x=9`z_P=v7+UpXDAh|@But7B*6oE zfK#j-n)qzKgqe@&BC_^AlrB@UE0)%w2mX$x_-1wwX8u`{NWO~I$v3+B72Cslmwy)6 zIz_+ZHhPL;4EW#k4>ETBgE>ezV)96*C>7m`kmh)IT@V%@%S?uPq5j0zz<9b&+uMOO z4cLDj+WK2}1O->1X&aTmz|=@|2h6l%IG+Co6kn^)%$(evc>^A!R-A?-86;|WtfNl4 zX@62Ru!>orFDY?wuy{32lli*y>2i_dvsY0vJ;lr#xy*v zdw(RnLPC2y*IjprBMal3?Fmnq-|sKpf#I;>u*dfGH9rs5n-1%a(9_%Pey2gStmS=? zf07#D;-Ut zPmqFIktzD*yCLW2FdP zbtpIRwlz>*eReK(-7;|PpmD9ztY1}E=PmDFR99zt19m1F<~^3=yZF|+DWE<&o#6iz z9xDC&8ukNhDddZ}glfWw@^_A0c*oq-c{3Y{yve5rCEvwiQEzq!98i3QJ_LF!xR;)X zW6^-&gpTroWcYoL>m7RpJ4AucYx4}#_@@VfRI)Olv!4?xfV%Y73CxiA-T`Q!aC(9C zhhaef2>1fBpcU@1Vs2Vks1k^=u_-l3F9&!o8#dek4+EF}jrSG7YNll+m-A5|!dxqN zmt`WDBSt2b2q;y}er>?FHy&o-wbMpse�~y%gQei`pGWc+j8Y>AIQqfxz10_nL!< zQ6^8nIx&s^6C6IwGop%o(Tcf>Dc3G-Pwlrg^S9@xRkW%rs|wrR7~n=JbyV+{Pk0Fwkz&vQJE@>?oy7RaSft-&;?ArvPE=QwA_O8I2!foNWaBOa8O&B z=G&I>!_kewe>Dof5#0u7{UtRQjcHTM9YD;J2*=y+AtdOI@4M@Je)i3@?#1^j(QFNm zVEl$hTQhVq?Ic!C?mlBESR2=oHP>NppLJ8NVf#rWwL#{GWjuLcOYs>F4Qna?_BVEzm2}!*$~T4 zZUab$mDuL@p0nxstnbr%O>y)(bEbrz(_XIWX_?z9pF?WDwea*=2g%HO0e#LLha!QA zXC)$Iq0@#wbPd!ZjMwLHR}xpXY<{5kTJBfKI9^#tHjye|X{M^cyfO-fJFA5mU zlb(c@mdQHnQgvO89G+*lR-LSP| zHNuu+ix^nTHl}3e8&^EKCG{MDC3ijGp(gkW|Kus7BNu(2>-N{d&hAH*5moIyCkPGX zCkSk}@)|DgL<<#)6%-I%-2M5STd*EsQF3qgiA?nO0I&m`%9>h&xRFUpR04^yvG}J& zX8oyy4Ilsw;>)6LV*o{iE5bO%spytkCY|vf)fS1wSABT7E)~4Fq^im;6oP6|JMO

DKZ@0qMA z+9~SZ&SAgHk9w3Ciaz9#^YRfAj9UGsZ`X`v?7fRjEGjd`d%zE!fuN8jR3Vv6fK_%Y zf*6#uEy2RkoMV>)d#HwBuXIk$BwDZ;)f$Kl%q~4hLcou3hE{bj$U68R;dStzb80}`q4)10H zgIOQo?jv9wh3GOoFL~DV47ASgr$|alDw+?xla7wopu2!P$H@DHpL-tZU9b9v#g$$< z#i%obi-rIm#{Bd=k5bS=!H87>g~hVV1yvsV^7%BK@UK^us=&30g&d6$_w~7xpoT$l zZWQEe?fzf6l25+PKUz^k*8cl4Da0itCa!_n`6x^^Tx9pPC(uVt0X1siCK5QP5nQiEI?a>m8h`l4tVB? z2?y`lqY#%TfT=ag=pC!gZ~XgiK|RhJ^l{huFk7#*fu^r>t-(`3Q5q0=b^po=z*?Oe z;kAv_c`c+PhuiRs>L?0L5`gA`*D}SF%vH747eh%tb>y|S`2m|`pX4&4^L_p8iVtHZV$CaQAzsGv% z-Wc50MC;YR=pL(pnSgjKi(E?Y40-p$dq*E~vnhU+uI=PNCacyGhQ`3vpj3UnlVN0y_tXgZXd%lW2$NdQca zD(|0q#IYC|ULcu8Fg6RYP@7!8?W}fU>?_t`;*ZY|^s3CUsOrqj$ExG8_B8U6hp|NV zjn~(p;K!pPA^&h~AUmypkvB&_;(~)qiO$#hApiSHP_cosBfSxN_nA9z_Hn->krEwr z&Q6TY@i^%>m-SD;lQ6|i?^a%as{zBmNDfLklViwS7Rr(?;hWCd?H(Z z_ozU>HsF5f$=(vq&{&DGi;W32Gc_tV0$*NVfv5p)4F|SY{-v8bPb$#!l=OUYDbf9a{xhAgwq^iSRDQPll~gG`}4a>`F0uqf(T#{!1bvp zu@$i4ZKo)|bNqyJ{@&$jYILePi=j)yV2WVC{gC3~;^ZEGe>7|kkDncH4WKd+d{7B# ztRAYa+UT18l40=*hfXqS?9LX@x&QO*(7wna+tx&US5Q)lmgdUg@N=4C>+3`#V6mVJ z{qW)P5{ZskHM6kQi|)<;qEQ&>=j#HhUf&zIm@Ui(oW49lOnhcApf|i;)Yl>YPQTMH zXsa2dMNXdpU(jh_ApN3iJw|%L#^s~csH{*8B!`UrCV-b_pA?a*nLBd=uU|{DRHc~v zsd^~XyOnaVHb`=MxtE?1&ep}16?^Y&pOu?KseGk%rDcO?i^?c|NBe$py-^AU++|T8+_ zsOTnUo3#?4RJm!o9W&OWNiE9C*`Ay^s!{rQ4LYkOrh7nKA*QEeWPSW&8;jdtzbb!W z`1GkmZY066f8F=qL6#FQhtE^F^D?)sFz*+#S<a$sM>O8Ar>}#@(9nuvzFOa^{a002Wy6J|6#i&m*A?{c1qa&K$bm z46Q#uemqda8+VPlKBt=)VuHhJ8ott6)l3z)p-kvjRde9{~ zMv|8lWr^vbKreFVDc5NlHU_(*bX0FkDvZAqwwhgGAa843=E5xUC1Gwqipxt;jzYaM zD5z_$!5#e+*-(#pFcUgZHOMQCljmctR}dD6x`;Rh6^xjzVVXle(g z2({FHQHeOEe_lF%e1FULl7^`<@dH#^Ma7a#@qmCL(>o>Q1FtGMbP;=_AsRoW38J5Z zn_$3sVgKG|fC*jhqdQa2)u>Job`_d13_?;mbq=J^Y+QNmu~Se~MzQYGU;zt;FD)tM zcJ;0;+CK{3>HAJTLYLo4NEqS2p3cFB6IKRxmVP%kEGxhqPb~=fqqW!&)bbH z7;&3*8aCuu;So8~XyYV$P!=Wvtwt6;;NNId4@A8war*bfqc*8O57eR%HrgmpDE&fi z9`jlznFjsGC5vDoXOsI)1{E^(X5k)lNf8Yy2y6BFVTy9$9Awxk$s+0=|A7mBEwE(% zi?IJY$i2UvOy*)0f76tK0`)t=f~1euIOlryI41rClIx|iaI84nO1UHtA@wF-*+Ra| z`s^bdk~}4IclIg0p8SFlJ&P4x4)djF_oq*>c2C6kg@hXOE^SygPm>$p`qM8!g&Nd_ zONQ=olpBuC2}(&eTJs~P2Mp$5(0fswxNn2-+{>#0UnHgmggpWzeqzE526gKU(^_H? zB@HnLuO?{Kqi1Heo%2^(PpWMbpsHghJdB!z+h{J(4pjq!fW|@ktvs1H2en|}i?_di z5@-~K>0B3dz$C*Q=LE!|MLz5C1u$2T)XS>W+C;Mq(ckAsO#0eWn~oRvDc3KA2swFV zgUVE?kdAucP?|^XMs!k^3gY74{-0=pYN_m>YqH%p@4J}=LAv7{cC$@ruD}?&23-5K zKxt6p@9%Gf|K3Mg5M)BC5?s^Peof)!cRcUf+WVYZ7;frLTl8$?RK`}Ygq0VL@26Xa z`89s99mj4szo(K=Eu!X&uQSfiGXUs)5lQ5Yw-|kO&g>k{7eS5VEO+M4vXf=4AiLfD z^>`-qwLZ_C72@z~0iR9zh$2-VgJ4}y{hH$ar*p!!&s9c;GnT>FE)+CT+oPj$gc~WsJ>&o8 z4c-y3Aq21(PwNAK4`?;_n*O5WqFDy^NPVf1-4>el!!p!)+c@@TmhwwU9N~2B&Ofov z!n_9fwhyA;0EI%kc&GvUj`ov4n{zF(vwo(2bg$`a^b^g`3cUqru zdMy0r_2{5+U}add?TZOmdk0u_-O`W7EpvE33!D}S`9_DkzJnY+BFg_+QL4Pp=Vj?u z%#Q}E9qOt|iB%;QcuAJ^opi20%GawL@U{riymLJO7sfbD_OBY|&xe3M&U;z3{Ich{ z8+Tf7ehM#g4;%KAV#DSD8RX7vTZDnMdC@a4tf2XxGNA^~)|je81=hU5La^zL(H~d` z72_gNoO)3~a0j2yNezh}9N~tULyOVYPlaSM)ZKJWtK1gL849dImnQYleBGIIS*&B2 zTHQ(;XW;bV2<3l8 zwm|>rP_1WvEkDNj2_L%lwIT}mTt!Fy%R*l7s!5NnwJ-dvN*ss~d0kt&Z^5WDZ-C|< zBNZ5VewjCUr32L_y(q81fd!?Ir+GcyaP$};s%@B#Z4a*nr^R592R&#ucL9G141Ty~ zmDyq>)k?>J<&pyQl)o%x>7w~KMc!17xm$2FM(xj)0chmWDl1^^fM2LU`dSBHv8%0^ z()DT)%M}RYGa?CPeg6o`3+eru;<5G>b$}!zT1xQ=K(x29cs}xqit3NYOohjF9e`mz zSJ)@!Ni?!Kb(5?(jXzO%OcyE+HJAId)Xoj z9gCG@t}|b7cQB?`XRbF+-@CKo0%Aa|41f2z*UHj62L0sq-X*M3Lq8#&qQ=kehS`3d zNrf%19jTLe_Z;JVkBhpL-UjXdm_CKXW`lVInjlNS_b+Q~)a}P!y$GYpaIF1zT3eyK zb^x@ULe}N3reL!-N9%H+ z^c|3n>-$k&Q(&@rgheG$+3e^`Sg&lfmH+C}k=qTKOzf#+EivV7-v+Dqc^&SmwT6dF z1JssoRtw(;>*SRGp(GZop`F@!yy_Q(X!Ki5x%IoiMXjcUE1nq{v!{4Bc(4PjrAca{ zn`TYVngg(!B?6;tVKA1{jIwdbnJQ{(YJy$MzUN>xR&ySHq`ADrT`iUT+bb76u|Ky3 z<~YN9K8zC4{8SVw1_~PmiLDUp3SnQk%fvu}q%TiM1|2a?EM7`RJkP*0;P12v3_%qc z^kbu*!xNdOr5nH~2t&+~&cge6M2cp!3`xDU&CSh5O_Fm$>(?i@=`KPl_@n-bz}F6?>RI63)ftBj8X)N^z``cpvoza`M~+$g8q zLhHVu2LOnpUYN69sbbMPr%Nu!;Brw$%6{Op5n1o>@t+UeDYGA`GN77)$+T!hTFXD_ zsQGD4np$w?{($UM^i71J*z~G^whkTlFX&Whkjlw`)sdc*Nx9o7XjdbSvw*e*LMk=z z2}wwpH2B5D68};9n{(4mK3eN)Tbi5fb@ADSz-Q-Ji!c2U`p%3p?BD(HjsUPEI-u@# zm2QPq%mCBocJ!MZTlegk?)v#oC6Xk|^Dsa=JOvTj@>5ce|}*Z)6D!@sQAXP zT%55v|IH2;*QV=xCy}F`&QZzQ+f#$E2c*R-(UKXMKv4=bHuG2u>EdZZw>dv+%DI_I zlqR)^+p>ro!sW)~DL%pk81(LgS#%OBa|E_QK4Gom{p;Ps4Q=_qj;=$&(c-Z>!Z z$259#BL!A2&P6^@mS(HxiLM;n8#H(g`QkY@wM0R;@1aOx-jI;6B1zho1%DltWpW6fKVK;8XaZB$ zYcg#2|GG#2q)29d661s&*lPDLqt*$RUK!9hu2lnHjRzNz7>aylehuo@Am5ezf5~@I zk+t++j{C$7iIX zM{D8oNyP21kMQpj|M@q64Lq|_Yal6&OHAYpGbqbJ8~k6=C+fy>s(|X%!@ZOXy22DQ zMCQ9p_`44GkV2^ebN_$TfRJ`n>wR%?W(1(fqMnfh^bu4hMxFt}huYf03+}^Tv1|P7 z1G`ymBvGdn-u4e5yjd2)o9#QVqy#a1+_#8Y)!P}32-YjNZJhwW;{SArOx^`_Dzc4`F+F1BcQ(52z@;F89X%x z!OG6=Wjpu3^&3!^u>pRST%1j5u$1M_7otBWMIyNz6v0*ACuWvx87NJq|2n~04Hw)y z8RudfzmNd*!BfDbHm_*|C+=RKRV<2vHA?{E8%`zIZ$5T**7iOR)r7(YW(wRV(C%ft6U(tVAyY2;tP5D zl^{>O_?A}SWU=9_H>RPe=A~D!Vy>>J=aJhg&J;P9wO9Ca_t?Cu=T+1Ge%VB+sZ!r4 zq-#xMVhWEe5MH_&4T}KkLEbV7P{mvk=RT)2Y~MZ3rZDICvqeJeVv z3V4?vx7knm|KT@{^Z|Yo8$nPS&8SZ7poRaJdA~O9%3gMiMWolma>>AJfD-U7Do&{;Qu7v%# zc~&(ra;O0gV-sL}UBwL%_|cZ@h`y`7@-U9rHX1fNRjM4sYnC`7Fnjx;@%i$%;$W#G zaXSyNPo@}*xP}fMOck`&6Ewco^in;wJJ0sa&5d<9JN*QMujKWl??*{5l^s5e%=a3K zpo`W#0oCfCE#dJfS^l=O_b=`wdwwt;a{|l{TW^K%?5XI+GvgyLoJyRJ=y!|r1-Kyq=x`WNpBTNC|IMSzQz&^dM$lp=pOE^yGjX& zw`M4v@LhDuq^CQ8`&9WkYF%?jXY`B+dWp2U;Ii$dc5M4pk}J7R~4TPx7gK<%|3ex37YF!lbhdwuH3%G z(F(9#*e_}NucWbd(S z8<}R+QQeZL&B^Yfxl}~kh)yEkP6MP^x_7?kd)~VV2H0%=inDd0Dsmg^GWgYS+{P6Z z*?U2a;KTaA=(|26AZ3SJtd^BP|ccy!G7WDxbE# zsxpIezdyls*$i#M$kWX18v+trtXZthoORDsLCPyAcZVEM?13#wqUY&K))XlI=EaVx zd#eF+qXU7MLDma{v8lPNjnlg>>!X(=e8G3tfT1w8_dQSH@Z6kF4^i6>C?)Zgsq*@0 z<*VnL+vUdGY|22{>7m@@TfAuqzeaAu^%Egbs}Y}3T9jUzG~9T&r&VR>Qbptw4-5W@ z*mc^-I{KN%8FVtDV&3Acb!u0Y6uoAJ4>fT3loEm8i1RatU9FWGX9`C|h9HNpju&S} zZs7MF`HyK+B@xF@p3Ex=MSL`pe|CoNN`KeK`QdtxzbwCPI_cLlhk^CpU>_R+7}l9_ z@@av{_v(!ucYKDd>XvUmNSe7qM|y&M=r==qslSToP>Q?n`mqs)fkfa*oE)B;&qcOL zhHib%_7fmJ2I}>Lj{~=#a-C=v=&eMt%fds&;sINf<=~5wH|sywtAKc95+d0fmD*$s z?yCBpFZpgltu`?*_q3+*e66v7o&Fl^^)658ynC-_qGy-x^n3xZ3RWg6tsJW9{)Otr zn~G_OF(Ih?8=jn{GlKkSLwYye}5(5!zS5ysp6s93n@%gQ{{y!@SiZ( zW`t^{tu1PRN#sH&CgaVf zIiot1a?rFUSYb0o^#UbxAuv2{3AqVP(8xj~;Gj4F?FkIz5Orsj*av+J|A*r!iRznGq5uYJ{k-G=gM{~FBwRI#&w8H4E&bt9q} zi!ZfNWxPB$9$6rWgwrFh4rP{!px6rax0L@GdlIj5*I;l(Zg?~^�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

{7oCXYLlue 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 Bnz#S} literal 0 HcmV?d00001 diff --git a/pythonData/poetry.lock b/pythonData/poetry.lock index 85c0c12d69..bcf89193d7 100644 --- a/pythonData/poetry.lock +++ b/pythonData/poetry.lock @@ -1,233 +1,2637 @@ # This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +[[package]] +name = "anyio" +version = "4.3.0" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +optional = false +python-versions = ">=3.8" +files = [ + {file = "anyio-4.3.0-py3-none-any.whl", hash = "sha256:048e05d0f6caeed70d731f3db756d35dcc1f35747c8c403364a8332c630441b8"}, + {file = "anyio-4.3.0.tar.gz", hash = "sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6"}, +] + +[package.dependencies] +idna = ">=2.8" +sniffio = ">=1.1" + +[package.extras] +doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] +trio = ["trio (>=0.23)"] + +[[package]] +name = "appnope" +version = "0.1.4" +description = "Disable App Nap on macOS >= 10.9" +optional = false +python-versions = ">=3.6" +files = [ + {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, + {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, +] + +[[package]] +name = "argon2-cffi" +version = "23.1.0" +description = "Argon2 for Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"}, + {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"}, +] + +[package.dependencies] +argon2-cffi-bindings = "*" + +[package.extras] +dev = ["argon2-cffi[tests,typing]", "tox (>4)"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-copybutton", "sphinx-notfound-page"] +tests = ["hypothesis", "pytest"] +typing = ["mypy"] + +[[package]] +name = "argon2-cffi-bindings" +version = "21.2.0" +description = "Low-level CFFI bindings for Argon2" +optional = false +python-versions = ">=3.6" +files = [ + {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f"}, + {file = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a"}, +] + +[package.dependencies] +cffi = ">=1.0.1" + +[package.extras] +dev = ["cogapp", "pre-commit", "pytest", "wheel"] +tests = ["pytest"] + +[[package]] +name = "arrow" +version = "1.3.0" +description = "Better dates & times for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, + {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, +] + +[package.dependencies] +python-dateutil = ">=2.7.0" +types-python-dateutil = ">=2.8.10" + +[package.extras] +doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] +test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] + [[package]] name = "asciitree" version = "0.3.3" description = "Draws ASCII trees." optional = false -python-versions = "*" +python-versions = "*" +files = [ + {file = "asciitree-0.3.3.tar.gz", hash = "sha256:4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e"}, +] + +[[package]] +name = "asttokens" +version = "2.4.1" +description = "Annotate AST trees with source code positions" +optional = false +python-versions = "*" +files = [ + {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"}, + {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, +] + +[package.dependencies] +six = ">=1.12.0" + +[package.extras] +astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"] +test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] + +[[package]] +name = "async-lru" +version = "2.0.4" +description = "Simple LRU cache for asyncio" +optional = false +python-versions = ">=3.8" +files = [ + {file = "async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627"}, + {file = "async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224"}, +] + +[[package]] +name = "attrs" +version = "23.2.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.7" +files = [ + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, +] + +[package.extras] +cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] +dev = ["attrs[tests]", "pre-commit"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] +tests = ["attrs[tests-no-zope]", "zope-interface"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] + +[[package]] +name = "babel" +version = "2.14.0" +description = "Internationalization utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, + {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, +] + +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + +[[package]] +name = "beautifulsoup4" +version = "4.12.3" +description = "Screen-scraping library" +optional = false +python-versions = ">=3.6.0" +files = [ + {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, + {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, +] + +[package.dependencies] +soupsieve = ">1.2" + +[package.extras] +cchardet = ["cchardet"] +chardet = ["chardet"] +charset-normalizer = ["charset-normalizer"] +html5lib = ["html5lib"] +lxml = ["lxml"] + +[[package]] +name = "bleach" +version = "6.1.0" +description = "An easy safelist-based HTML-sanitizing tool." +optional = false +python-versions = ">=3.8" +files = [ + {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"}, + {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"}, +] + +[package.dependencies] +six = ">=1.9.0" +webencodings = "*" + +[package.extras] +css = ["tinycss2 (>=1.1.0,<1.3)"] + +[[package]] +name = "certifi" +version = "2024.2.2" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, +] + +[[package]] +name = "cffi" +version = "1.16.0" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, +] + +[package.dependencies] +pycparser = "*" + +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "comm" +version = "0.2.1" +description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." +optional = false +python-versions = ">=3.8" +files = [ + {file = "comm-0.2.1-py3-none-any.whl", hash = "sha256:87928485c0dfc0e7976fd89fc1e187023cf587e7c353e4a9b417555b44adf021"}, + {file = "comm-0.2.1.tar.gz", hash = "sha256:0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a"}, +] + +[package.dependencies] +traitlets = ">=4" + +[package.extras] +test = ["pytest"] + +[[package]] +name = "contourpy" +version = "1.2.0" +description = "Python library for calculating contours of 2D quadrilateral grids" +optional = false +python-versions = ">=3.9" +files = [ + {file = "contourpy-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0274c1cb63625972c0c007ab14dd9ba9e199c36ae1a231ce45d725cbcbfd10a8"}, + {file = "contourpy-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ab459a1cbbf18e8698399c595a01f6dcc5c138220ca3ea9e7e6126232d102bb4"}, + {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fdd887f17c2f4572ce548461e4f96396681212d858cae7bd52ba3310bc6f00f"}, + {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d16edfc3fc09968e09ddffada434b3bf989bf4911535e04eada58469873e28e"}, + {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c203f617abc0dde5792beb586f827021069fb6d403d7f4d5c2b543d87edceb9"}, + {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b69303ceb2e4d4f146bf82fda78891ef7bcd80c41bf16bfca3d0d7eb545448aa"}, + {file = "contourpy-1.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:884c3f9d42d7218304bc74a8a7693d172685c84bd7ab2bab1ee567b769696df9"}, + {file = "contourpy-1.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4a1b1208102be6e851f20066bf0e7a96b7d48a07c9b0cfe6d0d4545c2f6cadab"}, + {file = "contourpy-1.2.0-cp310-cp310-win32.whl", hash = "sha256:34b9071c040d6fe45d9826cbbe3727d20d83f1b6110d219b83eb0e2a01d79488"}, + {file = "contourpy-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:bd2f1ae63998da104f16a8b788f685e55d65760cd1929518fd94cd682bf03e41"}, + {file = "contourpy-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dd10c26b4eadae44783c45ad6655220426f971c61d9b239e6f7b16d5cdaaa727"}, + {file = "contourpy-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5c6b28956b7b232ae801406e529ad7b350d3f09a4fde958dfdf3c0520cdde0dd"}, + {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebeac59e9e1eb4b84940d076d9f9a6cec0064e241818bcb6e32124cc5c3e377a"}, + {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:139d8d2e1c1dd52d78682f505e980f592ba53c9f73bd6be102233e358b401063"}, + {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e9dc350fb4c58adc64df3e0703ab076f60aac06e67d48b3848c23647ae4310e"}, + {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18fc2b4ed8e4a8fe849d18dce4bd3c7ea637758c6343a1f2bae1e9bd4c9f4686"}, + {file = "contourpy-1.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:16a7380e943a6d52472096cb7ad5264ecee36ed60888e2a3d3814991a0107286"}, + {file = "contourpy-1.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8d8faf05be5ec8e02a4d86f616fc2a0322ff4a4ce26c0f09d9f7fb5330a35c95"}, + {file = "contourpy-1.2.0-cp311-cp311-win32.whl", hash = "sha256:67b7f17679fa62ec82b7e3e611c43a016b887bd64fb933b3ae8638583006c6d6"}, + {file = "contourpy-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:99ad97258985328b4f207a5e777c1b44a83bfe7cf1f87b99f9c11d4ee477c4de"}, + {file = "contourpy-1.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:575bcaf957a25d1194903a10bc9f316c136c19f24e0985a2b9b5608bdf5dbfe0"}, + {file = "contourpy-1.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9e6c93b5b2dbcedad20a2f18ec22cae47da0d705d454308063421a3b290d9ea4"}, + {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:464b423bc2a009088f19bdf1f232299e8b6917963e2b7e1d277da5041f33a779"}, + {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68ce4788b7d93e47f84edd3f1f95acdcd142ae60bc0e5493bfd120683d2d4316"}, + {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d7d1f8871998cdff5d2ff6a087e5e1780139abe2838e85b0b46b7ae6cc25399"}, + {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e739530c662a8d6d42c37c2ed52a6f0932c2d4a3e8c1f90692ad0ce1274abe0"}, + {file = "contourpy-1.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:247b9d16535acaa766d03037d8e8fb20866d054d3c7fbf6fd1f993f11fc60ca0"}, + {file = "contourpy-1.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:461e3ae84cd90b30f8d533f07d87c00379644205b1d33a5ea03381edc4b69431"}, + {file = "contourpy-1.2.0-cp312-cp312-win32.whl", hash = "sha256:1c2559d6cffc94890b0529ea7eeecc20d6fadc1539273aa27faf503eb4656d8f"}, + {file = "contourpy-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:491b1917afdd8638a05b611a56d46587d5a632cabead889a5440f7c638bc6ed9"}, + {file = "contourpy-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5fd1810973a375ca0e097dee059c407913ba35723b111df75671a1976efa04bc"}, + {file = "contourpy-1.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:999c71939aad2780f003979b25ac5b8f2df651dac7b38fb8ce6c46ba5abe6ae9"}, + {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7caf9b241464c404613512d5594a6e2ff0cc9cb5615c9475cc1d9b514218ae8"}, + {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:266270c6f6608340f6c9836a0fb9b367be61dde0c9a9a18d5ece97774105ff3e"}, + {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbd50d0a0539ae2e96e537553aff6d02c10ed165ef40c65b0e27e744a0f10af8"}, + {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11f8d2554e52f459918f7b8e6aa20ec2a3bce35ce95c1f0ef4ba36fbda306df5"}, + {file = "contourpy-1.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ce96dd400486e80ac7d195b2d800b03e3e6a787e2a522bfb83755938465a819e"}, + {file = "contourpy-1.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6d3364b999c62f539cd403f8123ae426da946e142312a514162adb2addd8d808"}, + {file = "contourpy-1.2.0-cp39-cp39-win32.whl", hash = "sha256:1c88dfb9e0c77612febebb6ac69d44a8d81e3dc60f993215425b62c1161353f4"}, + {file = "contourpy-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:78e6ad33cf2e2e80c5dfaaa0beec3d61face0fb650557100ee36db808bfa6843"}, + {file = "contourpy-1.2.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:be16975d94c320432657ad2402f6760990cb640c161ae6da1363051805fa8108"}, + {file = "contourpy-1.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b95a225d4948b26a28c08307a60ac00fb8671b14f2047fc5476613252a129776"}, + {file = "contourpy-1.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0d7e03c0f9a4f90dc18d4e77e9ef4ec7b7bbb437f7f675be8e530d65ae6ef956"}, + {file = "contourpy-1.2.0.tar.gz", hash = "sha256:171f311cb758de7da13fc53af221ae47a5877be5a0843a9fe150818c51ed276a"}, +] + +[package.dependencies] +numpy = ">=1.20,<2.0" + +[package.extras] +bokeh = ["bokeh", "selenium"] +docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] +mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.6.1)", "types-Pillow"] +test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] +test-no-images = ["pytest", "pytest-cov", "pytest-xdist", "wurlitzer"] + +[[package]] +name = "cycler" +version = "0.12.1" +description = "Composable style cycles" +optional = false +python-versions = ">=3.8" +files = [ + {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, + {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, +] + +[package.extras] +docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] +tests = ["pytest", "pytest-cov", "pytest-xdist"] + +[[package]] +name = "debugpy" +version = "1.8.1" +description = "An implementation of the Debug Adapter Protocol for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "debugpy-1.8.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:3bda0f1e943d386cc7a0e71bfa59f4137909e2ed947fb3946c506e113000f741"}, + {file = "debugpy-1.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dda73bf69ea479c8577a0448f8c707691152e6c4de7f0c4dec5a4bc11dee516e"}, + {file = "debugpy-1.8.1-cp310-cp310-win32.whl", hash = "sha256:3a79c6f62adef994b2dbe9fc2cc9cc3864a23575b6e387339ab739873bea53d0"}, + {file = "debugpy-1.8.1-cp310-cp310-win_amd64.whl", hash = "sha256:7eb7bd2b56ea3bedb009616d9e2f64aab8fc7000d481faec3cd26c98a964bcdd"}, + {file = "debugpy-1.8.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:016a9fcfc2c6b57f939673c874310d8581d51a0fe0858e7fac4e240c5eb743cb"}, + {file = "debugpy-1.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd97ed11a4c7f6d042d320ce03d83b20c3fb40da892f994bc041bbc415d7a099"}, + {file = "debugpy-1.8.1-cp311-cp311-win32.whl", hash = "sha256:0de56aba8249c28a300bdb0672a9b94785074eb82eb672db66c8144fff673146"}, + {file = "debugpy-1.8.1-cp311-cp311-win_amd64.whl", hash = "sha256:1a9fe0829c2b854757b4fd0a338d93bc17249a3bf69ecf765c61d4c522bb92a8"}, + {file = "debugpy-1.8.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3ebb70ba1a6524d19fa7bb122f44b74170c447d5746a503e36adc244a20ac539"}, + {file = "debugpy-1.8.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2e658a9630f27534e63922ebf655a6ab60c370f4d2fc5c02a5b19baf4410ace"}, + {file = "debugpy-1.8.1-cp312-cp312-win32.whl", hash = "sha256:caad2846e21188797a1f17fc09c31b84c7c3c23baf2516fed5b40b378515bbf0"}, + {file = "debugpy-1.8.1-cp312-cp312-win_amd64.whl", hash = "sha256:edcc9f58ec0fd121a25bc950d4578df47428d72e1a0d66c07403b04eb93bcf98"}, + {file = "debugpy-1.8.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:7a3afa222f6fd3d9dfecd52729bc2e12c93e22a7491405a0ecbf9e1d32d45b39"}, + {file = "debugpy-1.8.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d915a18f0597ef685e88bb35e5d7ab968964b7befefe1aaea1eb5b2640b586c7"}, + {file = "debugpy-1.8.1-cp38-cp38-win32.whl", hash = "sha256:92116039b5500633cc8d44ecc187abe2dfa9b90f7a82bbf81d079fcdd506bae9"}, + {file = "debugpy-1.8.1-cp38-cp38-win_amd64.whl", hash = "sha256:e38beb7992b5afd9d5244e96ad5fa9135e94993b0c551ceebf3fe1a5d9beb234"}, + {file = "debugpy-1.8.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:bfb20cb57486c8e4793d41996652e5a6a885b4d9175dd369045dad59eaacea42"}, + {file = "debugpy-1.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efd3fdd3f67a7e576dd869c184c5dd71d9aaa36ded271939da352880c012e703"}, + {file = "debugpy-1.8.1-cp39-cp39-win32.whl", hash = "sha256:58911e8521ca0c785ac7a0539f1e77e0ce2df753f786188f382229278b4cdf23"}, + {file = "debugpy-1.8.1-cp39-cp39-win_amd64.whl", hash = "sha256:6df9aa9599eb05ca179fb0b810282255202a66835c6efb1d112d21ecb830ddd3"}, + {file = "debugpy-1.8.1-py2.py3-none-any.whl", hash = "sha256:28acbe2241222b87e255260c76741e1fbf04fdc3b6d094fcf57b6c6f75ce1242"}, + {file = "debugpy-1.8.1.zip", hash = "sha256:f696d6be15be87aef621917585f9bb94b1dc9e8aced570db1b8a6fc14e8f9b42"}, +] + +[[package]] +name = "decorator" +version = "5.1.1" +description = "Decorators for Humans" +optional = false +python-versions = ">=3.5" +files = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] + +[[package]] +name = "defusedxml" +version = "0.7.1" +description = "XML bomb protection for Python stdlib modules" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, + {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, +] + +[[package]] +name = "executing" +version = "2.0.1" +description = "Get the currently executing AST node of a frame, and other information" +optional = false +python-versions = ">=3.5" +files = [ + {file = "executing-2.0.1-py2.py3-none-any.whl", hash = "sha256:eac49ca94516ccc753f9fb5ce82603156e590b27525a8bc32cce8ae302eb61bc"}, + {file = "executing-2.0.1.tar.gz", hash = "sha256:35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147"}, +] + +[package.extras] +tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] + +[[package]] +name = "fasteners" +version = "0.19" +description = "A python package that provides useful locks" +optional = false +python-versions = ">=3.6" +files = [ + {file = "fasteners-0.19-py3-none-any.whl", hash = "sha256:758819cb5d94cdedf4e836988b74de396ceacb8e2794d21f82d131fd9ee77237"}, + {file = "fasteners-0.19.tar.gz", hash = "sha256:b4f37c3ac52d8a445af3a66bce57b33b5e90b97c696b7b984f530cf8f0ded09c"}, +] + +[[package]] +name = "fastjsonschema" +version = "2.19.1" +description = "Fastest Python implementation of JSON schema" +optional = false +python-versions = "*" +files = [ + {file = "fastjsonschema-2.19.1-py3-none-any.whl", hash = "sha256:3672b47bc94178c9f23dbb654bf47440155d4db9df5f7bc47643315f9c405cd0"}, + {file = "fastjsonschema-2.19.1.tar.gz", hash = "sha256:e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d"}, +] + +[package.extras] +devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benchmark", "pytest-cache", "validictory"] + +[[package]] +name = "fonttools" +version = "4.49.0" +description = "Tools to manipulate font files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fonttools-4.49.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d970ecca0aac90d399e458f0b7a8a597e08f95de021f17785fb68e2dc0b99717"}, + {file = "fonttools-4.49.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac9a745b7609f489faa65e1dc842168c18530874a5f5b742ac3dd79e26bca8bc"}, + {file = "fonttools-4.49.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ba0e00620ca28d4ca11fc700806fd69144b463aa3275e1b36e56c7c09915559"}, + {file = "fonttools-4.49.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdee3ab220283057e7840d5fb768ad4c2ebe65bdba6f75d5d7bf47f4e0ed7d29"}, + {file = "fonttools-4.49.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ce7033cb61f2bb65d8849658d3786188afd80f53dad8366a7232654804529532"}, + {file = "fonttools-4.49.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:07bc5ea02bb7bc3aa40a1eb0481ce20e8d9b9642a9536cde0218290dd6085828"}, + {file = "fonttools-4.49.0-cp310-cp310-win32.whl", hash = "sha256:86eef6aab7fd7c6c8545f3ebd00fd1d6729ca1f63b0cb4d621bccb7d1d1c852b"}, + {file = "fonttools-4.49.0-cp310-cp310-win_amd64.whl", hash = "sha256:1fac1b7eebfce75ea663e860e7c5b4a8831b858c17acd68263bc156125201abf"}, + {file = "fonttools-4.49.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:edc0cce355984bb3c1d1e89d6a661934d39586bb32191ebff98c600f8957c63e"}, + {file = "fonttools-4.49.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:83a0d9336de2cba86d886507dd6e0153df333ac787377325a39a2797ec529814"}, + {file = "fonttools-4.49.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36c8865bdb5cfeec88f5028e7e592370a0657b676c6f1d84a2108e0564f90e22"}, + {file = "fonttools-4.49.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33037d9e56e2562c710c8954d0f20d25b8386b397250d65581e544edc9d6b942"}, + {file = "fonttools-4.49.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8fb022d799b96df3eaa27263e9eea306bd3d437cc9aa981820850281a02b6c9a"}, + {file = "fonttools-4.49.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33c584c0ef7dc54f5dd4f84082eabd8d09d1871a3d8ca2986b0c0c98165f8e86"}, + {file = "fonttools-4.49.0-cp311-cp311-win32.whl", hash = "sha256:cbe61b158deb09cffdd8540dc4a948d6e8f4d5b4f3bf5cd7db09bd6a61fee64e"}, + {file = "fonttools-4.49.0-cp311-cp311-win_amd64.whl", hash = "sha256:fc11e5114f3f978d0cea7e9853627935b30d451742eeb4239a81a677bdee6bf6"}, + {file = "fonttools-4.49.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d647a0e697e5daa98c87993726da8281c7233d9d4ffe410812a4896c7c57c075"}, + {file = "fonttools-4.49.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f3bbe672df03563d1f3a691ae531f2e31f84061724c319652039e5a70927167e"}, + {file = "fonttools-4.49.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bebd91041dda0d511b0d303180ed36e31f4f54b106b1259b69fade68413aa7ff"}, + {file = "fonttools-4.49.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4145f91531fd43c50f9eb893faa08399816bb0b13c425667c48475c9f3a2b9b5"}, + {file = "fonttools-4.49.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ea329dafb9670ffbdf4dbc3b0e5c264104abcd8441d56de77f06967f032943cb"}, + {file = "fonttools-4.49.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c076a9e548521ecc13d944b1d261ff3d7825048c338722a4bd126d22316087b7"}, + {file = "fonttools-4.49.0-cp312-cp312-win32.whl", hash = "sha256:b607ea1e96768d13be26d2b400d10d3ebd1456343eb5eaddd2f47d1c4bd00880"}, + {file = "fonttools-4.49.0-cp312-cp312-win_amd64.whl", hash = "sha256:a974c49a981e187381b9cc2c07c6b902d0079b88ff01aed34695ec5360767034"}, + {file = "fonttools-4.49.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b85ec0bdd7bdaa5c1946398cbb541e90a6dfc51df76dfa88e0aaa41b335940cb"}, + {file = "fonttools-4.49.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:af20acbe198a8a790618ee42db192eb128afcdcc4e96d99993aca0b60d1faeb4"}, + {file = "fonttools-4.49.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d418b1fee41a1d14931f7ab4b92dc0bc323b490e41d7a333eec82c9f1780c75"}, + {file = "fonttools-4.49.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b44a52b8e6244b6548851b03b2b377a9702b88ddc21dcaf56a15a0393d425cb9"}, + {file = "fonttools-4.49.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7c7125068e04a70739dad11857a4d47626f2b0bd54de39e8622e89701836eabd"}, + {file = "fonttools-4.49.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:29e89d0e1a7f18bc30f197cfadcbef5a13d99806447c7e245f5667579a808036"}, + {file = "fonttools-4.49.0-cp38-cp38-win32.whl", hash = "sha256:9d95fa0d22bf4f12d2fb7b07a46070cdfc19ef5a7b1c98bc172bfab5bf0d6844"}, + {file = "fonttools-4.49.0-cp38-cp38-win_amd64.whl", hash = "sha256:768947008b4dc552d02772e5ebd49e71430a466e2373008ce905f953afea755a"}, + {file = "fonttools-4.49.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:08877e355d3dde1c11973bb58d4acad1981e6d1140711230a4bfb40b2b937ccc"}, + {file = "fonttools-4.49.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fdb54b076f25d6b0f0298dc706acee5052de20c83530fa165b60d1f2e9cbe3cb"}, + {file = "fonttools-4.49.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0af65c720520710cc01c293f9c70bd69684365c6015cc3671db2b7d807fe51f2"}, + {file = "fonttools-4.49.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f255ce8ed7556658f6d23f6afd22a6d9bbc3edb9b96c96682124dc487e1bf42"}, + {file = "fonttools-4.49.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d00af0884c0e65f60dfaf9340e26658836b935052fdd0439952ae42e44fdd2be"}, + {file = "fonttools-4.49.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:263832fae27481d48dfafcc43174644b6706639661e242902ceb30553557e16c"}, + {file = "fonttools-4.49.0-cp39-cp39-win32.whl", hash = "sha256:0404faea044577a01bb82d47a8fa4bc7a54067fa7e324785dd65d200d6dd1133"}, + {file = "fonttools-4.49.0-cp39-cp39-win_amd64.whl", hash = "sha256:b050d362df50fc6e38ae3954d8c29bf2da52be384649ee8245fdb5186b620836"}, + {file = "fonttools-4.49.0-py3-none-any.whl", hash = "sha256:af281525e5dd7fa0b39fb1667b8d5ca0e2a9079967e14c4bfe90fd1cd13e0f18"}, + {file = "fonttools-4.49.0.tar.gz", hash = "sha256:ebf46e7f01b7af7861310417d7c49591a85d99146fc23a5ba82fdb28af156321"}, +] + +[package.extras] +all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] +graphite = ["lz4 (>=1.7.4.2)"] +interpolatable = ["munkres", "pycairo", "scipy"] +lxml = ["lxml (>=4.0)"] +pathops = ["skia-pathops (>=0.5.0)"] +plot = ["matplotlib"] +repacker = ["uharfbuzz (>=0.23.0)"] +symfont = ["sympy"] +type1 = ["xattr"] +ufo = ["fs (>=2.2.0,<3)"] +unicode = ["unicodedata2 (>=15.1.0)"] +woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] + +[[package]] +name = "fqdn" +version = "1.5.1" +description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" +optional = false +python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" +files = [ + {file = "fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"}, + {file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"}, +] + +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +optional = false +python-versions = ">=3.7" +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] + +[[package]] +name = "httpcore" +version = "1.0.4" +description = "A minimal low-level HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpcore-1.0.4-py3-none-any.whl", hash = "sha256:ac418c1db41bade2ad53ae2f3834a3a0f5ae76b56cf5aa497d2d033384fc7d73"}, + {file = "httpcore-1.0.4.tar.gz", hash = "sha256:cb2839ccfcba0d2d3c1131d3c3e26dfc327326fbe7a5dc0dbfe9f6c9151bb022"}, +] + +[package.dependencies] +certifi = "*" +h11 = ">=0.13,<0.15" + +[package.extras] +asyncio = ["anyio (>=4.0,<5.0)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] +trio = ["trio (>=0.22.0,<0.25.0)"] + +[[package]] +name = "httpx" +version = "0.27.0" +description = "The next generation HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5"}, + {file = "httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"}, +] + +[package.dependencies] +anyio = "*" +certifi = "*" +httpcore = "==1.*" +idna = "*" +sniffio = "*" + +[package.extras] +brotli = ["brotli", "brotlicffi"] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] + +[[package]] +name = "idna" +version = "3.6" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, +] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +optional = false +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "ipykernel" +version = "6.29.2" +description = "IPython Kernel for Jupyter" +optional = false +python-versions = ">=3.8" +files = [ + {file = "ipykernel-6.29.2-py3-none-any.whl", hash = "sha256:50384f5c577a260a1d53f1f59a828c7266d321c9b7d00d345693783f66616055"}, + {file = "ipykernel-6.29.2.tar.gz", hash = "sha256:3bade28004e3ff624ed57974948116670604ac5f676d12339693f3142176d3f0"}, +] + +[package.dependencies] +appnope = {version = "*", markers = "platform_system == \"Darwin\""} +comm = ">=0.1.1" +debugpy = ">=1.6.5" +ipython = ">=7.23.1" +jupyter-client = ">=6.1.12" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +matplotlib-inline = ">=0.1" +nest-asyncio = "*" +packaging = "*" +psutil = "*" +pyzmq = ">=24" +tornado = ">=6.1" +traitlets = ">=5.4.0" + +[package.extras] +cov = ["coverage[toml]", "curio", "matplotlib", "pytest-cov", "trio"] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "trio"] +pyqt5 = ["pyqt5"] +pyside6 = ["pyside6"] +test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (==0.23.4)", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "ipython" +version = "8.22.1" +description = "IPython: Productive Interactive Computing" +optional = false +python-versions = ">=3.10" +files = [ + {file = "ipython-8.22.1-py3-none-any.whl", hash = "sha256:869335e8cded62ffb6fac8928e5287a05433d6462e3ebaac25f4216474dd6bc4"}, + {file = "ipython-8.22.1.tar.gz", hash = "sha256:39c6f9efc079fb19bfb0f17eee903978fe9a290b1b82d68196c641cecb76ea22"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +decorator = "*" +jedi = ">=0.16" +matplotlib-inline = "*" +pexpect = {version = ">4.3", markers = "sys_platform != \"win32\" and sys_platform != \"emscripten\""} +prompt-toolkit = ">=3.0.41,<3.1.0" +pygments = ">=2.4.0" +stack-data = "*" +traitlets = ">=5.13.0" + +[package.extras] +all = ["ipython[black,doc,kernel,nbconvert,nbformat,notebook,parallel,qtconsole,terminal]", "ipython[test,test-extra]"] +black = ["black"] +doc = ["docrepr", "exceptiongroup", "ipykernel", "ipython[test]", "matplotlib", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "sphinxcontrib-jquery", "stack-data", "typing-extensions"] +kernel = ["ipykernel"] +nbconvert = ["nbconvert"] +nbformat = ["nbformat"] +notebook = ["ipywidgets", "notebook"] +parallel = ["ipyparallel"] +qtconsole = ["qtconsole"] +test = ["pickleshare", "pytest (<8)", "pytest-asyncio (<0.22)", "testpath"] +test-extra = ["curio", "ipython[test]", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "trio"] + +[[package]] +name = "ipywidgets" +version = "8.1.2" +description = "Jupyter interactive widgets" +optional = false +python-versions = ">=3.7" +files = [ + {file = "ipywidgets-8.1.2-py3-none-any.whl", hash = "sha256:bbe43850d79fb5e906b14801d6c01402857996864d1e5b6fa62dd2ee35559f60"}, + {file = "ipywidgets-8.1.2.tar.gz", hash = "sha256:d0b9b41e49bae926a866e613a39b0f0097745d2b9f1f3dd406641b4a57ec42c9"}, +] + +[package.dependencies] +comm = ">=0.1.3" +ipython = ">=6.1.0" +jupyterlab-widgets = ">=3.0.10,<3.1.0" +traitlets = ">=4.3.1" +widgetsnbextension = ">=4.0.10,<4.1.0" + +[package.extras] +test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] + +[[package]] +name = "isoduration" +version = "20.11.0" +description = "Operations with ISO 8601 durations" +optional = false +python-versions = ">=3.7" +files = [ + {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, + {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, +] + +[package.dependencies] +arrow = ">=0.15.0" + +[[package]] +name = "jedi" +version = "0.19.1" +description = "An autocompletion tool for Python that can be used for text editors." +optional = false +python-versions = ">=3.6" +files = [ + {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"}, + {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, +] + +[package.dependencies] +parso = ">=0.8.3,<0.9.0" + +[package.extras] +docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] +qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] +testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] + +[[package]] +name = "jinja2" +version = "3.1.3" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, + {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "json5" +version = "0.9.17" +description = "A Python implementation of the JSON5 data format." +optional = false +python-versions = ">=3.8" +files = [ + {file = "json5-0.9.17-py2.py3-none-any.whl", hash = "sha256:f8ec1ecf985951d70f780f6f877c4baca6a47b6e61e02c4cd190138d10a7805a"}, + {file = "json5-0.9.17.tar.gz", hash = "sha256:717d99d657fa71b7094877b1d921b1cce40ab444389f6d770302563bb7dfd9ae"}, +] + +[package.extras] +dev = ["hypothesis"] + +[[package]] +name = "jsonpointer" +version = "2.4" +description = "Identify specific nodes in a JSON document (RFC 6901)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpointer-2.4-py2.py3-none-any.whl", hash = "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a"}, + {file = "jsonpointer-2.4.tar.gz", hash = "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"}, +] + +[[package]] +name = "jsonschema" +version = "4.21.1" +description = "An implementation of JSON Schema validation for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jsonschema-4.21.1-py3-none-any.whl", hash = "sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f"}, + {file = "jsonschema-4.21.1.tar.gz", hash = "sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"}, +] + +[package.dependencies] +attrs = ">=22.2.0" +fqdn = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +idna = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +isoduration = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +jsonpointer = {version = ">1.13", optional = true, markers = "extra == \"format-nongpl\""} +jsonschema-specifications = ">=2023.03.6" +referencing = ">=0.28.4" +rfc3339-validator = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +rfc3986-validator = {version = ">0.1.0", optional = true, markers = "extra == \"format-nongpl\""} +rpds-py = ">=0.7.1" +uri-template = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +webcolors = {version = ">=1.11", optional = true, markers = "extra == \"format-nongpl\""} + +[package.extras] +format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] + +[[package]] +name = "jsonschema-specifications" +version = "2023.12.1" +description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, + {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, +] + +[package.dependencies] +referencing = ">=0.31.0" + +[[package]] +name = "jupyter" +version = "1.0.0" +description = "Jupyter metapackage. Install all the Jupyter components in one go." +optional = false +python-versions = "*" +files = [ + {file = "jupyter-1.0.0-py2.py3-none-any.whl", hash = "sha256:5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78"}, + {file = "jupyter-1.0.0.tar.gz", hash = "sha256:d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f"}, + {file = "jupyter-1.0.0.zip", hash = "sha256:3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7"}, +] + +[package.dependencies] +ipykernel = "*" +ipywidgets = "*" +jupyter-console = "*" +nbconvert = "*" +notebook = "*" +qtconsole = "*" + +[[package]] +name = "jupyter-client" +version = "8.6.0" +description = "Jupyter protocol implementation and client libraries" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_client-8.6.0-py3-none-any.whl", hash = "sha256:909c474dbe62582ae62b758bca86d6518c85234bdee2d908c778db6d72f39d99"}, + {file = "jupyter_client-8.6.0.tar.gz", hash = "sha256:0642244bb83b4764ae60d07e010e15f0e2d275ec4e918a8f7b80fbbef3ca60c7"}, +] + +[package.dependencies] +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +python-dateutil = ">=2.8.2" +pyzmq = ">=23.0" +tornado = ">=6.2" +traitlets = ">=5.3" + +[package.extras] +docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] + +[[package]] +name = "jupyter-console" +version = "6.6.3" +description = "Jupyter terminal console" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jupyter_console-6.6.3-py3-none-any.whl", hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485"}, + {file = "jupyter_console-6.6.3.tar.gz", hash = "sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539"}, +] + +[package.dependencies] +ipykernel = ">=6.14" +ipython = "*" +jupyter-client = ">=7.0.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +prompt-toolkit = ">=3.0.30" +pygments = "*" +pyzmq = ">=17" +traitlets = ">=5.4" + +[package.extras] +test = ["flaky", "pexpect", "pytest"] + +[[package]] +name = "jupyter-core" +version = "5.7.1" +description = "Jupyter core package. A base package on which Jupyter projects rely." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_core-5.7.1-py3-none-any.whl", hash = "sha256:c65c82126453a723a2804aa52409930434598fd9d35091d63dfb919d2b765bb7"}, + {file = "jupyter_core-5.7.1.tar.gz", hash = "sha256:de61a9d7fc71240f688b2fb5ab659fbb56979458dc66a71decd098e03c79e218"}, +] + +[package.dependencies] +platformdirs = ">=2.5" +pywin32 = {version = ">=300", markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""} +traitlets = ">=5.3" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] +test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "jupyter-events" +version = "0.9.0" +description = "Jupyter Event System library" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_events-0.9.0-py3-none-any.whl", hash = "sha256:d853b3c10273ff9bc8bb8b30076d65e2c9685579db736873de6c2232dde148bf"}, + {file = "jupyter_events-0.9.0.tar.gz", hash = "sha256:81ad2e4bc710881ec274d31c6c50669d71bbaa5dd9d01e600b56faa85700d399"}, +] + +[package.dependencies] +jsonschema = {version = ">=4.18.0", extras = ["format-nongpl"]} +python-json-logger = ">=2.0.4" +pyyaml = ">=5.3" +referencing = "*" +rfc3339-validator = "*" +rfc3986-validator = ">=0.1.1" +traitlets = ">=5.3" + +[package.extras] +cli = ["click", "rich"] +docs = ["jupyterlite-sphinx", "myst-parser", "pydata-sphinx-theme", "sphinxcontrib-spelling"] +test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "rich"] + +[[package]] +name = "jupyter-lsp" +version = "2.2.2" +description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter-lsp-2.2.2.tar.gz", hash = "sha256:256d24620542ae4bba04a50fc1f6ffe208093a07d8e697fea0a8d1b8ca1b7e5b"}, + {file = "jupyter_lsp-2.2.2-py3-none-any.whl", hash = "sha256:3b95229e4168355a8c91928057c1621ac3510ba98b2a925e82ebd77f078b1aa5"}, +] + +[package.dependencies] +jupyter-server = ">=1.1.2" + +[[package]] +name = "jupyter-server" +version = "2.12.5" +description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_server-2.12.5-py3-none-any.whl", hash = "sha256:184a0f82809a8522777cfb6b760ab6f4b1bb398664c5860a27cec696cb884923"}, + {file = "jupyter_server-2.12.5.tar.gz", hash = "sha256:0edb626c94baa22809be1323f9770cf1c00a952b17097592e40d03e6a3951689"}, +] + +[package.dependencies] +anyio = ">=3.1.0" +argon2-cffi = "*" +jinja2 = "*" +jupyter-client = ">=7.4.4" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-events = ">=0.9.0" +jupyter-server-terminals = "*" +nbconvert = ">=6.4.4" +nbformat = ">=5.3.0" +overrides = "*" +packaging = "*" +prometheus-client = "*" +pywinpty = {version = "*", markers = "os_name == \"nt\""} +pyzmq = ">=24" +send2trash = ">=1.8.2" +terminado = ">=0.8.3" +tornado = ">=6.2.0" +traitlets = ">=5.6.0" +websocket-client = "*" + +[package.extras] +docs = ["ipykernel", "jinja2", "jupyter-client", "jupyter-server", "myst-parser", "nbformat", "prometheus-client", "pydata-sphinx-theme", "send2trash", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-openapi (>=0.8.0)", "sphinxcontrib-spelling", "sphinxemoji", "tornado", "typing-extensions"] +test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0)", "pytest-console-scripts", "pytest-jupyter[server] (>=0.4)", "pytest-timeout", "requests"] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.2" +description = "A Jupyter Server Extension Providing Terminals." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_server_terminals-0.5.2-py3-none-any.whl", hash = "sha256:1b80c12765da979513c42c90215481bbc39bd8ae7c0350b4f85bc3eb58d0fa80"}, + {file = "jupyter_server_terminals-0.5.2.tar.gz", hash = "sha256:396b5ccc0881e550bf0ee7012c6ef1b53edbde69e67cab1d56e89711b46052e8"}, +] + +[package.dependencies] +pywinpty = {version = ">=2.0.3", markers = "os_name == \"nt\""} +terminado = ">=0.8.3" + +[package.extras] +docs = ["jinja2", "jupyter-server", "mistune (<4.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"] +test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"] + +[[package]] +name = "jupyterlab" +version = "4.1.2" +description = "JupyterLab computational environment" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyterlab-4.1.2-py3-none-any.whl", hash = "sha256:aa88193f03cf4d3555f6712f04d74112b5eb85edd7d222c588c7603a26d33c5b"}, + {file = "jupyterlab-4.1.2.tar.gz", hash = "sha256:5d6348b3ed4085181499f621b7dfb6eb0b1f57f3586857aadfc8e3bf4c4885f9"}, +] + +[package.dependencies] +async-lru = ">=1.0.0" +httpx = ">=0.25.0" +ipykernel = "*" +jinja2 = ">=3.0.3" +jupyter-core = "*" +jupyter-lsp = ">=2.0.0" +jupyter-server = ">=2.4.0,<3" +jupyterlab-server = ">=2.19.0,<3" +notebook-shim = ">=0.2" +packaging = "*" +tornado = ">=6.2.0" +traitlets = "*" + +[package.extras] +dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.2.0)"] +docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx (>=1.8,<7.3.0)", "sphinx-copybutton"] +docs-screenshots = ["altair (==5.2.0)", "ipython (==8.16.1)", "ipywidgets (==8.1.1)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.0.post6)", "matplotlib (==3.8.2)", "nbconvert (>=7.0.0)", "pandas (==2.2.0)", "scipy (==1.12.0)", "vega-datasets (==0.9.0)"] +test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "requests", "requests-cache", "virtualenv"] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +description = "Pygments theme using JupyterLab CSS variables" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, + {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, +] + +[[package]] +name = "jupyterlab-server" +version = "2.25.3" +description = "A set of server components for JupyterLab and JupyterLab like applications." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyterlab_server-2.25.3-py3-none-any.whl", hash = "sha256:c48862519fded9b418c71645d85a49b2f0ec50d032ba8316738e9276046088c1"}, + {file = "jupyterlab_server-2.25.3.tar.gz", hash = "sha256:846f125a8a19656611df5b03e5912c8393cea6900859baa64fa515eb64a8dc40"}, +] + +[package.dependencies] +babel = ">=2.10" +jinja2 = ">=3.0.3" +json5 = ">=0.9.0" +jsonschema = ">=4.18.0" +jupyter-server = ">=1.21,<3" +packaging = ">=21.3" +requests = ">=2.31" + +[package.extras] +docs = ["autodoc-traits", "jinja2 (<3.2.0)", "mistune (<4)", "myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-copybutton", "sphinxcontrib-openapi (>0.8)"] +openapi = ["openapi-core (>=0.18.0,<0.19.0)", "ruamel-yaml"] +test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-validator (>=0.6.0,<0.8.0)", "pytest (>=7.0)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter[server] (>=0.6.2)", "pytest-timeout", "requests-mock", "ruamel-yaml", "sphinxcontrib-spelling", "strict-rfc3339", "werkzeug"] + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.10" +description = "Jupyter interactive widgets for JupyterLab" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jupyterlab_widgets-3.0.10-py3-none-any.whl", hash = "sha256:dd61f3ae7a5a7f80299e14585ce6cf3d6925a96c9103c978eda293197730cb64"}, + {file = "jupyterlab_widgets-3.0.10.tar.gz", hash = "sha256:04f2ac04976727e4f9d0fa91cdc2f1ab860f965e504c29dbd6a65c882c9d04c0"}, +] + +[[package]] +name = "kiwisolver" +version = "1.4.5" +description = "A fast implementation of the Cassowary constraint solver" +optional = false +python-versions = ">=3.7" +files = [ + {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af"}, + {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3"}, + {file = "kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b"}, + {file = "kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238"}, + {file = "kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276"}, + {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5"}, + {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90"}, + {file = "kiwisolver-1.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f"}, + {file = "kiwisolver-1.4.5-cp311-cp311-win32.whl", hash = "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac"}, + {file = "kiwisolver-1.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355"}, + {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a"}, + {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192"}, + {file = "kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a"}, + {file = "kiwisolver-1.4.5-cp312-cp312-win32.whl", hash = "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20"}, + {file = "kiwisolver-1.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3a2b053a0ab7a3960c98725cfb0bf5b48ba82f64ec95fe06f1d06c99b552e130"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cd32d6c13807e5c66a7cbb79f90b553642f296ae4518a60d8d76243b0ad2898"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59ec7b7c7e1a61061850d53aaf8e93db63dce0c936db1fda2658b70e4a1be709"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da4cfb373035def307905d05041c1d06d8936452fe89d464743ae7fb8371078b"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2400873bccc260b6ae184b2b8a4fec0e4082d30648eadb7c3d9a13405d861e89"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1b04139c4236a0f3aff534479b58f6f849a8b351e1314826c2d230849ed48985"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:4e66e81a5779b65ac21764c295087de82235597a2293d18d943f8e9e32746265"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:7931d8f1f67c4be9ba1dd9c451fb0eeca1a25b89e4d3f89e828fe12a519b782a"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b3f7e75f3015df442238cca659f8baa5f42ce2a8582727981cbfa15fee0ee205"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:bbf1d63eef84b2e8c89011b7f2235b1e0bf7dacc11cac9431fc6468e99ac77fb"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4c380469bd3f970ef677bf2bcba2b6b0b4d5c75e7a020fb863ef75084efad66f"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-win32.whl", hash = "sha256:9408acf3270c4b6baad483865191e3e582b638b1654a007c62e3efe96f09a9a3"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-win_amd64.whl", hash = "sha256:5b94529f9b2591b7af5f3e0e730a4e0a41ea174af35a4fd067775f9bdfeee01a"}, + {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:11c7de8f692fc99816e8ac50d1d1aef4f75126eefc33ac79aac02c099fd3db71"}, + {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:53abb58632235cd154176ced1ae8f0d29a6657aa1aa9decf50b899b755bc2b93"}, + {file = "kiwisolver-1.4.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:88b9f257ca61b838b6f8094a62418421f87ac2a1069f7e896c36a7d86b5d4c29"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3195782b26fc03aa9c6913d5bad5aeb864bdc372924c093b0f1cebad603dd712"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc579bf0f502e54926519451b920e875f433aceb4624a3646b3252b5caa9e0b6"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a580c91d686376f0f7c295357595c5a026e6cbc3d77b7c36e290201e7c11ecb"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cfe6ab8da05c01ba6fbea630377b5da2cd9bcbc6338510116b01c1bc939a2c18"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d2e5a98f0ec99beb3c10e13b387f8db39106d53993f498b295f0c914328b1333"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a51a263952b1429e429ff236d2f5a21c5125437861baeed77f5e1cc2d2c7c6da"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3edd2fa14e68c9be82c5b16689e8d63d89fe927e56debd6e1dbce7a26a17f81b"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:74d1b44c6cfc897df648cc9fdaa09bc3e7679926e6f96df05775d4fb3946571c"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:76d9289ed3f7501012e05abb8358bbb129149dbd173f1f57a1bf1c22d19ab7cc"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92dea1ffe3714fa8eb6a314d2b3c773208d865a0e0d35e713ec54eea08a66250"}, + {file = "kiwisolver-1.4.5-cp38-cp38-win32.whl", hash = "sha256:5c90ae8c8d32e472be041e76f9d2f2dbff4d0b0be8bd4041770eddb18cf49a4e"}, + {file = "kiwisolver-1.4.5-cp38-cp38-win_amd64.whl", hash = "sha256:c7940c1dc63eb37a67721b10d703247552416f719c4188c54e04334321351ced"}, + {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d"}, + {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9"}, + {file = "kiwisolver-1.4.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77"}, + {file = "kiwisolver-1.4.5-cp39-cp39-win32.whl", hash = "sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f"}, + {file = "kiwisolver-1.4.5-cp39-cp39-win_amd64.whl", hash = "sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee"}, + {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"}, +] + +[[package]] +name = "markupsafe" +version = "2.1.5" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] + +[[package]] +name = "matplotlib" +version = "3.8.3" +description = "Python plotting package" +optional = false +python-versions = ">=3.9" +files = [ + {file = "matplotlib-3.8.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cf60138ccc8004f117ab2a2bad513cc4d122e55864b4fe7adf4db20ca68a078f"}, + {file = "matplotlib-3.8.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5f557156f7116be3340cdeef7f128fa99b0d5d287d5f41a16e169819dcf22357"}, + {file = "matplotlib-3.8.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f386cf162b059809ecfac3bcc491a9ea17da69fa35c8ded8ad154cd4b933d5ec"}, + {file = "matplotlib-3.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3c5f96f57b0369c288bf6f9b5274ba45787f7e0589a34d24bdbaf6d3344632f"}, + {file = "matplotlib-3.8.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:83e0f72e2c116ca7e571c57aa29b0fe697d4c6425c4e87c6e994159e0c008635"}, + {file = "matplotlib-3.8.3-cp310-cp310-win_amd64.whl", hash = "sha256:1c5c8290074ba31a41db1dc332dc2b62def469ff33766cbe325d32a3ee291aea"}, + {file = "matplotlib-3.8.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5184e07c7e1d6d1481862ee361905b7059f7fe065fc837f7c3dc11eeb3f2f900"}, + {file = "matplotlib-3.8.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d7e7e0993d0758933b1a241a432b42c2db22dfa37d4108342ab4afb9557cbe3e"}, + {file = "matplotlib-3.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:04b36ad07eac9740fc76c2aa16edf94e50b297d6eb4c081e3add863de4bb19a7"}, + {file = "matplotlib-3.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c42dae72a62f14982f1474f7e5c9959fc4bc70c9de11cc5244c6e766200ba65"}, + {file = "matplotlib-3.8.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bf5932eee0d428192c40b7eac1399d608f5d995f975cdb9d1e6b48539a5ad8d0"}, + {file = "matplotlib-3.8.3-cp311-cp311-win_amd64.whl", hash = "sha256:40321634e3a05ed02abf7c7b47a50be50b53ef3eaa3a573847431a545585b407"}, + {file = "matplotlib-3.8.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:09074f8057917d17ab52c242fdf4916f30e99959c1908958b1fc6032e2d0f6d4"}, + {file = "matplotlib-3.8.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5745f6d0fb5acfabbb2790318db03809a253096e98c91b9a31969df28ee604aa"}, + {file = "matplotlib-3.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b97653d869a71721b639714b42d87cda4cfee0ee74b47c569e4874c7590c55c5"}, + {file = "matplotlib-3.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:242489efdb75b690c9c2e70bb5c6550727058c8a614e4c7716f363c27e10bba1"}, + {file = "matplotlib-3.8.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:83c0653c64b73926730bd9ea14aa0f50f202ba187c307a881673bad4985967b7"}, + {file = "matplotlib-3.8.3-cp312-cp312-win_amd64.whl", hash = "sha256:ef6c1025a570354297d6c15f7d0f296d95f88bd3850066b7f1e7b4f2f4c13a39"}, + {file = "matplotlib-3.8.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c4af3f7317f8a1009bbb2d0bf23dfaba859eb7dd4ccbd604eba146dccaaaf0a4"}, + {file = "matplotlib-3.8.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4c6e00a65d017d26009bac6808f637b75ceade3e1ff91a138576f6b3065eeeba"}, + {file = "matplotlib-3.8.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7b49ab49a3bea17802df6872f8d44f664ba8f9be0632a60c99b20b6db2165b7"}, + {file = "matplotlib-3.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6728dde0a3997396b053602dbd907a9bd64ec7d5cf99e728b404083698d3ca01"}, + {file = "matplotlib-3.8.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:813925d08fb86aba139f2d31864928d67511f64e5945ca909ad5bc09a96189bb"}, + {file = "matplotlib-3.8.3-cp39-cp39-win_amd64.whl", hash = "sha256:cd3a0c2be76f4e7be03d34a14d49ded6acf22ef61f88da600a18a5cd8b3c5f3c"}, + {file = "matplotlib-3.8.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fa93695d5c08544f4a0dfd0965f378e7afc410d8672816aff1e81be1f45dbf2e"}, + {file = "matplotlib-3.8.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9764df0e8778f06414b9d281a75235c1e85071f64bb5d71564b97c1306a2afc"}, + {file = "matplotlib-3.8.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5e431a09e6fab4012b01fc155db0ce6dccacdbabe8198197f523a4ef4805eb26"}, + {file = "matplotlib-3.8.3.tar.gz", hash = "sha256:7b416239e9ae38be54b028abbf9048aff5054a9aba5416bef0bd17f9162ce161"}, +] + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.22.0" +kiwisolver = ">=1.3.1" +numpy = ">=1.21,<2" +packaging = ">=20.0" +pillow = ">=8" +pyparsing = ">=2.3.1" +python-dateutil = ">=2.7" + +[[package]] +name = "matplotlib-inline" +version = "0.1.6" +description = "Inline Matplotlib backend for Jupyter" +optional = false +python-versions = ">=3.5" +files = [ + {file = "matplotlib-inline-0.1.6.tar.gz", hash = "sha256:f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304"}, + {file = "matplotlib_inline-0.1.6-py3-none-any.whl", hash = "sha256:f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311"}, +] + +[package.dependencies] +traitlets = "*" + +[[package]] +name = "mistune" +version = "3.0.2" +description = "A sane and fast Markdown parser with useful plugins and renderers" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"}, + {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, +] + +[[package]] +name = "nbclient" +version = "0.9.0" +description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "nbclient-0.9.0-py3-none-any.whl", hash = "sha256:a3a1ddfb34d4a9d17fc744d655962714a866639acd30130e9be84191cd97cd15"}, + {file = "nbclient-0.9.0.tar.gz", hash = "sha256:4b28c207877cf33ef3a9838cdc7a54c5ceff981194a82eac59d558f05487295e"}, +] + +[package.dependencies] +jupyter-client = ">=6.1.12" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +nbformat = ">=5.1" +traitlets = ">=5.4" + +[package.extras] +dev = ["pre-commit"] +docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling"] +test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] + +[[package]] +name = "nbconvert" +version = "7.16.1" +description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." +optional = false +python-versions = ">=3.8" +files = [ + {file = "nbconvert-7.16.1-py3-none-any.whl", hash = "sha256:3188727dffadfdc9c6a1c7250729063d7bc78b355ad7aa023138afa030d1cd07"}, + {file = "nbconvert-7.16.1.tar.gz", hash = "sha256:e79e6a074f49ba3ed29428ed86487bf51509d9aab613bd8522ac08f6d28fd7fd"}, +] + +[package.dependencies] +beautifulsoup4 = "*" +bleach = "!=5.0.0" +defusedxml = "*" +jinja2 = ">=3.0" +jupyter-core = ">=4.7" +jupyterlab-pygments = "*" +markupsafe = ">=2.0" +mistune = ">=2.0.3,<4" +nbclient = ">=0.5.0" +nbformat = ">=5.7" +packaging = "*" +pandocfilters = ">=1.4.1" +pygments = ">=2.4.1" +tinycss2 = "*" +traitlets = ">=5.1" + +[package.extras] +all = ["nbconvert[docs,qtpdf,serve,test,webpdf]"] +docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sphinx-theme", "sphinx (==5.0.2)", "sphinxcontrib-spelling"] +qtpdf = ["nbconvert[qtpng]"] +qtpng = ["pyqtwebengine (>=5.15)"] +serve = ["tornado (>=6.1)"] +test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest"] +webpdf = ["playwright"] + +[[package]] +name = "nbformat" +version = "5.9.2" +description = "The Jupyter Notebook format" +optional = false +python-versions = ">=3.8" +files = [ + {file = "nbformat-5.9.2-py3-none-any.whl", hash = "sha256:1c5172d786a41b82bcfd0c23f9e6b6f072e8fb49c39250219e4acfff1efe89e9"}, + {file = "nbformat-5.9.2.tar.gz", hash = "sha256:5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192"}, +] + +[package.dependencies] +fastjsonschema = "*" +jsonschema = ">=2.6" +jupyter-core = "*" +traitlets = ">=5.1" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["pep440", "pre-commit", "pytest", "testpath"] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +description = "Patch asyncio to allow nested event loops" +optional = false +python-versions = ">=3.5" +files = [ + {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, + {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, +] + +[[package]] +name = "notebook" +version = "7.1.0" +description = "Jupyter Notebook - A web-based notebook environment for interactive computing" +optional = false +python-versions = ">=3.8" +files = [ + {file = "notebook-7.1.0-py3-none-any.whl", hash = "sha256:a8fa4ccb5e5fe220f29d9900337efd7752bc6f2efe004d6f320db01f7743adc9"}, + {file = "notebook-7.1.0.tar.gz", hash = "sha256:99caf01ff166b1cc86355c9b37c1ba9bf566c1d7fc4ab57bb6f8f24e36c4260e"}, +] + +[package.dependencies] +jupyter-server = ">=2.4.0,<3" +jupyterlab = ">=4.1.1,<4.2" +jupyterlab-server = ">=2.22.1,<3" +notebook-shim = ">=0.2,<0.3" +tornado = ">=6.2.0" + +[package.extras] +dev = ["hatch", "pre-commit"] +docs = ["myst-parser", "nbsphinx", "pydata-sphinx-theme", "sphinx (>=1.3.6)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.22.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +description = "A shim layer for notebook traits and config" +optional = false +python-versions = ">=3.7" +files = [ + {file = "notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef"}, + {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"}, +] + +[package.dependencies] +jupyter-server = ">=1.8,<3" + +[package.extras] +test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync"] + +[[package]] +name = "numcodecs" +version = "0.12.1" +description = "A Python package providing buffer compression and transformation codecs for use in data storage and communication applications." +optional = false +python-versions = ">=3.8" +files = [ + {file = "numcodecs-0.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d37f628fe92b3699e65831d5733feca74d2e33b50ef29118ffd41c13c677210e"}, + {file = "numcodecs-0.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:941b7446b68cf79f089bcfe92edaa3b154533dcbcd82474f994b28f2eedb1c60"}, + {file = "numcodecs-0.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e79bf9d1d37199ac00a60ff3adb64757523291d19d03116832e600cac391c51"}, + {file = "numcodecs-0.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:82d7107f80f9307235cb7e74719292d101c7ea1e393fe628817f0d635b7384f5"}, + {file = "numcodecs-0.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:eeaf42768910f1c6eebf6c1bb00160728e62c9343df9e2e315dc9fe12e3f6071"}, + {file = "numcodecs-0.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:135b2d47563f7b9dc5ee6ce3d1b81b0f1397f69309e909f1a35bb0f7c553d45e"}, + {file = "numcodecs-0.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a191a8e347ecd016e5c357f2bf41fbcb026f6ffe78fff50c77ab12e96701d155"}, + {file = "numcodecs-0.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:21d8267bd4313f4d16f5b6287731d4c8ebdab236038f29ad1b0e93c9b2ca64ee"}, + {file = "numcodecs-0.12.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:2f84df6b8693206365a5b37c005bfa9d1be486122bde683a7b6446af4b75d862"}, + {file = "numcodecs-0.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:760627780a8b6afdb7f942f2a0ddaf4e31d3d7eea1d8498cf0fd3204a33c4618"}, + {file = "numcodecs-0.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c258bd1d3dfa75a9b708540d23b2da43d63607f9df76dfa0309a7597d1de3b73"}, + {file = "numcodecs-0.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:e04649ea504aff858dbe294631f098fbfd671baf58bfc04fc48d746554c05d67"}, + {file = "numcodecs-0.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:caf1a1e6678aab9c1e29d2109b299f7a467bd4d4c34235b1f0e082167846b88f"}, + {file = "numcodecs-0.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c17687b1fd1fef68af616bc83f896035d24e40e04e91e7e6dae56379eb59fe33"}, + {file = "numcodecs-0.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:29dfb195f835a55c4d490fb097aac8c1bcb96c54cf1b037d9218492c95e9d8c5"}, + {file = "numcodecs-0.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:2f1ba2f4af3fd3ba65b1bcffb717fe65efe101a50a91c368f79f3101dbb1e243"}, + {file = "numcodecs-0.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2fbb12a6a1abe95926f25c65e283762d63a9bf9e43c0de2c6a1a798347dfcb40"}, + {file = "numcodecs-0.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f2207871868b2464dc11c513965fd99b958a9d7cde2629be7b2dc84fdaab013b"}, + {file = "numcodecs-0.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abff3554a6892a89aacf7b642a044e4535499edf07aeae2f2e6e8fc08c9ba07f"}, + {file = "numcodecs-0.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:ef964d4860d3e6b38df0633caf3e51dc850a6293fd8e93240473642681d95136"}, + {file = "numcodecs-0.12.1.tar.gz", hash = "sha256:05d91a433733e7eef268d7e80ec226a0232da244289614a8f3826901aec1098e"}, +] + +[package.dependencies] +numpy = ">=1.7" + +[package.extras] +docs = ["mock", "numpydoc", "sphinx (<7.0.0)", "sphinx-issues"] +msgpack = ["msgpack"] +test = ["coverage", "flake8", "pytest", "pytest-cov"] +test-extras = ["importlib-metadata"] +zfpy = ["zfpy (>=1.0.0)"] + +[[package]] +name = "numexpr" +version = "2.9.0" +description = "Fast numerical expression evaluator for NumPy" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numexpr-2.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c52b4ac54514f5d4d8ead66768810cd5f77aa198e6064213d9b5c7b2e1c97c35"}, + {file = "numexpr-2.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50f57bc333f285e8c46b1ce61c6e94ec9bb74e4ea0d674d1c6c6f4a286f64fe4"}, + {file = "numexpr-2.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:943ba141f3884ffafa3fa1a3ebf3cdda9e9688a67a3c91986e6eae13dc073d43"}, + {file = "numexpr-2.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee48acd6339748a65c0e32403b802ebfadd9cb0e3b602ba5889896238eafdd61"}, + {file = "numexpr-2.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:972e29b5cecc21466c5b177e38568372ab66aab1f053ae04690a49cea09e747d"}, + {file = "numexpr-2.9.0-cp310-cp310-win32.whl", hash = "sha256:520e55d75bd99c76e376b6326e35ecf44c5ce2635a5caed72799a3885fc49173"}, + {file = "numexpr-2.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:5615497c3f34b637fda9b571f7774b6a82f2367cc1364b7a4573068dd1aabcaa"}, + {file = "numexpr-2.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bffcbc55dea5a5f5255e2586da08f00929998820e6592ee717273a08ad021eb3"}, + {file = "numexpr-2.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:374dc6ca54b2af813cb15c2b34e85092dfeac1f73d51ec358dd81876bd9adcec"}, + {file = "numexpr-2.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:549afc1622296cca3478a132c6e0fb5e55a19e08d32bc0d5a415434824a9c157"}, + {file = "numexpr-2.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c618a5895e34db0a364dcdb9960084c080f93f9d377c45b1ca9c394c24b4e77"}, + {file = "numexpr-2.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:37a7dd36fd79a2b69c3fd2bc2b51ac8270bebc69cc96e6d78f1148e147fcbfa8"}, + {file = "numexpr-2.9.0-cp311-cp311-win32.whl", hash = "sha256:00dab81d49239ea5423861ad627097b44d10d802df5f883d1b00f742139c3349"}, + {file = "numexpr-2.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:0e2574cafb18373774f351cac45ed23b5b360d9ecd1dbf3c12dac6d6eefefc87"}, + {file = "numexpr-2.9.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9761195526a228e05eba400b8c484c94bbabfea853b9ea35ab8fa1bf415331b1"}, + {file = "numexpr-2.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f619e91034b346ea85a4e1856ff06011dcb7dce10a60eda75e74db90120f880"}, + {file = "numexpr-2.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2749bce1c48706d58894992634a43b8458c4ba9411191471c4565fa41e9979ec"}, + {file = "numexpr-2.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1c31f621a625c7be602f92b027d90f2d3d60dcbc19b106e77fb04a4362152af"}, + {file = "numexpr-2.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1a78b937861d13de67d440d54c85a835faed7572be5a6fd10d4f3bd4e66e157f"}, + {file = "numexpr-2.9.0-cp312-cp312-win32.whl", hash = "sha256:aa6298fb46bd7ec69911b5b80927a00663d066e719b29f48eb952d559bdd8371"}, + {file = "numexpr-2.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:8efd879839572bde5a38a1aa3ac23fd4dd9b956fb969bc5e43d1c403419e1e8c"}, + {file = "numexpr-2.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b04f12a6130094a251e3a8fff40130589c1c83be6d4eb223873bea14d8c8b630"}, + {file = "numexpr-2.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:977537f2a1cc843f888fb5f0507626f956ada674e4b3847168214a3f3c7446fa"}, + {file = "numexpr-2.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6eae6c0c2d5682c02e8ac9c4287c2232c2443c9148b239df22500eaa3c5d73b7"}, + {file = "numexpr-2.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fae6828042b70c2f52a132bfcb9139da704274ed11b982fbf537f91c075d2ef"}, + {file = "numexpr-2.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7c77392aea53f0700d60eb270ad63174b4ff10b04f8de92861101ca2129fee51"}, + {file = "numexpr-2.9.0-cp39-cp39-win32.whl", hash = "sha256:3b03a6cf37a72f5b52f2b962d7ac7f565bea8eaba83c3c4e5fcf8fbb6a938153"}, + {file = "numexpr-2.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:d655b6eacc4e81006b662cba014e4615a9ddd96881b8b4db4ad0d7f6d38069af"}, + {file = "numexpr-2.9.0.tar.gz", hash = "sha256:f21d12f6c432ce349089eb95342babf6629aebb3fddf187a4492d3aadaadaaf0"}, +] + +[package.dependencies] +numpy = ">=1.13.3" + +[[package]] +name = "numpy" +version = "1.26.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, + {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, + {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, + {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, + {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, + {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, + {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, + {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, + {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, + {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, +] + +[[package]] +name = "overrides" +version = "7.7.0" +description = "A decorator to automatically detect mismatch when overriding a method." +optional = false +python-versions = ">=3.6" +files = [ + {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, + {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, +] + +[[package]] +name = "packaging" +version = "23.2" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, +] + +[[package]] +name = "pandocfilters" +version = "1.5.1" +description = "Utilities for writing pandoc filters in python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, + {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, +] + +[[package]] +name = "parso" +version = "0.8.3" +description = "A Python Parser" +optional = false +python-versions = ">=3.6" +files = [ + {file = "parso-0.8.3-py2.py3-none-any.whl", hash = "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"}, + {file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"}, +] + +[package.extras] +qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] +testing = ["docopt", "pytest (<6.0.0)"] + +[[package]] +name = "pexpect" +version = "4.9.0" +description = "Pexpect allows easy control of interactive console applications." +optional = false +python-versions = "*" +files = [ + {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, + {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, +] + +[package.dependencies] +ptyprocess = ">=0.5" + +[[package]] +name = "pillow" +version = "10.2.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"}, + {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"}, + {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"}, + {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"}, + {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"}, + {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"}, + {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"}, + {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"}, + {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"}, + {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"}, + {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"}, + {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"}, + {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"}, + {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"}, + {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"}, + {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"}, + {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] + +[[package]] +name = "platformdirs" +version = "4.2.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, + {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] + +[[package]] +name = "pluggy" +version = "1.4.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"}, + {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "prometheus-client" +version = "0.20.0" +description = "Python client for the Prometheus monitoring system." +optional = false +python-versions = ">=3.8" +files = [ + {file = "prometheus_client-0.20.0-py3-none-any.whl", hash = "sha256:cde524a85bce83ca359cc837f28b8c0db5cac7aa653a588fd7e84ba061c329e7"}, + {file = "prometheus_client-0.20.0.tar.gz", hash = "sha256:287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89"}, +] + +[package.extras] +twisted = ["twisted"] + +[[package]] +name = "prompt-toolkit" +version = "3.0.43" +description = "Library for building powerful interactive command lines in Python" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "prompt_toolkit-3.0.43-py3-none-any.whl", hash = "sha256:a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6"}, + {file = "prompt_toolkit-3.0.43.tar.gz", hash = "sha256:3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d"}, +] + +[package.dependencies] +wcwidth = "*" + +[[package]] +name = "psutil" +version = "5.9.8" +description = "Cross-platform lib for process and system monitoring in Python." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ + {file = "psutil-5.9.8-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:26bd09967ae00920df88e0352a91cff1a78f8d69b3ecabbfe733610c0af486c8"}, + {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:05806de88103b25903dff19bb6692bd2e714ccf9e668d050d144012055cbca73"}, + {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:611052c4bc70432ec770d5d54f64206aa7203a101ec273a0cd82418c86503bb7"}, + {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:50187900d73c1381ba1454cf40308c2bf6f34268518b3f36a9b663ca87e65e36"}, + {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:02615ed8c5ea222323408ceba16c60e99c3f91639b07da6373fb7e6539abc56d"}, + {file = "psutil-5.9.8-cp27-none-win32.whl", hash = "sha256:36f435891adb138ed3c9e58c6af3e2e6ca9ac2f365efe1f9cfef2794e6c93b4e"}, + {file = "psutil-5.9.8-cp27-none-win_amd64.whl", hash = "sha256:bd1184ceb3f87651a67b2708d4c3338e9b10c5df903f2e3776b62303b26cb631"}, + {file = "psutil-5.9.8-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81"}, + {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421"}, + {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4"}, + {file = "psutil-5.9.8-cp36-cp36m-win32.whl", hash = "sha256:7d79560ad97af658a0f6adfef8b834b53f64746d45b403f225b85c5c2c140eee"}, + {file = "psutil-5.9.8-cp36-cp36m-win_amd64.whl", hash = "sha256:27cc40c3493bb10de1be4b3f07cae4c010ce715290a5be22b98493509c6299e2"}, + {file = "psutil-5.9.8-cp37-abi3-win32.whl", hash = "sha256:bc56c2a1b0d15aa3eaa5a60c9f3f8e3e565303b465dbf57a1b730e7a2b9844e0"}, + {file = "psutil-5.9.8-cp37-abi3-win_amd64.whl", hash = "sha256:8db4c1b57507eef143a15a6884ca10f7c73876cdf5d51e713151c1236a0e68cf"}, + {file = "psutil-5.9.8-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8"}, + {file = "psutil-5.9.8.tar.gz", hash = "sha256:6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c"}, +] + +[package.extras] +test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +description = "Run a subprocess in a pseudo terminal" +optional = false +python-versions = "*" +files = [ + {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, + {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, +] + +[[package]] +name = "pure-eval" +version = "0.2.2" +description = "Safely evaluate AST nodes without side effects" +optional = false +python-versions = "*" +files = [ + {file = "pure_eval-0.2.2-py3-none-any.whl", hash = "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350"}, + {file = "pure_eval-0.2.2.tar.gz", hash = "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3"}, +] + +[package.extras] +tests = ["pytest"] + +[[package]] +name = "pycparser" +version = "2.21" +description = "C parser in Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, + {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, +] + +[[package]] +name = "pygments" +version = "2.17.2" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.7" +files = [ + {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, + {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, +] + +[package.extras] +plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] + +[[package]] +name = "pyparsing" +version = "3.1.1" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.6.8" +files = [ + {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, + {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "pytest" +version = "7.4.4" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, + {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" + +[package.extras] +testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] + +[[package]] +name = "python-dateutil" +version = "2.8.2" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python-json-logger" +version = "2.0.7" +description = "A python library adding a json log formatter" +optional = false +python-versions = ">=3.6" +files = [ + {file = "python-json-logger-2.0.7.tar.gz", hash = "sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c"}, + {file = "python_json_logger-2.0.7-py3-none-any.whl", hash = "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd"}, +] + +[[package]] +name = "pywin32" +version = "306" +description = "Python for Window Extensions" +optional = false +python-versions = "*" +files = [ + {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"}, + {file = "pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8"}, + {file = "pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407"}, + {file = "pywin32-306-cp311-cp311-win_amd64.whl", hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e"}, + {file = "pywin32-306-cp311-cp311-win_arm64.whl", hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a"}, + {file = "pywin32-306-cp312-cp312-win32.whl", hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b"}, + {file = "pywin32-306-cp312-cp312-win_amd64.whl", hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e"}, + {file = "pywin32-306-cp312-cp312-win_arm64.whl", hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040"}, + {file = "pywin32-306-cp37-cp37m-win32.whl", hash = "sha256:1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65"}, + {file = "pywin32-306-cp37-cp37m-win_amd64.whl", hash = "sha256:72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36"}, + {file = "pywin32-306-cp38-cp38-win32.whl", hash = "sha256:e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a"}, + {file = "pywin32-306-cp38-cp38-win_amd64.whl", hash = "sha256:e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0"}, + {file = "pywin32-306-cp39-cp39-win32.whl", hash = "sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802"}, + {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"}, +] + +[[package]] +name = "pywinpty" +version = "2.0.12" +description = "Pseudo terminal support for Windows from Python." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pywinpty-2.0.12-cp310-none-win_amd64.whl", hash = "sha256:21319cd1d7c8844fb2c970fb3a55a3db5543f112ff9cfcd623746b9c47501575"}, + {file = "pywinpty-2.0.12-cp311-none-win_amd64.whl", hash = "sha256:853985a8f48f4731a716653170cd735da36ffbdc79dcb4c7b7140bce11d8c722"}, + {file = "pywinpty-2.0.12-cp312-none-win_amd64.whl", hash = "sha256:1617b729999eb6713590e17665052b1a6ae0ad76ee31e60b444147c5b6a35dca"}, + {file = "pywinpty-2.0.12-cp38-none-win_amd64.whl", hash = "sha256:189380469ca143d06e19e19ff3fba0fcefe8b4a8cc942140a6b863aed7eebb2d"}, + {file = "pywinpty-2.0.12-cp39-none-win_amd64.whl", hash = "sha256:7520575b6546db23e693cbd865db2764097bd6d4ef5dc18c92555904cd62c3d4"}, + {file = "pywinpty-2.0.12.tar.gz", hash = "sha256:8197de460ae8ebb7f5d1701dfa1b5df45b157bb832e92acba316305e18ca00dd"}, +] + +[[package]] +name = "pyyaml" +version = "6.0.1" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] + +[[package]] +name = "pyzmq" +version = "25.1.2" +description = "Python bindings for 0MQ" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pyzmq-25.1.2-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:e624c789359f1a16f83f35e2c705d07663ff2b4d4479bad35621178d8f0f6ea4"}, + {file = "pyzmq-25.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:49151b0efece79f6a79d41a461d78535356136ee70084a1c22532fc6383f4ad0"}, + {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9a5f194cf730f2b24d6af1f833c14c10f41023da46a7f736f48b6d35061e76e"}, + {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:faf79a302f834d9e8304fafdc11d0d042266667ac45209afa57e5efc998e3872"}, + {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f51a7b4ead28d3fca8dda53216314a553b0f7a91ee8fc46a72b402a78c3e43d"}, + {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0ddd6d71d4ef17ba5a87becf7ddf01b371eaba553c603477679ae817a8d84d75"}, + {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:246747b88917e4867e2367b005fc8eefbb4a54b7db363d6c92f89d69abfff4b6"}, + {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:00c48ae2fd81e2a50c3485de1b9d5c7c57cd85dc8ec55683eac16846e57ac979"}, + {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5a68d491fc20762b630e5db2191dd07ff89834086740f70e978bb2ef2668be08"}, + {file = "pyzmq-25.1.2-cp310-cp310-win32.whl", hash = "sha256:09dfe949e83087da88c4a76767df04b22304a682d6154de2c572625c62ad6886"}, + {file = "pyzmq-25.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:fa99973d2ed20417744fca0073390ad65ce225b546febb0580358e36aa90dba6"}, + {file = "pyzmq-25.1.2-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:82544e0e2d0c1811482d37eef297020a040c32e0687c1f6fc23a75b75db8062c"}, + {file = "pyzmq-25.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:01171fc48542348cd1a360a4b6c3e7d8f46cdcf53a8d40f84db6707a6768acc1"}, + {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc69c96735ab501419c432110016329bf0dea8898ce16fab97c6d9106dc0b348"}, + {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e124e6b1dd3dfbeb695435dff0e383256655bb18082e094a8dd1f6293114642"}, + {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7598d2ba821caa37a0f9d54c25164a4fa351ce019d64d0b44b45540950458840"}, + {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d1299d7e964c13607efd148ca1f07dcbf27c3ab9e125d1d0ae1d580a1682399d"}, + {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4e6f689880d5ad87918430957297c975203a082d9a036cc426648fcbedae769b"}, + {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cc69949484171cc961e6ecd4a8911b9ce7a0d1f738fcae717177c231bf77437b"}, + {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9880078f683466b7f567b8624bfc16cad65077be046b6e8abb53bed4eeb82dd3"}, + {file = "pyzmq-25.1.2-cp311-cp311-win32.whl", hash = "sha256:4e5837af3e5aaa99a091302df5ee001149baff06ad22b722d34e30df5f0d9097"}, + {file = "pyzmq-25.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:25c2dbb97d38b5ac9fd15586e048ec5eb1e38f3d47fe7d92167b0c77bb3584e9"}, + {file = "pyzmq-25.1.2-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:11e70516688190e9c2db14fcf93c04192b02d457b582a1f6190b154691b4c93a"}, + {file = "pyzmq-25.1.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:313c3794d650d1fccaaab2df942af9f2c01d6217c846177cfcbc693c7410839e"}, + {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b3cbba2f47062b85fe0ef9de5b987612140a9ba3a9c6d2543c6dec9f7c2ab27"}, + {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fc31baa0c32a2ca660784d5af3b9487e13b61b3032cb01a115fce6588e1bed30"}, + {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02c9087b109070c5ab0b383079fa1b5f797f8d43e9a66c07a4b8b8bdecfd88ee"}, + {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f8429b17cbb746c3e043cb986328da023657e79d5ed258b711c06a70c2ea7537"}, + {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5074adeacede5f810b7ef39607ee59d94e948b4fd954495bdb072f8c54558181"}, + {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7ae8f354b895cbd85212da245f1a5ad8159e7840e37d78b476bb4f4c3f32a9fe"}, + {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b264bf2cc96b5bc43ce0e852be995e400376bd87ceb363822e2cb1964fcdc737"}, + {file = "pyzmq-25.1.2-cp312-cp312-win32.whl", hash = "sha256:02bbc1a87b76e04fd780b45e7f695471ae6de747769e540da909173d50ff8e2d"}, + {file = "pyzmq-25.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:ced111c2e81506abd1dc142e6cd7b68dd53747b3b7ae5edbea4578c5eeff96b7"}, + {file = "pyzmq-25.1.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:7b6d09a8962a91151f0976008eb7b29b433a560fde056ec7a3db9ec8f1075438"}, + {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967668420f36878a3c9ecb5ab33c9d0ff8d054f9c0233d995a6d25b0e95e1b6b"}, + {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5edac3f57c7ddaacdb4d40f6ef2f9e299471fc38d112f4bc6d60ab9365445fb0"}, + {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:0dabfb10ef897f3b7e101cacba1437bd3a5032ee667b7ead32bbcdd1a8422fe7"}, + {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:2c6441e0398c2baacfe5ba30c937d274cfc2dc5b55e82e3749e333aabffde561"}, + {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:16b726c1f6c2e7625706549f9dbe9b06004dfbec30dbed4bf50cbdfc73e5b32a"}, + {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:a86c2dd76ef71a773e70551a07318b8e52379f58dafa7ae1e0a4be78efd1ff16"}, + {file = "pyzmq-25.1.2-cp36-cp36m-win32.whl", hash = "sha256:359f7f74b5d3c65dae137f33eb2bcfa7ad9ebefd1cab85c935f063f1dbb245cc"}, + {file = "pyzmq-25.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:55875492f820d0eb3417b51d96fea549cde77893ae3790fd25491c5754ea2f68"}, + {file = "pyzmq-25.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b8c8a419dfb02e91b453615c69568442e897aaf77561ee0064d789705ff37a92"}, + {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8807c87fa893527ae8a524c15fc505d9950d5e856f03dae5921b5e9aa3b8783b"}, + {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5e319ed7d6b8f5fad9b76daa0a68497bc6f129858ad956331a5835785761e003"}, + {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3c53687dde4d9d473c587ae80cc328e5b102b517447456184b485587ebd18b62"}, + {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9add2e5b33d2cd765ad96d5eb734a5e795a0755f7fc49aa04f76d7ddda73fd70"}, + {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e690145a8c0c273c28d3b89d6fb32c45e0d9605b2293c10e650265bf5c11cfec"}, + {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:00a06faa7165634f0cac1abb27e54d7a0b3b44eb9994530b8ec73cf52e15353b"}, + {file = "pyzmq-25.1.2-cp37-cp37m-win32.whl", hash = "sha256:0f97bc2f1f13cb16905a5f3e1fbdf100e712d841482b2237484360f8bc4cb3d7"}, + {file = "pyzmq-25.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6cc0020b74b2e410287e5942e1e10886ff81ac77789eb20bec13f7ae681f0fdd"}, + {file = "pyzmq-25.1.2-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:bef02cfcbded83473bdd86dd8d3729cd82b2e569b75844fb4ea08fee3c26ae41"}, + {file = "pyzmq-25.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e10a4b5a4b1192d74853cc71a5e9fd022594573926c2a3a4802020360aa719d8"}, + {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8c5f80e578427d4695adac6fdf4370c14a2feafdc8cb35549c219b90652536ae"}, + {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5dde6751e857910c1339890f3524de74007958557593b9e7e8c5f01cd919f8a7"}, + {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea1608dd169da230a0ad602d5b1ebd39807ac96cae1845c3ceed39af08a5c6df"}, + {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0f513130c4c361201da9bc69df25a086487250e16b5571ead521b31ff6b02220"}, + {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:019744b99da30330798bb37df33549d59d380c78e516e3bab9c9b84f87a9592f"}, + {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2e2713ef44be5d52dd8b8e2023d706bf66cb22072e97fc71b168e01d25192755"}, + {file = "pyzmq-25.1.2-cp38-cp38-win32.whl", hash = "sha256:07cd61a20a535524906595e09344505a9bd46f1da7a07e504b315d41cd42eb07"}, + {file = "pyzmq-25.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb7e49a17fb8c77d3119d41a4523e432eb0c6932187c37deb6fbb00cc3028088"}, + {file = "pyzmq-25.1.2-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:94504ff66f278ab4b7e03e4cba7e7e400cb73bfa9d3d71f58d8972a8dc67e7a6"}, + {file = "pyzmq-25.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6dd0d50bbf9dca1d0bdea219ae6b40f713a3fb477c06ca3714f208fd69e16fd8"}, + {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:004ff469d21e86f0ef0369717351073e0e577428e514c47c8480770d5e24a565"}, + {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c0b5ca88a8928147b7b1e2dfa09f3b6c256bc1135a1338536cbc9ea13d3b7add"}, + {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c9a79f1d2495b167119d02be7448bfba57fad2a4207c4f68abc0bab4b92925b"}, + {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:518efd91c3d8ac9f9b4f7dd0e2b7b8bf1a4fe82a308009016b07eaa48681af82"}, + {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:1ec23bd7b3a893ae676d0e54ad47d18064e6c5ae1fadc2f195143fb27373f7f6"}, + {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db36c27baed588a5a8346b971477b718fdc66cf5b80cbfbd914b4d6d355e44e2"}, + {file = "pyzmq-25.1.2-cp39-cp39-win32.whl", hash = "sha256:39b1067f13aba39d794a24761e385e2eddc26295826530a8c7b6c6c341584289"}, + {file = "pyzmq-25.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:8e9f3fabc445d0ce320ea2c59a75fe3ea591fdbdeebec5db6de530dd4b09412e"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a8c1d566344aee826b74e472e16edae0a02e2a044f14f7c24e123002dcff1c05"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:759cfd391a0996345ba94b6a5110fca9c557ad4166d86a6e81ea526c376a01e8"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c61e346ac34b74028ede1c6b4bcecf649d69b707b3ff9dc0fab453821b04d1e"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cb8fc1f8d69b411b8ec0b5f1ffbcaf14c1db95b6bccea21d83610987435f1a4"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3c00c9b7d1ca8165c610437ca0c92e7b5607b2f9076f4eb4b095c85d6e680a1d"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:df0c7a16ebb94452d2909b9a7b3337940e9a87a824c4fc1c7c36bb4404cb0cde"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:45999e7f7ed5c390f2e87ece7f6c56bf979fb213550229e711e45ecc7d42ccb8"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ac170e9e048b40c605358667aca3d94e98f604a18c44bdb4c102e67070f3ac9b"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1b604734bec94f05f81b360a272fc824334267426ae9905ff32dc2be433ab96"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a793ac733e3d895d96f865f1806f160696422554e46d30105807fdc9841b9f7d"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0806175f2ae5ad4b835ecd87f5f85583316b69f17e97786f7443baaf54b9bb98"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ef12e259e7bc317c7597d4f6ef59b97b913e162d83b421dd0db3d6410f17a244"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea253b368eb41116011add00f8d5726762320b1bda892f744c91997b65754d73"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b9b1f2ad6498445a941d9a4fee096d387fee436e45cc660e72e768d3d8ee611"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:8b14c75979ce932c53b79976a395cb2a8cd3aaf14aef75e8c2cb55a330b9b49d"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:889370d5174a741a62566c003ee8ddba4b04c3f09a97b8000092b7ca83ec9c49"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a18fff090441a40ffda8a7f4f18f03dc56ae73f148f1832e109f9bffa85df15"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99a6b36f95c98839ad98f8c553d8507644c880cf1e0a57fe5e3a3f3969040882"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4345c9a27f4310afbb9c01750e9461ff33d6fb74cd2456b107525bbeebcb5be3"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3516e0b6224cf6e43e341d56da15fd33bdc37fa0c06af4f029f7d7dfceceabbc"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:146b9b1f29ead41255387fb07be56dc29639262c0f7344f570eecdcd8d683314"}, + {file = "pyzmq-25.1.2.tar.gz", hash = "sha256:93f1aa311e8bb912e34f004cf186407a4e90eec4f0ecc0efd26056bf7eda0226"}, +] + +[package.dependencies] +cffi = {version = "*", markers = "implementation_name == \"pypy\""} + +[[package]] +name = "qtconsole" +version = "5.5.1" +description = "Jupyter Qt console" +optional = false +python-versions = ">= 3.8" +files = [ + {file = "qtconsole-5.5.1-py3-none-any.whl", hash = "sha256:8c75fa3e9b4ed884880ff7cea90a1b67451219279ec33deaee1d59e3df1a5d2b"}, + {file = "qtconsole-5.5.1.tar.gz", hash = "sha256:a0e806c6951db9490628e4df80caec9669b65149c7ba40f9bf033c025a5b56bc"}, +] + +[package.dependencies] +ipykernel = ">=4.1" +jupyter-client = ">=4.1" +jupyter-core = "*" +packaging = "*" +pygments = "*" +pyzmq = ">=17.1" +qtpy = ">=2.4.0" +traitlets = "<5.2.1 || >5.2.1,<5.2.2 || >5.2.2" + +[package.extras] +doc = ["Sphinx (>=1.3)"] +test = ["flaky", "pytest", "pytest-qt"] + +[[package]] +name = "qtpy" +version = "2.4.1" +description = "Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6)." +optional = false +python-versions = ">=3.7" files = [ - {file = "asciitree-0.3.3.tar.gz", hash = "sha256:4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e"}, + {file = "QtPy-2.4.1-py3-none-any.whl", hash = "sha256:1c1d8c4fa2c884ae742b069151b0abe15b3f70491f3972698c683b8e38de839b"}, + {file = "QtPy-2.4.1.tar.gz", hash = "sha256:a5a15ffd519550a1361bdc56ffc07fda56a6af7292f17c7b395d4083af632987"}, ] +[package.dependencies] +packaging = "*" + +[package.extras] +test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"] + [[package]] -name = "click" -version = "8.1.7" -description = "Composable command line interface toolkit" +name = "referencing" +version = "0.33.0" +description = "JSON Referencing + Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, + {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"}, + {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"}, ] [package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} +attrs = ">=22.2.0" +rpds-py = ">=0.7.0" [[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +python-versions = ">=3.7" files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, ] +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + [[package]] -name = "fasteners" -version = "0.19" -description = "A python package that provides useful locks" +name = "rfc3339-validator" +version = "0.1.4" +description = "A pure python RFC3339 validator" optional = false -python-versions = ">=3.6" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ - {file = "fasteners-0.19-py3-none-any.whl", hash = "sha256:758819cb5d94cdedf4e836988b74de396ceacb8e2794d21f82d131fd9ee77237"}, - {file = "fasteners-0.19.tar.gz", hash = "sha256:b4f37c3ac52d8a445af3a66bce57b33b5e90b97c696b7b984f530cf8f0ded09c"}, + {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, + {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, ] +[package.dependencies] +six = "*" + [[package]] -name = "iniconfig" -version = "2.0.0" -description = "brain-dead simple config-ini parsing" +name = "rfc3986-validator" +version = "0.1.1" +description = "Pure python rfc3986 validator" optional = false -python-versions = ">=3.7" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, + {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"}, + {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, ] [[package]] -name = "numcodecs" -version = "0.12.1" -description = "A Python package providing buffer compression and transformation codecs for use in data storage and communication applications." +name = "rpds-py" +version = "0.18.0" +description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.8" files = [ - {file = "numcodecs-0.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d37f628fe92b3699e65831d5733feca74d2e33b50ef29118ffd41c13c677210e"}, - {file = "numcodecs-0.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:941b7446b68cf79f089bcfe92edaa3b154533dcbcd82474f994b28f2eedb1c60"}, - {file = "numcodecs-0.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e79bf9d1d37199ac00a60ff3adb64757523291d19d03116832e600cac391c51"}, - {file = "numcodecs-0.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:82d7107f80f9307235cb7e74719292d101c7ea1e393fe628817f0d635b7384f5"}, - {file = "numcodecs-0.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:eeaf42768910f1c6eebf6c1bb00160728e62c9343df9e2e315dc9fe12e3f6071"}, - {file = "numcodecs-0.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:135b2d47563f7b9dc5ee6ce3d1b81b0f1397f69309e909f1a35bb0f7c553d45e"}, - {file = "numcodecs-0.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a191a8e347ecd016e5c357f2bf41fbcb026f6ffe78fff50c77ab12e96701d155"}, - {file = "numcodecs-0.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:21d8267bd4313f4d16f5b6287731d4c8ebdab236038f29ad1b0e93c9b2ca64ee"}, - {file = "numcodecs-0.12.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:2f84df6b8693206365a5b37c005bfa9d1be486122bde683a7b6446af4b75d862"}, - {file = "numcodecs-0.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:760627780a8b6afdb7f942f2a0ddaf4e31d3d7eea1d8498cf0fd3204a33c4618"}, - {file = "numcodecs-0.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c258bd1d3dfa75a9b708540d23b2da43d63607f9df76dfa0309a7597d1de3b73"}, - {file = "numcodecs-0.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:e04649ea504aff858dbe294631f098fbfd671baf58bfc04fc48d746554c05d67"}, - {file = "numcodecs-0.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:caf1a1e6678aab9c1e29d2109b299f7a467bd4d4c34235b1f0e082167846b88f"}, - {file = "numcodecs-0.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c17687b1fd1fef68af616bc83f896035d24e40e04e91e7e6dae56379eb59fe33"}, - {file = "numcodecs-0.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:29dfb195f835a55c4d490fb097aac8c1bcb96c54cf1b037d9218492c95e9d8c5"}, - {file = "numcodecs-0.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:2f1ba2f4af3fd3ba65b1bcffb717fe65efe101a50a91c368f79f3101dbb1e243"}, - {file = "numcodecs-0.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2fbb12a6a1abe95926f25c65e283762d63a9bf9e43c0de2c6a1a798347dfcb40"}, - {file = "numcodecs-0.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f2207871868b2464dc11c513965fd99b958a9d7cde2629be7b2dc84fdaab013b"}, - {file = "numcodecs-0.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abff3554a6892a89aacf7b642a044e4535499edf07aeae2f2e6e8fc08c9ba07f"}, - {file = "numcodecs-0.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:ef964d4860d3e6b38df0633caf3e51dc850a6293fd8e93240473642681d95136"}, - {file = "numcodecs-0.12.1.tar.gz", hash = "sha256:05d91a433733e7eef268d7e80ec226a0232da244289614a8f3826901aec1098e"}, + {file = "rpds_py-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e"}, + {file = "rpds_py-0.18.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434"}, + {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3"}, + {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e"}, + {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88"}, + {file = "rpds_py-0.18.0-cp310-none-win32.whl", hash = "sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337"}, + {file = "rpds_py-0.18.0-cp310-none-win_amd64.whl", hash = "sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66"}, + {file = "rpds_py-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4"}, + {file = "rpds_py-0.18.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6"}, + {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688"}, + {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b"}, + {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836"}, + {file = "rpds_py-0.18.0-cp311-none-win32.whl", hash = "sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1"}, + {file = "rpds_py-0.18.0-cp311-none-win_amd64.whl", hash = "sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa"}, + {file = "rpds_py-0.18.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0"}, + {file = "rpds_py-0.18.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157"}, + {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496"}, + {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f"}, + {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7"}, + {file = "rpds_py-0.18.0-cp312-none-win32.whl", hash = "sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98"}, + {file = "rpds_py-0.18.0-cp312-none-win_amd64.whl", hash = "sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec"}, + {file = "rpds_py-0.18.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e"}, + {file = "rpds_py-0.18.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c"}, + {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f"}, + {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c"}, + {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594"}, + {file = "rpds_py-0.18.0-cp38-none-win32.whl", hash = "sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e"}, + {file = "rpds_py-0.18.0-cp38-none-win_amd64.whl", hash = "sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1"}, + {file = "rpds_py-0.18.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33"}, + {file = "rpds_py-0.18.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f"}, + {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e"}, + {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024"}, + {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20"}, + {file = "rpds_py-0.18.0-cp39-none-win32.whl", hash = "sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7"}, + {file = "rpds_py-0.18.0-cp39-none-win_amd64.whl", hash = "sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f"}, + {file = "rpds_py-0.18.0.tar.gz", hash = "sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d"}, ] -[package.dependencies] -numpy = ">=1.7" +[[package]] +name = "send2trash" +version = "1.8.2" +description = "Send file to trash natively under Mac OS X, Windows and Linux" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +files = [ + {file = "Send2Trash-1.8.2-py3-none-any.whl", hash = "sha256:a384719d99c07ce1eefd6905d2decb6f8b7ed054025bb0e618919f945de4f679"}, + {file = "Send2Trash-1.8.2.tar.gz", hash = "sha256:c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312"}, +] [package.extras] -docs = ["mock", "numpydoc", "sphinx (<7.0.0)", "sphinx-issues"] -msgpack = ["msgpack"] -test = ["coverage", "flake8", "pytest", "pytest-cov"] -test-extras = ["importlib-metadata"] -zfpy = ["zfpy (>=1.0.0)"] +nativelib = ["pyobjc-framework-Cocoa", "pywin32"] +objc = ["pyobjc-framework-Cocoa"] +win32 = ["pywin32"] [[package]] -name = "numexpr" -version = "2.9.0" -description = "Fast numerical expression evaluator for NumPy" +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" optional = false -python-versions = ">=3.9" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ - {file = "numexpr-2.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c52b4ac54514f5d4d8ead66768810cd5f77aa198e6064213d9b5c7b2e1c97c35"}, - {file = "numexpr-2.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50f57bc333f285e8c46b1ce61c6e94ec9bb74e4ea0d674d1c6c6f4a286f64fe4"}, - {file = "numexpr-2.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:943ba141f3884ffafa3fa1a3ebf3cdda9e9688a67a3c91986e6eae13dc073d43"}, - {file = "numexpr-2.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee48acd6339748a65c0e32403b802ebfadd9cb0e3b602ba5889896238eafdd61"}, - {file = "numexpr-2.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:972e29b5cecc21466c5b177e38568372ab66aab1f053ae04690a49cea09e747d"}, - {file = "numexpr-2.9.0-cp310-cp310-win32.whl", hash = "sha256:520e55d75bd99c76e376b6326e35ecf44c5ce2635a5caed72799a3885fc49173"}, - {file = "numexpr-2.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:5615497c3f34b637fda9b571f7774b6a82f2367cc1364b7a4573068dd1aabcaa"}, - {file = "numexpr-2.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bffcbc55dea5a5f5255e2586da08f00929998820e6592ee717273a08ad021eb3"}, - {file = "numexpr-2.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:374dc6ca54b2af813cb15c2b34e85092dfeac1f73d51ec358dd81876bd9adcec"}, - {file = "numexpr-2.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:549afc1622296cca3478a132c6e0fb5e55a19e08d32bc0d5a415434824a9c157"}, - {file = "numexpr-2.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c618a5895e34db0a364dcdb9960084c080f93f9d377c45b1ca9c394c24b4e77"}, - {file = "numexpr-2.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:37a7dd36fd79a2b69c3fd2bc2b51ac8270bebc69cc96e6d78f1148e147fcbfa8"}, - {file = "numexpr-2.9.0-cp311-cp311-win32.whl", hash = "sha256:00dab81d49239ea5423861ad627097b44d10d802df5f883d1b00f742139c3349"}, - {file = "numexpr-2.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:0e2574cafb18373774f351cac45ed23b5b360d9ecd1dbf3c12dac6d6eefefc87"}, - {file = "numexpr-2.9.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9761195526a228e05eba400b8c484c94bbabfea853b9ea35ab8fa1bf415331b1"}, - {file = "numexpr-2.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f619e91034b346ea85a4e1856ff06011dcb7dce10a60eda75e74db90120f880"}, - {file = "numexpr-2.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2749bce1c48706d58894992634a43b8458c4ba9411191471c4565fa41e9979ec"}, - {file = "numexpr-2.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1c31f621a625c7be602f92b027d90f2d3d60dcbc19b106e77fb04a4362152af"}, - {file = "numexpr-2.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1a78b937861d13de67d440d54c85a835faed7572be5a6fd10d4f3bd4e66e157f"}, - {file = "numexpr-2.9.0-cp312-cp312-win32.whl", hash = "sha256:aa6298fb46bd7ec69911b5b80927a00663d066e719b29f48eb952d559bdd8371"}, - {file = "numexpr-2.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:8efd879839572bde5a38a1aa3ac23fd4dd9b956fb969bc5e43d1c403419e1e8c"}, - {file = "numexpr-2.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b04f12a6130094a251e3a8fff40130589c1c83be6d4eb223873bea14d8c8b630"}, - {file = "numexpr-2.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:977537f2a1cc843f888fb5f0507626f956ada674e4b3847168214a3f3c7446fa"}, - {file = "numexpr-2.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6eae6c0c2d5682c02e8ac9c4287c2232c2443c9148b239df22500eaa3c5d73b7"}, - {file = "numexpr-2.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fae6828042b70c2f52a132bfcb9139da704274ed11b982fbf537f91c075d2ef"}, - {file = "numexpr-2.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7c77392aea53f0700d60eb270ad63174b4ff10b04f8de92861101ca2129fee51"}, - {file = "numexpr-2.9.0-cp39-cp39-win32.whl", hash = "sha256:3b03a6cf37a72f5b52f2b962d7ac7f565bea8eaba83c3c4e5fcf8fbb6a938153"}, - {file = "numexpr-2.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:d655b6eacc4e81006b662cba014e4615a9ddd96881b8b4db4ad0d7f6d38069af"}, - {file = "numexpr-2.9.0.tar.gz", hash = "sha256:f21d12f6c432ce349089eb95342babf6629aebb3fddf187a4492d3aadaadaaf0"}, + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] -[package.dependencies] -numpy = ">=1.13.3" +[[package]] +name = "sniffio" +version = "1.3.0" +description = "Sniff out which async library your code is running under" +optional = false +python-versions = ">=3.7" +files = [ + {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, + {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, +] [[package]] -name = "numpy" -version = "1.26.4" -description = "Fundamental package for array computing in Python" +name = "soupsieve" +version = "2.5" +description = "A modern CSS selector implementation for Beautiful Soup." optional = false -python-versions = ">=3.9" +python-versions = ">=3.8" files = [ - {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, - {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, - {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, - {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, - {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, - {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, - {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, - {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, - {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, - {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, - {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, - {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, - {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, - {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, - {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, - {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, - {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, - {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, - {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, - {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, - {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, - {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, - {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, - {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, - {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, - {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, - {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, - {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, - {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, - {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, - {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, + {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, + {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, ] [[package]] -name = "packaging" -version = "23.2" -description = "Core utilities for Python packages" +name = "stack-data" +version = "0.6.3" +description = "Extract data from python stack frames and tracebacks for informative displays" optional = false -python-versions = ">=3.7" +python-versions = "*" files = [ - {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, - {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, + {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, + {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, ] +[package.dependencies] +asttokens = ">=2.1.0" +executing = ">=1.2.0" +pure-eval = "*" + +[package.extras] +tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] + [[package]] -name = "pluggy" -version = "1.4.0" -description = "plugin and hook calling mechanisms for python" +name = "terminado" +version = "0.18.0" +description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." optional = false python-versions = ">=3.8" files = [ - {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"}, - {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"}, + {file = "terminado-0.18.0-py3-none-any.whl", hash = "sha256:87b0d96642d0fe5f5abd7783857b9cab167f221a39ff98e3b9619a788a3c0f2e"}, + {file = "terminado-0.18.0.tar.gz", hash = "sha256:1ea08a89b835dd1b8c0c900d92848147cef2537243361b2e3f4dc15df9b6fded"}, ] +[package.dependencies] +ptyprocess = {version = "*", markers = "os_name != \"nt\""} +pywinpty = {version = ">=1.1.0", markers = "os_name == \"nt\""} +tornado = ">=6.1.0" + [package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] +test = ["pre-commit", "pytest (>=7.0)", "pytest-timeout"] +typing = ["mypy (>=1.6,<2.0)", "traitlets (>=5.11.1)"] [[package]] -name = "pytest" -version = "7.4.4" -description = "pytest: simple powerful testing with Python" +name = "tinycss2" +version = "1.2.1" +description = "A tiny CSS parser" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, - {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, + {file = "tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847"}, + {file = "tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627"}, ] [package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=0.12,<2.0" +webencodings = ">=0.4" [package.extras] -testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] +doc = ["sphinx", "sphinx_rtd_theme"] +test = ["flake8", "isort", "pytest"] + +[[package]] +name = "tornado" +version = "6.4" +description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." +optional = false +python-versions = ">= 3.8" +files = [ + {file = "tornado-6.4-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:02ccefc7d8211e5a7f9e8bc3f9e5b0ad6262ba2fbb683a6443ecc804e5224ce0"}, + {file = "tornado-6.4-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:27787de946a9cffd63ce5814c33f734c627a87072ec7eed71f7fc4417bb16263"}, + {file = "tornado-6.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7894c581ecdcf91666a0912f18ce5e757213999e183ebfc2c3fdbf4d5bd764e"}, + {file = "tornado-6.4-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e43bc2e5370a6a8e413e1e1cd0c91bedc5bd62a74a532371042a18ef19e10579"}, + {file = "tornado-6.4-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0251554cdd50b4b44362f73ad5ba7126fc5b2c2895cc62b14a1c2d7ea32f212"}, + {file = "tornado-6.4-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fd03192e287fbd0899dd8f81c6fb9cbbc69194d2074b38f384cb6fa72b80e9c2"}, + {file = "tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl", hash = "sha256:88b84956273fbd73420e6d4b8d5ccbe913c65d31351b4c004ae362eba06e1f78"}, + {file = "tornado-6.4-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:71ddfc23a0e03ef2df1c1397d859868d158c8276a0603b96cf86892bff58149f"}, + {file = "tornado-6.4-cp38-abi3-win32.whl", hash = "sha256:6f8a6c77900f5ae93d8b4ae1196472d0ccc2775cc1dfdc9e7727889145c45052"}, + {file = "tornado-6.4-cp38-abi3-win_amd64.whl", hash = "sha256:10aeaa8006333433da48dec9fe417877f8bcc21f48dda8d661ae79da357b2a63"}, + {file = "tornado-6.4.tar.gz", hash = "sha256:72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee"}, +] + +[[package]] +name = "traitlets" +version = "5.14.1" +description = "Traitlets Python configuration system" +optional = false +python-versions = ">=3.8" +files = [ + {file = "traitlets-5.14.1-py3-none-any.whl", hash = "sha256:2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74"}, + {file = "traitlets-5.14.1.tar.gz", hash = "sha256:8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e"}, +] + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] +test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"] [[package]] name = "typer" @@ -250,6 +2654,17 @@ dev = ["autoflake (>=1.3.1,<2.0.0)", "flake8 (>=3.8.3,<4.0.0)", "pre-commit (>=2 doc = ["cairosvg (>=2.5.2,<3.0.0)", "mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pillow (>=9.3.0,<10.0.0)"] test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.910)", "pytest (>=4.4.0,<8.0.0)", "pytest-cov (>=2.10.0,<5.0.0)", "pytest-sugar (>=0.9.4,<0.10.0)", "pytest-xdist (>=1.32.0,<4.0.0)", "rich (>=10.11.0,<14.0.0)", "shellingham (>=1.3.0,<2.0.0)"] +[[package]] +name = "types-python-dateutil" +version = "2.8.19.20240106" +description = "Typing stubs for python-dateutil" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-python-dateutil-2.8.19.20240106.tar.gz", hash = "sha256:1f8db221c3b98e6ca02ea83a58371b22c374f42ae5bbdf186db9c9a76581459f"}, + {file = "types_python_dateutil-2.8.19.20240106-py3-none-any.whl", hash = "sha256:efbbdc54590d0f16152fa103c9879c7d4a00e82078f6e2cf01769042165acaa2"}, +] + [[package]] name = "typing-extensions" version = "4.9.0" @@ -261,6 +2676,101 @@ files = [ {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, ] +[[package]] +name = "uri-template" +version = "1.3.0" +description = "RFC 6570 URI Template Processor" +optional = false +python-versions = ">=3.7" +files = [ + {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"}, + {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"}, +] + +[package.extras] +dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake8-commas", "flake8-comprehensions", "flake8-continuation", "flake8-datetimez", "flake8-docstrings", "flake8-import-order", "flake8-literal", "flake8-modern-annotations", "flake8-noqa", "flake8-pyproject", "flake8-requirements", "flake8-typechecking-import", "flake8-use-fstring", "mypy", "pep8-naming", "types-PyYAML"] + +[[package]] +name = "urllib3" +version = "2.2.1" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, + {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "wcwidth" +version = "0.2.13" +description = "Measures the displayed width of unicode strings in a terminal" +optional = false +python-versions = "*" +files = [ + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, +] + +[[package]] +name = "webcolors" +version = "1.13" +description = "A library for working with the color formats defined by HTML and CSS." +optional = false +python-versions = ">=3.7" +files = [ + {file = "webcolors-1.13-py3-none-any.whl", hash = "sha256:29bc7e8752c0a1bd4a1f03c14d6e6a72e93d82193738fa860cbff59d0fcc11bf"}, + {file = "webcolors-1.13.tar.gz", hash = "sha256:c225b674c83fa923be93d235330ce0300373d02885cef23238813b0d5668304a"}, +] + +[package.extras] +docs = ["furo", "sphinx", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-notfound-page", "sphinxext-opengraph"] +tests = ["pytest", "pytest-cov"] + +[[package]] +name = "webencodings" +version = "0.5.1" +description = "Character encoding aliases for legacy web content" +optional = false +python-versions = "*" +files = [ + {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, + {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, +] + +[[package]] +name = "websocket-client" +version = "1.7.0" +description = "WebSocket client for Python with low level API options" +optional = false +python-versions = ">=3.8" +files = [ + {file = "websocket-client-1.7.0.tar.gz", hash = "sha256:10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6"}, + {file = "websocket_client-1.7.0-py3-none-any.whl", hash = "sha256:f4c3d22fec12a2461427a29957ff07d35098ee2d976d3ba244e688b8b4057588"}, +] + +[package.extras] +docs = ["Sphinx (>=6.0)", "sphinx-rtd-theme (>=1.1.0)"] +optional = ["python-socks", "wsaccel"] +test = ["websockets"] + +[[package]] +name = "widgetsnbextension" +version = "4.0.10" +description = "Jupyter interactive widgets for Jupyter Notebook" +optional = false +python-versions = ">=3.7" +files = [ + {file = "widgetsnbextension-4.0.10-py3-none-any.whl", hash = "sha256:d37c3724ec32d8c48400a435ecfa7d3e259995201fbefa37163124a9fcb393cc"}, + {file = "widgetsnbextension-4.0.10.tar.gz", hash = "sha256:64196c5ff3b9a9183a8e699a4227fb0b7002f252c814098e66c4d1cd0644688f"}, +] + [[package]] name = "zarr" version = "2.17.0" @@ -285,4 +2795,4 @@ jupyter = ["ipytree (>=0.2.2)", "ipywidgets (>=8.0.0)", "notebook"] [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "738291b948afac4bf2ae154648356d97e5f47c27621e5035af471e2c3e3bcc85" +content-hash = "99aedc95fed8638f8fff56fcfa50df919008e0a2599405346dc191122d574520" diff --git a/pythonData/pyproject.toml b/pythonData/pyproject.toml index 208fc588e6..bfb44dc422 100644 --- a/pythonData/pyproject.toml +++ b/pythonData/pyproject.toml @@ -12,6 +12,8 @@ python = "^3.11" typer = "^0.9.0" numexpr = "^2.9.0" zarr = "^2.17.0" +jupyter = "^1.0.0" +matplotlib = "^3.8.3" [tool.poetry.group.dev.dependencies] diff --git a/pythonData/tests/vcell_parsing_test.py b/pythonData/tests/vcell_parsing_test.py index 4f08281be5..deabee4d51 100644 --- a/pythonData/tests/vcell_parsing_test.py +++ b/pythonData/tests/vcell_parsing_test.py @@ -51,7 +51,6 @@ def test_parse_vcelldata(): data = pde_dataset.get_data(v.var_name, t) if data.size > 0 and v == "cytosol::RanC_cyt": print(f"v={v}, t={t}, shape={data.shape}, min={np.min(data)}, max={np.max(data)}") - print("done") def test_function_parse():