From 25bb133ceb41ec0131d359bc343585f9eb259a04 Mon Sep 17 00:00:00 2001 From: AnotherSamWilson Date: Sat, 27 Jul 2024 16:41:29 -0400 Subject: [PATCH] Modernized docs. Work in progress. --- .readthedocs.yml | 18 +-- docs/ImputationKernel.rst | 12 -- docs/ImputedData.rst | 12 -- docs/Makefile | 4 +- docs/MeanMatchScheme.rst | 12 -- docs/_static/themes.css | 3 - docs/conf.py | 110 ++-------------- docs/id/miceforest.ImputedData.rst | 30 ----- docs/ik/miceforest.ImputationKernel.rst | 45 ------- docs/index.rst | 37 +----- docs/logo/icon_small.png | Bin 63778 -> 0 bytes docs/mms/miceforest.MeanMatchScheme.rst | 29 ----- docs/requirements.txt | 55 -------- docs/utils.rst | 13 -- docs/utils/miceforest.ampute_data.rst | 6 - docs/utils/miceforest.load_kernel.rst | 6 - poetry.lock | 164 +++++++++++++++++++++++- pyproject.toml | 5 +- 18 files changed, 196 insertions(+), 365 deletions(-) delete mode 100644 docs/ImputationKernel.rst delete mode 100644 docs/ImputedData.rst delete mode 100644 docs/MeanMatchScheme.rst delete mode 100644 docs/_static/themes.css delete mode 100644 docs/id/miceforest.ImputedData.rst delete mode 100644 docs/ik/miceforest.ImputationKernel.rst delete mode 100644 docs/logo/icon_small.png delete mode 100644 docs/mms/miceforest.MeanMatchScheme.rst delete mode 100644 docs/requirements.txt delete mode 100644 docs/utils.rst delete mode 100644 docs/utils/miceforest.ampute_data.rst delete mode 100644 docs/utils/miceforest.load_kernel.rst diff --git a/.readthedocs.yml b/.readthedocs.yml index 115637a..3a7e5af 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,13 +1,13 @@ -version: 2 -formats: - - pdf +version: "2" + +build: + os: "ubuntu-22.04" + tools: + python: "3.10" + python: - version: 3.8 install: - requirements: docs/requirements.txt - - method: setuptools - path: . + sphinx: - builder: html - configuration: docs/conf.py - fail_on_warning: false \ No newline at end of file + configuration: docs/source/conf.py \ No newline at end of file diff --git a/docs/ImputationKernel.rst b/docs/ImputationKernel.rst deleted file mode 100644 index 3ce15e4..0000000 --- a/docs/ImputationKernel.rst +++ /dev/null @@ -1,12 +0,0 @@ -ImputationKernel -================ - -.. currentmodule:: miceforest - -ImputationKernel ----------------- - -.. autosummary:: - :toctree: ik/ - - ImputationKernel diff --git a/docs/ImputedData.rst b/docs/ImputedData.rst deleted file mode 100644 index bae57bc..0000000 --- a/docs/ImputedData.rst +++ /dev/null @@ -1,12 +0,0 @@ -ImputedData -=========== - -.. currentmodule:: miceforest - -ImputedData ------------ - -.. autosummary:: - :toctree: id/ - - ImputedData diff --git a/docs/Makefile b/docs/Makefile index 8845def..d4bb2cb 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -3,9 +3,9 @@ # You can set these variables from the command line, and also # from the environment for the first two. -SPHINXOPTS ?=-vvv +SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build -SOURCEDIR = ../miceforest +SOURCEDIR = . BUILDDIR = _build # Put it first so that "make" without argument is like "make help". diff --git a/docs/MeanMatchScheme.rst b/docs/MeanMatchScheme.rst deleted file mode 100644 index 96c80f4..0000000 --- a/docs/MeanMatchScheme.rst +++ /dev/null @@ -1,12 +0,0 @@ -MeanMatchScheme -================ - -.. currentmodule:: miceforest - -MeanMatchScheme ----------------- - -.. autosummary:: - :toctree: mms/ - - MeanMatchScheme diff --git a/docs/_static/themes.css b/docs/_static/themes.css deleted file mode 100644 index 9a9a1a0..0000000 --- a/docs/_static/themes.css +++ /dev/null @@ -1,3 +0,0 @@ -.wy-nav-content { -max-width: none; -} \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index baecc96..dc5a447 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,113 +1,27 @@ # Configuration file for the Sphinx documentation builder. # -# This file only contains a selection of the most common options. For a full -# list see the documentation: +# For the full list of built-in configuration values, see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html -# -- Path setup -------------------------------------------------------------- - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -# -import os -import sys -import sphinx -from sphinx.errors import VersionRequirementError - -sys.path.insert(0, os.path.abspath("..")) - - # -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information -project = "miceforest" -copyright = "2021, Samuel Von Wilson" -author = "Samuel Von Wilson" - -# The full version, including alpha/beta/rc tags -release = "2021-08-21" - -# If your documentation needs a minimal Sphinx version, state it here. -needs_sphinx = "4.2.0" # Due to sphinx.ext.napoleon, autodoc_typehints -if needs_sphinx > sphinx.__version__: - message = f"This project needs at least Sphinx v{needs_sphinx}" - raise VersionRequirementError(message) +project = 'miceforest' +copyright = '2024, Samuel Von Wilson' +author = 'Samuel Von Wilson' # -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - "sphinx.ext.autodoc", - "sphinx.ext.autosummary", - "sphinx.ext.todo", - "sphinx.ext.viewcode", - "sphinx.ext.napoleon", -] - -autodoc_default_flags = ["members", "inherited-members", "show-inheritance"] -autodoc_default_options = { - "members": True, - "inherited-members": True, - "show-inheritance": True, -} - -# mock out modules -autodoc_mock_imports = [ - "matplotlib", - "seaborn", - "numpy", - "pandas", - "scipy", - "scikit-learn", - "lightgbm", -] +extensions = ["myst_parser"] -master_doc = "index" +templates_path = ['_templates'] +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] -# hide type hints in API docs -autodoc_typehints = "none" - -# Only the class' docstring is inserted. -autoclass_content = "class" - -# Generate autosummary pages. -autosummary_generate = [ - "ImputationKernel.rst", - "ImputedData.rst", - "utils.rst", - "MeanMatchScheme.rst", -] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ["_templates"] - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -# This pattern also affects html_static_path and html_extra_path. -exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] # -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = "sphinx_rtd_theme" - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -html_theme_options = { - "includehidden": False, - "logo_only": True, -} - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ["_static"] - - -def setup(app): - app.add_css_file("themes.css") +html_theme = 'alabaster' +html_static_path = ['_static'] diff --git a/docs/id/miceforest.ImputedData.rst b/docs/id/miceforest.ImputedData.rst deleted file mode 100644 index 3bde8c4..0000000 --- a/docs/id/miceforest.ImputedData.rst +++ /dev/null @@ -1,30 +0,0 @@ -miceforest.ImputedData -====================== - -.. currentmodule:: miceforest - -.. autoclass:: ImputedData - - - .. automethod:: __init__ - - - .. rubric:: Methods - - .. autosummary:: - - ~ImputedData.__init__ - ~ImputedData.complete_data - ~ImputedData.dataset_count - ~ImputedData.get_correlations - ~ImputedData.get_means - ~ImputedData.iteration_count - ~ImputedData.plot_correlations - ~ImputedData.plot_imputed_distributions - ~ImputedData.plot_mean_convergence - - - - - - \ No newline at end of file diff --git a/docs/ik/miceforest.ImputationKernel.rst b/docs/ik/miceforest.ImputationKernel.rst deleted file mode 100644 index 44e0ea2..0000000 --- a/docs/ik/miceforest.ImputationKernel.rst +++ /dev/null @@ -1,45 +0,0 @@ -miceforest.ImputationKernel -=========================== - -.. currentmodule:: miceforest - -.. autoclass:: ImputationKernel - - - .. automethod:: __init__ - - - .. rubric:: Methods - - .. autosummary:: - - ~ImputationKernel.__init__ - ~ImputationKernel.append - ~ImputationKernel.compile_candidate_preds - ~ImputationKernel.complete_data - ~ImputationKernel.dataset_count - ~ImputationKernel.delete_candidate_preds - ~ImputationKernel.fit - ~ImputationKernel.get_correlations - ~ImputationKernel.get_feature_importance - ~ImputationKernel.get_means - ~ImputationKernel.get_model - ~ImputationKernel.get_raw_prediction - ~ImputationKernel.impute_new_data - ~ImputationKernel.iteration_count - ~ImputationKernel.mice - ~ImputationKernel.plot_correlations - ~ImputationKernel.plot_feature_importance - ~ImputationKernel.plot_imputed_distributions - ~ImputationKernel.plot_mean_convergence - ~ImputationKernel.save_kernel - ~ImputationKernel.start_logging - ~ImputationKernel.stop_logging - ~ImputationKernel.transform - ~ImputationKernel.tune_parameters - - - - - - \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 604fefb..5d33055 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,40 +1,17 @@ .. miceforest documentation master file, created by - sphinx-quickstart on Tue Dec 28 11:24:49 2021. + sphinx-quickstart on Sat Jul 27 20:34:30 2024. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -.. image:: ./logo/icon_small.png - :align: right - :width: 250 - :alt: miceforest logo. +miceforest documentation +======================== -Welcome to miceforest's documentation! -====================================== +Add your content using ``reStructuredText`` syntax. See the +`reStructuredText `_ +documentation for details. -``miceforest`` imputes missing data using LightGBM in an iterative method known as Multiple Imputation by Chained Equations (MICE). It was designed to be: - -* **Fast** - * Uses lightgbm as a backend - * Has efficient mean matching solutions. - * Can utilize GPU training -* **Flexible** - * Can impute pandas dataframes and numpy arrays - * Handles categorical data automatically - * Fits into a sklearn pipeline - * User can customize every aspect of the imputation process -* **Production Ready** - * Can impute new, unseen datasets very quickly - * Kernels are efficiently compressed during saving and loading - * Data can be imputed in place to save memory - * Can build models on non-missing data - -There are very extensive `beginner `_ and `advanced `_ tutorials on the github readme. Below is a table of contents for the topics covered: .. toctree:: - :maxdepth: 1 + :maxdepth: 2 :caption: Contents: - ImputationKernel - ImputedData - MeanMatchScheme - utils diff --git a/docs/logo/icon_small.png b/docs/logo/icon_small.png deleted file mode 100644 index a4bca08580bc319b4050f2dffc8c15c06b404b38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63778 zcmYIwWl)|?uq^KG?(*X9?(XjH4nae3clY4#Zo%Dxy95iK5C{+)?!$M^saq-jP;Bka z?o4-2&r^w3RhB_UAV2^E14EXRl~e}2UWlDRj^KF!*vZcf$4X($_CC>i@$3wB*Kf zu|}9I5xsWnTarKLfJel#D>DCg?fUV?ZEf`=($)m`$?q@`k!DA)W78z`rCT+o;Bf!K zdrjoi$O1q~zu3ej9F#*^osFR|R3R|If8Y#qA@{gN?rmovXQQdI6=$ z6UiHqNX72IwZ=f?y^ex_=mHay@uhp$&bh39<;wn%vkMTjhFNk@FvIpycO1dw0~iE+5Vw(GW~KDTkAyP$uII) z7AZU8GGP{p?#%ngGkg@yLoj(Uo{hP<)*?gymm75%*#*P)y5YH9>enosYz3l(-7$Z+H}SKFr4{(HxT%Iw-kP!9JeIcjV8T?d9aaIW7j+nw%(lzGz@ zCoA&&Hk+2_I+r(P*Cbe_ifn+W?!S~n^C{YlR&jl*ZbP9+wxb8&M7ahlDo=1KVOgPWf| zU%IhL5|2mM$+0cp>cu9^h9Tl@?yFL@^kjVEDzVrfq+cp=(WD$hHg0yL#&5_2I`9CE zN*Wn$aX6heC3#{=)M*y8&~nfWUC#1)>~btpldW(EBXL}+dq!;%xeP~r7s+H1|F*h6b<)5Dm9a|gzqLY$NVKz!QiZ6Jw5#ChCs`R~~H*Y}${3X;0iSm$nHjM3 z8Pbsw#AI|3Dz)qR|Ni!vb!GpJ)WGOsKREfwtnsJrVQ03kjFKTiukUkYsPV+|0)^F; zH}f6Ld`St!<&|h;e0JHrF{YQzJnqTOi)7Uiye^|k5h?whvVCpvmesu28|NYUjWCu4 zcary9ZUtb^Xq$%=W@D(_qDWsY0<*-moW=F78Q6L5Y5cAJ||O z_8;JYIkkrY4YWf2-hwcr>pUMfRjkqIAzm(5IqM$iy@VgDv=-LHQ2bdG0Z&|aR*AAn zLc<59YZxSzU*V3-OG!FsvwBSOY^hH^rVN`g;sLJHz~~f>^W=(INtw*_L$^E!`xkAw zr9FQE64xn~YY7+Sl-dQO6oe-Ruly1^B@G3l3QD3Woj4Kp z_|1R(qb#(VMpMdJ)d&qo(z@fRG%L}Z6IHxs06OiYJgMpu^6%GuZ+7d7;F} zlWQ!@L1lHh)B46Yh=}_LGSTTuf~VI@TspnfSS90&z~iM~mjuMQX4~^oo}${1Lj%Y$ z1_mZ0<>Zy}Iq2N^<03e2Z?i3NoCW0|QM%EU!29-$P~1nXESKVk28`h*W^(hif(BNz zhlSuL#FP3hS!T=rN+429u3SWkkR}8dHXk?b6SxPPXuOTOM&HAiI+3U zk}OXU!xS$m3O7pX<|YDlTF^`JgaQT+7BnzyXiUe(ejzrM)Vwc=P|9}jNumh5q2Q|y z0oKfDs@P*uN;<ZJ||!Msf}UX*?^2O*hraN*0HOq*Z^ z&lL-jy}e50C1e1)lC46kxMV`Ht$Wz6XcwJO3#D_j*l9;=JcNQq_kgQtWfPNZ5cu{b z+=W`rWqT2Bf|K3a;>N%a69oOk z+~&N@Eo_gnqlMM0q>ZV%R|Q6`m>S6=b!moVY$2^yR$4aWoiD7h)y3=-ULvM)Bik z9!l)Nkr~L;Ow8k7NPB>Ggh-f#MK_&C2eO>y0GNYAiShX z?|N8GQ~3wk*uhPzezL-nSWzK3;*o<(_|^Sk-G+LzyqsPPxH7pqmKC zaa~tr8J0!fD~3q4c;&&dpOe}7+dd!pwR2&xN{aw zEK$knh8&pm1j!1WN}ORw>@U2O>=$5NV;sJkA<}RO-mHXPnr5z_{ops?v{h}Rgb+pV zHh78Sj&xHHI+Zm)E7Xu1R~n=IO%nW9*j!YDZ?V!tw0{P_pu!=mksL%{A8eQ+ zhjq+dN#H6b`o&!oJ{9sl9f}_QQ;nE}tn0AM&jT5|>$7hZqc`LW$EROvGSqwXK`M>W z)m;fRb8tB!%S`(e?|7#Oo?xf8!w^oAqJqhs!XfG5W4P7`{9qEfnFV7LE2n#WX^f`W z{0O9m?T$LgD5efJ694Mm-GhtqMvgk!k4_$EFCC zI+@O6!V{}Ovryo3`^Yqz-kVo$v;SlLR<0Y`2%A={t`Amcr$7SjCf>4OMm>;lrxFx_ zhDaeS8GU=+=iJ)(d-_s#4~^Oug?~>ziVX~JZ5@x8PYF^8LYh=v4DI?K8jO3kbQj7j z=Px$*PlXl9zhaL!Su&O>ti&PxwmPpGp>>fp@+dmK;hs&uTB4}&bUKoU2lNtK`4sRU zEOEk6PV&qPKTvhUIkY(m=U;*?88bi+%kjibo}thLf1_LLT4athEn^f6>cAh=zEIaP z%xXDl*>_MTmxiu%&7MaOUH?uU1IFV`V7uPinN)zsMoYZm{CV(7*rxUFR~79Nv?!~j zYz&4N#==T)&6UjX`=V$-CR~`hYKS~cl;`1DAz}mz8zFv~r9fx90PPTO<(~k;G-4#j zQ(LQf)b^l6FcwQQ<5O)`X-x4>Z-ht;MLEpzJu(>QSR}Apya1A&uEu9lDT!^t5aNhTqq5&u6&tLoe71)yl0RqG4$%hL3pXb!5kgrpuiBw5NjU6IQ(msz15OX!waq{i|I#hEa` z88RKx_9n5H4=}fJArnoen)-{gjbV*YpK^ya3U=qQ0yh$kEU0W#uy_{R7_@wB884MV z>4CD#5G8fdioR5?E%2-UkARq_D)t5puG*N6bbNa_4c*k%ju0ODiWL2!+sK`LOO))u zd7sApY?%Oalck&DsKx-C zY_l)t7Q{(Ow>WHYGDn%iy2CK z$CndBmZ^MU1cf^8LEq;}cd~RDtuuTR=FcQD)Ldm%y7sjsp=n9fF{cufb9ITFMSO8| zT4k3E1>vyN7w$qlcWD?bB+3*ik0f3>^NlZ28sdm9J2pRet8$nsu|Zk7(u+vLSowrA z<+UjM@UrWKc*U1fh4usoaQm$tu~sq@C6M@HsSE_HM!Y&Oxxx4JX7VZIsXI-ISHJF} z_ZNn(h~juv1kdM7S;FM0i-mC^SZlA#k?x-c{>(Cr+i{z?WnnQqKpd+rP`r!$a1-gj ztKDhnOrTprQYebGG)41IJJA!_GQIB*ejx36^Dkl%UX*-EjB7o4i}mjFNPjkHeoC(i z$ii93nNS7y7b<#o&SMo=Yc%_<4!W|RxsXThNON_^<)h*p3Y4F7II?HsSJF_}r-@9H zl*AiKoc>a9_N4ep2$eGgxu`xbzCrr#)tPeE#rFBr4FN;{v?}al7i>%j zh@FNFB$cmt;laFedYsxlz3`1AxPpDCdp-k>Ab!5=G@6m;8FUDy3FNxt$w(wDo$;>} zoka!0t({0e>M*Yq^m|7P_8I4?Cz*Oq9ErmppWY})@No5H%E0+xCxcJLid64&eyS2j zt5zJBfluPIm8ON?kX=SNJcS%iLcdj$MK0r}=EihzS~Ncx2+?5he#3l(f3wIeqO4Sa z7}dg>7kf$5SvSgfG(}Wv6gIrH5Oa)6Ih!df?U1*N#B}=$c4n0!Df(# zZgia&{n@GqK8`8XTN%pZX@%?nvY=GXD7IEsdhi*qd8d)7+UatUdIl=2pADooZ zd9;7LoLEA>_qr-ujey{-JV5XV&qBs4<*4x}Qeakk8aGN&=~yL^=8%n$N}AA2N~2HJ zGMKqH!;)V%hB2b;RCztj6wZWPn+n!l8uLC&BkdE^AMT7_`kf4&23&T+kfWa^O%Ep& z<{+!o(B*2LZ?P#AU!4=NlIiYb%e%0>=--yXe(_qu#}rDWXB}{r5NyU|UgJAHg{{XrLl;*=C`c?8LUw(bbEoeOTT6GGx7CPr%E6@DLX>%!jEqFbB%Gcw%?i6!mWc=Z z4AbRK^ut(1*hjTQ=knH8HHbMy9&?g`vle^UE#I8zWI_E+vZIyYaYHzKW{Vij@E*0= zw0pfA{bG5}nx863>c&|bKlwF7_e5ID>~?tMF8Rnl+vkJLL8c)jw^hTy6yL$!Ua6<} zLtp7GZ7~fw_#~oLRjJ95GOFXK)>Pf$AY-h(Aywa-Bfx|yPeZb*x2K3CKv!7&Z4CjIyD;XJEj1@O`cf8L^Sh$? z5F0b`-#NcuYJm;7@8VG1?~}Pqkj=t*X4uY-r^1AqP?Gnvznl z=e=ek@*H}Jc{k9Q(I`Y46eIRvu2>H24 zR3aQUjzOoZe{=NGk$;sIF&4AMVsE0~;o`hk812c?jAiC#Ief}V@2*}EhUpc|-S!8< zLX%7UXEbfC+o9_ZDnX{U|@%;L}C<8B-@XE02ug1f=fFs5og-`!T8Lj*d~Uhv;&SRB4W@qhbG|22$wh4c1K zKVtu}6&g8N=VIBbG>pPi%Hi;F%ES^chGaDXB9$TtFjR z{xa7Oa7Q#2<5X*=`ID2uplVU+i*{+B4l1j5ilZ_|WD<~4=2cZQ9bXKaP}EN&U+7!n ziE1VO9+j3Mtet|s?5Obr^l;uF6(5^WJUE73EN@I zKh>5)H$VK-t_^>hR#~mdOO&*Bkx^rjXs1OXI@SS!<_aE^P|s-E?iCe4rixN15Fdt! z{Cl=YhHER&ZY;X2xE<|zolO+hXAMCU%D;^y2CJ#?Ehss8?iJf|wc>bvlLaiY$gK^P zH!CRLI>-Bn-fQfut+%9eoSs7{!+4bN?Ue_@F=#h-Joo^N#i{Oj&}ulm%mEq^xjcI& z;z2i+UrOWeu|dMZrlm}ISJ?S*$mCsH-ZEAOXa3W$6kHr`{P?7Z;nGo? zyYZu{-+_xnq~|M)yu!|)+hzVHqjhP;++&|Q2sC_1Iuo#L7?$3YR;A1n?{te;-0a@llu{QLZi4Q_4nGXEE$WteZD=3WdKtS>>O|4gu5x(vrvV+Ac1 z9c$@UNI5>zfaD~YC8w2VCpL3q+Y4;OaCqwzI+AqQD$Nfb?Hq6k+0cW5V7#YjwY>yr zMX%&FZ`?>53f*Qg9cGxx<{u<<-AEZtWF)t(Eu_-SlwtKrJG0Yd-ODmm!#So1H#5zC z*Ow!uC3;U@_4X@UVgf7!Fp0*FtCo_Mzx_OyYN|12?yp2q$ZzymnA*jK#A;p5EFi|5 z0(BAnuK6b>)E{b3k}1!&{XBBQm8B%POZU7NT7;*MKkVTf*&0*V&12EuS2kO~*dbXT z#L_DdB2|%`Lf#F&@`oIiv{$uv@V9cQV%LM=%QGQdO|G7UO#Ne1aeuDrKDD z%_=aABkwz_S-Pe-v$H^^Ftx|0KK~YD&Ace`_j7a5>rOc~wNu^C2CwsnqaWKv<%XLh zy4UDwWbAI54*Chwbs7+CEJ>hYXw_0~q~5P|d~zpb;tPG>t1K$f>Vki79iQtEq4*nt zV#m@(qwIev3;MiEoN*S=CY1}>QiWEMw>D>>aZ#3j*RthFGW7V2FT=->fa8VWHuwz* zQ!puOP;JbnLadf}b5y+tyPvpdEN4Vb6knT2qU`M2NIdsnffB{HM22}NlERREM^0@D z&^DY=12yWKeAhKYr7<;{<;zm;4+;mqR7 zg_O|1*r6dP3Ob=$%ea&F&0+RPX+YA|`y5mVA#vJJqy`NxYcvCJdZUS5~Z~{~%z|1F!C2aUfuBe&IUFwX?rDnQbW>J`FNrOLT_Jp{HFHOoYR{O-(Gz!4y$3dvBKt z$INccY`#2l_$t+o6e54=&`33*RU%&hPepBJ`>aEWv2QJ+s)?lxbjJh^t$AZjJAye{ zZ7unHh&KDfQa;wWK*(<}F`*|!vB=mhDUke@muDE$5GZR^`=VfrZh*1enkyS75ov$N zcu0+u&HN+Ne6<;`$)`p|-S_b1k@SAoQHViox)v0zhlVkL^j${*1U8a|Ng)*PkYyxLB~*=$ zl7Ri(u9OHzz*EckCfihHNDep|Nq{)xKv%hWLc51xo;UK4#F_(xMe--DsuE~L%@o{ZnLzOD6Cymoi_s|-@5T8$>rTUx3dy;sA@+`CUr0d#XC#Oe|J5(A+Y5b=yFfi~iI|&I@ISGmXo74jH*}N~wLbAi6M587KWm5DgFj#66 zs$UtSVtD1TV@-=%vGqM!yKWJ4IH~BE6G9vY2NOrDLt|U&QR+j;9>5QNo|c|cP`|Oz zwMJdWxWPfXrGZBGd|+ztcBD^5rz&2XCZ1{o-fN{y~o#gxqo=ysPs5DuOlo|Mq%Uw@j-|V?vphrhX*Bi|sfA}57Q;KwK{MPOCVPo$4iIJs9!yOX^ z{8dzUNm&{6-0O9s&!=G+ThDG3Qje*s3iHeDF5a8kmUUJN^8pHqb43u=&}W18y}pf> z{hP<`yLZF;n}S2!j%|p@;XxP-bVwX@wQs!(^+vi~=FolH?RDet4bnBEkchYk)iw3v zpFVNs%1I*WN^Fd|;(wHBcA)^)q{=>&%F^($^g?;|TM%=*XC>{NG-j>FMeF9V)`n{k<=L;Xluglu|Jo^$}^5D+Vvv{>&BqpFi>uBys%F zgU^u36e?YEmbvD7St^$$;6n2E=0>ZZN=|YlNJ^46j&a(@Wg4f}s0BtUJpA>|57_Xx z_jWKohjmcP;Qt(nKRi5K_nS3xd(X{m&}S#VUJ?eKhOx4xayM?Dk6Q#DvZ@L`@a2&7 z`sY|Y0n@eh*$np1XX%Q8(2`?8VCA;^dCL_eP9*J$T4>chzeh8<=};JQ5ky zS{L*&Ar1}wBpo{e0_^PU57PhLJ2H}h_vJ`)nZosV9g`~KEexy3rR>P8ET6Dpa!sA| z;%fQVYr_Y8QN9l8;>#n7yir68|9zJ$A6J&Kf*j0Xl6XDY3Lg| z*Q#keylBvBa7mO4o8}_GQTT*voEo;dNuQQ}d69ap=W#qcdbehRn!7WL9Q2W~vPMTo zM?Nptw!q{g4nKk*au z!2EaYiPqNEy|y*u;gBv5Gfm%FP`vbKpFAy?R{Hq;zdrhE`szXL?b0is*~|_kw|Tso z$KnackwZWBtvr!b8yP1JjMHM!Db~HyTgRrNwi(>VgAXloS%r19trT-xaE>yUz1!q) z>BZ)-nUz#m$Kb*GZ`VsY5NKej|C#vh?!2aYt$pKQ|I-mUfA^npPPvq@^K*4gEu3m$ zVTMin(V@{;wl7bgm?@M#(sQ}%_}IGVY6wxc-x~SWueZAG&hIeUO`F#5DO7YIF(yWQ zc}=U*Sb#-@R3VdTxT+$5%8ocH3OqLIjTR5-ppIvEB<5&(VZHEjTRnt~jDrKW%1&?I z{@FXo$H9SPYWm;sZ)f$kddBI_{qkH^k7Gq%A{1xUkDTY+{=MCWnJDxG688BcwBkTZ zWj(Nu2c9~~Zu(}dm$9&}8=G>lgErb&-G(hS_*bjOb;Bz2Bhz6RVHk_|E6dAaR774m z-)R6RSDW{cq;2%uo&Cx>+)c8JCFoI{;0L#;JK6G zz_(WyMx$mZ@P3n(P5!Uo$~wXr80s)ejaSdTAcmd9@^S)CLf=J!B0(1!mpyn4Y+}i(e*J^)}~L~oL7>ZmL~iY*7b9*b6Wau z83m88)t=OHLk*Wbm^|CAkm~B{or4%a2``B1_*{{3JFW+H?D}imZC2TB$f|hXZT#hi z)Y8xpl8?D3!@I50=b_=oxo6Q0I$Nq3F8#}&_#dWKhXv8R9F=7@TCdQbBExuwiYj8{ z)eGt}E)2K#H!~Ksw__YxJ(J57SGUdOvx0m7@Wh=JyiuHmQTcc!$Y4;6&&gMB*SQ^U zN+NY{GmFr{uwQv@QSnN9xbJ3zreNvmQk8s~)qW}ge!truRvH51Z*M! z(C9vj;D2|NS-rYq+v;k0L{3c&Nf4hAe;G8s6w$o+YU@;|(^hZXFdiCXbNYbA$+=uyYRNKG6jYt=ar2io za1cTcBHn5Rlk4a@)S@#F*Py?(D3**o?AfYbShH!@BuhSuq9 zOa%chGBx$Dq)BY2ip^4Q?92Ub;spTO+_~}bG#^POtEH*A$CD@&5%}`@r+Uo`h@5K$ zyiR*ux~8(O4j*9StIk}lIzmF+NbDMIv-9OD)=K{h&JBJfcDAf^qVDkZ96>tuMGN5XN9;aak7sG>hEJZfxA zy65&F*5}uPOwmMhb=wk$G=N>_gml4^KPZbQT7A=1eaG=&6hal_U?1JtNdWIlx;-IDRCz!@#k%MXYE<9{dPbM z0znza`dSwWL|h1nIE(`$a;ZKY#{9sKUt1z!ILBA19)Ofi{|1=QkV9xGm) z<1JYk2ti+;K+Uj~aImm@$=#6MiQw|95FvAB?0+djz;BXg;;^{UWe zZHw!lUmLuKaUARaW!T$O3gW?z_wHyjwZgorNrS$Tl-k~>Bj8}Ep-EK=PEOx}%!W;@ zkXrfu=OepVT)rWnot-(df9xDx1VZq-+>VwZ@r5D{yb7*v!^Gf7N>4{DNzSyZ{I*pR zH#VjZT$&Uwk!GDUprNa|99$odGKcNknioF!{YwSFlmAJ=84Z;xzl~Wyy#Xr7>oZZV zVlM_tr0c0FA3Xy~r9Kb9@b_~CiSU>-SF>6l_2>y5D%SIq7-%~B_vq?*IoHa-g_WFv z0W~_hipWN)8t$Vc0iqm}s9xyt7Z)-!B3jc-<=c83~cK_Ju^XUHa%SI&hyR}8?M?w457Z*dQ2wy|J zb^Eqddmdsg?zzT=Z4iypXcVYp;d{2NfEXBpKoOdPyb}X2up|SICk3dz`LJ*w5%27I zeY-xdX)wPIMXlyP9&v0RO8=S&$W`uaG%$#`EMro*Mo=vqGt!ulIFLBVHcU)RK4+u2P1bkzTC{hq<5WXuGZLCuC#c22 zazK`@Xcd*}?&R{!@?J2`bo~*IBNfSC;zxtTc@`ax2M7~*1J;XK0rKf)drzfu(1%9A z%^aawDnvtoR?|}hyc&7Uuk=47a-D}hj-8x52;?}!F~|K&7>!S%$*d+^A;>A#J$6304R zb`z*$aZ6197_XcY#N$}<-Jp>c%p5t{Mv>+{sHv$%J$1XUgk(^~__$7D7=F21Y25O4 z6$i2;RNmK@kL1g(+RIJ4jwYg5NTC>jzI1db#>a(bWgj$24SnU4qg7+qveo4L>ZkZR zh|24n3?wHEf5%q5&fA-Jt-&`O@P0oFS&aWJ$pzq|8%se51O)b~`pvleuBvU_n6xTm zUp!9CXR_EF**_STGlgpZFi~U-BHhNUL)UR)79TQ~DMN_{0u7LH9+gB#N6%UU0*rDP zmpNRBJhNHB4?fJ)QoxBJ#l^(HNp?HY-@m+iuGpU=)9`*R0TOS>OiJ7$B}h`@ zOIgf5Q`|U7AW^2V9~}}*eSj#i^tBl13t4)uAV>m#v8~V`Vnc!3o$&!ePOM_7Wm0l{ zVR11k<)HWKd8c|s@a}er?a$k@+ooMb(;)D`pNhl8$$Q@4o^^X%$*R0J+c2p~@3 z_ZJVrzgNQ#=hG}&H4Z@62z0xZAckDUPY|*xVcp#y2^p?$!o%N7(sD90$R+YhXA?>b zWbmcB}Tr4l*>fEUp)G3S66dL_d`C@wBWYvZ!2UYT+4Vhw!r&*Sl= z*U=#ZR?c?rIKTXE2plbjB?($6osByK@-c%06(GiW+g3+*HIW;?Eugi)b@ooR=c>pL z6te>m zD-n=D`a4?zcMLO~XEanaG|eA%G`uw!3VXd?l32};`0aZ>ScL~xaS0!Hs4ZD46*?Ce zHi(5m)yY3&#d`Q}I)mFFH12@q!Di9NLPZS?Ok=+@>RO{V1i$o*5mvnKuKY5T!ot~y zwNWt1K>Iiaw2v!VmD)G09J2%4zBjytf^4P>S7b31Km2c$KKd^uWaR3V@9qiG?(Q&| z9pnTfo16No>OHu|F0uApF5QpT+qZ%5k#TWIACcOg0F7yS*#dO+Ea_Jx*9=?uz<_@m+nm8A7RBj-sJz%5ZM^$j z<(1;4WAo4tlai9AfR`OM7deoylLODmu?NzBR7+<+LEtiI>C7@T8ax&TRW9XfMaRT! z@?dnm-=%<_3y>}47Fdgm&AhWQws`h-c9M3J!VmsV)ys%55I&|06o#L7Jb~s7h<1;G zg=HL5MKHL(|E1ZU3!uS$*SH{n27x16#1t0-9b*~wXP|+i=UQTCZ?wHOSNzJ4t8k#gh1~#GD6ijDEUbe5T;U6fJl=E;`MwB$2DISx+h~{ zNgPH6x+j=1^ds0m{fUo2WAW6@uVs%A0<*z)n3R<@bmSCOsUciISXTDDuvk0WCxaoi z?K>y*(Et7{GBP&S{DBv*7VmGbKK_T&J=X>AmDp=Z8Nv`}XUwN}Fx**D-JVHno10Mw z2fc6)Leo(a)%;u##cYHHlT zazDis$>mk;qMll?X2vRYj~Ba&{lRcVHs@_#&H- zvUO6k+1JWtA^}Vcp!%vv(ZBK*gNn<`iLe1a$XzviN(=}S_|uKZ$H(W$3e?c`WOLl_ zt&YP%KqD^S<%G5g)^ z`7ro+;-N?fZ2jKa*0!InV>}43BS2bORoO{d;E@(kiZqCXijt5C#S^x+l~QgC%qtl? z*?w=2oi3M#fHC)x99(&T8}*^$9oA|G2VbAHs_==45i1x_xe0B=Xo`bXu!ea*oo-$0 zoiAg$jqi9LmghQ)i$i2S0-0fUvNss&^K(D)dNuI9MqUW;5_SIRQqh#V6SDx0E(AEK zyuy7+)pZj6T}n#o^}tYgCtzy<)ep!j*!cK(pZ&*^>s%R9EowOU5E#2Nz{r@>b|QeK zD1KYq+zk8RzsF6@D(^+Q3e)QpYTmQbRG+KKASnqoKvrh}`hAgFLDL|OPgoc^p*EQ{ zm+y=O9htb9v81R7W>o5%rkU$}9Ttp|z+ zNB-O&e%O#H;fUx6;S?;DAX%k3F>7m-Py9l_GYzYIctC#GH)vPYjRsn-qltlW-!A(I z_4M={nSmR#1bW?Amc9W1X|Gl?O{&$GoK?aYK65f=*a8U>AtZ;PrlS+Tn9{3?rI-Ht zuLl~@^*h%Z84XPYGO&Aa`GIDOgwOnfXH`0aH_`u+fmBXR}SO79QiB48p)P?J@j{F#C(DLKA>-C6`V zFWXK^)yo2ZU_}OcTWlyrL<+uJ4HUnT$zcdTT}jmHHbIn)jwa)3VwIM5B_$_Ah7L}^ zV4~lNN=P72$s?j6J!!5JGjuwvGH$yb#z)1*T6o|$o=Wn$?tyVTZ%6R})}Yq8p3}7} z|BY$e=7u3fu`%gGj7-Lk+F{L#b%({|Vp-?uL97|)-+@f<*e68?2Zp!X3K6s6&9-X8 zlC_I?SF1!Ze}8rxJQ@mhIkG(&D=G5xb9&7x9=E@iGk~nCh$EdlW;adF5idgf5pco8 zsNacJ2aH+QmTX%mW@e=1?P*%|QOc<(&Jmrx5#{Co4IVmcm;FHIu-;oWdBdoxs`_{% zDe(-eUt1lh3_7&~?Q|#dG&^oqg~#Vk6&b;5irin4alac#da+hF92^o7bz#@mJ$zWJUbNuqOGr^X zIB{}Q*xCxl^xYGE4H%g9_gye=``>*3xFiQ35Iz0S)7{1OzYnwCpTg^T;p( zOyt6#ck9e)4bFP}&5Zv7|$sG(qHj`qkxLsyFg%+il=O>`1u$8FB;{AO~5 z2-l21GdXe-0!LnXr>CdC8o^ZAYhdYxB0rcEhqmOCp`@lx1r%&lrNQ>4HX!yxw|21H z>KHQ-QJD>+CR1r|K1YGq1h%%fACNZmgis^midPJ6Q$$DOPkf3CnzS_Yh>oh1vDA~c zus{Y7Rvb$LeJz*M3gNOqgtSCD-W&iMWh6ir0<2)V5`zsA^kF^l(>5S#ZvJc9GTI2_ zB-XxnT2ytlx~2}cc*aqb#MaLJkJyX)Zz$2x(Lm*E?|wiPiSL71&+Bn6`r6{z?f)Q7 z4E+Tf20Ho|TC}U8)>1GfB`)-}nCSS?6su`hAiIWafA0K3(xnGP=U{B$8^>zBaoyC> zfZ{l)w4A?i$!!Ay7{m&E*riN#L2FwWZgn2BLbx}V{iGISar?-+NV>`J;o?5ezdM@z zH`qCsrTQMM9Szw5?=b7TnjKeDs; zbf(^D{ULYPbXwq#q~WxA)8N^Zgd!54mH-+?2RdLat&sC6ak3!})eth%?||&sm%=6I z&v7_lH}#YNTzPJ%%`g$iO)NL2I&IVn2GajAqa-CELw5g20X9V|r%ZsA^-QPR#{lKS zgnJMg4_aX>n2Y53;RC6F!yL9t`iKE#XU8Y2;O!0+F$FWl2TISfJ;hI zpMK`L7Yt}vt0}D0yWxM%kNf!OJvo~H_bou9zcCAU{|mb|vjNUW(2*a{RciV7i31%S z*`7p&a7zBZq^(W(KtEHtAi-qUZQS)Ma)1vsBQW<_kRdhOSS+gq#d4N0$jW_}_UlHJ zE{QIX2cpKnlHy|*W*|b4)Ktiz+GcaWv7Q0Uh6exziYhBB;SvR3Sl^zXF3{JSw=nl7 zrovb3PiT{)q9Ul|QvNdyr|u=xC=9&DNiajprZW$R5SfD(I2o1YkzRvV78gTK@;{>_ zIXqN1@HO6J0lF3B!n2I5`)-{FP)KXD{j%IdPUizeGMbwl5y zbXMfv=?Do1(~l1aPy-(z^8^0M0pBS^*-J@{4y1oY&1H%x08vmBmjHIu)D#9VNri}F zl#U}1B8bgo96YNi5Kg-sBP9T50Op~)4ZRT?_uG(0VT1A&JVR$h@gpOe2`v;rVTqIN zN!XnQaB`8vbgm{g^bvS(`_dAjz(THyHs0OLH3hsrMcJ6?U_mF;3jSA*XOC6nz`F9) zRT{vs2%Xy^P$QPZY68qsL(dhh&@bE%gM^Lr3=G!~WAP7L(=0NE4F9K1OCIPxmO|@g z0Bvu4^Wqn@QCG{|X?S?uZvjFyN;#amEQBb1K}Xj4n|ZpaXr4a^+E=gNHeEyb7f?1-cIv;YX@TRXi&^95|Wao-2K3Ro{$2;$+ISnvo20P^Hqd&&Dfjx;NSqSaamJWH>%BH&3qb| zduht3VU^m%iR$NI!h|Lph@hjZkpkb9Ffql0=r_Yv=SkI=;-y0)Nk1du8hu(Y)s^%! zg{>_w|8KH*bvleHkwKYT4t&1}4LAXfy2V|im;erm0yy;FcoCSV0@aC0qdX!6KNW;52TPHbRjWKp20@9F{v zEMhbiXo_kszZpEiPFHeZDmoL)F6Z+O%lLs~#(}`_WG<3Q+RJFwS|wRggZ6N}&Yg`E{D=XU|sRCTv_3=`* z_YBj~?foIxnkd@5>C0Md?dD&e*CUkxVgmpP99R$2l$dZ4b3AlBoF&>+?2j+3KhPU~ zPfp&7pwH-9<8g@P!}?J3H~#A;*b`m+)vg2nbubu#rYfmQI(BpOYfBK|+ALELZS*3P z0feNs>qVOsULT$jd^ySb|6-*HuK^Yuh9jjiF`*m`)DcMG!PqnR8+`;@s|&Rp#=YQd zf~x=FL(Bkth@vX?9GxTv5@+ZB9_yG5{Ew27Tp>V9=#|=_d4!0yfLCd-=0*VcFsB^z z;L`^X&;$*k2XN3A@2eT`!5;csQ?nf^4vz2t`CR~<0&-MXOWUH@B1L)IcbXMCp^Urf zh>68Ym7puVuGbKGF)kA4R{9xY7;UOe3{CWdCLt*a9%w0+M}xtZDb{v&;sA2v*scC!gc{ig{Afb@xliaqs9RzIbgnX zOhUxPNcq*nfPOzvf8t1CA5wV1O%*7px$tUcsAX^*1W%)m!}=K;(HvdW#dps8O}Dm62Y2uQc8nG@uDr@&?UOQF0$I z?breBi$?s{rRD)v3xJ9@b5@WL{IF+Q{`|ABHH>hG(Bqdn9*fC9y?Uu z^%2lm2MyuE1M$7O8u_PtATVp{Z-5Slib_bT1Rb_nG+H?9tMmQFsOIgxQ1t*ke0XJi zVelLju2~-RZn)jQIw&h}>U-SwHrhYunWo7|e`X(_%rU-ek+P9rc z&mUh8!py#6r-Oh)DCb=T@5R;r5ASAi%p(=JW<@@rOxD$n0L&YECIU#ra_Hn7_w$q8 z>%p!A(4_zah2u=l7pRDi%rFAdqakZpLcGJ<^DRU@)X9b529Vp}&16 z0{|T>^qhmdRh5jAV>mg?qsh=9QZyO$}qAT zZ&!yY!HywBfA3i=8;#`}@$VUd2Zk(dEHWK&1<)q=pYj{!&PPwCa?a%L*Y^}2KmHMO zP8}T`UvWFT^1lxNZ*QveiG@qYt}+VXxNJugqLy-pof2YS6&Ls8%h#Sre684YoIXg8 zH}1~V9qaQEJ81-majM{|{A0ktV$TpIq(zwxCqs6e#RlaSG|>82DZ2Oncdul+5QmG} zzMf1p!z#{OK(h~Y6(iECKRE(`sxJPWn0R=hmPM7(MPt2;YLwf2>FxSVyGu@*7<*Tw z!=jRYHf^g>KRA{Qr+7%8BZ49wF|Of$E8{lgXx?AjXL!bhaHUhwppOo6;`ij8lQv#= zbZM2@6OF!ogAJ8cUyn@J=d*E9575XeVKjZkiAiGt94Ysf6-y=aA+Q>LZon6=9SaJI zE3)`jZfR(q_`n+(HH~sZ+J6vT`7L~ZQs`QJ%#A7=9@{6aL34?*Zx@Y@###B zKud<;ylHGd7<ab63E60Qc|7TpZqN0v7wYnNBZuQoX!{q0MQzS$<6Zy+n*%z zUFg^2Mw4~!w|p^_wUd(5u|ProX-E>lF8+f{P3OLJ%1lA{NSmt`jEO41dm(&!r`>MX zm~kPczZ`iqJvhIR9Vcd?+mIAyNy(m^-Jl!8jOzns7vM6!RJ4&>P>glTKu#glgM``W z)CweFJ?>~)$i&z$1g+>TkSVrXGZG%2%#f_#tt*<RjKHO1cTGgETlA-eZTDVof$`a3^=-Jwr|*m9k@%SP(P7b(SXe{vbR;Fyx9G%) z@$GBy8&N;6d4%mS%kwnUsKA2oQT$EqM8;<@UOtB4x#h-(ZT#cFdXFK z!K~JX?dtpUmUgcs?mi-@JP?j2?3Fcy@YPfS3!&R%d7#hA3!$`=5o#=ofBwY6e<3p6 z2sKUOwY3c!F+V!`Wpf~VE#2&lQv37diG`animCnx%`259FkkvNgoWY-N6n2dWAwlx zab#xTu}rM4n&ThcZekGYteUrTcpwDtjs8tRt@hJLRQO!^(1FLcPn*;u|He>0^`%8t zK5hkKn75)Zzipf6N0$1U5OW~2OSr<0ylUdVN=-6P3ZSign7}NefMj%K46P}l-@Kav z&oqdtUKSw@Y>BM8eq;Y~)#@wZ5-xHxxU7KvN@M_C>$4-A!kc7)Tqx1GF#OcQMKBq^ z(8YrhDD369jN!$^LhRvKc>qae66 z%4%#0!U2F_+9~%NVF8Yq=PijY2hAS|OG@KUkbH(M1s-6sB>lPzjJk3*Hq_e*IE{rv z^pT+AscPvY@W+SVsC3p^_t?Uqdo{N}*~dI>J2t^cO2r{)kN2|!En2-vQq;*xG;y#( z7L{EdD@fZZvn%IrE$6RTA3|kMr4i6v!Bw2~;ovQR(nJWekH9fqwh;lv3{@KE#U>Zu zM`bM8WD;hhu9H8AMgNAMkM`%1J{=HpqM*^4@~_}+#2x+gF^oO7o0xheC_1g&j1Tgc zn+ps3(7lJnEg(o59)$6}j2PLQ;f#^k6IU-cabVWf7OGC$eB%KUtB`mqw-I zP^FGi40@f6@{|lJ1&(M=Mq^{Ss50w~_&k|>kN@O!OcpbZG}eajW8Qu%wlL&tsC8O*GVE-fMYiH0$YjiTjhP5A4lBh8V=?Ih7e=UA$}4!x(O` zR@`rHx}TPiWfP*Hi+QXfApk3j`%6O6cYC<&LCh!f)X|s=$6PXbQ+;?23!_q@NHkc& zd2O7~o&fj_Zj*1>M8)?Ay_Pne9$xZd${g8JveI^Z7@^sGzPQn1TgY0he{6$Ewqjx& z35l@^O9Qpf$m@j|&VIRbff*Sv=+>u1VNfI!nNGidipS31e?*IN0{vXMKjBQYv6PPN zz~)%gAq*95B`14Y#S1k#|3r!4M(-It>gqzn8oP>|*03=+?yE;CxP1WA)TJ7n5Ehwx zO(k0UE!yGngXd>YHWu1u;X4r7dKrU)pr9bEP9%{NZMqWgtgiUfhWRo8o>;Wl_ds zR)M|ADY6**2XH6WhlZ0)OUF03Q1*=ESH{#BVL0dhlpS*q9n36OP0RPlb>agiXm4B< zs!(v2zmyw(#Bu(qnBR&yM&`x@P+8~ep?hctn|Mly6LULkZ=f+4@Rv1x7`HJxo~8F6 zn*>`(z54wokXIx4N3UQpug~ ztyup~62E-R;(|SCZ=(>WiTSbFgt*F+7akP-zF!k<32?$7@+&eZT1ypN($L0s3}5n^ z5@OMqplD_mw-m#LI6^x;C3i9g^quw0lP|WIGFSIcO}|y6KB@R%m0O)$IsvYZn4>vd zh@gr-KC<)vD~B~er3F-j_QjIOONH0K9b(@uqH8a1f2rCN0Z2h3?L7R%e8h)%7@ZaP>Wmb z4DJ?e+Z^lGpCr8_AOl(bLHL5zemY2Wn9&yg0CRV1vh;D<{X%qrlA&o-Cwhv-fb6DP ztS`u$1Kvmq)z#%?idJf?dN$z^N3hxnIn(c+A23xGjf@Z zdj1xuZKxTY6+#(CuZ9o(;s0sM?`XHK6k#H1 ziOQ}Krsvsg$JMcKMtOWYg2g^GABmb9xz3L3cHdMVGgT#E`{D18rne;sBGJz|Q#V%+ z8I~<@x)PH@-gZ+XF)8Lx_bF$jnrM~@IFyWU_uwgx7T@miHxG#gVNm!e4NxrqXwMj< z{Pd>3(&W0!jL&oAR3{&f3+#lIEmhYaN4r9`7aBWYe1aU^mzp#=;Mb7=xbf;!(a4TA zrA|a1F8xR{CVRO&|E^8C9pLq%hUUXE7aJN|O(%47 zqkWvxMuX@VzYILu2W6v+R3F=V{K)40eMQ$aMLtuWu5H2ko_mAV1eP?c1OlCN$R-kJ zt0MG8fs=RB`LMyHUw=Bvs_4zu#`i0B8%fhW8?2?#TA77@*c1l_Nax~Mx5!gOySE;K zSa+qZ6yMC_6-W2AgaeN-Qh%3^XWMreQB-&fLctW`+yntXs78FF1TgpLqFzjyd$Zh=A9r1lNo2g8-rFib+ zaj1P7C5*#yu^_^3{N!9z!T0L8^fk^AlTCxaj%p<0fs|uyX%!_n_l!*mqXR{z zzIAH&-C$Gi>m7NJx`0wFm_&2T;SO4xw$qBRog9{B+J&2rB24WF*N@)962s0?#+M)) zS@i^D;q}@J2^SG!oc_dJwq}7Ws2GqgjDDKPQjwRaH4T^H5mm2aM>fhkJWR+cJ(yLz zksnT;C;!;B8_xCth;)rwa*i!KrMc3%PzuIOsriI;L((C5WS2o9xO$wbSNQ{eNgM?$ zx7m#F4)Df4%asgb{caqm)m}SW`tJDKFgm=34)q_KT~0Zu^pf9B*MjjKU5pgC>VIFV^wb$oJ^fN1Ux3} z3g552hqFc3uIA=KG4cD+wD8Q0<2rNPIfxdT@}{)ArXZ2O{oD35f>X>>`HG&S{ICb(^2Qzg(QMaoF_5lwremjkqGC+*e)iW(j^^rG8?k0m-BA7N1r`l zM$6{emX76?odus~y{%iH$(~NDa=K;2NQ6=TY{^T!wXbpz`BQelu%*9jGH0wHr{8GM ztR3&!O>wG(`!y-0Ziej@(Vf&zt70#WomaoGqqe3vRfR2g4L z5_MA2O_cXn7ey>>Rd(uHq-hPsUw=5(Za05>L#w0Ld?kz9UL zOVHf!M<&dwU=Rs^t}nRgixKJV+5A~E1TsF|Uh9Ga_feUh_qr5gz=CXib$w4!WcYYB z061sA-{Oh9mj)jRNve{x1n)y5i>Z{?R&$ex|KSFw%M0gh9qMQ8O<>K6bt@nG_fTjL zn3i5x0;@fr9h(khW6B0v3Z|+VgrSyHjM!w>(6TN-^)$9(Zu1eQenedHRHA$4^Ix;q zm(KN9ynJg@g3?#e+NT5f5NzW4M%TNo`rrOE7M|Dvtvkduy}{PJ1kY*YipfLd?C7_m z>|-;*_@>JQt*ES!z^#*pM$fVCg(SZ!OP!7HCTG@5R-T+#bLG2}qTOT-TbM9UCc~lg zIN*J!PA=v6a@0-4KRQ3{?h2+j$k*<=TzE3BOrL_(lP-kHU1Nx4N{e!or0)M76F_m~75P$>5xym zXzMy3i8Q0NrX4v-TAB`-bmEP$^B^yS>?kPy#>}E&9Ziq{hpY535uX}wu9z@5%K2ap zUkp1Wmn~r{0*ur=+;=vDhzjj(!D^`RwIz1K@qQBPs(N1iuH#5EpJ7l1Jq%3ht+hluW0k+HCt){_=?=#*egSZc2Mlr zzEzgX^Ax1P8lzi2b@7%+FbxP_9a|<5OB?EkV@A!2fO0HHaimuw=FOQx)5B62Q1J&l z4bE7_=N&&Ya{dl_i5ib$mM*ldP_ak+jp<5%sI;5Mx&TqJ2EG1Xjj zvhzcrF-I!0AN)>2KOQ^hrOo<5q{cOOa83b;s|LhDRz~8MDFR2Ox0`qiNRHO-}AQmG%3b z&AF_uaIA+{7T}rcM{|AL=rar^*Y{@=u{C2~b~Y1_=OHSHC|{Z z6|JO)#D!ZKVZ|#gTTWs1I6u||9&RaaZo#`Ri$q7BosKnkw;sDO?`J(68wSCY-p?Oi z!Uw$aTKTC!gbL#)JxMKm7mIJt->)h6gSe6GP^D;!B;CA@9wU9Yday}%a3iFB_XYNw z;(X>@oGT%CXU9+*je;fuBEfW??9!)EO%}So#d`k8@H8nn)KYKyzc<(&kN;+P`?zo% zdFvKVwQki2JA6>MbzTs~QTp6QW76D0BSF%GS#Cgnv8W&6=+6LElz>j=K3!rZUNI)Z zAS}n3QySasCz6+PUc)Os%2|c1D4BWO`wI8xF)>ZrX zRwFbs_`H2Nxy)e*lG;Cf=D5YhHQ2@*O;{CHhhKbgE{?Z>tMP}X@*7$ax`+R?F4>s6 z8J#CG3`($e`m?YY$z5_i43LTLJr*@4%LV={xuIUGdq}bHSxR0!T^eLar^r?Ci9K$_ zSs(}jInY<68&?2U%428Q6%bZYdwl4KoH)j+AhlTgS%{|P@ylZURa1}ZTVqFiGi?bRAe=pAHj6;eoV6_8YjZ#J6! zx%7^-zCl0T{V=u-g(!nf93nnf>4nyIlHKu>hW=7kEcEyW-32EH&Eu2ki!-14b7cq4(42yqK$Ss!?Ef%%;BB6S=HBYHoREOuangN;;Mm zL~7E_A;N}!^|HX6NJ+Einw7X-*5$Qq#nX&>@)J~=-$NrDs` z0pA%qBcIOB2IMfF6gY=YK@T%N5(-Jj8&d;;Pp1-L9eI$o`i~KQ{71JdqVIZS=MY5; ze-Nwtjm76Y+xyoPBkPDAgnKA;2O2&*o!Y-ccN5+-pbv5M8)>}_t#4Dp_n_ymDX)gd zUEsJo<6fLTr~8Ui{W4&+O_C;nz9#TUpUrOzY_e}o54b`uN{qhcvLu;Eq*Ubb=)lO) zJy_~<@r%UAGor6)?xHTUdPgqN!x$NC;lJ?gD3`a-Pk z18l(iu{xx5)+$!f?(L#-LaU<9z>&i!WuNka}7N49ytz^?%J11D@ zS+nx28U0|p#tYxYV6r>hS2yJMvWgdu(}JdT-Xg({^uFg;S6de)?8g}oL8vF8aU##v zwAs^2r_b|2eu2K*9*&6vld4x{DT&IV#~q31LG*H0tuj`g079Rm&$loU7CW{Mk4FO| z`*MU4PaGe= z2YG9Yl&v*#ASfkw-eiI}3D;JQ?q7~pJbX!a(h<%q%o{2jD!uE=H&;n2=3S@6*{G1I z0&)3=u-9>5K79;a7K;suj}P9)p`6B&WyeBeo$qh|Jaq7NW>|KSpYtXhl~8VpuKZ~C z;qDA^)yqPr)63(}k88zSePgBHiM7GqEC>%|t1wW+JJZb!zjG|l24b7B5zL;KPo;;McD(dBi; zPI9eR;lsSkan`96D4i#8TEXCf1~);JcIr*hIBg?Y;2-9avWVguSfu3`?&m11;6+%g z%DUr71vbzwbjV-38MLaDT@2oc^XxYm4=RCxTF?KbbJ zcfyX$x&NHCp~p4agKga=%h7*- z_Ja$a8YADa>i})46Qyp2aSc)Ua=|HJ_{aQaIs*4Ey)2cZ9uHERg!CRv3SbN0B$!@Q zlyZdbXEpzL6>Fx__jR=xSh%t&pUZ<)Bupwk?sSP7QevZZ$~pXBk#~9_62*FxqU451 zed2l$a1%$H-1jrd&m0-nA_T|In(B5V#)utOO9Rzwz%~@iGk-3oHrYi`X7U~e=ApC} z+yq_W&BG6|qdsvUJ8L~@**>FjZ{zEf#RS#PcV-h!9JJ4<2eH=(@&Kh>rvEmQ zClyQnEsU;pCVJ>=d#)H|eQ*3EEI)M}^lC|1NKpJcfrwEfQyMwS#H(pTy5g{yw@qE@ zK8qEt_ehl-Ux5NUq`C$t9}jmgG!PMIg~Bo46PE(?ESxlX=$JD>p znnX>wu>lL+)x%z?^V zB?X%WP(Dg~hB*=Z4RfNer5RDw0Y#RUBPtGG%@$cslKw&$7}fIA=q*HllTc37WS|Zg z8Mi8#vFIM|MHefLwC*jp13seA4K{!5Fo707=sL}Fl^qfc?knnlRdtystfIvF;~b=U zwqY|H3~9Jq#(SS5=Z<-MXSw44#nx8ncs32nFs_pFh)c5=J?cs?xB<-zHbY3gx`Zu2 za{7D<1mD44nf1eRK0+#33lazvYKe9FmN>UNcBrY@G=-nTj)Ln(--)qPp z{I+@&O_EccDqYB=<(_Fn5b-<~FmmKO5#MsuQ`~3YhVJBb0tPP(cuWV~*v`?vpYwN(1=5ZVYds4bekP?`;?SYw(OopH-S>)Twr@aYhWCgJ{tuv;0gMwIvDjz`_NTkcSz zdX&8Rh(F7cuC!(ZXpXpkr0OikC$&)_szdFj*qrszBeh4ukGsc_B|N>1X8Z;R=a^es zpVQnNgp45-L{SOu&4=MU=|hRyQRc2W9IFYFKnElgGi7_05v@NLrHU%b`?bE$gLGA% z;yX4pr|wn}Rxx}>!sgu>T4q73!#aq66e@1Z)hDPj4EJ#E-KV7rxnQw51G{h*So@gh zNN9@nr_Z8%u`qxxcihe>W?hK6!p<;-1Hn?k3LmGDJMrhv$5bx9#5^4NnDD3N!|*Ll z1j;PiC>N}`_{Nlj&&}-^|O@{BBSpVp`wHkQV292<`*osHYr4vkHi{WqTpLtFmlawk^#f`$`?epy)1 zUAW;niIinQeVnVidRQpz7)kjvle0IG%ZKpT21J!%G&_#b+K+!BT#{^W3*p51<=Efn zM|7}f(w+9J+N7vG%+mVDv5edh_H8dCS!1Yi>cS)sKF{k#XC9=kgE!BQeOIWKk4q#K z4AFSJE~>{IAVyL?zY}6nvLv@4)Dq0*Y1dt}?tUkn(3NgVGNLi8-oi_XamIc$@3|5X z3CSGhLlMz^R8H9XG!1xo?#eCI>#$-G^zdX@;bXtTq}c6s$(!K4?_^&iTm5v)Wf)N$ zhEeR-HQsM2q;=f*_K7!7w9A2?enY0hem*bh8A4{dZ21DGcN|qsZyNp3`o$Q@pusNi ztl6?0#&eESgfSUG&*ogkq9KyI3 ztI7vVy|cqSdU_N>?-nnMsAemHvWC4Qv>@a=(lgVA{ge{d*nU!VAxjY4G_nk8F0i}J zvcS+k8ifIN-QmO}Jrd?t5}sW!hRNn#ndj1Xqgy8t_VPix);K4X1EVv1x#;=qJb56D`$NwwSfCL6)@i--yL8FCycuzDXSDQ z%VbxOCQE>1+;eoRA%&LEMeLE#^ZD*6eTtVJ&-PN|Uwla+Q|8bby=r7rj+LbkAz3_F z*zaYpd{j!-qDrAX@kqRJIZZWCW3WI{m!wYuO8N~2%EJC@dN^uNW1MvmR&J9lm+vkL zt<{T%(xGKa_YTF{lbgI`7VGxA^i^OxSU6wI6W5A<&h(2a#>ha~P6jo!O`lj6nV0@? z@xRXFzHQ$^$nvz6*_X7)|A0!#M5<1^)$~jzd5}zOfd+8K{?8bJpA=&BlEQ>vLn!-6 z+>P3d2r9xs!hK=-eP~kOv+!W5K9cW+X81oyxMdLr{KduKJB9p>=pJU}-tvh}zx5i} zE(%zpR{vtO67aioxCEcgRVlhun#6a3&|;qZELIC?-Fitz%aW;AKY*23TpCUTn^-JR zNW@#js6@|+ecZ!!Mi@(pdjP%_h|}Qc!ZM&0u6g$O4G&>_6E93 z)sG%%_=#7zuLmMaiFLm-5&A1hmTE@RGQH=4V=mUc^XKgs2ULSvu4+^lbn?MScnvCv zk;4Lw$t>acnBp+V1X5s%brwN;l`NT~wa&(LT{n}PIQ{LzO1JNC0g`|NM(|yYRd|V* z9VN*Wn!*Iib4rpD^Q{rSP}N60_9!8lmyX2bEbebn294vAGT#mds0W)^%drV`ghLt7 z9`k-^o^7G2vHYbYGnER4MB)#%IWAXNRt+Qvf4V16K|mVR>5d}`Bc6vtbw_-sva3Vk1b!`M+i+Ib^Fgb_&MT|AE%%=q#SEEmUQ3!@uRP6 zkULH(K9w+=h>1mlRtt*su|-tQS@Za>nb*k8dC%N5%;)?6RMu zhQeg!Imvr)CFuGON`c@Uu4f(Yd0Df5u=?TF$6*%iS$$nBA*y%WJ+BkZ$P{_+9{;;$ z-?7z8)|nw6`TZD2gGos?bZAR3M;tqu`W4?ETQ`COkLH~n68c$U9n$+GLVk9L7RB7n zU`a^oI^nm6sq<_$GIZw`r7=Qy_+7$9l>!?GgCF|u-uaA673gWW$ZAM(Fs84)E0b!c z#cC4al5&ZSbYKNjfhaT-d0(K!v-r_v>v_UjY!>m8xoug0xPt&s4a?`^D!gnBZki3%P=_nY)LljKH-nq}ukf!XL%Ej-&c%-MLxog<{mZkDKK zxq1ybRF-{+tCzXi%pCY){f%}zDW>z}JY8u-JUX{937w1Sr=31Y z*EeNFmLPb)>TI@%sH1G+liyU<0G2-mnGA6ePTt#Aoa>RbACTpUDV=DH@bS_QS2Pa0N4-jpl1Ls?SQzAG3Cr{XH6B z?H)HbG|F!MhZoL#Pb`<|!p=%BcP5aByyjN**Wey=Tzp3a4jgnajY^yzkZ+cI{oE

a9y6M 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.4.6", markers = "sys_platform == \"win32\""} +docutils = ">=0.20,<0.22" +imagesize = ">=1.3" +Jinja2 = ">=3.1" +packaging = ">=23.0" +Pygments = ">=2.17" +requests = ">=2.30.0" +snowballstemmer = ">=2.2" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = ">=2.0.0" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = ">=1.1.9" +tomli = {version = ">=2", markers = "python_version < \"3.11\""} + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["flake8 (>=6.0)", "importlib-metadata (>=6.0)", "mypy (==1.10.1)", "pytest (>=6.0)", "ruff (==0.5.2)", "sphinx-lint (>=0.9)", "tomli (>=2)", "types-docutils (==0.21.0.20240711)", "types-requests (>=2.30.0)"] +test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=8.0)", "setuptools (>=70.0)", "typing_extensions (>=4.9)"] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "1.0.8" +description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_applehelp-1.0.8-py3-none-any.whl", hash = "sha256:cb61eb0ec1b61f349e5cc36b2028e9e7ca765be05e49641c97241274753067b4"}, + {file = "sphinxcontrib_applehelp-1.0.8.tar.gz", hash = "sha256:c40a4f96f3776c4393d933412053962fac2b84f4c99a7982ba42e09576a70619"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "1.0.6" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_devhelp-1.0.6-py3-none-any.whl", hash = "sha256:6485d09629944511c893fa11355bda18b742b83a2b181f9a009f7e500595c90f"}, + {file = "sphinxcontrib_devhelp-1.0.6.tar.gz", hash = "sha256:9893fd3f90506bc4b97bdb977ceb8fbd823989f4316b28c3841ec128544372d3"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.0.6" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_htmlhelp-2.0.6-py3-none-any.whl", hash = "sha256:1b9af5a2671a61410a868fce050cab7ca393c218e6205cbc7f590136f207395c"}, + {file = "sphinxcontrib_htmlhelp-2.0.6.tar.gz", hash = "sha256:c6597da06185f0e3b4dc952777a04200611ef563882e0c244d27a15ee22afa73"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] +test = ["html5lib", "pytest"] + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] + +[package.extras] +test = ["flake8", "mypy", "pytest"] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "1.0.8" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_qthelp-1.0.8-py3-none-any.whl", hash = "sha256:323d6acc4189af76dfe94edd2a27d458902319b60fcca2aeef3b2180c106a75f"}, + {file = "sphinxcontrib_qthelp-1.0.8.tar.gz", hash = "sha256:db3f8fa10789c7a8e76d173c23364bdf0ebcd9449969a9e6a3dd31b8b7469f03"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] +test = ["defusedxml (>=0.7.1)", "pytest"] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "1.1.10" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_serializinghtml-1.1.10-py3-none-any.whl", hash = "sha256:326369b8df80a7d2d8d7f99aa5ac577f51ea51556ed974e7716cfd4fca3f6cb7"}, + {file = "sphinxcontrib_serializinghtml-1.1.10.tar.gz", hash = "sha256:93f3f5dc458b91b192fe10c397e324f262cf163d79f3282c158e8436a2c4511f"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + [[package]] name = "stack-data" version = "0.6.3" @@ -3846,4 +4008,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "9fd197d5a9f15f701d12d690db2df116c42bba5f03469420754659fbbe1020ff" +content-hash = "77cdaa4c51be63a7e4b3ae6a336710df38c70eadb11df6164d1a2187cca510bf" diff --git a/pyproject.toml b/pyproject.toml index 4f30651..afe4ef0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "miceforest" license = {file = "LICENSE"} -version = "6.0.0" +version = "6.0.1" description = "Multiple Imputation by Chained Equations with LightGBM" authors = [{name="Sam Von Wilson"}] readme = "README.md" @@ -40,7 +40,7 @@ packages = ['miceforest'] [tool.poetry] name = "miceforest" -version = "6.0.0" +version = "0.9000" description = "Multiple Imputation by Chained Equations with LightGBM" authors = ["Sam Von Wilson"] package-mode = true @@ -70,6 +70,7 @@ mypy = "^1.11.0" build = "^1.2.1" pytest-cov = "^5.0.0" twine = "^5.1.1" +sphinx = "^7.4.7" [tool.mypy] ignore_missing_imports = true