From 41706306f9da09d45fefe3a24fbdd01e658ae79e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Sun, 15 Feb 2026 23:12:05 -0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20docs:=20restructure=20to=20follo?= =?UTF-8?q?w=20Diataxis=20framework?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The existing flat documentation layout made it hard for users to find what they needed. Content mixed tutorials, how-to guides, reference material, and conceptual explanations in the same pages. Reorganized all documentation into the four Diataxis quadrants with a dedicated plugin sub-section. Added mermaid diagrams throughout for visual clarity, modernized Sphinx tooling (sphinxcontrib-towncrier, sphinx-inline-tabs, sphinxcontrib-mermaid, docstrfmt), and filled documentation gaps found by analyzing the source code (PEP 440 specifiers, free-threading, uv-managed discovery, activate_this.py, periodic update timing, app-data caching). Signed-off-by: Bernát Gábor --- .pre-commit-config.yaml | 6 + README.md | 2 +- docs/_static/rtd-search.js | 11 + docs/_static/virtualenv.png | Bin 0 -> 759289 bytes docs/_static/virtualenv.svg | 30 + docs/changelog.rst | 2122 ++++++++++------- docs/changelog/1884.feature.rst | 6 +- docs/changelog/2637.feature.rst | 5 +- docs/changelog/2662.bugfix.rst | 4 +- docs/changelog/2770.bugfix.rst | 4 +- docs/changelog/2985.bugfix.rst | 4 +- docs/changelog/3027.feature.rst | 3 +- docs/changelog/3029.feature.rst | 3 +- docs/changelog/examples.rst | 11 +- docs/changelog/template.jinja2 | 14 +- docs/cli_interface.rst | 138 -- docs/conf.py | 42 +- docs/development.rst | 149 +- docs/explanation.rst | 483 ++++ docs/extend.rst | 88 - docs/how-to/install.rst | 103 + docs/how-to/usage.rst | 317 +++ docs/index.rst | 177 +- docs/installation.rst | 124 - docs/plugin/api.rst | 79 + docs/plugin/architecture.rst | 125 + docs/plugin/how-to.rst | 210 ++ docs/plugin/index.rst | 39 + docs/plugin/tutorial.rst | 116 + docs/reference/api.rst | 40 + docs/reference/cli.rst | 18 + docs/reference/compatibility.rst | 89 + docs/tutorial/getting-started.rst | 242 ++ docs/user_guide.rst | 311 --- pyproject.toml | 12 + src/virtualenv/__main__.py | 2 +- src/virtualenv/activation/activator.py | 40 +- src/virtualenv/activation/nushell/__init__.py | 7 +- .../activation/powershell/__init__.py | 10 +- .../activation/python/activate_this.py | 7 +- src/virtualenv/activation/via_template.py | 7 +- src/virtualenv/app_data/base.py | 108 +- src/virtualenv/app_data/via_disk_folder.py | 46 +- src/virtualenv/config/cli/parser.py | 38 +- src/virtualenv/config/convert.py | 7 +- src/virtualenv/config/env_var.py | 7 +- src/virtualenv/create/creator.py | 47 +- src/virtualenv/create/debug.py | 2 +- .../create/via_global_ref/_virtualenv.py | 7 +- .../builtin/cpython/cpython3.py | 20 +- .../via_global_ref/builtin/cpython/mac_os.py | 13 +- .../create/via_global_ref/builtin/ref.py | 6 +- .../builtin/via_global_self_do.py | 5 +- src/virtualenv/create/via_global_ref/venv.py | 6 +- src/virtualenv/discovery/builtin.py | 2 +- src/virtualenv/discovery/cached_py_info.py | 7 +- src/virtualenv/discovery/discover.py | 33 +- src/virtualenv/discovery/py_info.py | 186 +- src/virtualenv/discovery/windows/pep514.py | 18 +- src/virtualenv/run/__init__.py | 39 +- src/virtualenv/run/session.py | 49 +- src/virtualenv/seed/seeder.py | 31 +- src/virtualenv/util/path/_win.py | 2 +- tests/conftest.py | 9 +- .../test_race_condition_simulation.py | 8 +- tests/unit/activation/test_batch.py | 7 +- tests/unit/activation/test_powershell.py | 6 +- tests/unit/create/conftest.py | 4 +- .../via_global_ref/builtin/testing/path.py | 4 +- tests/unit/discovery/py_info/test_py_info.py | 5 +- tests/unit/discovery/test_discovery.py | 8 +- .../discovery/windows/test_windows_pep514.py | 2 +- tests/unit/test_file_limit.py | 4 +- tox.ini | 4 + 74 files changed, 3931 insertions(+), 2009 deletions(-) create mode 100644 docs/_static/rtd-search.js create mode 100644 docs/_static/virtualenv.png create mode 100644 docs/_static/virtualenv.svg delete mode 100644 docs/cli_interface.rst create mode 100644 docs/explanation.rst delete mode 100644 docs/extend.rst create mode 100644 docs/how-to/install.rst create mode 100644 docs/how-to/usage.rst delete mode 100644 docs/installation.rst create mode 100644 docs/plugin/api.rst create mode 100644 docs/plugin/architecture.rst create mode 100644 docs/plugin/how-to.rst create mode 100644 docs/plugin/index.rst create mode 100644 docs/plugin/tutorial.rst create mode 100644 docs/reference/api.rst create mode 100644 docs/reference/cli.rst create mode 100644 docs/reference/compatibility.rst create mode 100644 docs/tutorial/getting-started.rst delete mode 100644 docs/user_guide.rst diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e0a2bcb65..cacfe5517 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -36,6 +36,12 @@ repos: additional_dependencies: - prettier@3.3.3 - "@prettier/plugin-xml@3.4.1" + - repo: https://github.com/LilSpazJoekp/docstrfmt + rev: v2.0.2 + hooks: + - id: docstrfmt + args: ["-l", "120"] + additional_dependencies: ["sphinx>=9.1"] - repo: meta hooks: - id: check-hooks-apply diff --git a/README.md b/README.md index 87f45e077..680a08bc7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# virtualenv +virtualenv.config.cli.parser.VirtualEnvOptions# virtualenv [![PyPI](https://img.shields.io/pypi/v/virtualenv?style=flat-square)](https://pypi.org/project/virtualenv) [![PyPI - Implementation](https://img.shields.io/pypi/implementation/virtualenv?style=flat-square)](https://pypi.org/project/virtualenv) diff --git a/docs/_static/rtd-search.js b/docs/_static/rtd-search.js new file mode 100644 index 000000000..133e1e31c --- /dev/null +++ b/docs/_static/rtd-search.js @@ -0,0 +1,11 @@ +document.addEventListener("DOMContentLoaded", () => { + const searchInput = document.querySelector( + ".sidebar-search input[type='search']", + ); + if (searchInput) { + searchInput.addEventListener("focus", () => { + document.dispatchEvent(new CustomEvent("readthedocs-search-show")); + searchInput.blur(); + }); + } +}); diff --git a/docs/_static/virtualenv.png b/docs/_static/virtualenv.png new file mode 100644 index 0000000000000000000000000000000000000000..1f729837df9ad73fa5558c322661b0cb3bfe7c88 GIT binary patch literal 759289 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Ðe(`^IdOq&oy_3p~RleS9W^*tF)@8(S5Ku{@DL{!I=L9pJ zahftqCv_g$^zbyLSIr=QyY zN3J$K8V)j^mcmGkFG2khX?Y>yG`M_l;yz5HLGUJemb@`jKRK5Y&i7Q98v zH9n_KW48YovU1)}AWiW+-ZX)6qMlY&C=)pO&}vbjh}99S_Z_NT+jG={UH2Ujn`X$C zNmOAuGz(Y{A5fdsp0m|jBn*Asjf|EqziUUJ5!9{NgNh|i0(U62RVQS@D4wY#=E_4N z>-QKnCi(38Sheb@HSz%t4;LkcLL1e3*Xb7km+p!8@Ug%12aLj*Un8MeCDlh7z(hsd z*$ER5w`%jSc7|Qm3RVc0PKeNn`RQ2^6Ql?|NR?WXok>O3cKK@Ly4mg7iXAp19ryxO z)c1!h%3!8joYkdlr)_I;mtC5D{meus4uz+VSTRRT##Nh1_uz@SUCI07^@kORo{SC+ zFGxNoyFrHX&S;A~{hVz3pkTd%Yl!E=cA^$@En5L$1$i5J0XG#-=Ky}4$U4)v8)bcu zVK@nr@C?JW&U*D)X#-a>&FCnvrCE~HseIYd*HT$7K+}~UoJcrU zl;e=e_1$~au7?RI;8b^YiU%dq}WOIiPy zC9Pk?Tn219Bu8w8bF{*y(i+HZGTP2y+p7e_flgw9N$M?#;!3Ym>HDdoCz2Ordf7lR zk;9DSTC?^Vz&hp@E$Fe|y#I$Q)2A4rziI4hMLc0aHw)U11>RZAgHpH`0G$LQMac-Ci;Vz`Zc+5@cZjAmr|Nz z3g30g_s(*@S~o8}^UVJHhm;=$5-RZnN3%!~Y}#_fMxioFh=8n_Kq*0iMF7Mk=o=Ra zky^3gJ4YW=qO*zxwOeK0O`U_zmL!f~l#SF8Yk)oc+5CVcf)GL#nG?O6;-T}o2vHy+ zahT z7kAirPt2DzI*gy$2W(fUHl{-;;j4Ll7-s7G3GrGGVdk?oJp#BO_m~kU%7+k3R5Eg= zmzV?3M@Ayy%OymvCd50>lZV1!AHFI()Bmw6McUF{dQ68$w^BD7e)zxr#3%mz<^9X@ zmiK+r`o_(!y*NKN(HaN6e6M3;gGeuvLe(5HYLb;6|5XOMp@~yu6mZ!hkwcHQNw2?H%GbY?^YEYn z?LIY!VnPGD=TXcEj}9>@^ZY&rI@%lH7RUkYXY+PIYxDBOue8JKkLGzkA3ydxe(!(r zM}FTQ{3FlYzIFfP;v(I9^bm|wn4r=mi+rtS+05G+(lxcC-EI{GrGt@5RlW?hSyi*B za#R~uNF9($4Z7CBhc!d+ns3CG2nY;B;G|}lcgyz=efbCWSNp&B=HZQ}-}2<$zh#ni za&|i4y_)t8)kUEUL#Dmsjl%;ZYs2y3Vf*;}bjZ2O$NPKD$;DYY-akwymuF)cp-F4n z;{zskJ%0A&{4^aO9HoSQ=t9k-_!C!C*g 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

t7s}ROl{)UDZ*6(b;O4O^{T5WlMFC! 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

dQFl-A&9F8xE9LSvllxvvA` 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

SlUyUtF+n=VR_Knqy`Or z5Mim>(QLZ0!^6<^D{m~}K?K7R7Yk6!C=R$HyD(yfZ8sYb0x+`O@_7%SNsmq9!_1%; z*eCXjFdWY8!ynur`dTeDscn#*B;8=vRpwzW@CI=7XluwJrr~iRb?bpUPJaJ25JFvl zC;poDD_Lf^jj2;KedAsv!@+C-dPsdpU2?)0-Z1Dn*MlUDf%X;|afs3@3vv9tk92*S zuW{-=6r1f%NC@=H;|-^OW25u=Rh_W$9!cQ>oR_H@k4QpKiLNv$~ZZ zwg+Lmt#p=+c)q85lMzjWe%KXJgTu+rJrV5CT^81F3u)^mFE(g3mHFGQOU{Gp%%#hu zTCe)#ag=la{89IYTPD0pB-Sp14FHB)W}Ao2&OH}qFFtR*TW?8W`!cC8oSooBw7D{W z+YLiGrN>~Cm&SaPRT1S(T+*`nvvt#i`FI>oo<7_z4GSPZg{&C7u|RZ`N<=4+(1Qn% z|AHjWW3HWdRlkh$S!)-5@7Z+Xjkm`?@$qN6cYob$V|w=YqMdr3S#N08PIVo$)nqL< z*v#;fz`5rB<$1W5%tlO=NcLFj>}oF*uWVyG=>^*^%&rHs>qTMh9L;gpuC{Uc==JUm z-+ndx*|(gxSKq!HRv;RNn{91zchBsjPxfqQf{_JAO$6A(fI$vz>JMrdz@%8EP&je` z^BG)>8mlCB0m2FH(wGF0>rnVoZUlt`91%&9O-c($uA${jYoQU$+fuk%p!bBs3#+9f z)oqHETQ#aPAZ-xa5S9k_FJ?e69wE-VW@0wmYs+f60R^v1bNXk{PYys{D5|2@8xS@6 zmbZQNAA|z^VLZ6_-^t_p@A)VEKluAU3~l?PIB|d2YlQ!YfB*l>d;L*ASNwOr)))Wx zmm2YY!Tp1xwbw@$YfP~z>DPx7%EuM(JdR8t^pF#5STJN_(Ey$tI2HwmQ#|i;IxwZU zQk!D(N&^gXck$X-j~?m)`~H@E0QWRi#RzLfcmZUORt*@V38LvaJ(p}oI_|*B3K5?#ZpM3JL zJ@?p(o%#GI%^!tX_Aqt*6w>y>5t(B)jEJw-aA8J$h=sYBhSC3^k ze3}pV*|G3Ja`+<)F8s7~XBtH{lwEfwggCB4>^1R!{b$$G|M`R4Y{bUfmijJSL8v_s zOGGlzZQ7ZODr9(JNsx55phtd6`sDynHgg4hPwxdL%gJHWQ{ou&=aeuH$6Z)I+i1lC zoLK(JZzhYwXg92PK-{>=0Y;eC(PnM3&81{-ySq*gy=dw2^OarME5oQ~sb6%VUxFH> zSXpj~j!zs}G>QlIyjI-Sp~i=&u#?we{i0&cC=#&OVJ%7%8K8 z(j1GZhE!o9Dk*$fWbtygaC5U^1$1kGr@{@CD4YIsroP5n!0W))A+MZ z3e2H-KV_*Rnp`dtJ!VYm2#+FD(=3}@4aZnIdj2%sddTo{?mtdUKB=x$&9M>?A>!Xy z==n$$-YPCqaU};<78INr<#R%ytS^MldAv4TjF4=0<*cpUa?j6Qc<965U$jlrLN2Q- zsc|U!d8(l(==K6#Po($~+)2cDsQQ7iUQfKo(i{I`vca<1bPL1$ z1c*ZR!?-7*e)J+ypA#`lDT`2`xP0*=&!$taI~~6J(P!-!zw!Uo%|7?*!PZWuaQN1c zz`7>SONWXp(X<6o5a`}CiVKnR;VR_4A=;%nwC^viy2wA`(UDpIKx5co5 z8MCsdA{;uL@Z6%82Qi3Go&)5e=mJGOBe$&1hwc2Yi9Fec=BdD|J3KZ zKl{J_op|%%!*=6|!!}r2vOy?pj%pSLpxWgytq7CZjNZsvC?aIhmKokpz;Ifmm$(xR zP)P9c;7%fG6rFkiN|&M3h5~2-TLe{=3RT1VRE3gbIL(2h1!ha!#Ffa1KcBWBXt?t! zjYRSO@KD6{K#{CoOkVJCYKQF!uK-=zq=$lb$0Gf9DM_6Z0>@+wi;kh;i>PNF363sG z1kK)=&Jr*<#hHh?~W@pWzJ4X1GK>6#`+BplNGSxJ7egx9YenF_e^2&c;eJ7{jum9VN{ zdBM^TxJUz`wT7*9^{|tpp{OXmjOTua4Esr!u73JxgJ2$?WKQ7yhR&pW0vgvNJpncbgENxfIibFAc({p6=Td zk1dDio?5b^oZ0NsAcWD96-yHvZBDGYm~8yP02`%XCtI_j@BchM7R7*0&>EvQEH(mrv^2c1PrKMx!dENd*|rYz%|D zfc*xKM_EMdxKfRBG`(Q0)26yCfOtc9g6D^8l30}XWju<>mit{8ZO-h&|M4gh*lJA( zJI!vmJGZpcp-PoLmBK5)E+{adK@Hi~({4H)-h0=ve=)hfMY~y|WX^$9L8fPz9-Elg zVtPXDyXqBm>^hHKM4fr`o<-}kUtN5}#86Wp+cqUk71q&mLDNXpL>b7+C>{zv=?oGZrS3Z5D|MM(jVMF4V@{t!wOBm*p-{5-`KagQBbh6>$F zQ8Qi%kM!h2mzn)pyef6|NDc;&(Vi@2aQ|nMi5)(D`mbF3{Ko%#e(|N!j-BjmK6Cz? z^OgC=j*RhzXt}IiD}&T5?I7=2H`{(W+7llQ@xHH5-3*FAl)>)A;J(4^f8@KBITNyS z;Hbzexg5lXUWh<89YB0g?xaz%v&iJ}YU^kkRK$wA+N-%<}-C(H~_O5T)wXJdLFAuGj6TjvzlHcl5wIO!ctTeRu zxs_zwZlWi{Ka}{fu$MpiY&?ALQTzV){&M^eKkyIi@;m=_Nb`PYH=GVO?OF;Z%7f}) zd3E_|;i(Yb_3Fv-II-56$6}gq4C62S>e=@A@^0~|7mM!NZi-j0x9O>CA#INbOlK;K zuI-gp4EszD6j1MII4*q)jVYZ%;N)R_74q@LMft_)> zMYLAw5*|~>yCUVb+&*d9k9)wP1EEoz<-17*K!0?asYy))6DLe}!JiA5D60PN_tWvi zwVl62rbF8`^O(Yn=~6NgzzuJ@-pasI*a*M)Pk+R$o9xd*_kGI0h2D68@RX3-{wx)Nf=TitNsW>NOi5XVOttA7#U5$)^3Y z`kygJN!(HKMzh{Ndjcq@mmkwR%S`Zp;d7e>ZO=*>QaTIq)}f`B)}k?Vr~B6u;bKc^mE=li0JcylUm3qWD27 zcofNC)VFP#58|{N+3_W_M`>NHByhW+;@y`&{z1Erw zUFfz!IY{ZmO?&oVKX)x`F73hxKGs_y*d)eski&B`FY5IoYGYdyrg@iv>w*{*zU7^<6KS5Sz8PmGQ}W-RZp zqlq5jBU3b#V4uV$)aZcb^WyFsHvYk-t?h-+8?go-FyUNKOsR%WgoPH-i#eGZ&3}&X za(7gh;SdjUv`pznZXV_a7y^rQl*pXfy=XWTbjN7lYWbipv>I7ilzx$SFX0lUh}{YU--yx|4_4jq)V}f4i7MaoHyy7&sDQeER$p=GZgh< zNszK+%SX)4K4{(HTas;_3U>XR&nd)3A+u8MsaX^6a(8YkUahhdN8jp?m5U}&A$!iW zf4+Q%c{&A9t3Frn^phV=NB-=0S+j>$j?TOqjB+jQ%b`*1De_cddWxCVKH*Wm9$`*$ zPAF*?8PiK=uGqcz-W1xRVS1ZWF~rC4Xc}>3h&bZ8R}eb3Tw(PTM&as$%}@*n-PO-s zh|}wP={tVxhr)aBy~iH^``>N${3WxSA1DmD6y!{K@E~9YT4reuD>F%U9Xf0&=ivrP zxxv}rIc~3h)gb<>cRXxwef=yv^k8ZqyRaOG%kwy_*s)+Uz#vwb2(6S^UvrE>Ai8yQ zgi|1*wMvYW4>A+2O3EL!K4tnqDLPVa3ehW1KYrmx7f=v?GTbJG|N0k2M z!b!FI5)`IOt1IF7o4*1zacbt|7f5?U%*YDXWvWDVO|Yt4ieuIC;1;9jL0gQ-2=bDB zXVZSeNGr_LqSdg5!a{H-9YV13w%}UCKu!l8v#~+Y1L%x9#lR{&Fom2oIG|(uifddj zbc#NSj^4P7-9RKJsb0EQCp((Pt68SEgY4vfeg>uLI<*?Pw;qANNUd3%QR- z%3_+Lk|Rh(1IJ0iNIXU2=<3T;67K0?VoA{CQy)c*Il4J?2|#2+uv);3H`4wALJEvz z!V^oi3_B2%M-{GbiZGX@6x1aS!uU!>G)OZ|e4#5QodSc4C$WJqzFP zWleW(+v2tBmac9UwznH?JZbR|aUcL>H5M&XZ9-c_^op{nucgN8N#Sa-Mq5m>K+ZE({fMRKrU8zCef(?i-GW&IG-6$;TYG)aN^sM zA>#ET{$SqLS54zaFt2RNU5`RiSsN;(_Cbuixggi}@96GYr+#fDi=Ux*r zS0>j_5(dfKP+T0i3M>EzE@$>2hG?2i|Ss_0OX`1hQp_CD4u%% z`>xD(x0db3SB5af6QFWm$PXKSy{WP=_5lGu;1|kQR9t(P%!(zm*ZdDkLYQuOr|v(e zA$9JwrNAMCh?$V5Q)J|W#xc3PCL43VNzZ1M==ic6haJhx?BZD)eZzO!=3RHC>7|Qq z%q`OzH6RHSJOD-t%3%bgQp-8nU?tCElj1dQ`5v`A-I~JnKR)o5SEi*h+U^7i33$K= zk><>Cjnr7kW3z(w86$P2P$qiLveKn2sGNH-O(#~aEZOVdcFI2SiO<=GzxAsugq@U5 zKOpCQ$ksC3hh$2xKn3;62a0_ph|9IR3&6&u>g@b5S+SSC<*z>#|IfdAAvt7{HV6(TLyP5C$L*+!{@I>Y@xefL+T%f4JIC7_N&y~46U z+)V`0imf6cy3dZpS>P3CBZ+`gOuiZXF2`QB>-ZXF%fBGlz3&IEt~Kkuq>0LO&g}WE z>qk0rphSQ>7*8*uFn>Im<4FTv=Nq|Wc~=M2K&X(K4m%`{GQf23 zkqF)O7kb6$*me8P?|V93pR9-1ziQXsaPQ2H-B5R%LyPUy?B#3GUb+yw-ED||fZcbY z7&_d;euZTi&rLj^dTb#`_b4NIU3mn39#HrLg|R%H{Y4(-qsQVslNmh2auK(Xoj>+1 z%SD&Zte{-QILU>+Ttd27Qc%J~B#=(^s7dQ-Wp~~YQhB%y|MVC7_OAcskj3$O*B+Ti zTL;omz*&4B$kpf9Q6UITRmIe!sBi{e>XJ?IX{)eyXe&MRdsoA4cZqnHuA9}f!ioW6 zEVYqz4Sf0MvV`|8numqwjncmry+CbtZO_uQwQzXDLZ4$Y*4R3yv)s%%b6#s`846UA zV2Ob<&fF1YkQA&QILE^x{rlf(?ZKBqc;zW-0g05sYYvZG7A(31!~?e!8-_={X=6CP zmh8E!X21I2ik;llh%c529~Dp;p9hYqy!hZfVxko1dcq9ozC@t{`g(2I{FdmDJnV>r zG5z#yCuZqGpIr_g{<-DUy94>Cc`swwo{uHnxt!gG0yUNTjF6_Hnb%#IzPMGq<$)9b z^Jt~~*E1+O6jNy>piH+E;jzfqQM{xtTc<3#DR346_})S!G6xnp{fa%WixU`hv=7gE zS`D66ok^NjYEp@V7ZjMBDk0jXYAdh}WM%zbbF z-c08fXyKiP3^j7Sq>qU=#9$>0Mfqmg)XpWn9Ot>FG7niYi7*d2NDt*+0QQ)`#G*H_ zUX}jBb02um&!oe*cD4lm2>L+`!%;S8PQSYx=Q~E1FYMI#rg`S)p||P&TA&j6AjB0fq96R~BECJU1YW9V2#d(OcWu-nNrB9PM6x z|1Du}GPPy~^JeGt3eLdciDQbWgc8T}aOW-~w0Jc{!jsF&I~cK3&s%1M-}Kho)86)W z_~o~}&TRXo&Te{5jMc!p8Qg;n^N`jW?|Q|S#Y*-2<(M+jP0m0qK>BvB2lL^ycIS3@ z=WjleUU5U0KJ?k4UA@$X(Xb1>3R4a29u4h9f!;eqIVZI(a%C3i85jk`;gt-PZL2aR z(QAJ;jnD<+^hO6pYeIj1CEi58gNla7zLnHD2y)^9MRy2GvpS+f?oJ(V_}gpU=RUF#>n*Tn_BtzjBEI!T$wu=qSSg^?VEa*tErxFd=_98C?1j*k z&dth_Usvv^0-5%t4#e_}z39BgkjH4<~OJSQSzp1A!G zK}wd?LTgYewY)w!U0CV@Ap;i0N5)a4z@13(U| zj*zle!{~<%i4Q$h35u$aLy{du@=SSb2cmCN9*|W${C-M@(mEoW!mXOL1$rX&LeP!z zlqw6B&v^E-W0FRb1Vs6W5s>h(?uGi9zbzRs$s&o?4w+X6Ygb}`;&BrHbXNzCujT?p zGcAX-;puK=u}(JK+cVpxB7p9q<>5Nr{=jzly05>MzTvBP!t3s8Fi`GZyky~-m&|sr zbIT09UJlSfB`d2}?ZSQxc(Y8?D%YX$-egBk^|ZX;1WxI&E4Z<|ZPNkup@TjY-=qjvmtTJRpM1gR%W=950{w6e(%^ zASpoI5|ZhLmg3Ot9lvY#(dUERe=>yvB-I#0k6#&_vwhKrwnWKA<^7=U4Jgr(6-(!? z$MByX9(Ko9v?g$V;L)U!tuqhhk}DVz*`e4wB%@xu{(^yqIX>us&NvDgrN*5et#o01 zv+I83Zyt+HFWK;L4F)IL7-?`E$;*Tab%h{&qEbu+wXMBkJia>VSv|II|H@bNFKk^? zrmGK&Dj+5vilFCBkQray3oAb3803nC1UaSa$IdT z*l_AuW?bZiih`CeS#c{LemxKhE76nCaQG(+mHjd(t6Y7Z=*++G>%Z5v&t47sJXf=M zxJ{se#TFh zSWc?F&h#O6ZJa>o3=Y>7>#)$%#2ra&N*#y`b{E;tD&<>-X%dd?f}MNO?5@|?4d3*q zt+{+jIgMbZ>)_Uu9M@2;-AcK`{4*0`1vASn-Xqbmvjxz#rt`2jYtn09drP?C*had( zJy{5KWkrfB1PltmhZk^*qCFF$5*h`>#89>azXK%#Dww)h3Tfq)H&fF7pTF%pLi*gV zruN7ylC7@?=BctIcMwJa>4F7$8)%x4xm%j^P&ZYX%?q=aaO(BrU;N3>+TZ;PXS(y( z3j6GnMV!onjVc_ZsO7MOD$`CnRG}qYgDO^XMvXU7csS%j$!nWKd)dV3n&QF3Mn_wI z@pL(w*0ZZZ9?K4QsTV`6sYAx~;Uc!_xaba@Xzfk+v>4-tpMCd|{fqzoW;_4bA^JGr z!^ZwBl*hWXJcJ2#hv_E5<}LQ>l-j;^sOLZ&$Ju~E26+mKoB2Zo-<7b6z9H zLx71D3s!>nMBd!{fu3LDN4hVmgdRCF(cv1}Eb!CNVFo2GWl4WZJ{2zSr{w^n#Db+ck$Mc@@ukStXy>ys z4EpmJms^Y7(CWIi@s%pIJEhq!rv)@k>mAumcfVyf{I$Pz!QOW7UV_8RXP!5^c%kS9 z^iOF*LpD7qw6SgJeWTP=*zHj1ts=-XLxt0_cTU9b+*3kmA6JH(BN1icSVlPU7qACO zMP(t)-3owCKB)9R7`fr;l+ivEQ}el{`Lqo8-qqP_PIcW+yssbr=C>UWX*^2d=seh_ zcz_2iu6!?taz%j)Y#DS$>{HTQwJa6g#6VWQrEakVu`&E@%n{rh0^IwGnu^{Qn z_&9Y(Rzkcy?(7|(SVL4dUCAPBVzRUriYJ`qv<2`GAZ|H&CKMuwdMfj+TuekP3adWb zoyj=&6}NZxv+o+E$KO2+qdQ|)7cKdnv~9q@kvxKH(SSiG1{Cgr=WLL{+%M;|XRi-V z-?sK!Z@6Rg8?SEdnw3430~8Txny0NNixqsI$%HE|PH#Q=RkAR`5#)UIW+X0K8M?!b zen94b+S9xsqcxN7#rbtK70d0m)AuuPPMzOAD?LZqyW-VUFT6i(+%!uohj3acM^wqD+O_5B;mccOQq7vh4if6g`rK^y3S2dlJ@DNq z4$a0_Xur3>Ul;etXK;%Nkz)ulz4AL*?IZPx$0y=o+Ze~YsyID91o0- zfse(8(YIl4R4%#iy3i}pysAKNfyy4syJM`8!-MxCkhSjEQ7(vLeH9*ZiHt?o2rMj*$1pV zJZ?wJ!#@t$-ux=`%$6w0yJv0d{4-C?6*tl~B5KUCE0Hw}d(^=N5SD}%xQ)P)Bz5SS zXih-ZCW`o?fqD{ugXDFp;2h3$#!;9n!Vf$HikUNY~}QB`2K(ReE7j{ z-Lh*_vj;!dx7oC{{s_J%L{R+P&iI(NDGL7%61H_aJnP)g1}~fls*FX4@0%zWKXPcF+9!s3^-KrPFmp z;H?vxk>u%`Adt%d)l!Oyd|X44OMAI7yMRT~BHlWD*FTuqzx+!v4VExEO{w17vvz`0 zs<5hu#__W9l~;cciP@skhNv9}^#{;z(_?6*E2>~*KW(bMxMqw3fcp)1Q0wULVQ zJX)lSg~-W>mgAoS{XDkT+Qpq<|Kayn?bs?%N7oW^-yyez#VwtVJ?9o{Gt#e4%Od-$ z>HP757=aI&pnxk}hc?}CB!>+a0Gr@wR(6r+YisL7Su^mc3tVh-zFEa2{vsmMW5XOOvlX(nEDsqAtwh^SR0*wcc|F8Iz;Kv4`@~1i?7aBQNjrHYPjG<)DX%*NNv=3`wLqFp}6%SfN*F$*ENk6APMz{_HP?=IgRTqT4|J2O}> zCoW&rOSXME*=!yU|Cztg^_G_7?AlcvfKoKIv;dV`Pm2=3(ZKzyL~aWYC5}B5{X=3E zatGQJ$JZxeV|~fq^yWL$Y;P9E)0veh1O$nSX~ttzf-$DFd@z98{tKfdy zOlDzlXr;U94aehy?|RT4|I1(1S=Dds)crW~&88kno=2_ZxDzzxTwO!uoM++!gDzUR z+>c>9w(Sc8UbwILzUSgE{pgdn-L&@LvqiUap^Ifdrn2-JT669^+3r%oxs;q~6fMKI zE@0lkiU1>ILQQRxQi1bX2(hDH)P;cL40%3~I~?|$ZE;*vRk*uF*N#)H1}S~z>$-4d z9PC@a=|+3@V}~sb`ZhW~vtrfK9Pd5GtR)M8=_ndQ3#xEigc$-gk&G!HETk&gZ0s7e z0DXe9TXDfaZb->`ASimoDPf`D%$aQbNa?SxJD)#4$kbLYj281Iv&f0jzM&Q{|A@*# z=a*7O*IDSvLOly@SeJ3+FO@hhK8+bXWm>?NLW^J|O~R&QGbCcUqScEm!HN50(}l=1 zha4VEdO2t#B-xzPAv8Y~N}h=>-ZRn19M>mvZGC;ZMUYzLEc87ffEBrowUj)B@~kj- zzfhFoMPahy6b+&mxnt+gP*deRT%n%(#6WM&X>9D122_xmfLe)*gra*%*PntfSHj}= zaN3r=Zg>Q#&(;<_@ymc!BKf4OSof#4tK#HJu)XK{gguvz?AVX}@?-YLUR~R#o;ACE zRhJ(}G!gy0w<>=OVS!Xtk^Q1_->0FdxD(P=#cc9%oJ)-4dE#tO77q;Orf_LN9Ltl} zJW})6D$#GTtK%6dEZ%%WO0T@x!jHbIXaDHiZ?d8(QoGt(vDv0>P{wYK<43b4j?m?; zjYhAFd*x7{;ZFkCxyMBYEANz@k{g2e?V&(COSDK!{ag-N|*cs^^jnr&;BsC(nad zM5s;@C9OBs^)@ZmGqZp9LF*pA5W~HvQi2&ZS2SFz*!*D*jBiVN54{7WmvmcE3G&>$ zMHThQLtT32VzgiQ)LJ;T25yN=Hi*EoL`CtI-SNdB&~0U7M&9@0MyeRaM$K?nc%vgy z4tw*`a%YE+Ci|!VXw7ElM>f1;PGmjvmUvJIFo6^Udx#EVWtfl~g7q<;S(mnU!ii)3 zhu`$-TV8+d+Lq2uHf-Xq!i+bwwQ_7J1!$_)^ysk&)?}UuoHF%t$_Rc_E~D8!g0JP8 zA!^eWNLR#h`(QewO#?RhjkUMI5AGA_NfW(CoT~e zNDB@f5W0Pr_5kd+Aph~h7 zlG%-4k?ht7%(gBbb^zzGQ zcf8sTf7REe*|qCt%}fj*R%s%UXn?K*PY5QK5hWAyb>fDu8b7ncK<7YFIJtbyPTqdP z-t^kL?b`J%@=n|sg`6ajV^F-50pV5jk7I|a>rYVzEyg^ai(L*x;}}kAdfYa()i$%& zzvVtVcj;<+|F^%TwrfxIZ1rXfC+@T~*)}k+#q##~ZqdumiU%?Q%V zyEd@F;Wqv7PkttR+qb@)>gyIh@|n`=sab#6fH#>lEWEuU{6O7WQMOe!KiU^u_&a>&m|QE2sA0W2L?QHLtd2-nZ)Jxh;>7;uQkL zzo}u#Tr;jqUONSJ3Iz^r{7FI6s*-{Z6qz9n`;{_&7gBZ-W05SuGy=8g;{Q+$OWA-V z4Pb}#Dcp04?OpP0|`KAR|rK(3+w{6 zE5u!L)z<-V(EG#w2}dq1Af-s$yHGqld691MNPBbfF@)A$ z3LbY181cWjE%Q`UxIt8zoHvxZDs6-#lS@cdx=amlyAh3ww6xIxX_RP$3Ks3aI+*Dp zIY;UyH9?hykRQ4syq;T8VS**kELkU1vA|b|C7PUsz^){ID~ci(M)2XFsZE%-T{rJg zeR!jR{Te_=#X)zhTRgfAB~c}Gd8pq==98|Xu5qO%viFrwf;Bvv2y=8|}IOQdok6z^FA_a#LZHIXyRn=L3z4WQENNGbBmAybbay z-3m^<`Fi^KpV(DFddXVnvwC|A8q_%YCs`&SZhi1dRS>O91V#f54;iTF}*6=En#-mqR*INzY z;x!BZ_ivkB*fG2BbTU95`q)fz$y0EFJETb$F63~=g}Yb~OypX_mo>ZNXiV?@T+iO~ z_#oVR49b&;Tw1Ye69%Vp1zwo^pa9}A0t8uV4VNCU7Q?#k5g^8Mju0qLjnXZ5*7m*+ z4#UUZv1!ZqPZ(q8d^uJ^V(OqI1+uBp1=u>cmbe>bm%5@~gvoXjy1i@7cYW<^mtWkv zIL9C^=ic)B3ubXnx{$D}B9?wK7iu~mVcV9`#YH?tK1IFGp(6$V-bor>A1%5Qoorsb zX=1QQiEw8N6<@Aa^&y~e5GOVGUdcVjov2*ks=kh|mxBm=Fv&KffXemz#AERn?w56^?~AFRhT0>joX{hG!hQ2!Njh^WzEGQa*PIN-U??{3{bsYZ6J~oC97f62 zn+P@Dfjg2wEs*|1NS8a?Vr1+6Q)WK;trzPf+fwBs5C}&b?D~~dz4onP^;NI3`s!sO znW`glMzgcHh(oyo7?upu3#lj&fjb+1GJ1*6K;4At)$4ZWt8Y!Oyz_Lpa&?#2Rbwj& z?nrEtC;-SHNxmp%X#D7a2Fcx7QU(#6+sOkJ!WzV(08r`h>uz%)E z_uSOA4?Sna6OS)h(Vy8$uSp2wlRy-+P*xc7B*BCw+dQL&qFE%K-X z6=%(Jk30`WO941~6T|(tg)p60>C5lAH+A!YZGIVYexfyFY{HfGdu1y6JzE-%Y&aZR z)vK&m4#LUxH5>K%HdyL+;J5UuDh#TA8UXt1SxEB+qq9_1Rp=pqsj5OrnJIlrXebQ3 z1IQ0hkyIr;#btvLySOrf+{Q^b1+Deqx50r24qg;8awrArlilX!X9Kg6LD@sTEstrq z;kfy(+aY12K_Nt$tDm?&RFK{*lx4+A489ALV`#L&5iKrzom%MI8ru zh%krz*h=T@sA@xQZ!_%zlXu8D#Gc>T&hBnRq)~%nt!+coG~KjLv99N7+O*wxQWvwP zv3XsmrkPt)*EVnJG@sAHbY7>+S1*B{Y;8N|kiF?O-K7_XasK>H`zL>39DnkkJRLsx zd)S9ttH^NAjsco-d9Rdr+kGw^`#r{^`;N(K!qHyORwN$aMkf1{FJRQ310`BVANvrE zjV$brOSUI({<1c%FPr@zKO56e{>3|yQ4wvev$%$9Te6|&oV<@k)(ZyH@#UsXdsf)h zD%tKl*bFl9J^S-NG*18YZ!~eU!ckZzR7c$un`UV-_7DuH94^;NYZ^qzRpJ{B@qH%9 zP&aMUzz-UXWF2WC&p=;QLR$H}03}n#t_r7X6SL;TuC;Rw52w*R} zE#7oEhM)Vyz@9i?+07eBXB0(>8zeRrxsl7tfeo*W%sHXK_>WB(`N@mpw5l4>=dG}& zDZ=TK)As645r6t09JR2X!tlskmt2y0D#+P!A>o)WOY}-qa=IERBnt1fb9TpGb?@eX zx$WfIABXo`^pP^--94!a)gc;aJlejC`2PY}SA1e-26!Ewx%wJtbOQHsmk(?{zB)?pqOTnkXwfk;)G;$^jNgO~8F3m#SM{nNQ z_KsC={JLW0mfNh^M)09OZQ4s18KLb|>0<&3MI+J#17~lJ`T*SFp=v3m`QEH+uJ6Rx zeD!_d^odoweq|44xB0rVTIr-xa9y5z;NXBITU=v(br+nYq#7C}6mzq-Yr4k9yA$Ml zhNH)p!pT!d?Z#Jc+M^FXmp=Tb-fY%hNOt_bV8gXw$VSHE?4w8Wku}NU3v(TxDPtRF zCe4DIg9)Bpt1Mkx>CC3_TmS0k?I-@>v(``6e&pd^yl^FkQ913(5k?ST>UuXr!X^EC z2-nDEOOF@I(}GNHQN+0QVuNrWI{(Tn)+>i;IP9e%c%Y+EEPIs=%6?j^VkjyUcct|QW!o!zvFH_HSil24 zq^km4qEw5*M(a?90pU=iP7cq4x^%ua`6DoJpi!mw zM2i|hsygJOfij>Kftx0~9xQ6|cd}no2FkT2UUy62QSv*X^9v z4$f$hV$cs<98_*BA3Pm4bv2)}2$vNgtkW8GI~n-!xuB-7Lja70RL@h`*&8$G7o>JN zGNu$~O>N`(#CFHKVSBH&dN#IMGfizhMFSY(DA}dQ3+t|!{n{fBrCT=I@X61YX=%Vx z%jX5shVg3?J|ivPgKZatL_fs5${Djn{M9$K+hW8d>Fo3;+t0P?}+McYj30^DPWBg9GofxcO|3`QmygL$9%rE?#|`%kbdbq=M> zKb%e`E-ul3@w3H^CV^^Uy`-`qwCXJjPhU1$Te7rPQ6(Q%N9eh9rVtaZjJ!x}(3h_S z`^k?bd-R1Wz4~-x>nlK@Y5L0o3KI$XK03LPC_64Yfi55YErdPp^NrPBsaqLVT{^lN z!;gJd( zKmXB3bv73YQp===DHaKW*J;zx%x7>{)sN+v;#*QKEgTVafGq@1F8Wfc zmJjL{-OxTIUxsDQ4DrDgFbCG+J_hD;$)AV(Q=xv69_a`b{G(|ocWGC^hWozZ`&5_6 zPE_PR`Reaig9mCkIfAISmD{*IETnqX98B{eYI2y$b=}U5mfIfI1zQ>1b zQ|K)(rO?!W?Zpqj`~M2ZZ*Q8>MrCcC4O_%tlL?Y~dTD?U@PT|)v1Qg6!|JBBolAwC ze!bb9UtxCrGR%ecc`eyXjY^XIos~qkko9J~)(MsisSKV9Sy2lDn~&x=(kqa z!Df@#f8*DsrQ^p#yS?SvyBtwT=@R#6@H9RnWm(Xw>&!$lm!Ao;bb~W#Ck*Tbp%_HM82rvo$$*vefY4O6q()AUqmge36_U}GyKlE+a?DE9IhaMiKt-a8#^`}Kq;h@$rvGD29 zlIEB4ug8zk73|Hl&Zx$0-EhOPc1M8dXl9WPWQRARoj6{#ue$L~(R#b#&@09^-5FX@ z)?JZ?5!QS?jLZhTu3wBoRrZj1gSavm#BvXgbKq1}DTX5JLCSageTORhQjwI>E3u8sQ2}`52-*W;e z8sK2|3s&Z0gWyQsIcUP2@ca7#)$V~W?Aigdk^&xgGv;uYUI1=Q;!=(5>#24@-M!8@ zqO>m4=Mn@~FZm}7ZS_n>Om_9%D5UhSB(VW(3ETo8OB^L^@iGGgW$abjl$C(Q?LrnW z-1~e_qrRNJA=>nLrD)nL6Ih_Vn*AzafcTrwQvgZgKm#IJ2D%{eXlq*>wOvMBsC+_A zhHr%DjTi?bTZ8p`y;N0wTN_rX9P~qMVs~wCub4D*gI{A^H{EnHkK<;R=F_?D?(Kw~ zNn^97wfStCX5(46H`^;F^O?=-F@D}swQQ-IS!m}S5xzN;wNmw8f27yF?XN!@|HI$7 zV(Rn3X|w<1AC1CK{_R^+=%!uTXb=R)dJO0~z3YIpf*m$5x@uyvh9}4@rch48 zTfXD6{rF!U*q!&_VM{ zP$!(*P%^Si(6H3s6dgIwRH>yh-c^B1=$~HQEECP_!RKJsYw3o=X5*=aLC@^yvf0WC z+&G9yv}Z0=#fP4)?fp+hTdQJs_YF<#m(h^b%G3#5U=Mrc`0opS09~pkp^uDA-3L|2 zRO%He)NQasOXAP}iw~{X`k=F=VYH@3=A10u)zndaNLEUwM*v~R{SU9^jJfb@}`<2Eyn zR&)Qz4reUNGTN7Iwz7sy1=&I{;kA?xd7%XMg3am8F5Y6X?B^OM8&v0HM=%ROKTr8spm>tj%Jq0*HIb)=4&3D0j70|> zF7QEX+dOu}UU>59hxVTM^lRIjUV#&yLO*9bs`%my17lUCwFqbB`UK`hTSO^h(ekwL zZn~W8m47nWp*!GJ=LS|@plPJ5fgRsVep?H2^$2M>IuEv>9J^W8DU<_ot-4V_f5aibvdNe)~-zej6};SnG>74&|6t+U;&F}W0P z`0D$@+Nf{WukS5tPu0CzY)sLln>xmOow)R{Q*ye+eBOpxJxdL6{}{VNYr}Z-@H&lD zCpCF~xcP9{4V$+fvm0KyV!!*2kEREI@Q<5yd$5Y>;_?X;sv&hVCn4}@%1je2IxZUj zZ_b;2eF3FH^*=2`_v~6%q){5({Y>!-?|L|W#hnwoblt*7AA**kw51*-51B9vHgAfM zAb{@dk-~KSmnm-ST7X>0M#Hrr?-re=M*ktkwriWnc+6Rb_9x>uZuNUkMv` zrLLU;<>^ud!{iWRi5tVwVou}}hBTWX3=+P|aHD1a!AOT5ptZ7yRaK>>(Mnid8m6_? zm9W0NVw)>Vwz@jBVSix5UTGW4BO9Oq?3ISXkZM*mN$uRWcK2*PYix$nvu;xj3lk)h zv78V?m!nXQSTT6SXgPM^c#-dpkv_A1sA!gj2OpskcbD&3x%cJ z$YvacPB$|wBox-YvP#3@Ff1?iY&aO$(qPc_OU%<#MDe~ipW5}kalCx_dOCagQh4Fa z6`M@=((c|kZ0+u)z44TSr*;MwBlwzKD9WC-%^beT03S6AjNs(?>=RFGfPfk0Mwu#n zp9-ME+_pZmX*YfI3-*bhf63nU@qSva<_W=dnlC#~l`yxT{?6Okw>k6+nXME&>cItr zTz%T1c_8z25Q53UK{=g)p)s&yx6aZV?&<8wbC&+>pT9Al`<>M`ETy7an^}#ujG78Q zHVE&XSMc`ScVrt}wOd}@*T96)qrxIP(*JNl&tux$H(y1JUSc0rh@So+f zAr3tay5$Q|nmzoqg%@_sZrZSPZ5qP%G^J}33$rF*ESoNEhp;p6(n_xgr#3s=Skm)T z^Ty)?$}&pCUsZ}Kwgh0)If7I?w+qS)H~Jl@A^`_(p3H7uPxkEPe){*H9EH>CT~}5q zz@wd#W9$pC$ZR51^-eHY$P+bS5-^_eIp?@Gh|x{cx(s*SQQK#qv-E5K_sP&Z*;*We zzYszkK>C6!hQU}SS%cC<;;eiiQ2A5JSs(;Gb<@z!U*0PJ_}Aa_z}DX7PkH2{(QtlI z-008xIr+*3S5nn4v_1T}T)<_=8{$6{=XitSS~33qfu&E^1UK8@W|pC8*cD)p_5>i! z;M^8K#y%<|Ja7rZn#Hq~W52TAi_cxI+VbD;Yq+q4m4K=#X^9^uVxcn7?W(&ko}7oPFIzfsYiHv9yNlG56gyz$&F?WfCR^9@OaI@$(zhM=N$~HZsX8eTpNz8 zX=YGrIWMn`p(+{Vc;SW1?e67k;mf}5E%7yf;!1kQw|~Fwe)6Y_uDED+`d$lzVM;TM z7d;MCo)c7UFYIT8c3^lUbDBDaW*S52brxT_)pgf*%dO8JwQs!ZYr;)$Ki~c9fBBj8 zr@p3+kG(ukk3P}2I86!0#Gz`Cd<4QekR3HlD5{(r%HSr2r0MoihzW%$eGKsc6|`d0 zQDn0=h0`Zysfc6xi3{@67Zg&^pM2PY`N4Y?0k;OwDW_XBa$>!5( z>e{oGx;g4YrrB`t0)kqvh;2QysyDRZXlN@-%W3`aMmTYJ!)`ddX(x}Yr_GJEu(3L_ zBcoyJ$Aa0Hw0@j-sqJc9&A2n3+N`d-*>oORpx1S%3CJ;{iXO-Cw-<8|Cwc5D$Qvm- zBF4ax05(V+cc>9?oakXtQU`iWc<0r~Y52AOmD@RMG4(PXT9l5mHqYaWLqGVbx3h!O#w` zi~{Z*T^8!ju208y>DqSl)JreL=g*$E^IO~D+`031`Qr6%`^uGazO!Y9s0WaKdR=G3 zRc^{9s_`Pg5=V_go+Nb;3WX4RIJ{7XfJA^j6tZw~C@~(FCk`$I*LBxb!gJD%r-=l` zs+ei#Rvahqkc|Cl9_;jOe||iXlVyPnx!8H)+-F8PMUjr{enDsm0Ll>O6D#Icb|;V3 z@t*r8i26!@_otWIpZvkoh3!V`pV}*mwK7f4^eyeoyyGt$>$h?Bj;r?iui6f;culfz zyl>jQ?v)k~t(4YIS8TSo6vvZc>J>M4bz6iY>>+F~^lVP&KPa||C3V&-se-DNq>{fM z2DiP>Ehedkk@Q5GP`oc z(vf6gIs^R({>2dmR$A^`*V{<&3<@iQmOQ(08vz7c86yXwJp5>8s$>S(aqx_Q|4mfz z6!fmjveT$e5wdP(=hHp(qNASKOV@B#k~9`!zJNb(G}IGZQiJl?>A&wlNvPX=3QEeslK+6sU;0Wn&YI|W@2Go8Vq-{bU|#1Y>H zfPU{@-YE~=xc)@HYCk19gHFVTOg+sCB@L4;nsR4-m`58UsCCth$P(Mn0SQ+m>O>dm ztDX?Fy2%6d0&xfxX`hpdxK15`#t2xklx`WPxH6C0-ZvJ{HgGvW%qN@9!Pm1V(Us=X z8XIS!z8qdN$mX^s2eP*p1V5o`o-dg>Ud%vJtwf039X_be$W3?7eBovb2COJ-0`&G% zwlva_IYUT!ClZ<`fE- zJm=U9Aca-WVE)APfUT=$$8S!D?!P~@;0iVhIOme0=H7!BsO@9ks=RH{-?C1iQdq0W z=i*M>b=!2iJCle5=+NO6 zTU#BmSZGnu6Y=EX$9+w3KgNo!)krqz8aw%_8`6!p^uq^!<5By>_kU}bc3(7Gztf7N zCwK@_oWij+*jkze({4cNPMLPids>v(Ob8cP7*6c2TFboGFlq4bJ3YAVH5IBG%n`yCR5^^{qc|8%H>=BgJTGrJ~Y2Wi4)iylwpUfMue87qAh z*H<18kf7swr>23rIJI>fI!I}8k!!Y%LN%8LRt-irS{|m2^^LH3c*9O?uBD@!8+Po_ zMp!#^*iLM&*!t>9w}#L}qH?X(U6aPsd1$9o+nLPLbT$RSKh4`Nv<*EF`AmW*kM%4& zGK^r!Mw8UoyUzp0@Ti{9*XGBOamTIwv^VDpIu4o|o$KgOzWz0v=dtp5PFEW6Ibz_s@|=cboay~iIl`>Qj7pe03<*pf*^nfzy=zP&fQgA zUHRpA^Eqel`Tl>ceQr^MPZWvns`u_aXNR@^^@l99^4xpO>#;nITxu~-USo%Rtm_i1 z4l+fK2T>{M@PZ>5b&XZrlQzjZvL^oxeuz?)&L2Lz694|seMA1*2Y2KTzmm~B97VN8 z-|BgeCB~x%@fL{_&cP(Ow~2Rc!*sJ7Nja6~2E+LlJ}OkX)2WXqjtBSXy%IZK+&}xd zIr*`_wHC9{l7>Ssj6&!yVCOrZO`M!L43B-=zWcrp9s0N4D{{0a(pi#Fl;Y=>*PyADy8g0eP7%o;h0Sb^h*?eO!@D=qWzVy1dUwvBSk&_Yz z0CEX(GJJw4U^NkUrLV-H)edw~*jg&LQOaIGg>xGfN(sW6PO6k0!s#}4B|OcN%K`+< zejSR^^Q*P|>(4LBYX_N}UPb|Gk#=Yx*b~)i>(sKmc2itZM`W_!@RRK=?KW7Edc&377;UgsXG5R8lWq&GRQ2Fn8 z^O@6eIJ_J(4f}28g&u6vM03KAQ~Zjc%!n zv!S(5(GUhS1BwJHeLmGUEF@Xy=-*MZLM!T;^J;c(B{3fFavbp*k!xOo-VD9llGiQr-;mh8BLu(c2bt_xnH!XgY7-=3r!F(&{^X&IDj?dNE=|0 z9+lFE$tvgWGlbH~@NmSi__w_6zSwHzZm`p59hEabqDpROwlKicspW8g#MO1|=(2RX zg<8WaCZVN|CZqD8DKeLp%$es(rE0e7k78@NaA)3dI!<>-^5uW`GxGdT{Wn37QFG$H zEbDe@fdZziWSIY8x7w&YaWK-mLeetYTpWdTg6zaryTVM-m)CRewxeX-5P$F=JmY@s zzqtV$kMPGYioblV;A?`Uzku7h?P+Dff(&A7)r@@2A3v9+chMe5JPPqSxDq9F4 zK6>g=H!TavPSvs9gB%|R67$1sPOoOR_&Nj@JYqd?^}>&iwW)To_R{pw!1}Q!AxYsC zc#cS!C7Qqh1T|E~zppAMlPU6hMW&N7R+Gw=^+>{ak{S_%#*tLf4V}53TU=T4$2N}0 z@uRD9`pBAW9$5>=j;{G*OUtq_*HOzm{Or1l)3TDmcp}5mG>*oV15c@}Dpy&d$)ZS; zEBU!+hY=Bf&Gj}PdKX*$+~*sfTA8`cwMx3OlOMTqe-Z*HelKrtE60K z!i_?WyA+15s{Q~?()_jn_*q9up*M4TW2UwuL_gGCQVT}!eVCu`Wf+exce}CEZMja~ z<^?#d!C{-m;dtm?xpF-oSnm=yL++?zcfemGGZ9|-kiq&U%mwPk_7c9(Mf)m*2jh* zs#lRV-?Xk)#I8{0DJ@b7z$-+Zt%!W%TOuEMUgXXVFTFg(Nkzs{2zBPGP|INI!r@f> zcqFmTeO&LMrqO~V69Zu`mNM~#tW{4N?Sn_rrm(kDZ1jg!ivtb=A*NBQwjExYBp zAd6k#;j~wb(^xxj$24GoZfUfZ%#4YoLwUq;QGz6uQfM2c?Ok_Q@_V0Nh)@3Vva~N? zcJ3L5$HWeduIcT^fdP7qB> zR{qNbr>AQz0cI(VN|8alH?_@4M&-(lr0JAV)|6qU&z@6MbF)@DoI^qPgSSa_6P?i9 z&Eb{B6ah={1$tpfP@~9gMz879rigJ1ja6e!dno$Ql8=gVp6vmd1zY2PXD^2Hk17l6 zr#4SK`>|htJ%@wVse9@;8n&9*v_2etYRT+ZU!0> zl>U~o64k9wB`}5zsOhl%%*HyMy}jB}a|fkNA(s8hzGm>D6?h3LoL_d*>8e4|G&&jX zi=4Yh=FVM+aX8dtS&PD$1zp<9ev)oqMm6d0>`ANLlDED6 zVJwVrI2iC4z$^esNrWh1J2WlhUVkjD!nuLeDHgJ#CDp~AWFuUAL-)S_@df$Ge{e;Pvs9S`DF@B#tX>ZU`Pbk#+^QxzJr+@{4OLvUzkZ96P?@k8Q5W z@y%5^xx6e#HdbYMVL^J`7X0yOmp>kkWT!upz1@Kvjz_S~pm3%{^M>VLsBIBkZ!s>x z0q$#{PM`{ydyJ8*HCP%SiH`I{i&dkc!AB}|z`s+}TxoN9DKVa^*;;zw!M_1K3xt?#NQFCkqSnalYGj7=7XA_shQA+#AZxon3kHmDlCs zYuDt`<#ft)bw6xeQAxt?+P;lC_5Q1_S^kd9den@~6)PrW!b+kR*Y#e0q>c zeWN9k@5%4}(aUoBR3%S+6F_+yaDY|mNH1f3ty7`~Gv~cv#xcpYiM_Qw`X;lNIuQOj z2M`ij$E`x*$Db7UFaPPhjJNVAt3&x~e|s7pJt1=LxMc8UYtIXiZ#u_8fW6@s-F)v@ zoL_p}wR=whrV%e=3FRP4z3oB`a}C;AsAk=FqxWmBu3vEbTfZ0Uc-6H#-PkJTT^36; zS^-KfJ^gUBAYMU5BGz}L3&n;y;FqYlnU0|9l%GoGAaUxEo&Xv&&VS>jL-| zf!?1-3ykE&3^MM|C$CgAs_d+h8eSS`kF2lr~)**JM zE0f5OL8aQ0-=o5^JXZh*`;%9=`Y1SP|4yEo%E4|fKl9JmL>7Up!Zp>04DsTm7wO6l z;9+B4p`L{e4-eN^memA3^UT$Qt9{pYKL3mFxyL=fy~QCMoR)L^V&VaA7SX4SP03Iq zqwZkgb(>|HweVQS+Q{FQSfG0D28B)(1T~@usA1<8a;pQ9I4!%bNei`DL5QnhYjhjx zm+}a-G*P{9GRDwlX97X0K{9c5)kLYP)r@w#N@Q-xdDq~mtRS7$Nr_CTR29Y(r>;`7agsS)V_>W<7CdxKgp#m&Q;m@GfrEmMVwvyE*Iift z{Z~Hyk$;?@y014R8f0cA0(`V<*LpMHuGpZqr;c2EDq@1q?F&{4mBPQvIAf3^$`re<~kCRPKP zCn>ty@>cN9mHk2!@vKwFc+iXCM&@MDijq(KU-_TD5&!Amzv`AG$d_N0c=1v$Rqb7; z6JyrGB>>L|Y`7%wv3DMTYCwLc4F~O^Vu%y;09EGhKVQn7rzHNX&o0LQ{(J8C(|!xZ zSB_Ev|!y*^>FQk4ws=Er40jLk_z0RI8$w?bh?y@KMbmcPrYm<@=PlPc#V62{4d zR^lj%)R?`b?Jq$qm6A6j7Om|RIVkcRmUPW{28SqYFRIB@%5f>>a4OYk7)U)RVep4p zwab{8k+&u9Ey&Wwikv)oQcj%Ol+!2H!?}~k{n?FWfsmuu>rg=#%Q8-?;6|fKJRFW> zI-R<~xG$q2qym+i*3vLkgAFvL9Gp4g4%#WH{{lm#P`FxpJHZ7kIP&=vo&zZz;I~#x zwE8fWAzgg65G3ijm4(Gl;paMCnP2PykqoT@xoHT0kFwVv$kki7cE^3vt2a`pNx zx%B!C*}r~M!ojY(r>SQEo`;ieM_O}T$>&;9v>P?b{ffw8zb)VKraFAjw|l?pog5A(A&emkknGwX?)^+Q7mmp4>f2Cg!K7*O1bmjG#J8_u*559=o%Q zD8E{M;-kU6vghQUqb#bDx4Rj^OU!dM7@E)p!^!m>FHc|1WU&+F{92F`YqdZPrY`|!*N^u6K>cKOduac_FWp%ZZxn7ii@xLues5;U+F^v^=hiaf2mk9FySdN?B zJNLRx1+gG=_>_1F(<-05xGmrD-uwS=SyBG${euaMNh)|ySfxTvk{V070UW=QVR(C8 zV!(*1rkbIhvIn$qqqYF&B(Me~FfhKv>KBU)PGeY%78t>&&!I86PzyL61Dl~nk&8?QK_(;T?s+8k zHjnr)negv}fUoLc7LN^|RSRe=B!w!HD>#9EYRU{mw1t3YIojQ;MGE)Co9_1WOC1^S z52g0G3`Zl`-9C`DwYjjlwgMg(iN18CXc!yGdPKGFik?w-bXzhlHZ>`;H1Z=Q4MtOS z7N*0obXU9X?3<6uU}q@**I)V@F+BTAB8z8SaqMm>IjhCtNv{K4Y~<_ZWD>#S$%-A# zm>_y=w<6unEAmz1Bn$QH^IoQHn2N?f^AEr7e&R=8m&I0$PhZU9D;M*uETi<=wSGrNcat2a7nMA*~9OD}v6gP3v{r2a3@>Bo#lzj8Et0L7r8O2$9 z>^jGWl6OPMx-~0pbeT1Yam?ePKnKMn07yjw)B+UaDz%L>-4t(7t>fFwXk_O}RhgO< z8g!x?8+Sg+bd~M0NvzTV!+!-H3!s6zJJAQP{9pBiH6UW!xQHVA+*W>2Ol3QMwlQt*@SRfUZ z(=r^6z(`$LDXe0E~B3!lqL|*4Qek#QmUX19VS$>=Z56 z?X_gFH!t(^UFr1N(!vpdzfzU)*3Q1abaPu?x_DVGUcMnOUAiJSE?<-3K|jj$039ZF zQ3ls%+_b(mFYWoBw0kYd+65-0Km#;8m;Duv1!iVgDqpfX(y^|ZoT^aDwxU%X*rv$$ z!saDUR;Ob;3$e~Cn&(tx8)ze=@?e`4;B`~vZdMwY?1JszLBSVXsPiz{%KUgwB=%9f z)Z*v+@}ocgTKqeI_0V10i}KZ{GHKg5SAXhsy(zW0|<+#q)CR^qbwr%C`lduf`ZU znfPIldgxsJywv3(utwN1TS^+}@oG1ajNcTw0F=Xk8%^EzNUwiLrju{Dt*w6pL@F*V zEDB<>d~BgG7NIjS$2x%SD8`Lh$k^zys)ManDz((&NjImlo!peKUrTTjx3yM)yoXc( z?4cO4j&puKi{pcd{EOcgce$UtdryYY!In4wO|EDaO;|ku$2|@H?G#R~?)&(q*II;i z?>kz_x%E1>Th!jdc$x$-^b}|$F%rh3%Hg#J^wzxiVYGBG4sK`Sm=JP#r;y!&2pYbH zt{xz2`>mE%bcEC(SSX;OgEO(7dAZr|A_C<>*+D+Fm(wRI`B(qvvh2Q+N%xcrAt@Ty zQM}IRtpiBr270;aAdxd6m=P334bt)9i#z$kYG>#DZ@aMe+V)M_UEx2lph-y!&QLZ@ zp3|@dT-!--U{+KO7)HIRnxZ6Wf$;#fJJHFzM#-gUFB>Z|ii3a&CXfofsb{aDgX)Pn zi|f*Y+LVn(pEX@qgWl@_Im3mTd1*4Wwg z7-?W>cC3q|F)0KQP|b?WC@DiOLStMCE)PG>7t%n{7806TC6NFz~I zEzcB}g~b!c*IxatU)U<=7GhjK1=Xm|c1XUXJEsy+|ZZNr-FfDCRq z=^l-8-vx zb(kPe%GV^5mvfMgIAZ zz8+5W>iEs8l0ExeH;hY(bKMd?c3gZKCWZ!)Iglx?hXt}H(o8gzsB)ZUGPhZV$Id#x zuoz{(FY?R3zaYQ*AD85*k6aKLb%{R(H*~U4NpGc=_DU6f5BHLu*prgKhn#86<)B-H z249Ou4OZaaOUCKK1^c}o&4*#v#LskP#GQONnZg0*ho+sEJJ#x2|78+ zHL*7%H`2J1OJ8Rj_Uy>t7kHj-4 zjse|sr#9B*=*9}E0E@jj>9#RSBSFx?qF`KBv7DBaL0457$K}LLC$*aVLei@0y0EY? z=T;XNT^Hm@82g6c2jg+r+VA_9U%w$QUAZc+y?Rw%eifpGn=bbE@fl-ARcXhq*` z`+ROr+TC8vTP;^$Op0fzoKdw_g5RAUHH6$K=;RqmZkwqE@n_Y9mD$#mh|);PFks#c zY!LOC)+z^~gC9N(qdI9!N7p0_J}q5`%QJJdQm3r~6UOKZ=5vJ4A$G)xO!mEuuEInY zFAsCTschUalK<*|d0qbMpWkPg&NrTwuyft{RxdK7$A~G$u~MCrO>wLPo>`S7=P7Nj zBACeLQvqM>#+iYb9(b`ua59x3yMsDz?Tfpy5Bji==TAK<@4WwUdGOe~)Dy)`B!>N1 zPqv+l{TSl_qNW(6Ma8I1c6bt4K%TK8@nD*QlB5PZuUJIav2eciK#VewtJnXjlX_1! zmX>Kq?P41ODV<|;gvKk4LMdg}U{_3y8&Sc##^Z=l$lcgl@H{fhkR}J0{5xiA21t*K zInMm#%ioOgXTIXy(p-#ZRs~~ydc^QLR5$>-|6BnUO-f_;W^>M^wuHTr%f9$>F4y*3 za_-1f?m1FRw}YrWGr9`mrj7909AM1S<0{e&b&PT`ztZKV@O4> zE({RE!D+F3)N)F#^H;%=6|`i>g5uRF%IUR1Q62Q zrrHo^j}Zcm6K8fRjmISFUj@UACt^`n%4Wx*q6bpLzEbNPt%dlVh-n%KHv9R?A<>$L zlTD%)LE61J$)@A~_O;J{^q8R)d>UREa)64 z-#E%}+sVqkQSST>ClicbL3mYJS)ydyn^xYO<-91yn>cp%kd^19_%xQN4&`weMCmPw zEUxm{Mj&I8`ip{daL6`2yYC_Cu5U^_JY;|bE(jXGQqqU{F{J6Z(-aR+IqcvnnKKqI zER~mNJV0VTjt)l-P}4n+-sASRcH?9^ac_F;yub&T;|$AB*Dl<4G0A1Lp5Qpe<_$bB z$QMYiF6z9J3|4SJYM2=v6_6Dg{B$~!VyPD&e*A>nIh@uX{zv~f+y1TpS;Q}joPIdu z^F3dIP>#bIj0+wi>gq!lYNcvJ`j=_2q@Fsw;%M36;Bt_`=3(r@iAA2PpTdrh(PvTdf5gGIg-vO7b0J@Pm&?iAfhl)%Yr|_f4Xj(~{Fn7RmMPYX^ zbYX5Gy0zsfcb|yy$fCHzk;E4-wcRg&WXb);ZybrYo?CL^uq|FXV0MYL>QJmteP=01 z(XFCym3oN69}nV1Trl(m0aqr}bwyJId<>)W7+9-D2(0Q%+|DycpN)dQ8BJIjBcKlN z&;gLguDU3wOOX2@C9_Kc0$<=&e~p$^fXq7YZ8?Ra(dVR5QoBSg(PAsj;`uegQU0aq`uM?M-dTwQI zLFPLxzEil%6wbv-UAl{xZ^jp|-E@~OUyYZp-gK{Dy&(tJuS<2<7nzdbkJ|>O&rUkM zSj=@@yVsR=8-e#3Cb~4I4|o8Nv+O3 ztKvqD=WN(AoFS{q0sjtv8(ETgle{3QC9YhoTikG^t0OGH@&c4cJfA zddaJ0sn7z?59Oinz7hZ22d}%gy}61HU#J~I;lFiB;?>u4c$2wSTd56Tlq5fP^+{B- zVD$u`4Fnx?jX#Ms!^iVvU#Raok12na@s^0S@s5X7Lb*1#b@HLU=ZuxL-)%le<W^0ehVy;MPO*CeljG>YMWjiuW{XOB)!QQlgBG5y&wzBUul^=}DgjB_(wh&z+yT zFMqWg{@_2X`Rv$KvL)1TfU(S8q@lR05*=xIl7Sqc0hH=C*Z8Smsg1{%c01=D+WheS zM;E_$r$1J61m00Nj><;PkXcc!ib?emD2U)Sx?dA8q&zFkXAp~LMPRa6Qw3FH_I5kR zE&W}k$Jk6PIZT*~83hi>l$c6z+aWlQNvAM;h%`d=1jH~fXH-+7ubJI$6CY~E!X~)X ztSkk?v@WAuPTV8!`ynMu>N?VCkX4NoI9Uy31$zSzCifKO3#5N;l4djH!y{CM=8RFR zXp;#g*xD*zPXn&C(;)@T=u#Nm#Z)xlqN}EE<A-Zd%{^7Lgmr^=^NG}UZW3iH()A@(Nk8pd!-Ab zLaMEK7Z32@M)BV7dCmXB|NZswfpa5wFcJ6VZ)WwaYgyKri_$LON{Viip?M4%rIrR^ ziJ{_5BO?~c`x@E<59%2nR3{H%Vcz-UCnF3)K|c%qf%vanEaVTrv?ibZ^n!fza|<$k zZ5ggpI?~BA@4DmIS&GtGsa>m!(;H7qTshLrT2(itgI|j$b@F6c%^Fj6&RXcv(F16r zjSf`zZ(@5(kXDTskx8W_8q%wFV%j0o3}5FG3HT;gj^GIHUS^rHOms1WAu!5D`z6jh z@VOXf7BkXtK=TXJDo(08)T2=b56Y@PMi#MDA6nx-WZ!Q*dMJ!rf*Xgx&L}=YPC$&{T!9k*Fimgai4y@OVKce9#YWKnQ z2kI6+odTG+jCi@LN=4Tl|F(*#jRvazKnCLJgEr4vtX1T!lD*J~`GBNK}7O!FOQQ0@7$q=*46NvYfb&yy~Ft4zj)Jq|99`o8}F}cmy6#!l(;hxf9<-H zy?wRD>2>iXB*HXSiS^A0SB&Ix%b?6r#yK6d)-{?@d`Rqas4Rewv&1b4m}=79M2G6*L1W7A(SO9FCaL|Vo8C= z#1odj(ljn5193JEqP|uowoO6J=$oF71nWWc*$Ef(W!bvQ|e!TFfwdCl|?HTP-k#%A&BcBrE4uY&jI*P?v##Ug&`m9`vP*5H&9Z!8Z?Wwtl0z+G~l{dC4?3^X6<4WRt|^A<5kY~ ziPKT8TnqARKXFvzTrI^$vUgDcSItuO&8TrWb|3Nr%*2;9f%!%mrZYa6gsx1pcfIAj z+db%$DvDfV7IYZakhjRgO|Z|kVA6VnPJ9+IN*}w#`(!(*=`p<68veeuVce-!P&965 ziODrn!lqOX5+KdhSUGamN769J@HQJ7Hb2+sXPR-(id}^rmYLAZpzY*PY)^qTs_;{Z z%9UcjQ?p!uM61->^7fL+p4y$TJ=5`>1@5K2 zv)O=N3%$-tklwr|Fq5%_dsUNT?DIuA*yEsm?vXc0)>{l!zpo7j4-c#x1E#qC_3T4C zK<{dFvc`M?Sfy2&Ev33vvqgY|qmg8J%N;+x5g)wwjO-sAn3bKGOB)vv-!MmUZBl6# z4KR^jzv0a&Y!wh<#D4aGGx@iAGTyB9+bS$*o5>BQN^jlC-m{kFh_%!d)J;vH&w@Q zsTJ$PF7N2gw_f!B-=DZxfAH~928!4>U-a_Il{|*ryE&kC2%2OwZO}X}4$%4_dE;_o z41K22P{u>5#SJmi5Er|x+;!(GIksBM*<&Kzmc+7@c;nFfFFoA~Pkv=dKK9$I?)9(F zyZQh;GaWO-t0eX&(%p12zc3YP!y?uw^JNAgm2Eg_oheh8Vp_t84f$7x^(b($x|`@? zDibs%j0R(Lo=|W`xjRb9)4&pysVWemhMX8Q@vdiW$D5hwzBU&0s+90S>)R%GQn23$l9bP~P#O zJ@@DTi(B%pJEw7VLEQdC!uGbv>pSAN_c$4(b{anH1&UAwNfKp3lW6!O&5~TtH|@){ zcncB9ee^;}t^qnZBIi6hIV?r`W0CE{Ca<O*2u$yir)%zgE0=7(lyXwZC%zo&Pd*)ezUbxD3N19_*v46!lBA|oEkk5^V6muS z``|-m;aPalKJshhin#Mgh#!BpoL2~b`xJ&=JEvzf)Kw)c1?gWg5@#2-cmJYCVD<^A_G!NE;m=d0hsc`#Gexrg~v$&BIQJicz$kDSIc=JUJ05E)z3-9zYzZqpbvi>F2 z_(|exNSygGnVXA+TC=+}UpZOw(SALYRl}EQ-Fd(OM34}ufOg~LsQ~8a$J*YB)VUoB}r&H7*PNvhgv|5!cuGI1LikA}`H9^0u zEpajucj=0gPdwFgfBfmA@+Y64k9(KfuG;IRARUpSc5XGw!dj5-92KB73Og(+P{s*3 zWeL8-w1<05ttZVr5T7<@H?NMUl*_U@M#Q^<{oFyA$xbwtO0xY_w4MJ9 z$_1krrzVrlhlzLr;+d-t5kMdCY&{gkdIEB|uXYN_GJz=@bc)x84*pl1Pl7tD?~{}e zG%Wb?c0#GiGjIDKS>cO_^3bb7kLwT~jQIMRU#Vj=t@3C~&)={1_-YFUQ#;!E>SbEKzRrFD!fCE4DFFe-%6 z`wnjn-;@dLymt*XXgpN4fmCw*=430>W%_0&ws z2Y61ZN~BtqXo-yr8NMFpbpFHN1PxmyS>6>_9FfDlkH~KSY3XI1u)GMR>>N%c^?D>t z7b|b5)LOhK4%6|}02WvfXf|;mpy8R9ld1dW^D+L~*Msbg3wM59;^K16@RWubV>UfZ z@no~8zM&LIQvG5#wbHzmE`whOtAgm{+>z)$^7Xd7aHA!gig+P6#g0|<3Yy*~o8|qCnWY&Kr;f`0UV1nxUbTxfsfNrnR9zP}J2vH*rD?Tt z(C`9ORLV_iHzvmnTpfxQW^Mo9U3v0T|EqL1qbzU0_|Bd))36D>K-kIiUCpL&|j zrc+E4kH`CfLZaOFpNSMJPR83xx=&A&;SCw(hs{u1t)%oJS{k59LzDGM6gYP-9dpuy zLpiXrL||z=WAxO`!RW={@n*m~}dCda!RfllY@GLK>~Ww@$@iVFMyfGS5=Z zUQh7#c&w>=p^nqZIAp6axFcjH?T;+LkVPb@Mz#7&Lrh#`+CZmb8d-Lv*C(g=JJ&Hg54}R3$ z{OC`Cu_m(qK$L||C)HTfCUD;59VS&8F`1KM&7k31!BSD>x~>IF1vf)fRD|Fy?Kmfg zoL`B|d->1)-ZlB3{`w6$b?Pu)-Er>O*D~4LLO~Z|r--hLQ5p9#!W%SwG`W7OFTUgS zNCTbWOP|ngk&^Bg*b*8$QnUqmhYaLiU*`YBg*NYGIXsZ~)TL$jdtb`s_dl^BFMeT7 z%AHmv(;Qc_h~O^|#VwBG{7P``xoLE*X5=kX6rp1h{v3>m;SC2e771FIfP#UY6naW2 zvEpxbzR||PY>6~in4=waZ9s9T{gc9P=AlK(9tj^b#?v&ICa1WWsHg=XxnwEPn${yW z>(ogl357rjYCKEQX4v(qdYcHjd1h%*${P?X1D7ucz-()Hvl;W$Mn8!^kchvy6OjPU z{7oAzs%a0YA$De|Sx+()$FfzELdEKsXu(FpL)wW{ygEWv2@^zea;xa$bmW}uwPd*G zL`H3M27}^x66a42-YZ)B^ z(atj&nBK|irqKA1*jHk~PyJa+t!DOP%BQzLKA46(aqU90Me$gM377FM}JVfTW}(WE|#yxFueq_fJEt1yum0x%6;hJrR^_|Qr+`f!dQ$CH%jg5 z9PC-W#dzZo2WRFdV%->_sD%A#YKqY$SY)vFj_EQ6^_Qb6TIJZNr&ahm%VW9!VYlDk zm3AwObJ$i`b6JZ}ZU|%N3;If$T8gKiW^c9IB5{HyOAdFY@r$pH-5)()%hkTbjb(AC z7SY=}-R3qoQj#UH32kAlz+jxs__=^1Gzv6Z#!!Hs?R zJGwvf&a+Fm_78_Cc0{#}$xs4B&LlE0H$JsG(oacbQL}jXneA1uSZnr!UFH0COqMZ| zFoiZWj@^V8R*EW8m!8**>qh0PO>nKtojHZ1r(z-r>p6)yk_2hbSdTjsqH2mxvrf1^ zQWO|7hV1t>{&7y+L+}3~o6q9FYa);B|HofbA|JT>=|a>125c0ld8`7pg{XC?sqOIh z?5@y{%%{`*dvt;@zO*D^D*!D-m)#XJmbnQPJ+N#u(uo6mgtJL2YD zL0V=+OWS2ri6lFb6w{u*UgMyYGE#Wy8-iUU<=#uHCvw*ZMR4>fpH5#<ZjDocm=W8rH&y>#hgJD_eb@SZ0O5kIs`qyp0V1gH=q zt>7?@&s-s9Cx@?Bgx$&J@l82-U&p=r{Pp-dfBWyc>X~0A&?1`;I5)S-7_11-vJ$op z{E@2GRPL7nzA9uO{KN;ttZA#r1MDwSGDQ>!n{Tz8OxhyFIK1(%Zu=kmyU)wx_hH5; z@!5+l|I+0;mXj#+y&#LyE5AqoQm3hNqD z1!SHgUsYVM9c5!R${oi<))s+BszLbnK-`yKDB`F7a7jM(nH7KW)ALdd7A3llH6$>% zjiFeX`tHUEr0-bFk1=k=HSQ5(2H&<&qJaa{Wg#Zy*nr(n_jtz7D|0V{R?x?oYm1^e zt_j8G7?=Op)ca|Ale){~#|?5d?KCu8)q}vT-(OESO^h^~L;mVCMoElqvpY;aNorN6 zTmt1B8H&R=Hzn??Z5FW>PDYVxY6T-Tr;aJE+G(2u87(FfQbN+Wb@tp^dN~mH1R0Rr zJicb+slq76gX)JIV93*_6Ys`1dotP2L+oSqE0tNFQth%l$er)L72orrUH9&HRC4c` zu^gQb((xh(6A{EO-#id^{iev_A#p<9DM<9d-({zyOmJ|oNnK91S9XbTmr)OH^=OhW zCH%owK6!AUUV`I=yJJ*|AC08GF%&mI40J77-j;Y~DR-xjoRBB(`7fjkb96Z>ak>|$ zqZeE)hoJ>TKU>0jbTE}sa6%R7kgGzSqikDZ6iJz5fdkk@D4GaL*<@ih(g9JF8D=z2 z!Zikuo02}@fO_$A)zV$fN3}yE0WVoUDSwn3G0&re0sIc{w^C+kZg{KnT8{LVn)Y7g`o9DKUrQc8`QtB_5{ z2AAbQg>oqgCRyLADF7CbT9=!aO+~ks?Wn44NWucVT-5js)a7a#^ZI9rNCun@DM)w;(*a1`#z*w5Pzr$ifYpzcSO>?CfNVeISj>Tc)Jx1Rb(b6NFc z$=!=|h!nMM&L>)Xn3r5kCR=Lbgzu|$y}2-0PL0wuG4Iif3mt#j@2Y^+yOYMioCqY2 zmF*l&P*Kio!?80_L`nfpVNwjx&;w2By0gMGjd(SeC7FR6<1i_2Ss+?!gjJzN>)nu%sOIMX`+56vSf>fUv!NsN_O7^Px**V*{cLJ<&O` z&e@ZbHp!pOyxF=dym8JqthG0X5EY*~nM^9Tc;`Lw=9fQpYk1|wRd?*}SQnj40x%Sw z#-;~0T$b4)>1QR2XLA5-V8z52fmJ;0OjblLd{Ad@qkZjvQ8m zcIvZ?(l8N@h%qy(rkVuYU=|iAm;OPrv;)lF?>p&srMU0m*j}8M@^I*Utjz8hLB?jX z584L~J!&zSkgJP>#r_lp6xS)`{TN|mVu?1gKS2v9r|!PPJ$(03KN*ju9F-D^%;IuY zB#rMe z8xj&^hMA)EDT0(NVFD67L38h7HO-vdLX+AiqOf}Rp8ViHy6FGj_wN7`lj}Po&%EGd z7in=t7M5CIITzHoYpAJX_HWXdvK`W z2rsQpDZOr#%?*(g%M#}2MS#v=iEQn<@Z81Bec>yM08>D$zx8K6x12rwxkcB%+7+n~ zq6It=)kiMbTv=z!BUda}t~U>Rry^8->|+hz79(TV(O0ZePFOEe zjC6Pp1V=5{57c%JDPdE<#*}-_b{7tBaG*FSw}Uv@C9w=cWl}kKvr#jL`4-0|$&-R1 zY3U$UUqrJ3O@zT@K8@;~!ySAXz^InQ!!64Ti@aCu4%65U`RatM>(f%BtLjEgOCcOA*))RB{NeC^J-xqimA z@0GmV2;2imru5 z2y8x{MJgJjAGqCFCW=&YDpq-lj4}^5CF(ReQcBOFz+cmq0ID5Xa`LNRZM$Ka%VGyl z3g80W?`)!rlS9RI$pk^Cu+&q+HGoAXmNi2h6HbG*J<|ouvU-4msl$jWA#l9b;+9r| ztgS`)^+z+X_U5UD zSKe^G=8Cn3>B4mUCi!;degv{vS$VUs^yJ44I^&mO^7ABYa5WbvDmS^`+KLDXd%V5y%o| z6_-Sz%#Z_pgl3p&1Y;yY_+hiLPOxH%$4qY0+9l(VqYA|av|wM9A;`+P^S#%8?>BE& z!{MA9y_21RW~rnlZEk@!rq@fgA?{)4S!|o8eK%MGKFZ*hNOwcz{JVo>9WT>;6^|++ zZr*d;h%-VU%LTonbwydhhtIUMDbibl03*$>&GUm_6y=s#o|vqWmx+i#?F!}KgO9}S z(u$i72mFqxqHqlZ+Xk7Rq1lZdmHiEg`p{!y0n+lfW*UG}2Q6QUjI2SKubw_8k3M`x z+VC)f0ul7B78!N?P8I~g#s^=IbSquFYIdMpP7SHlU`GXY*-|&)GyTSoG5qT8a+9}O~mkV)xc989IPP{j3zk4SH|@Xvkz+3@+l^#fAf{F>v)b@M*(5`|7_=3gW&WyNIBm_BbM$YF)w=^Rv zKp+XJMUeN1MwxpuujA^XcPoo7Y_52}v`|Zz;|7u8pomYtp1D^q_TumV{(}43=jY_w z^Sw~*FZ(DU*kgrE>gXp~wp7OMLU8$f2*m=k8)*VjS4?qZlzEN0l|nqGxW*|8jU}SX zi8XNEog`6o+oofWG8_0$QEH(sG@*hi?NU&l9z1Mhlj!O;wK#oy^k^{rpUO*~I?A9- zO_LHym6*iQqP=5U^qS5)Re!95^gK&>>*VI}q$jZ&f#e8k2eOI}P=;8K3O5``sP?)p z4w#?~o~HF-wYbhiRxcdNTi!hkf8qPK{G)e`<@kKSXr12-W6PaA@2~E_Y7)UP)?^p3 zmViH*#;(9lflVYhuhx@Ucdv?MO>tHWP#cfj&Yi}&T97=Kdx!Lje9KAoD*?6NYFFqK&Ka)9sD~jyKSZ%qw-h~g4^anREFAvLe7oa#| zAEWa@R?I%H-&fjUQd! zmZxGN+%z;Yn-wE)Yn-VmrwIlEQk{$9zv(BVYvH%Pe9_kh9V{}4mT;7e%FOjg=w2DK z$=r?EJb zlFXA(fn6d#VSPFHU-{C!3~Mhd9kg2JXn}%EfoLrN6tW{Gs5vrvkFYSX!pPhd(+$pn zC}-CAtLY!3D7UE^-ds8LZuLlv3(MmE{r|BT55HBo>`W=Xi%L%&PgvwoR5vTGnmlHm zUlC5$HDSpduplYg_3+wZ)+(y$``&h8`P%Mi)XpYK?Q(RDR312um-LL#KqnOtWEQWU zj2~IlS$axxElcAxE*=s>n^I5hPMSPt-9s!UQ(0*IIW=@o9&w<8Xx0b^L{v+mMF&}w z&Yuk+rUN9!Y!qlv;e~drS^%bi2je~4zq0SmQXvIE=!KyL;S4!+kA2{;n`$IYS*=KG zqQI2@sS@#&tTmerC-Fjq<6C{Hhb$I>Z8L)i_0L*&ZhwabhMr*!`7bFxw5T(kfYHme zlTl7YY4e3T_p*HS_}N!J@(ZuHycOyr=S8ZKiR-O^Rz|i}!O3bFP*Vk5*|>X&0c>ms zO0_{&-ik7J#K|4sA<~+wWxS&Sr2NS!=o0Q~A#f}mc%3x$q>fO5&~1t=EW^UY!u~8| zC$Y)XNLWAX?LH|YqeESEcRwKQwIkvX*91q$+qxIk39I!deE5Kgz~Bs&Kx|;92~-Wpm9@h30a9XbXx^}mbu_GZJ8PrLHRfwhxTG8+kD_y z%#Zr`@+V$#fAA0fyWn2_2&Ao1HqX0!af8561Zk|Cz=0LBUsAEPf=V$Ww!hV>F){m% z#Az;zxjMdbur-$8_IfUkc?7zJGl%hS{MhU6zx}f}Vyhj)D>uZybWz-4-%Hl=b>>6X z%7SEd9uN@AV-a-&xx$UBhZ4NZ_$Wz9EC8DIB=8-a@#G4#$~Bio5f7U+_=u64gQZmG z(k&|3rnr@5C!4FmEiX#!wp8FasYG`BPM&?S7e4;wj{m*iJ|b71U5@?hg~$}fzHQb* zd@!9D^SRRbwXw|2)zQySoQKxGMyn4TAPd#B&N2Xr98_6f)Fcn<(r&4{7!^Ah;cF_M zM&STI## z1~@r#4cj`O0W8Dves|Vr-1_qVO)3k~tvY2SbtJMB)f0*;R1M&dbVDFWhtT zZn^jTdwi$$7ICtKl@dkvT@2U6O}{B+3F{76_Nd|#gF=Zz7vf%&xZ*M-GO$);UI$Nb zxPoh4*RqyY%?o*bb9z8`XilNhPX)Y9VZHaZB&HbT57dA^!g-l{Le=Od3{kQ#3eeRm9E^!V>iXP~6Sce_DQG`$iOm$7v z2lg|W06v1-sh?R5rnyrAyGD>vIGn*ZrI&btRnKfj6iOgLAWH)8PZRBDsR8OQg-^;1 zd-#uoR-H-MoDcp#Jh{k5YoT4yR$BW+wJXwIM(GSqA7oCc6iHBIqyiKkY!;!1`l_j>FYkWGxi>^tePuAIv%&)pv;|LQ_AG)_^+(B^w_#oI+Qv#F zN6koN$yrxvKuOJdn;=0woM*z-w9hU2U0YHcaq{`4mQ?TCl-R&x*#IlmBqUvcUFA)3 zmYyM6X(vu!vZOTvh^=!)loMLlOe}2JXay<#@L(+b{vW>0TI4p6$yBZ6z}bo*e}%S= zO;MTb`uOt63`m4QPB@hJ?Z5FvklRhyYBS%&m(ou0!--H1ec~ zFad=gfu_c#R8etYEpVJnhnP`{J99yLCr*Vp9(y=zQI|(M9?jlSm%Ivg?$8vfu?+KR zYjsaWOM~yhtI{;{IQZ%))etw2$mzRI$(tTI!{GIuy*|GVxpi2!F8T?hjZ8Sh3p45a zz?lKO&zGxLy@{uwZyXLrelVO!tCh)#&9&HRw;3~KioxW7p&ADK%p4lST4Y$eSPnyb zVZj}J^n_cVm-@*sznXpaAN&tee(M+2n_=yIl$8zm-MVTr)_68{_sXPKXPb08vU^Cu zG&9$0?ZPOSm8{I9ZUyO0eGv*N_gyVFQEF8J#{1j<^0oMP{_YKV=YvC1Gro0E>Q^tf zd|3zAX+r=9wUv@C31YC?W;P975w&eKLti3P9wT&wpZX$4haQ=?O{+{BtEI*ot%$`I zsz8cyFfguRcB~t*A8|6*ilH|r{`iuLFBX?1c14IfAQST9-hBPpr@H=6zS4GI{oI^f z`o^-1w%WCn;I-h{wDCSAwkFbAoJNdo+lwJ~@+nE1?4Q}cga~O2n=%@T!^$hqXa~WF zDL};9{wXh@=1L(>6Ec@0bdER@k7}bTqxjM-z)%d9JurbwgE{V6O#ean)1H&FcM?MI zI2a5~P7NM7o+s)J=qI~l7seeKALcUM_cGaONj(N=hqq8s_Wv&xy+lN>gMUMD`AWc!}&EN;p75+C;x3PaK@TEoP-B$6n@jRJfB<93!l| z4fRh!HXwDR2w7el#& z+?ZNyZtnOCi6o`iDmNHQ96DL*V5qq}H7i=#%v#;?+ULW;?&n+;LprSlLhaFyql8p- z8W|P3aXB0z_GSE)5(14nR){O;!y7Tg?p;~t>iF+|=O^U)Sls3!8jAF!u~6{KkPM?d zi5lZuh`M+OLn*B^mx#RM2)Y5#S|jbNHd|wFb?C?oKnqyIZEW;y2AfSBIi>OBY0($V_c*d~UfyUL8ks9@EIqC2&BJBt4PX18%=rzhqdkZQ!PdTHgeOZJj znLeq8B(}!rt2&d#)hH{SQvSowt%bvva>-AXboz=@{&pq(B@ea43Qx9mR#9*QZiS3` zB&iLM#H<>>vRB;y_~uWZ*qHmT_xfWNh@OQpn>S0?)D#v?yUAdj-l#)8dD@1k!O|qb zfk3zk@TW#o>F!BTp=g;-P1HBZ0(DK)X*M%TL$Q2rD7|&z8ltC;Oh$hNr`&GMX7@xvnVajEIsj9ra)^nWVZ^ zgK{;if*S&#nE)H2V8csOwI*Q%HGdV0FP%bawaSDwplm4wFyn~FEPyTL*_1k3oLd#k zrXD0sMT4fsx8vbgma=g4lnl17|HS^6e(!IW%cm!CZmDg~d%Carf6>Jc{u;)kqyM5o zgBm$u$-T4ZLx=fc?w(9aD?&MsZRNMdsIn zEFJYyjAHOS|NYPW{-=Mc&f*}eTkGP^Js5qS zOFbD!DJPanX<8o@t|;j`wM9CfvtrMP5NejF=Kyw63zO~I#eVNrJ0wz9wU zqp!)|`Rlv&*|p$r9f&-C$;GW*55Y3!8LgrY8Iz=wYMrMZyz@Avq@GT5Ucc1@yFMjb$i|%WG+zmILS#YDnc9ar782?jv$;Lr?l>>0yS`DsfySfFt z0u0R|qlNSiEd*mrH8xXY=vniFX+~lvLVtPv=7ir_!P7C{25)q5z}#9H->e5%CTp9Z zgMT$Lbva~p3}3@5z;09m zxTJWgUn;9S+WX^yOaa9}k_o|}<}2#kq;aAtVFapMSHoOs?0kDkq;)jzUH_u{=-2;5 zzHzk<_nb@#r7%S29MmXHXfT>2u!cNO<+nLQ@Ial7<%~)&Gtjr9+n6-!XxQYhke;F1 zM*b{UgZYf8LC)MfrY11gnu_nXMHYKOe&H+gNdA>xn;TnQcGNZ8SZ*wT)D<=fC(|fR znLvyHv_wGFC#W&J`Dn8$rSonG1&_g{^*YYAqWigjzb1oAQL+;x#aeQXx*yP9R3Y>k ze;ooLD`wOxMFA5YSy0;t7h6R!9bDdSt*v%%zWt47k6zo}VQK=OZbG%a;Kr} z#;$?=04hrOT+)PG%SUCc+;-7BCxcy)Vov0)cZzh5L>V18sex2jC7TMgW_+6BH88T8 zcbJw8vJ&B@2f{K1f-*n&QMW^FtHUo5s^PsAB}7*~hXBt+|$8y>O&nKU!ort{ljdKl=;v>d*a;p)=fy z<7~zI(|5brX~#I7>ReePvv7^742g3F+c3&^)L9J{BpJzg_Qsdu4)RgDG3Kq@yJ?8! zjgClv&Slb(=(ptT+qdNZ{{Ola{_NZL{9;ey;XvH;S46H}V|^oST%H(06%0^h+lm`W zyL0sg!*vT2MPe+8~}!eKGGsYq9pdUJy?&Svvqx!eNpM%8oe&tHe=vyoQ^ToTQr6WJt$b zN;7J>viP(}zm}q3Kk6H>exDbc)?tWcu?q?rj&Vyu0izC&sw^~mCNgGFMX(GwWK2xo9KgF!|n(8 zp=md@D^@&{0}xIG2;}M55o8GbZ+JaI_r9^twn={eKP9kDN2Jj8-gWV#Oej})i5u=vHY!3K!_5qAS-d@tWY;hIih`3}#B!MBpXPP7#HHAx##k z{(Ox-F&le}52M|jTH~{Fr|U8wG*HD#&fIx2d+v`u``Z4EE1Pch4vFn9V!kZw6a`U2 z*TE05%9A$R=AtZ(Pm*#dZ5PuiU z?3665HlH=PH$d{LTEPQ?7$23y4O`_&wwm6xEK;My+SEt=1 z|C{X)!Usqd(7a&Ip4N{oyVK{EW$&O0pZPcc+Q0bo|5W7QVvwREvVMmXSe{g+&Ne)l zyeZ(>c30|ZNZ3%&DDfN`_ec`HO*MqiQrJ$%Yu~A(>;U)7rCx~g*q_^zfAs&nE^mGi zF*f4&4_$oWwai_*n#ItL(#?<-0CKI;=ztfgD+c}7Xurxwk~r12x0MO1>i?8UL$JfV ztWhYyhQioIQiI{dHPaZ8>v+f-vUHGe@=b+??J;Z-<$K9u*U83`m(8^rOF?>SV9UKa zno7L6m$_#ywdD(6Ys>F_Za%*L%|*9+xhJs?Uqv%T!+$X8Zv`pVYUJ5UXE91qjF{C) z;HB+kig$9Lew0**<)xlIm6rnW7rx@SrXg>+n@c^w7imY3eHt9B7)p1elvDRitx|#kbr$@@J0MGT+tkHR$2Tha#_Ui`?3wIlT-3c3XYiBClVZ@6f)3+%?(^;>ck? zq#2$(F|6d|j>lvsafR)y%Z(pz!hND~{C8B#s*`1+{t$8Xh5&}h&vY=5xYhR#UcH?{ zWPMe_;};(E51#y9>CSzZgs>PhKXMW;g*dq$L-m>w2Q6{{x@1$qf`S<8mLgu7I%_#U z+D)N*QH^3{auv*tnN6Y!8A^Z=&86`&;g!zf)5Hx+Ih{AM0hIgTtqAzwni| ztj`%_N#E@>hBJb~tXQBAk+K|;7{E?<U@5G)<>@xS@00$kbio z4#JE&nF^cw*bd8PjM|I|wKigMg&7g2x<>0I)1I2`5QJxzFMGPbr5R2F>Zi7|n{Kq+$k5s{-0 ziIfA8atN%Yar_~*nE;SI6u2?M+X%=Z;1jUf4Un@?L2XUawV=@<%FI+ngH~mFWmu(L zN9pf5S>6zL=Y5hFMU=_J5wRO1A2T8h!N7GMf-1@9Y^tSQp+NviEa+==7^?4J0uKB< z5d65k?_@NR-ib|l;H`JbnWZHej>oZoICP9$0>Fvh6qN#UI$_*fhB%Ft>>mu=&i1~X zJat6wzvGDXN0V4rG=|miZL4M>(*;tL{M#rEWjE3|HE0u%5>1klnJTf$mlI7^I(BAF ziqnhEk3~N7AO9d;`d5E7%GMPsHDv9MDD%t6pVE9?Di#vlYh+FZRqXv}du`Du8l}+` zbl7pYm}ofUD0l>XJ&93X@94+OrcxXm#&>^T-~HeZ?74S6G?jU&!>fDFzkD&1n@E_e zqvUyv?H1#p*sI7?bxFKCl{y`B#zQ3#xRJtJABziDr2rZ;qv7SaIV}!Xm4-N%nbSzW zR@B}EMu~XY8HTr_CZ49y$h<43wUjlov~`w{7ZUO;`o(UHb3HGs^FdCmitBX9EsGN` z0%F0fZHZsG+;&fXJ$FxjVO3uGQa5g0UUXr%qos@M*kBT9u=g?t=&Qz7iCJ51aN*$` zMpLN{V95fIse@7sc?&w#>P-B?`Y_({#L&OvtpoY?ca`xi_Yd51CjgwL1H@=7apzFn z>sum+1Cc(8C8$h+mgb}cVM)ZCDg(30;(6F0OctD`hcA?{NkN)o!e+!62}MgMMP?~w zMYskRVbv&tp#3lIV)`Km??=;Gw)UXGiIFxYH0%^PwvxFAkDr$F=RPQF3-1XcJs;ze zI5&_`K3@kwD9V?0E{Bk&hq4!G!#P?5i(yvmi!;;~ax};QQyw@WPgTH^;0_iaZo3Lv zU+sL2?@3WA`>rY?w6~7KSWj-sXmHuNd{KIH_r$Dy5)i)xftzv*-Qk@7j&6+iQv_wo18kHF%1~ILft_L}^Lb4No>%fZgVi zpf{XZ1E?F9)!50sL&LFW2Hn7^@qfc_knp9)J8~;sk)25{zxgL!Ikt%XXGsTY&aJ-p zb_#?50~sxCEH9K*CW}RN#KrHSRk%j=nU|AyZZh?;@WI`EcO_S@T)f8K`qZx|7^iDY8uShkY%qLiWN;bLCabGS)DB#yv%tL`TD%8QiiVuY^150 z0b81^G80r-&W17L6C|&9r(PL4iEIu~%V5<5Bk2XxurNiC+8u9MdxT=uV6Rc&az36~ zVXLnalB>k@WE*X^CFv5=zhIRnuLeyZH+ujZIos?dDL@DZo5I;>J*LFcA_4izO5n0_ zhqkk7m^U*rHf*hN0O3`wqZUO8FxJ-&(OM}LLjV>Ae?$4!R{tmui>l1-$+OF^f8xV8 zs{O4joV=F-M*74OYL-fBRE!=_fEGWL-Woowi$UYLI0;L{K6H$g$n?<3=G{?_KZcgh zN$4l0C3)-(Oh-8`H9bx?&S-6nLMpC%UY-?Id*2F!hnI~?uBC176n?!$)T6_ zT=W<2b1`p;ANB>lbK2^&I#R9$zk)7%gaOj6-y9NA^6A>9SWx>Obn>Bgyu1M3Pb*g= zEHX@G`HqwF@MCw$#!|QLACCNJh;eESCITN%2@j>j~r{6(upyjrLKikajV=n3Mq8tm2xr&5c85ODua@qggP3pH?s2ya%HFVA;e zSY3+#*jfk+OXBBnz>D~P<>J;L$_tm;^1_RGc;>lz|E(A27HLM!k(vhilv}ZS zC|vBYf{HS%LOkeG2^)~}I~oO9UzB+F`huKZJ16JPe9*0~yd{d9s72a&lzyngvp%n` zNj2?@_roB*E8exSsTKHxoHi?+lz@LBgC@_S4zVsYNR#GvnskecNt<%w>YlW!+7rR3 z>frJKbu+Y)Njs_jgbbDEVpO(KUCE@r>BocX$i`dGQ(+b(M_>#(HWk#9Wr zY5DLswm{E`$5%v_=JljyMzzK2@VHl{MG`X5YTHcE_^YR8VhLBJL}zd3F^-{@AaKII ziRBR~)0~I}@&XtLO&=P*808Xj|3cW8HlzBiunRLGVv)m4fXKF6ofCO=r-*;>Lf0K% z)KGikhZ&tO)v?=#XqGsuK6s5U&`gcV0+cEZMJ0*Y`8t*(ahzX8mXCFJsEmAh`|W`1^qA+&&&P zvMTQ}+xQv?*uV&y_+WYWnhR@jfU4zIW|Wn0#CGhd%{seekYV4K(-QkxI&U#BP_Gl- zkHirYf~YJkZes)P+~e>6;bz)28>8x5NmXIpm;>u0ZR%A+%hW_k>kR&aRHSJXi3Q9m zK_n?uc~M)Wi3v-rzG~+cF~h9Q~Fw_b&$;qcdWhi zJHK|V8jO87elM*wE!oySX(ArMaLZ<#Y?T`8X7jGIo-2(*jl;;qtMR_b>RloyAJ<4P zjAOO(w@3%dW7H-AnX{{BMOvL8VVcrLni;wc)tW-Sxk-4`SrM7CVKhL}UQ~^7t4M1; z`n&F?A43=p6b4Yc2t|6CT?=|f4r8TcB+0^!6_jOb>LO7oyqfx}c@!61;aoMEfE>o{ zd-U!z^3Z)}>&{%uSA(&eloflwo#7tPmSy|uvP^6#6(T5u*HB|ZCS*`I%m`Pz?S2`uPVV-1r{UGtN76ZaI@>tE z9EO)(ciX@7FJ1Yme;egsm!1H!dZ)<3igphbxOQpHJyniw6KN;hoZTL zJR6EjHWr$TiZV>HR}Xv;ph8siRwXt;;+3!=(;0?hbt==cTE->|JgC+C zC{1s{vIffap3^gYHXY66b-NQ>r&q_5MDL6u&o;cw<}KtzCGB z!N~`ZCf-dRTY2U3!cb=_ZWIMc+SnAXVGd=D=YmFgsVF1aNibgcDU#7IRL2ke(_lJ=07bR-K$Y`;5<)qa!T5#?lh<9*J14#Qw?^@E&ec0H z)+3gS8Dd75iKg;6C89Bop6X7nK+t6PT^O+jy(Rf=ob>?RXQ2&7X>`8bbs<|5=O$7f zz7U^$_G|9rFKo-O5;?gdvfTCL`V)tz&P=__QW|dsc@7O)3{BzvLPtD}BgXm$szoiG zk{j{qr>vkm6BupOXk?2AroruJ0x;Fw`ttm+ z@8zpkTJGzw=W=uo{7b+Sw1UA_M28SVEFlC@^f*zkxd6c~fqS1C?X$!%4-lO}MJY#F zTwE{R>0?oT=lAC2>EE6gnXhAU1n+>kd&b?$q|SkeGGUC*M!^*2MyaW?nkCZ^f%||D z1akmi_@W-ZbfZ`~w|w~>_n$buwYP2XTT0L{9yM~vd zf_kMy^U%`&o{Bt^imF&diDITpR(d^^v^J48BVu|3HJPwUSD<}9Goo$Otk;9Nq&0>o ziPC03RTG0~hlPe7XzY9XXGt{7@v7y=;rkiRqas_|p2ik)kALuo74$Kk4(HCd`Nt8y zZmiaIb<9Yc`Y?E zYiUSa^@F)Q@Su+LgVIrk#$&s_CF1+;7-*~R-@7HqXp*+@;q)@jQ3mo0{qSODV z7l4&p#zW(?1%W3yE^}_F2AAUlk%dztXWtx20xI`--YFTtz5rT5e5r*+C-ZBF4qzHm z(vl~dYBPFGt2W7Z^s^cNlncQuhiqJkU5BD>>42{zbbL$3GQK2MYWG?B&+YzHIO8 z%Ds0Vmy??taX213PB$5f$BqXWD>?TT+u1m&t5=kRnqDgg1D4bW&*lhC-bceaFgqNT z&4E%oaJjtr+%>r>Q;zAJuI9)GX6?fyB_`QB6G@vb_v@)!4+{Vb|;g4jOtEy0v4YkxV z`y>;u6Pls(14cPm{?rrLHJ|)46s=9ywhAUF8DhjXA2N1bk+^rdR_WhhCixWp=Uh#y z0Jo_=_IzCim%+CfygQ5;EBLo!R;-~evFJ!x>`6A?CT$ZGBS3?(Uy0kkC9>D|GVbRR zbNC~w$$Md95dL?(I;3vnfhvg0z{GQ7351PBP@pD8WiyQ60*2yp)cKC(F6rEb3G9KH zuWHUm*Gf)Ti5IatSE3BIZ4sdqRlYYyx|-g=z-OJNVKfSPZk)s*Q|S*bx$)>??6lUU z-Mv?OJt%E~p+d<48zd^O!G=`{xq)*DJt{Sa6H5#UK)wpEc8L3*($)`Ro6u)S?S&{*ER9X+Oe+nBI7Hm?=;8r_M zKL1KjUfXf9G7oAIE^??ctq;@xU%B8=kZR4Y-#8^-0uP`_!dO7KB5UVRo~^A{va%@h z^S`(jZhf)vVY8Cfaz(dg3WgcShMxhMqw;zocV>i(8n97bhxswaux0|qsyX?d7DW+9 zFWqp9Yl~a&c+2^X!-H+wRS~+;Y19lfqOp+@6!|tN+)x$_hh1!!&E=lFN1x)XW>zWb zOiMzDB&a|OK?Ktpa}=Mch%)u8ePQK3HZh`2_pF^E|9KknB?M+R22K1o?mu&}P`{WN z!%G8tYRL$WrLYFWZSAwC;w>S=Ds@**AHgm*lPKsu@FQH+YHVS@Ao1sJoA9N>jIYri zYT_6uP}JC6nCr6ISny%9kDuxDL2_m;9-p@sUnvr`AqcWrTr$(jRQTZ(KbpWlH!e zqbgFtW%6Ab19Py2=yj24U!*wVA z!?%%~mV9C8&b_H0|Ki`=bARRi{kYk~dKP!}R#v`ptY{6>?B|z zWsc(t$0>V8cVYse?TTym{!E_Fng$=7#SardH02?X+s;G9G2KZ^yu@@-+g?_LjQQdY zQbSSFf*S8h{61u*z(A;;>KHbC2%NE1AS#GiocaN3GtQEQ*{|?`L*a&E1b%x;Nx~Ve zx@9A+P@Y6nXZ2YmQv@FkjuxmEW~drH)O0dnY$PI)mLfr)6?IMG6|M7Fy+ZW}qxB*g zpDc5NgPHHnfs6f7biEwWO&xdF@w?*r6Yq7)OK*tf^ewK{f??f_TB_$WsV+;9LmvM* zvJI*}az`b&<=VSN^`xCKgkVmK4cG{FcrRIEgYw*``atYIOi86*uO@NfW$L)ekZxdA zw5>LxII|m&;-zT}^rmHNprx1PXoA%_D@DRIMlfo_BnxpA4-a2)qjDI_=|NcN%x9h6 zh1l($6W=}|q3*dD_r%wSfl(;*y~QS?f(H?fs&#UZ!sFkfcv}drID$&V*VQ+|_Kk1) zCtrD4zVPZ;4xu?~OTD_9`Sl(Of{O4P5y0eUPkOGFH?+i1U26lr>#0g^oG0{W(`i&L znkdH;KXfuEi@pE&w^}mS4s!QqkY0fiXpFE1npWOT;d~8FH;)C~j~-<+g%zk`Sx_im zfwoIU9|=R##0wW(;e6=!#DDagJsDRL=aHF;N-T%DUg?}5dsb0SMth}_5~?UH29>;6 z0IIcah?XdG`pq3bR>}Uz%dh_Ql8i5Bk{ypBb~HN060!77&`=B9w@^qU)fMdoeGbTK zHkyJ?N}-t7BDo5&?zURK|H2K|TJDU#^PLYYZr{3DVO=TzOAqZd5>_K9^@D4&=Jg(E z)T-9QHv`&?S->d{$V`1r%xE@`sbJSAJ%Uy#A;Q8+O(56AmoipvW^+P>&RAIb^Kkg6 zKb?vrlzi5B*5OZ*wy$j?l6PODH<(fC)nXQ`F!RncF$Jf`(Xw3C zgDk;c3GPc)Tr*x8A9}ja3}w?VZ+V&O9chsk3MK0pH_bXyg=)~K*5&p>)N4giz1e-3 zhN2p&VG>=lHvu%03c-ekW*L6`J?h@!U~@eUl`D#FSUtY}oiF~@FMT5TY#KK1KtZQ( ze>Oa6I_zffj<7jGLby&zF*PkN+bh%fBaeW_mQF^8QL?Vcskb^=Jf;d*I{k8W;8)ht zX=Tz|63Kgts;Trw*+r~OZ&QXOSW;0klMnHPX~-8G`*JbbiiPhQ{_WX&Y&vV-OD?*AZ+r(R57y>g3y>nlqEL(VLE#R1$5Nu?S74^-pvBjvGbC zRY>ZqR8-2;_(gV&KzBj_n!Ptx4HV=(kd=My&)nOr5-&MN0Y1KeJAD-s*TKhSRc80 z<+jlo_CSD4`8dg9-jyutvZR7V5Rn$Hzl_a|D*Q-@Bw9;0m^YUjG!=^1*jZ*O(gerG znCYF5hlD*`H&#o8rFeVbtTY#T^igyPsW|YJ{dLTap$>9&y%!ykJB)5A)rrxyqtEAZCtV5QP^$W} zT)F&Y_}ax+-P2bm?qDLJ(-yxzFVgLJn3adRs(eY`Z<{*NQ7TzMSwm$@)eQb-2{pP) zwf#2lG^29xp2B5{Z#dr~$l-qSb3N&FGg<10bbJ-p7b>?tSI32}$l9Dat%oSX(z{6o zFJdb|I0&)vvDu3x2t{pJm{`H)rqgl`9+JQPt*$H-u;Srl7ONqWPog-jvE1nG5RO3-rcE-;z zph_oNYR6()LhwVX;6l4-x#7#ZE}wJqo^QK<@z(a%Ax?dt<78(1nTqL*jLOYUZ)C0Q z6MU+Aff*AC9J<5_^o<8y;=5V)X^J7$L_gC|-zJ3M5GDB{YmBBESK1Ftztikyo2#1L zU}8&IVQAqBiFKDQhZNP3I#$E|jY4LGxU}|67OlXyao5sSPlA%Md+2FNnVf`xTxcim ziSNP4H4)g1@R7cVi4!!;U}ni?xkXy7HokF*1#JJk@$pUk5&LlIA6RY}1s8lFv^3($ zYdOs}d(Qdq*wMi6(LNu40~#9I?hqzZpai2tQq1%-Rk!{AYFbIYv?vR`&R>4@I$&F#b>1E*U02wo)f?-A~6^20`BD#E(laGq5-379} zNIg`P5o9E|M9wXXWNorqXT_RA=Z$l-T^jr%5CHrs{}+Q#lWGJUI=*$ra|qO^vV2rz zbJGk3jT1&TH*8C=YB=UL=msZ@a_Vd(OAaRL4R#jhW1&c&k$Ux-(9I8DD>???f)6q8 zwc_$(&%g1(^YL&vVwb3uU?Q5w8WIimm1ZPQ)ukP}R2J%(-(2PGxV_zrNbN&);tD=D zK%?AAXRaNdd1c$(*c$TijTP(<0^GJdU?S)8fbms;!y4UdrnsfaS8uPaNpb3kKmZ&* z@q2Ob#b5T5ul{22b?HNALEP#cF(Q>)RXEl6ia-t74A*0FM(e4!5 zm4Fz>`p-g?X{`y?H|~0gdmV8@yaSNfN77y!$ph~>lt1%5Tk>b#HI|bbF-#}oclsi) zUl+Nu=VUZhx@8X+kE&)BgH5R^aGc`aW|>S20yNtA_coSMlr4Cg&y#h{CKZOg$)HJF z;?#_q4ZK;az*LUAgx3MSwki7b79~K2NF_Tm)O%ddQC+G;2U%k#n|G`&JL4Ntg5|xi zo->Mz9Z8yzspl}ya1V-^`s=eDi?C+2YFrU4J1$Ho#%4mNfV#7IIX291-gH9*+V{on z9O_oxSSaM)6Zgvl_xMv0~yiP1v5Eu}_^V@)zh9DK1;54P@H^ ziNP{db%er`S|;k%qhuDfS+XcDzBYwEm4T)&*ptVF|BimWg`&@0zwx_(`Mh@vaWdF( zSN6v7pp>|OApXcwH=f=&E*tCjxw-kHAnY3%nexfiZHFE71*F>Vbi zw>y!zfTi5_GT+UDXZRm7>9jy68Wn0OxJ_+Ds3?LpB^HLxC#B0lVJlN_YJk}+ev(Ha ztXC?Yg&23PEyeKsR?C0vsg9i9&_s!G>6!0}6RBH7*KSvGtXIXOE5R-FLYym5v?8p> z$rx%@1^0PtTD_#}R}HAaFl0qB07O8$zt@s@^T5j|U+%c|o)%@O>1$oGMCofnt-49| zfK-b?kf`}ymG*#nivxXeY1M`0<=TJj6N~cP?{%ZhMb}zIRwRrVaUbKrq>Z1NSW*R> zyo^}uGHu01gNip=F`@^8-jVok<&{b4yJhkIcRhT3cWdWbs6$pEd?Po1QC_jB21$ly zUh;ZM&JXE+iT{v<4-Ge10}O;4T_=9YayB_=;7=w-mAYdnGMH#&oJ=X*W9HPJ>O&03 z%mKn?pT=9C1q`VHLMk}ZF|S-aEn2iwM@@=5F`r-~7PfmGba8*~#ZUhBuf^U< zB@4%Z6RAmzDm*ZPO+jn8unk7EAC{h8A{wO&I~7{Gbi7P4qN{?e-tFbYefo?lGq}Qw z#tqt9)DS!(cP52SV|1M&8p+>85xhWk7|I<`H_8FyaHVSwKd%-UO+-$d7FkUM_?F1R9L! z;e*aVAShEq$e8eH=JD#dX!wnaG4vIio{0B9MlwpcCI1ygK;l@aLPh2}-FWfVzI*2R ztCG$4NRY=`0oRe?h-x}&vpDSziT&B@<7frTVWA!U;zrDtS6n?9yXhbPmdHo{cafd1 zYjL}{8D!x>6yKC|SS_-ATFlKO)AbPW#P zoZs4zD_f66A!}hxs==5RKMUJ~=c+wPJDwVSDLxZ?nyJULqomvZgqjo9gR-0lGyiK(>P>QHihFSr|f zY8Nt>i<|2>DOy-!E$8xDuI)|b#sPf}Ww|GDZC+dto;XgzsD#Opi7YMUCec8fK=p*k zSTH@07%*J`L~(wn3qwm(jI(r#q*s`kU-DQrI)WY0n+ric{#-kL^JdqbTf=+-k4%aE zpdywatJLC$phRM?_$cf1RXDyH{ISJ~7C&=FQ5sfWMr9UJ6oP%G0Ke8mc%BPgC$|nV z`P?hrxY%{B)e30$_@#{v#=Sxfy0RVA0Go^+1p_!BuL>3#o5#m2kbdPqF3Q%|0VUSr zmrxRt6=xezi#U1@n1ofQBc>Wng}$YKnid`>driij&wN#dakz0aTU_f@?|kC?sr`e4 zoe2pAN*=KA&StoQbG;D-IL2w~UbSF)t$B1#lZx*d0Ob~`ZZM|O*Ur;pOKL1wW}vR&vqsAHz#pIcnq9wbOIKAVg+`BMUw>z zgJ?JjgQBZ5wQLCNoQ`t(P3q2CjaBu7>#03A<5ekYqCs)#t(u59jr3=+5$WNx>(-HP zS{cc*8aopaKCO+zD!NtY^1=T`Y>!?#Ub8lA>Y~zl~ zPl#5o21kyb2bIKY*WLZ!^=)!&ZLaptXH}`L^Yn~}F6KD(c%aev3PaLBjXQroU}Ssi zTEv5G#ZRrYZp}X88ZgfyY{|K{mxIw%{^)D3NtG80e$wXvo*r6s-X6lDenJfiS_=wR zq)x)5maLwjY7E)jhVvU6u9)k^@a)rW_y<28<*UEoWHOD?or|(|#z}99eqA&+gTEji zRn}I)46!RyP;0teDlP0?^0w4A)I6yg*j{6fkWi(64rKJgsaMNDL=Ngev$tvCIfLv@ z;<-1C<*)r$`|i;TeYy91EpsAaJQja-U*!5Vk-dEsC~Cvk%0QCB;a?Nnp;k%HRc(6N zgVBAKI6KZcnDOF(!$dA6-Vjuy1Vm%1S?ZHpW1~>2nmJdu_(+{P7=Z}l<#Zk>YQkD| z#?w{awdyk(pxo}+^d#A6C*DZfKL#q;Th~5SPj3pn)d1a=nPK(hlRDUIRNz9z{c&(x zgBYOw0VjWB*~|T>m*ufLzCWz3eLzIk;3yrWddbDfma9S;y_<;73MW~Q;{!bbvG*7n z&o0!2+q^!2egIUdAE8)3jsy5E|IdahG6+H*7uGP3Xz&&bHt5=u}^T>Fm_aTr9CE%+=KP<(GgehL` zE6s+-V9(*Rl;T>aocHUpyZw{$%#|HPqsVYn$0^;RtXTI*cXw_GvJKHQ8GhX)XGr{NWy885dC26WDFaR zN@Q`dj0@f9jxJYmy&c>_N6n%!b+2le8N&+5@d#gUh4|uj%YEtfUfAg2I8D)Fnt=@@uf?J{N}$~a&a%0>{JbVB?Yahj3Jz9rVVwXRKPh=3*Z3p96agw-z*#f=^+gl!reBuUuS$O26) zt=SuTTBKV;L-W+5m3NdX`K*C3wX&&lRTyIeQLBqmK!O3qjVW=;E=XdC|J2+H5_NMrYKid!N}PSZ&lGV9LtiEV((5lTm+y{21=SI}(v0Ga8)UnN?-6C@c~n z$}&^kYAOqB%TjiF-*xe0AO1M^?y<8uOmHQ~8Gv7mc8RTlwIfMWY4)JJXe|IwvuNxg zn6CrNXJh@04xP+zLM&0s!e%C;z79QFh)8dFGC+yn+Q?2Hg3&w@$K7tNWIUqWS7!54F4z_x9q|zcPg*;$EXRvEcff`%`?Cu%Gpov~~ zWhkA7O$gvt9GC!tak6f0yZo-x(wmCA@6ijgI@gZl!9XLB46RleP(2>?)zSiuQvD`F zm;j(n|7=i1k1Bd?>qr83N~`T-mKE~puU&M5;Z$4)L74d0>Oybv#m=-Zib^oZ&)SIu zpKBGP)LAr}YLO77p1RnckAD4(Z*MG%JJ<=s&;E*&Kln)}H=m6Z@AX!LES=716^6WB z(`{&?Gx>7%P?@@#P79NiHWugF@ie%6(|{SXmN~R0_0{+8!ODliU_Tc*z&gN(0oEq2 zy)kj;-!_o9y{GR!_>M9>a&CgmR*r`HBZ=3yyt{JK$!N$rw8mVr4e$tJT-d?#{=-^< zB|KI&INj#3MXD9My^I$rWznW1K}(k?NbXWBvyZf=uYB919}2K`%OjY%C(7Rwm?a2n#?p?Cd$h(i$V zb8#0=tjHs0-&LJG`To4yL9ji3!c~#-wFq7pTvW+3MJY(Qzs^{Yst5@rbigO(uBbvO zC_&Y_n*<+dzUzRdfN%s_y*69n0Fy!AahcERy1to(>SnC#L+9K|jQOH#7f0E46S4>Y zj0g>IaQJ{}urg=q9IC>y-#9BwVZ~R$DXNc)haM?|HQ-ylgtQQ~dI5JQ&OvMzV=O>bc*S=WdR|%Dgx@7HRm6iya@`G^vqwu5QF=V*C#J zF0;dM71*a}2(T<^cNpCShRX^6PDBjV0Vp~`q}b{kJx>*X=CP_w7_EDCa-}Lt@}P{V zZMmBtb!Ao2EVbfZ<oIpzFw8V$x6PqaTNx-2Hg0Z$5HqI=>At9h>Mj4s_6>I|747{49 zQdnREe(&QS)aWlQRT)gfK{$S?np7CowV`&IY&I!ijnJoR)Z0KL9r;Q`!PneOO2Odc zR^|sE7)@j~2wCsD6pF~1vEB4$+)s4IR7pIvQUr#LRn>4@Hw=$V{#pGVtbfhJKo3zw zt`xF->gcz<`rH5UGhq^AIC)o$p@P_9<|3#Wl4`c9JILbCtq3DU!%PfV(HdsWm<23E zTZH2S*8Xz#Em4l%?}*faAO)DDIhGRCXnR91cPr|+kY^NpRa}}GpDj8*FPcu-IZP1Y@EyrE&N#oZ5ZZYzia8R|&EyoPqN>$YJ_WlS$e!>+3(g>D8^MWJ-#O{$>asfq zKa1~8vZZ0R{?H_T=Z6OFEf0+4O%IiFdQ*?Y5s;{DiC4BV*&k$eH7PUPp5E7?D0DE4 zk!>O(BTg1aCn-7#3}6bxQ;oH~?G84ysXzHszHVlvV5#)r>CXBycBJDTIeEdI zJNrRdU-|AB>mx+fvg~S%@ueX3tt?DyOcxP{?qCyKOR1H zUWiaATFVaJDW9FHk<^oyZ760dleO)@Jni5f3QW$(XTO zyy>83tiV(-3syDM(ENE69-Q)8N;dd&@WCaHhnIl=;VDcKB`NZWifh=7xG5A6nfOY- zn_qCgv*K_C-MsQK`Rvor21vA8UGZ%kb=H%TTy884UFwk^=e7nWPAk+TwC{wVSA&Dl zDuarQyF)KiV;S8xQ%~7|%$By+27)hIUfNNn^eRXasRiWCp$d7XDae_VrSvCWe)ZSq zW#`Fml$G3ND-^lt6I5F(<+K`0i#ITdw8=kRb?rb_iL>#CqnQp+T9cX@Vx6_y?P~Pu zZjM-n_r3efnQ}CFtv{U_t%O;`mPm!)36xq3DPpbs--fV}VqvJ3`K&3=&zn}k?r z^3cepKu5Z!jZF4Sc7N(Dl^vZ0Uh4|7xtAGGD#EYu{mk1Ai_Z{71C7+14k)|UGpb&u zu|P?#lWt7>19t~q9zN>y}Z<;1CnFMjm@da4>6 zl;PAPxm1&cEnDSiZ;%BVr<=(*&sIPaWSX9&j$a#<4*or5a3Yhw$mT;L=iVmL>S@A5 z;$899F{>2)9*JOOXiVcJqx5Z@0G4HFR@1YakUTn2VAY3C_IIKztT=z)8+4X7>`N>P ztD5WpYY3y3$CqVwtZNL(now$8VrpE+afhAve6IM{*t{4y;>+4!BJbYg6 zKC>z1WDu*-ge-}~q)#bpDl3PPk(x*2kgVYwlESO)(593fdpL`6VWH=rdTC2ue)f{M z#brf9Twwr>A_xufRGG0>%vlGe=c2mlX#1%fnKK-cT`hPF=A@v^;Ub)%94gWv+E0C5ZNp;jQnd+NqA*Y$QC+j2Xw2qx)E^9je@`r)r2S{ zV&-yf#Og_mS$`1a#%>IwAxw}(R(dWzaP*|V|IW9|@ne567TGBmBVq+^1_>{^Fuf6c z?1RiL&bNXm)`t&XuqN_A>@!5!k+i0g0<2_HSh8ABTYhabc?ec?Z=*eg79{RZaowb) z=!3}^RP}>XugzeaQ11g>b1@vovh2qwZJ)PKguJy$zIv?2(fctChiExN(sFLhd3;t) z-qbSA(yZCEW7$Ioj;kG;0^d-}R;GkSka)YxgPtnLqiO zym+mY<3~j1y85&E@|ES6;ThHF0GR!!JAnxjW|4t4fb`zxNMpdB>W#7FQI{Sfjmi|x z4NM2{7$P2f=A3sxc~c=7TD4hZ4zfhna}5_JfpptcDR7>8F~WK#zzW_i%|#iNL4M_{ zJ!!Xcj!iZ9N+W(~lBd2)#BhQNiinbGumaO9w4t?FJ)(*hdZiX%;NXc&O3;>^YvokB z@_k_HjmM`#T}8?0iaGONt78QVf5@k1c?krRhDt64EZRU1W zgw7fsjbhW?noI%BU_rA0$&OJp6I}>aE%D`cmSv+W2i$z$^<8(}6UKw*QOwbu%6vv` z(!hc#bJN?B^310)apoz#H_$>4mgbt(C={$|&=hQ9D6;^2bv(c*LmNA79*l6Cz!QuW zjOLLBouttl=Q&xhG+C@x7;4m*xr|xgZMS9e+t5X9bTrm5RyZc}3JT9GJu>-!5@ayY zOsB|Z8k}-~lXwFYCTi}?Z&wMoEYw)g*&DR#G=&K#0N>Co77OeY8x9=LU=0A#%9#V6 znSzLsM8=KNFQ+~;wvd&nLE^PK$ivUfj2z87!>r3Ks|FP9@?HQB3R$wmHtQ#wX{QWivn??v zQzPp%-0ECK3z{FI_$Z10m6PGN$lP&}d)^;qbrV)6BGXAC7MVzxqd7eH6xw$is$*q5nV4E|T6*WhNhF`L+z>IAx%Hjzp4?e0`|9GqsAoS5wbVDDX$`q4Ani$9|7a%=8 zMV#=b@q6$iU<0C-DY`O?+)DwXR$Ce5hljF;xUfgg$6njJX@4YB6i4WZjXP+X4UFNG z@T_Q^>3Y?zQ>$pYEdIHJ)5D_#>uou(e`SfhPb&gUYE_gGc4FCzZ7oj3&g;4KU-S z;I^ayhjz}Sx67Ur8Q0Md3y1Lo5f49+)AO3FEZ)^S5(6RJIr zxwxxL&4n=556lZEp-Z%};~^YEZiph-J66}QK*X=lV_gq1B_?))nR^unt{NY(dGF5O z6|?LZ9;DRuVa!;z7M2ywN;k$D28${Th4q112ask43X6+KOu;c!W1LO{h)_*{R!P=w z14DAy+sw5aUW_kZdd7X}rOWY!T`(R*?mcPg6e@(H8aJhBusVeIvAuOOT1b3x{-e5r z<`*EN9zQUT9*rcvwqMBlLK#=)oga*mb*ofPGyW&!Ln?@Qa%t4O8lo$gge)ymI_bBl zdflW)vusu6&Ji6}3Nif-kF5sz;>BD(_wu|PUrEMW$h?Jdpm|MVf8v*C#2!pz##TW$%MUK@ zO5S$$JKlNE*=pE-eFDJ_K_XD3f#|b&usLoa&P|($Y>lK$=^EO6^SSV`8478kCG?qV zz$`Vzbyf@|4VhY+v3D@Sen%@QHZ1G?ehr6LsH z5$LWVng%pke`4CorrT7q$8F|w2`IBGKB0^#*c(Aeb3`bI(dOMcO$*|l_}~vWv>p8h zMjtci69iP{&go$TMw*H`6*goDyOC2G3Rp7WYYIC1(v9th>1D_bpLyV=yQ?7%CF6Z# zZzQRP1q$;oCD)MDovB7F6?@72SR=`jLRFP2`hhU9A_j(?P~@_D>eRvupZxfhxP5V< zS~(Y`2aX#kFA9I~MoeEQjmxMeNHb^4v`Df`HQqEoGCX-6^7_RFJ5E{)QBFNBa_S9A z7#QyAd_b)Sj7$JNp1pJ}>65J3Mk2TQ*ywyAxe_`eL5WmE`;#bgupMOWgqOP?W)WQ> zSt5<0?HQ3cn(Wir4yEXo1bC^tG_jUMc!ET0G62stNRE~`FwcoBIh5>dBPe8We`IK_V4MyKFE*_$)a$<%Jhw<(8J_<<{OnzW9Zg$+5^5 zdfIiv~Kr8Ru(lRjR z0yjYyc1mMbe;###=1Iq!DtQ7Wh*kalDPc_pYmKv}kyUIMm80|tF~B9`z{h$TT|R9a z^`fqUr*t+B`~%-LkT<_|C~taWh;O}n%BMpQsfmy z#TMXefhbz0V^ov?NS&1dsw3_|EIfrwG)^z+fKMnN`birFw#c-X05$6C`?YLuyLecN z%(bJtd$SYIAHUZD~7`+8rBM-8gMzf(j2-DH7Yj>Aj-nl1cFyf_k(k(3muwGGr1~A@8mE$R|?(ule z74u8Ip8&@TuAXo&X0C{_yX?d-2PY#p*#DZmbmduj`qC|VeGkJ|k;R_K`jQhUQ59iO z=t~a)Dq3{n#ZfBZFIMh(V9E@g# zU}M^kr)?glI$|dts$4J*S}gd~+zOOBrq%-Zcl7!(<4*kdZY##6R*+x%YR`>EZCP5X zj8;v$C^1Wn*#ZOWHI2ot4dtp?S~jT(7FCiQ-L%%wVolQo%vNI-Gr+=_z5ptu(!5$i zK)i>YFM_OYRMKl_^0lvZZ@Ds>_XzvautypbK8wetK~$WQ%!x_uC&hw%@Oa7QUNmOLL> znDC(1BFv8H+X@-OIg-(3y7yAQ8WV}qkV;Ln(6HYW6 zgKFKN{5%%Isol1Yg!xHC*!24~S4i^db-4*kXWv1&n}+W-e8AhBLF|~+pXYJ&v z_T?}9;Y-7t&mWHq$3=Scj_Ooxt`qap#-Us!^gPlzZYrUZM9BDc94Z-dqP-wig=fJ9 zRBPdg$X(wdvU=3Xpf6Gl&BogJQtH;MW7S4~fz!P-c-7cSyu9s;@-C(lHOX#fW7+*% zQI?KKcJISZijLIdkq$Xb(5jtINS}rdB z)6(2RIT(qI$929sm)&#U1-bY9W}H?*MuU;7Kq4_%S2?G*S*sW#j5RXXZG|e!{2zSk zIjJWD$yb*(kgWix9JeUYEJP%!t}l5fYEPkDz~FKci&aJ)0g*Kt*XRZjd$+Fd8UEg?>07~OO)UVSor>ABZvH{x63VBIp`m4LBe z?jw+OX7JdFXI@6h{;Cmo={U^zZpmt_IoAPzS2im!BkaYlxL0n7eEC`-OI-6%NYVJB+KWWqT^E;+%ok*rHdvkL4t7Nfhk z9od9kuhzMmZj`-kA!=!r2v-v1l*yn$ksRCUKMr3^Q-;RL58bWPz% z)Aku6l-+iE;Ej%u-B^g+@x~~p9@QZD{+1$Lc*70%AW34Vn#3urJFqbev{4-^-xMXm zK3E^1GF|m|?%fKqyy4}-!%^niP9_tbv8Spu5gXE|S-~F_cHl+VoCB#%M}MSLh^)}w zSVMLc!-mv~MILzo_T33s1UVdJa=0h{$g14?=sj}b>gS`W(%Nh<5?9G)HrbRL? z8{aLYlXv7(fAn>kUf&Ua@&wkKUGWVK5vOO?AR(6mXeRz(creW zL103ejepm~m?Xk06o2@%v|$hlH?NDl@+XSmwmVLIC(7Kalci%Kop~K5Z@ui}Yo8H$ z_0u8;&r_i&-JVEm$w@XZlDF+cfg_QAAy8q%rPxqf-Pa5(NuF$2M>7Xb`=G39jWol& zPn<@L%E-!k7Eviv!4N$|hyfxV;(rh&I(0HKqd0EQIu;wbTYGRSZ~gXC+Qq;~EEJ2NeBTahsTr>?d*-C&TO{a}KP_r1}CAvxopqzCRLm|>0|1i8dE!R# zgOzpqfb8Yq9j9Y5kxnLZY$?dkJ~=1Xw%c-i4F$RxClSv|c5Nx6i2PS%{GO^#8j?PA))C_?5urvm=F^JGOFGY;iqtzmT?482+N=K_sms_?A_rZ8R>6W5+(Qt5((ixA)h{ zL|7NHInLO=F@TG^UlB`!0)Pi>@|lWGBD7ZgYlO>e7{_OWq==cvX-Yaz0(N^SDPPs( zxrz-L7(}9DGQ(5e4%8|QozD0##-nNC!Z=niQWC38GySEAK4qQXCj8`Lv&z)O%T0-= ze_O*8Q`TEjxWJWLyQRiy?DmumO(x`-0;Ng=;yGWrc=XIE+3D~8;MGrk_-CrDTgRgp zoRlM~Lyeqgl3V+WN&+;DH<2r?g&-_pb~mQ)pNb94RY{U)P(BS8Q_)|P!#;g8-29@P zd*r-4c;S?|Rwm`Jlxa1M)f5gQwNzCld8d$emdlsE@^ak2e8c(EN7Z8vlV+W;GpZT& zNVwhJ1HTL=x~ag?Q(g;Ev&2Xi`Xv17>8sz>IGyI?n0kwZ$8vm?KpKaLiJ~L&(l-S> zI_bZ9CbzBy#NwB3C~XW%mWl-_?Gkvmnx463Mzr zf(6B_6`y8@o|p=WKx&EuT@|+Tl{jspJ_exLDPa|D6ROOatc`G!FJsf9S`n${tV9u6 z^qCBG6r$`!C!-Lg5g&NjhE5-^eV-!Kj7Cl)>n$5VG+W{NVF{Cko4WMT+MG=cS zl8`z=7vwTH*Mh}qlsK|Jm$WSP?Ny*u?V3GWTy@z4(TG!g_VT6jf$+?$lp(80of_$0 zGvP$thZxtY@p|^!b8vxJIpl7%|J8W$^{+&qx7_K|@03DTTt4@ph?^tjK-HW>i4oCT zdr}QA%cY%f$TP2AlV@+#ae#CLj8hlHK`>7ugh#w`W9wxjuUVUuvo2Rs<7?$s?PM;5TPv6Ov;eaZGf3$Q0n4CVY$nDt@^ zpv({*Gbdh^UF;T<&F2On-fMHiR71*%m^j@iCf65&?2n!N`!6iWk);@Wcqcg=8#pIt zG^^^xsEp8%22ECDy~5MZ;!ILv4?hW;O+b-KUrNbj?ENi>UOR_Go_FAcO74SfY}7Kp zT*?=|Ixk=N^?8X0KDwjgq-)}_l#aj%y+k~ljV*a=~dk;Sgcd;fVd`f z<6wz}c3#Nn*1nhFK#tup|Jf%VxZ~S*_xdueG)W`nf#GUPVm>HRS$q*`vqGyGB^t#F zTe0DhX>pUTHYLRv4q~Wksz@kk5VKmd8EB()wcTRW80}+?eUg-|EV%=V1S|{IS^)WLaH_e6xvH^~>ogIyugfBCd zs|r7JxvZ?nLZ|b#S3dchpLgSN9XHQrA!}RyW&q!@~?nv5(mzl8B=0;4uq18_65$sB9cn)tWUa z1tavDFjlR$IWv1~`jn_Kap(`wa*NEjW%<-8+1OZ>)r}>Y?{#CRi%SP}-$cIp#c#;r z{y_ZtI-LZxdsUSNEk^m>XEQlPGiDGj*C4~m%{GWRNoo$60_>aeo**5-6dQM@(7+~i zHjQxUdK%r_oR5P8k*B|+NNsmsDPY`6Mujr|hp{_?6mwo$iz3|>%xg0_ycXrw(;~ON z>169kk^T)eC~nWy(p}E@XYuot5RGupgwmSvRU-Qu$5rP5sZG|;OiH57H!%C4nHbA> z9W&FzC>chY<9O3CCdbUiz)7Sqgc?hPyP(kQh^do!=%b8+2rk$X8x92gGRTpUbXUaR z2}JMBBl-3>SMt!=Ad8D0%RcOFXXW8xncqB=>ejw@({YTWu@t@ByKXDGmS2pI-+Om? z>eySdPJX(AYgZ`u@>usJ)YDKns7MMhemHn9V-a&dF~(A1bG2M!p{O1s%O??A>?Eam zU22T*h?71;9}XRM)sdRYP3_`s?uUgwMaGi_?1f4b#xROY%mj;&O-)eZC9BCQ z#z4S~j!*+FQLHZF;>{4*1j-kvc_dVksFoF&eW5UK#h9=8a`J4owfl6o+!fgy6z=j? zKZdGwr3(VH-(g*ay?*U?N1kFAYS=vLw2w-rCp+;V0@x*-X{`u#+1eRA2gU#${Wx?ZF><=>8 z8+&(tbt-Q@Hx zU)XB7Gb?B=+0+o~wId--P2n!X2?_lb(D>&)@8n1rhxKDle$rg}f9^Fwku z()2bkUTY|Amn+%asN=P3(S77s*QNih4$>Y%wt=C9$#xkwWBZ!duqJ=%C&-YuEAZSg zZ!Vou&8DoJX8FujHP{d)vI>zVmBr-pttf-BzwgoGKYs6p&A;>d^(_Juini&9QF})l zLE8VV0t|Cq!i-NzYG#9z1_*}a8PKGL;R!g`A({S}q>v1(a4v(VEsu z{brz`^#a<|>hIARbTTWXuOi2{ z>Cl)3-0JLGi#dKSBh2$oOu$#d|2YDIO0e?Moey&xt0%5}{u3{buU+oO%{!v>mZD6? zY8R14!zn+W)ou!wRkueo<+F=DX`*L2O_t)QAlyDYO{o<{HG>bQJPdWrx=Y?1!Kcgt6=k_5elh;D5vgra_8L&HBUzR-gMk) zuF;%JM;Q)5;5P)zICI<)nm42`*e*pHmnqvo#D0~&wV*VI;7RfusoT{uC zE2qk)&04_~^IqCZ9NP*}kxz^7gsz30 zH#JgKq%MQ08?@wD4a9lEq| zk0eiiAH!iGEt$A-2vcM)J|EVhimq56_~Z9fvep&3^L`1Z&g3zh#JI8~{(*DBom%m7 z=iIvMEIcO8txMj%S7KG*S66lYiu1JF=zy_Qg-`%dfbkdX*jxZI4G{uRQaq0mh?csGu9tXiL7pnfqELj(Tn&@|KwA1Zlx<2t?~>*BwM06QKemr zTszEUz7^%&7e?{aYH+(lk;AD{O_Xu0VJ2`=W3O*iXwVeZus{#<0v01Ky3K`J_Q$#W z^cNQ7=t3>swv)1gWlu^c&`3sd9nljppxDUnYE`6Q4PHM1F&3d{f7u`cY1M?K#t~}9 zT)|xntDst9XD+y->rn=kmrwluqFnk^p<=M(C35>xM5!WOYEVYRIKdRG9~oK$o8ag9bV3@V3q)fb#LnH!>U_-}T*3d~n{4fA{9$t}!!k1S;mh<06Yv z7!s{~JF|8-`inLMw}Aw(m}sX8l9Q0gkUL{RWmNyB9Mk(|GUNaSLGlJINpWHcs z5-W;mC}S$#toa~M(=>=Gz?wOHsDEEB?oA*1;l^y2lL8~)@%}L$J$y^mRseI8#M3Zm z$>vKcxllc-&5M_-QBl06nNOS9I#d1oTEMBQ*f=h`*t8K`;6c*E&Sum`{n3-a z9x#8Nkp|5xuR*em5R*6`UBFDu^|kiZs5(NriFdo}OyQ-zakC%^J=( zK8z9>0X2c=M>qm7cDa4o9;Oy(VbZVWd?8GWr3UrZL?}3Q#5e zirTT5Z&D)KrICalQrg3C^9FH?OHyCHDDuiPQ93;*ou0nIYc)7_&BF#iI099qxDOUlQ4V%E{}W7pbm_OmFD{k}aC5xNT|DEzJ=^k(Ua8 zg@p`uv}hPUxMmcd;xep_#hiprmez>b=|=*NWjJWwlocrrt>0{QFc4*nt8Jx*tZ2p9 zc2f933CD-H(9XIr3Azj zbe%B&*v%>mGW-wPSyKxHgynQK^6bHE~?XB$8>)@sO9+M_56HJ}d@${`~O zbC_=d#RQV0<(YaVQ(DNxlo+PE9ElPu^Gh9IK(I$HRwX6le9CkM0osgtz9P{th|89o zgjZ#6=Slg-t1rc8UfXk54<&ZH;#Lchg=MBmsOlTyPfl6va%4bCL+;T2j7mlACvk>a zYPBA%6!7Z`H}?S=TsOQ{8_gP` zXyEq8-si+h9e?Lrz4*-QZGUDZgi15dP_z(sOJ{=;|2bT>ta=oXR*Bd&NVR~R37A*0 zB#EqrsxIccf6~6w<%N}WO?nDS~3BoM&6%cUD7)EAp!jeZv zb6T9DV@M(|-I<9sm~1ZT{>J?d78hEIyyHVXs6zeHcHTbL+55n|9=&txaC--Nf+PTB z7+a#COIcAAa7a6;vhDmM(w8hRfNhv?Qc*SKv01pBilvfmw6)>-d=>4ZkuG~pg6pC} z&P0My#EaMgKT~68X=+pjZ!`hosoM3=<1ds} zgYbhXEht5?lPgGGUcxnIYLH~>2J8mIv@}?01_!Liw0Je`y_Oqq_|T7Nwx%tfnM<)w z4e6L;9~=`xtqo1W@t4{pv_ol{QEHXDOz#< z$Z?sx_T0~3efrBkkOi4kn|Bu2vA&+tyt65plT-;0RauTH?E$7rfD#joX@{`cnd`-< zm!bz@8=;0nk>Np)4D>=z<5xb-lpC60P9?tEgr*TtKpdeK zcRF)s7E>K%e;2U}BKN;RWNl4lifH5UcW7rmP4klAYJ@2&QN&I|E7@5vMDfLKj8%KZ z>5nD|s8MCw{{k;iMFz^aCUk3v(!oHP@0fQSIU?;lF31$<;$);k`t+R)ZBv_vgn?pB z{{KtSjig}Vh{-29si~57-ew<7+h+A$+I(oe=N4n=_nkcT1x@1a%sYDUC8BY2a%rW1 z8+LK~wTD(*p=5+FmU!;4#Rq3DiWI#loi#*^A;COk+ap(xUlQ4QN@VXTC!W&_ zJOJH%koLT%O53;bY*Uw{Tm@#&pnx-|SrN$Fwi;VVt+a{8(TvGXR3%`jSObVd3Qjh- zL$lN@MwH#T+Gp_q!J*+?Hn&&8{My&8yxa}BRGD7&cP zwb*f22IWDV>vhU*F)v#?eW|OlKf1CKa_^;GV8|JlIz{J>Rv{0z+ue7xT=&~omrh;C z@_B&`iE}XNEm70e(M>@N@~)mBpaGsbhT?lTwA8R;V(n7rhPv=2>s`Q=0LFN#K$Ht( z?0I8MnZF^-q{B7tD_^vo)G$)D84m&-%A7P1Si&g{Wr>}D_y_cL~?ngS;SejBl>$F2e74eP|vF!sH-xnr!&v)aA6$(t)Dkokxt*x{lp=$(Ay!~MjZw?^;~&8fl*f49xNn$sozrLrz}3cl6-FU*zwpI*w+LNRCn6ga{wG2A z!>~XB2OMC=i&@}-0oLFJ48~p#7zRvm686|eg8|8EWF#web+@{^LU&hJcK}U5vcJV! zH-|rd;e=UFc=!2k!?o3Q?;p;0!ajSy`+1+x$sNaD1R7nmx5Kzb?z0^mbJ|;uZ86n9 zYZDz7uP0A~X4slkbz3a%EZTJAczpQmg_l14(Z@b~>(22Cd--wI@OZN7T;r|T`VIf) z#s}1Hc)oJCtx#vn5QZt&l>mN<3BJ2Q3z$n9yQ!tnXx7#awRbuuANpexW-TX9u#!84{^6n>RNFJ2w$)o92Q&=_>{ro z!Z!2rhZi)$gWVRTJGV|oB8ynr45{w0BfvXIM#t1OHlBa|yMs4D!0xd!w zOgapnK4DoIsY+WC&JQa8c%5AVr*eC5lYBUah3a@`H`V>}C*JE=?c&OrI`4n$r1Mkzg#=EL2+) zbpa0wwizO*3|8LK=I}UJWCHzR%TmU@**MqsZ&nWbe4-%UiIx?V`gmLjQ70o>L zNb!E`$uxb}(|vosOx@{;cXqSzaY1TZvgY}@SKdxV<&@?SV8*f zs>iqR%X z@``u~m8@l8dLFiRH9R01L~JV~szb*Fk(Teq@H*#S9O(}+s3|1U&oREVPw5OV;{zbR zEDGzr?!iZXaQ8p>ksrSBS3dfEmu_K$ST*ys020-vG=o5c4MjP)Lr}77@YWyR!+168=)1A$Fw7=7j5QR~Vgjlxp55@=e zE#w(&TZ6gP)7+QUgPAL^kHfIG?<{#me9MFm3BaYTNzslk_o?|#*DY@pb-95kj8r0U zlYSZ8hH_r#kt8nT_!O#u@wzZij-gCNjiPkC)pzAiQ4|}gOrRW`bxm`lynXle;=4Cq zPv3s)o%GuEGo*U-5KQlG!tSFiCu1TcWQ@hGpQwpKbsTG}WUy$IU>!EajPnz0kTD)N z$9>uWsINTk5MJ`tb>f9wmWDJtwe zN>uEdxX6is-qO?s;G78d6g{YAlA5k%{l2vYjambmQuoC#Ps%U-{AOyejZ;5u`|46t zw38wg;HE-~0W@9}KgCBvdZC`~qOD6>0g*p>Wq9`Yd+oWHrHYzxq}X9ZbcoBn{a~Dq z7Ulas`t-m5z9$d<^z~bJ)5=2mdNQ~jk*0&nKiD~4nd%Dk2k+xq;BfqB)`kN{-CndM zR`AU{YswfxS*8+8c-MgcPgGb|QKdMYIoC9H^0opLJBr`e^1PP5o+Aid-*CCen*Ko-9kWJ2jI^8^j#VB16!Lts;c9IUZdfHqPr;%G3!r{Z=nyWE23u(k=d zjP9ReDvMA2*iQ;wkU4->GZ$^@=|)e=0)|M?in|Tfg?Vv!`}HoHmXuMqhmR3HiL8gS z7{WD)*Uc!3oiJzs%8J=ACXUDs7M=FPvxifJ^+n`UEYq@v3xtkLehEHoN~{gHxpjS! z7JR=_Thy8?!l}5Lj=H_emkwX}yMOaq>X%iz^kgLWN#uYZlmbfxbroqgA6^4!h%b|g zVtx)6&4FB&OL7GPap!)9Htaa1s~<_}neR&^$j{GGTAmIM2&0PCZdA_hag&AY0zsw! z0DI(x+;pzy}o_%%SC$Yl>~o3T9x3o zf^Gt80#IY#pIWi=`L(Pm1c z9W44?Urx*M@=jMRPKxH_+r{eUucvhSHEj%vag!!nRT{%%QO3{CK62vsn)EDu0fOZo zjD6Xtc=zR2mm8Wi?*i+qMIRORCSi!&6lreO@->nWy#+KUS8TKUj??A1qTntw*!EE~gkA;6tXOoD^-d z>Y13p?pniEn~?&dt+=_a??-y^TcK+3(9AE6qdcUaX_0Qm;KGmBr zE-uODA`zRbFPdFCe2tQ63I?8{NV_gA&mW|__h0XB+%#M7;x4!lwV{6do2mjFwV& zxSdM0o&Wl8Y^Kd=DrUs+(FdkAMcY@9%gAa|J!SHNILR}ZsUUWT%n54mBhtz-V{$yl zhc$fxro`5)ONaYKx^X}Czw#@a#p_>!F>sO6M&DPLP(f+kW#z5ipAs{78(yGPs$ zh85VT26s#AtpwXc^f>-9;=<~jKaQzzx-iNXCIc*Xlz}SRv;Y@kUtvq)KB%JL1`Cu7 zs&&44IYk@oQuB#F%g->yIDBh4FoRk#s9|$6$;YIBA2%X{oZBL870P+d#_}(iJ7*8L z4ISQeL2D1gW!(=^hGP8{Yij6VlJ-fhqsoL>vE}|Dq_T{HF6ZzVR;0^rsE}}5)VI{h zkV6?AzCj2PQe4GR%F{n@*Fo{H_FgPa6@VQLJi`WsMzH4Rv5GOn!aeFxeYi4>@*`+* zVMdu3BFlv_E0E(Ji*blUb9k?>HS=cTLCQo~92vCj#PQc#81+Vxwys{?eCLH<|KiE3 zFF#jo9?bjw%XEz_`W8!z>ewik9wbZCBBrn3hr z?Ojgk@z136$or)>J-?%cU)Sq`%Z0=m%}#x1e-xqRkQBwX*#%{@kYHlEnbKp=!uVK) z)#^;AI2y&QWD3=G|%h#4~--u2Oe=Bmoubq7cxSIHzdV9-g{TrIKmD8j>hu&c0)FQT#Se;i)TX zavCs}MNq}R=Y85aD7rVlo6@(wmeS6Fis5MSYeMrx6mwC~vZ(D-sc0r+`PTi5IzXR*(Z#YDZKqs#b>W0zD&@iBb41@tK zR?JZ(v156MD-MRqsFIi(--EEPtWrJ3a;CkI{L;joLAMjH-|^Yas&Ct3Jf2Kuqv_?z zsC;%>&wg++n?5_P#*fX$Pff~tfd{HUVPxuMS5yipvKXnr+*#nC$VSQne_dyygn(ub90vVHahGt zL911+P9QZd&@?7wxeF%~^wP@_tbcK>Dq7^*tXCH76_8izA{7@duF}R%m)^QI>3{Vf z&x%{WF-_!=Zmd$;>r*ks^bf^yEp9)FaA;$KqaZvLb1d-k#4xm>LJ6IfcgyQ4=11Ws$U6sc>G z=Jv0b51m5oX=dm4CXufKNrr2jGPi+w!}vA~idMFDDbNg7lHPOl*px_R4t?aEx<+No zat$vSnk+U0$ck9pIi))U2|JXi*_dRAwAE5>cZ~dw(LZm%QT)Yh{+m^*WH{LXnFXrH zk{dX&abg`s=v;4Ro9WjsT3JfiJJ${D;uF93C(Szu5LPpHto^~$QzWTXt1gWA(y;&& zlpb)Up1C;lBuN^&jK007nv_&?eG-~ya3%{O!hgj^e9=D-jK#Dj>Kj8X5`4WiyEHYo zbZ%6^u7N--H#K!-!eUgvL(0~WGNBY@TofiXN2v5E?LPWgIy<`kFJ1eUFZ`$7`AM5D zJl^%QElm7+)72VpQyto5{G!R%a?%Wgp`ozKtx>GPmhdXX6y`qOd~{_xyPL?fy6|+L zp8j-72Tv4faYo@p(JqUgspNqrXE1K)pGzE~5f|}Su|?p`KyipI_#B8(kuF?L>5-@U zG}(kdo*VmI$n+L*^ueQD`*jevEs=@p)UpVS8B9?A{ZM|Y8!;4is(Je~Ke6(q!z}1F zGF1y&70`-2e$c0#{i1l+d(&ulJM||gshKZXG|3c-uVc|+S>}u1!NSX7;6WV?g51ED zlZ`AqJjD`@1p+f>H5;eq_%x;8{M9~9w+nbXA#WeE;bJU(DBv*G zpd@Y!DqwM~m=}31!Ix}89TdHR477@eg++!oGpLx*b192@8{DqG=ue9N_(qWyclxxt zmQr`8NbQ|Ib*I)dg6FlN6K$%Mk}26rloT9@JlfzRRFHUqnl_zvMVhxoS`gnUQg@Py zo$lzV_wW7OM?Ze$-+b@8HeW^gb8>pdg%y-X)X`YD5!r>5I23fF3I$w|W{3`|i!`n) z6?*J}IJ(<$%N=n651r&EXs>IKr^3PdfvX%pWeHf?i_uoJYL-Ex^`L28+fBBO}+&mzJ&$Ls=ymUs$omOxL9DwV4~_% znoJX{kJ;%#bSj5qNuZK_iE@nOCJhC=I!hctGA5=Xh*WRdl#;1cP8qC0*@ zF~VBNTs%x~7_#`CM|V^D$KM&J|KWvcdgic$JCIC+P+^vp{6I(((h7!VC7@U_l4J7&8Vvf#irN%00WNG}N#H%HwrG>!#vmI_=WVLECR`w8hKcnWkU;UuNm}E8{+` zsv=!1`m~3N)|+#z5$;@|#VW6w?3Ao!H&SFm4ayD}ga=$diP$O4NghpVu(94ITtl0& zqMUa(kEVEMe&`3@^XY@x_}6b8-BaE+*M9BoqM5>!y#VHO+cdI4TurRGT8PXaK5<$N zwqS{H+p!gge zGo14v2vk49{2(s#{{5ZSfeIF($Gkv0ea4z7pWK*>EhLt9(}4UW*b!xA3GpOBh26~ zSo2m!_e`7$wtTVNtXX5&;zEUZg!2luqG=Gf>+mU&ScH|n%WdvLJP1|zwe-}3oy^nk zD#njJ#qja|>{P%OnCA`><)Y$1bQ@ypRgR9g7_p{lQ-mt;+dN1vmJ=wE>!SV2FDJG? zceXG{w3XDR2is>dmQ~ni{z5Q&hZd)JX?9?Nvn0eYWRX@vM8REzfWce<(a5{huSzOk z2@x3MAU02-gK+^5V}KZd1-ez4kl))kZK@8{Kf*;Jsi=e3|52Hm`zft%_i36MTIQ2G z+35SsfP`^bkNzLyCemqN)5VoJKxL}->pPEpVE1o*|A*>-`>{thZj48LIz6AKZrLyp z1zy7w@X6{WP$i;pV{DQ}+VxKnf>Bp#Hf~g~@n?|ghC&VKoVwW**2W%SB)$r@0cNvI zMiU3NU?L7GhhcNA8s%!S!ib-h)u^w^*>Zbxv)P_(rqO7&@y6}9H;?DnE}YHp9?aXb z51yU2pIxk0pI&wS=GlC?c=OirMU>t|I26QQ9K)exRg`tv7mw|vVxvm^#<(ns8o3Zd z&Zr%LVqaQ8@QUxFK7em8=9!DLx~K_~61zyN2Bglu1Se;Ge`|3nMvDS{2GBjGM=!Nj zEBFnvsxS-qT+fNtHF!KJ?%41OaF$V(`d9DO#kX#j>Gml-1Jg$zTXmm#q%F_elpcU? zYoP?~OMpnRb!&6mtSIau0U{wnR0i$n*%}kXQ%s9K!3XcZcz)L1KB>!#+f7DxhZn4!FfJPPUEkuxp#A{;*u}EyPnKnxuSoeVu52&U6Nig* zFiq*@cgEfQ`M4a96&73&@`4&#QDqTVDf*tclg0x00|?GxKG&*b`+8EPw6(uXyL)X~ zHdT7z>s9*77xvTnt593_ZMu-kw2OC?t9e(}pu%+p_u8hA4HAAa8$>{h|6!0FjY!zC zgp*MR0gT-qXikC%4zATrr4#|K@XhggN;i+HOV3_-=?6dj^hd7Wzqed8pgZ7QwDGQk z(s+M8Q1Vh4V#sWhVh{5WnQ;wwhN~%8Y!haVUGSO*V`DXZhPpyXor9Qmv(1qGYdw7%{^r%j4#>Nc%yfzkyaTGm zdQw|i_eN@V7PppxGIWM?wD52A`Q)x>EagV*KKXn8CEc)r)0N%#GG7{GJu6vSns1s+ z9(*@0;cka|`zNlNTX8|^BQh89TRItW+;oDmj^~sN+mQ_Y0^L}J6YIHg{adp`3D}Ze zJ5dxGEs2M(|G4S}fxsGj0aJQN_F7*nKtnhpJ&U841j@kM-T|AzFrHJM>kFxXQt!gP%3Ef5`TF4fkwvYib z2gDAj$`hYR>G6-IQ~|m_LLp|QsJU-BLNK#J)w1(ODw8J*a)XR1ng7=;P~4Six5!TX6?z5=cLOforBf5|?&14o^MCo-uQ2zHPbUfMIy>!5*C?oj?}x zN3V$<4pgyFPd0rzzE`I0y)=H;b17|ZruO`Z!U?%(sYd6{(0u;b;pB7+E79Za)XHR) zFz(HyDn`?-wEWtaQo8dFW@+;hgJTxkLB^X5?aG*y=x!YnezaPd7$Wb4P#yA`P^=^6 zp6uT)tsM16NfQpUM8Ct)EVhA(++N-*d1_@#bQR?)%*n|kAJ1m&O!H8r9ch1UQH+mP zebd$}HPANgcU0Jcu7Qu1(GnIm zrXnaKgpV0RaDv1Rw{tyda7DooEz>y7HaF5_w1t)-O6ckNaz2~SPd|8ne&YkD%cGBf z>+QGx;Hv4S^L7PPi2IhhOifj%8Uki?S7#8JYIWl0jH}eoCS@_AB?Y4rwOz0-N)WYn zJX~&2gMjfR$ex=WKE?t<5DCx8RE3>z7>#;NVOqof8`M(0LVlZAvzbkx9;*Ga&2F|x zj*oeLJr28pU<-S;h)NKjI;~T8x=Q8C*GB2h`*qsi?9#j|((Tif9@}ZsZ+WumukNPe z_E}1&bCX3(EU<6AP!!29Yyc!QLCOXv+rpc+PU*sCD$wHni~nT1zp~X9XnVq3H|&GN zl;U8J5E%4IuQAyV)vZ?=22T#D2cH3^U-4zdRkBeXb(pLKRuTD~by#hrt6&IV- zPi*!cYXQaA=*Kfk)d2)J8clHuCWc_?@ax)BwT_vJss`72ZjOYUR`DT1tVT3eS*6oe zwYYUeZs?~z{qD~_aN#XG5WGE95J z_mu-FY6+R6n@t1us1u5$QIYc6G+nZAyj0N6#WZwMv3q%gMv#s6(Sdk*9(Tc}O}lnK z*-s~UbVd>ltY}eQv+az2qF6e5LAbZ3V8S>9Ut??F7}*&wlF1eo}LT!wtd~Oh$WJb7fHHD%noZq_Nt5N9|gDfYxBcnt|){ z1(1SO5vRJ_5<~=_%@mw9D>k{nM)4*9LuiB7AJfdZd(`Z%UIk1Ov341n2+%32Sb6>p z^seYF3~f$T#iTQ7j~6A5;8eGpwdAR`qSXm+exD{=dueNb>*;U*($D|q;`(=YN^qDS ze|FUZujPVmRVz;{^kY%TxUh3}PyV)) zuDnOQsO5t`Etg^17b}a+Xk*36Rk5(#FNpd1lWN6%L=G8JnNuf2|=&?mUilDQ26I}$MjfeBbVDUgC%a&EV3*N8*chx`@ zl&xufL4ZC)Df#7{LO4ZJ8TD|;2 zN^g9-OM8bhnC3w=#bhrwwAy*i$Z&xVfwyNFmdt*Ac6*^h8C^WxpT(+A&8cBy6xk8y zhVg@U3Zy=eRAVG_`wBshGOifTh~OW|>(c_)k3ud47Fng35pCnDPqQht z1*xi9wn``TQbtP^g&mNc6^Yd--thA^5IVF|OYoJ7v^|k#$b}MzA`3NYO%$(C#>7f= zKnOvJB=j1sNz|f68cpg{)uS|0uD~;-Ds?#{VcJJD6Ii275%&iA+egB;YN1t6a ztBXy)sv0cZRgw1K9E3J-EoUJCP9mhkege)t^qxaqfYe|#Z7V>*%tq`{fe~yHc+ho_ z=myAA3@iXRx!XIl)W3A2E`IZ^GHpy`_RHF(Df>IiqG;N#{rJ_k z`s5Q0>7>^mr2ZToJ8bb8A|RgMaJ{^r5GrP`;Y_72itdTszWSx_RO#nm-sqpa&=xIT z*Jv7YTLOCyKun6!iVZrZ1Go@ybrY8>qF&@w<9EKnsle0DCl&U?=3VR{iuh2|FE@8YsFby&T-a*CSo{g&1th%DRc^`fM z;<5K0{QAe=|MYJ?IX!KT&gPuP@GfD))!;r5)dr#63ukYF+$!Pw%;0p4n0Gc30II0V-9f8cGMdO1sL0I$S@NL-FW*-r9)(z% z!TZxdF*%hY9nWW8GgUiTSwfIZTl~zq<2m8{2m2IRyD>kM^qRd#uB5wfzWyKH`qHod z$#i}%rK|5r<#e`e+f|jCR?YZKQ(jBl0H&;Gted0idr+>RnpT5;s7PaEh6fE^pz||% z*lj)z#I8@5pVq~n9~DGfSj8J!U0WF(X6h_j64qUC_`yekj@jhw4DC>?*j;+^xiUTb z0r}gV!7FZ2lnsF&L!8;OCd&l8Wm#(}$2Nt`HD|DNWtuNcTu?NU?w#D(1*xv9Fxkr1 zZ1do>V1c`_m5OKIm#Tw<)UQ@OV#~nkN6X75W1KxDjTZo#w9T`RQ8%(%pc)1 z0Wqi4(hk%v(8GvVBOctg$>b{>= zby19}g%UmcZd5f>A~A|;<;Wt95u!rr0u?9k*MmVyUe}QeQMmn{ZP;n?1$#zm(_rmM zjZ}DKdIL-;L6?dt=C-m+TjMf)^{teypBL%-uk`)p?GD}Rl6*VUm}w^%I2yKisD;CT zX83qv@)jftG$03AVhK;v7A?wB%zSQm(n0Bowdn7Bc>|lWv@=sTLDX*T>d)tWx_MTm ziyKYRex~{ zs#6fs(KTgiMnH;4-C(s9#=dxuKn3-4=VVEw8X+>ubfUUBtR7jvh4H>_ zR=|M))5dydTm4+muGzj=31S}`bLk%X{$P*f?!2~_Mr{3a!M+W?zkWIA6$LSoo-d{| z1q>Q=HFHe(U$<%rBsqpOrbb>r@0shIyvODafKIEU{oPbdH=exym0$VCi&tKJqMvT` z>F~)#Il)`Ca;XiRn0?-mU)WljSt4;jt5!qKn{nEQJ>_)GhBX)lFCHBVvz;eWdg7BQ zU3gN{_Su7yMITx|$_@%y^00M|xj=c~0VWAX!%PPiEbjE8O=*6wNL#xpJ^PV9J@$B! zmTgMMC`dram%2dhW-k*Q3qn-++<7m|GUWqw2MRZTv4GrKMF)*Jy^F|jbC{#rz&2oD zdgY})ot_qKUG85@>8U5Wa__L{R?7k=#SU#!#jLU!DRq*GX*VeTH71Acz0^Fo-KFP$ zrDUuZ+Rijt92^5O+DK`ei_4gm!qP=Mpoo7{{iq^rU_IgUu@MLz3q=lY;qob<1&w<` z8&Uhyg*Sxb-%ustJYWV5TN@;dRO8`ylnok#$j`lL)9S2Bi`yj&^T}CP?QUGZ^zJMF z(R-gd_^WlEi+aw<3r`boBwbqI-X>02+8j6J5#jd0fo6hw7Lz}bxIT@? zEeks=gh1_p=AmfAo&f)yj#jB2S80Ub;nyHq(C^bKpj)KTxK10Jv$QpaO~)+NWmC;p z=a1bxeeeTs-oF3IYxnN{$np8|$tE?k=`{5lqpF&1q;^)d)!t^Arqi-vXi{I)%zhSL zTQyBTFN%ID&5x)pYrJgq_F%XnZ+Y4R%LO;=9GS(=oKKh@kiFy_bSd9Bp=0t#RVPwb z7Aw%Hs7nQqNEq4T5&e%Z*TuXk(&0wiKfd1<&+erj+p<*$oEdu&QOcMwXVj98f=*_L z*Do|r=AXOyA?L=h?#accx?gxr`AiPCQuj;Wtje$69H*zZm#MF7>7VSu#*%{G-hFZF zxJsu@O7A&br5}D*lP=9tx^|k{ley3XIB;;E?23RTl;#&|7t*TeFJ0)1J143CtN&yx zUD)WcVNh5Q+(24X)v$oWkqFRnpQA@8^TIpjhqah`c;+0@yzT%_Hx(yI`5R2KbW z)vvChgR?B(_0gw(_QTKa|1&p^AM_`SMH-ESeuL~sx2X>9sw|U5%3HB>pqavn3Tn7u zT2dekzv47R4I=N+J-G&VJ?tvg9u3-*Ie7p@%vDoyFO!vchS}09?*@#7m0l`|km2@X zZ;B0{Lj$rSmWy#t+rkH8|4n2q7hrMU*LEI`W9MP8RPkjGK7yV>?1zH~iswk8=o&bc zm-@Jrh+if8v1W}Dj)7Q*SR=af@p2$(gZAaD$v*XCKbQZ_qlnaIyDQ*bRWQQ1=jc@#D;sC=k^gP#x|95649ANjojh|qRKEzeLlgi1c_ z;Q01MMQwn{OSFY4?zCY>Fl$-7i=opMRI{*f6QG6SPza_(8f$(wHmxPOsUD}>MZ_+pN1o{+sq0~XvO3oQ(2E=d1Z|Ua6MU>-beiJ^!3RbedP9&L zo*oxOf%dPa^u7;vqy3A;3fuG59IaTb*fA0{qRkbf3|(cm`2_=`r<5NakTo*fUA#nm zrWmQ%U8vO?Bn0^uXy%ER{saOJOs-e@>Z!;3dSk0t&gVtHTx9$+@&>tG&?!hdHQPp3 zP}x8K1)>L3RSNM}VHSTlVPVAUX$}qje{(tn9^9u;S!HksJ{Sx2A zE=q+lno36P>?;_|TrT4t7*L|NXK1xbAx)cp;4NTe=n`1th1ypJXoqqn-E8e;a`^(Ge$Y__wekh)8_6d&H8%d z!Q$ituUvoo|Mup+yFYMu-d>oO#i&@8#glt&+TG}zty$4d$3-)lj*6--xu!Q=SB<*W z6dABx)zt;4>qRj_X@pKGhQkPxliU&1$YnY_h7?nG zSiC1US3H0$Wm$Ny#HM^SJKSMdr&1HVQZg7dKlr?(^OXMjS2okZtWA3xZCZgv;?j?} ziMuM|R;9FP%XIfl=;Ozqnx{`ZA@9c9taNeVC@OE#3=eX;T$iXuHVCM*KWwrMuR*E+#NmQ>ZL zS?5BLoHeLax0-%?115(FOoaZWZ;pyrzcfn^zEkyS0U~JIrwesa?zA+bgXlYV6G94! zT?-V~Oml^;h}HWn95BtaeTl|CPC(9v;&3aggk?Cz5nNu8{4DCPqNr6&U~<7byF?D! z-P3aG>elHGedayyUv_72+`4~CAHZrtA{f~{!39Iz3hIN0@mfR0OO>h4Tx!C?BfucH zW5um=ftf)#?3K;RiK5gSc&?w(Lgq2ecQLXxtaE|Bg(6kxAxp04AV$`yMFwGD67((g zfg-cj(ra6uYWzjRNIAP?xuS?OlBes61c5*fEv{6-GBj>nEd@FgeE*C~u=w=n8CjHI zNt+b?_FxAZ8vsGs1NFW5B#eda#2}u89hj-=96EV|8J#B>uE;PIb`}l^e2hSe4-U&U z3-Y3J4|XsK38n+tEm@|6L*hicUYKE+wr*SHWD8gRTww4CBOyM)!*g|OZ}Nv=ZT1u5 z0YjRY1*S$1X}6(>O}1RayvaT5=V+>8@Ogw**_ zo7%QY7oSpLxBrC5!Ke4();Yw0IZ;fef_@3I!*t-&SS}(j2p12_l4VLKcY&UC>GFHZ z^z8TbX?we%0`=_FP!6}kuEz86RCMukgYD{qg+->Fql5A)0)l51%vhLdX*T8UY;YKO zem2jA*Tt$!XZOlfP3WsvTzN#dXtBr`l_rH6 zG-E56tT~T2X8-u!#rrEnQB@CD2!pctLF}OLU!ZS{Fe9VLVkJBaYARi?0+ykF17`$A z7IiJ70AxS7YGLvLzztkG^mu!uNVk1a;j7HfUil&kP`MdWw}g~a+Fr(JR!E}>gC;Z^};SxuCtWRK6t*o^@BI=9)IY~<9mN_ z)wScMY5S9TPv7Nwnu`5tg3Uy~IZFk)%{Xpsip|re%3oEFZ?mUCiMX6NR|^Pd@uj9b z<`r6ptcmHeake*p!Lo@6#}JF=C4fW1K5WLQqG=(VPU|bod(&o}(%<~bD4j0rv_BKw z4&e8L^S&RCQ}NNO^Yr~!QaWymbi6?0kPXL7r;9EukseHIPIz*gQ*EMkRjh#p49#++ zDFG_a$9GcttG_x)Z{M%`CojWFM;j%bwB{nDWyozw?54UdOQg*mEo+Jol-3|dyYNi> zB#XXivj3rT`zqr3llUXWGmv#T; zm$r)UzS5=pUqZ(AC^0@`ucPlf`5Prn?bZi@cc4*l8FUDyOn@Z=#W^f8L}lX2%5S?R zI%!vJ3xiD1`{+v1!2Abw(5NiavRp2zW!E-mXOp_LkJf7J zF$0W{?X_g_5Z)343TBQsYgu<{VU27+1m!~a7f!TMa0QY^BjM27g<-B0u-rXFmx&;X zsZ@i%sZEQ64==W(cTOoV2)S<97DvX_hIRb9#y)#3)iHphDDogac;eHf5zQ_ z&M)5TjJoIC>+r2(FHbd+O_($1O%BlEp_mI$0c)Xcvt5Z}u0lH*2^rx?Mpvm%{Mb+V zhE(7O4gNKu?lgK8=@6_^*)&>928yaPJX@?*_1u_y)R|Ntpv1cEmfT(yXGdPQ`pBFW z0=aX=qMX&}>j%HVy?ejBVG0;fwTgSa1ks1LZMQja4lcm9)nRnu;hT?cz$j}P4A(}_ zUmM4uiv?Qd!5^EmvQ3i@tuih`C z!NR>I`wrEK%WSFx2EGTXSI)}W<66tZa#5ty6Rld0zbB<<-qWYatVk#K6yG(3SVWSk zbU}nh)4EVVV-zw&hy~b-w*)DqY-9uRjk0{mWH`1dBhJc3hj_!W!h`<@(=3<)Uwt%{ z8#7zpuQZxbm+*orcGqtMb3xVz;4L)Y_AZMYPdZdW>Rc!1t@_dg!jPpd(ibOB2$|;SPk#4=D|2 zU4n4s*ikqzo2G6yDaui$ zJQsE>)$L^3k915Ddr}DPH=LtdHArEfYxi5oS`xzs6$X-&JO?3A-NZHAXWkUJv0)R- zXKJbo-?2p4nfO|A*(6>Cqji zWBcyzoNhvc*sSf-;}`n$@{O|pE5Ei=y!#Ln8~k}_1WAM^I94Liu!~A-HhpqY6zJ1y zA>`VR(b+&@62=TT1Y7q^?<2~`>$g~rWQL+mvr(UR_fxvC-KTli_piKFr#u!n zqfB?ufhkhjtx~avD|AysRhP#HrJSbZK;4dcz^<+#Zp25y9+Uj;V0N`dTfj>wGHyGW zp)2V~6CO@Fx2;um7;jlN$MbPn7frD^ub+8#|L?!=iNnt=S8aFy^faqg@h(dwXoaSy zszA-c=oXVRBD*j(D_BQ9_jorXHIc|hO4Px#R@}MJ+c|8-=ofv=v+dYWB<9U8xpum& zP-6#>qo&DVyddgT;TE+0DeM%HnRBrwuhk#&e+%Pa^D0o%@;be^#PwNa%fgjIjFF9T zqwMEyQ7Jo#IAgb>!<2xamn7yY55k_nT}b=sDP{$zzH5sRfU;?(QdlK`6;Dwiefr0K zYUm+H5`!>1FUwIC4zgMmzq(0`AaRe^CONt1E6uz}sWwiv37=e&JwvKO<&Gmun?iW3 z>f8j!;KpfPmMsZw0qiG6fG5~z?#4-utUh;0sYAda1U0T*s7a=d@%VAIk{*-57%9{d zE9PQREMxcmLs7(mC3oxqpm^IM2pQFB_tNDwUoHOmn_v3%zjSi#)oHPHVVQO>q`sbx zQop2@8kY0iW6O0@?Ne=m^%8R#5ZvJ2wrxdS;B}2+s&gVR-z=CF!!Ex|izN~#beUUM zy7b70%5?c%kOiV3>(b&B9%MQ$$o#S!a8YSooZ;)}n+Lno<^-I9`jXtOvpI^nK0W^K zl%9O5tg3NpPfxqlEF-EzeGImjUG=NAXn&f>NU>!%Z?jHDq3@hD^?)cL3gpjYkFK&I zB5@Il6&wZhd=9v%PnR$E#qI@E1qFo@=rb)BML*l@d-%7#@M{Qn?9yZc6J5=Is9wmG z3tFvJLE4t8_@!LSglE@n^6nZ{0w8*VlBnMGp?L}I#S*Ae=ay>J_u>uk1 zLxe!xK}X2kzY zw`p@cPLs_A&4RaQHA5$wCcW#$Hy`{fU;p;;A3DE(da$v3j8~;Vl+{z0%kOZMAzt0 z#nCLHVE+n%bWJZw6uSx1%*f(AYB~_ioqi)Lhe)^f2-eS|^v=>jQbW{bVk_^;PD=mv zZ%op?vnpNQa>LepYIW?|V%e1GowK5U`k+rg`tCWbzzg`m5rxD>H32LtTe|AlKj>SG z1aY_5phlsP9EO%L9c=2}{ki{j(r=E-?&4-!t-$pm>(Kmk&fi=M#0FFl5ZcVnNe^>* zEt7Xoi~i)iPoH^unSR@oO`1*m;^s-}Pn)uU2ln13z32Kr_e-0_jpHgkvP(HWPmw7v zc;rB(I)q*cQPJW|9NKgycXA?4kN!Ti&@viPpsC|cA?UUdW6`I{1R#9d?;dauS-gF{ z?7#ArY4Pe8XDQvpS}{&(x9ij43N%PHG8oapvE^(@yccjG4qmyqjINf3_yL3bbgabR z*`wz(;QXneLKfPO{~kU%ed$vleBwt^ zS-pMl^f*CKQesfjhuH5jUju_J_OOqT5EDbP|NTQ_l&)EJ7sxQM)zA<>vG*B1vM3yl z54dG6aB}ddi#^UzSPiaPo_MTiwQ9$DGs6do;t1}W?T?l1>`@#w1ZyNN9aN`bcSfpq z7PL8tF2pLPQ{@DTIPLJ_jbetIEu-?8gQtt269< zoyTbM+PT9N@|>K7d-2I1|7oi)OvdvG#9AohJolhklFR>gpaQAt7HSpj5%+w9>*gB~ zCj3DYiqDFjK~$YwtNe0m04SS{N3ygx3nw08DLYp!Xjxf1Ad3_|;5DVLGui+|t&2>v z$Rf|Y0+7R#Mo{e9F$5zLqV6Ci&q@yS{it&n;eat@-a>IdH`z!R9>0=~uf6_fZ~pqP z{>kOhy(;YxrmBv+Y%(1Q%*} zL+58umlkPjqezdw8+Ia^;7$?i1)n_TAetl)CO{_iDc5x9&quxF+AZg|1(_g^{`??7 z%kP}tVUIWqDDX9y_u`?Crzu^%+E<&KeG9Xzi(laJX1FW*P|HtYUZS55AJ-)APEko*iIQ-Ic0Sjka z;N0fR)ScWZQ**pZ%f&bq=f&)B_pJ+85C4;c%bWjM+s*II7pG}8UyAa_i5z=@hD3cT zM{)Y2rBv`l^i zYm!D)IX+q)ed@c{@BHE0w~l^j*_S)1UQFu6qC9Cv9MJ#V?|G2+HcD(iy5+L#7t5+_ z+rCDN7R?&Z+>Hxu6=2eRyUwzAE&gvDAI*4rI}k`ZY^3d7!9t0Y^e>T8hcp7O8X*&Un){e zP+2QmysIelFp}$Tm<)vFY)(&LMNn|>Ti2TN!0cGfQ`_7>sndgb+P=E=;8WlC_zzy# z9)0zl`$y@lSuk^hvoVCIg5bxAZSA@Qn-dcQQACo*VlpWJb3ly0?|~*@?3U4m6Nhe4+G0X!*QiQ@ z(dV^?mN%)gm`-lIkI~caB`#} z28w42p}A=q)B~ebA-djf)Hbp`QGo?h;{8YaboKiR^6c>W%hMvQ&VeEcb8j2PVewGL zrPc8F-0e3ewl(;sw-IF`5tf}vk?RT zxMk|F^|a9=THN<5yx~_g_X?+()ofQvoVvt3Bc9dZkS0jd78t<0>8QjME4x zT+tqU3JPELxgt!eSTr%sCf z?PWEpmXLIm{a7hAmQ?c=)Kop$MSA3TRY9L#;$ zz+miGc$`Hlo!ZTOKP+SvR=BnfKXI7)7p|q^Z+>|*UENRJ_GneE*q#J1&)@`?=%b6`{Z~`}#+^F-^)HUnXj=Cd zrY((jMET<%*GS6#>S*83HW*lCaGT_|RaR^OOv?guG^%#&(ZVjG95vm}tSfi6+ccU~ z>Fm5rZ(c9c%io-(YhT_>?F|zgk*5kV%BJ?NT(DRraGGh$vaf6{xuzb^iw?g=%$n;5 z7hao9su39VROsC*oTs|j%2EL6sh@_XcbM$@`C8C+WS@Z#@S=OGtbRdAEJwS z;E+FxsXz=tmEvlgMBb|!ZBo>R3_+OtAOy*_YJt^7*nwDbCSa-9R6EofgjkB~TRWJT zKq+kxzqpR5$Bb&{4yjK`&%=dbtX-xF6rcXFpOz`E(ccVTdY70j!lSE>yHBF9p+pyR z0jtWu$OK$h#~Rw&zxIX{)kkJ$VNC$2^9X4!d3r&Aat>XlPkG~`3$txms7n-q;&$rb z8N*!=Edx-?2Y|2QjOS;Q;|%e-L}#NT%ZWiqGVn=-Yea^L@F*@5xe}&FVexOMhE;u7 zq!mcwu9iCxNCC5~=9s9v@x_C*GpQcE@xqtBaP-|5-`#-iy?3=p2ba3kEZ|}Y=SvP-5p>U;2rX8*B%E2PkyUl3dV@2l5tb8yFg!k<6@rtK&{3p zjm9Z$O#5`>9U+8du+tnt1Dqzm4{;U3?kNWI(4N-hZ>*e*bXp@YD;MoniBEJc1UC`= zg%b`AVJrI)3}3|_bZId!s_}Typ28pEq)6vSRjL-}8y7ZT-no47-`cr2{lXX}-uzx# zoz4~RZF*t&Ls5i8H?J~{O6=Cd-p2-J^;`mMjM*R_afqu0OAbi<4wSAe?2uDAP2*XW zHpZ*X`)7;yy!F=6pS*ef{*SKa^L?y}B@E_9qcqtom*a6!trm5?JYJR^oM0bdN7Z&4 zJB$A8Xi}6LT?ypmV52V{yS(Thd1TQ&`@~s#&m*ZqD{gBOQ$v}K&pJBOoSYT?d{K0( zRjQU4ATZp=bu)~EVIp9VLvsof3LpE{fisvvHd1ZD`gIlQ^fPZ zLf@9SE_!=uL(FZ?%_C4mi|!A7d|r-=F5Nj5F3&Opx*2W%T-rI=GqxLEBY?&4Z_!Go z{PVv&?Ln}=uz^wyi*%ow2%SNlB5e@xDQ@SYDTB)-YC>;MivUG$H~ z|KPmd*q)ty@*_|Dvxf&8fA9X$ak_WjFo6(E5`hnJX;cOk&&(TKl)uuQiuV|)NGy~b zMTHWQgnJe>%#Yy`p>9@IO4u*W;q-33hN3vEO@nVh8S7X_x(&J z>}PGeePe8}>Nj5nfx1bU%w>@lI}eRzSO0{oNE{OWX7_G@71%1uS5~ggnMWs{6K9f$ zr3pJUb5vaI#%@8hArdg@kLqq>E|f$Tj2^yjg5~N=!_c!+q*pt{fJEWZq0mCaa||kZ z{p3oRsGO|Ww4AActk-hhME%kNDzop<90!XBK1rj3oOZwXv`awb&+cy8om5Y}^5R$j z$>OzdJ<5Y!c&sfqHp{MEGziz?1uBtzc$1`QH|H8B;TswSs?ahu{DWwiDX>^ApsfdA zjsw;Lixmp2p4KCi%_8kTo6_ZX_i5{b6rGHcTA(V`LqIQpFpp6sVFaGcaPgh&GlC(c2kLDsi(mUFeue!L}1++CnTLNj8`KO*4Y zH8w1YLaJ&V4wxlL9egybK5d~4);4U_4l`NwL=5mns-w1j5ekge&yxha^EeBHObIh3 z(Jjm<{#~2|PO||IprQz(>Em9>+zrpOIZo-$jVhg8M@)JTcyF}5b7S-I-G5{EaP#ks zN5$#+g9i!4ICqV#KLy=Wf5JAIHdPcMQNc-Rp%4NZ^}_893~=!FTGQD&s+o+#i)d?Dq9G@bwW@it6nQ*-$Vi%6E};#DHuV;wTKE- z$$u1Lz#-PsltA1%{3Kqn^Cgd#rX$!}szTOU2dGu&tQJ?$COFmc9*~I*0d7O^Gfg*B zx3$@ov(2uX%~E-KHtOHGS*LG*bCTZpMpZ1nJ4xLcR5htj+kKHHeS$`<8xfIZO_eJM zTZ*Xjp6lUZYLx(5DN*`M4~-6LXn=IIBoTCBP?NR|Lf#az%2{EE{lj>~42Lulw%jma z`}Vv`-R%c;Y8Pqi()j%2-~Y_#F6>VJ$9oSJ>FoSm{;D>>CmKvntAGdfn{8Ida$5z6 zYEU~?gvQKWu-M=caeF8xOX_vQFB$!f!Z0o)x)Efb5L@K!Fp4d%z38lXkl5@){AKD* z{w#6lLQjVATVd*SF_rh|#hMAR+x*dBwP$s<58-SG9y0NHNFk8c9#O-^!!f9l-ryGK zAbbele@ZD#kB+vl>YQkAW}n=(9iKXnx~E}8EGS6NfFTDcASn>YVtT$jtk2wbmX-ho z-H-pYCG7@UGeyd4-r9-87!LDZ_4=bti|?tpGeN{FoeLO8c_>jS29Ap>6%T?w-CYZ1 zM|jgkRjqQ2;bkl{U?V(ebt3Z=;DM=PFzgGsbAmM(mljxqA#I{gyN_Q?)1vtPYhV7- zFW!Cm#RG1+cJ_)ArnVjYvsk!j)aSUYEC{xCJ5a2Uh7ri}sFrN*A z)0D0}nbPA=_h~#)8U;QVx$uIAq9>#i&0CmIykzC9J@nTGvv#>b8tW6xyAV)p(93#=r_=$t^LW7cAlez5YQHFviK8Bb6|BzWQIQwI3@C~qgc#)EvLq2-4%R9t zWM>;f4wq*s9p5O@gSS#z-A~o_Ml(LV@bc!?;eUPb$ku;WuG)J|3%VSOYqt9{>>r35 z9dWed&cbPp=*)cOq)V{DQ2%Jj-^1eoQJbb^pLR!!a@yBOaDWAdY+-ALEo@d$e^j3 zpc*YsfQGJIHrwS%Uo~@#J3N=ZC`Mhex7(!4k1x`@uCCIvS5N!Lue9lzD{XOcGo_6> zrE{d?!C7aK`ev1ivw6`WVQq!+039kp-~GW+5U*n^dMr(e)SiQt@+NANAjPXH;C+?@%czY~5XY&d+?5sP%I% zS>2^VRufqC-h5D{!>v{N@ei-MjVhJz+>339XCS@#42Khi3DNEnHD5kR>CJmp_t$=H zT0Xkp_Z#D0eZbTbkk@8F`;@S{(pw-zUT(yCQz+rZ3`r!O!0)t2B60rTja39lmtaVu-hA5+S!IrVc(ziWq;$&xOnZmlj7A^ zs&w?qIQ2)SeoTu#ZS_UkVx?0S4FE`@_L|GlKUZZWNd>c{UufW*`%BnL6MYz=Wb)(AW5wYPNSp7^EHP~)u-Ex zYd&=0j6pGxj~@(`@M93?UUQ}aSWlg{4~sQDB|jLiU%p*ej{@c4};W|N7USY|C+zHZ~XK?&Wd6xjpI-vn5rZ!m+aU z&K0iHCMBG0{4_8v{C zob+i0p4}9(2WHE*o-rw)Ww3kO=??&Q-Ri7b$wlTX@RA^DZA6tl#b8Kbb7W*%Lk)W zoHdjE+4ZYWU-`GH-OazfIzK;ZS9hK9Wc8QMMG>zf85g%w0h>o7=#sn_GM}(K+dL@9 z`f8NXSz%Pb<{oo1c4doIJ(;APz1=k185hT=N5A97gY!Rp^x*t=o!z*(k%G83e9^EC!A`er_b{`fQ70A!ssXinECSOIDhJC(&a>EatWw|1 zs{%C7bXuk~H`Au*Qavlv;g$3BzQ-5oqt7hUQ&$)1(r%M3ZMSJUH6URA5ZZr7XDJ=w zIPi#FpmeN=8{jdkU4_kB-H*mvQAQpH>}F!4r=qTFknNfUS9ui}HmO`7HKfO*)IGYB z(l5SJ7C-;>?ey-eh*A?xg$-iTsc=tdC(AgA$(UIQv8!`Xx&60O-@o->R6xD?FMR4O zUEc1~tFVW}T&WOFt?#6_YP!Ivzq)~5U77ylUz+l|E^ZfT#cyh{MK6NkSg5F=axWVRv;&mbn;#pKf=&d|oY~MM0+afivrSt|Gi~nTQ zrwIzU4Rr8}zHN*C{z+B7eyvX5`Q|j;d810rTaZr|)Pbe#sxLO_RVl!nYV{D_MT<00 zIQI?Bvkogu*~}0lvK3_j7-Fm2eMThxZkcnZd&CAZhn1@oq2(1zdSwZ%=kk za!7^{twl`^CN+q*B&DmfSfhRDqMgcDt12-yDy2fTLaqsI31+!}R)+>CA`xNW2&O1m zOd-54Fa`0`c}{F9i4x5?KGq`&-H7$QFe(|=r8;lty+#t2m!m9RkZ9jjFLfqqd}6a0 ztp5QMtFabR9y=#K1errEXxX6W>EOj#l)Uj`-{|a;%|+3JByTDVHh32jZ+=R zS3^Hvq;&6olTPkV(&Cum+eKYA+gJ8pym0l>Pmb#Ti_Pl1U(DyJrB|L}wL~8bix=?V ztTy9ALm6U67@|v_FoZ3o$|`3?FnQwZTYv@(60C{^MGcev?KGLzv*XjVfBKyp@BEqL zyZ7Fkmdg>9f0LBbbcP%+jU93f$O|mf2qi3S)}2D)&yiTIgmEo%HgR%75$S%P1E*nB z?DsYkpp_b@Aq`CqUUb1;Jv{Hw1x1!DhgXB4*QNPt)Hf$pkxs^mk#xA;(VW7c+5S9T zzSQ(jTwWAU9yaNjtIKrtLf1WYc~u^a$~2j@xE1}fO$CMp>eka`N^{U3mvvgg(z##h zGSL`6M!&$u=u%yl>H0C|p)&nbA6Ta64%&3{q)+oD8tX0N*0}XE z4lLWR4~9fMw3CR5&#MZ_B=f^dmO#g! zx=#xx+g!Q2`{KvmclooUy1IVv!AY7g7fep6$7^dzG$rIuWouxI58bp7Xc10Vw!;tp znwuVO_;LLds1gm!VT$H4*rXUh7mIHt7UKFRpHLlJjn5oc64b6}ZLW3W0tg~_!-4@E z(LhLv7y8%{;g##Hr0ICg=T@G5L&`)3TYOIlAQ;p@@tTh{h&Tu11m{lKT|?+};0Qwa z1Z0I(o1DT#)zS%yv+OYAXtPq|<`%a?HP`ro_SYM@WO~klNe}^yu3tj**U!k3EZTqu zZzviBS3JyrVS_NEXpF5#s+D#9R9ASH+(->?} z;)cimi-XX+CiYA$HJ2ZjBGS-`j@pLY0_Hu2MG6+{A-oqCu8r#ro0_8WVve(RBxHfAF1HVwvh+cBAxFbG;$u2z*_IIuclmW7lDBZS&K z=*CMz7k%mhR>d(ny4n7M=UtKJ=PJ06-?VulrHk(_(#GYKCYyv%C~Uxg8Oi0XhpA&G zO-7Dds5<>Nj=D74D44~%z2`RVN-a~34-EpPBL@$_#zIbOkRdo!i8^ETDBAmlJGimgYy<=p-fXwzKTH4SEVzT-&mhDln-KyfU8eZM?c zd*}Y0Cf&L|O8t3VjmuPTPL`VoJ73zqa^cSub^Qx{d(tmXPg37BgBnb+VX3IGnTXbg zHU@ce?pm>Q@SJ&N{yK@ua=?Kyl^&231AAJm`!tN5>~Wee>pxKQzC2 z_Zh|GfiymC(rgSH7(k$U(KL|_iPvoZ(8ta@HCsp$qE`{4@B-kNNJnD2x*TG8nq*^< zwx-onJ)aWGVHj{yo!T?1tfycIq2|^FG1&YKCNx%Cvyh-x85>Wm-U3eTGN` zvi(h5=~6Lk(&VsD2M5dk@heU7_~k|a)TL#5{BTh`vfZcs?UeS=(&FYIb!}aw^F?2r z%!@Q%6~$snWVjytM>1Fd86Fh?1~Gs7JC+en8FR< z1@6e;U=Lv4fFGZG32g6bQ53gC=Fd1rQJl{EbhhaG4?Nlw-}e{;%{eU4&t0vQXoqBt z$+$~j_|~}i%A0ln*gkxzOH6~Bmt*cDg@9tG48*h3KQGn)bY@+v7PNSTUN_{pDw7Kl_nq9{uTYmG0d* zI!Vo(>U0}@U|=dlE{qn;GKp<+G_xX8-UwS51F+pon>3wI#pTQaLTT_G zlM%3sC~O9u7Z9jjnEhjd)L3vlxd*V2Znfs+0WZ-7mx{Q~5Hj-`(WP_Sl@vA=do*b9 zTqXB01Jr9)Z6OvJ96%y>b`W$55Ocw9&9eTI!08IL61JqJkK zCtAIPd7^!FxQmf@oZ7o4f}+a-ctW1B!-K^ck$qjH$k-W-c;&=K!JrEyfUyi91)i}bjl1>v66%DZ3oUG zKa?w$>Wj%K)DB!ae0Q`}r0qvi+I=FW?TbA#pJ0{?bgp?|d|HfP6#{l`Cd%f|=c4JB zEO=#mhl!DC5*C=}2uLee$l~qgo>FGCs-ovCL`2JKQ}Qm+SbJuD8a& z*={p5ZM6U&bhr?-c*x%7;%66)G#scV;VXDvq~oK$cyN8(&yUfXF3OF~cH>~@?&j|1 z-<)i3{`rl~`qkz9tec-9d)GYnn8Px?>h^S;(r>~DF%CYyM>~?}sjUv1#SJHr?ZKxW9lq8t7b=`^<4)Bl@x&W+% z`pBHA40rWW4S^Z7ST)vwOWV!ld!bzT?k z91vNR(h{pelhU|LYAe z8aP=J*(=~cG+!0{f;CWIUYPd9?emoW=dVxu)v72C0YuX|mPG(t{t72oeVTNs-=6h-T^1$S55M+S znZEXBoi1*c{iIGs6Cvki34jYFn_X_T;HZQy3bbTLUDdC^I_73puT)hveP2QdC%2A{ zM!*`Acs@;|q7~0$I_~@FW>f4;Q|e(D-M~tuOV_T~>07Uk)3sM-{pq#7NT+ow+p$n( zpl%yYkv74vA}LJsW$#%z1 zqqhYK|3pqp`v0DKtbq=X_rA;{m9epd9$AN&?cCbl0IV+muC40&{dmHEPdC$ea zaA9xuXUEfY`@!i+0!_4XNDhSvHsGTW1%-xflexG@3(zPW5nWq>P}xe{K?NMW86Cf+ z(k6(b+V}EQ0c?cT77#Ew1#qT;xq%D~1d6Z)WY!A4I*RO6HjFBE*1TbRsErvEmh5;% zWoe{2xlJ1XE0Sw8@Uz88k#Po1!I2`Bz2S@!Dp?`AHa-tdXHKAUF^nm!#ztd}pXUq; z*PPi*#N1gIb6(r|xfU`6<$@3m6ug${sm2i*A>73XLpTc4;~(8Iy%p8f_ec6TtI8wH;EsJU((J4SHy?v&;Q{ zvBaT-3G5Rz$1;HwqF$*Ok=U)no$akhD3QY%bcxr|;dq@u%)yzxhwKi}NvaI(Ihv zRE|25%qG}vn54*=v}{w=S82tdSc^3swg}{w^g$G(EA*hWGGwuhCjp^`!mnA7I1VUu zB+gxsdx8``m|juRNqnx=C_G2_9+)B!l#Xbbhyvm6m^qU;m8N0j6P?nyABQ(ug*;S* zAjsFfL=gqCLD%;yY|@)iTAf4tL+`~d&57`8ywyu+db;UGU+!-;{bNs_7LQ(N(<7Hw z>G9pBzqq?B4!2UbF%o-hr(oJ=`Ufvm{k7YZ;u6|}ZPhN}H;Xx-tLPMFX2P11T9W<| z`jDjCBieniniMbJw4%}R?~C0HOJvY0yCJ+t-R;GEwUhL7*&t;#9#(XGnu*Rmr9)q|$uuaj8BF|s0G^r>NH3kFW zRCmq!qU_Jk+wOEZE;jn~*yWwCz5AKNe|2w?e*WJ1GTlF4rWtbW@Ti&GqBbT+G$<#S zAD}`Hf5B*sv8FVDGnB2s09N0qFO$86bz#(k4Ci)YgWTu zynm6hWyux2pT-*vg9)+n5t&-bDcOFt(#lf_qHTQy^K!*C*c=`hvhG^LpSc1{dfu;` zZ(oJ%ubvt!9Gv1h^%MR-u6pv$myppNK6(sQOvE%39BN;HTA|R#`%f%_ChLwr63AJ=?I)Y2!EM~q}{J$ z3E}9A6eY4I@!D1i)f>s$tWC4x8HSRSl0x zzAk0otP0@0WwYq}Zc%jY0#yo(z|3i_y0V(2G?}&iY`V*wi=p7C3=j*(2D5c$xgz*fb~S7K=w~ZxR!SyS@QUk;4VCTiRz4RmPi^=@wU!{5mHpY#b|^aBa#2}pmb`zB z#Xmye7!WT=LUeLVnbm6YP90sMs>kLDqq4n!-uL$&)TkdfFVAj2`NYBBefHAczjj(I zkCuxC6Bof9g(Z#XKwj`sFu~`=d}o|UT?cyMt5*oz!&J4B z(CI$30{>Ly^4@SKCce44SdP5N{0&36(O!m$cO)jnAj=UmuBd~fA22B2y&>#CH+kUa z15Z;4vkn^umqJOz|D(xg-@*V2SO$%kQny+NvC;j_-G{DOrDk#J-9uN5 zwhq$9rKi%?m1j~tgDv~|Q*=Fs`-L1_^r>)OP;f3z`5D!CBaJq9<9CL{dD1??y9+uam#V*LHsIo$Bb#my6}mtrE%h`_F#t?eWgx|MSh;ul>EU zFYXqr#qpi*hn9(M|1J z)Kkh$;OMUap;){~+_-{G98HAbc+2}X0$<8&0=^F*bv!0Vq{sR%ey<)UU5psjm2YqsM`Jxk!1w30>tkFioWyoQ z;umfnvN-wS{hMif18x5@;hJ!bH5MeiQw!i*U_)kfB*qt?Qqv$bK~&4I^v;#tz`5sG zpuJ?^7n!%s=iW7K4@B{y_nqrLy~+SQdIIqH%zkGven41mah{1y1N@mUx(3m7XY;PO zaeG{cU@{@V8D5f3mNdx6bCvG(SJ*R;i*YNP7S*SY-vJtOQT0W~H#k zx&|;~f~ghFfJjO3ppIq+ZAsuyV{w2zRV)DD2Ad6p_zGhYV2{H)SNu;T$$xdHinIuKM%a zZ&l6tald$Qt6QGjtwtL=tBp%f{r|SEzWd+3cJJlqn$USg{^s?? z2mYr!o0~tpbJ9=8MKhaLSah0$-5NqmERGcrng%&iMQTx0py}Q;j)g)+6`tAveze%4 z@GHmTvRy8jsY)BO!r#ZSurRxzBe;Oi&=6-a07^|cs@cV|@vUz%HY6nwue{xJK{q@; z>LpzzqL?Ia#($!q&c2Z6b3#l)rly)#IZwkS1K2)zC(8lKM=IcoF%6F z!L=d29tGs6F1p3CD}jvqd|5EEs4yrp9dpj?a38(*E0*xFh6tkR`}28+eD`#8(!eXP zoG&^YH|_)PXAJ|}QuhD_^v1MgL4-nZb5<58(r1%0T|5}2%~{!RZ&t-0f8pzCW1PCJ zNtY%dX94`{kjcORxPH-e#iA>_|L6lBD?yj^yUWM)hrjZhgj!$%^_M^Tk@QEt^;HQ` zu#7c*I$xyp?>+UQ^y0VA(yMRI)35&Kak_qc+5g2K-sB`u_B+?N83T{{C^(W5e{(=QiK?tsmR@KmL_B4}SgV z^#N820%Ga>*|a_lI;E0!OBaxV;#fKWqrGK>j=o zKJ~djqQb`zYxX{*>8&4tKU}Dr4j}VGoi!dfec1AYu^2KCI;%CM7Fk2#BDSC(9IW~A z!Ep(1!!<<+i_6SX8~y|wDw2m04_mPDbEGYNNYqKQV?(-X!gyC2&~7Nv!?Za1<96}T z;8LkBLTZpP)*j}%N>|lz##GfH2pG}|By1lk*c?cdYj)eiwWGtTp-F6x zVtmlhy2s)N6cC6=Mn(j}Wp`9Au=tXS6I*ThzA+uazl;Sijvc#8#R?CF8Nq6&ytz=M zg+&y3GCeKQs_pyHu)yZUJqjqFfBw1)&m3dSb;5s-g3g6Q{u8Jo=XV!~^zDj5v(Ta+ zNF;@ZgcJF@xZXe$IgY%*yO>b=X?F_?-d&|{eCI5E_w7Y`{n{e^-S6x`(UsD;O~3ci z`)O~d;`sCZ&^rt_6>T8mIdJSnaYo@BQjMFQzgO4XB;c9yca|$K1ME|73<7UIiso!z zfnI@Al=8A8M2^n~W3{S^vTdP1B?=9J2Ubox8GIlBtk|PsYQ@-R95TjbT>wdJ z-@du*ADpxk{LcPP-9CP0^5%!%xB370ukURB^~G|vx-&o1xN{&oC<0+sA>V4Zg^jhd z-6l&Fb;h(Ck#8G}gH2l!w{~!;$nS?yDy*%sV<2*z29++*z(_ujkDJ$SXSuTIu*q$} zpyIX<)1^FH1Nw-G)M{IXqy%h)=c1U-99VA`2>wpaYWI;{8(^m>AG+wRnb+olBQv%>lf+cFA@NeR&~!cxZS$YN3MKKxm5 z7>L%kGUhrIr9q*bQt`>p{mc20 z#BwGLWIzI0r;z_oEm;>Us1zNoX*||OzDTC(>F3B~rFis_?HUlOi^LEjyv%aJX2hf(n=QL?el06^OVqu~8o(s0bl3DD z;-iP@s0RoAZWIZ#b+DIes79-_y>sQMPd<3<>;J~RSAOG@_g{Qv+V!iVnQr!%o_(U3 z>|X3Epk*kd>dB}FbDtHmTE42Mu(%OnwIQ)$(cL2LdXRfm(C5B#4=Ed~xtK;wHEvgE z%My*NMw7OhZWZJ03n=nZ1rAt=@bwWFGd9F&p#l#GX(h=3La|xZT{WHwE*%QC^-byb z7IMv6fybX&ojw?y-FiKBNMLB2rW$X2YwPN}|ARZn@BH_(zC4|uADy>n_}-k8HKTXf zj$qW0xDfzaIrf0g1+iGWTBzpGI+qn3J4U271936&6KmE9rneo5o-eSlqL6aj8o{%;UtBBTiIaKTD1IA=@Ym~qW6tXVim5wl*rp3PeY zlDO!@=Pp(%;_+Y)mhqv|-$2R0b*M0HX3wMbC0s-FLQmYu}wQ73A)|NolTWmso z|3p(+jLqn^={dwk0{6ntDF7*sAB-;-gB{w$Dt-sl4yf~(o;I=v!}oE2d>dJq;~rr= zqWCo!+)qaE(n%fOt=Y6}-oCLM%_`kHJxcQ> z5;o)rpw_MSlMxU_dLH|Z;rc*B5f@T{XbDc_^6RdRqUy9ps(_UcZ_o!0y=4grWTypw zo-Wj3Jx(#m>lsw%WM&SWE*6c1y%o8J3zjdIU4^_EwQs(B>bOy(v{%51>7=y!$O1&g zV1{`!h6U;mmOnr#siwwyEdC$>3+UWL{5CzzUUEe)==5TeV;}jfA>@dtv8W5OP27+m z<%dlZ1TJN*ZPD^d5|L;On;VR$gKNi(+KBNshcWEU)-r6>$#gNxB`Ye+q19~NnC=@| zv7SgG3Cksrp3$e#a&;Rs!-V!%jo@9WTYd8hPpW6FUQs2kI(yBoK8g6Dq7*TZT@xc; zxiiP4Jx6`zeN!NFQC^C#7u{u9h=gD{enQ7lZ6WnXG}*Y1iNz#txDzpmnqjeVdav9e z&=hlCZAhZ?h*otQsG=pG7EVMAieD@PcW^k!>eO(HHjEppG*#;X;l~a__c~nE109iL z{@?>88MCjC{sFWqaOjw{wURxWG!n$o>@b0sq`_iSqTs5h(=^%LO7(P7G|l4ijm^D( z?!kAz`Y)c}d*`v`(e3Kq8@JPiXCCS6joo6jvAd`yGbRO=V>6au(BV25*=`3v9wlm?K~hE&@|kGrAG;KX`N1c-EDpNd=a5NgENhe2F9i zwyH(iD#}`jANsJXMK#*kEo#J*ty?8MjLt=2S9k5II=l5o(VQKn`Tgt7bocU|>A@p^ z?R0Va7pv*?_4#6vx|7qiI6Y1yMA0w-2x9`Mn+k9h@-evpWmBw{V&(8MGxErgyv72@ zahR3bWSfybK&a{})svbn=;_9|9JP;s?BtzS{;$uS|97AJhwmJC09WZpAGx*M-Gb+e zUKN0qZqu;6qC#g#uB)d-L+EQmqnL5=Q3 z(uLKKeH7fQXoX^gVDU5xl3TCwC+9WC0h~n|l_`!j8Hv{?RPNz(=iW@kCliExKGEvb z0&iXv);cWqL!p^by7ha(--+vs0(A{-!a2k18*OV{o6`NbSB&e~Kr~v+Fh)P4fJGr; zL@2jof!wX%1MwC!db-|r=Fj6Z(3-^aLh-USt8gw{l>oyS_+GI)7WXYl#E zVDmNk-l=`M?hL`_fWi>>JPiNW=oBo%@%#fd<~=bI%hV{Nd@<$%!PPh(&Oi8`agXaN zp;+hmMGN)bQB&Q#vn)~cg41~AaCH8GcWwL+f4jTzXZ9we7mw!W>Ez@rEt`e_jX-k0 z95(WqS^di=m1zB%P>|~!DL(Qk%^;i+TD3S$6>?%B1`&nMl7~E0tVp$ro>&wowk+}3 z(fnd#UguVLE27nDD4V0tsKRVWuvfv9gEl;!vmLDS zMf;iMM;?Zgb6~qxvU7)@Q(cvV z6v9Q!FOLd37c`JU1A`7j!SD-;ZMkVA*_2OkUm$F{BB68oDgJ*inOS;71k5*w+m0{@ z9;DRzxyVJ$Jz(!T?3ouP!G5jz0CKVA89G{}zS-a?(Ahl4mqx)l;PD)M5l0p~2uJe_ z^4a+LAz~^ZVWlhu$x%{$tt%2q=(;Wblv%#juTh){eY5UI1b3Gp>#h$pA@+oW0g(46 zhUlX{)b3{R+@lv6d5nh6F}r%?Rc+ZX`X(VU3XR5UwwZPgE~U0^Qg?Rt-0a};=TEP{ z`s1hXeEWmfUU+#TzbAS{w1>|;lBRoCx_V=~E9(i1FU>>7Zs4F5J!rz9QjH<9j4K7) zPyIlGuak>FC^E_tEmYW{R-x#@102JSMHU5RIhuf^h6DB0c!NpaZL@5^2`s7_1zi?P ztj>SPyWPCI!#!Qdyt1y+Y;%W& zQmVQurbcoNn%jrXx3ktJktF3M_w$E-q96qM}?Q&*#D^7E8BTg~TXCO5%$( zG%s3_ZP&L|Nq~yQP<(x@s38Rj1qK%OC={ZI2;?V@8wC0ga2Vms;*LOaIA^-hQ&9z8 z?0|+v%XPhVi(^1sg6jt&$8$E-7Uvz$2E_?bGW=OA)uKkx#>LTvVzgh^3mE)9`IRmf zydFSYfx?Z~fOaHMHC#K8x?A^};^v)Yx_)QHHtGH2CjAfZ?3jowROqu8?)2kvS>ShZ zUU9Bt+HE8#VL7a$&7C)!Yxbn;=&0^>eg?zOe9!&*9mPX6 z#?Su!_R{}*(XFnXEY8x|(L61{i^W($<;eDL5XKe%j&*9Niw4zX#8Q)tAN{{@2k~E` zSl|}YmYpp4!df$~E{jLR=OA#L1%qL%W!||Clm&lykPet@89d>l=5aezab4cL=PD>Vik|yzGE9qsh6E!tGFx6(Y80W4p5*ojeH;=!VuY=0L1PMwhwjqmWp z!Goc5zple6Gt#8z-ms7F`qadUkRFHH#_mE=thyB)!`-iji$_10*bxLHj`k=5ht;)} zI!4JAKyFm_vHcD>J&cco3&@Ed2v?}?Rfr2_i6TB)w=pE^-Nv6 zL>soR>Pg#m4MiQ*Xp-91BHrfe{NA;uD60_!7bqyZ)tr|Nq^~HelX|xO#^&Xx|IYP0 zZ~y(tX!=^aS{`?>&Tr0A11~lf^srnL30&E_SeXS{jMz8FbCTLDAeB5m@$AUsuzX+s zuyh2Wu|v01D~9_VAaLU}+uFf#r^WK(@4Elp-~6}V-~Xfc|H4}vby~Q!wK-e;$Rl^F zuN;2_&lYv1THr;Qe&FzH<*z^ZWcq=F-{36*PY#bSB5nMKD4m4_Ks@Mq=0!VrbVi~y zhk*a(S%j@J?gh%Cn2y=b(y_F7vhBG}9uGd77kBA~*iPi4(Gel`0)pbDp^vTI_1wCQ z+sfi*P#5Z2-0F-XG&pxGs?g|fDZF^7pw-XIXTo*BdU2t*x-8OiDZ+HVmMAp+3sK|^ ztx<_F;&Y&$3L=6AlnDTw0dJ}(8$R3}y z{k;cG0bbi%H-(K}!xOrI6Uyv67TM**q{f`{nV`~vb9PX2zWzT=F8rsmY zBPd~k`D6pS^-xSQo@wwHQE0}st`~Q~k6RO@WWmCE;qR|EUDwy%c(85Tw2;sXw16uM zAH%~%bw1|0=pkCMEaFSFSeaz8#Jn&b$tf6P|LCMCk4{=#Z*}d~GEGKB_nxO_uYKTM z8^7@El87$5g?-e_xGK-4fB^`>#c|uCUn-Ovgoytt|vj#JZ@M z#c58thz!429#iXfpq51T81`X#VQ{o; z@=FVqa7`k0N)sGETTKsseuV&|VMGPE=#P(hQwb9yttl*AGPeYnM6NH)0kn6#ZcjvW zdNRoBR69CFSZqeCEc9gIt>4WNXnY>l9c0HY7kuo(hTW$dUg5G4?dnf`{*MH>`B0@v zOG4X-vC8!<%*Pg0DO;R24i26j2gfLr~NNh*pzn+SuMole)%Yd^p~F^vPy% z_Cx1)-um6=x88hqd2;ulIXjwl&7wx3b?>!Xlx!b7dC-?NvOjSeqn-txP&!(rkQc`p z4y)xz1t1`|X2~$T0*+jObe89+`OxNtssd5rqUN9_F`B@^bcw=kvU};p>A}@sp6*@# zxwqbVh-aiIr66H>JR zs9xrbZ0`j0tSAA{Ca3NbTEVa{sk+q%`_t*aeDcn>f8UMUuNqdlBG zQvA**UqZoDec}2?C@^7LnohfY|LF@~Eq?9xhdA_p%jFju44v^9+$t7AdhNKF6==nA zQLO8dZO54Nz?*XGv8yV@Zw4pMRw6tdy|AAK*2p@{R8l2~cQQch3;rvmky7fv>eiyuE#MnNH8T^bg+L1GlX&8dOiryzbMeFJQ>~qnGYS(MGg0&~Qw{D2&^V z+`de*M8O4XUOi_ObX3!h%KZG|9@V4LTEp9iYTy%0#GCV|jCN#q~IHMI%{Zty=dY zEN{5A9M(0D;T%4|f=~0JW8v0AL30fti#Qd36dzcS(KV>Hp_sAJI6)qF+DM5KT`1OR z@#mxaWipgouGys`*5>ej58G50x2jLnp0G;R_Gs*O(eiL`0-?8Upm-Uy@whWW3R8%1 zt)NJ>8$g}hRkmo<29E=!Eki;sZdtGm+_^zm=}wiodHjq|e*TYU^eVSa<&fwL6G4wq zF@F&=t7X19gUxn|5y7=)YDfcIk^qHjX(C;d3ZDfBdI7u>s8za zyFIUY-Z2Kn9K=DH6DwBCbguTuxp3?Xi&cw2oX;mz$S)yTY})Mzc|-qA&p;?EinujM z6$BBQN*S|TJEo2YxnrblXjjREKo2gQSCdjIp1#;hrG15d5&Oa+^-IHB2eT?c^c#ZZ8!kK2MmjLd1S4^S5`ul zQH8wLX&Tq#t>uIM51!w7>yO{K_R_oBv-`C?X6j{{Zl;6!LSK%jRXyEW^=(rDk<|U^ zkrAu;W`#gfPbEdsee&Sz4%EHbCX>RB7TBQ`G+BAw> z+`si=&Bc(^z%j69iO(v(P>-0b90&Q9yQ%^*_Z#|9Vkbg z7mUY_p;t#9GYl)0!z)!snLfLB+r^tQRpU?a@Ye4WkzR=u`pKA&eq9lpi?zemJxa!&&#P(B3 z(`{dzoVLa3d7Dnou^H-VY-1{)3C9Af|G&q4Z+zp`qol6I*6QBR1wv&OhtxU)b^b^jF%ZG|9-bWV{9NYs; z9D(x8H@82H+TzjgvvNl&icGv@v@A&eohLW%MAXUjq!ZpQ`Bz;!d1U1Y#fF5SOZc64 zoQA0k_Sw-m^20R@uB^MEmmM->E&4-?IP>%<<~2{jZrM`RMD~uK3kyFR4Td_{Gn#Gk z{gOKQg2@ySVIp}t3*GDw=xjX0!c3lsfAjv>5+&$rhUT+MIVa=@i6b>7(!Hp*isjlc zcc@mfxrZA94sU>mDRwbc$rVP3eb@F)Cm(rECQxyfbt-3DX*{0DFcU4U#TkF2;Nn+f zfq?fpw0BeKXt$2*qSXYtGR?$q-b%xZ&rZ*f{E&VnJ_e3O4}bARB!u(Z;tfz&G-*p@;@tZIHpKjgx4rIfy{$Hips5qEiS{1x8*~f1Tl(CnLSlmJE z1Yn`kWnA}xTQe3W_e+J#pkl>Febq3rGq;${eUn84EkpR; z@O6dJthX3hVXfKN#=Eig~dTcU9APYw^c>7+=P55}vfADevhJx|Sk_TPJD^S{~M z7{AjO?fK$-l~#R|&SCNkPfrZ(i57kW2f+!lYlp&8%z;KU7uGhkLRc)RC}8oNMJwSs z=2mHVyRj0X$%f|bHJ=<6-Rg@ zh#7up zNK(wZmE7MoM9$S!5O-J~xZkdKHS!Sk!&xwqnTF1y^^Qi@0jME@!4yXpWO{AO067I? zV0aarbu4&2)Mt2U+)|BO7M3zX3jNaC6Gzb`D$dr~kRiv;0uq}b#_a_!3@=1PvB`mT z$Y(3cQHJx0Fn7sBe_<##vQSWrmy-AV;MU#O6Hw;Y#Hhf31!$N?sXNOh`N z*5T14!v=2>{1L(IC{pvW?Nl4Sj3^kVV_Xwrx{%?4ie!|g8$c&(M9c0@Mo)kC{Pvsw z*72J!y>9`f@ZB5uELgyoX#z1SSjMS5*gQb18N5CvbOcLWTtGiFjjXVULD7bGvq;dm z4w;Pd>jAjPD=_{ZvbqeG``KM8TK7eDD1OTfHdKCoa6yK7aRvW!EfeEeL^2 zoS){83Jf)Ge9LrqabGWjH691kz5ed%e)JFc|Mtf_)?Agv-Q~T0f3%yg?_P7n$Fx7* zN%xiy%&gX6+^=`jz4E9(==X|`9=zOr`R;S&r!IXX7k@?{d2O?4CSvuwTZ7M9h%}5+ zX3n6DYPD$#C2bTyut-H`AAL4k|2{(ru8h1a`Z;JlA?|3Crdj>-8#em^pQ z1S>sPEM)PDLH@&sw=_+-BPDwbll!qLsljPeba9w8BPAh{DR4b#rK5!&MLF8eYql>B z6`w%G0*&*qpd*f3tVA6H8I?*{#jM)Xc0&^KhAzI3+xO&c>UZGLR;?ksycNM4)H!Re zz;zg13sf1O)y<}5%lnVq6>SJs(H@83W4=Hgm{yBbU)_7qRN%g0V}g4$9hd#av^+mN z7+rhn>f|3idU^6U{=%E%FI8oCvg(>NUjR!}VI&1*yk_j7x^0>x-E&NpkR+|RWb_(I ziLRCky0A%55n@|kcjV+L18>j~_aU;zAdia=W|k*72xZkoJf zxsO`ZWPGom*pSMPO+^~d($eCF5#3QR4OAxCm&BSCf{d^$vk7we&H8?j13{1{bZIWT z+$sh;0H~u-E~i5oP|+G^7zLn@>`iUbFZ+|Ab(FbPY42AHG`P+MxUtsp^Qd?C&yE|e z8HAJtZ_m%b7A27YsmmGeFJB!6>l@D*i^D+1g4zv4;ouhwYxlr+9MnWcC~<6Mz1lc2a^qr)>%cEb zQ3Jk?gbXYM?OG0oRjf!lT><{vAo_}GFU|gf1#mb- zVyT^=W7wa`JDj}Wl&yAuz9tH1*ay?18)l|@^MEkIB~B9<>IH<|bB*>qHQO4e>GoEF zoz;AGJ}cXUPoLd-{g0pDe)9)!-FkheTp-jFQEcNLspkhfmw97LBxQ6RiY3OXFSd9Zn;g~w3`;a_3A80r;xW37zrt)#9GHR={u`fVP7__XKtHVN?&Ak9 zpt!@=SS-d%)VB?bH&%*WHhI%y>e~LpdoQKmy#Ib2BZ^JO0XLbc{_(?ar04HEm;AH* z+K2aFPQQ8Yx%7#P-(a!yoA=+}-%a<@XZPPJzI5lk>0Wg-MEyuvr1OqVsZzt!{%9xN zTRiY8$2N%J6b?3%lOp{(B(C;Bf@O5<;5iUD0S*v7q5d%S3Td13Y_%f-AzlNHtyE38 zKfHUBEy^_?yRbjWsS_@mLO3ECF2g|wK4KuBF6anB(`Q<~ZL~y*se-~vz`3pb>AYVF zaf*H3f_bFJG@X=ma1v#9;0(s+1JMdWJqoG@)smIV!J8Y8$-_i}Sv8Gpaad@h?$oZ7 z;}#~@>&C|B3-WkC@*;5+{{ni4F|jo(mq2|{Wa1i8#N9t?Mkw-d-YDGAdY?_p^DBqr zHy^(|dH%60|UunfUKQ&0!C{5mE zy3F#@Vgo|V+g?isb+L;)QgIA6NRg8lc|M3J4A=c4_()Z-C@JhYyMaMB1fi<%G&_?`zCz+$e>b9%It2{t9!df7@g7ol2qMaSaw2~Rl! zkggQ0WL04@04a2cFjY(4yjZ^lc4ZIP?0yjiq7W=~3-I7V0N^r=RxwVta%a%Za&-fF zzuXSPdK2{&QO;OHqgKIMO`^VPs84_Xj|ypWpIvbuYrP3Vh0aKK&sm#fsc4EwLaH&A-T=0ms2SCkU1B{S{zOOK`Jp=&_ut-gGKWM6+dTw{vbRt)6wUoVh*JX6LbK3$Y_thTW`(M=Eh!vU^jJJ zzxU+YD}VI(?Qeen-MeocrbP>S4D3W!aMe%CvN+g3#M@bvqlr!qu%(O>SnqpHVs3jIbC}?3qO*ZrQ5H6WgnQm?kw8g3jyZ%HlTfdaox#5-ia8 zVf+jaNPK?FR&e~TQN#4n{g>z|{rv6s6)fEDzrXwVg_jHb`{Re-=)ZLDgDHLvANS>Z z@9#cw_;UHhJMZs5e(+L|;mMW5#Hco?w+;alb$vqN_mP8dMvJch%H8)CAG`3)^b7YN zN&D?i|B-`l7GJsh-t^)9Z>BFCU14GP!+ST1FC0Ch1C%9xuDDk|NT1!mj^ni-IrwJv zi}x?{js4->cMASqD*E5C`%e1B2bcRFIk?GOR=NHR&ID`mW9vDe|GTLc__Lld8}}Ob zj7G%D1novOTAIpK4b9R+NdTn~M7K1#CIhLofFT!GGA$@#5QH@hi#+^S*CP{M(kq2l z0wII9A75At8b}Jz*oh<#2RD1O5vUtl-5b*~eE+!b&f<@7cplS~u2x!b--tzI0f1YTIk~|rAlsI%-HAVP3T<~cv73#$AgzzCarsSc?V^K*G z(HgcDNiI*E73wv_J)dk~W{>-94aPM+2(b7%6|T`v6o*@Pe%KTfd17&;7%kDTqQp@L zMK6a6tYJG65ig z{lMq{n0>NbwB;Lvj}zICN~s|Faa4KmdoUOo&FK+5w$${zxzfFp2;zdlN)8q%K}gUL z$+W-_T&UVoF~Pz!eDbtYXkCtnXHBSDHK7LAE7FvQn2%_4<`Xt-&X)znUht;eK4j0I zKV}5S#apCOWN$nc#cn6E@2sF-p@^=`BWQiiuSHvOgLf`waBY#D7erW@F^B9!=o9yF z*X0MLu4~e1yBr-x>P|Cf;{BxiTlv8!-Tv(o)33$ zp#;+3v4+uekLSBy#QQZw=g=Dw{;buvnk?Hpn+je(iaM_>>7#ou4*aW-o38nYgcn>8G1e_cT za^-ORvw!)mz26*<%Im2p&hchKsIXWq5>0;)v)4DIw2`90$5C{!_#j7CE3+2)jK(P( z9mu+9!3u&$CkFLufDUvXbGt=#mKRnB*yAnB8od~*o*%UmNqEO1BRWYonPpcocF zNg1)7Mdp#);5LHmL&2JJRhh^bu5fA*b4^BHoCrol3R;yDMI^a*_8Q8}C2yZy^o39` zTW`6@vL1lfpWP%3+OV79&3ACl;i3T4Eo{Hm%@#7*)gErSGst4jlLNa&(eWF=rVtWp z5SM&@+1x)Ki)pCrB3THK6R5nW&gahi=rjs^j6%0_ctRF=8th}c-Y)J^-UdwM=g)uI z!X(tsQLJfUx3~k>T}ymo0EE8Q+BhRCOX;*S#5l1ejBmXcCu zZp^s2+Z_-G#hQ|XcD1b_0!9B=8x%*?=yhr}ii<_m&?=!ImqzbP(!9?0 z6y5{+dbO|h3o9d^ytzn!xJQ2kxI`wkv90r1~GKymJkhf31k6J_|eF;ybc+qtK1e?c1 z6^Nql0>?{8xrqiiG&*t+39)O!3U_jn0=kYbnKDvwuX^Spau{b*N+ESv5cER9_o+(d zbSsTF(TeF0Q`tXWHM5^Oe)}6ga_hAh9&OK0#vCVHsOt7$|8iSRH$eLbmktynpl`9D z0u8aCg^9RRj;93W=uov3%b7n5EoyAZI9A4_Y-xJ1s#0&VCNEp zD_W=Y?Sp?Ee_w^03QXDjc`jhj7HJ|6Jt7RE2^>2L&M>nLL~*Ua^BnMS!MXM|Ns?7l0A*vV5=B!Wa8cMsak*A(615Al z1MEp6c}3`^YKBlagT7?TIG)9LtQKfk*GwlReBiQ@8u!RHH_Nu|M`!b{nJ+u|9746r zB$9u48!t!O|Bk(ud!#Qs=+h7H7U>H|ZTjq<@?7_J>ct}$$8UY$T^nD!ayb6A%Lk)h z`LnMayq-q=Y0>pZZL@6W%_>E zh~`2|b2*Syc+N-uy64@H1rjpW*e?O{JLg=sO##fPYor`^uTShy4e?}rCvY8Mw`HN8 z>SGr%(LLnxaWCM!p#nP}H>pMudNCl881Gp3D9Q)~)4E+WQ5egYsXmd!yX(RSUZa~+n$8O^I9ZH09$cX6;dkX1Y~G|SN-6A zdbCa>mW0Jm49UUWCLhn>hTci{z*(__ggPL8EYJv93N>Q(Y!xQIM%UItOVs~1)E%os zc=ToED_&4=w1x-E#v|6t7#!rOs)D5SJaY^@L1f~lIR-4YOw4y^m@q{BSOcCH2a_W~ zR7MP>e-}%ktO+n%oI#UMv-6@&5XrBIj75*29G9X(JPT9SI2xfA5=t4ogCVsdo0Ug# z&-cJlEm2^ZJf2a!K#5o}nkQ(kB3ClDTjgJ*n`+*OiLDBjR^%4e?%=1x+pZedscDyK zG@hhlJWWNrdTcb=`Mqa1U;F)MH(!5$bAG&k_tv$lSf2L9XtV65v;JUvuPsO8q8v?8 z`4k!{*&8XoYvizR z8=SWvA;lW5?1c~pGWfCm7l__Kknz#|mxx0B#+?uHU?1Cm0mWDMoA;h8(WYI)L0J6Z z&&Myk+&_QkxdPlg-fSmWpmqDvy%*^}hPEwGpfBHj4rpPR&ISW61QB6Jl0V07!~RQm z-dle1(zp0?QNRUi$0DmwY{B9)!hdb8IOI(Zl#EM)5+<_WUd~dn1BS)sG-r-BDs~DX zQZS#4XdEe@=0vX>HN!duLm?2l;LwGN*qe(A1)HPaphiVui~EH(E?S_x5BN7m-m2+G zU$|cuzhl2kzxY6?*Jt;u^b7Z^^dkoya$nQdX0@1%iUkU`*|fa<cxUg4$V`r=W z>R)){;v17ud95n?qrPgpwyo3Ae39ned1@9&R1tqDzse}#*p@6|p5(rz0AXYwvlYr> z$pjD}j<8YUjqE5m2>!I%r#OPST%J2j4YPg$O8GK1Y=;dBP;%c`9C#xbOdDtUaHcb& zQ<+PRLXY!n@X}&`9B7=2C~TTEzsq=-yx%~dIOh&+RG>pb$J|Y`9ST36ycc_`hN70m z2!szY=Q|zAXkqxrQiSG?mNx1turgIB&&4A0DLZr^^b?$65vJk_+e^IpL%yj^@N?rk z&^YtS*19cWl1t;@NO8)RC@x%#e1y=BMSS?urD#CFTc8!Wc56{j>JFif(Z-zD9z|oU)fvp-ik1EFhE}yy zzKD_2y)od0kNEWG{+JDBy{NjK8mR}_F_~mZ6XDTcvq54=ZMk3){m{=+HAv-)25NLp z#J$t+RDO8^K2>33m(r*fGRhQ#L5uuQ!{=^`7i$%S3bZ!@NGZ4n2Cc=d%!KDn=F5eX zSojf0<*2_Kat_!t*3wWPx$hlbKZBuSu;KEiEVpUdf)=nMv4B;yK`)JhNH8$?Tq-R2 zzro**tXwN&g8Rq4o_PcuqM7@qX1&_0CTM!##`D4b301DT;=v&tg5n340`J0Hm=)k5 zkZ)-YiK|MfL>)A3eqMMW1=m#L-6-Zzn}`G(EZ1!KXdw(Y;X0}8Cg>Mfd8s&Vqw!Ex zX|gd@u}V~U@mMvx{L%A!*M9f;?YDmC`K>n|J-hkNq~lJLmb_h8)@lFnk**rgTG)Sx zM(?7RH1Hl8K@!n1^Pt_zR%=IK1a5SY6||;qyPd_Y!^b zBA)7d5jMA$@x4I#9*PHZx&)9ueXcpW=H$WpknxQ&LC)>YbsbO$2m-uEaTnJDg)2rU zhXdlf@aRYb1@P1M-F(rJ;%qdr`Gp(fJ}nw#bU5$a{M2#T^^>;!k;7`aIV;ciw(FC_ zgVAe`T^j%Vr3<5%_O|P{|D*3*o!3=yy(s%d1@p)%p$zQ6$%O!+D3)p2%B!+n3Asj* zMzdQ|gdm!7LBk5$&i>p_FRnfaCwQq1mu93957VSoBTfPDVwV_unP}5$ZC6FE|3V0&{(eU8qE_(vk?!wm zKiaGT@mhROgXJuOC)V!qe!JpIw5*I)R* zKX~nHA344G=8Q)r6h=N-o2KJtd-qaX)T0`OQdwb1NCh%s`GN{vhms+y4QTHY;fOkf-=MXW>)QMaw3YZf)ID9oyd zT-YH&0~LnO0mW2q)%pQwQ>&tI5M>BWRnG!pk^Sj&{3LFDC*lq-fcE<$!9(0uDo zOmP2rYVM?krG|IdL2<%yscpl!GP#euH5WfwOy~$MVJR6B%B|Lj!OR6uxPrSaC{CQa zN%=ap9%-Fd@gpwVny}o%lZBn#GK7=`y5==kOn={%=-7z*Ba?g86S2KlD1j}f2w4Xr z=s<(8b20}`^#$S@aU7}V)Ln|2#pt0C!aTM4f5RkL+LibM_H9>QhZ#zcR_(@>1#4SBI1?_3o1;+S1=wNyFdRW zKgh^t1ElMoOQ0Wnm1|#|;c70YHnQ54JUt0a3fVE0A7oH}~Mu>Z) zPvmnDq#ekWlcLr{AGwR|7g0PoO-zR9S+q)yhC->8do<^CeP7p{)kvO5BeEsW5CP~UQ-*_ zNTTHb{nmx|e)yv|zxoUR`HinW|M+sbnxy54W}eZkMYUZ_rp3iapP&=3-zs^AuoprV zCyKWaHN>AxUDDYq-ZbxEEC^srA5mqVo`@53;b7mc>#0YlU*6lUUi>d_ec;u}sJ>f`3UJ^S8+DTwt0uKYo0jd$ zIi$foa_Wh_qKH<4zr;!?hg=ICu&3ofde<&Cs1V9$cf%;C7u@fF2B8*GCa!oyTAh&* zwoLnQdra$(ZWIeXh`dbQQAYsppf{*Q{?$t5xbSggG9F@pf!3nW2+_bW*K$S;ga=)w z7}_l22HPkpA$2{xFHCRH*vbHee9kSz5~`;891yMD9NZ1Uc<+&c?RA9HZLo6JsYd1p zYGdsVjlqNvx6;8NIzekKJ^?y$u(d#eH4Zh_O(}Ko+#QWL%pd~^iiMYgmxEUyDpjRK z1R5AigV%F{HSRQ#4rLLGJB3NSO*gPNokB}W!8gYO&# zd@f$Sy12NvO-XJP1^-R=4cEjqK6e^ptyjIH@@Oy(9#A!*%^^z6p04ZfAFkCcUzWl$ z4L3b*Ek4xrI2Cje(`EBL`MYSen{S=@Pf}c%G#yA3KBoi} zFJga`@!Hvi0z}7U@f8Qke1fpH8~W>bVqq&nTMlsISZg@(!fw^svnFJ}LEfSha}*YF zPKL3!A`c+|0RR9=L_t(DAR<0j?C2s|%G7`k%+6tg7we?YB5c)WJ4tnNM zbjo4WGVz!e16<5v4Fn})6Qi~)r(3r1hp4TR7AfM1WbS~6lU%){jtpxVa|WY@A8{&q z2sH>RO`DsuG@6Ytj<(yaM?Z6Z`^|s$!E0arq4~Y*hey}moObhh>PC}PjwWp}8nwHJ z7mx!BcM&Y+P^$`(0%0@+UAZ6vVM!tf7F!^oOSs@$W6=PsToD@-0;LvY*D{+{xHsLe zQ46z0>ItREq606s8CBEF(}v-%%Nw3o_>JWhfZ)tMgbYTZ=<8$QMvponRxZ}!XRVI0 zaw>#n7J#gA@>GlsMJT=T)-qRfCTK1m&C845H!8?NE3UyN#&KQ6|E5*_(6YkkBeYV5 zUTzs!>U&k;Gu0R~?TRo-aSmg8#vBbQH? z+nd#c%ZKA{KKaPxS1w%`{o}uQ1SLlja!`Zv;dMku zl`FoPLOvJId-n4RxBciMv7={ho#q00Y-*YcSW|^r?2q#hjm0(uS+t}Q8pmx{tYN;w ze5O^ODgg34Rd0<=^V4K(Aj8vT=8u|3#Uj@zV&=8QX4e_4;_ewq!;jJy!=gT-E{e+} z4~^@f=RfibRk-1p5QEu!AzNedcF+ee`g884_*}GR#MaDnYIuI}v_q!4&S#JHKzv3S z`mdpYGN@8+t2*QfZ*qnOGa9 z#s*olZepd$=sPiT=h+?yY`pezsHp#TV}Z=gj|I=V&Yo;6uwm4If01 zsxkPRqV2(qFVc8CPLtUrRrNR(b)QzNetWWe_0#vi^P4|&a_yVH_3rC$?}15!$S!QV z%2Dd~E?#M>$*ia*n^8yz+G>+l+`#Z zU5VI9Q$J+KXhYGJ)u`y&6=xL}Z)~f&Wg7)pj=47?$D+?I-CSU00fdXe5Nr7J*3O^p z+!#SDWYFsUo`O*vx=6dQ%}Rb*VsglHa4rTtlRe}%F!Yy=zI_kRaQL0|E^|(e&416u zrq4-5wrpkMSt*jEQbN2Y5Erp-K}7wBugN6O1tm5bDoR<9qPPbt2sH2R;!eRN2n5nL z%Sw*64fD>_tHoq1AoO(oZUU2Vq!ew3 zICn-+ycMM040F-u`>j@EEZ~e$Le&x*!n|=eB4VVS`vcEg(W455C4DgYE(f9#@4bpL zkyDN0<=j};*4gaUBo@v;GGfPf_`4KNc{Auj(0D^G6ugRSW6iov>j+FHvV6e1PtAJ* z21q#xO_?{pz7+Gsn=x`5NC>qex`WMFi>mp85kv{eN z|3r@Qh-x_oCpmQC>TFX$dD8?;sys0wdlAMPZQJO%2V|6Gu>pyTmLz!7vSdP@So~$w z#{$D`v|!3*_}hb3?e-vIuGb+3jKffnReO+AK|Gc11^UzCf9d8iE{gVXvR8>~mGR^d z?-e^6wfzj6W;9d$3-#3PtK$L4`xzEGO7DB|*dg86&1>=wsh&;K zcyp3w8#Da;Xt_AMn2Nn0I=}taA3D4B`bX}*^0kZ0#py_SUe|}IV%-le z+9zwgw_$aX@-z^*tf{bFOm4fa9b*lF)4AY!q-K?0Ue~r|RaZl@MMMt`_d(VyDwtek z#%HVxI(#nG|E5S=EBx?7nx&$Ul_(>&$ofGGJjfrEr3&D-u`FuDvCIMueP13$+@i}4 z7uQ9&P|p>-$>Q$$oieSKWzj4Zy9jXyei}csSm`CiAVq+1J?)FhWB^A%xWD;3pSXAH ztMkvi_PKX|<-3nvL7_IfHk+2$;F9wf-udmXlx2Ndl;t@js(5#sWs{bRMJg+LtfdCm zf~$*`qBp*LdpHF*siwhs@JCg^)T6K{vhld%hQvF?g8)hxwm*1}kxGN00U=#A=RwWq z1Z+AyUsoHkY4hKMpB#mdgdm~t)8?!wk6iQC5g+X1)#guJ{MH$jXaMrcS@xYVTMw|0imI%1#7t;WhxFNO(&_D&A3b(=L zE3fBT%*^}N{I7y2avfyu8)Ask79{GpxhRL=BoJj6oc6rXV`X|&i1-w3G8Bw@2#8*R zk#Hc<`b;Ca{%i%xgxP_cDELuYe-47a@J!X6^F4L<=^>w4_rnPYVY-q?cioIm$ne3=jGQcF^fQyR=r45qlfUHC!g$uMCII9P% zqQVGNwEkQyMN~=5*`Zj<$X^gC^~0e%xLTL zdQst7>5$1Z>RajGMwvV#M|;v1DoBbd(1HxaF8-`@(p)4)@i)M$ECeLFK)Y7lK@>e` zJF_rz55r{Hp$%&;Aki|ndD%{d7{#sCXx-}iTy(7?aJ-**c;+7Fd&6FvW$k6vmkj2} zh#_tn9z@YD=lDD*ej#)z?=9|Y>x=6}<@Vvs6v0ww#P_?MyD; z8O^re{M@_0{Kkd7(YN=utC#=FJHPci#i+hNn`}HNQg@2YO1oMxi?u z2hbIXrgNX4iTs>rk)F!5a2lDvCmMFjP7UK#yyTEi>=9vpAzj3*kYP;~m%e z&Cz|(yok$-sp0md(UU< zb%oemgt`aV5zpNPirU4IZS6(DLWgYZo*zXBQshdVJ7ZDTisR|LTNg1dh#B{YjXcsr z?5YtvPdk7N4jH6qnBN%Z$tXGd(8GoFvR0Zn-OzBjouDuYP7@i z!_BR6EiEcE*-+toU_)SDA84=PQ78%+TDZJ(7Ji6>=fXEO(ayJxB29r*!Py&Z119GxClO5l)RTis$IqG35nsav#VIWD_;l*-At+q-bFt;SQkYr@QUf``?IhKmb-mZnv0>7^jX+D~{g51Uz?AztFBJ|FhRk{X9Tw4N)LgB09 zdGK}p-IJS=9pJ}T@C*b5Y<|1m z*nZ((`~JWCt^f4e4}PZ@kM5R5aaQ+b*VlDI(0kW6P%xynU8U6u8!T@;R^E&dQRDp- znjm#$(e$!`2{N?If$bX1XT4Br03Lk}Z#DR=m8l%*U2n`d&6a~$}4i*wd*ua|w5_7HzQw|6f=TX8Gx&0~5nUfGa zfmp1X+p=^z&RrnSPi&2PfA0mFh$0K4Xd@e-wLn8YXhVU--vzJQIiWg_VV)ttZSi)P zG>6bE_UT-=@IfQw#TTFY{eMculo1Z02wpU}OiCmXRf(2F?>N8(vpJIXE}`=bGNR{( zXuoAyuwD!;MS*hJt=gVHeEC8l;%P>OvJVt<{z9SV3|qe}+F1n|+jaxq z^=Nmj@g2ZyZc{{i$}L=P8r{>wRe9IWMN)4t7@R0l$czA&v)1G~o=j6c8K=6gP(O@{ zW_7XLeB!xO6z^Nyzxm12>#u%tadi8U2XB05W4SmP0ihwXH$g$+_Xal~N;vpAjH}{c z_X0y5Sgf$l6bH-#iI9T2cLtcF6?-19rAGaLVF#Z~m7&NE;<`b3>x>~59Jxj6QRxaZ zT&J?sIGQRB6_6}OfL|5IloD9=n|B3_5^ejgkrEZ+2cf1Ra?mxAq}V}S+}}HUAeMTA zml!@4+U8R3kDqST@^YWT2n$36Wmj%(EX#3mzEfOms>#OL?|kg5cmMIxXTMvGr*Don z_r6|@ruWP7^tE#O-P>hR-l^-dX^Ub`PcrO0@jQWYqgY#_a0{a&Z}dF&Xr{`Rziy?u z@~JOIdBJx>Wo@CxyfKPC#~}L32C$ev(2^V!^&-lL4<^*>bq*xQ@#O?1W)1!i1p-rP zxL7E!GE!A&S6=L7gsD z{5`y@av#s#Nf-EeQ;-duQPBM}|LV|J=Uf<}wi+0$(yjd9n(xwC78f{{csSBkXhQQA zh7%2?+k@=Ty8va-L^7PRX!P)9Ns=XWHZL}5mqfjxRU28bYPJKtUwXC?Kt1SeLGIvXm70-H(C^aafuQ-RV3OhgpQ>s6gk$FwHFvJUYYwiz%jX-9nUOw&e>!$+UoI4 zqJ$av3Yx6_B4l;}&q#Yjcgi#6jNg-;0zK+c3=;R&uA%JFRaA?l8ad~$LBR=OiYKy3 z4bekdtrlr>wvoo0J88TzWqI%JQJLyhks7>kTzCa(Du~l_3?P80X4TkLQG@=m^Xpca6)eS~bplpSnnuA8 zO}z)2q5*>T3n0~yv`K=Ey@J|Lf;nnkm(G{S-~mJgV_HjpIJN}aq?M%Td3BAK3!eqk zGOD^9z?ca}Hu@_1gUx+BgcZ}v%Bn4@(Meg=56aPGQB~yW381Bh4XuG}Yhm=EA*m4!x1Ka07@m`VcgEL&-T`3wIFZX-AR`O!F2+a9~LH_?sDNq#Lg{JZS*mZL5Hu6@6d-bVq+T>&962gj%;wT z9!2X2 zWh`KW7{UwiP)@jwotr4mLlycbC2}@RjCC&hm`3_^@9a4nK6-2;8)437%0uS|YiVz_ zsYw@ERGhJlZfHN|>xj6>wXR!ioH7@l1;4s&5;^qTCx%8qUc91FK`3vScrAfRduFue zvwD(4)uIh=K*V|1RLf<>v?3~)o8Y`htK0FYn96yuA>1Jfb*YF09Y@Rc_y4KkgQJh? z7hDe_T5N`g{d7WMNu+oHHZ%0*;ykN#w1XKqP`clKL5bcP{^rg>11oYrGyTUTcJA&> zs8phb)}M-QikO656h)3`t~8=Y890mxlVJo%B`m5TJ9jhNE__}nqS8H5y(*%uls=Yp zXB%)UE?v!NB8lwT*j$E+XUIg=4i1xJygV+|A9{fTUiIQ*WGwp!<~GByGm1P`o!&42 zRk#?!6-yx)5ke)Ai5PrE7jN2yN%2M{DqoN|Mktmvfobir%E&mhEKYoz!uZnnEAD~N zvRo!-uODsoIzx~VrKH+kCQ{?&H8d|0v}`*j;|UkeQ8h~CbdqZDs;Utq6AcZ{Tw?uc{E<9Ok5R3SBNyK&=W1# z^u*XYw8l7MPem*_gAhCw{dN>ExM`C}$xyY3;K{NNF(m=kD34fUnHK>i%$ay>dVM5+ zp0Hr*foUmal;q<1hs@9jHR9m+Snm)8t`OIA3%C=KU9+Scct`+|JBWVcoGIZ)6YlW& zR3c#6mc)1_m9F@>gi8dBV((?cWYlFJ20cuW*&L>BO+S>377epjoiKWek@SVtEH@BR46C?!xMy(Lx0t;`}+t@`y!`35kFl4%-5>`b=rz+QVv$nScOlqVQZw zz}el9-oNaKM7c<|-!|OZX{tK8yeu|`OUn+ZG6Tl%VU0jZY&kw1k~Sf95?f}eTYPq8 zFfPZcO5VagGNA5AM|Vt5;-okU zOm!ntfP9yu$XtTfXTbIwT+(wF3ptmwJrf>{G^*wilW=)>)Cg#Vm*g%DS+G2uHq=%hs10E9;XVaDS?oD?l^Ae;(n!-Mh_x`k(iqD2LTdZTKH z$WyB=5yFQ>-kGelt2C~%C`v>(6CMaNhTyW~P3fr%=mv8%ER&4jLjFv_4mvp_LzkY6 z)Ycdf<`T~^N|QlVJTMBb7=OclQ}73FjWvpLYQeQ67f{7tXQ=96$tpswe!KK6DG_$( zil3;pa2WvT0jN+zcdW0CJVtlciuycA>G2jda)L5Y5xh;r{S$iY;D3ZM4w;+DClZA8 zMn(x(TnOvxR6O)FQqG7BhKu~`a|SuikmXEvVWq)K%N2Fp3Z z*#yZyIuKPIMOiKWLr8{!qC|WHGh4>AlC_Q~Bsb5D?w2ta-EPjl{ zY@5ETi(($?7+s&1CC9tRafq5}-L}Os99&V%%BooQMbTAN8I=>jSOnoxYL|fkNrYON zD{nrOHcMuU66n6E~K6&xk+CjdA1A&;`xo8xlT7I*8by z3lz;SU0P#`3l&f>3eKf}BQ*#PNO(sAr7rcH_*1Blc2Q-AJnUSh9ZxqHuyl`642Q%< z9x)p;icC3^EJh^5t@2XrD-prr4goKz$;p!ol;{G@i;mKWyMvIP&rJv|4=5EGTi&?} zvPKOSk=UX<2)pJ=fb=GV69yeSmVk4^l2rDMJaRZ~mg&pX5%QWPv}-Q^sPT=ZVpkVN zs7mIq`TQx_ls_PFnz0ThRrwi-m|hlXqGl_jRk<5;RCQtEsz#|Smo!X4U^56iBttV0 zKWkL-&suXHy*%OtMsh0yn@f+tLKyt;yozk1&jja8Qd6v^WkC}Qe8~>8Y8L1!xXJD< z#K#!*(g;K$nR*DjTK{5FlXMqQE?tyT*EHe8wC%C#HDj7P_ed-3vSw z0xuNQDMe9@+*&c5k7DhC$v6z1aYrTN+BfIl3$S}UGyGy z{J0)BZ`xRh^v#RpHPBaCb_T?a!P)o#E0RHiVvQ#u&oHA3L_$7?0WDjM>6}G0i2V{J z+_r8xydnL*Yl!8$sb=pv3YExfV7^6iz)Kt5e2`Z@_AQmAU>i{b* zi5khVCY+xg_B5u85OhT?Lo^er(g!fBh6L+K3aO^GkF!J@)yLQ_BRNR4q@4gKsKnGl z>j>0TLRBf%fl7x+h#iWcFy!Vnb?Yh^!TGsQDqV?dyl)sBclBX^jRM{5vc(TpGH5+C z25Uk_kPs>Pk#n{F9sQgt8oHK2=T4DA9>r*+Z%Bx9#ith1FD*05f<*NvP)+(b%YY1M z7JWwq)9heoFv^OKgqn4a14^s0iy+P`QPlH7(;p`lQo2MS4RZ}QFS5+*=0##T8kc3L zLkI`Xx;sAe^P>cq;X71}h~`UsoPl9Z#8pAU=L31D!UySJC8VsT1knbYzv4eNtc`MLzx3%_en57sZ@BT<&J38zuT^fKZktsG&%l*~;ng>cBSiPjNex z=}0aQ%>+8rD0|r*hqI^S3fjQHy8`0*NDQQIk9D51Lp*oQ zN4{)H9|tE2G;|#ubav$>ww`V2l^!j$2%D+ zxn3OQMM@8wC;53qn$^UhPEt&Ib9cKEV|4f%4b5^_<2-nH+IdP_B#oh~CprrdNO6lN zZjdluh*GL1|Ag$IH6*avDwL)Q`QfYhc`)fJH<}U4gxZyv+_8W)r|JZK0h>-Ng*B2liC0N2 zU-Yu9gfMQo$W1v;gt2rbewU3+4z8HUp{WQ^(=ZpEJT_8laBrpnsH4~+PRe3!9&yPt z7Jej;^~@c+_LJtMJ5Cu;Q*+UC@T3{I{I>ijOw0(ul(%;S1h}543Y@&e)b2w{iiyYymBEFH*9FNqY$Z7$ zjN}J$C%b{j4I^74*m#jOD#24HXhitz;0?4wuqxTJxeFIkEznux$z*xP0?pdYWuQx3 z7iZl_YH$`kT1iCNAmYR0TGm5K@9w-{q{2W8Z-&Yln-g8~#;|A}C&0@pe`LI095CEN zp0QgDhYJRZiW)!!B)~{mSs^Qs1qST+sk2t;|Iy6oSxwl`;RYDDulo;XOF~JpapOG# zArN^nK$x<|^YDSo8J4102ed5H387JNtlWhM1U{Nh8rh|%lDGp23$G#2{wx@9U8l=y zDwC2VABU9A1@{?&h%$D(D>B0{LJC%u#e3fm=Pr;;8DAJKH45Q0vdfS~LzA3oWNY!b za6W`m=P_<@S`5yD6BT=@iiR2?9Gb!sB6n(AC9>#Fwuuq7aYhS|>i~mg3I;jWYt;00 z7-~xmhzC33J)+!${TlZgC=;iO2hISF87Ocp^C7U3-H5L8%&)YVJK}5+l<|=v3&bFw zPKM>z7S|?&Dk_5JaAa-{f}(Krm|7z)XxNL~y(m;J98CaL))cl>50D*Qn@UGURj^%y z=Vl&EsP?-YDkPo!;1Neh6B1w#73i~x%vq=A>8KHcYzHAkvfXrKLuWb@!`Rf4A5@ne z6%f@qDzp_Tuc0>a z-whz<*{W(}xhcz)L=c!|pMWAdc+N#qc2pYe2iPH2vpe}Y%UwyN)r?H~ADuIm4;cW{ zL9>!aq|hXmP;g{CEJP{$Yb6=(%GJ~fy4)ei&1Gx{^`Mh*Kbm6~_rfWl;RkD!ff>9? ze8~I2W0vy_ar+`8W?4u(bKVHz5T!S2*(<;vc%4I|5)uSKdxPM$Co=H{0VZ%NJYoxW zo{Fohd9UzM?u1ol%Q>=vjw{HPPc$f2JU~LSj}p6EIz0 zmR#Y@$G+5o6ZI*#!wQ0wo><&S6;2#cnUFl!h!J4LYhoz7I#?C4qTFaG*u-9yLfno_ z;n+cJ5xJCMW|eOsl8D0^j+)vplcjn}o_rg(RLzEiCUXxzUGeV*O zg1yQdKzKCe0`xs0E^;2!nuB%M1{@&Qa3Y4Q$&pbRKtx_|4wgzt5XOT7Ptbv}kW#3y z56A#EHp+6&O=&b6@cyWw7Qw262akh+Q*rQfuVc=^wa^15DnZe?~9#D77KFA{OETw zCZ&VnQnUnB&8dXL;;2sE7Y=KjkMjO@e3b{0T&RPM&QAi?BEf>xpybETpIM!<+AO>p z#djj*nZF(T8v&0>y_$s0K%X2DI}D|3G;oqRut~|Hm6$dWrLVXTWvmK_B2a=Hg*wwi zgO^*GPCtSOj5Qk}^elU`tmm>Po8VPi1L{koYW`cE;1SLR(4a~@U36>q5VGY285+;r z)h?nt0`9N{s8kQ-pp2m^@FZfYjy1^xkds6*KjTML1XLQb1P3b?fezP9)(~_lK321W z2V*y-P~1!?mkkBr$me9PQ%3J|gH+f@ijC){CzV2Rh63P@CJIFTHOsW>gan^BstMLv z#Cp&vQa!=lTTDa(eZ=mH1QQ>jBo_Nu<>aAwBP3cv!NJMQ@JAlLls zxF;t-IR z*t=>-vy7JM6Qh<`PFNU3?1z%{Ff-i#Y~TedQOV-Up8YH8P}mQ|7j8TZKQ8;;584dAeM5d&S8y?1%lWgVFyb#=*4g=JzLq>p7xcCEPX^uzALWUtrWsV<{ z^EhI5yd;F0Pev}Apx&GzT3?4jQd~#?n)DiKDSa!@iB}#1sm2{)+Q4NX4nF ziXh*CfPyAz>)G?rNb&ml1nQyOrejKDV{DS#K9;xo)KPJnrBIY-J(EeL$@YG6?^b0| z^9I#>%GC$@5!WuX(}9~gF;LxAa|pO}L`IloMxaFp2ty1qlsG@ws}Z1NOiXb&_d5+c z%aV~rIKE~9!How(cHKD*b^L#{Gx$?jx@Js!RRSK z1^OqaD_TcX=uy^j=X6Fcf(F73%%c)KQrZqy5}G{0hciosWFbjy*yRTlpv&c4tZ(dX zAX^?;7!zhG9@jacq*S9z3t{-b{0b zfG6x4{DABg&L_|rabS%&N3agt#{?fgS0ZA8dO8~-rf%xU$Wrh@f%wXRiA&}tN0y(J zEJ!YgpRFl{=8aiRK*3j_`Q&<%rei-(o5Ig#f0OvG3h>z^r?rgt46W}rf(%N7alBbD z;FK&ND-rA4Ra`4dkM!#z=wVq`@-A9u2bbz@N^aKotX7>0s!^DC?P(KMP*R-YV2`x2 zVf2GxsgbrJ(^{_;I9PQD8MGRFFwGi3B{5tM%zV{ z9yMMnDUN_n)g&&G93XF2aj9e^Xy{~+-7GO8)93ki8ass#b6waXhR$M?$(pZW0vLl7 zZ8*m z)^au(;`QG}<`;S^Q9x_Q#Jw}S0;&S36m{$wsnSfoj55W;ZKLEH8zD&W7BFVwZKXO}t9NI4Lc|8uvFvO-rIn==_?47u3%D9+CD!~B%)B?srwiGmD zSaa~Q;=WYw;$CstR@rLwc_{nmGbi1E6bK4&4vpbNty!`Uv@skd%K#v?<8Ff(57}ny z2x>S==E9C4o>qaGQ+cup5JQj1^LcWKMga;=Hm+CA1;HE9GiOlk41HvvqEzD`z=Z3Z znR0?zP!|wDi%a5y7Lf-QNm!P2F-;2cBnalU%=LmS-fGSG5x2y|bG%k1P4Ulse)%kX zMkL838)u}BopP4*h(L6>?lDpV+ZCT$3k6dnk!Na0Vvc(=a*UwW9s0Uk0yMN0y@NX1 zfk3}4U1)h|I`cZU-5UOod5g+vEla^B-n(gmBz&JsJY;EPl4Hi_sgkhv1Hn~x;kxvj z<*Aian+rw0rN}TDF=V-xv4-rD8WG|e)$6QkA)kSrtOIiEgPPMyVtJI?10`cH=&?-r zJq+HEc(Q^}d|!M=k8F&J73dhc&&;1~*xl=-5_*2VMsP1h4RH_y6jR-(upJH%mBePE zg7os#YyrZQCOl=kn3K~uI#dndX&8JPIOXcf<{I9=+OA7eL^2R z2q`KVSKGcWTBJZC5aE~^ovZII!_Rn-AZJPn%Psni$B;?R!VtNPt2LdRRtv zH!MLA<+qYth=T(Dmb>+YvLbsW(LmzS9-ce|!Yskjp_}{ffSUanE|1Hk$Z8R>(;k-7 zXPl{kz#35+v20R#7#{>layHVM5yD`dTuCV4eWJ``ey3b_mS~X1p*nNftu?5nyWDQR zD9|%y`fjJk8i;(HHN?apA;%?xLyl!4=gE3T?ApzZK<4sEYQQLKH2!4~OHl#hcNv^g zzl!5byoo7efkqqMC-W{N?nY7KJJA3ePL9H}8f7gFGroT&=US{Y234qqguz9;&syz3 z+Tf$a3N9ta1G(7+4lLfh865Nn%U|fU!-?x2 z^1jUdy0kf{q{Lo`y<(XWYb?j-$C^m%&W<1Yc1+UN!Rd{r56WrhM3>j9Qobc{lvVd@ zIxjeHqk*wQKx&U`4r+%wOrgn43&!qJBC`%K!;ZqpOA7~%1%Ag8Mk8(@&?Iv&T>c9( zKhF$;6G<337zu4?G|j1_*HR-yQOG;v_1S*&Ubv5QbvbuLqtx##8MCjW%}}T=bgFrv z!GQwG8qZaU08nAkB5Fz_GVtJ^C{5uT9DU{C)s)2$zp>>sjjWC5&UXiG;>X1^1E$8nBsu}mAj9;{eQ7sDhff|rUq2Xh!{3_nIW*zdFYrh-88zyjN`VM0|Rj9-< zQ+=K1#tmQqJj{qQh{W^DGo~sT8U|@2sn8(037#K`A_BdncdiN-_8Z54`PfkBk7o=?0_z2Gt&U{-4o zaO&gPAfd_yHYxRKJ-G-dncfHX+ak|yJW(e-F$OivphRtstg4Bg&XtEUSWUpXgi>b` zDj!WT(Jx>rG~!zfJ_Ey%Zi~rw(rlKabFk)!+jH3Hcr@?RL{oL|$l}Y9I_K5=Hl=1( zhaPx5o=In-JG0PX!UG*Yp<|YC+=UV)H;@j!Gc9&4M8-u>mlW}5Zd6d|*XWvfCvF0O z<`~pO1SgwZ?~;Hb5eBa04CeNCaOzk-V(_SvuApF^73;pqkV(@hI9tl(`L9wI`=qV&>>1u~KkXa&t2FE2NPLr^a7XJzo1)3EZx! z@u~xDmZL#-OE5koVd2QMw!=vqAx=V1DT+Gc@?f3SR3jodJ0Vrhb;(sC&a_qH6^amz z(6p=^+?W{)pKO(>*+D0C#&JwM8L(tg^bEc*a$r=wDmO{;_hc;js z2);45LMr=eX-7kkIZSFM@IXS7xS4DWqYPtPasM&%u4K@CPF!(zf|!$3oQqoBs_`6Z z24jBbq6%f0ZW3EVNIaARJZdnIh@c{%qkia?cGn!FXmDLkYTMv8D+QDy4U?Nm>gt9S zERAeL4Z?(Kl#b|xa!0mCn2{+UG+X-z&5TNfV7s&~RxjXt^ZhM_L7I}PHwqjvMoh^R zlR(k8&CiM?OUWSzE32u%Xo=_sSYMTvK?gB{npHFgg#(i5jT#w7ka)f9Hi3v% zVjtMkPN!Ht9{6oU?}hT_20Kn0aq#6OrbLgcaW*C7{Zd{*HU+<+h&OB{np0Hb2e{~_ z2CtE;fI9OYk7+;wl|a>W^gM9%?;4z>2*2Fvn80D$OF|mGMwFAU1^gpNNndV8F=54d+b>aH2vg5rk7ku|}{&WG}c1nGX}I0aTv^ zXNunPgy*s}8`8+V8QYqXz$1htO{%tHI=oQ?dMZhn8zhv$+GQ>QX-<&VU?{(ne6PS9 z#@b!Iwr3#v$oX3(z!OJ?_HsB5XHno(39SL&A=Xc2IS8nF4+yD&GNp|Np0p-Qlp{W| z5G|p{JY~|Tla`{bFZZ=Z-9-Q{E*QH#6}*|8t-;=q+HlI}1ObmHI;-7GC}~cUITYw* z@z7Brg)?oX)NUb41)z|}5I2y`GYSa7MHNEj4p$jqAfHHd99WZJ&yzDH6+z;@)Vwn9 zOLGNd?Uh|x)y*yQF4NKsV3MUeC9}Lf5*fztY(&8OyE6~kQ!Is3VP3{w308K1x}GRG znS*AToh;uY@^>yh;yr^?#?RvmC5@Dedz>$-3B=@`j%p(SlQ=_zv<{dD2H2bkQlmT! ziUHym2KP8SIjA>9z(0>bDQqLk#&ywjEy}Asr!dDaL|K(`EJ|7}MFClsQNgV*dYpp^ ziP-U;In#$GW0lIfO|9g7C^e&m0_Q5w%GkRh*FnCiV8`6$8WAyeyt*+Xh~+3q5oI*W zjGd+CE?N3R&Ei-HRb8+*!wAwIlXj?*o=`oa9OhSw>lN4N)Q@m8Ief4m?wc0}M!aVx z2SPQ6hEL_yan48~VKs^~Z5ias`N}D?1UeQOA8dZ0rtpt?;(=kq-hrQ|%hBf&&>XmM z{tTdivgPhlN7$L|GI`XrB@rMEg8SU-=3R?#p1c0WWm^TvJ|DU9OO%j!7A+++GA~U4 z2Lm)QMucdx!&mx>+8e-haklNEln`RXBZbrlk)Yfj=}XO(6?eDt(Ks+?keQp3T{nYf zE6>Fs8OFvB3xKmXMeF6!qR3BZKjOamT1#_{9x`4yfG0T-4Sy09tvrK#7$@hw#+Z2E zELwVr+J-{S5%iM780Qo3rAizPh%A*PWHL&ZZHu$>e(;%+m5V+I8b+N$m<0_o1|rA8 zZ_a8AU9%qVgoKv~@}pjFA|V${hcAzHQd_WhjtI|rGua3GRH%FsHBIuT-5Kg~0Sy72 zAtTy>>mx&#$H@q3Gvqy*{pyky&>%Mrh_A)cCLK&Zm~lv9fM`&u%3Y)`gkV{8XGtJp zX=H4{mvSjJ*0(OY4t=_r;>mzn;=V%Q%w5E4pyo8RK4+aPA!%Ma^Ly^A+QA_4Ffj0> zbjg5Z$r>3Y%VNGRGliss$iCw8xS53AjN;Hp(VifopRq7#6Am@jh}9JnCz#FUo>Xc6 zWdi^KXqS!SfIya77@^k0888A(@f2{tBvKru63vH1$;iAktXq&$h&p)HV-y#s7nNYpw&Y5v8?Jk3gbhd1m2W*I9(NDqqJ$%eKcxo(QAIX zM5M6K1BrxKRP41Vxq9jkV(=*W$fjqZXHd^G5}c7KY^QC$Otg=oQ57~YO40h6 zxKyM_@tQ1qt%4!=SpCUfqfK)m$ za6)Omyqd2xo)dwes~kexu?Ins3Hd6a#BPXD2ZUvzXtP8=vd*EJwg{Mn4^bDo8xNtC zNFrTHsep1QBW{C&Tn0c2GWEHGLbf2|EXm^TRvv^1WGykn z@|i(WF~NI^gF^vobBkDV@?qli z36>wL5eet)nwvocmy`kdn7`_UQ3!hfz?9;t?30q4ROA;7l;Niz#=t)zf81} zt`6jX2PANW9vP-AU(bh}NuxPKK*c@kQV_*|Eji;vA_^VsTxV%K>j28g!_G}6DNWNP zt-JHZWPaEMxiIFbRb5~8VKq2wp$-pG_HEy`MOBpRFh8m5L$Np>E0tfmu4}t?8iRVv z-N~v<%ad|_>g-liKA5`IeRN_I*)sY;XC}Qc{3C(`Pm>6ZNm3awZVDo{3c|o4R7JvL z&k(#=3C{bhRuhDpy`-Cm009@_!CdA~nPkB-7`5C6c_+^f#cB%yVbU9&l{^FE#sF8s zh_s1lpOXzHa4uz=%g(*SpvnaET&YxhjQOGn03?PxaD^SDQ7~V)I`_L86g-n$aT<#a z_>=l@Tw_V-AjqpA;{&^l-*NYIG2*?)EMqPVX;XtHhQ^VTKWzF9e5g2ESze0>63XzS zZd|jut!?LN3Z{5~jsz|^Jvh4e^JJ7E5x0tqwb9rhNE(EJoPi7B5~JtQ4pb6XTVO|k z9PuYvSE6$%caRoQ+&yw69Qj9iFeMw<#+Hj3%9+>(YRt^sT6N}o3W-aH4A5M`vV@N- zR6|&6iVaKr3SjftI*-s}pzKi%0r_~2u~wRasf5Gx++m!&=x9<{O244mxX=?5pE*=^ z)a4_mWKNyQ3r5)-AetOtw8Z6A&Q_ETi)-Ep7!^oH*-?!c=>3zbIc^Y!nI&H9QfJaB z_%h)+xuD$ZgB}|Xg3HX#Dh!p<5^zcvcLIW2^X-h=jCe!Rtw4}6yKpXDxUl<8tE1b0 zWO3`2_syz$r%GGxq-?vbX>d2Yx~jXTob<~JZ+Ya4DW!k-`t`ft)3xnUcX*oGifaBm z_>>6eI5q{5xM%U)a)(dA(s5ORWGIu#F_g-wLciESs3G)%hEec$H(8OuW^D?DZ zHl$P)Vjgz2N~lsgc?f){8mY3i%V^%emd%hFxPnC*22WQO(I0$6>b9YYMWf?z$4G^p zSq}!Oh>=Ty4#Fie*fKhXpoEh~GlSc~VkR}|Xi^(-Xwabc-N;}eP;$+L$eGbAXX4bZ zmJXg@r>+_`rAr)E(@oG_CFCt*FV2?P5sC8w#8eohv>)T5qnQBrFHT)>Y$&eGQls?y z^Ar+FnCM#FEHBDIlz!TH$dU}P2qzj55L_5x*=}f(%!>={P^0lzi+yAAs*f;rL=CB z$MbHz3U3(7t6kr<)1scHzFBwWWY(9{`7EVw6-ja5HerZ^K*=zoZCAyzy0M(L?@wuV z+Lh5vVh16)1^4QLe-`s|YmA+XgbwCQWh<8CWXn|Y1abs4QzHx2T!Eb-8%diWfn=b+ z6kr8;+nhg@J53m;gB=0~(i_C7n~-A{*E>if$)>3*otWW>G9mptQgLztK(e4htnhQ{ z3=%1ntgrPsVK~_}ODQW+04yf~KNYAn_nQNLbK!U*9FVvvQ60|+S~HxU6C;!pu_l^T zozrAq(p3}A~5Ja85pC6_0&?2v$xinG0Q$DNc6uzr~HJ2XCc_PTw2lmbb8G?>6H zYua>nHhcX!icu90jVOdPyZ})^uD|^x_6=8-lDDEexUne9N09nMLpKZqpglCpKD)CN z@)h99!tZcWR0%Cy2?wh~nCPC-FqM`OI1RKHyt7NV)=M0-Wz_H-dnr0?Ii@s{^q>YA zHT4t9p{Ei*$zwq?(wkX+$rG$3%LWsU<|k$vt`@Qi$RP!M#4J^_xy1Vy6)Of$S$W^u zE^5Wc@?#Itq2qt0%Y_dc@Nab|y0uo3Y$jS;kXO+YTJyEfgzQknQ(OiN=;lVE)AgZ} zCXL|A4Ck9W6$V|04kZH-XYqiW_?e*4sO|fyu{JSE{7y5?RXSa`7PD1XD)$vkaO_bBqPt)~{|n z&B=6-#C9_Uqqrtb5}60#c%s@web;aBY;0+vqDfHF9PW zHM7WwL39tGL+EFoEk6=BMoC|KYw$Ej|kRxSh!MwV7>sf{uC^WRv&vuVrdv1TSHSgBp$T}APsFKePUh>}J znx!pPt9*n2jEV!82g^>890=$@V;k5R0i|&x5=@RpLTWk+!3{e2jEre^Djl**VMAk6 z*oivk5knq{XP1s!%{LMFXd;hip(5BeO+r&3+&$^;U)w)d8CYs|7CR(?-saNg$Ygzz zp88G0YQ>rM3{EU`hG+f z9TX{WF!$fj$D<2Yd# z^3y_ zq%_7L_mKHmB39y`BSmu_%+c%QnDQ_SYqOYo1;-ScYr*9e!5-HiPBt867%L8U$9!kw z>!X3}`DWZb;{Zh5r|{42LSR?0x{s=jT{@Wj!0pffZY+X@stbG38IOI zke4!RYDDF1Nr#W;OZ-uv4I~D!1vKK!=rw*v+(k89AW#sZ1{oVk=tOpzGfp9{nIRU& z6|yQWFB2&M%GiuDOXBk~;C|-LO!>ySJnyx0hix%vEtq#`q+E|tB~AUlg~N0CKwBHZ zyBmZg3xKzs==Uvk!5NfJR=o!VE#&XeVTvVcH1p2zT(ctFoRhX4}uOiqH* zIY^}S8Mze4#4Unnh2kRCk2cf@_;JZ~@H4WX+LV+l((mV~NfI3P{8((aXeb$mqH^}k zh`Z%!OD+!weZ$RlLfyy2_KbW>Il}Y^s!oVvB7tWKuau0t-g^(Nl(tdJM6vO>5^wpI$Kas z0;7xcU642KK_$3oW41v@7mkGf)WE|k6 z%e1nCvyL4j)s@9c~OJiKe>di0Ys40k)*yO^%L z_Z!ON*PiQN|M)-u==?1oe*dyr{D<|?BCWBBT<$hUOh~GnGhID{H&p2T$s`_&d!g=FmeW*biD!uH zOQkQtPoZ5%6915m#^xtSk1gsE6yaH^!wkWz%aY=XaF(tNhZ-^StkBWSSPbS?pb@8w zGRd4(YUe{iOB!+SABtrfMdWo_{5sZ%L5T^rHn_vs8S3j<6f>4_7(r$3jAeqL36+IR zHS<^V{IW50A|~k=N<*j<*inz?pdxT|slzh@rQc?Hm1%&O_eB=-KR|?>G*4S<7 zV&cF*%A6=9gB(%F(q3#3o1^%dnu@X{h#S7tSRk&g`BE+sTm0Gj_YP7VY`B?4z6><$N)8i;krGGhV zjN5aC!WA&tL=x}aCG9f3WvX1v;^?T7I!i@8=|z6rMQQgm!e+XOD5?{% zB?@YQ!s|I$u~l3^J1k6Vf}#W8KW}1`2^Bv89ai_JsZp|Rc|@g!>2cl$|HgokqXNRu z2a@k;;zrF-${&d{NA!qlgXF_HjPElV? zme?^h$_;@QKN1Ll%ZX&9xWAOE#z}DCG9`f(K+lb#pHh{|jiQbiM3Hi0&d+s)&ec2d zjbKPKL7bz1xanD+cJAJ0YEN7s1FURiASo|yhJpw4C2|v9mWxnH1w*BC>aV)74i8%K zt&zvia&0@8hLO!sasVyfco1BifH_(6wXU1Cr)QAjJ;XnQa|u3~a^0+RL&I)3wCPem zzw%Hz*lIp@^vdVH=HffQs;TD@%iZ@i&agA!F?uxq6K}qA^=;j`$KRFO*FXN#+vg6h z^wXK<#tx{D--HIlI)U1lBN&-YBMSCftqY8LlN$VGkol15&yJ94`s#YrC>dtg4stXo z9{a=Dq@+I7%|jUst|?0zp^{I+zBR9ghJqn*Bw^G61j*UR41Iuvs!)c9DJBV{BFOto z@;dQqD2v;`TQpev4toY=c@n(YSu2D^JWTvO1an!opHy%D>UGc*dHj2t_S`kejY5A(eQd?t{QoU zvqp3Un4CI-*+DDvc!2k4W{CBUXBi!b`e-0kd=L0@?1fk_1+i+J$b_bhcB&&8pQkhD z>(_O_1i8#$Nti(PvZ$#w4aMoSTnWlwjJzTBuyj8a_n5BTLcVljIRfM-s>j=VLQTw$7rPlSB^?A_nJ+1YC&^XduKSsLiR6T?w4a zdUy-jfDG2j>Ba9wkl@5enS5V`r@a3*xsSSK>dnH4nz3@{-lpg^9#d^n_j`a$x{C4Z+k zI=^f{)OJx89#tnkOLt^@W0m52T+0?LPM*aeW zAwCbGCWtUmwO3R=#K+1{MutR!u3><~i01%okfETX%4Dj{W5By93$rhY_d%?Pg`mU+ zksEeT@d3IWTKqh7^JLiV$aBfEtI~9Lo-WRdZ#};D`Sxi|GgXiYuGs$AZa^581Q`!M*1??g=%D906&XTV|AR)3doQ4S09BE*|9?iDJg;tcV zK=+;4|9V#F01IbJoSlJyngz($p@HCRJnlz3qu|%LtV;mH2EM+NTUFtmB6@f8TY8m)xUMP4}Xf|~)IW&{S)m2se zT>DJ-#-an8CN!?cd|KOq?g5CL|2`Pu`x8O`yDO@?>5FJx5)yz?Y0S^$*+v(`_8D8k`Q;GmK)_abYG6_6ppHrZ6XdsnG5fv1|)Y&XK@qj z)=gaCb!kw6yh@jR8PS|7pK}E-BUIY+pBdzEDc#%$zNXWBbuU^^5YAurfIUt~Rh6TJ zGgsP+KSfgsF0z0LHpnPB5%<{ItW4TmZDDXtXU_nHl6CyNJnq!kL-rnO(37MWu16xk z2tjZyEW78#6-f^{VsWk!q$&t^ho>=};E5UOgLQE7Z+@HN1rJ*rirYLp++9Sl@l#JU z%0V3T1M*}Y`&mo3sK%rO(UHKY(>Uy6Xu=t_GWJ>0ma^GKD5~ViGQzH&LQWeLg-Ft5 z1~$n5_2@0`d(ZV|Q=RsaV^IZnyu$k%jXY+MRT3fF$UcXY9yF82Jp^7WHCma&&SXA# zgM2>0RgC@3CK_sVmJkHi2fMq?WG5Ipa;^cta>g5-LX>gg_%s07Ezl0sxaf8&I+bvo zmI00TB8reX6D1~rD!5Y@l3J;q<&(f@;ypKF{?DUaRQ8B>$TQWH-6Knqo=y73KIg|`W9w21E&m&h^!U%sAboQF=?|`s zUwiJ6OOx`qSJN3KV`B55vo%l|c2{zm!)Pi11%3FCvtS~Fy{zA6o(6&%I&Y6F;U+R{ z&hj1!tZuv@5|+EF0QC;iF>e26W+}q4XRGQN`4&|UpcQGz{cWk&7q< z1W5#+1p;8E(z&B4I25W*XDu+7`#3Y$21$+}$C3(6L&FhvjF?qW+Rj0-4;p0SqL&dmRIcPhB0DrMp^ z+tIrAG@xlI=fD8~&lqdz1SlL3N&$*%^%>WS>v!6?1AYPaZOo z5sHa~To0cmBzRCu&PX4uqk=#DRDU-I94%_!;;>*Qf1+b7?*;|57ytHEw-I3B;EF ztgiv;d1G+ruVVj+_q4~?p8bnE`@6gzv`kaGhrgh_$fb}x8btbfIrw!MRh_{?cE-~m zXgqAj%`20^k-SW9wU)9uThNJUWMa7jC;tc2iok^kkVU?<#WUvvfea1-pL+y6gzFvr z6{GS971qsFz>GfxbK=kCnYLU5I$17zgg)5Ys7@J}UqHUN4nCgf_4|8-X&B2kVCMY%p+SuwrhJf4s;q`5c9^Q_;=nbe9(12@PS`8li(D7J&f^z-ju=5|x(5DXEjkHQt0NY& zK{_9BhWNQ17ty?I3Ds4pDi&z~D3Nm^qO01ziNe~ZZa7hNFmIhaE~C4{;bdKHaA1cZ zA{s2Dx*+=nDUnjinQfwk?D2^XymAmc42q5G1agPt$n^>|%r+bQQ-0D7DimyH@ZVKJ ztW0lGuNH&nVe)__SQvCEvDG|jmvoWf=R-`PV{qVHj<#Hpy8j(fJGgYhYW+W&e}2B_ zt>Yc?m_Ij=D2701t>mnn7%3iL5r$`qfvV=wA`sTBXNr>{8Jw7srC{eqeqUd{1)yeE=DIR5_U+0p;xW$Os?D-znX6&p^Z~QAJTuN5s_o zR8>ZyxRCd9r=ae^Yd9c%T2mzo90OTU9l+8nZY08N>^$66r4$%fW^kM}XB$Q%oF|N` ztOAlDHennPL+j)kWuZ`ffJSe5#0NA>T_$kpmIp6SJ|GZ<^FfC|1I6wRk?}R>k+K7> z*$bw?cocso%f9YV1m^`jBsn^C!y2At5KF|bOcP~*LBOBv%+jsTee~P*pZE%jiVeY= z%P0OCmrKT9-XZ?J4fxvsp6*`gPH(<+Zk75+kOe|vA`CE_lCk}xJf{*0oe6d82-NYQ znmd>|cww-BHb{pjO6)*`h-PF|D4R=nEPBwlN~^*Ta>>T%fXZQ60l?zMOryxnkyBw{ zE$$Akg+Ul3T6OJ0%;{8OCMZh!+K?WF<#9W3NGhkP<1&nMlmVkMxr{Mb7<=SSxY4Xf z81qTicQg8ifCSD-nsL~R!wg0MW(wZ84l1`m)K{ik=qS3ebXLek3QpZnQY5EM(77lE zc8i2OLZ^?VC0S{eA9!Y=y%@$GR0RbiSPPeNT?*CImEecLh0wExp=JUQQ2>9B2o4Qw zJQ<@u2tXlJt6)m#H$*TnYKRD)?}b$NK(i$IlcRo){-a${>DOo*u1^6Wobogyl+2EY zk}WTC!qOE;*0vum56AsQNi+n*UAh}=0{8la+H|oGqa#%TA32H&>R|X;`Ud(h|mfF+Fk)6@zDnnaXbQ6hhraTs}6kv1Z*!MZy^B(IlT zRN5)}Ur~tEFyi;k{~MJ9qo?FrDZ$pxG~LKZ5&~J5!TEey4%JvJU#F*Ch$n{==~AYP z{t?)ys)qHlq)7(Wtv%^eA)#s`UoI&s@Magel3eg>$Ml*)D6UHF3i$BMy+M@7uqr|+ z5Im<0$M{gYQsiW9)a8$13%Mkv05!V3+4$oiH_wUIBpLD$d48fxGV@eT8G~Py9;@Y5 z4Tz}EJ5L$^(+HvcR~y>hMT9qHWSr`uZC_5=YVdLd9N#5N>M0qT9m!4_ zSz3ILr2VKdm-RHA+pfO0T^vu#dTQ+`zm>h0jc@-Y0=Z4O0#7r7v9IU5{ng$1uZ+QA zSt!&a$dpC!+>$#0u2pnBnWZBFDmRzPu9_+__98ZrbSZ;d=^p zHA0IDCvxKIQlluMkXIcFBDms7fd4e~*2NS7E|4>0nq)Ls<_OOS_Le(q4Y@iR#?dOIIgbTkn|8>XPWDP#XlaBGQUrZz6GgUX;1>z!~vDo!NWX zx68h6H8&bZW6B_tnXej1U_&_~jngYUImH3>FpY&J9(C4RHbN34@ekrLjG{4xL#Qgy zX(*EjZI>hm9=EQS7wW*y{6N1ygT}Zg+?zRV)*MvAm8$8ebV+25unJ z%t}$9jzZ)@6V2sg*&d2eTdN_wBZJdCBFTS8@By3ye}{k2WQc56%y)_aM~)0rW#ot< zeS?=UC^I*cavzq#kpnj0DmXS>+=KX^D(~P~L9bKgNK|1bF zkGrFXK$KEaMu;eFV?8y7C3=nhuWaAI&-V;f>f+($D2WHPTp1%$?_%Gm0&N z)*~?UOfi?0`MGeedOLRLTk}xeva&&C1qY(wpM23g7hG~TXt0W=5umaWU{QJ42?EZ5 zB(S;fWBonFh4<6dF2k!lj80cq)<)0@U6d3KM%}qmILPZ0nvNuE0v}}bkHxl8GJ0l6 zMtU~VtcKkL^rs7#?h?5J;CAj+Pz?ih4v zsN=%&ql|-QLgsi&SviIOJj%w){olc z!;B5L-zQ7^7FFGL&FVLnW%vDTC>XLp9uAL&;%FF++#?buNfUDy9m%tkkD{rp{VPZk zITwZuR~5*mmE84w$h8cOdzJ^)Wd~25KNnQ0_e{t{9{;%)a^#_ly{oF4;ynXGhQA^!_+xuQ# zwA=4nF7Mu`0wrTTJ3lr;>?$>*A%xr(9Zgc&;jQBY_x6 z0yucp=s=UEbJC%+4B=0TZ{;Hz>&I#HWrWwuJ<&li8 zQ6FfLnL7{8&L@7656YKD<@{yav5C&{a=Ms57z3i%3&TgQ^Wn}^Pw&Z7TFfsJs;7Ca z(LDz$jmg;(il_6l)t7FUP+2+@HDDnj2}u*fJRzfEeMAYgdT6<>6Xi6GKq3u6C(YA3 zpa&RSOpZhHiZG}%-$)&$Xv$I962Y|e;f$zYj+$sCK%`~g-9Tpdt`0{htmbXHkBEA7 zVM7&=VUPR#jRI?l&${Wu5;=O6Y=dr*aHd8A8dVzz^{gCm?XyjGXQq-k2G2U5(!{hR z3UOhby*y`~>+d63#8wK~4^0ZnlZPThRz<{ZB<8GB=vJfSBn4!ay6fI4872E$P$DC?$)L$Opp3X*&0^0&+TcD* zP~Dxi8d=EF`cSPRI5C=SE`-<|TqckVa`R*-ofTH9IJqP1(|L@c(ZdW@jihWO2b48{ zrKjh8s%R#kof>37l`$gIg7X#W-mcrF*C^ZYnbC4Vh79Nxc|9x*s)gF+5X`*f!}5Z- z<_pOQe|h1s7z!5E+a8<4Lx(NcPc5{etIDtC$9qOvTz@kRJ;yFoXAp?GG5A)kXBx$1 zt)+~7Vbp1p%4))ZrdfTctfGf3P1UtFZi3hh>};4f{~W)5T#|LSY`J~;tyNi1pDv5C z?7LQqDREepktmR(MvVkQ(GJaxN&(9l{7piv(ifd@b{93CIq3k(^XMdb!m&#BB?^L} zo=xbT<6fN2@lfHrnhh8Zd#zcue7#Y>aCS{ zZ}0XVeMf)%+H+ks+iup!-HmlW!J17qup0$gMpO8L3y7>JVWHb!nyCF z98Uc}ldhu-<~}|i!cbB-y^WIvXh6G$B;>9kgh8`rBCPx<4mZ~)H>4o&kpMK_pTpIK z9q{Z)&I8X@*=`V&t*d0Ub!J01#F>oQ{ zH1tBtot4Mz%d9OY6?Y7FV3|jtj`K`5J?Bw&bP66r=xmo=hQ@mCZ~gak%t;`U*9bFP zOl(8omuEPJWmu=wMAO4CZH9uQLIoPqBEa^6J&9otX)WH-gOb4XCG5lawfK8AofqqN z3Caj zga$@p;LChqQ$J|>|2N=ZmV2r>P#HCK-v9%c6S4SK%obZGtQ7{(c6*&k%fq^SV0z0B95)-I2 z$_{ISc>$b+jD($S#2lL^TbG*}@-PGyIK|dxGh25>A3g&XSq{Fa^JX=)x zXHXtvKrw^eL7*rE9t=ReRn1w34n5bu#)ES^waT23pH-3-4hAGYTr`b8+TgROt@u(V z&*o7kdKh@_BJWF|j# z_}QacoaS)eoU-@)<|wwQn9kDr^zeL9Pt18^R5AQ_R={TC>wk}p@}{x& zpJlsVq+(GAamXMTTQ}4MV#I<2l0EZJL5Is!Srk%%NFKvQh3(KUl1{Kne!7HFsn7LI zcVzkVi98Td%99p6Uo>`5Y%uVzEvPy2Ldu>POq-Bzf3IMwE7Np7M-01FO_t>hXja`W zPM^4X<=j_y&FWXKj&A>g=Czj|@7AkoS`_JcHBZ%SEA2e=WIq~@)XRzX^YagtMNu3T zmH2C1DVF3Na9RA<*(1EBjGA=$obq`sD0He!Q%yK1rNY^S%aeGo0x+I8E0YtALdl2& zGI3b@a>C3^0fsx!vnHQO;^4By^Bk@lKt{|?6{=T^(MBOxuFTM;ar6^cWa#w77&3KE z+jz4qECFiP2~jTV3$XgokdzLF`j@3fClw4vmDv`e5dt9D_!~g(HCe z8#WIG$}Jh9DLPKs$6sUHuo<+Cf4*ryR6p(8qA1ZE!HAd748#GfGv@}^mZL(}MGho_ zF=i8R*qI}QWPtv~<$ie~CS7h=i=fEWH?qWY9Rl+{Rff+9Q7&t%2CH(NJKrI11tor? zPvoTKs)Pa}JAaP+lC(xWl7~>RLAjw!+z>C6+YyzCEG|5n)tqtoVR8}pVV(kGsgVE! zFj`7zKG0Ehp+dq$Bgi5fkoY+sm=eT{_yvlqDG)$@g-kMmkPTLX>>z=MvW_^wn!}4iC!cY5rAQIqK=F>@h!@-P6%CbiNuBt z6`cJ_M2`TFL8Y)Q@qBAJ50#bG+3J*BeVUq}#RI^RbOAyTeML#M(JW~Qu1g_dq-~o^ z*5YfDcaF9PbkCQ7jN%$<#wFr(0!;*8&m-9wv(@a1G6ZkQ1J{~ai*|y|!=y8-?5s-@ zYzzz9TARsSDiTXw`g1n#h*MJ`wBQ^c#BzuS9>Wo-Zf^tWED3R<#x60iv_?)GHVQGK zY^%~$v~0UR?btYL%^=gzLBVIn$1q2YwP?_>22tLq?Z%ssjPyohJPz!}9*kBb_a|K#wsY8Yh4q zhHH5CG)CkEU}l~;1DN;Xz;ROket zA_er>TxAfKs3m+z9(O7Kro^AcFmYKu!3O6_{RgpcFzrM(THUvipdp-=zocE`2B^t* zup>2j+ei-&fy*nbDNBb2Ih{**=Bmj)b=*kg+Nji-OSwb4v#iYkMXLjo$e#;5ELpGv zM&X1kWo&FXIRu@S#Lyf*Md5JOn3!VZZ)gSgZ}{}FDT3Dy6aWW^d?YSrl_om}&mX_` z+=oUD44Y`%IJ+JrcEWw{`}z2LtPd+t?AD8-KL5~5Wqpz`n!>1%`sEP7`2j1U_p@Lf zKE|I}&6^t>fxDXrMhfr_)7>gABWOe-J_{WK3JL@Hgk4fGhNK(WGtIhGb{LN~5YRlleAG3C0NngZTUnJ> zNO4fmYON#t9V~U|!I3h7F=bd=B^wrg%_Qg{kmZnTHPH|{C09lu5t0p;T4W1DilW2M9Y~g~P+FAtfMp|u;ABnA2r_gYIhT-H zTCC2*GZgA1auhT2411rI)NR@X|GA0iJ3;jCl|@;Vle$Q!dSwKqHKLP&GY0`^1x*w> z4ks}*Hc@1mdS6*YSg&Dl?-hvvx@Xp8 z;lSGUYms|mxCw;;L;$Y6bMVUe7dT@X!YP#@&p1m_^A@1sS)6o z=^Rs{YiJYzb-~jxsxH+E*oew7*u8HQqUa4o1l@@#x1%#g%7X2CAUQ41m(4nwpR|uy znWIdLt;D!J9x5wYKt=>XxkfMQoY5^r&^e%zB)yOsgf$cq zn@u_1;+7o}-9WJcnOX|Gq)6eWAp&MSY#r>Ct2GLGNFPw(?)OCFlN%`P%U#@Mkb*H` z;Bl+z&xcBLU6Cvbbw>jnK%GId#SaQ;v-yplH0DrNTt1E<6NQJmC9;ofBqIuE-k=A< z4lx$b1J56PItn)8`zooXG?%!m8qNXwO!mEQKlKi?n6B#XhC%bgz{BSNTv45~vmzIj zPRd!cLJ7%)sLL-~C)en?QH`W!T^#cSq^8eSUh0%V|4Gge23xi}9CRj2i!U)4UzSgY zz*|u22!)_ZH_JF&-^d0?T5L`h!KM4b=J;;j7bEre&94V#Yksp>V2fZ{=v(lkHNK?W;VxoZuuHn{ob%y9yOGh%-5 z(2ZohEtd|_9E8%TM+tc&vq)Y~Jb=c5h)`p4QC03%l1cR1L0ANi3Yw!M*Ytxi zLY~6}m!0Ce*io9vd3ZaC-f;>dwDuaV6XftWKe%(I19=a}drr5+g!z=a61hSP?Q7(ash*vJWWLsbbM2FZ)J$=47$3A-#c3Tqvp z)CR||$q2L+L(WS{h(VsjrGB|vRc+$hkt5A~@o~7>VP0qK5-WqNh|382E(b1QHD-x+-}ZB%?aDrc>A^3+iWsm<8PX;eHfw zBJswpv3d~+f;HWEFN4o_)dgCbSqJWZej``SdVew%Lh9VC$m>;^KRWMQ@;O1na3vJT zsCKuWn}HP|;6mU?pW(B^Eh2MOHOmx<%#}oAp--ocm>!)B_AnmF!l#VUxzQ-|z=tYZ zBcV@pJ37b^hI}9YNBkq3HwRjto!$n*<%?CA_=+Yg3pB-$0!g0?kBMs-M4oz#b zVUeYdZ*B;(0O?CPd$3eU3k@BUvb%Kqu>HZJp2ihAz!)P!XBp$o0B$pQQ#&7i=FZsE zoZL&V9X9{-8b01y<{rW2a<+m63slO%Afy$~k^C%=)RIHP;#rr+@*TtTqvjfe^r5pc zo)2FGa;(L?lsOK8LO7X_W)Sy*M^!<>sN`-nea+hR{ZVuZNztePwTqd66vOyT;+~A==C*Fgq@R2|;w1rNi z4JW1waGx?z;<*6d#pBt$t`cHpi+?TcIqz7lCH8)uM}-A~KI55^F}H3D(9#* z0Dghh4bGi;WJC3p$h4C&A!|S=nABnJfb^m=$mjW+;NtN5(B}qc#m9sFhSI-+<2_}tvROv-}gQU;+`YOJ}el0P_|(cwP+_c*BA+~4CQP@Y2vN!p;+L`1pSBFt9x zSHl33REsqWMbFLno@p%ZTxYgFt~iWNU`bjS%I=^<$Qk>b^Opn75xOPch+t9k z!i_ReUPG0N2y`({P%5oRoHbEE=uS)xiAoVCJ@^qvkV|`Ooi@RjG^c^?XRGE=mnsyj zSUCcUpGTm}ay5~AQ}*n1 zg~g-U@%iSV)83gsnEkjr!leKJ(Pxx=ja`xQ25iFj6;^O-f)5OnFiTq1JHAysD{QaVVZSInHG`mXiVpaH=4?8u~E3m&IB z)S$72tVrA-5InhYL7+uPQ=i&qotEp>tLNVO<K#ul`LZ?^B)yFguaGnKUgE zr4kL9EtL9+4ri1)fY3>#8A98dIw7qM#;XpTh6E0u>*PYtk}?)TraVPJ+%C^x%zo1v zhn{_@dJW`M0qt0t$XaPaP!-mq@dnTdQN%__Y99Zj*_A`B#7T;Uuo(oRXrqy2jI({Q4Ug&k!6f=5ZPc77l7p1@jK@TsN_v*p$T+0a1wB57a z;%5bFF2|Ya(WJbnv?BwnT7m>?Ve7JhI-NS@YZNR(n@(p6&ns*=$2w)_AjHih%Y>my zp~K3I1GhDkh^2e#qr-_A5N}m-X4;Pevap}Q2lOI?V>?VM;s>b&XB{@pcNT^vB#sCV z%ZjcJpfr+#J@55KtRrz^tfy!L(V5EzMy`WpqbMxzFi%OfIhXGKR5_OK8G*F1JdG5S zPM-<}c|Re%RHr)=H+Qs~eW2+c8ZpMLXItT!yyhMHh<90~0;S84Q5-i`mgADVMXtG~ zo_dXIvUZ=693$9h29hteG>BthPio-ZE5Ho^f~ZE8)1r@7T%(C1thy2@WbmvY)M^Hn za&d!+nnozW$)8i2aY&S%FtO{^J4M=HnT?qPJZ@ZMqbixwjc9Hq_PDrLGSbYV)qO!s zHb;??c-PMa*=iGKvbJGI(l+Q+42V?N2UMeUZ@6wvB+>CjJ|>}cOwv#`3yxt_65Lg(fIiSp+Zqz6 zR_)KtCE#>fvVfc;gD^N(DvxBrwm0t0&3_kXpmt+)&*uQg#j2ipLYZtD2=wO9*?}pj zV=0kbr=emZjN1G^ioSph^PIn#GcfOl6hC@lvfo`tzq(m zC^`)#5j&MN1srhHwY2-Zw;VJ_V}r6+(lK0y9+jvOcu;nVjb`N7=5n++E1b}zHFYV^ zqx_^ofG%h36q(E139P-6Wj`YAdJH?KN{$!Ci%X&w>)xdP2OgnTx1%D9R?vSi~*HA zl(2^(Fqa?8ftmmzQ_+yxsoV;Cfj1_t2LYrMje(n3=u*g>dxCod@VLJ%6|j-+P%UsSn*FqfJCi$SLp7Pk>U(PZ6;*009G|H=3L)N3dGKS(F1In#kp$E$^);d;!+8ajcv6M2|$zqtO$4lS8Mu1PML z#|D>hE;)?B0})*q&y}CY(qa5N4Co-58lBU)m35$Z5?#f+HOwOP-YvQYm|a6ECjJz1 z%7YwwSwc#pGih2^)qH1}5(K=?Dy`OU;t>7%aS&Zchig?&i{j|GgH~Q>p~d}31e=#A zLEyNCXh;xJ?M~4AhFt>#NxLc|8V)FKDm#rJ`3{}Npw6O%NwP5HQml~`=%=*A%xhv^ zBoeth$W2@qWr1aE2K3Bitxm62erYiB!j<{UAmc=+zRJ+qMP(UMp*) zx0@z(hVckUq^AfpuaC1FL+dH4lQ3y~z#*E?_L#S3ysb%H!)XhBLzF)> z-2#oSAOR9in^wMEo{Vk7gKWfjPmlNhX2M9r8+)-`t8a$;3E=?ZptXqi(Ul(Dwieo5 z@k~MJ?;GtWDc$!?Dp7ssBtnV~hi#3bIrZq6ld#+wk`X1&ihe%=0;6ZDh3$&gI$>}^{QxeihZW6rnL|cr?+$BEY#F3PB-?>ULo39p5=rhR+w*>?(-x$2 z@{rw#q4J#?8F&btxJj#0ffTx;(GWtf{>l1%2MD+Dr+s#CjbfZsg!3Xd@!Z6#%Y! zx@TQ_6d1BJv8v2#@`RCG9&;}_UKDP_hD5_~W%%5crKyA3+#-~ADIMRtn@*;Wy}zFC zro&f0i;-*_hPXT<(;f#I{+?fhpWpb@k4~oNF0F4=SAWs!^&9M1#IrGLDyt`G{kfK5 ztT3?M{2@rWs5GsQU^b}(14E}-oIYskUSmmm5TRt8E`EwSY^f_(QGn5eU}Talf;1XX zB6!%KGCD&s+#}e$N#pNAhqdHopH>np+;n7{YrXlsvr6A4kjJ0vt}A+QON3B?Ut`XO zvN3Qtgfud}ch?OaQ*g4}+794Z&n65iq;*{Dcb6y0HDRm7M-xh_kvGwx;BGu4Z3H8T zBzQa$&tY&wrSc?$;szt5hQWPu3hQ#Gycw1#f^h~^1N8x=PBnX&XEsPyIG9zL5fPv@ z_=YV{o(Z{~MC3Sni%FmNqUj6+$IC`7cu28+;KOP!dh&o9JmQ%1+?xZUlbTCi7F~8z zgcR8=;}q)yXX7t%O5+;wfVjT#u5FAjla4M>9g&i8-tv2!axhFm0JQ*oN}~xXh-?w=Lne+-H&_&lVVN3~x(~-l$Bd{9Q)sz8TM(DY$t^ID)Is+dNsV|WCIb-^$ku3e(95I&;CH@-U;S6$} zlbAGQUYgKMHv{l<)ME{*r-NCdGUn4(p%Et}$(%l{vCGfe9p;x~uBaOYRH}~c9X?L^ zr%JC}C(Id@*0Mv@A1`jcobJ8wNrbQ)T(7gV(foaX1qbgmzIXj+|5equO|yQ>FSyv;z0<{X3PP}S z7#4$s@%6mAEXU`uS%dDBwZ15)5KcJ$v!I~@TXg-XaHi}Eh>pr{B=*wS8-NAtREEUe zj}~i1SxmDtEr^e>m{aAH!Mn>=oW3CAx>7>0!4Hb^GObIIGhR+Hg12##HbiqH3; zYXx`cBz1v+sAmO^sRqGI;(;BhBusN$j52)j*r45(n+)8XWX{jP`C=1+tOyKDZUgkD zqL8b3h#0w~vc0nAT>eEy8={yBzA!h{jWFWCfkII;NEFwNy369J;TlAT5I2rI!|Z*s zfy}dbHFE_e<^28F+x$7>F*ZuD`k*t$j6|Et^F-Ak;mW5f7%+pfjWi)FMd!fJC4F=< z%O9~odR7A1Z~W(dJx&70`&rp&9)06(GVZThXuO10$-~rqR{VRg7p4MWZ$N^AUGC~V z&Tmh@&*#W-uO4|d1oLEKA|8MVA%j5XmjzEYq>* zF_04^{TgK^2khTNSE0CAmKH&0=co)Cs63N;sTV4!vwvW-pMqBhFbbA|BAPnl%o{R9 zh6j{xiMqt9iX8Iz8Z;M}I-i3&1e%rPQ5bu0+K0Qq2N7mdAVt>K)*^RSz8S$3Ma&&E zggta%fgSB_em(;;6AAtvM#MeTN=9j@CjbuSo_Q|{2oV#%TnO9|}A>#~`$0DZ+*f64o+Yp~) zVbtuZnZaSR>o6OBm-uf+r<@ZwW8)?ji5>SY2-6)tu4|k3Cw3VO4G9AXlGb;R(zVy_ z{eLgN=j%VzHLLaOAOGi*_3_Gq|^o-dyMr8~VQ0;x7TD`J3vW6@UF$hawaTNuKfu+ z0YxhH$P)`$T1!oQ8mfQGNeKOcqJB1x5txguADdGgAHG+Yre#qE=WVoJc4Ff)>L%KG zR&bX~uU)&2?@h2@LOfFI{Cu1OsNwQq$2tMljk{s&G*|7<|Gwnfg??(L)29p1LkfsomufpsZmCr z2~noZ{gOn02i6aPF2#U#&*mjL;WDRITvq=+xqETnldSqr(1!07C|z&_!|8yRgE&K| zFN|TOd5v;Rx();j=5j@aK$1j}v>GMk{pwGbo1A%r1TLLSG&gvbtdkZ6KY#}4Z0VCm z!KG;tt|a6k>iC}yBctAkD3AB9?Z#m2?*AGGc&V%>1%n&TX!eiI1+}IwpSOYlJfp1h z!h2EB&w=ZF{h%w!XTZ-95`u9>o-CnKpX@(4U-^UM^&#hPm6YHcNnA~dRXDfM-O8GD zDE--ynyV+hG4Ya2)Z(Lzhe5Zmc3kW*`6TvZTg?07N_@^J`W=c$b5f~!gIi@h7lhzF(Zah$!7=dYY zxI%DTD89u0ad|jjY-BKCMz}f>@SLKenS#Gh2A>gAlobQr^V$hbWH+yZcmVz!^EmM3 zR66z$`5fqKOKVS|v z)hGMyD{mzUWkBuxU)Qcqi<8&CI1QfC>hR|ArFZ}0|N8oA`kRN>u1P0}+FIaQ;c#QZ zf#7U6ow#X4@&oF!Bo~I{-MFpDw6V!Rz-8x4^>IN_3Aj8AC z6~<^I0~r;%<pyV*c>lY(=P(O zumhNpYgA#Rb15m?Jf*;Un&`fqu8aZZ?&buLvM7{KkaJPO8dVD-Y(s!b5;_Ucyu4vL zf>q?P+N|+U&IrS!?Qm zf~MT)qd-=25@G*<5WDNuye&CiK3{DNyxvYaf(r&So^C)V!2NCn7%{X1Wzj^KCh}xj zDuT8P{m$7>WUxp9C22i_^b~Cr2i>#LAh@do&I`0X53%>iDD7_vEDzIUL^r@u7#hdM zkBgr}yXp~sNC4e5C__#Z)Pnp95)i29`i<16EKFGoqdVk!#WkR7TYDE*0&J^eW8R$a$=mY-kR2w$8tTc<7G7N2`^lw5%uL z5W4B!h1K?zCq7e6xBmLglm2hK@aj=oA0MVVcAp6ASwaQ}B7$LQOKHBHq72Q;96Dkc zg!9>9WSJED5je={lUu@PG^`#q&yXQHbx=@=07M5N99__uqpJtM?WPPkLKX&82;PY7phB5r3nzwyt^GulM+R%)t%-lJvX%O^0 zyt$%x9u4x#a0e2{Bm2O|>BmPI7u`Up~0SYAJVOeQJG;$;3+1dwL=xPR9i7j( zSI=sS*bMf@dzgNCXue|OCU{{)FPZeIjA(C)O_4 zbDc4uQM?WJXz@H@y7|C$v$s_hf#**hj!I6@p)4c{0gWO=Qv~3XA~8jv1>6dDAvY(% zeF=~VVn34DybDAT62Hyz&4&6|M_@8t4SO+bhUP8CU>O`uonug!Fr$0mA=^GtCW8%b zu-dMK#ETH0aIMW2VIs-#Ur6@MUo{Y-a|}=g?_qAKxqPmDXuGmKlXecMBschCIM7fl~f&w|IFrax- zoz{8}B*$G;1tg5Ekz2SIQuEiizp^~3zqQ+WES1}jZuQI6)rT(cePc># zno>GWDSh$Uz18Q}b^XH8@iMJ%9j5N^7*1+Za-0&gLan_}HQb*LF*87Q^|)9Q>*q?2 zuqdo{K&T-2bEA5mVnE}TKJhp(!t{LpY(pQ&_JI7ce(`%ElS_aT&%uOE8C`a53Mm+O zBEyzi$X3}JGWa@k22grk#d@TwtR^YSq-8Z3qiq>!8>5~hXE^ROHZsQ;tqt;HT67^@ z5)5N?DzZZxh56hyO!vEy%6tg&th^|r5}lJ4&Cca(iK0;! zM)NI|t&!Kty=zfT2OD-a&NQK=hA~)Ubj+=oMEO`kMbEbM0h2TNKUXH^@`=9S+gh^U-@lh3K2vehub2C{k;t3g1_H^cBN9RgR z7C?1%hK@G6eq*nBTvgb5jv}Ibi0u!N6l$LNn%HT`K!8*@L0jSIERz)FFC>H}35Xx$ z&&#Z?K?m8v5YGa6(M0qVh%1St4jB!gxD zvhDD=x#$)~*&7pF!v2!V&T9UkAZc_vqpIq}wPu>N-zc*q&;@)dBf{qPx_dmsLPEgI zgBE5j5P)Y;G6)2AQ3MijJbBNB8>Hu;G>L7~Wh1!0eOku}G z)g2!ywq>*Y099sf(D?mvmmQCjHa%(?k+HRq4p^No%Kq@UYuo0up3J`Z!lL<`;Vj$L z8gc;G#Dt=NN>x<^a&%lA1Lfc`)+G=J!pvCpFfgdbs(Vf(Un=V}KLr$^d2k-c&R{}F zXCPq_^=EFB=L^cLz*tx}kk{x#Wmr20FV+Q$+8O7-D;VXzU>mAg4c>;sih*$`#? zmLj%RHjiFu!-zyY9ZdOeBF#Tp+l~ z%@0F3KxreDV>F;08DeG^Dp?EZmRxj_M32YE=~-rOsn9EiBSWCaV}i z*Oi{SKtIN7Xgw=c4pmrK>Vj{BdC3FUD9_tOlIrped4<|yLu!vbJ#>&#vzB7K`9`vw zj5{95qcVL#4?<^7GC>-5#GeH+6MW7%Z%%Ca;qX6FN62`Hl0lBk(piSrWTH-eLv9w% zl2vCefZed$W-9BN8&&~ps-j`q!?1Rbyrr94hukdB=zQ8r-a@p<%F zo>rm84GG-idZb@Pjw4YlB0NU?T=pgsX;~L+8p$)oFNdf+5}Ztn7)?!ZQl)3>V3rBJ z%C5ff95gU#fy+YBXr8R>yJls(!;}>v`45!~`HtfFYICs(MM1gwCYcL4NEBtfuGe!` zLk5`+;`T{v7paO9Y!8Oi`*T#NBvdR};jlD?9dU4O^uWqC1Zh}`;QN*xcw!ht-KL^x z)1)ubB#m#zg~%j9fu092R77;xpZz>Sw~&yQ~!7!DuGLexp*3XWR(|%3XuOSAheK zTc#lg-ereF0V-TWTXcQ9JSoe1dRB*P4oNnCwpp(7>wwY5D6w{R`bf0F;Z4`AN^s=- zSZj}*7MAadwa_XgAzTk%P-uEJ5`AX3xtt@qMB|x88EMTu4VYZg33^>*wH*Bw)k-xI zn0tu0m*swov$FeEkUdEKgD#sp7Da>PVqh!Cm_*lwf)odq9MdD?1*s90lw4jh7geP* zARb8mq*JFdgE{v2;2?&G2bp=X;aCF2AGO$net~36b|#v-v1i3oG8(>$ZZq=0K-JdR zC+umDqf*CqG(wb+-5^qfqzh%_5a*WDwNR;s&!fa9REW{B)b!QRg)$+~F4+h0Wu(pM zPEPPuz3>{lXU?N3DqM_X>Clb$=VmZB{(8{fcY+hsPj;I1r0%=EDJBe%*fq$iNL8&l zQxtO~8B7$_S|zs#RGL9&4#{IPNOWMtP}sK!*gU8r2-ut!5cf8%Pr0KaP;`SGN|j6s zs&bVB7$OXgnmsKc+z`>LT&KsQSkt+gH-+mdQ`d&M)M zmJ_t+6u!{!NRVHgSzk{i5gsn&!6pUb3syCt=^1mg0T$8E;mH7&W!aR?0)+3($#?%N z?mQ!juKMIcaN;=@x|d7K@rovoyL63`z!a-r)KoOUqt0-Z#;x{1#uu+k3Pjw>k=)eQ ztx~yEX8;^lClB17x$-t5>&V7B!soSMXV#Jxi>jEKLY-GIYRVC&&^7sazLqVH~W({XyE;!Hwlj#%RVEx$BBDWV`wZZBXaIu5fwN&^HXSh-p9< zG>Z?}b#(USs}_u}i4n@gsBo^(O-LrCBGgUk&QQ!wWY7@LlAH}bQ;sB-L?oI`C}rZ( z5{ctXaM(pYY+pAuxkGGR8q7nyC0*jNRhEBcCak9ht+^rb!tcY#J2g}?0vjO}^v0#u zK)BfnYN*gzDOZ?7tKId^msy5IB@$hTI|1DQWT#9nihh6z4kd$gWREe|nerUi@1l}O zx1BVGKw2~~l1baBVasC-QR)y{AD@jxi4+WCn%dv$I`n2_Ha?8bgNi&epphErefxPc zV0+MO-0kgsU4TX)?BWeN9o+Y7VpK_y^_(Z`Ev!k;7s~dV-02Nac|+|WY3XUsEd_K z5ehiq2jn|+bJ=n0o`&8|O<<^r{E;^+WHnEUa9LT2gPSyrYQd`x97GO=RM=|BGJIPWzsiZC;AUHMo285v=s$L^7bgDI+zg;IKw$2+mj77l+HN<&2rB6 z2ZMwLo7pU;tm+)jrq6E#@2pzU&WyUFfryzdA^)WAYAXV>3>{+a+TX}93&+sf{akbF^dl_@ed}}DO z8wU`?Q7;bJ1GrcuLFbJJQod&c>Y;!@O@z!mId%#S9gZ9~#E1u(U4A%zxRg~1)QABX z*BW+Ir737}Nj|`3QMXnz6OnvDWagGZ@qk>69y3yG zo|TQb%B1LEg}ee$4mf=2k`3L)VwR!S&9XU-qv3L*M=YO8$|HIjFKeD7RaRC_c-1%YD)!=96g1cDxP-TgC^d24^$dkjR@VNYofHNqx{M zdIT5GtoJeGOFTLZ2~w?65DisaFK0Px91x6~(RdI{NEvV^lo}i;V6M5L8jS>w3p&ND zd8J?!CP`&5T(_(S5C!V=IZ9T+mghM-vpsx#L?w|n3HJr~YAkh{Mk2ne^%BlPlKtOi z05^WkCSn(i{_s5wd7!cpc4*cNLk4TalmSKrR}M(=?2J0#`Yl>6-ld0*>&jspt%ksQ zq4tkTztMRb?++X9PUt|Y96&|EMWg?OAhQY0e^<9+>=8Lm5*vmQV!;*4+G~>Ip{jv& z+Ymesr99FHt5Nw}{nX~hVIK@ri!i}JNO7hnSW+c)`W)=4{Ae}-Pn7c^4F zdCTKuk*Jl7YTm^{kbExH9N{T8)*h4&Bbq|I?gKIecC3pmoicD`;9tr-Cl2 zTdVbdKp(T&U-L7y=ZzYZ08B0j_PEanbl7Nsxs50SojIbZ&Q2b& zhE|5-@-*9%)|>|4$-@9;?Jj1kTbxut8H+FnguYVu4?Q#BLTS{{foi_A5xM}2>V*1JEz8#lcyPpRa)ND0TBnyJI7}v$@$RiiYVf7$zIa~LL z0tu3?8k!ZX$7oUhD7$L!Y4$GHTF8S@cb|bI=hR2(mZc*kkh-&C>}Z4D0Q*j-iSJ2p z6}w7fm-u>}y*yJ>Nvy?TH7NmGJ7Wl~~v5Cl?DFVs(4|0`6E_J#i5$g>;u;HPkg#=wy| zuv}FhT(|P7^Fv9kjBMN_8pLzi37M_sEL0M-+P{-$>cq( z<%&THN?L&!1!~u^;}cuWBYG$mVAR5W2WJIoj{FFJzVR!g9ev+L*){OlB@vVGghO`e zku6RbD61eOR9&Q=qewt*kgv$xL7X5`7UEl>w}gw3s|HHv^X8@nfDe+@aE3&dU*@hN z+tj&)2Uj3P^eJ0(IRa_LX_K);PGgz_4V5WraBB^9S3uygS_%Tl9U)nr-D)aFz}XFh z!FfC+5}mt52N86l0^%iQ*#RXV3MBEMbiE=lDL56}C04dct`RD=M?8Dbw{B8JLDjBa@SVUJ7AIt2ho9vJ9H@u##R zt=hDEbMbRVvW@TbD{!iV9oPEscCXRzVQO3zJ;}G*py$eO> z5bdWM&CcysZCbC^;0MNDjCIfFGzS)4D%x02PsebFuFgF;&*9I4x2tlh8mBzAjn^kM zT9pU~ee``yYLT?d=dcXxwT-g78Y48)k@10=5IpNa!51692HFzQMpCN~l&BCGKngi- z^e?u9%a;n?V^0T zV_%_g^cPm~5HHh*UyUFf$S~|PmUulAcSxR%8Nk_TiU{L!S5NhN1*^PNBdLs~>MSwf zaX5|+39<+R?usrl!EsqEZ(uh=$N^}50-2~lG`D0%v6p`XbvnJg#PX{3w-T|VBVmC-MkNM8wfi00_xTTArQx?@61^9Ubty@CjyxioGX5Sf=VQK7dk1V;`g z0upes81Q4C88B2kzWQM^*AhIV$R;8D>3PS@)~%!H*?%0dN(YxqNU`Uz-Zrb6QHcFW z!^To8ovOimaHK@`)!6X?ArSfl{WE9dLT`PpU_?P?jkBwBES`dsErXHJan~Wsx|ET8 z04NSJxylsr8w$$m;LH_MkixNsP|_Z_-zfb@hdJy(G(lMX-2&=PzC%o|3ZQpjXMkXcB_D{G+E@?nl1y|4(0iA1&JoG^(HyIG)oeBUeG3#mnB&S+iX& z>y=B|MhZ#l+*DrcW(KJJ1lG%S0wGl;x@ldfx}MPiVjmZ&TP@Ob&LAW-wNk%M4H{?o zq39MaBd$d5XZ9f|;@RWL-r#Ws2v?C$b!{0kf?h}~;n;rx+#$^JWcJ!{fKtYHLq z;I|Vow(5cD1x#}CoFqBiL5Ga?Gmy_({9MvU@a8DHGf=}sg}O@H^&|%kRg9d9R;-RJ z-(|N<-Fh@$Qn z9zR!yvH6e@%(1RtVW2mJ8`a^=HhY&KqU6L*G!T3v*qhX;s;jhf`TW*y)qW_Y^lMT| zPs(Y9i0{pm(ic+N`N%7;++Iv)Tc2F57HedPwVh|5CRNQQLIjrTLXK|VRLn-s&$?ay z8aF}YVC@V9!~a&zx39~3vh0>^=hpNI>fI{VU?0USV3nwmg{j?Mxa- zb2auGf(ArXu@ubujQqlg))Li@FbZ2h0Z`UDBj}lLMwZNFuRstmErnh>^Z#7xA5UJ1 zk^qXbV%{iIH_>A6&GO;Z``Ml|Mpv07i**_rRAl)fgVbS?y=_1xpn zxciq=N-y5MduNd*vloil^iEMu`*yWVr$7skO>C(e-&6f`9J0}b1W*$!`<@4L~`RD)OXBR&+t#@DO`}A75nxsX0l9t^n zG$%D_!$Rp=TLl;%U&pgV@;aL%ETyD!oE!z?IH3&aEY$v#z&sF?O2HRKo`r$5xVqvS zb z_U)@xw_lV+w>>Y9=F{@^^ZWHr{@zc$@+0Ra^(WSSc|D|LR_k?Y`>28_a7AD;pia!Q z>`Mv8Ov1O3Oh*cgstgE-Luq{yg5oTFa_@RfU~YesZtEa5MC40BqLLj>U$Ea`vP0lP ziV8*=L3d*3IIB@C;evCmMnMM9JVT&~c0Kk3EBV!fEkEN>|Ql0PSo*Pce8}Jk+r+w2inMhG&4RK^e@d+kk1BK z6$q^O)p0l4KjxK^->wNiIQ{e&C|R4j6{Ek(qTfnoKP#g4*cDY-6x&^&Rz*>?QF4na zbB|h0Rh3myBg2Nx?c2Hp0DRhaO~7{!g#%@;imEs)r}drH(TPL~1smq-Mi~0I32Pf^ z4mg~el%(PG9Z0G6j?9u;Q{aJXqAPvRNbhnqf*t1ouT>mVG&?%XHjzZ4II85ExeTTtFSM9j-olDc(QCsjxEFU%B&a zo4Q-6>)Xim+Gefpdm654TE|R|OI_dX7pXt3>e;=xPB6t;4yL$utWu9-x{PCuLtewk zRpc1pG}V_Mx$tyK=~67>t1sXFfwn1Hwu)1OkP;42>WaXXyqa=S6-|?#zWUJKuR6Z= zx$nAlcw-g;Up3vv{+(=}BZ3-_XL+(dn9Ps2ue|lQUcZ%oV7XWpA@zc-H%*h&^>5iq z-R_k~_Ul()zJ9kT>#fwK)upZey(h;LF`@4(PmP1TaWIFEbBo1>qCWHRt}Xkvxw^Hr zbEVyDkDIP2rsb+D`l8E&%E8ACE8ay6RJ3h6iNv|=0aB+5K`#>8qOQsiKtA8KL3}{K z*cPdp^nKG6eLaZ+N>O5_LG1EaK%AeV=-R%lF?b-Tih+PveHkF!Bo)O;O8rqT`jBQgqQ(5NdoyRC#K(%7g3{*g@

P`&2sDb?@<5g+opikvebcJ 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

c=~T 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 z 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 + + + + + + + + + + + + + + + + + virtualenv + + + + + + + + diff --git a/docs/changelog.rst b/docs/changelog.rst index d2d3f109b..36dd7081c 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,1077 +1,1314 @@ -Release History -=============== +################# + Release History +################# -.. include:: _draft.rst +.. towncrier-draft-entries:: [UNRELEASED DRAFT] .. towncrier release notes start -v20.36.1 (2026-01-09) ---------------------- +*********************** + v20.36.1 (2026-01-09) +*********************** Bugfixes - 20.36.1 -~~~~~~~~~~~~~~~~~~ -- Fix TOCTOU vulnerabilities in app_data and lock directory creation that could be exploited via symlink attacks - reported by :user:`tsigouris007`, fixed by :user:`gaborbernat`. (:issue:`3013`) +================== -v20.36.0 (2026-01-07) ---------------------- +- Fix TOCTOU vulnerabilities in app_data and lock directory creation that could be exploited via symlink attacks - + reported by :user:`tsigouris007`, fixed by :user:`gaborbernat`. (:issue:`3013`) + +*********************** + v20.36.0 (2026-01-07) +*********************** Features - 20.36.0 -~~~~~~~~~~~~~~~~~~ -- Add support for PEP 440 version specifiers in the ``--python`` flag. Users can now specify Python versions using operators like ``>=``, ``<=``, ``~=``, etc. For example: ``virtualenv --python=">=3.12" myenv`` `. (:issue:`2994`) +================== + +- Add support for PEP 440 version specifiers in the ``--python`` flag. Users can now specify Python versions using + operators like ``>=``, ``<=``, ``~=``, etc. For example: ``virtualenv --python=">=3.12" myenv`` `. (:issue:`2994`) -v20.35.4 (2025-10-28) ---------------------- +*********************** + v20.35.4 (2025-10-28) +*********************** Bugfixes - 20.35.4 -~~~~~~~~~~~~~~~~~~ -- Fix race condition in ``_virtualenv.py`` when file is overwritten during import, preventing ``NameError`` when ``_DISTUTILS_PATCH`` is accessed - by :user:`gracetyy`. (:issue:`2969`) +================== + +- Fix race condition in ``_virtualenv.py`` when file is overwritten during import, preventing ``NameError`` when + ``_DISTUTILS_PATCH`` is accessed - by :user:`gracetyy`. (:issue:`2969`) - Upgrade embedded wheels: - * pip to ``25.3`` from ``25.2`` (:issue:`2989`) + - pip to ``25.3`` from ``25.2`` (:issue:`2989`) -v20.35.3 (2025-10-10) ---------------------- +*********************** + v20.35.3 (2025-10-10) +*********************** Bugfixes - 20.35.3 -~~~~~~~~~~~~~~~~~~ +================== + - Accept RuntimeError in `test_too_many_open_files`, by :user:`esafak` (:issue:`2935`) -v20.35.2 (2025-10-10) ---------------------- +*********************** + v20.35.2 (2025-10-10) +*********************** Bugfixes - 20.35.2 -~~~~~~~~~~~~~~~~~~ +================== + - Revert out changes related to the extraction of the discovery module - by :user:`gaborbernat`. (:issue:`2978`) -v20.35.1 (2025-10-09) ---------------------- +*********************** + v20.35.1 (2025-10-09) +*********************** Bugfixes - 20.35.1 -~~~~~~~~~~~~~~~~~~ +================== + - Patch get_interpreter to handle missing cache and app_data - by :user:`esafak` (:issue:`2972`) - Fix backwards incompatible changes to ``PythonInfo`` - by :user:`gaborbernat`. (:issue:`2975`) -v20.35.0 (2025-10-08) ---------------------- +*********************** + v20.35.0 (2025-10-08) +*********************** Features - 20.35.0 -~~~~~~~~~~~~~~~~~~ +================== + - Add AppData and Cache protocols to discovery for decoupling - by :user:`esafak`. (:issue:`2074`) - Ensure python3.exe and python3 on Windows for Python 3 - by :user:`esafak`. (:issue:`2774`) Bugfixes - 20.35.0 -~~~~~~~~~~~~~~~~~~ +================== + - Replaced direct references to tcl/tk library paths with getattr - by :user:`esafak` (:issue:`2944`) - Restore absolute import of fs_is_case_sensitive - by :user:`esafak`. (:issue:`2955`) -v20.34.0 (2025-08-13) ---------------------- +*********************** + v20.34.0 (2025-08-13) +*********************** Features - 20.34.0 -~~~~~~~~~~~~~~~~~~ -- Abstract out caching in discovery - by :user:`esafak`. - Decouple `FileCache` from `py_info` (discovery) - by :user:`esafak`. - Remove references to py_info in FileCache - by :user:`esafak`. - Decouple discovery from creator plugins - by :user:`esafak`. - Decouple discovery by duplicating info utils - by :user:`esafak`. (:issue:`2074`) +================== + +- Abstract out caching in discovery - by :user:`esafak`. Decouple `FileCache` from `py_info` (discovery) - by + :user:`esafak`. Remove references to py_info in FileCache - by :user:`esafak`. Decouple discovery from creator plugins + - by :user:`esafak`. Decouple discovery by duplicating info utils - by :user:`esafak`. (:issue:`2074`) - Add PyPy 3.11 support. Contributed by :user:`esafak`. (:issue:`2932`) Bugfixes - 20.34.0 -~~~~~~~~~~~~~~~~~~ +================== + - Upgrade embedded wheel pip to ``25.2`` from ``25.1.1`` - by :user:`gaborbernat`. (:issue:`2333`) - Accept RuntimeError in `test_too_many_open_files`, by :user:`esafak` (:issue:`2935`) - Python in PATH takes precedence over uv-managed python. Contributed by :user:`edgarrmondragon`. (:issue:`2952`) -v20.33.1 (2025-08-05) ---------------------- +*********************** + v20.33.1 (2025-08-05) +*********************** Bugfixes - 20.33.1 -~~~~~~~~~~~~~~~~~~ -- Correctly unpack _get_tcl_tk_libs() response in PythonInfo. - Contributed by :user:`esafak`. (:issue:`2930`) -- Restore `py_info.py` timestamp in `test_py_info_cache_invalidation_on_py_info_change` - Contributed by :user:`esafak`. (:issue:`2933`) +================== + +- Correctly unpack _get_tcl_tk_libs() response in PythonInfo. Contributed by :user:`esafak`. (:issue:`2930`) +- Restore `py_info.py` timestamp in `test_py_info_cache_invalidation_on_py_info_change` Contributed by :user:`esafak`. + (:issue:`2933`) -v20.33.0 (2025-08-03) ---------------------- +*********************** + v20.33.0 (2025-08-03) +*********************** Features - 20.33.0 -~~~~~~~~~~~~~~~~~~ -- Added support for Tcl and Tkinter. You're welcome. - Contributed by :user:`esafak`. (:issue:`425`) +================== + +- Added support for Tcl and Tkinter. You're welcome. Contributed by :user:`esafak`. (:issue:`425`) Bugfixes - 20.33.0 -~~~~~~~~~~~~~~~~~~ -- Prevent logging setup when --help is passed, fixing a flaky test. - Contributed by :user:`esafak`. (:issue:`u`) -- Fix cache invalidation for PythonInfo by hashing `py_info.py`. - Contributed by :user:`esafak`. (:issue:`2467`) -- When no discovery plugins are found, the application would crash with a StopIteration. - This change catches the StopIteration and raises a RuntimeError with a more informative message. - Contributed by :user:`esafak`. (:issue:`2493`) -- Stop `--try-first-with` overriding absolute `--python` paths. - Contributed by :user:`esafak`. (:issue:`2659`) -- Force UTF-8 encoding for pip download - Contributed by :user:`esafak`. (:issue:`2780`) -- Creating a virtual environment on a filesystem without symlink-support would fail even with `--copies` - Make `fs_supports_symlink` perform a real symlink creation check on all platforms. - Contributed by :user:`esafak`. (:issue:`2786`) +================== + +- Prevent logging setup when --help is passed, fixing a flaky test. Contributed by :user:`esafak`. (:issue:`u`) +- Fix cache invalidation for PythonInfo by hashing `py_info.py`. Contributed by :user:`esafak`. (:issue:`2467`) +- When no discovery plugins are found, the application would crash with a StopIteration. This change catches the + StopIteration and raises a RuntimeError with a more informative message. Contributed by :user:`esafak`. + (:issue:`2493`) +- Stop `--try-first-with` overriding absolute `--python` paths. Contributed by :user:`esafak`. (:issue:`2659`) +- Force UTF-8 encoding for pip download Contributed by :user:`esafak`. (:issue:`2780`) +- Creating a virtual environment on a filesystem without symlink-support would fail even with `--copies` Make + `fs_supports_symlink` perform a real symlink creation check on all platforms. Contributed by :user:`esafak`. + (:issue:`2786`) - Add a note to the user guide recommending the use of a specific Python version when creating virtual environments. Contributed by :user:`esafak`. (:issue:`2808`) -- Fix 'Too many open files' error due to a file descriptor leak in virtualenv's locking mechanism. - Contributed by :user:`esafak`. (:issue:`2834`) -- Support renamed Windows venv redirector (`venvlauncher.exe` and `venvwlauncher.exe`) on Python 3.13 - Contributed by :user:`esafak`. (:issue:`2851`) +- Fix 'Too many open files' error due to a file descriptor leak in virtualenv's locking mechanism. Contributed by + :user:`esafak`. (:issue:`2834`) +- Support renamed Windows venv redirector (`venvlauncher.exe` and `venvwlauncher.exe`) on Python 3.13 Contributed by + :user:`esafak`. (:issue:`2851`) - Resolve Nushell activation script deprecation warnings by dynamically selecting the ``--optional`` flag for Nushell - ``get`` command on version 0.106.0 and newer, while retaining the deprecated ``-i`` flag for older versions to maintain - compatibility. Contributed by :user:`gaborbernat`. (:issue:`2910`) + ``get`` command on version 0.106.0 and newer, while retaining the deprecated ``-i`` flag for older versions to + maintain compatibility. Contributed by :user:`gaborbernat`. (:issue:`2910`) -v20.32.0 (2025-07-20) ---------------------- +*********************** + v20.32.0 (2025-07-20) +*********************** Features - 20.32.0 -~~~~~~~~~~~~~~~~~~ +================== + - Warn on incorrect invocation of Nushell activation script - by :user:`esafak`. (:issue:`nushell_activation`) - Discover uv-managed Python installations (:issue:`2901`) Bugfixes - 20.32.0 -~~~~~~~~~~~~~~~~~~ +================== + - Ignore missing absolute paths for python discovery - by :user:`esafak` (:issue:`2870`) - Upgrade embedded setuptools to ``80.9.0`` from ``80.3.1`` - by :user:`gaborbernat`. (:issue:`2900`) -v20.31.2 (2025-05-08) ---------------------- +*********************** + v20.31.2 (2025-05-08) +*********************** No significant changes. - -v20.31.1 (2025-05-05) ---------------------- +*********************** + v20.31.1 (2025-05-05) +*********************** Bugfixes - 20.31.1 -~~~~~~~~~~~~~~~~~~ +================== + - Upgrade embedded wheels: - * pip to ``25.1.1`` from ``25.1`` - * setuptools to ``80.3.1`` from ``78.1.0`` (:issue:`2880`) + - pip to ``25.1.1`` from ``25.1`` + - setuptools to ``80.3.1`` from ``78.1.0`` (:issue:`2880`) -v20.31.0 (2025-05-05) ---------------------- +*********************** + v20.31.0 (2025-05-05) +*********************** Features - 20.31.0 -~~~~~~~~~~~~~~~~~~ -- No longer bundle ``wheel`` wheels (except on Python 3.8), ``setuptools`` includes native ``bdist_wheel`` support. Update ``pip`` to ``25.1``. (:issue:`2868`) +================== + +- No longer bundle ``wheel`` wheels (except on Python 3.8), ``setuptools`` includes native ``bdist_wheel`` support. + Update ``pip`` to ``25.1``. (:issue:`2868`) Bugfixes - 20.31.0 -~~~~~~~~~~~~~~~~~~ -- ``get_embed_wheel()`` no longer fails with a :exc:`TypeError` when it is - called with an unknown *distribution*. (:issue:`2877`) +================== + +- ``get_embed_wheel()`` no longer fails with a :exc:`TypeError` when it is called with an unknown *distribution*. + (:issue:`2877`) - Fix ``HelpFormatter`` error with Python 3.14.0b1. (:issue:`2878`) -v20.30.0 (2025-03-31) ---------------------- +*********************** + v20.30.0 (2025-03-31) +*********************** Features - 20.30.0 -~~~~~~~~~~~~~~~~~~ +================== + - Add support for `GraalPy `_. (:issue:`2832`) Bugfixes - 20.30.0 -~~~~~~~~~~~~~~~~~~ +================== + - Upgrade embedded wheels: - * setuptools to ``78.1.0`` from ``75.3.2`` (:issue:`2863`) + - setuptools to ``78.1.0`` from ``75.3.2`` (:issue:`2863`) -v20.29.3 (2025-03-06) ---------------------- +*********************** + v20.29.3 (2025-03-06) +*********************** Bugfixes - 20.29.3 -~~~~~~~~~~~~~~~~~~ +================== + - Ignore unreadable directories in ``PATH``. (:issue:`2794`) -v20.29.2 (2025-02-10) ---------------------- +*********************** + v20.29.2 (2025-02-10) +*********************** Bugfixes - 20.29.2 -~~~~~~~~~~~~~~~~~~ +================== + - Remove old virtualenv wheel from the source distribution - by :user:`gaborbernat`. (:issue:`2841`) - Upgrade embedded wheel pip to ``25.0.1`` from ``24.3.1`` - by :user:`gaborbernat`. (:issue:`2843`) -v20.29.1 (2025-01-17) ---------------------- +*********************** + v20.29.1 (2025-01-17) +*********************** Bugfixes - 20.29.1 -~~~~~~~~~~~~~~~~~~ +================== + - Fix PyInfo cache incompatibility warnings - by :user:`robsdedude`. (:issue:`2827`) -v20.29.0 (2025-01-15) ---------------------- +*********************** + v20.29.0 (2025-01-15) +*********************** Features - 20.29.0 -~~~~~~~~~~~~~~~~~~ +================== + - Add support for selecting free-threaded Python interpreters, e.g., `python3.13t`. (:issue:`2809`) Bugfixes - 20.29.0 -~~~~~~~~~~~~~~~~~~ +================== + - Upgrade embedded wheels: - * setuptools to ``75.8.0`` from ``75.6.0`` (:issue:`2823`) + - setuptools to ``75.8.0`` from ``75.6.0`` (:issue:`2823`) -v20.28.1 (2025-01-02) ---------------------- +*********************** + v20.28.1 (2025-01-02) +*********************** Bugfixes - 20.28.1 -~~~~~~~~~~~~~~~~~~ +================== + - Skip tcsh tests on broken tcsh versions - by :user:`gaborbernat`. (:issue:`2814`) -v20.28.0 (2024-11-25) ---------------------- +*********************** + v20.28.0 (2024-11-25) +*********************** Features - 20.28.0 -~~~~~~~~~~~~~~~~~~ +================== + - Write CACHEDIR.TAG file on creation - by "user:`neilramsay`. (:issue:`2803`) -v20.27.2 (2024-11-25) ---------------------- +*********************** + v20.27.2 (2024-11-25) +*********************** Bugfixes - 20.27.2 -~~~~~~~~~~~~~~~~~~ +================== + - Upgrade embedded wheels: - * setuptools to ``75.3.0`` from ``75.2.0`` (:issue:`2798`) + - setuptools to ``75.3.0`` from ``75.2.0`` (:issue:`2798`) + - Upgrade embedded wheels: - * wheel to ``0.45.0`` from ``0.44.0`` - * setuptools to ``75.5.0`` (:issue:`2800`) + - wheel to ``0.45.0`` from ``0.44.0`` + - setuptools to ``75.5.0`` (:issue:`2800`) + - no longer forcibly echo off during windows batch activation (:issue:`2801`) - Upgrade embedded wheels: - * setuptools to ``75.6.0`` from ``75.5.0`` - * wheel to ``0.45.1`` from ``0.45.0`` (:issue:`2804`) + - setuptools to ``75.6.0`` from ``75.5.0`` + - wheel to ``0.45.1`` from ``0.45.0`` (:issue:`2804`) -v20.27.1 (2024-10-28) ---------------------- +*********************** + v20.27.1 (2024-10-28) +*********************** Bugfixes - 20.27.1 -~~~~~~~~~~~~~~~~~~ +================== + - Upgrade embedded wheels: - * pip to ``24.3.1`` from ``24.2`` (:issue:`2789`) + - pip to ``24.3.1`` from ``24.2`` (:issue:`2789`) -v20.27.0 (2024-10-17) ---------------------- +*********************** + v20.27.0 (2024-10-17) +*********************** Features - 20.27.0 -~~~~~~~~~~~~~~~~~~ +================== + - Drop 3.7 support as the CI environments no longer allow it running - by :user:`gaborbernat`. (:issue:`2758`) Bugfixes - 20.27.0 -~~~~~~~~~~~~~~~~~~ -- When a ``$PATH`` entry cannot be checked for existence, skip it instead of terminating - by :user:`hroncok`. (:issue:`2782`) -- Upgrade embedded wheels: +================== - * setuptools to ``75.2.0`` from ``75.1.0`` - * Removed pip of ``24.0`` - * Removed setuptools of ``68.0.0`` - * Removed wheel of ``0.42.0`` +- When a ``$PATH`` entry cannot be checked for existence, skip it instead of terminating - by :user:`hroncok`. + (:issue:`2782`) +- Upgrade embedded wheels: + - setuptools to ``75.2.0`` from ``75.1.0`` + - Removed pip of ``24.0`` + - Removed setuptools of ``68.0.0`` + - Removed wheel of ``0.42.0`` - by :user:`gaborbernat`. (:issue:`2783`) + - Fix zipapp is broken on Windows post distlib ``0.3.9`` - by :user:`gaborbernat`. (:issue:`2784`) -v20.26.6 (2024-09-27) ---------------------- +*********************** + v20.26.6 (2024-09-27) +*********************** Bugfixes - 20.26.6 -~~~~~~~~~~~~~~~~~~ -- Properly quote string placeholders in activation script templates to mitigate - potential command injection - by :user:`y5c4l3`. (:issue:`2768`) +================== + +- Properly quote string placeholders in activation script templates to mitigate potential command injection - by + :user:`y5c4l3`. (:issue:`2768`) -v20.26.5 (2024-09-17) ---------------------- +*********************** + v20.26.5 (2024-09-17) +*********************** Bugfixes - 20.26.5 -~~~~~~~~~~~~~~~~~~ +================== + - Upgrade embedded wheels: setuptools to ``75.1.0`` from ``74.1.2`` - by :user:`gaborbernat`. (:issue:`2765`) -v20.26.4 (2024-09-07) ---------------------- +*********************** + v20.26.4 (2024-09-07) +*********************** Bugfixes - 20.26.4 -~~~~~~~~~~~~~~~~~~ +================== + - no longer create `()` output in console during activation of a virtualenv by .bat file. (:issue:`2728`) - Upgrade embedded wheels: - * wheel to ``0.44.0`` from ``0.43.0`` - * pip to ``24.2`` from ``24.1`` - * setuptools to ``74.1.2`` from ``70.1.0`` (:issue:`2760`) + - wheel to ``0.44.0`` from ``0.43.0`` + - pip to ``24.2`` from ``24.1`` + - setuptools to ``74.1.2`` from ``70.1.0`` (:issue:`2760`) -v20.26.3 (2024-06-21) ---------------------- +*********************** + v20.26.3 (2024-06-21) +*********************** Bugfixes - 20.26.3 -~~~~~~~~~~~~~~~~~~ +================== + - Upgrade embedded wheels: - * setuptools to ``70.1.0`` from ``69.5.1`` - * pip to ``24.1`` from ``24.0`` (:issue:`2741`) + - setuptools to ``70.1.0`` from ``69.5.1`` + - pip to ``24.1`` from ``24.0`` (:issue:`2741`) -v20.26.2 (2024-05-13) ---------------------- +*********************** + v20.26.2 (2024-05-13) +*********************** Bugfixes - 20.26.2 -~~~~~~~~~~~~~~~~~~ -- ``virtualenv.pyz`` no longer fails when zipapp path contains a symlink - by :user:`HandSonic` and :user:`petamas`. (:issue:`1949`) +================== + +- ``virtualenv.pyz`` no longer fails when zipapp path contains a symlink - by :user:`HandSonic` and :user:`petamas`. + (:issue:`1949`) - Fix bad return code from activate.sh if hashing is disabled - by :user:'fenkes-ibm'. (:issue:`2717`) -v20.26.1 (2024-04-29) ---------------------- +*********************** + v20.26.1 (2024-04-29) +*********************** Bugfixes - 20.26.1 -~~~~~~~~~~~~~~~~~~ +================== + - fix PATH-based Python discovery on Windows - by :user:`ofek`. (:issue:`2712`) -v20.26.0 (2024-04-23) ---------------------- +*********************** + v20.26.0 (2024-04-23) +*********************** Bugfixes - 20.26.0 -~~~~~~~~~~~~~~~~~~ -- allow builtin discovery to discover specific interpreters (e.g. ``python3.12``) given an unspecific spec (e.g. ``python3``) - by :user:`flying-sheep`. (:issue:`2709`) +================== -v20.25.3 (2024-04-17) ---------------------- +- allow builtin discovery to discover specific interpreters (e.g. ``python3.12``) given an unspecific spec (e.g. + ``python3``) - by :user:`flying-sheep`. (:issue:`2709`) + +*********************** + v20.25.3 (2024-04-17) +*********************** Bugfixes - 20.25.3 -~~~~~~~~~~~~~~~~~~ +================== + - Python 3.13.0a6 renamed pathmod to parser. (:issue:`2702`) -v20.25.2 (2024-04-16) ---------------------- +*********************** + v20.25.2 (2024-04-16) +*********************** Bugfixes - 20.25.2 -~~~~~~~~~~~~~~~~~~ +================== + - Upgrade embedded wheels: - setuptools of ``69.1.0`` to ``69.5.1`` - wheel of ``0.42.0`` to ``0.43.0`` (:issue:`2699`) -v20.25.1 (2024-02-21) ---------------------- +*********************** + v20.25.1 (2024-02-21) +*********************** Bugfixes - 20.25.1 -~~~~~~~~~~~~~~~~~~ +================== + - Upgrade embedded wheels: - * setuptools to ``69.0.3`` from ``69.0.2`` - * pip to ``23.3.2`` from ``23.3.1`` (:issue:`2681`) + - setuptools to ``69.0.3`` from ``69.0.2`` + - pip to ``23.3.2`` from ``23.3.1`` (:issue:`2681`) + - Upgrade embedded wheels: - pip ``23.3.2`` to ``24.0``, - setuptools ``69.0.3`` to ``69.1.0``. (:issue:`2691`) Misc - 20.25.1 -~~~~~~~~~~~~~~ +============== + - :issue:`2688` -v20.25.0 (2023-12-01) ---------------------- +*********************** + v20.25.0 (2023-12-01) +*********************** Features - 20.25.0 -~~~~~~~~~~~~~~~~~~ +================== + - The tests now pass on the CI with Python 3.13.0a2 - by :user:`hroncok`. (:issue:`2673`) Bugfixes - 20.25.0 -~~~~~~~~~~~~~~~~~~ +================== + - Upgrade embedded wheels: - * wheel to ``0.41.3`` from ``0.41.2`` (:issue:`2665`) + - wheel to ``0.41.3`` from ``0.41.2`` (:issue:`2665`) + - Upgrade embedded wheels: - * wheel to ``0.42.0`` from ``0.41.3`` - * setuptools to ``69.0.2`` from ``68.2.2`` (:issue:`2669`) + - wheel to ``0.42.0`` from ``0.41.3`` + - setuptools to ``69.0.2`` from ``68.2.2`` (:issue:`2669`) -v20.24.6 (2023-10-23) ---------------------- +*********************** + v20.24.6 (2023-10-23) +*********************** Bugfixes - 20.24.6 -~~~~~~~~~~~~~~~~~~ +================== + - Use get_hookimpls method instead of the private attribute in tests. (:issue:`2649`) - Upgrade embedded wheels: - * setuptools to ``68.2.2`` from ``68.2.0`` - * pip to ``23.3.1`` from ``23.2.1`` (:issue:`2656`) - + - setuptools to ``68.2.2`` from ``68.2.0`` + - pip to ``23.3.1`` from ``23.2.1`` (:issue:`2656`) -v20.24.5 (2023-09-08) ---------------------- +*********************** + v20.24.5 (2023-09-08) +*********************** Bugfixes - 20.24.5 -~~~~~~~~~~~~~~~~~~ +================== + - Declare PyPy 3.10 support - by :user:`cclauss`. (:issue:`2638`) - Brew on macOS no longer allows copy builds - disallow choosing this by :user:`gaborbernat`. (:issue:`2640`) - Upgrade embedded wheels: - * setuptools to ``68.2.0`` from ``68.1.2`` (:issue:`2642`) - + - setuptools to ``68.2.0`` from ``68.1.2`` (:issue:`2642`) -v20.24.4 (2023-08-30) ---------------------- +*********************** + v20.24.4 (2023-08-30) +*********************** Bugfixes - 20.24.4 -~~~~~~~~~~~~~~~~~~ -- Upgrade embedded wheels: +================== - * setuptools to ``68.1.2`` from ``68.1.0`` on ``3.8+`` - * wheel to ``0.41.2`` from ``0.41.1`` on ``3.7+`` (:issue:`2628`) +- Upgrade embedded wheels: + - setuptools to ``68.1.2`` from ``68.1.0`` on ``3.8+`` + - wheel to ``0.41.2`` from ``0.41.1`` on ``3.7+`` (:issue:`2628`) -v20.24.3 (2023-08-11) ---------------------- +*********************** + v20.24.3 (2023-08-11) +*********************** Bugfixes - 20.24.3 -~~~~~~~~~~~~~~~~~~ +================== + - Fixed ResourceWarning on exit caused by periodic update subprocess (:issue:`2472`) - Upgrade embedded wheels: - * wheel to ``0.41.1`` from ``0.41.0`` (:issue:`2622`) + - wheel to ``0.41.1`` from ``0.41.0`` (:issue:`2622`) Misc - 20.24.3 -~~~~~~~~~~~~~~ -- :issue:`2610` +============== +- :issue:`2610` -v20.24.2 (2023-07-24) ---------------------- +*********************** + v20.24.2 (2023-07-24) +*********************** Bugfixes - 20.24.2 -~~~~~~~~~~~~~~~~~~ -- Upgrade embedded wheels: +================== - * pip to ``23.2.1`` from ``23.2`` - * wheel to ``0.41.0`` from ``0.40.0`` (:issue:`2614`) +- Upgrade embedded wheels: + - pip to ``23.2.1`` from ``23.2`` + - wheel to ``0.41.0`` from ``0.40.0`` (:issue:`2614`) -v20.24.1 (2023-07-19) ---------------------- +*********************** + v20.24.1 (2023-07-19) +*********************** Bugfixes - 20.24.1 -~~~~~~~~~~~~~~~~~~ -- Upgrade embedded wheels: +================== - * pip to ``23.2`` from ``23.1.2`` - by :user:`arielkirkwood` (:issue:`2611`) +- Upgrade embedded wheels: + - pip to ``23.2`` from ``23.1.2`` - by :user:`arielkirkwood` (:issue:`2611`) -v20.24.0 (2023-07-14) ---------------------- +*********************** + v20.24.0 (2023-07-14) +*********************** Features - 20.24.0 -~~~~~~~~~~~~~~~~~~ -- Export the prompt prefix as ``VIRTUAL_ENV_PROMPT`` when activating a virtual - environment - by :user:`jimporter`. (:issue:`2194`) +================== + +- Export the prompt prefix as ``VIRTUAL_ENV_PROMPT`` when activating a virtual environment - by :user:`jimporter`. + (:issue:`2194`) Bugfixes - 20.24.0 -~~~~~~~~~~~~~~~~~~ +================== + - Fix test suite - by :user:`gaborbernat`. (:issue:`2592`) - Upgrade embedded wheels: - * setuptools to ``68.0.0`` from ``67.8.0`` (:issue:`2607`) - + - setuptools to ``68.0.0`` from ``67.8.0`` (:issue:`2607`) -v20.23.1 (2023-06-16) ---------------------- +*********************** + v20.23.1 (2023-06-16) +*********************** Bugfixes - 20.23.1 -~~~~~~~~~~~~~~~~~~ -- update and simplify nushell activation script, fixes an issue on Windows resulting in consecutive command not found - by :user:`melMass`. (:issue:`2572`) -- Upgrade embedded wheels: +================== - * setuptools to ``67.8.0`` from ``67.7.2`` (:issue:`2588`) +- update and simplify nushell activation script, fixes an issue on Windows resulting in consecutive command not found - + by :user:`melMass`. (:issue:`2572`) +- Upgrade embedded wheels: + - setuptools to ``67.8.0`` from ``67.7.2`` (:issue:`2588`) -v20.23.0 (2023-04-27) ---------------------- +*********************** + v20.23.0 (2023-04-27) +*********************** Features - 20.23.0 -~~~~~~~~~~~~~~~~~~ +================== + - Do not install ``wheel`` and ``setuptools`` seed packages for Python 3.12+. To restore the old behavior use: - for ``wheel`` use ``VIRTUALENV_WHEEL=bundle`` environment variable or ``--wheel=bundle`` CLI flag, - for ``setuptools`` use ``VIRTUALENV_SETUPTOOLS=bundle`` environment variable or ``--setuptools=bundle`` CLI flag. By :user:`chrysle`. (:issue:`2487`) + - 3.12 support - by :user:`gaborbernat`. (:issue:`2558`) Bugfixes - 20.23.0 -~~~~~~~~~~~~~~~~~~ -- Prevent ``PermissionError`` when using venv creator on systems that deliver files without user write - permission - by :user:`kulikjak`. (:issue:`2543`) -- Upgrade setuptools to ``67.7.2`` from ``67.6.1`` and pip to ``23.1.2`` from ``23.1`` - by :user:`szleb`. (:issue:`2560`) +================== +- Prevent ``PermissionError`` when using venv creator on systems that deliver files without user write permission - by + :user:`kulikjak`. (:issue:`2543`) +- Upgrade setuptools to ``67.7.2`` from ``67.6.1`` and pip to ``23.1.2`` from ``23.1`` - by :user:`szleb`. + (:issue:`2560`) -v20.22.0 (2023-04-19) ---------------------- +*********************** + v20.22.0 (2023-04-19) +*********************** Features - 20.22.0 -~~~~~~~~~~~~~~~~~~ +================== + - Drop support for creating Python <=3.6 (including 2) interpreters. Removed pip of ``20.3.4``, ``21.3.1``; wheel of ``0.37.1``; setuptools of ``59.6.0``, ``44.1.1``, ``50.3.2``- by :user:`gaborbernat`. (:issue:`2548`) - -v20.21.1 (2023-04-19) ---------------------- +*********************** + v20.21.1 (2023-04-19) +*********************** Bugfixes - 20.21.1 -~~~~~~~~~~~~~~~~~~ +================== + - Add ``tox.ini`` to sdist - by :user:`mtelka`. (:issue:`2511`) - Move the use of 'let' in nushell to ensure compatibility with future releases of nushell, where 'let' no longer assumes that its initializer is a full expressions. (:issue:`2527`) -- The nushell command 'str collect' has been superseded by the 'str join' command. The activate.nu script has - been updated to reflect this change. (:issue:`2532`) +- The nushell command 'str collect' has been superseded by the 'str join' command. The activate.nu script has been + updated to reflect this change. (:issue:`2532`) - Upgrade embedded wheels: - * wheel to ``0.40.0`` from ``0.38.4`` - * setuptools to ``67.6.1`` from ``67.4.0`` - * pip to ``23.1`` from ``23.0.1`` (:issue:`2546`) + - wheel to ``0.40.0`` from ``0.38.4`` + - setuptools to ``67.6.1`` from ``67.4.0`` + - pip to ``23.1`` from ``23.0.1`` (:issue:`2546`) - -v20.21.0 (2023-03-12) ---------------------- +*********************** + v20.21.0 (2023-03-12) +*********************** Features - 20.21.0 -~~~~~~~~~~~~~~~~~~ +================== + - Make closure syntax explicitly starts with {||. (:issue:`2512`) Bugfixes - 20.21.0 -~~~~~~~~~~~~~~~~~~ -- Add ``print`` command to nushell print_prompt to ensure compatibility with future release of nushell, - where intermediate commands no longer print their result to stdout. (:issue:`2514`) -- Do not assume the default encoding. (:issue:`2515`) -- Make ``ReentrantFileLock`` thread-safe and, - thereby, fix race condition in ``virtualenv.cli_run`` - by :user:`radoering`. (:issue:`2516`) +================== +- Add ``print`` command to nushell print_prompt to ensure compatibility with future release of nushell, where + intermediate commands no longer print their result to stdout. (:issue:`2514`) +- Do not assume the default encoding. (:issue:`2515`) +- Make ``ReentrantFileLock`` thread-safe and, thereby, fix race condition in ``virtualenv.cli_run`` - by + :user:`radoering`. (:issue:`2516`) -v20.20.0 (2023-02-28) ---------------------- +*********************** + v20.20.0 (2023-02-28) +*********************** Features - 20.20.0 -~~~~~~~~~~~~~~~~~~ -- Change environment variable existence check in Nushell activation script to not use deprecated command. (:issue:`2506`) +================== + +- Change environment variable existence check in Nushell activation script to not use deprecated command. + (:issue:`2506`) Bugfixes - 20.20.0 -~~~~~~~~~~~~~~~~~~ -- Discover CPython implementations distributed on Windows by any organization - by :user:`faph`. (:issue:`2504`) -- Upgrade embedded setuptools to ``67.4.0`` from ``67.1.0`` and pip to ``23.0.1`` from ``23.0`` - by :user:`gaborbernat`. (:issue:`2510`) +================== +- Discover CPython implementations distributed on Windows by any organization - by :user:`faph`. (:issue:`2504`) +- Upgrade embedded setuptools to ``67.4.0`` from ``67.1.0`` and pip to ``23.0.1`` from ``23.0`` - by + :user:`gaborbernat`. (:issue:`2510`) -v20.19.0 (2023-02-07) ---------------------- +*********************** + v20.19.0 (2023-02-07) +*********************** Features - 20.19.0 -~~~~~~~~~~~~~~~~~~ -- Allow platformdirs version ``3`` - by :user:`cdce8p`. (:issue:`2499`) +================== +- Allow platformdirs version ``3`` - by :user:`cdce8p`. (:issue:`2499`) -v20.18.0 (2023-02-06) ---------------------- +*********************** + v20.18.0 (2023-02-06) +*********************** Features - 20.18.0 -~~~~~~~~~~~~~~~~~~ +================== + - Drop ``3.6`` runtime support (can still create ``2.7+``) - by :user:`gaborbernat`. (:issue:`2489`) Bugfixes - 20.18.0 -~~~~~~~~~~~~~~~~~~ +================== + - Fix broken prompt in Nushell when activating virtual environment - by :user:`kubouc`. (:issue:`2481`) - Bump embedded pip to ``23.0`` and setuptools to ``67.1`` - by :user:`gaborbernat`. (:issue:`2489`) - -v20.17.1 (2022-12-05) ---------------------- +*********************** + v20.17.1 (2022-12-05) +*********************** Bugfixes - 20.17.1 -~~~~~~~~~~~~~~~~~~ -- A ``py`` or ``python`` spec means any Python rather than ``CPython`` - by :user:`gaborbernat`. (`#2460 `_) -- Make ``activate.nu`` respect ``VIRTUAL_ENV_DISABLE_PROMPT`` and not set the prompt if requested - by :user:`m-lima`. (`#2461 `_) +================== +- A ``py`` or ``python`` spec means any Python rather than ``CPython`` - by :user:`gaborbernat`. (`#2460 + `_) +- Make ``activate.nu`` respect ``VIRTUAL_ENV_DISABLE_PROMPT`` and not set the prompt if requested - by :user:`m-lima`. + (`#2461 `_) -v20.17.0 (2022-11-27) ---------------------- +*********************** + v20.17.0 (2022-11-27) +*********************** Features - 20.17.0 -~~~~~~~~~~~~~~~~~~ -- Change Nushell activation script to be a module meant to be activated as an overlay. (`#2422 `_) -- Update operator used in Nushell activation script to be compatible with future versions. (`#2450 `_) +================== + +- Change Nushell activation script to be a module meant to be activated as an overlay. (`#2422 + `_) +- Update operator used in Nushell activation script to be compatible with future versions. (`#2450 + `_) Bugfixes - 20.17.0 -~~~~~~~~~~~~~~~~~~ -- Do not use deprecated API from ``importlib.resources`` on Python 3.10 or later - by :user:`gaborbernat`. (`#2448 `_) -- Upgrade embedded setuptools to ``65.6.3`` from ``65.5.1`` - by :user:`gaborbernat`. (`#2451 `_) +================== +- Do not use deprecated API from ``importlib.resources`` on Python 3.10 or later - by :user:`gaborbernat`. (`#2448 + `_) +- Upgrade embedded setuptools to ``65.6.3`` from ``65.5.1`` - by :user:`gaborbernat`. (`#2451 + `_) -v20.16.7 (2022-11-12) ---------------------- +*********************** + v20.16.7 (2022-11-12) +*********************** Bugfixes - 20.16.7 -~~~~~~~~~~~~~~~~~~ -- Use parent directory of python executable for pyvenv.cfg "home" value per PEP 405 - by :user:`vfazio`. (`#2440 `_) -- In POSIX virtual environments, try alternate binary names if ``sys._base_executable`` does not exist - by :user:`vfazio`. (`#2442 `_) -- Upgrade embedded wheel to ``0.38.4`` and pip to ``22.3.1`` from ``22.3`` and setuptools to ``65.5.1`` from - ``65.5.0`` - by :user:`gaborbernat`. (`#2443 `_) +================== +- Use parent directory of python executable for pyvenv.cfg "home" value per PEP 405 - by :user:`vfazio`. (`#2440 + `_) +- In POSIX virtual environments, try alternate binary names if ``sys._base_executable`` does not exist - by + :user:`vfazio`. (`#2442 `_) +- Upgrade embedded wheel to ``0.38.4`` and pip to ``22.3.1`` from ``22.3`` and setuptools to ``65.5.1`` from ``65.5.0`` + - by :user:`gaborbernat`. (`#2443 `_) -v20.16.6 (2022-10-25) ---------------------- +*********************** + v20.16.6 (2022-10-25) +*********************** Features - 20.16.6 -~~~~~~~~~~~~~~~~~~ +================== + - Drop unneeded shims for PyPy3 directory structure (`#2426 `_) Bugfixes - 20.16.6 -~~~~~~~~~~~~~~~~~~ -- Fix selected scheme on debian derivatives for python 3.10 when ``python3-distutils`` is not installed or the ``venv`` scheme is not available - by :user:`asottile`. (`#2350 `_) -- Allow the test suite to pass even with the original C shell (rather than ``tcsh``) - by :user:`kulikjak`. (`#2418 `_) -- Fix fallback handling of downloading wheels for bundled packages - by :user:`schaap`. (`#2429 `_) -- Upgrade embedded setuptools to ``65.5.0`` from ``65.3.0`` and pip to ``22.3`` from ``22.2.2`` - by :user:`gaborbernat`. (`#2434 `_) +================== +- Fix selected scheme on debian derivatives for python 3.10 when ``python3-distutils`` is not installed or the ``venv`` + scheme is not available - by :user:`asottile`. (`#2350 `_) +- Allow the test suite to pass even with the original C shell (rather than ``tcsh``) - by :user:`kulikjak`. (`#2418 + `_) +- Fix fallback handling of downloading wheels for bundled packages - by :user:`schaap`. (`#2429 + `_) +- Upgrade embedded setuptools to ``65.5.0`` from ``65.3.0`` and pip to ``22.3`` from ``22.2.2`` - by + :user:`gaborbernat`. (`#2434 `_) -v20.16.5 (2022-09-07) ---------------------- +*********************** + v20.16.5 (2022-09-07) +*********************** Bugfixes - 20.16.5 -~~~~~~~~~~~~~~~~~~ -- Do not turn echo off for subsequent commands in batch activators - (``activate.bat`` and ``deactivate.bat``) - by :user:`pawelszramowski`. (`#2411 `_) +================== +- Do not turn echo off for subsequent commands in batch activators (``activate.bat`` and ``deactivate.bat``) - by + :user:`pawelszramowski`. (`#2411 `_) -v20.16.4 (2022-08-29) ---------------------- +*********************** + v20.16.4 (2022-08-29) +*********************** Bugfixes - 20.16.4 -~~~~~~~~~~~~~~~~~~ -- Bump embed setuptools to ``65.3`` - by :user:`gaborbernat`. (`#2405 `_) +================== +- Bump embed setuptools to ``65.3`` - by :user:`gaborbernat`. (`#2405 + `_) -v20.16.3 (2022-08-04) ---------------------- +*********************** + v20.16.3 (2022-08-04) +*********************** Bugfixes - 20.16.3 -~~~~~~~~~~~~~~~~~~ -- Upgrade embedded pip to ``22.2.2`` from ``22.2.1`` and setuptools to ``63.4.1`` from ``63.2.0`` - by :user:`gaborbernat`. (`#2395 `_) +================== +- Upgrade embedded pip to ``22.2.2`` from ``22.2.1`` and setuptools to ``63.4.1`` from ``63.2.0`` - by + :user:`gaborbernat`. (`#2395 `_) -v20.16.2 (2022-07-27) ---------------------- +*********************** + v20.16.2 (2022-07-27) +*********************** Bugfixes - 20.16.2 -~~~~~~~~~~~~~~~~~~ -- Bump embedded pip from ``22.2`` to ``22.2.1`` - by :user:`gaborbernat`. (`#2391 `_) +================== +- Bump embedded pip from ``22.2`` to ``22.2.1`` - by :user:`gaborbernat`. (`#2391 + `_) -v20.16.1 (2022-07-26) ---------------------- +*********************** + v20.16.1 (2022-07-26) +*********************** Features - 20.16.1 -~~~~~~~~~~~~~~~~~~ -- Update Nushell activation scripts to version 0.67 - by :user:`kubouch`. (`#2386 `_) +================== +- Update Nushell activation scripts to version 0.67 - by :user:`kubouch`. (`#2386 + `_) -v20.16.0 (2022-07-25) ---------------------- +*********************** + v20.16.0 (2022-07-25) +*********************** Features - 20.16.0 -~~~~~~~~~~~~~~~~~~ -- Drop support for running under Python 2 (still can generate Python 2 environments) - by :user:`gaborbernat`. (`#2382 `_) -- Upgrade embedded pip to ``22.2`` from ``22.1.2`` and setuptools to ``63.2.0`` from ``62.6.0`` - - by :user:`gaborbernat`. (`#2383 `_) +================== +- Drop support for running under Python 2 (still can generate Python 2 environments) - by :user:`gaborbernat`. (`#2382 + `_) +- Upgrade embedded pip to ``22.2`` from ``22.1.2`` and setuptools to ``63.2.0`` from ``62.6.0`` - by + :user:`gaborbernat`. (`#2383 `_) -v20.15.1 (2022-06-28) ---------------------- +*********************** + v20.15.1 (2022-06-28) +*********************** Bugfixes - 20.15.1 -~~~~~~~~~~~~~~~~~~ -- Fix the incorrect operation when ``setuptools`` plugins output something into ``stdout``. (`#2335 `_) -- CPython3Windows creator ignores missing ``DLLs`` dir. (`#2368 `_) +================== +- Fix the incorrect operation when ``setuptools`` plugins output something into ``stdout``. (`#2335 + `_) +- CPython3Windows creator ignores missing ``DLLs`` dir. (`#2368 `_) -v20.15.0 (2022-06-25) ---------------------- +*********************** + v20.15.0 (2022-06-25) +*********************** Features - 20.15.0 -~~~~~~~~~~~~~~~~~~ -- Support for Windows embeddable Python package: includes ``python.zip`` in the creator sources - - by :user:`reksarka`. (`#1774 `_) +================== + +- Support for Windows embeddable Python package: includes ``python.zip`` in the creator sources - by + :user:`reksarka`. (`#1774 `_) Bugfixes - 20.15.0 -~~~~~~~~~~~~~~~~~~ -- Upgrade embedded setuptools to ``62.3.3`` from ``62.6.0`` and pip to ``22.1.2`` from ``22.0.4`` - - by :user:`gaborbernat`. (`#2348 `_) -- Use ``shlex.quote`` instead of deprecated ``pipes.quote`` in Python 3 - by :user:`frenzymadness`. (`#2351 `_) -- Fix Windows PyPy 3.6 - by :user:`reksarka`. (`#2363 `_) +================== +- Upgrade embedded setuptools to ``62.3.3`` from ``62.6.0`` and pip to ``22.1.2`` from ``22.0.4`` - by + :user:`gaborbernat`. (`#2348 `_) +- Use ``shlex.quote`` instead of deprecated ``pipes.quote`` in Python 3 - by :user:`frenzymadness`. (`#2351 + `_) +- Fix Windows PyPy 3.6 - by :user:`reksarka`. (`#2363 `_) -v20.14.1 (2022-04-11) ---------------------- +*********************** + v20.14.1 (2022-04-11) +*********************** Features - 20.14.1 -~~~~~~~~~~~~~~~~~~ -- Support for creating a virtual environment from a Python 2.7 framework on macOS 12 - by :user:`nickhutchinson`. (`#2284 `_) +================== + +- Support for creating a virtual environment from a Python 2.7 framework on macOS 12 - by :user:`nickhutchinson`. + (`#2284 `_) Bugfixes - 20.14.1 -~~~~~~~~~~~~~~~~~~ -- Upgrade embedded setuptools to ``62.1.0`` from ``61.0.0`` - by :user:`gaborbernat`. (`#2327 `_) +================== +- Upgrade embedded setuptools to ``62.1.0`` from ``61.0.0`` - by :user:`gaborbernat`. (`#2327 + `_) -v20.14.0 (2022-03-25) ---------------------- +*********************** + v20.14.0 (2022-03-25) +*********************** Features - 20.14.0 -~~~~~~~~~~~~~~~~~~ -- Support Nushell activation scripts with nu version ``0.60`` - by :user:`kubouch`. (`#2321 `_) +================== + +- Support Nushell activation scripts with nu version ``0.60`` - by :user:`kubouch`. (`#2321 + `_) Bugfixes - 20.14.0 -~~~~~~~~~~~~~~~~~~ -- Upgrade embedded setuptools to ``61.0.0`` from ``60.10.0`` - by :user:`gaborbernat`. (`#2322 `_) +================== -v20.13.4 (2022-03-18) ---------------------- +- Upgrade embedded setuptools to ``61.0.0`` from ``60.10.0`` - by :user:`gaborbernat`. (`#2322 + `_) + +*********************** + v20.13.4 (2022-03-18) +*********************** Bugfixes - 20.13.4 -~~~~~~~~~~~~~~~~~~ -- Improve performance of python startup inside created virtualenvs - by :user:`asottile`. (`#2317 `_) -- Upgrade embedded setuptools to ``60.10.0`` from ``60.9.3`` - by :user:`gaborbernat`. (`#2320 `_) +================== + +- Improve performance of python startup inside created virtualenvs - by :user:`asottile`. (`#2317 + `_) +- Upgrade embedded setuptools to ``60.10.0`` from ``60.9.3`` - by :user:`gaborbernat`. (`#2320 + `_) -v20.13.3 (2022-03-07) ---------------------- +*********************** + v20.13.3 (2022-03-07) +*********************** Bugfixes - 20.13.3 -~~~~~~~~~~~~~~~~~~ -- Avoid symlinking the contents of ``/usr`` into PyPy3.8+ virtualenvs - by :user:`stefanor`. (`#2310 `_) -- Bump embed pip from ``22.0.3`` to ``22.0.4`` - by :user:`gaborbernat`. (`#2311 `_) +================== +- Avoid symlinking the contents of ``/usr`` into PyPy3.8+ virtualenvs - by :user:`stefanor`. (`#2310 + `_) +- Bump embed pip from ``22.0.3`` to ``22.0.4`` - by :user:`gaborbernat`. (`#2311 + `_) -v20.13.2 (2022-02-24) ---------------------- +*********************** + v20.13.2 (2022-02-24) +*********************** Bugfixes - 20.13.2 -~~~~~~~~~~~~~~~~~~ -- Upgrade embedded setuptools to ``60.9.3`` from ``60.6.0`` - by :user:`gaborbernat`. (`#2306 `_) +================== +- Upgrade embedded setuptools to ``60.9.3`` from ``60.6.0`` - by :user:`gaborbernat`. (`#2306 + `_) -v20.13.1 (2022-02-05) ---------------------- +*********************** + v20.13.1 (2022-02-05) +*********************** Bugfixes - 20.13.1 -~~~~~~~~~~~~~~~~~~ -- fix "execv() arg 2 must contain only strings" error on M1 MacOS (`#2282 `_) -- Upgrade embedded setuptools to ``60.5.0`` from ``60.2.0`` - by :user:`asottile`. (`#2289 `_) -- Upgrade embedded pip to ``22.0.3`` and setuptools to ``60.6.0`` - by :user:`gaborbernat` and :user:`asottile`. (`#2294 `_) +================== +- fix "execv() arg 2 must contain only strings" error on M1 MacOS (`#2282 + `_) +- Upgrade embedded setuptools to ``60.5.0`` from ``60.2.0`` - by :user:`asottile`. (`#2289 + `_) +- Upgrade embedded pip to ``22.0.3`` and setuptools to ``60.6.0`` - by :user:`gaborbernat` and :user:`asottile`. (`#2294 + `_) -v20.13.0 (2022-01-02) ---------------------- +*********************** + v20.13.0 (2022-01-02) +*********************** Features - 20.13.0 -~~~~~~~~~~~~~~~~~~ -- Add downloaded wheel information in the relevant JSON embed file to - prevent additional downloads of the same wheel. - by :user:`mayeut`. (`#2268 `_) +================== + +- Add downloaded wheel information in the relevant JSON embed file to prevent additional downloads of the same wheel. - + by :user:`mayeut`. (`#2268 `_) Bugfixes - 20.13.0 -~~~~~~~~~~~~~~~~~~ -- Fix ``AttributeError: 'bool' object has no attribute 'error'`` when creating a - Python 2.x virtualenv on macOS - by ``moreati``. (`#2269 `_) -- Fix ``PermissionError: [Errno 1] Operation not permitted`` when creating a - Python 2.x virtualenv on macOS/arm64 - by ``moreati``. (`#2271 `_) +================== +- Fix ``AttributeError: 'bool' object has no attribute 'error'`` when creating a Python 2.x virtualenv on macOS - by + ``moreati``. (`#2269 `_) +- Fix ``PermissionError: [Errno 1] Operation not permitted`` when creating a Python 2.x virtualenv on macOS/arm64 - by + ``moreati``. (`#2271 `_) -v20.12.1 (2022-01-01) ---------------------- +*********************** + v20.12.1 (2022-01-01) +*********************** Bugfixes - 20.12.1 -~~~~~~~~~~~~~~~~~~ -- Try using previous updates of ``pip``, ``setuptools`` & ``wheel`` - when inside an update grace period rather than always falling back - to embedded wheels - by :user:`mayeut`. (`#2265 `_) -- New patch versions of ``pip``, ``setuptools`` & ``wheel`` are now - returned in the expected timeframe. - by :user:`mayeut`. (`#2266 `_) -- Manual upgrades of ``pip``, ``setuptools`` & ``wheel`` are - not discarded by a periodic update - by :user:`mayeut`. (`#2267 `_) +================== +- Try using previous updates of ``pip``, ``setuptools`` & ``wheel`` when inside an update grace period rather than + always falling back to embedded wheels - by :user:`mayeut`. (`#2265 + `_) +- New patch versions of ``pip``, ``setuptools`` & ``wheel`` are now returned in the expected timeframe. - by + :user:`mayeut`. (`#2266 `_) +- Manual upgrades of ``pip``, ``setuptools`` & ``wheel`` are not discarded by a periodic update - by :user:`mayeut`. + (`#2267 `_) -v20.12.0 (2021-12-31) ---------------------- +*********************** + v20.12.0 (2021-12-31) +*********************** Features - 20.12.0 -~~~~~~~~~~~~~~~~~~ -- Sign the python2 exe on Darwin arm64 - by :user:`tmspicer`. (`#2233 `_) +================== + +- Sign the python2 exe on Darwin arm64 - by :user:`tmspicer`. (`#2233 + `_) Bugfixes - 20.12.0 -~~~~~~~~~~~~~~~~~~ -- Fix ``--download`` option - by :user:`mayeut`. (`#2120 `_) -- Upgrade embedded setuptools to ``60.2.0`` from ``60.1.1`` - by :user:`gaborbernat`. (`#2263 `_) +================== +- Fix ``--download`` option - by :user:`mayeut`. (`#2120 `_) +- Upgrade embedded setuptools to ``60.2.0`` from ``60.1.1`` - by :user:`gaborbernat`. (`#2263 + `_) -v20.11.2 (2021-12-29) ---------------------- +*********************** + v20.11.2 (2021-12-29) +*********************** Bugfixes - 20.11.2 -~~~~~~~~~~~~~~~~~~ -- Fix installation of pinned versions of ``pip``, ``setuptools`` & ``wheel`` - by :user:`mayeut`. (`#2203 `_) +================== +- Fix installation of pinned versions of ``pip``, ``setuptools`` & ``wheel`` - by :user:`mayeut`. (`#2203 + `_) -v20.11.1 (2021-12-29) ---------------------- +*********************** + v20.11.1 (2021-12-29) +*********************** Bugfixes - 20.11.1 -~~~~~~~~~~~~~~~~~~ -- Bump embed setuptools to ``60.1.1`` from ``60.1.0`` - by :user:`gaborbernat`. (`#2258 `_) +================== +- Bump embed setuptools to ``60.1.1`` from ``60.1.0`` - by :user:`gaborbernat`. (`#2258 + `_) -v20.11.0 (2021-12-28) ---------------------- +*********************** + v20.11.0 (2021-12-28) +*********************** Features - 20.11.0 -~~~~~~~~~~~~~~~~~~ -- Avoid deprecation warning from py-filelock argument - by :user:`ofek`. (`#2237 `_) -- Upgrade embedded setuptools to ``61.1.0`` from ``58.3.0`` - by :user:`gaborbernat`. (`#2240 `_) -- Drop the runtime dependency of ``backports.entry-points-selectable`` - by :user:`hroncok`. (`#2246 `_) -- Fish: PATH variables should not be quoted when being set - by :user:`d3dave`. (`#2248 `_) +================== +- Avoid deprecation warning from py-filelock argument - by :user:`ofek`. (`#2237 + `_) +- Upgrade embedded setuptools to ``61.1.0`` from ``58.3.0`` - by :user:`gaborbernat`. (`#2240 + `_) +- Drop the runtime dependency of ``backports.entry-points-selectable`` - by :user:`hroncok`. (`#2246 + `_) +- Fish: PATH variables should not be quoted when being set - by :user:`d3dave`. (`#2248 + `_) -v20.10.0 (2021-11-01) ---------------------- +*********************** + v20.10.0 (2021-11-01) +*********************** Features - 20.10.0 -~~~~~~~~~~~~~~~~~~ +================== + - If a ``"venv"`` install scheme exists in ``sysconfig``, virtualenv now uses it to create new virtual environments. - This allows Python distributors, such as Fedora, to patch/replace the default install scheme without affecting - the paths in new virtual environments. - A similar technique `was proposed to Python, for the venv module `_ - by ``hroncok`` (`#2208 `_) -- The activated virtualenv prompt is now always wrapped in parentheses. This - affects venvs created with the ``--prompt`` attribute, and matches virtualenv's - behavior on par with venv. (`#2224 `_) + This allows Python distributors, such as Fedora, to patch/replace the default install scheme without affecting the + paths in new virtual environments. A similar technique `was proposed to Python, for the venv module + `_ - by ``hroncok`` (`#2208 `_) +- The activated virtualenv prompt is now always wrapped in parentheses. This affects venvs created with the ``--prompt`` + attribute, and matches virtualenv's behavior on par with venv. (`#2224 + `_) Bugfixes - 20.10.0 -~~~~~~~~~~~~~~~~~~ -- Fix broken prompt set up by activate.bat - by :user:`SiggyBar`. (`#2225 `_) +================== +- Fix broken prompt set up by activate.bat - by :user:`SiggyBar`. (`#2225 + `_) -v20.9.0 (2021-10-23) --------------------- +********************** + v20.9.0 (2021-10-23) +********************** Features - 20.9.0 -~~~~~~~~~~~~~~~~~ -- Special-case ``--prompt .`` to the name of the current directory - by :user:`rkm`. (`#2220 `_) +================= + +- Special-case ``--prompt .`` to the name of the current directory - by :user:`rkm`. (`#2220 + `_) - Add libffi-8.dll to pypy windows `#2218 `_ - by :user:`mattip` Bugfixes - 20.9.0 -~~~~~~~~~~~~~~~~~ -- Fixed path collision that could lead to a PermissionError or writing to system - directories when using PyPy3.8 - by :user:`mgorny`. (`#2182 `_) +================= + +- Fixed path collision that could lead to a PermissionError or writing to system directories when using PyPy3.8 - by + :user:`mgorny`. (`#2182 `_) - Upgrade embedded setuptools to ``58.3.0`` from ``58.1.0`` and pip to ``21.3.1`` from ``21.2.4`` - by :user:`gaborbernat`. (`#2205 `_) -- Remove stray closing parenthesis in activate.bat - by :user:`SiggyBar`. (`#2221 `_) - +- Remove stray closing parenthesis in activate.bat - by :user:`SiggyBar`. (`#2221 + `_) -v20.8.1 (2021-09-24) --------------------- +********************** + v20.8.1 (2021-09-24) +********************** Bugfixes - 20.8.1 -~~~~~~~~~~~~~~~~~ -- Fixed a bug where while creating a venv on top of an existing one, without cleaning, when seeded - wheel version mismatch occurred, multiple ``.dist-info`` directories may be present, confounding entrypoint - discovery - by :user:`arcivanov` (`#2185 `_) -- Bump embed setuptools from ``58.0.4`` to ``58.1.0`` - by :user:`gaborbernat`. (`#2195 `_) +================= + +- Fixed a bug where while creating a venv on top of an existing one, without cleaning, when seeded wheel version + mismatch occurred, multiple ``.dist-info`` directories may be present, confounding entrypoint discovery - by + :user:`arcivanov` (`#2185 `_) +- Bump embed setuptools from ``58.0.4`` to ``58.1.0`` - by :user:`gaborbernat`. (`#2195 + `_) Misc - 20.8.1 -~~~~~~~~~~~~~ -- `#2189 `_ +============= +- `#2189 `_ -v20.8.0 (2021-09-16) --------------------- +********************** + v20.8.0 (2021-09-16) +********************** -* upgrade embedded setuptools to ``58.0.4`` from ``57.4.0`` and pip to ``21.2.4`` from ``21.2.3`` -* Add nushell activation script +- upgrade embedded setuptools to ``58.0.4`` from ``57.4.0`` and pip to ``21.2.4`` from ``21.2.3`` +- Add nushell activation script -v20.7.2 (2021-08-10) --------------------- +********************** + v20.7.2 (2021-08-10) +********************** Bugfixes - 20.7.2 -~~~~~~~~~~~~~~~~~ -- Upgrade embedded pip to ``21.2.3`` from ``21.2.2`` and wheel to ``0.37.0`` from ``0.36.2`` - by :user:`gaborbernat`. (`#2168 `_) +================= +- Upgrade embedded pip to ``21.2.3`` from ``21.2.2`` and wheel to ``0.37.0`` from ``0.36.2`` - by :user:`gaborbernat`. + (`#2168 `_) -v20.7.1 (2021-08-09) --------------------- +********************** + v20.7.1 (2021-08-09) +********************** Bugfixes - 20.7.1 -~~~~~~~~~~~~~~~~~ -- Fix unpacking dictionary items in PythonInfo.install_path (`#2165 `_) +================= +- Fix unpacking dictionary items in PythonInfo.install_path (`#2165 `_) -v20.7.0 (2021-07-31) --------------------- +********************** + v20.7.0 (2021-07-31) +********************** Bugfixes - 20.7.0 -~~~~~~~~~~~~~~~~~ -- upgrade embedded pip to ``21.2.2`` from ``21.1.3`` and setuptools to ``57.4.0`` from ``57.1.0`` - by :user:`gaborbernat` (`#2159 `_) +================= + +- upgrade embedded pip to ``21.2.2`` from ``21.1.3`` and setuptools to ``57.4.0`` from ``57.1.0`` - by + :user:`gaborbernat` (`#2159 `_) Deprecations and Removals - 20.7.0 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- Removed ``xonsh`` activator due to this breaking fairly often the CI and lack of support from those packages - maintainers, upstream is encouraged to continue supporting the project as a - `plugin `_ - by :user:`gaborbernat`. (`#2160 `_) +================================== +- Removed ``xonsh`` activator due to this breaking fairly often the CI and lack of support from those packages + maintainers, upstream is encouraged to continue supporting the project as a `plugin + `_ - by :user:`gaborbernat`. (`#2160 + `_) -v20.6.0 (2021-07-14) --------------------- +********************** + v20.6.0 (2021-07-14) +********************** Features - 20.6.0 -~~~~~~~~~~~~~~~~~ -- Support Python interpreters without ``distutils`` (fallback to ``syconfig`` in these cases) - by :user:`gaborbernat`. (`#1910 `_) +================= +- Support Python interpreters without ``distutils`` (fallback to ``syconfig`` in these cases) - by :user:`gaborbernat`. + (`#1910 `_) -v20.5.0 (2021-07-13) --------------------- +********************** + v20.5.0 (2021-07-13) +********************** Features - 20.5.0 -~~~~~~~~~~~~~~~~~ -- Plugins now use 'selectable' entry points - by :user:`jaraco`. (`#2093 `_) +================= + +- Plugins now use 'selectable' entry points - by :user:`jaraco`. (`#2093 + `_) - add libffi-7.dll to the hard-coded list of dlls for PyPy (`#2141 `_) -- Use the better maintained ``platformdirs`` instead of ``appdirs`` - by :user:`gaborbernat`. (`#2142 `_) +- Use the better maintained ``platformdirs`` instead of ``appdirs`` - by :user:`gaborbernat`. (`#2142 + `_) Bugfixes - 20.5.0 -~~~~~~~~~~~~~~~~~ -- Bump pip the embedded pip ``21.1.3`` and setuptools to ``57.1.0`` - by :user:`gaborbernat`. (`#2135 `_) +================= + +- Bump pip the embedded pip ``21.1.3`` and setuptools to ``57.1.0`` - by :user:`gaborbernat`. (`#2135 + `_) Deprecations and Removals - 20.5.0 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- Drop python ``3.4`` support as it has been over 2 years since EOL - by :user:`gaborbernat`. (`#2141 `_) +================================== +- Drop python ``3.4`` support as it has been over 2 years since EOL - by :user:`gaborbernat`. (`#2141 + `_) -v20.4.7 (2021-05-24) --------------------- +********************** + v20.4.7 (2021-05-24) +********************** Bugfixes - 20.4.7 -~~~~~~~~~~~~~~~~~ -- Upgrade embedded pip to ``21.1.2`` and setuptools to ``57.0.0`` - by :user:`gaborbernat`. (`#2123 `_) +================= +- Upgrade embedded pip to ``21.1.2`` and setuptools to ``57.0.0`` - by :user:`gaborbernat`. (`#2123 + `_) -v20.4.6 (2021-05-05) --------------------- +********************** + v20.4.6 (2021-05-05) +********************** Bugfixes - 20.4.6 -~~~~~~~~~~~~~~~~~ -- Fix ``site.getsitepackages()`` broken on python2 on debian - by :user:`freundTech`. (`#2105 `_) +================= +- Fix ``site.getsitepackages()`` broken on python2 on debian - by :user:`freundTech`. (`#2105 + `_) -v20.4.5 (2021-05-05) --------------------- +********************** + v20.4.5 (2021-05-05) +********************** Bugfixes - 20.4.5 -~~~~~~~~~~~~~~~~~ -- Bump pip to ``21.1.1`` from ``21.0.1`` - by :user:`gaborbernat`. (`#2104 `_) -- Fix ``site.getsitepackages()`` ignoring ``--system-site-packages`` on python2 - by :user:`freundTech`. (`#2106 `_) +================= +- Bump pip to ``21.1.1`` from ``21.0.1`` - by :user:`gaborbernat`. (`#2104 + `_) +- Fix ``site.getsitepackages()`` ignoring ``--system-site-packages`` on python2 - by :user:`freundTech`. (`#2106 + `_) -v20.4.4 (2021-04-20) --------------------- +********************** + v20.4.4 (2021-04-20) +********************** Bugfixes - 20.4.4 -~~~~~~~~~~~~~~~~~ -- Built in discovery class is always preferred over plugin supplied classes. (`#2087 `_) -- Upgrade embedded setuptools to ``56.0.0`` by :user:`gaborbernat`. (`#2094 `_) +================= +- Built in discovery class is always preferred over plugin supplied classes. (`#2087 + `_) +- Upgrade embedded setuptools to ``56.0.0`` by :user:`gaborbernat`. (`#2094 + `_) -v20.4.3 (2021-03-16) --------------------- +********************** + v20.4.3 (2021-03-16) +********************** Bugfixes - 20.4.3 -~~~~~~~~~~~~~~~~~ -- Bump embedded setuptools from ``52.0.0`` to ``54.1.2`` - by :user:`gaborbernat` (`#2069 `_) -- Fix PyPy3 stdlib on Windows is incorrect - by :user:`gaborbernat`. (`#2071 `_) +================= +- Bump embedded setuptools from ``52.0.0`` to ``54.1.2`` - by :user:`gaborbernat` (`#2069 + `_) +- Fix PyPy3 stdlib on Windows is incorrect - by :user:`gaborbernat`. (`#2071 + `_) -v20.4.2 (2021-02-01) --------------------- +********************** + v20.4.2 (2021-02-01) +********************** Bugfixes - 20.4.2 -~~~~~~~~~~~~~~~~~ -- Running virtualenv ``--upgrade-embed-wheels`` crashes - by :user:`gaborbernat`. (`#2058 `_) +================= +- Running virtualenv ``--upgrade-embed-wheels`` crashes - by :user:`gaborbernat`. (`#2058 + `_) -v20.4.1 (2021-01-31) --------------------- +********************** + v20.4.1 (2021-01-31) +********************** Bugfixes - 20.4.1 -~~~~~~~~~~~~~~~~~ -- Bump embedded pip and setuptools packages to latest upstream supported (``21.0.1`` and ``52.0.0``) - by :user:`gaborbernat`. (`#2060 `_) +================= +- Bump embedded pip and setuptools packages to latest upstream supported (``21.0.1`` and ``52.0.0``) - by + :user:`gaborbernat`. (`#2060 `_) -v20.4.0 (2021-01-19) --------------------- +********************** + v20.4.0 (2021-01-19) +********************** Features - 20.4.0 -~~~~~~~~~~~~~~~~~ +================= + - On the programmatic API allow passing in the environment variable dictionary to use, defaults to ``os.environ`` if not specified - by :user:`gaborbernat`. (`#2054 `_) Bugfixes - 20.4.0 -~~~~~~~~~~~~~~~~~ -- Upgrade embedded setuptools to ``51.3.3`` from ``51.1.2`` - by :user:`gaborbernat`. (`#2055 `_) +================= +- Upgrade embedded setuptools to ``51.3.3`` from ``51.1.2`` - by :user:`gaborbernat`. (`#2055 + `_) -v20.3.1 (2021-01-13) --------------------- +********************** + v20.3.1 (2021-01-13) +********************** Bugfixes - 20.3.1 -~~~~~~~~~~~~~~~~~ -- Bump embed pip to ``20.3.3``, setuptools to ``51.1.1`` and wheel to ``0.36.2`` - by :user:`gaborbernat`. (`#2036 `_) -- Allow unfunctioning of pydoc to fail freely so that virtualenvs can be - activated under Zsh with set -e (since otherwise ``unset -f`` and - ``unfunction`` exit with 1 if the function does not exist in Zsh) - by - :user:`d125q`. (`#2049 `_) -- Drop cached python information if the system executable is no longer present (for example when the executable is a - shim and the mapped executable is replaced - such is the case with pyenv) - by :user:`gaborbernat`. (`#2050 `_) +================= +- Bump embed pip to ``20.3.3``, setuptools to ``51.1.1`` and wheel to ``0.36.2`` - by :user:`gaborbernat`. (`#2036 + `_) +- Allow unfunctioning of pydoc to fail freely so that virtualenvs can be activated under Zsh with set -e (since + otherwise ``unset -f`` and ``unfunction`` exit with 1 if the function does not exist in Zsh) - by :user:`d125q`. + (`#2049 `_) +- Drop cached python information if the system executable is no longer present (for example when the executable is a + shim and the mapped executable is replaced - such is the case with pyenv) - by :user:`gaborbernat`. (`#2050 + `_) -v20.3.0 (2021-01-10) --------------------- +********************** + v20.3.0 (2021-01-10) +********************** Features - 20.3.0 -~~~~~~~~~~~~~~~~~ +================= + - The builtin discovery takes now a ``--try-first-with`` argument and is first attempted as valid interpreters. One can - use this to force discovery of a given python executable when the discovery order/mechanism raises errors - - by :user:`gaborbernat`. (`#2046 `_) + use this to force discovery of a given python executable when the discovery order/mechanism raises errors - by + :user:`gaborbernat`. (`#2046 `_) Bugfixes - 20.3.0 -~~~~~~~~~~~~~~~~~ -- On Windows python ``3.7+`` distributions where the exe shim is missing fallback to the old ways - by :user:`gaborbernat`. (`#1986 `_) -- When discovering interpreters on Windows, via the PEP-514, prefer ``PythonCore`` releases over other ones. virtualenv - is used via pip mostly by this distribution, so prefer it over other such as conda - by :user:`gaborbernat`. (`#2046 `_) +================= +- On Windows python ``3.7+`` distributions where the exe shim is missing fallback to the old ways - by + :user:`gaborbernat`. (`#1986 `_) +- When discovering interpreters on Windows, via the PEP-514, prefer ``PythonCore`` releases over other ones. virtualenv + is used via pip mostly by this distribution, so prefer it over other such as conda - by :user:`gaborbernat`. (`#2046 + `_) -v20.2.2 (2020-12-07) --------------------- +********************** + v20.2.2 (2020-12-07) +********************** Bugfixes - 20.2.2 -~~~~~~~~~~~~~~~~~ -- Bump pip to ``20.3.1``, setuptools to ``51.0.0`` and wheel to ``0.36.1`` - by :user:`gaborbernat`. (`#2029 `_) +================= +- Bump pip to ``20.3.1``, setuptools to ``51.0.0`` and wheel to ``0.36.1`` - by :user:`gaborbernat`. (`#2029 + `_) -v20.2.1 (2020-11-23) --------------------- +********************** + v20.2.1 (2020-11-23) +********************** No significant changes. - -v20.2.0 (2020-11-21) --------------------- +********************** + v20.2.0 (2020-11-21) +********************** Features - 20.2.0 -~~~~~~~~~~~~~~~~~ -- Optionally skip VCS ignore directive for entire virtualenv directory, using option :option:`no-vcs-ignore`, by default ``False``. (`#2003 `_) -- Add ``--read-only-app-data`` option to allow for creation based on an existing - app data cache which is non-writable. This may be useful (for example) to - produce a docker image where the app-data is pre-populated. +================= + +- Optionally skip VCS ignore directive for entire virtualenv directory, using option :option:`no-vcs-ignore`, by default + ``False``. (`#2003 `_) +- Add ``--read-only-app-data`` option to allow for creation based on an existing app data cache which is non-writable. + This may be useful (for example) to produce a docker image where the app-data is pre-populated. .. code-block:: dockerfile @@ -1087,114 +1324,147 @@ Features - 20.2.0 Patch by :user:`asottile`. (`#2009 `_) Bugfixes - 20.2.0 -~~~~~~~~~~~~~~~~~ -- Fix processing of the ``VIRTUALENV_PYTHON`` environment variable and make it - multi-value as well (separated by comma) - by :user:`pneff`. (`#1998 `_) +================= +- Fix processing of the ``VIRTUALENV_PYTHON`` environment variable and make it multi-value as well (separated by comma) + - by :user:`pneff`. (`#1998 `_) -v20.1.0 (2020-10-25) --------------------- +********************** + v20.1.0 (2020-10-25) +********************** Features - 20.1.0 -~~~~~~~~~~~~~~~~~ +================= + - The python specification can now take one or more values, first found is used to create the virtual environment - by :user:`gaborbernat`. (`#1995 `_) - -v20.0.35 (2020-10-15) ---------------------- +*********************** + v20.0.35 (2020-10-15) +*********************** Bugfixes - 20.0.35 -~~~~~~~~~~~~~~~~~~ -- Bump embedded setuptools from ``50.3.0`` to ``50.3.1`` - by :user:`gaborbernat`. (`#1982 `_) -- After importing virtualenv passing cwd to a subprocess calls breaks with ``invalid directory`` - by :user:`gaborbernat`. (`#1983 `_) +================== +- Bump embedded setuptools from ``50.3.0`` to ``50.3.1`` - by :user:`gaborbernat`. (`#1982 + `_) +- After importing virtualenv passing cwd to a subprocess calls breaks with ``invalid directory`` - by + :user:`gaborbernat`. (`#1983 `_) -v20.0.34 (2020-10-12) ---------------------- +*********************** + v20.0.34 (2020-10-12) +*********************** Bugfixes - 20.0.34 -~~~~~~~~~~~~~~~~~~ -- Align with venv module when creating virtual environments with builtin creator on Windows 3.7 and later - - by :user:`gaborbernat`. (`#1782 `_) -- Handle Cygwin path conversion in the activation script - by :user:`davidcoghlan`. (`#1969 `_) +================== +- Align with venv module when creating virtual environments with builtin creator on Windows 3.7 and later - by + :user:`gaborbernat`. (`#1782 `_) +- Handle Cygwin path conversion in the activation script - by :user:`davidcoghlan`. (`#1969 + `_) -v20.0.33 (2020-10-04) ---------------------- +*********************** + v20.0.33 (2020-10-04) +*********************** Bugfixes - 20.0.33 -~~~~~~~~~~~~~~~~~~ -- Fix ``None`` type error in cygwin if POSIX path in dest - by :user:`danyeaw`. (`#1962 `_) -- Fix Python 3.4 incompatibilities (added back to the CI) - by :user:`gaborbernat`. (`#1963 `_) +================== +- Fix ``None`` type error in cygwin if POSIX path in dest - by :user:`danyeaw`. (`#1962 + `_) +- Fix Python 3.4 incompatibilities (added back to the CI) - by :user:`gaborbernat`. (`#1963 + `_) -v20.0.32 (2020-10-01) ---------------------- +*********************** + v20.0.32 (2020-10-01) +*********************** Bugfixes - 20.0.32 -~~~~~~~~~~~~~~~~~~ -- For activation scripts always use UNIX line endings (unless it's BATCH shell related) - by :user:`saytosid`. (`#1818 `_) -- Upgrade embedded pip to ``20.2.1`` and setuptools to ``49.4.0`` - by :user:`gaborbernat`. (`#1918 `_) -- Avoid spawning new windows when doing seed package upgrades in the background on Windows - by :user:`gaborbernat`. (`#1928 `_) -- Fix a bug that reading and writing on the same file may cause race on multiple processes. (`#1938 `_) -- Upgrade embedded setuptools to ``50.2.0`` and pip to ``20.2.3`` - by :user:`gaborbernat`. (`#1939 `_) -- Provide correct path for bash activator in cygwin or msys2 - by :user:`danyeaw`. (`#1940 `_) -- Relax importlib requirement to allow version<3 - by :user:`usamasadiq` (`#1953 `_) -- pth files were not processed on CPython2 if $PYTHONPATH was pointing to site-packages/ - by :user:`navytux`. (`#1959 `_) (`#1960 `_) - - -v20.0.31 (2020-08-17) ---------------------- +================== + +- For activation scripts always use UNIX line endings (unless it's BATCH shell related) - by :user:`saytosid`. (`#1818 + `_) +- Upgrade embedded pip to ``20.2.1`` and setuptools to ``49.4.0`` - by :user:`gaborbernat`. (`#1918 + `_) +- Avoid spawning new windows when doing seed package upgrades in the background on Windows - by :user:`gaborbernat`. + (`#1928 `_) +- Fix a bug that reading and writing on the same file may cause race on multiple processes. (`#1938 + `_) +- Upgrade embedded setuptools to ``50.2.0`` and pip to ``20.2.3`` - by :user:`gaborbernat`. (`#1939 + `_) +- Provide correct path for bash activator in cygwin or msys2 - by :user:`danyeaw`. (`#1940 + `_) +- Relax importlib requirement to allow version<3 - by :user:`usamasadiq` (`#1953 + `_) +- pth files were not processed on CPython2 if $PYTHONPATH was pointing to site-packages/ - by :user:`navytux`. (`#1959 + `_) (`#1960 `_) + +*********************** + v20.0.31 (2020-08-17) +*********************** Bugfixes - 20.0.31 -~~~~~~~~~~~~~~~~~~ -- Upgrade embedded pip to ``20.2.1``, setuptools to ``49.6.0`` and wheel to ``0.35.1`` - by :user:`gaborbernat`. (`#1918 `_) +================== +- Upgrade embedded pip to ``20.2.1``, setuptools to ``49.6.0`` and wheel to ``0.35.1`` - by :user:`gaborbernat`. (`#1918 + `_) -v20.0.30 (2020-08-04) ---------------------- +*********************** + v20.0.30 (2020-08-04) +*********************** Bugfixes - 20.0.30 -~~~~~~~~~~~~~~~~~~ -- Upgrade pip to ``20.2.1`` and setuptools to ``49.2.1`` - by :user:`gaborbernat`. (`#1915 `_) +================== +- Upgrade pip to ``20.2.1`` and setuptools to ``49.2.1`` - by :user:`gaborbernat`. (`#1915 + `_) -v20.0.29 (2020-07-31) ---------------------- +*********************** + v20.0.29 (2020-07-31) +*********************** Bugfixes - 20.0.29 -~~~~~~~~~~~~~~~~~~ -- Upgrade embedded pip from version ``20.1.2`` to ``20.2`` - by :user:`gaborbernat`. (`#1909 `_) +================== +- Upgrade embedded pip from version ``20.1.2`` to ``20.2`` - by :user:`gaborbernat`. (`#1909 + `_) -v20.0.28 (2020-07-24) ---------------------- +*********************** + v20.0.28 (2020-07-24) +*********************** Bugfixes - 20.0.28 -~~~~~~~~~~~~~~~~~~ -- Fix test suite failing if run from system Python - by :user:`gaborbernat`. (`#1882 `_) +================== + +- Fix test suite failing if run from system Python - by :user:`gaborbernat`. (`#1882 + `_) - Provide ``setup_logging`` flag to python API so that users can bypass logging handling if their application already performs this - by :user:`gaborbernat`. (`#1896 `_) - Use ``\n`` instead if ``\r\n`` as line separator for report (because Python already performs this transformation - automatically upon write to the logging pipe) - by :user:`gaborbernat`. (`#1905 `_) + automatically upon write to the logging pipe) - by :user:`gaborbernat`. (`#1905 + `_) - -v20.0.27 (2020-07-15) ---------------------- +*********************** + v20.0.27 (2020-07-15) +*********************** Bugfixes - 20.0.27 -~~~~~~~~~~~~~~~~~~ -- No longer preimport threading to fix support for `gpython `_ and `gevent `_ - by :user:`navytux`. (`#1897 `_) -- Upgrade setuptools from ``49.2.0`` on ``Python 3.5+`` - by :user:`gaborbernat`. (`#1898 `_) +================== +- No longer preimport threading to fix support for `gpython `_ and `gevent + `_ - by :user:`navytux`. (`#1897 `_) +- Upgrade setuptools from ``49.2.0`` on ``Python 3.5+`` - by :user:`gaborbernat`. (`#1898 + `_) -v20.0.26 (2020-07-07) ---------------------- +*********************** + v20.0.26 (2020-07-07) +*********************** Bugfixes - 20.0.26 -~~~~~~~~~~~~~~~~~~ -- Bump dependency ``distutils >= 0.3.1`` - by :user:`gaborbernat`. (`#1880 `_) +================== + +- Bump dependency ``distutils >= 0.3.1`` - by :user:`gaborbernat`. (`#1880 + `_) - Improve periodic update handling: - better logging output while running and enable logging on background process call ( @@ -1203,36 +1473,45 @@ Bugfixes - 20.0.26 - stop downloading wheels once we reach the embedded version, by :user:`gaborbernat`. (`#1883 `_) -- Do not print error message if the application exists with ``SystemExit(0)`` - by :user:`gaborbernat`. (`#1885 `_) -- Upgrade embedded setuptools from ``47.3.1`` to ``49.1.0`` for Python ``3.5+`` - by :user:`gaborbernat`. (`#1887 `_) +- Do not print error message if the application exists with ``SystemExit(0)`` - by :user:`gaborbernat`. (`#1885 + `_) +- Upgrade embedded setuptools from ``47.3.1`` to ``49.1.0`` for Python ``3.5+`` - by :user:`gaborbernat`. (`#1887 + `_) -v20.0.25 (2020-06-23) ---------------------- +*********************** + v20.0.25 (2020-06-23) +*********************** Bugfixes - 20.0.25 -~~~~~~~~~~~~~~~~~~ -- Fix that when the ``app-data`` seeders image creation fails the exception is silently ignored. Avoid two virtual environment creations to step on each others toes by using a lock while creating the base images. By :user:`gaborbernat`. (`#1869 `_) +================== +- Fix that when the ``app-data`` seeders image creation fails the exception is silently ignored. Avoid two virtual + environment creations to step on each others toes by using a lock while creating the base images. By + :user:`gaborbernat`. (`#1869 `_) -v20.0.24 (2020-06-22) ---------------------- +*********************** + v20.0.24 (2020-06-22) +*********************** Features - 20.0.24 -~~~~~~~~~~~~~~~~~~ +================== + - Ensure that the seeded packages do not get too much out of date: - add a CLI flag that triggers upgrade of embedded wheels under :option:`upgrade-embed-wheels` - - periodically (once every 14 days) upgrade the embedded wheels in a background process, and use them if they have been - released for more than 28 days (can be disabled via :option:`no-periodic-update`) + - periodically (once every 14 days) upgrade the embedded wheels in a background process, and use them if they have + been released for more than 28 days (can be disabled via :option:`no-periodic-update`) More details under :ref:`wheels` - by :user:`gaborbernat`. (`#1821 `_) + - Upgrade embed wheel content: - ship wheels for Python ``3.9`` and ``3.10`` - upgrade setuptools for Python ``3.5+`` from ``47.1.1`` to ``47.3.1`` by :user:`gaborbernat`. (`#1841 `_) + - Display the installed seed package versions in the final summary output, for example: .. code-block:: console @@ -1245,249 +1524,317 @@ Features - 20.0.24 by :user:`gaborbernat`. (`#1864 `_) Bugfixes - 20.0.24 -~~~~~~~~~~~~~~~~~~ -- Do not generate/overwrite ``.gitignore`` if it already exists at destination path - by :user:`gaborbernat`. (`#1862 `_) -- Improve error message for no ``.dist-info`` inside the ``app-data`` copy seeder - by :user:`gaborbernat`. (`#1867 `_) +================== + +- Do not generate/overwrite ``.gitignore`` if it already exists at destination path - by :user:`gaborbernat`. (`#1862 + `_) +- Improve error message for no ``.dist-info`` inside the ``app-data`` copy seeder - by :user:`gaborbernat`. (`#1867 + `_) Improved Documentation - 20.0.24 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- How seeding mechanisms discover (and automatically keep it up to date) wheels at :ref:`wheels` - by :user:`gaborbernat`. (`#1821 `_) -- How distributions should handle shipping their own embedded wheels at :ref:`distribution_wheels` - by :user:`gaborbernat`. (`#1840 `_) +================================ +- How seeding mechanisms discover (and automatically keep it up to date) wheels at :ref:`wheels` - by + :user:`gaborbernat`. (`#1821 `_) +- How distributions should handle shipping their own embedded wheels at :ref:`distribution_wheels` - by + :user:`gaborbernat`. (`#1840 `_) -v20.0.23 (2020-06-12) ---------------------- +*********************** + v20.0.23 (2020-06-12) +*********************** Bugfixes - 20.0.23 -~~~~~~~~~~~~~~~~~~ -- Fix typo in ``setup.cfg`` - by :user:`RowdyHowell`. (`#1857 `_) +================== +- Fix typo in ``setup.cfg`` - by :user:`RowdyHowell`. (`#1857 `_) -v20.0.22 (2020-06-12) ---------------------- +*********************** + v20.0.22 (2020-06-12) +*********************** Bugfixes - 20.0.22 -~~~~~~~~~~~~~~~~~~ -- Relax ``importlib.resources`` requirement to also allow version 2 - by :user:`asottile`. (`#1846 `_) -- Upgrade embedded setuptools to ``44.1.1`` for python 2 and ``47.1.1`` for python3.5+ - by :user:`gaborbernat`. (`#1855 `_) +================== +- Relax ``importlib.resources`` requirement to also allow version 2 - by :user:`asottile`. (`#1846 + `_) +- Upgrade embedded setuptools to ``44.1.1`` for python 2 and ``47.1.1`` for python3.5+ - by :user:`gaborbernat`. (`#1855 + `_) -v20.0.21 (2020-05-20) ---------------------- +*********************** + v20.0.21 (2020-05-20) +*********************** Features - 20.0.21 -~~~~~~~~~~~~~~~~~~ +================== + - Generate ignore file for version control systems to avoid tracking virtual environments by default. Users should - remove these files if still want to track. For now we support only **git** by :user:`gaborbernat`. (`#1806 `_) + remove these files if still want to track. For now we support only **git** by :user:`gaborbernat`. (`#1806 + `_) Bugfixes - 20.0.21 -~~~~~~~~~~~~~~~~~~ +================== + - Fix virtualenv fails sometimes when run concurrently, ``--clear-app-data`` conflicts with :option:`clear` flag when abbreviation is turned on. To bypass this while allowing abbreviated flags on the command line we had to move it to :option:`reset-app-data` - by :user:`gaborbernat`. (`#1824 `_) -- Upgrade embedded ``setuptools`` to ``46.4.0`` from ``46.1.3`` on Python ``3.5+``, and ``pip`` from ``20.1`` to ``20.1.1`` - by :user:`gaborbernat`. (`#1827 `_) -- Seeder pip now correctly handles ``--extra-search-dir`` - by :user:`frenzymadness`. (`#1834 `_) - +- Upgrade embedded ``setuptools`` to ``46.4.0`` from ``46.1.3`` on Python ``3.5+``, and ``pip`` from ``20.1`` to + ``20.1.1`` - by :user:`gaborbernat`. (`#1827 `_) +- Seeder pip now correctly handles ``--extra-search-dir`` - by :user:`frenzymadness`. (`#1834 + `_) -v20.0.20 (2020-05-04) ---------------------- +*********************** + v20.0.20 (2020-05-04) +*********************** Bugfixes - 20.0.20 -~~~~~~~~~~~~~~~~~~ -- Fix download fails with python 3.4 - by :user:`gaborbernat`. (`#1809 `_) -- Fixes older CPython2 versions use ``_get_makefile_filename`` instead of ``get_makefile_filename`` on ``sysconfig`` - by :user:`ianw`. (`#1810 `_) -- Fix download is ``True`` by default - by :user:`gaborbernat`. (`#1813 `_) -- Fail ``app-data`` seed operation when wheel download fails and better error message - by :user:`gaborbernat`. (`#1814 `_) +================== +- Fix download fails with python 3.4 - by :user:`gaborbernat`. (`#1809 + `_) +- Fixes older CPython2 versions use ``_get_makefile_filename`` instead of ``get_makefile_filename`` on ``sysconfig`` - + by :user:`ianw`. (`#1810 `_) +- Fix download is ``True`` by default - by :user:`gaborbernat`. (`#1813 + `_) +- Fail ``app-data`` seed operation when wheel download fails and better error message - by :user:`gaborbernat`. (`#1814 + `_) -v20.0.19 (2020-05-03) ---------------------- +*********************** + v20.0.19 (2020-05-03) +*********************** Bugfixes - 20.0.19 -~~~~~~~~~~~~~~~~~~ -- Fix generating a Python 2 environment from Python 3 creates invalid python activator - by :user:`gaborbernat`. (`#1776 `_) -- Fix pinning seed packages via ``app-data`` seeder raised ``Invalid Requirement`` - by :user:`gaborbernat`. (`#1779 `_) -- Do not stop interpreter discovery if we fail to find the system interpreter for a executable during discovery - - by :user:`gaborbernat`. (`#1781 `_) -- On CPython2 POSIX platforms ensure ``syconfig.get_makefile_filename`` exists within the virtual environment (this is used by some c-extension based libraries - e.g. numpy - for building) - by :user:`gaborbernat`. (`#1783 `_) -- Better handling of options :option:`copies` and :option:`symlinks`. Introduce priority of where the option is set - to follow the order: CLI, env var, file, hardcoded. If both set at same level prefers copy over symlink. - by +================== + +- Fix generating a Python 2 environment from Python 3 creates invalid python activator - by :user:`gaborbernat`. (`#1776 + `_) +- Fix pinning seed packages via ``app-data`` seeder raised ``Invalid Requirement`` - by :user:`gaborbernat`. (`#1779 + `_) +- Do not stop interpreter discovery if we fail to find the system interpreter for a executable during discovery - by + :user:`gaborbernat`. (`#1781 `_) +- On CPython2 POSIX platforms ensure ``syconfig.get_makefile_filename`` exists within the virtual environment (this is + used by some c-extension based libraries - e.g. numpy - for building) - by :user:`gaborbernat`. (`#1783 + `_) +- Better handling of options :option:`copies` and :option:`symlinks`. Introduce priority of where the option is set to + follow the order: CLI, env var, file, hardcoded. If both set at same level prefers copy over symlink. - by :user:`gaborbernat`. (`#1784 `_) -- Upgrade pip for Python ``2.7`` and ``3.5+`` from ``20.0.2`` to ``20.1`` - by :user:`gaborbernat`. (`#1793 `_) -- Fix CPython is not discovered from Windows registry, and discover pythons from Windows registry in decreasing order - by version - by :user:`gaborbernat`. (`#1796 `_) +- Upgrade pip for Python ``2.7`` and ``3.5+`` from ``20.0.2`` to ``20.1`` - by :user:`gaborbernat`. (`#1793 + `_) +- Fix CPython is not discovered from Windows registry, and discover pythons from Windows registry in decreasing order by + version - by :user:`gaborbernat`. (`#1796 `_) - Fix symlink detection for creators - by :user:`asottile` (`#1803 `_) - -v20.0.18 (2020-04-16) ---------------------- +*********************** + v20.0.18 (2020-04-16) +*********************** Bugfixes - 20.0.18 -~~~~~~~~~~~~~~~~~~ +================== + - Importing setuptools before cli_run could cause our python information query to fail due to setuptools patching ``distutils.dist.Distribution`` - by :user:`gaborbernat`. (`#1771 `_) - -v20.0.17 (2020-04-09) ---------------------- +*********************** + v20.0.17 (2020-04-09) +*********************** Features - 20.0.17 -~~~~~~~~~~~~~~~~~~ -- Extend environment variables checked for configuration to also check aliases (e.g. setting either - ``VIRTUALENV_COPIES`` or ``VIRTUALENV_ALWAYS_COPY`` will work) - by :user:`gaborbernat`. (`#1763 `_) +================== +- Extend environment variables checked for configuration to also check aliases (e.g. setting either + ``VIRTUALENV_COPIES`` or ``VIRTUALENV_ALWAYS_COPY`` will work) - by :user:`gaborbernat`. (`#1763 + `_) -v20.0.16 (2020-04-04) ---------------------- +*********************** + v20.0.16 (2020-04-04) +*********************** Bugfixes - 20.0.16 -~~~~~~~~~~~~~~~~~~ -- Allow seed wheel files inside the :option:`extra-search-dir` folders that do not have ``Requires-Python`` - metadata specified, these are considered compatible with all python versions - by :user:`gaborbernat`. (`#1757 `_) +================== +- Allow seed wheel files inside the :option:`extra-search-dir` folders that do not have ``Requires-Python`` metadata + specified, these are considered compatible with all python versions - by :user:`gaborbernat`. (`#1757 + `_) -v20.0.15 (2020-03-27) ---------------------- +*********************** + v20.0.15 (2020-03-27) +*********************** Features - 20.0.15 -~~~~~~~~~~~~~~~~~~ -- Upgrade embedded setuptools to ``46.1.3`` from ``46.1.1`` - by :user:`gaborbernat`. (`#1752 `_) +================== +- Upgrade embedded setuptools to ``46.1.3`` from ``46.1.1`` - by :user:`gaborbernat`. (`#1752 + `_) -v20.0.14 (2020-03-25) ---------------------- +*********************** + v20.0.14 (2020-03-25) +*********************** Features - 20.0.14 -~~~~~~~~~~~~~~~~~~ +================== + - Remove ``__PYVENV_LAUNCHER__`` on macOs for Python ``3.7.(<8)`` and ``3.8.(<3)`` on interpreter startup via ``pth`` - file, this pulls in the `upstream patch `_ - by :user:`gaborbernat`. (`#1704 `_) -- Upgrade embedded setuptools for Python ``3.5+`` to ``46.1.1``, for Python ``2.7`` to ``44.1.0`` - by :user:`gaborbernat`. (`#1745 `_) + file, this pulls in the `upstream patch `_ - by :user:`gaborbernat`. + (`#1704 `_) +- Upgrade embedded setuptools for Python ``3.5+`` to ``46.1.1``, for Python ``2.7`` to ``44.1.0`` - by + :user:`gaborbernat`. (`#1745 `_) Bugfixes - 20.0.14 -~~~~~~~~~~~~~~~~~~ -- Fix discovery of interpreter by name from ``PATH`` that does not match a spec format - by :user:`gaborbernat`. (`#1746 `_) +================== +- Fix discovery of interpreter by name from ``PATH`` that does not match a spec format - by :user:`gaborbernat`. (`#1746 + `_) -v20.0.13 (2020-03-19) ---------------------- +*********************** + v20.0.13 (2020-03-19) +*********************** Bugfixes - 20.0.13 -~~~~~~~~~~~~~~~~~~ -- Do not fail when the pyc files is missing for the host Python 2 - by :user:`gaborbernat`. (`#1738 `_) -- Support broken Packaging pythons that put the include headers under distutils pattern rather than sysconfig one - - by :user:`gaborbernat`. (`#1739 `_) +================== +- Do not fail when the pyc files is missing for the host Python 2 - by :user:`gaborbernat`. (`#1738 + `_) +- Support broken Packaging pythons that put the include headers under distutils pattern rather than sysconfig one - by + :user:`gaborbernat`. (`#1739 `_) -v20.0.12 (2020-03-19) ---------------------- +*********************** + v20.0.12 (2020-03-19) +*********************** Bugfixes - 20.0.12 -~~~~~~~~~~~~~~~~~~ -- Fix relative path discovery of interpreters - by :user:`gaborbernat`. (`#1734 `_) +================== +- Fix relative path discovery of interpreters - by :user:`gaborbernat`. (`#1734 + `_) -v20.0.11 (2020-03-18) ---------------------- +*********************** + v20.0.11 (2020-03-18) +*********************** Features - 20.0.11 -~~~~~~~~~~~~~~~~~~ +================== + - Improve error message when the host python does not satisfy invariants needed to create virtual environments (now we - print which host files are incompatible/missing and for which creators when no supported creator can be matched, however - we found creators that can describe the given Python interpreter - will still print no supported creator for Jython, - however print exactly what host files do not allow creation of virtual environments in case of CPython/PyPy) - - by :user:`gaborbernat`. (`#1716 `_) + print which host files are incompatible/missing and for which creators when no supported creator can be matched, + however we found creators that can describe the given Python interpreter - will still print no supported creator for + Jython, however print exactly what host files do not allow creation of virtual environments in case of CPython/PyPy) - + by :user:`gaborbernat`. (`#1716 `_) Bugfixes - 20.0.11 -~~~~~~~~~~~~~~~~~~ -- Support Python 3 Framework distributed via XCode in macOs Catalina and before - by :user:`gaborbernat`. (`#1663 `_) -- Fix Windows Store Python support, do not allow creation via symlink as that's not going to work by design - - by :user:`gaborbernat`. (`#1709 `_) +================== + +- Support Python 3 Framework distributed via XCode in macOs Catalina and before - by :user:`gaborbernat`. (`#1663 + `_) +- Fix Windows Store Python support, do not allow creation via symlink as that's not going to work by design - by + :user:`gaborbernat`. (`#1709 `_) - Fix ``activate_this.py`` throws ``AttributeError`` on Windows when virtual environment was created via cross python mechanism - by :user:`gaborbernat`. (`#1710 `_) -- Fix ``--no-pip``, ``--no-setuptools``, ``--no-wheel`` not being respected - by :user:`gaborbernat`. (`#1712 `_) -- Allow missing ``.py`` files if a compiled ``.pyc`` version is available - by :user:`tucked`. (`#1714 `_) -- Do not fail if the distutils/setuptools patch happens on a C-extension loader (such as ``zipimporter`` on Python 3.7 or - earlier) - by :user:`gaborbernat`. (`#1715 `_) +- Fix ``--no-pip``, ``--no-setuptools``, ``--no-wheel`` not being respected - by :user:`gaborbernat`. (`#1712 + `_) +- Allow missing ``.py`` files if a compiled ``.pyc`` version is available - by :user:`tucked`. (`#1714 + `_) +- Do not fail if the distutils/setuptools patch happens on a C-extension loader (such as ``zipimporter`` on Python 3.7 + or earlier) - by :user:`gaborbernat`. (`#1715 `_) - Support Python 2 implementations that require the landmark files and ``site.py`` to be in platform standard library - instead of the standard library path of the virtual environment (notably some RHEL ones, such as the Docker - image ``amazonlinux:1``) - by :user:`gaborbernat`. (`#1719 `_) + instead of the standard library path of the virtual environment (notably some RHEL ones, such as the Docker image + ``amazonlinux:1``) - by :user:`gaborbernat`. (`#1719 `_) - Allow the test suite to pass even when called with the system Python - to help repackaging of the tool for Linux - distributions - by :user:`gaborbernat`. (`#1721 `_) -- Also generate ``pipx.y`` console script beside ``pip-x.y`` to be compatible with how pip installs itself - - by :user:`gaborbernat`. (`#1723 `_) -- Automatically create the application data folder if it does not exists - by :user:`gaborbernat`. (`#1728 `_) + distributions - by :user:`gaborbernat`. (`#1721 `_) +- Also generate ``pipx.y`` console script beside ``pip-x.y`` to be compatible with how pip installs itself - by + :user:`gaborbernat`. (`#1723 `_) +- Automatically create the application data folder if it does not exists - by :user:`gaborbernat`. (`#1728 + `_) Improved Documentation - 20.0.11 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- :ref:`supports ` details now explicitly what Python installations we support - - by :user:`gaborbernat`. (`#1714 `_) +================================ +- :ref:`supports ` details now explicitly what Python installations we support - by + :user:`gaborbernat`. (`#1714 `_) -v20.0.10 (2020-03-10) ---------------------- +*********************** + v20.0.10 (2020-03-10) +*********************** Bugfixes - 20.0.10 -~~~~~~~~~~~~~~~~~~ +================== + - Fix acquiring python information might be altered by distutils configuration files generating incorrect layout virtual environments - by :user:`gaborbernat`. (`#1663 `_) -- Upgrade embedded setuptools to ``46.0.0`` from ``45.3.0`` on Python ``3.5+`` - by :user:`gaborbernat`. (`#1702 `_) +- Upgrade embedded setuptools to ``46.0.0`` from ``45.3.0`` on Python ``3.5+`` - by :user:`gaborbernat`. (`#1702 + `_) Improved Documentation - 20.0.10 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +================================ + - Document requirements (pip + index server) when installing via pip under the installation section - by :user:`gaborbernat`. (`#1618 `_) -- Document installing from non PEP-518 systems - :user:`gaborbernat`. (`#1619 `_) -- Document installing latest unreleased version from Github - :user:`gaborbernat`. (`#1620 `_) +- Document installing from non PEP-518 systems - :user:`gaborbernat`. (`#1619 + `_) +- Document installing latest unreleased version from Github - :user:`gaborbernat`. (`#1620 + `_) - -v20.0.9 (2020-03-08) --------------------- +********************** + v20.0.9 (2020-03-08) +********************** Bugfixes - 20.0.9 -~~~~~~~~~~~~~~~~~ -- ``pythonw.exe`` works as ``python.exe`` on Windows - by :user:`gaborbernat`. (`#1686 `_) -- Handle legacy loaders for virtualenv import hooks used to patch distutils configuration load - by :user:`gaborbernat`. (`#1690 `_) +================= + +- ``pythonw.exe`` works as ``python.exe`` on Windows - by :user:`gaborbernat`. (`#1686 + `_) +- Handle legacy loaders for virtualenv import hooks used to patch distutils configuration load - by :user:`gaborbernat`. + (`#1690 `_) - Support for python 2 platforms that store landmark files in ``platstdlib`` over ``stdlib`` (e.g. RHEL) - by :user:`gaborbernat`. (`#1694 `_) -- Upgrade embedded setuptools to ``45.3.0`` from ``45.2.0`` for Python ``3.5+`` - by :user:`gaborbernat`. (`#1699 `_) - +- Upgrade embedded setuptools to ``45.3.0`` from ``45.2.0`` for Python ``3.5+`` - by :user:`gaborbernat`. (`#1699 + `_) -v20.0.8 (2020-03-04) --------------------- +********************** + v20.0.8 (2020-03-04) +********************** Bugfixes - 20.0.8 -~~~~~~~~~~~~~~~~~ -- Having `distutils configuration `_ - files that set ``prefix`` and ``install_scripts`` cause installation of packages in the wrong location - - by :user:`gaborbernat`. (`#1663 `_) -- Fix ``PYTHONPATH`` being overridden on Python 2 — by :user:`jd`. (`#1673 `_) -- Fix list configuration value parsing from config file or environment variable - by :user:`gaborbernat`. (`#1674 `_) -- Fix Batch activation script shell prompt to display environment name by default - by :user:`spetafree`. (`#1679 `_) -- Fix startup on Python 2 is slower for virtualenv - this was due to setuptools calculating it's working set distribution - - by :user:`gaborbernat`. (`#1682 `_) +================= + +- Having `distutils configuration `_ files + that set ``prefix`` and ``install_scripts`` cause installation of packages in the wrong location - by + :user:`gaborbernat`. (`#1663 `_) +- Fix ``PYTHONPATH`` being overridden on Python 2 — by :user:`jd`. (`#1673 + `_) +- Fix list configuration value parsing from config file or environment variable - by :user:`gaborbernat`. (`#1674 + `_) +- Fix Batch activation script shell prompt to display environment name by default - by :user:`spetafree`. (`#1679 + `_) +- Fix startup on Python 2 is slower for virtualenv - this was due to setuptools calculating it's working set + distribution - by :user:`gaborbernat`. (`#1682 `_) - Fix entry points are not populated for editable installs on Python 2 due to setuptools working set being calculated before ``easy_install.pth`` runs - by :user:`gaborbernat`. (`#1684 `_) -- Fix ``attr:`` import fails for setuptools - by :user:`gaborbernat`. (`#1685 `_) +- Fix ``attr:`` import fails for setuptools - by :user:`gaborbernat`. (`#1685 + `_) - -v20.0.7 (2020-02-26) --------------------- +********************** + v20.0.7 (2020-02-26) +********************** Bugfixes - 20.0.7 -~~~~~~~~~~~~~~~~~ +================= + - Disable distutils fixup for python 3 until `pypa/pip #7778 `_ is fixed and released - by :user:`gaborbernat`. (`#1669 `_) - -v20.0.6 (2020-02-26) --------------------- +********************** + v20.0.6 (2020-02-26) +********************** Bugfixes - 20.0.6 -~~~~~~~~~~~~~~~~~ -- Fix global site package always being added with bundled macOs python framework builds - by :user:`gaborbernat`. (`#1561 `_) -- Fix generated scripts use host version info rather than target - by :user:`gaborbernat`. (`#1600 `_) -- Fix circular prefix reference with single elements (accept these as if they were system executables, print a info about - them referencing themselves) - by :user:`gaborbernat`. (`#1632 `_) +================= + +- Fix global site package always being added with bundled macOs python framework builds - by :user:`gaborbernat`. + (`#1561 `_) +- Fix generated scripts use host version info rather than target - by :user:`gaborbernat`. (`#1600 + `_) +- Fix circular prefix reference with single elements (accept these as if they were system executables, print a info + about them referencing themselves) - by :user:`gaborbernat`. (`#1632 + `_) - Handle the case when the application data folder is read-only: - the application data folder is now controllable via :option:`app-data`, @@ -1497,75 +1844,103 @@ Bugfixes - 20.0.6 - :option:`symlink-app-data` is always ``False`` when the application data is temporary by :user:`gaborbernat`. (`#1640 `_) -- Fix PyPy 2 builtin modules are imported from standard library, rather than from builtin - by :user:`gaborbernat`. (`#1652 `_) -- Fix creation of entry points when path contains spaces - by :user:`nsoranzo`. (`#1660 `_) -- Fix relative paths for the zipapp (for python ``3.7+``) - by :user:`gaborbernat`. (`#1666 `_) -v20.0.5 (2020-02-21) --------------------- +- Fix PyPy 2 builtin modules are imported from standard library, rather than from builtin - by :user:`gaborbernat`. + (`#1652 `_) +- Fix creation of entry points when path contains spaces - by :user:`nsoranzo`. (`#1660 + `_) +- Fix relative paths for the zipapp (for python ``3.7+``) - by :user:`gaborbernat`. (`#1666 + `_) + +********************** + v20.0.5 (2020-02-21) +********************** Features - 20.0.5 -~~~~~~~~~~~~~~~~~ -- Also create ``pythonX.X`` executables when creating pypy virtualenvs - by :user:`asottile` (`#1612 `_) -- Fail with better error message if trying to install source with unsupported ``setuptools``, allow ``setuptools-scm >= 2`` - and move to legacy ``setuptools-scm`` format to support better older platforms (``CentOS 7`` and such) - by :user:`gaborbernat`. (`#1621 `_) -- Report of the created virtual environment is now split across four short lines rather than one long - by :user:`gaborbernat` (`#1641 `_) +================= + +- Also create ``pythonX.X`` executables when creating pypy virtualenvs - by :user:`asottile` (`#1612 + `_) +- Fail with better error message if trying to install source with unsupported ``setuptools``, allow ``setuptools-scm >= + 2`` and move to legacy ``setuptools-scm`` format to support better older platforms (``CentOS 7`` and such) - by + :user:`gaborbernat`. (`#1621 `_) +- Report of the created virtual environment is now split across four short lines rather than one long - by + :user:`gaborbernat` (`#1641 `_) Bugfixes - 20.0.5 -~~~~~~~~~~~~~~~~~ -- Add macOs Python 2 Framework support (now we test it with the CI via brew) - by :user:`gaborbernat` (`#1561 `_) -- Fix losing of libpypy-c.so when the pypy executable is a symlink - by :user:`asottile` (`#1614 `_) -- Discover python interpreter in a case insensitive manner - by :user:`PrajwalM2212` (`#1624 `_) -- Fix cross interpreter support when the host python sets ``sys.base_executable`` based on ``__PYVENV_LAUNCHER__`` - - by :user:`cjolowicz` (`#1643 `_) +================= +- Add macOs Python 2 Framework support (now we test it with the CI via brew) - by :user:`gaborbernat` (`#1561 + `_) +- Fix losing of libpypy-c.so when the pypy executable is a symlink - by :user:`asottile` (`#1614 + `_) +- Discover python interpreter in a case insensitive manner - by :user:`PrajwalM2212` (`#1624 + `_) +- Fix cross interpreter support when the host python sets ``sys.base_executable`` based on ``__PYVENV_LAUNCHER__`` - by + :user:`cjolowicz` (`#1643 `_) -v20.0.4 (2020-02-14) --------------------- +********************** + v20.0.4 (2020-02-14) +********************** Features - 20.0.4 -~~~~~~~~~~~~~~~~~ -- When aliasing interpreters, use relative symlinks - by :user:`asottile`. (`#1596 `_) +================= + +- When aliasing interpreters, use relative symlinks - by :user:`asottile`. (`#1596 + `_) Bugfixes - 20.0.4 -~~~~~~~~~~~~~~~~~ -- Allow the use of ``/`` as pathname component separator on Windows - by ``vphilippon`` (`#1582 `_) -- Lower minimal version of six required to 1.9 - by ``ssbarnea`` (`#1606 `_) +================= +- Allow the use of ``/`` as pathname component separator on Windows - by ``vphilippon`` (`#1582 + `_) +- Lower minimal version of six required to 1.9 - by ``ssbarnea`` (`#1606 + `_) -v20.0.3 (2020-02-12) --------------------- +********************** + v20.0.3 (2020-02-12) +********************** Bugfixes - 20.0.3 -~~~~~~~~~~~~~~~~~ +================= + - On Python 2 with Apple Framework builds the global site package is no longer added when the - :option:`system-site-packages` is not specified - by :user:`gaborbernat`. (`#1561 `_) + :option:`system-site-packages` is not specified - by :user:`gaborbernat`. (`#1561 + `_) - Fix system python discovery mechanism when prefixes contain relative parts (e.g. ``..``) by resolving paths within the python information query - by :user:`gaborbernat`. (`#1583 `_) -- Expose a programmatic API as ``from virtualenv import cli_run`` - by :user:`gaborbernat`. (`#1585 `_) +- Expose a programmatic API as ``from virtualenv import cli_run`` - by :user:`gaborbernat`. (`#1585 + `_) - Fix ``app-data`` :option:`seeder` injects a extra ``.dist-info.virtualenv`` path that breaks ``importlib.metadata``, - now we inject an extra ``.virtualenv`` - by :user:`gaborbernat`. (`#1589 `_) + now we inject an extra ``.virtualenv`` - by :user:`gaborbernat`. (`#1589 + `_) Improved Documentation - 20.0.3 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- Document a programmatic API as ``from virtualenv import cli_run`` under :ref:`programmatic_api` - - by :user:`gaborbernat`. (`#1585 `_) +=============================== +- Document a programmatic API as ``from virtualenv import cli_run`` under :ref:`programmatic_api` - by + :user:`gaborbernat`. (`#1585 `_) -v20.0.2 (2020-02-11) --------------------- +********************** + v20.0.2 (2020-02-11) +********************** Features - 20.0.2 -~~~~~~~~~~~~~~~~~ +================= + - Print out a one line message about the created virtual environment when no :option:`verbose` is set, this can now be - silenced to get back the original behavior via the :option:`quiet` flag - by :user:`pradyunsg`. (`#1557 `_) -- Allow virtualenv's app data cache to be overridden by ``VIRTUALENV_OVERRIDE_APP_DATA`` - by :user:`asottile`. (`#1559 `_) -- Passing in the virtual environment name/path is now required (no longer defaults to ``venv``) - by :user:`gaborbernat`. (`#1568 `_) + silenced to get back the original behavior via the :option:`quiet` flag - by :user:`pradyunsg`. (`#1557 + `_) +- Allow virtualenv's app data cache to be overridden by ``VIRTUALENV_OVERRIDE_APP_DATA`` - by :user:`asottile`. (`#1559 + `_) +- Passing in the virtual environment name/path is now required (no longer defaults to ``venv``) - by + :user:`gaborbernat`. (`#1568 `_) - Add a CLI flag :option:`with-traceback` that allows displaying the stacktrace of the virtualenv when a failure occurs - by :user:`gaborbernat`. (`#1572 `_) Bugfixes - 20.0.2 -~~~~~~~~~~~~~~~~~ +================= + - Support long path names for generated virtual environment console entry points (such as ``pip``) when using the ``app-data`` :option:`seeder` - by :user:`gaborbernat`. (`#997 `_) - Improve python discovery mechanism: @@ -1574,71 +1949,88 @@ Bugfixes - 20.0.2 - beside the prefix folder also try with the platform dependent binary folder within that, by :user:`gaborbernat`. (`#1545 `_) + - When copying (either files or trees) do not copy the permission bits, last access time, last modification time, and - flags as access to these might be forbidden (for example in case of the macOs Framework Python) and these are not needed - for the user to use the virtual environment - by :user:`gaborbernat`. (`#1561 `_) + flags as access to these might be forbidden (for example in case of the macOs Framework Python) and these are not + needed for the user to use the virtual environment - by :user:`gaborbernat`. (`#1561 + `_) - While discovering a python executables interpreters that cannot be queried are now displayed with info level rather than warning, so now they're no longer shown by default (these can be just executables to which we don't have access - or that are broken, don't warn if it's not the target Python we want) - by :user:`gaborbernat`. (`#1574 `_) + or that are broken, don't warn if it's not the target Python we want) - by :user:`gaborbernat`. (`#1574 + `_) - The ``app-data`` :option:`seeder` no longer symlinks the packages on UNIX and copies on Windows. Instead by default - always copies, however now has the :option:`symlink-app-data` flag allowing users to request this less robust but faster - method - by :user:`gaborbernat`. (`#1575 `_) + always copies, however now has the :option:`symlink-app-data` flag allowing users to request this less robust but + faster method - by :user:`gaborbernat`. (`#1575 `_) Improved Documentation - 20.0.2 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- Add link to the `legacy documentation `_ for the changelog by :user:`jezdez`. (`#1547 `_) -- Fine tune the documentation layout: default width of theme, allow tables to wrap around, soft corners for code snippets - - by :user:`pradyunsg`. (`#1548 `_) +=============================== +- Add link to the `legacy documentation `_ for the changelog by :user:`jezdez`. + (`#1547 `_) +- Fine tune the documentation layout: default width of theme, allow tables to wrap around, soft corners for code + snippets - by :user:`pradyunsg`. (`#1548 `_) -v20.0.1 (2020-02-10) --------------------- +********************** + v20.0.1 (2020-02-10) +********************** Features - 20.0.1 -~~~~~~~~~~~~~~~~~ -- upgrade embedded setuptools to ``45.2.0`` from ``45.1.0`` for Python ``3.4+`` - by :user:`gaborbernat`. (`#1554 `_) +================= + +- upgrade embedded setuptools to ``45.2.0`` from ``45.1.0`` for Python ``3.4+`` - by :user:`gaborbernat`. (`#1554 + `_) Bugfixes - 20.0.1 -~~~~~~~~~~~~~~~~~ -- Virtual environments created via relative path on Windows creates bad console executables - by :user:`gaborbernat`. (`#1552 `_) -- Seems sometimes venvs created set their base executable to themselves; we accept these without question, so we handle - virtual environments as system pythons causing issues - by :user:`gaborbernat`. (`#1553 `_) +================= +- Virtual environments created via relative path on Windows creates bad console executables - by :user:`gaborbernat`. + (`#1552 `_) +- Seems sometimes venvs created set their base executable to themselves; we accept these without question, so we handle + virtual environments as system pythons causing issues - by :user:`gaborbernat`. (`#1553 + `_) -v20.0.0. (2020-02-10) ---------------------- +*********************** + v20.0.0. (2020-02-10) +*********************** Improved Documentation - 20.0.0. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +================================ + - Fixes typos, repeated words and inconsistent heading spacing. Rephrase parts of the development documentation and CLI - documentation. Expands shorthands like ``env var`` and ``config`` to their full forms. Uses descriptions from respective - documentation, for projects listed in ``related links`` - by :user:`pradyunsg`. (`#1540 `_) + documentation. Expands shorthands like ``env var`` and ``config`` to their full forms. Uses descriptions from + respective documentation, for projects listed in ``related links`` - by :user:`pradyunsg`. (`#1540 + `_) -v20.0.0b2 (2020-02-04) ----------------------- +************************ + v20.0.0b2 (2020-02-04) +************************ Features - 20.0.0b2 -~~~~~~~~~~~~~~~~~~~ +=================== + - Improve base executable discovery mechanism: - print at debug level why we refuse some candidates, - when no candidates match exactly, instead of hard failing fallback to the closest match where the priority of - matching attributes is: python implementation, major version, minor version, architecture, patch version, - release level and serial (this is to facilitate things to still work when the OS upgrade replace/upgrades the system - python with a never version, than what the virtualenv host python was created with), + matching attributes is: python implementation, major version, minor version, architecture, patch version, release + level and serial (this is to facilitate things to still work when the OS upgrade replace/upgrades the system python + with a never version, than what the virtualenv host python was created with), - always resolve system_executable information during the interpreter discovery, and the discovered environment is the - system interpreter instead of the venv/virtualenv (this happened before lazily the first time we accessed, and caused - reporting that the created virtual environment is of type of the virtualenv host python version, instead of the - system pythons version - these two can differ if the OS upgraded the system python underneath and the virtualenv + system interpreter instead of the venv/virtualenv (this happened before lazily the first time we accessed, and + caused reporting that the created virtual environment is of type of the virtualenv host python version, instead of + the system pythons version - these two can differ if the OS upgraded the system python underneath and the virtualenv host was created via copy), by :user:`gaborbernat`. (`#1515 `_) -- Generate ``bash`` and ``fish`` activators on Windows too (as these can be available with git bash, cygwin or mysys2) - - by :user:`gaborbernat`. (`#1527 `_) -- Upgrade the bundled ``wheel`` package from ``0.34.0`` to ``0.34.2`` - by :user:`gaborbernat`. (`#1531 `_) + +- Generate ``bash`` and ``fish`` activators on Windows too (as these can be available with git bash, cygwin or mysys2) - + by :user:`gaborbernat`. (`#1527 `_) +- Upgrade the bundled ``wheel`` package from ``0.34.0`` to ``0.34.2`` - by :user:`gaborbernat`. (`#1531 + `_) Bugfixes - 20.0.0b2 -~~~~~~~~~~~~~~~~~~~ +=================== + - Bash activation script should have no extensions instead of ``.sh`` (this fixes the :pypi:`virtualenvwrapper` integration) - by :user:`gaborbernat`. (`#1508 `_) - Show less information when we run with a single verbosity (``-v``): @@ -1648,32 +2040,42 @@ Bugfixes - 20.0.0b2 - for the ``app-data`` seeder do not show the type of lock, only the path to the app data directory, By :user:`gaborbernat`. (`#1510 `_) + - Fixed cannot discover a python interpreter that has already been discovered under a different path (such is the case - when we have multiple symlinks to the same interpreter) - by :user:`gaborbernat`. (`#1512 `_) -- Support relative paths for ``-p`` - by :user:`gaborbernat`. (`#1514 `_) -- Creating virtual environments in parallel fail with cannot acquire lock within app data - by :user:`gaborbernat`. (`#1516 `_) -- pth files were not processed under Debian CPython2 interpreters - by :user:`gaborbernat`. (`#1517 `_) + when we have multiple symlinks to the same interpreter) - by :user:`gaborbernat`. (`#1512 + `_) +- Support relative paths for ``-p`` - by :user:`gaborbernat`. (`#1514 + `_) +- Creating virtual environments in parallel fail with cannot acquire lock within app data - by :user:`gaborbernat`. + (`#1516 `_) +- pth files were not processed under Debian CPython2 interpreters - by :user:`gaborbernat`. (`#1517 + `_) - Fix prompt not displayed correctly with upcoming fish 3.10 due to us not preserving ``$pipestatus`` - by :user:`krobelus`. (`#1530 `_) - Stable order within ``pyenv.cfg`` and add ``include-system-site-packages`` only for creators that reference a global Python - by user:`gaborbernat`. (`#1535 `_) Improved Documentation - 20.0.0b2 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- Create the first iteration of the new documentation - by :user:`gaborbernat`. (`#1465 `_) -- Project readme is now of type MarkDown instead of reStructuredText - by :user:`gaborbernat`. (`#1531 `_) +================================= +- Create the first iteration of the new documentation - by :user:`gaborbernat`. (`#1465 + `_) +- Project readme is now of type MarkDown instead of reStructuredText - by :user:`gaborbernat`. (`#1531 + `_) -v20.0.0b1 (2020-01-28) ----------------------- +************************ + v20.0.0b1 (2020-01-28) +************************ -* First public release of the rewrite. Everything is brand new and just added. -* ``--download`` defaults to ``False`` -* No longer replaces builtin ``site`` module with `custom version baked within virtualenv code itself `_. A simple shim module is used to fix up things on Python 2 only. +- First public release of the rewrite. Everything is brand new and just added. +- ``--download`` defaults to ``False`` +- No longer replaces builtin ``site`` module with `custom version baked within virtualenv code itself + `_. A simple shim module is used to fix up + things on Python 2 only. .. warning:: - The current virtualenv is the second iteration of implementation. From version ``0.8`` all the way to ``16.7.9`` - we numbered the first iteration. Version ``20.0.0b1`` is a complete rewrite of the package, and as such this release - history starts from there. The old changelog is still available in the - `legacy branch documentation `_. + The current virtualenv is the second iteration of implementation. From version ``0.8`` all the way to ``16.7.9`` we + numbered the first iteration. Version ``20.0.0b1`` is a complete rewrite of the package, and as such this release + history starts from there. The old changelog is still available in the `legacy branch documentation + `_. diff --git a/docs/changelog/1884.feature.rst b/docs/changelog/1884.feature.rst index 7a512ee94..f5d01a178 100644 --- a/docs/changelog/1884.feature.rst +++ b/docs/changelog/1884.feature.rst @@ -1 +1,5 @@ -Store app data (pip/setuptools/wheel caches) under the OS cache directory (``platformdirs.user_cache_dir``) instead of the data directory (``platformdirs.user_data_dir``). Existing app data at the old location is automatically migrated on first use. This ensures cached files that can be redownloaded are placed in the standard cache location (e.g. ``~/.cache`` on Linux, ``~/Library/Caches`` on macOS) where they are excluded from backups and can be cleaned by system tools - by :user:`rahuldevikar`. (:issue:`1884`) +Store app data (pip/setuptools/wheel caches) under the OS cache directory (``platformdirs.user_cache_dir``) instead of +the data directory (``platformdirs.user_data_dir``). Existing app data at the old location is automatically migrated on +first use. This ensures cached files that can be redownloaded are placed in the standard cache location (e.g. +``~/.cache`` on Linux, ``~/Library/Caches`` on macOS) where they are excluded from backups and can be cleaned by system +tools - by :user:`rahuldevikar`. (:issue:`1884`) diff --git a/docs/changelog/2637.feature.rst b/docs/changelog/2637.feature.rst index f4d0a35ee..79887c0f7 100644 --- a/docs/changelog/2637.feature.rst +++ b/docs/changelog/2637.feature.rst @@ -1 +1,4 @@ -Add ``PKG_CONFIG_PATH`` environment variable support to all activation scripts (Bash, Batch, PowerShell, Fish, C Shell, Nushell, and Python). The virtualenv's ``lib/pkgconfig`` directory is now automatically prepended to ``PKG_CONFIG_PATH`` on activation and restored on deactivation, enabling packages that use ``pkg-config`` during build/install to find their configuration files - by :user:`rahuldevikar`. +Add ``PKG_CONFIG_PATH`` environment variable support to all activation scripts (Bash, Batch, PowerShell, Fish, C Shell, +Nushell, and Python). The virtualenv's ``lib/pkgconfig`` directory is now automatically prepended to ``PKG_CONFIG_PATH`` +on activation and restored on deactivation, enabling packages that use ``pkg-config`` during build/install to find their +configuration files - by :user:`rahuldevikar`. diff --git a/docs/changelog/2662.bugfix.rst b/docs/changelog/2662.bugfix.rst index c9e072cdd..bcefc0d27 100644 --- a/docs/changelog/2662.bugfix.rst +++ b/docs/changelog/2662.bugfix.rst @@ -1,3 +1,3 @@ Exclude pywin32 DLLs (``pywintypes*.dll``, ``pythoncom*.dll``) from being copied to the Scripts directory during -virtualenv creation on Windows. This fixes compatibility issues with pywin32, which expects its DLLs to be installed -in ``site-packages/pywin32_system32`` by its own post-install script - by :user:`rahuldevikar`. +virtualenv creation on Windows. This fixes compatibility issues with pywin32, which expects its DLLs to be installed in +``site-packages/pywin32_system32`` by its own post-install script - by :user:`rahuldevikar`. diff --git a/docs/changelog/2770.bugfix.rst b/docs/changelog/2770.bugfix.rst index b67738777..80c8757c8 100644 --- a/docs/changelog/2770.bugfix.rst +++ b/docs/changelog/2770.bugfix.rst @@ -1 +1,3 @@ -Preserve symlinks in ``pyvenv.cfg`` paths to match ``venv`` behavior. Use ``os.path.abspath()`` instead of ``os.path.realpath()`` to normalize paths without resolving symlinks, fixing issues with Python installations accessed via symlinked directories (common in network-mounted filesystems) - by :user:`rahuldevikar`. Fixes :issue:`2770`. +Preserve symlinks in ``pyvenv.cfg`` paths to match ``venv`` behavior. Use ``os.path.abspath()`` instead of +``os.path.realpath()`` to normalize paths without resolving symlinks, fixing issues with Python installations accessed +via symlinked directories (common in network-mounted filesystems) - by :user:`rahuldevikar`. Fixes :issue:`2770`. diff --git a/docs/changelog/2985.bugfix.rst b/docs/changelog/2985.bugfix.rst index ae2fe2aca..5e157000d 100644 --- a/docs/changelog/2985.bugfix.rst +++ b/docs/changelog/2985.bugfix.rst @@ -1 +1,3 @@ -Fix Windows activation scripts to properly quote ``python.exe`` path, preventing failures when Python is installed in a path with spaces (e.g., ``C:\Program Files``) and a file named ``C:\Program`` exists on the filesystem - by :user:`rahuldevikar`. +Fix Windows activation scripts to properly quote ``python.exe`` path, preventing failures when Python is installed in a +path with spaces (e.g., ``C:\Program Files``) and a file named ``C:\Program`` exists on the filesystem - by +:user:`rahuldevikar`. diff --git a/docs/changelog/3027.feature.rst b/docs/changelog/3027.feature.rst index 9386812bc..4e662e945 100644 --- a/docs/changelog/3027.feature.rst +++ b/docs/changelog/3027.feature.rst @@ -1 +1,2 @@ -Upgrade embedded pip to ``26.0.1`` from ``25.3`` and setuptools to ``82.0.0``, ``75.3.4`` from ``75.3.2``, ``80.9.0`` - by :user:`rahuldevikar`. +Upgrade embedded pip to ``26.0.1`` from ``25.3`` and setuptools to ``82.0.0``, ``75.3.4`` from ``75.3.2``, ``80.9.0`` - +by :user:`rahuldevikar`. diff --git a/docs/changelog/3029.feature.rst b/docs/changelog/3029.feature.rst index cb77ec757..f96af7a58 100644 --- a/docs/changelog/3029.feature.rst +++ b/docs/changelog/3029.feature.rst @@ -1 +1,2 @@ -Replace ``ty: ignore`` comments with proper type narrowing using assertions and explicit None checks - by :user:`rahuldevikar`. +Replace ``ty: ignore`` comments with proper type narrowing using assertions and explicit None checks - by +:user:`rahuldevikar`. diff --git a/docs/changelog/examples.rst b/docs/changelog/examples.rst index eda79eb70..86257006a 100644 --- a/docs/changelog/examples.rst +++ b/docs/changelog/examples.rst @@ -1,15 +1,20 @@ .. examples for changelog entries adding to your Pull Requests -file ``544.doc.rst``:: +file ``544.doc.rst``: + +:: explain everything much better - by :user:`passionate_technicalwriter`. -file ``544.feature.rst``:: +file ``544.feature.rst``: + +:: ``tox --version`` now shows information about all registered plugins - by :user:`obestwalter`. +file ``571.bugfix.rst``: -file ``571.bugfix.rst``:: +:: ``skip_install`` overrides ``usedevelop`` (``usedevelop`` is an option to choose the installation type if the package is installed and ``skip_install`` determines if it should be diff --git a/docs/changelog/template.jinja2 b/docs/changelog/template.jinja2 index bb88fa2c2..9de49f34a 100644 --- a/docs/changelog/template.jinja2 +++ b/docs/changelog/template.jinja2 @@ -1,18 +1,18 @@ -{% set top_underline = underlines[0] %} {% if versiondata.name %} -v{{ versiondata.version }} ({{ versiondata.date }}) -{{ top_underline * ((versiondata.version + versiondata.date)|length + 4)}} +{% set version_title = "v" + versiondata.version + " (" + versiondata.date + ")" %} {% else %} -{{ versiondata.version }} ({{ versiondata.date }}) -{{ top_underline * ((versiondata.version + versiondata.date)|length + 3)}} +{% set version_title = versiondata.version + " (" + versiondata.date + ")" %} {% endif %} +{{ top_underline * (version_title|length + 2) }} + {{ version_title }} +{{ top_underline * (version_title|length + 2) }} {% for section, _ in sections.items() %} -{% set underline = underlines[1] %} {% if sections[section] %} {% for category, val in definitions.items() if category in sections[section]%} {{ definitions[category]['name'] }} - {{ versiondata.version }} -{{ underline * ((definitions[category]['name'] + versiondata.version)|length + 3)}} +{{ underlines[0] * ((definitions[category]['name'] + versiondata.version)|length + 3) }} + {% if definitions[category]['showcontent'] %} {% for text, values in sections[section][category].items() %} - {{ text }} ({{ values|join(', ') }}) diff --git a/docs/cli_interface.rst b/docs/cli_interface.rst deleted file mode 100644 index fd3543b35..000000000 --- a/docs/cli_interface.rst +++ /dev/null @@ -1,138 +0,0 @@ -CLI interface -============= - -.. _cli_flags: - -CLI flags -~~~~~~~~~ - -``virtualenv`` is primarily a command line application. - -It modifies the environment variables in a shell to create an isolated Python environment, so you'll need to have a -shell to run it. You can type in ``virtualenv`` (name of the application) followed by flags that control its -behavior. All options have sensible defaults, and there's one required argument: the name/path of the virtual -environment to create. The default values for the command line options can be overridden via the -:ref:`conf_file` or :ref:`env_vars`. Environment variables takes priority over the configuration file values -(``--help`` will show if a default comes from the environment variable as the help message will end in this case -with environment variables or the configuration file). - -The options that can be passed to virtualenv, along with their default values and a short description are listed below. - -:command:`virtualenv [OPTIONS]` - -.. table_cli:: - :module: virtualenv.run - :func: build_parser_only - -Discovery options -~~~~~~~~~~~~~~~~~ - -Understanding Interpreter Discovery: ``--python`` vs. ``--try-first-with`` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -You can control which Python interpreter ``virtualenv`` selects using the ``--python`` and ``--try-first-with`` flags. -To avoid confusion, it's best to think of them as the "rule" and the "hint". - -**``--python ``: The Rule** - -This flag sets the mandatory requirements for the interpreter. The ```` can be: - -- **A version string** (e.g., ``python3.8``, ``pypy3``). ``virtualenv`` will search for any interpreter that matches this version. -- **A version specifier** using PEP 440 operators (e.g., ``>=3.12``, ``~=3.11.0``, ``python>=3.10``). ``virtualenv`` will search for any interpreter that satisfies the version constraint. You can also specify the implementation: ``cpython>=3.12``. -- **An absolute path** (e.g., ``/usr/bin/python3.8``). This is a *strict* requirement. Only the interpreter at this exact path will be used. If it does not exist or is not a valid interpreter, creation will fail. - -**``--try-first-with ``: The Hint** - -This flag provides a path to a Python executable to check *before* ``virtualenv`` performs its standard search. This can speed up discovery or help select a specific interpreter when multiple versions exist on your system. - -**How They Work Together** - -``virtualenv`` will only use an interpreter from ``--try-first-with`` if it **satisfies the rule** from the ``--python`` flag. The ``--python`` rule always wins. - -**Examples:** - -1. **Hint does not match the rule:** - - .. code-block:: bash - - virtualenv --python python3.8 --try-first-with /usr/bin/python3.10 my-env - - - **Result:** ``virtualenv`` first inspects ``/usr/bin/python3.10``. It sees this does not match the ``python3.8`` rule and **rejects it**. It then proceeds with its normal search to find a ``python3.8`` interpreter elsewhere. - -2. **Hint does not match a strict path rule:** - - .. code-block:: bash - - virtualenv --python /usr/bin/python3.8 --try-first-with /usr/bin/python3.10 my-env - - - **Result:** The rule is strictly ``/usr/bin/python3.8``. ``virtualenv`` checks the ``/usr/bin/python3.10`` hint, sees the path doesn't match, and **rejects it**. It then moves on to test ``/usr/bin/python3.8`` and successfully creates the environment. - -This approach ensures that the behavior is predictable and that ``--python`` remains the definitive source of truth for the user's intent. - - -Defaults -~~~~~~~~ - -.. _conf_file: - -Configuration file -^^^^^^^^^^^^^^^^^^ - -Unless ``VIRTUALENV_CONFIG_FILE`` is set, virtualenv looks for a standard ``virtualenv.ini`` configuration file. -The exact location depends on the operating system you're using, as determined by :pypi:`platformdirs` application -configuration definition. It can be overridden by setting the ``VIRTUALENV_CONFIG_FILE`` environment variable. -The configuration file location is printed as at the end of the output when ``--help`` is passed. - -The keys of the settings are derived from the command line option (left strip the ``-`` characters, and replace ``-`` -with ``_``). Where multiple flags are available first found wins (where order is as it shows up under the ``--help``). - -For example, :option:`--python ` would be specified as: - -.. code-block:: ini - - [virtualenv] - python = /opt/python-3.8/bin/python - -Options that take multiple values, like :option:`extra-search-dir` can be specified as: - -.. code-block:: ini - - [virtualenv] - extra_search_dir = - /path/to/dists - /path/to/other/dists - -.. _env_vars: - -Environment Variables -^^^^^^^^^^^^^^^^^^^^^ - -Default values may be also specified via environment variables. The keys of the settings are derived from the -command line option (left strip the ``-`` characters, and replace ``-`` with ``_``, finally capitalize the name). Where -multiple flags are available first found wins (where order is as it shows up under the ``--help``). - -For example, to use a custom Python binary, instead of the one virtualenv is run with, you can set the environment -variable ``VIRTUALENV_PYTHON`` like: - -.. code-block:: console - - env VIRTUALENV_PYTHON=/opt/python-3.8/bin/python virtualenv - -Where the option accepts multiple values, for example for :option:`python` or -:option:`extra-search-dir`, the values can be separated either by literal -newlines or commas. Newlines and commas can not be mixed and if both are -present only the newline is used for separating values. Examples for multiple -values: - - -.. code-block:: console - - env VIRTUALENV_PYTHON=/opt/python-3.8/bin/python,python3.8 virtualenv - env VIRTUALENV_EXTRA_SEARCH_DIR=/path/to/dists\n/path/to/other/dists virtualenv - -The equivalent CLI-flags based invocation for the above examples would be: - -.. code-block:: console - - virtualenv --python=/opt/python-3.8/bin/python --python=python3.8 - virtualenv --extra-search-dir=/path/to/dists --extra-search-dir=/path/to/other/dists diff --git a/docs/conf.py b/docs/conf.py index f02c8a7cb..d9a7cee4c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,6 +1,5 @@ from __future__ import annotations -import subprocess import sys from datetime import datetime, timezone from pathlib import Path @@ -17,8 +16,22 @@ "sphinx.ext.autodoc", "sphinx.ext.autosectionlabel", "sphinx.ext.extlinks", + "sphinx.ext.intersphinx", + "sphinx_autodoc_typehints", + "sphinx_copybutton", + "sphinx_inline_tabs", + "sphinxcontrib.mermaid", + "sphinxcontrib.towncrier.ext", ] +intersphinx_mapping = { + "python": ("https://docs.python.org/3", None), +} + +towncrier_draft_autoversion_mode = "draft" +towncrier_draft_include_empty = True +towncrier_draft_working_directory = Path(__file__).parent.parent + templates_path = [] unused_docs = [] source_suffix = ".rst" @@ -33,7 +46,16 @@ html_theme = "furo" html_title, html_last_updated_fmt = project, datetime.now(tz=timezone.utc).isoformat() pygments_style, pygments_dark_style = "sphinx", "monokai" -html_static_path, html_css_files = ["_static"], ["custom.css"] +html_static_path = ["_static"] +html_css_files = ["custom.css"] +html_js_files = ["rtd-search.js"] +html_favicon = "_static/virtualenv.svg" +html_theme_options = { + "light_logo": "virtualenv.png", + "dark_logo": "virtualenv.png", + "sidebar_hide_name": True, +} +html_show_sourcelink = False autoclass_content = "both" # Include __init__ in class documentation autodoc_member_order = "bysource" @@ -48,24 +70,16 @@ def setup(app): - here = Path(__file__).parent - root, exe = here.parent, Path(sys.executable) - towncrier = exe.with_name(f"towncrier{exe.suffix}") - cmd = [str(towncrier), "build", "--draft", "--version", "NEXT"] - new = subprocess.check_output(cmd, cwd=root, text=True, stderr=subprocess.DEVNULL, encoding="UTF-8") - (root / "docs" / "_draft.rst").write_text("" if "No significant changes" in new else new, encoding="UTF-8") - - # the CLI arguments are dynamically generated doc_tree = Path(app.doctreedir) - cli_interface_doctree = doc_tree / "cli_interface.doctree" - if cli_interface_doctree.exists(): - cli_interface_doctree.unlink() + for name in ("cli_interface", "reference/cli"): + doctree = doc_tree / f"{name}.doctree" + if doctree.exists(): + doctree.unlink() here = Path(__file__).parent if str(here) not in sys.path: sys.path.append(str(here)) - # noinspection PyUnresolvedReferences from render_cli import CliTable, literal_data # noqa: PLC0415 app.add_css_file("custom.css") diff --git a/docs/development.rst b/docs/development.rst index 5d110f2ff..121a50743 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -1,38 +1,38 @@ -Development -=========== - -Getting started ---------------- +############# + Development +############# +***************** + Getting started +***************** ``virtualenv`` is a volunteer maintained open source project and we welcome contributions of all forms. The sections below will help you get started with development, testing, and documentation. We’re pleased that you are interested in working on virtualenv. This document is meant to get you setup to work on virtualenv and to act as a guide and reference -to the development setup. If you face any issues during this process, please -`open an issue `_ about it on -the issue tracker. +to the development setup. If you face any issues during this process, please `open an issue +`_ about it on the issue +tracker. Setup -~~~~~ +===== virtualenv is a command line application written in Python. To work on it, you'll need: - **Source code**: available on `GitHub `_. You can use ``git`` to clone the - repository: + repository: .. code-block:: console git clone https://github.com/pypa/virtualenv cd virtualenv -- **Python interpreter**: We recommend using ``CPython``. You can use - `this guide `_ to set it up. - +- **Python interpreter**: We recommend using ``CPython``. You can use `this guide + `_ to set it up. - :pypi:`tox`: to automatically get the projects development dependencies and run the test suite. We recommend installing it using `pipx `_. Running from source tree -~~~~~~~~~~~~~~~~~~~~~~~~ +======================== The easiest way to do this is to generate the development tox environment, and then invoke virtualenv from under the ``.tox/dev`` folder @@ -44,10 +44,10 @@ The easiest way to do this is to generate the development tox environment, and t .tox/dev/Scripts/virtualenv # on Windows Running tests -~~~~~~~~~~~~~ +============= -virtualenv's tests are written using the :pypi:`pytest` test framework. :pypi:`tox` is used to automate the setup -and execution of virtualenv's tests. +virtualenv's tests are written using the :pypi:`pytest` test framework. :pypi:`tox` is used to automate the setup and +execution of virtualenv's tests. To run tests locally execute: @@ -58,10 +58,9 @@ To run tests locally execute: This will run the test suite for the same Python version as under which ``tox`` is installed. Alternatively you can specify a specific version of python by using the ``pyNN`` format, such as: ``py38``, ``pypy3``, etc. -``tox`` has been configured to forward any additional arguments it is given to ``pytest``. -This enables the use of pytest's -`rich CLI `_. As an example, you can -select tests using the various ways that pytest provides: +``tox`` has been configured to forward any additional arguments it is given to ``pytest``. This enables the use of +pytest's `rich CLI `_. As an example, you +can select tests using the various ways that pytest provides: .. code-block:: console @@ -71,11 +70,11 @@ select tests using the various ways that pytest provides: tox -e py -- -k "test_extra" Some tests require additional dependencies to be run, such is the various shell activators (``bash``, ``fish``, -``powershell``, etc). These tests will automatically be skipped if these are not present, note however that in CI -all tests are run; so even if all tests succeed locally for you, they may still fail in the CI. +``powershell``, etc). These tests will automatically be skipped if these are not present, note however that in CI all +tests are run; so even if all tests succeed locally for you, they may still fail in the CI. Running linters -~~~~~~~~~~~~~~~ +=============== virtualenv uses :pypi:`pre-commit` for managing linting of the codebase. ``pre-commit`` performs various checks on all files in virtualenv and uses tools that help follow a consistent code style within the codebase. To use linters locally, @@ -91,7 +90,7 @@ run: ``# noqa`` comments are reserved for rare cases where the recommended style causes severe readability problems. Building documentation -~~~~~~~~~~~~~~~~~~~~~~ +====================== virtualenv's documentation is built using :pypi:`Sphinx`. The documentation is written in reStructuredText. To build it locally, run: @@ -104,32 +103,31 @@ The built documentation can be found in the ``.tox/docs_out`` folder and may be that folder. Release -~~~~~~~ +======= -virtualenv's release schedule is tied to ``pip`` and ``setuptools``. We bundle the latest version of these -libraries so each time there's a new version of any of these, there will be a new virtualenv release shortly afterwards -(we usually wait just a few days to avoid pulling in any broken releases). +virtualenv's release schedule is tied to ``pip`` and ``setuptools``. We bundle the latest version of these libraries so +each time there's a new version of any of these, there will be a new virtualenv release shortly afterwards (we usually +wait just a few days to avoid pulling in any broken releases). Performing a release -^^^^^^^^^^^^^^^^^^^^ +-------------------- -A full release publishes to `PyPI `_, creates a -`GitHub Release `_ with the zipapp attached, and updates -`get-virtualenv `_ so that ``https://bootstrap.pypa.io/virtualenv.pyz`` serves -the new version. +A full release publishes to `PyPI `_, creates a `GitHub Release +`_ with the zipapp attached, and updates `get-virtualenv +`_ so that ``https://bootstrap.pypa.io/virtualenv.pyz`` serves the new version. Version bumping -""""""""""""""" +^^^^^^^^^^^^^^^ The ``--version`` argument to ``tox r -e release`` controls the version. It defaults to ``auto``, which inspects the -``docs/changelog`` directory: if any ``*.feature.rst`` or ``*.removal.rst`` fragments exist, the minor version is bumped, -otherwise the patch version is bumped. You can also pass ``major``, ``minor``, or ``patch`` explicitly. +``docs/changelog`` directory: if any ``*.feature.rst`` or ``*.removal.rst`` fragments exist, the minor version is +bumped, otherwise the patch version is bumped. You can also pass ``major``, ``minor``, or ``patch`` explicitly. **Via GitHub Actions (recommended)** -#. Go to the `Release workflow `_ on GitHub. -#. Click **Run workflow** and select the bump type (``auto``, ``major``, ``minor``, or ``patch``). -#. The workflow runs in two phases: +1. Go to the `Release workflow `_ on GitHub. +2. Click **Run workflow** and select the bump type (``auto``, ``major``, ``minor``, or ``patch``). +3. The workflow runs in two phases: **Build** (nothing is published yet): @@ -149,7 +147,7 @@ otherwise the patch version is bumped. You can also pass ``major``, ``minor``, o **Locally** -#. Generate the changelog, create the release commit, tag, and push: +1. Generate the changelog, create the release commit, tag, and push: .. code-block:: console @@ -157,19 +155,19 @@ otherwise the patch version is bumped. You can also pass ``major``, ``minor``, o Pass ``--version `` to override the default ``auto`` behavior (e.g. ``--version minor``). -#. Build the zipapp: +2. Build the zipapp: .. code-block:: console tox r -e zipapp -#. Create a GitHub Release and attach the zipapp: +3. Create a GitHub Release and attach the zipapp: .. code-block:: console gh release create virtualenv.pyz --generate-notes -#. Update ``get-virtualenv`` with the new zipapp: +4. Update ``get-virtualenv`` with the new zipapp: .. code-block:: console @@ -180,21 +178,22 @@ otherwise the patch version is bumped. You can also pass ``major``, ``minor``, o git -C /tmp/get-virtualenv commit -m "update virtualenv to " git -C /tmp/get-virtualenv push origin main - The push triggers ``get-virtualenv``'s own - `release workflow `_ which - automatically creates a tag and GitHub Release with the zipapp attached. + The push triggers ``get-virtualenv``'s own `release workflow + `_ which automatically creates a tag + and GitHub Release with the zipapp attached. -Contributing -------------- +************** + Contributing +************** Submitting pull requests -~~~~~~~~~~~~~~~~~~~~~~~~ +======================== Submit pull requests against the ``main`` branch, providing a good description of what you're doing and why. You must have legal permission to distribute any code you contribute to virtualenv and it must be available under the MIT -License. Provide tests that cover your changes and run the tests locally first. virtualenv -:ref:`supports ` multiple Python versions and operating systems. Any pull request must -consider and work on all these platforms. +License. Provide tests that cover your changes and run the tests locally first. virtualenv :ref:`supports +` multiple Python versions and operating systems. Any pull request must consider and work on +all these platforms. Pull Requests should be small to facilitate review. Keep them self-contained, and limited in scope. `Studies have shown `_ that review quality falls off as patch size @@ -207,24 +206,23 @@ PR more difficult. Examples include re-flowing text in comments or documentation or whitespace within lines. Such changes can be made separately, as a "formatting cleanup" PR, if needed. Automated testing -~~~~~~~~~~~~~~~~~ +================= -All pull requests and merges to 'main' branch are tested using -`GitHub Actions `_ (configured by -``.github/workflows/check.yaml`` file at the root of the repository). You can find the status and results to the CI runs for your -PR on GitHub's Web UI for the pull request. You can also find links to the CI services' pages for the specific builds in -the form of "Details" links, in case the CI run fails and you wish to view the output. +All pull requests and merges to 'main' branch are tested using `GitHub Actions `_ +(configured by ``.github/workflows/check.yaml`` file at the root of the repository). You can find the status and results +to the CI runs for your PR on GitHub's Web UI for the pull request. You can also find links to the CI services' pages +for the specific builds in the form of "Details" links, in case the CI run fails and you wish to view the output. To trigger CI to run again for a pull request, you can close and open the pull request or submit another change to the pull request. If needed, project maintainers can manually trigger a restart of a job/build. NEWS entries -~~~~~~~~~~~~ +============ The ``changelog.rst`` file is managed using :pypi:`towncrier` and all non trivial changes must be accompanied by a news -entry. To add an entry to the news file, first you need to have created an issue describing the change you want to -make. A Pull Request itself *may* function as such, but it is preferred to have a dedicated issue (for example, in case -the PR ends up rejected due to code quality reasons). +entry. To add an entry to the news file, first you need to have created an issue describing the change you want to make. +A Pull Request itself *may* function as such, but it is preferred to have a dedicated issue (for example, in case the PR +ends up rejected due to code quality reasons). Once you have an issue or pull request, you take the number and you create a file inside of the ``docs/changelog`` directory named after that issue number with an extension of: @@ -242,29 +240,28 @@ added a feature and deprecated/removed the old feature at the same time, you wou you may create a file for each of them with the same contents and :pypi:`towncrier` will deduplicate them. Contents of a NEWS entry -^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------ The contents of this file are reStructuredText formatted text that will be used as the content of the news file entry. -You do not need to reference the issue or PR numbers here as towncrier will automatically add a reference to all of -the affected issues when rendering the news file. +You do not need to reference the issue or PR numbers here as towncrier will automatically add a reference to all of the +affected issues when rendering the news file. In order to maintain a consistent style in the ``changelog.rst`` file, it is preferred to keep the news entry to the point, in sentence case, shorter than 120 characters and in an imperative tone -- an entry should complete the sentence ``This change will …``. In rare cases, where one line is not enough, use a summary line in an imperative tone followed -by a blank line separating it from a description of the feature/change in one or more paragraphs, each wrapped -at 120 characters. Remember that a news entry is meant for end users and should only contain details relevant to an end -user. +by a blank line separating it from a description of the feature/change in one or more paragraphs, each wrapped at 120 +characters. Remember that a news entry is meant for end users and should only contain details relevant to an end user. Choosing the type of NEWS entry -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------- A trivial change is anything that does not warrant an entry in the news file. Some examples are: code refactors that -don't change anything as far as the public is concerned, typo fixes, white space modification, etc. To mark a PR -as trivial a contributor simply needs to add a randomly named, empty file to the ``news/`` directory with the extension -of ``.trivial``. +don't change anything as far as the public is concerned, typo fixes, white space modification, etc. To mark a PR as +trivial a contributor simply needs to add a randomly named, empty file to the ``news/`` directory with the extension of +``.trivial``. Becoming a maintainer -~~~~~~~~~~~~~~~~~~~~~ +===================== If you want to become an official maintainer, start by helping out. As a first step, we welcome you to triage issues on virtualenv's issue tracker. virtualenv maintainers provide triage abilities to contributors once they have been around @@ -274,8 +271,8 @@ initiate a vote among the existing maintainers. .. note:: - Upon becoming a maintainer, a person should be given access to various virtualenv-related tooling across - multiple platforms. These are noted here for future reference by the maintainers: + Upon becoming a maintainer, a person should be given access to various virtualenv-related tooling across multiple + platforms. These are noted here for future reference by the maintainers: - GitHub Push Access - PyPI Publishing Access diff --git a/docs/explanation.rst b/docs/explanation.rst new file mode 100644 index 000000000..f81c39884 --- /dev/null +++ b/docs/explanation.rst @@ -0,0 +1,483 @@ +############# + Explanation +############# + +This page explains the design decisions and concepts behind virtualenv. It focuses on understanding why things work the +way they do. + +************************** + virtualenv vs venv vs uv +************************** + +Since Python 3.3, the standard library includes the ``venv`` module, which provides basic virtual environment creation +following `PEP 405 `_. `uv `_ is +a newer, Rust-based tool that also creates virtual environments via ``uv venv``. + +virtualenv occupies a middle ground: faster and more featureful than ``venv``, while remaining a pure Python solution +with a plugin system for extensibility. + +.. list-table:: + :header-rows: 1 + :widths: 20 27 27 26 + + - - + - ``venv`` + - ``virtualenv`` + - `uv `_ + - - Performance + - Slowest (60s+); spawns `pip `_ as a subprocess to seed. + - Fast; caches pre-built install images, subsequent creation < 1 second. + - Fastest; Rust implementation, milliseconds. Does not seed pip/setuptools by default. + - - Extensibility + - No plugin system. + - Plugin system for discovery, creation, seeding, and activation. + - No plugin system. + - - Cross-version + - Only the Python version it runs under. + - Any installed Python via auto-discovery (registry, uv-managed, PATH). + - Any installed or uv-managed Python. + - - Upgradeability + - Tied to Python releases. + - Independent via `PyPI `_. + - Independent via its own release cycle. + - - Programmatic API + - Basic ``create()`` function only. + - Full Python API; can describe environments without creating them. Used by `tox `_, + `poetry `_, `pipx `_, etc. + - Command line only. + - - Best for + - Zero dependencies, basic needs. + - Plugin extensibility, programmatic API, tool compatibility (`tox `_, + `virtualenvwrapper `_). + - Maximum speed, already using ``uv`` for package management. + +.. mermaid:: + + flowchart TD + A{Need plugins or programmatic API?} -->|Yes| V[virtualenv] + A -->|No| B{Already using uv?} + B -->|Yes| U[uv venv] + B -->|No| C{Can install external tools?} + C -->|Yes| D{Speed matters?} + C -->|No| VENV[venv] + D -->|Yes| U + D -->|No| V + + style A fill:#d97706,stroke:#b45309,color:#fff + style B fill:#d97706,stroke:#b45309,color:#fff + style C fill:#d97706,stroke:#b45309,color:#fff + style D fill:#d97706,stroke:#b45309,color:#fff + style V fill:#16a34a,stroke:#15803d,color:#fff + style U fill:#2563eb,stroke:#1d4ed8,color:#fff + style VENV fill:#7c3aed,stroke:#6d28d9,color:#fff + +********************** + How virtualenv works +********************** + +Python packaging often faces a fundamental problem: different applications require different versions of the same +library. If Application A needs ``requests==2.25.1`` but Application B needs ``requests==2.28.0``, installing both into +the global site-packages directory creates a conflict. Only one version can exist in a given location. + +virtualenv solves this by creating isolated Python environments. Each environment has its own installation directories +and can maintain its own set of installed packages, independent of other environments and the system Python. + +virtualenv operates in two distinct phases: + +.. mermaid:: + + flowchart TD + Start([virtualenv command]) --> Phase1[Phase 1: Python Discovery] + Phase1 --> Discover{Find Python interpreter} + Discover -->|Default| SameVersion[Use virtualenv's own Python] + Discover -->|--python flag| CustomVersion[Use specified Python] + CustomVersion --> Phase2[Phase 2: Environment Creation] + SameVersion --> Phase2 + Phase2 --> CreatePython[Create Python matching target interpreter] + CreatePython --> SeedPackages[Install seed packages: pip, setuptools, wheel] + SeedPackages --> ActivationScripts[Install activation scripts] + ActivationScripts --> VCSIgnore[Create VCS ignore files] + VCSIgnore --> Complete([Virtual environment ready]) + + style Start fill:#2563eb,stroke:#1d4ed8,color:#fff + style Phase1 fill:#6366f1,stroke:#4f46e5,color:#fff + style Phase2 fill:#6366f1,stroke:#4f46e5,color:#fff + style Complete fill:#16a34a,stroke:#15803d,color:#fff + style Discover fill:#d97706,stroke:#b45309,color:#fff + +**Phase 1: Discover a Python interpreter** + virtualenv first identifies which Python interpreter to use as the template for the virtual environment. By default, + it uses the same Python version that virtualenv itself is running on. You can override this with the ``--python`` + flag to specify a different interpreter. + +**Phase 2: Create the virtual environment** + Once the target interpreter is identified, virtualenv creates the environment in four steps: + + 1. Create a Python executable matching the target interpreter + 2. Install seed packages (pip, setuptools, wheel) to enable package installation + 3. Install activation scripts for various shells + 4. Create VCS ignore files (currently Git's ``.gitignore``, skip with ``--no-vcs-ignore``) + +An important design principle: virtual environments are not self-contained. A complete Python installation consists of +thousands of files, and copying all of them into every virtual environment would be wasteful. Instead, virtual +environments are lightweight shells that borrow most content from the system Python. They contain only what's needed to +redirect Python's behavior. + +This design has two implications: + +- Environment creation is fast because only a small number of files need to be created. +- Upgrading the system Python might affect existing virtual environments, since they reference the system Python's + standard library and binary extensions. + +The Python executable in a virtual environment is effectively isolated from the one used to create it, but the +supporting files are shared. + +.. warning:: + + If you upgrade your system Python, existing virtual environments will still report the old version (the version + number is embedded in the Python executable itself), but they will use the new version's standard library and binary + extensions. This normally works without issues, but be aware that the environment is effectively running a hybrid of + old and new Python versions. + +****************** + Python discovery +****************** + +Before creating a virtual environment, virtualenv must locate a Python interpreter. The interpreter determines the +virtual environment's Python version, implementation (CPython, PyPy, etc.), and architecture (32-bit or 64-bit). + +The ``--python`` flag accepts several specifier formats: + +**Path specifier** + An absolute or relative path to a Python executable, such as ``/usr/bin/python3.8`` or ``./python``. + +**Version specifier** + A string following the format ``{implementation}{version}{architecture}`` where: + + - Implementation is alphabetic characters (``python`` means any implementation; if omitted, defaults to ``python``). + - Version is dot-separated numbers, optionally followed by ``t`` for free-threading builds. + - Architecture is ``-64`` or ``-32`` (if omitted, means any architecture). + + Examples: + + - ``python3.8.1`` - Any Python implementation with version 3.8.1 + - ``3`` - Any Python implementation with major version 3 + - ``3.13t`` - Any Python implementation version 3.13 with free-threading enabled + - ``cpython3`` - CPython implementation with major version 3 + - ``pypy2`` - PyPy implementation with major version 2 + +**PEP 440 version specifier** + Version constraints using PEP 440 operators: + + - ``>=3.12`` - Any Python 3.12 or later + - ``~=3.11.0`` - Compatible with Python 3.11.0 + - ``cpython>=3.10`` - CPython 3.10 or later + +When you provide a specifier, virtualenv searches for matching interpreters using this strategy: + +.. mermaid:: + + flowchart TD + Start([Python specifier provided]) --> Windows{Running on Windows?} + Windows -->|Yes| Registry[Check Windows Registry per PEP-514] + Windows -->|No| UVManaged + Registry --> RegistryMatch{Match found?} + RegistryMatch -->|Yes| Found([Use matched Python]) + RegistryMatch -->|No| UVManaged[Check uv-managed Python installations] + UVManaged --> UVMatch{Match found?} + UVMatch -->|Yes| Found + UVMatch -->|No| PATH[Search PATH for matching executable] + PATH --> PATHMatch{Match found?} + PATHMatch -->|Yes| Found + PATHMatch -->|No| NotFound([Discovery fails]) + + style Start fill:#2563eb,stroke:#1d4ed8,color:#fff + style Found fill:#16a34a,stroke:#15803d,color:#fff + style NotFound fill:#dc2626,stroke:#b91c1c,color:#fff + style Windows fill:#d97706,stroke:#b45309,color:#fff + style RegistryMatch fill:#d97706,stroke:#b45309,color:#fff + style UVMatch fill:#d97706,stroke:#b45309,color:#fff + style PATHMatch fill:#d97706,stroke:#b45309,color:#fff + +1. **Windows Registry** (Windows only): Check registered Python installations per `PEP 514 + `_. +2. **uv-managed installations**: Check the ``UV_PYTHON_INSTALL_DIR`` environment variable or platform-specific uv Python + directories for managed Python installations. +3. **PATH search**: Search for executables on the ``PATH`` environment variable with names matching the specification. + +.. warning:: + + Virtual environments typically reference the system Python's standard library. If you upgrade the system Python, the + virtual environment will report the old version (embedded in its Python executable) but will actually use the new + version's standard library content. This can cause confusion when debugging version-specific behavior. + + If you use a virtual environment's Python as the target for creating another virtual environment, virtualenv will + detect the system Python version and create an environment matching the actual (upgraded) version, not the version + reported by the virtual environment. + +********** + Creators +********** + +Creators are responsible for constructing the virtual environment structure. virtualenv supports two types of creators: + +**venv creator** + This creator delegates the entire creation process to the standard library's ``venv`` module, following `PEP 405 + `_. The venv creator has two limitations: + + - It only works with Python 3.5 or later. + - It requires spawning a subprocess to invoke the venv module, unless virtualenv is installed in the system Python. + + The subprocess overhead can be significant, especially on Windows where process creation is expensive. + +**builtin creator** + This creator means virtualenv performs the creation itself by knowing exactly which files to create and which system + files to reference. The builtin creator is actually a family of specialized creators for different combinations of + Python implementation (CPython, PyPy) and platform (Windows, POSIX). The name ``builtin`` is an alias that selects + the first available builtin creator for the target environment. + + Because builtin creators don't require subprocess invocation, they're generally faster than the venv creator. + +.. mermaid:: + + flowchart TD + Start([Select creator]) --> Builtin{Builtin creator available?} + Builtin -->|Yes| UseBuiltin([Use builtin creator - faster, no subprocess]) + Builtin -->|No| UseVenv([Use venv creator - delegates to stdlib]) + + style Start fill:#2563eb,stroke:#1d4ed8,color:#fff + style UseBuiltin fill:#16a34a,stroke:#15803d,color:#fff + style UseVenv fill:#7c3aed,stroke:#6d28d9,color:#fff + style Builtin fill:#d97706,stroke:#b45309,color:#fff + +virtualenv defaults to using the builtin creator if one is available for the target environment, falling back to the +venv creator otherwise. + +********* + Seeders +********* + +After creating the virtual environment structure, virtualenv installs seed packages that enable package management +within the environment. The seed packages are: + +- ``pip`` - The package installer for Python (always installed). +- ``setuptools`` - Package development and installation library (disabled by default on Python 3.12+). +- ``wheel`` - Support for the wheel binary package format (only installed by default on Python 3.8). + +virtualenv supports two seeding methods with dramatically different performance characteristics: + +**pip seeder** + This method uses the bundled pip wheel to install seed packages by spawning a child pip process. The subprocess + performs a full installation, including unpacking wheels and generating metadata. This method is reliable but slow, + typically consuming 98% of the total virtual environment creation time. + +**app-data seeder** + This method creates reusable install images in a user application data directory. The first time you create an + environment with specific seed package versions, the app-data seeder builds complete install images and stores them + in the cache. Subsequent environment creations simply link or copy these pre-built images into the virtual + environment's ``site-packages`` directory. + + Performance comparison for creating virtual environments: + + .. mermaid:: + + xychart-beta horizontal + title "Seeding time (seconds, lower is better)" + x-axis ["pip seeder (70s)", "app-data copy Win (8s)", "app-data symlink Win (0.8s)", "app-data symlink Linux/macOS (0.1s)"] + y-axis "Seconds" 0 --> 80 + bar [70, 8, 0.8, 0.1] + + On platforms that support symlinks efficiently (Linux, macOS), the app-data seeder provides nearly instant seeding. + + You can override the cache location using the ``VIRTUALENV_OVERRIDE_APP_DATA`` environment variable. + +.. _wheels: + +Wheel acquisition +================= + +Both seeding methods require wheel files for the seed packages. virtualenv acquires wheels using a priority system: + +.. mermaid:: + + flowchart TD + Start([Need wheel file]) --> Embedded{Found in embedded wheels?} + Embedded -->|Yes| UseEmbedded([Use embedded wheel]) + Embedded -->|No| Upgraded{Found in upgraded wheels?} + Upgraded -->|Yes| UseUpgraded([Use upgraded wheel]) + Upgraded -->|No| Extra{Found in extra-search-dir?} + Extra -->|Yes| UseExtra([Use extra wheel]) + Extra -->|No| Download{Download enabled?} + Download -->|Yes| DownloadPyPI([Download from PyPI]) + Download -->|No| Fail([Seeding fails]) + + style Start fill:#2563eb,stroke:#1d4ed8,color:#fff + style UseEmbedded fill:#16a34a,stroke:#15803d,color:#fff + style UseUpgraded fill:#16a34a,stroke:#15803d,color:#fff + style UseExtra fill:#16a34a,stroke:#15803d,color:#fff + style DownloadPyPI fill:#16a34a,stroke:#15803d,color:#fff + style Fail fill:#dc2626,stroke:#b91c1c,color:#fff + style Embedded fill:#d97706,stroke:#b45309,color:#fff + style Upgraded fill:#d97706,stroke:#b45309,color:#fff + style Extra fill:#d97706,stroke:#b45309,color:#fff + style Download fill:#d97706,stroke:#b45309,color:#fff + +**Embedded wheels** + virtualenv ships with a set of wheels bundled directly into the package. These are tested with the virtualenv + release and provide a baseline set of seed packages. Different Python versions require different package versions, + so virtualenv bundles multiple wheels to support its wide Python version range. + +**Upgraded embedded wheels** + Users can manually upgrade the embedded wheels by running virtualenv with the ``--upgrade-embed-wheels`` flag. This + fetches newer versions of seed packages from PyPI and stores them in the user application data directory. Subsequent + virtualenv invocations will use these upgraded wheels instead of the embedded ones. + + virtualenv can also perform periodic automatic upgrades (see below). + +**Extra search directories** + Users can specify additional directories containing wheels using the ``--extra-search-dir`` flag. This is useful in + air-gapped environments or when using custom package builds. + +**PyPI download** + If no suitable wheel is found in the above locations, or if the ``--download`` flag is set, virtualenv will use pip + to download the latest compatible version from PyPI. + +Periodic update mechanism +========================= + +To keep the seed packages reasonably current without requiring users to manually upgrade virtualenv or run +``--upgrade-embed-wheels``, virtualenv implements a periodic automatic update system: + +.. mermaid:: + + timeline + title Periodic update safety gates + section PyPI release + Package published : New wheel available on PyPI + section 28-day wait + Day 1-28 : Wheel is too new, ignored by virtualenv + section Check interval + Every 14 days : virtualenv checks for eligible wheels + section 1-hour hold + After download : Wheel downloaded but not yet used + +1 hour : Wheel becomes active for new environments + +The 28-day waiting period protects users from automatically adopting newly released packages that might contain bugs. +The 1-hour delay after download ensures continuous integration systems don't start using different package versions +mid-run, which could cause confusing test failures. + +You can disable the periodic update mechanism with the ``--no-periodic-update`` flag. + +.. _distribution_wheels: + +Distribution maintainer patching +================================ + +Operating system distributions and package managers sometimes need to customize which seed package versions virtualenv +uses. They want to align virtualenv's bundled packages with system package versions. + +Distributions can patch the ``virtualenv.seed.wheels.embed`` module, replacing the ``get_embed_wheel`` function with +their own implementation that returns distribution-provided wheels. If they want to use virtualenv's test suite for +validation, they should also provide the ``BUNDLE_FOLDER``, ``BUNDLE_SUPPORT``, and ``MAX`` variables. + +Distributions should also consider patching ``virtualenv.seed.embed.base_embed.PERIODIC_UPDATE_ON_BY_DEFAULT`` to +``False``, allowing the system package manager to control seed package updates rather than virtualenv's periodic update +mechanism. Users can still manually request upgrades via ``--upgrade-embed-wheels``, but automatic updates won't +interfere with system-managed packages. + +************ + Activators +************ + +Activation scripts modify the current shell environment to prioritize the virtual environment's executables. This is +purely a convenience mechanism - you can always use absolute paths to virtual environment executables without +activating. + +What activation does: + +.. mermaid:: + + flowchart TD + Before([Before activation]) --> ModifyPATH[Prepend venv/bin to PATH] + ModifyPATH --> SetVENV[Set VIRTUAL_ENV variable] + SetVENV --> SetPROMPT[Set VIRTUAL_ENV_PROMPT variable] + SetPROMPT --> SetPKG[Set PKG_CONFIG_PATH] + SetPKG --> ModifyPrompt[Modify shell prompt] + ModifyPrompt --> After([After activation]) + + style Before fill:#2563eb,stroke:#1d4ed8,color:#fff + style After fill:#16a34a,stroke:#15803d,color:#fff + style ModifyPATH fill:#6366f1,stroke:#4f46e5,color:#fff + style SetVENV fill:#6366f1,stroke:#4f46e5,color:#fff + style SetPROMPT fill:#6366f1,stroke:#4f46e5,color:#fff + style SetPKG fill:#6366f1,stroke:#4f46e5,color:#fff + style ModifyPrompt fill:#6366f1,stroke:#4f46e5,color:#fff + +**PATH modification** + The activation script prepends the virtual environment's ``bin`` directory (``Scripts`` on Windows) to the ``PATH`` + environment variable. This ensures that when you run ``python``, ``pip``, or other executables, the shell finds the + virtual environment's versions first. + +**Environment variables** + Activation sets several environment variables: + + - ``VIRTUAL_ENV`` - Absolute path to the virtual environment directory. + - ``VIRTUAL_ENV_PROMPT`` - The prompt prefix (the environment name or custom value from ``--prompt``). + - ``PKG_CONFIG_PATH`` - Modified to include the virtual environment's ``lib/pkgconfig`` directory. + +**Prompt modification** + By default, activation prepends the environment name to your shell prompt, typically shown as ``(venv)`` before the + regular prompt. This visual indicator helps you remember which environment is active. You can customize this with + the ``--prompt`` flag when creating the environment, or disable it entirely by setting the + ``VIRTUAL_ENV_DISABLE_PROMPT`` environment variable. + +**Deactivation** + Activation scripts also provide a ``deactivate`` command that reverses the changes, restoring your original PATH and + removing the environment variables and prompt modifications. + +virtualenv provides activation scripts for multiple shells: + +- `Bash `_ (``activate``) +- `Fish `_ (``activate.fish``) +- `Csh/Tcsh `_ (``activate.csh``) +- `PowerShell `_ (``activate.ps1``) +- `Windows Batch `_ + (``activate.bat``) +- `Nushell `_ (``activate.nu``) +- Python (``activate_this.py``) -- for programmatic activation from within a running Python process, see + :ref:`how-to/usage:Programmatic activation` + +.. note:: + + On Windows 7 and later, PowerShell's default execution policy is ``Restricted``, which prevents running the + ``activate.ps1`` script. You can allow locally-generated scripts to run by changing the execution policy: + + .. code-block:: powershell + + Set-ExecutionPolicy RemoteSigned + + Since virtualenv generates ``activate.ps1`` locally for each environment, PowerShell considers it a local script + rather than a remote one and allows execution under the ``RemoteSigned`` policy. + +Remember: activation is optional. The following commands are equivalent: + +.. code-block:: console + + # With activation + source venv/bin/activate + python script.py + deactivate + + # Without activation + venv/bin/python script.py + +For a deeper dive into how activation works under the hood, see Allison Kaptur's blog post `There's no magic: virtualenv +edition `_, which explains how virtualenv uses +``PATH`` and ``PYTHONHOME`` to isolate virtual environments. + +********** + See also +********** + +- :doc:`how-to/usage` - Practical guides for common virtualenv tasks. +- :doc:`reference/cli` - Complete CLI reference documentation. diff --git a/docs/extend.rst b/docs/extend.rst deleted file mode 100644 index 6dc107e3b..000000000 --- a/docs/extend.rst +++ /dev/null @@ -1,88 +0,0 @@ -Extend functionality -==================== - -``virtualenv`` allows one to extend the builtin functionality via a plugin system. To add a plugin you need to: - -- write a python file containing the plugin code which follows our expected interface, -- package it as a python library, -- install it alongside the virtual environment. - -Python discovery ----------------- - -The python discovery mechanism is a component that needs to answer the following question: based on some type of user -input give me a Python interpreter on the machine that matches that. The builtin interpreter tries to discover -an installed Python interpreter (based on PEP-515 and ``PATH`` discovery) on the users machine where the user input is a -python specification. An alternative such discovery mechanism for example would be to use the popular -`pyenv `_ project to discover, and if not present install the requested Python -interpreter. Python discovery mechanisms must be registered under key ``virtualenv.discovery``, and the plugin must -implement :class:`virtualenv.discovery.discover.Discover`: - -.. code-block:: ini - - virtualenv.discovery = - pyenv = virtualenv_pyenv.discovery:PyEnvDiscovery - - -.. currentmodule:: virtualenv.discovery.discover - -.. autoclass:: Discover - :undoc-members: - :members: - - -Creators --------- -Creators are what actually perform the creation of a virtual environment. The builtin virtual environment creators -all achieve this by referencing a global install; but would be just as valid for a creator to install a brand new -entire python under the target path; or one could add additional creators that can create virtual environments for other -python implementations, such as IronPython. They must be registered under and entry point with key -``virtualenv.create`` , and the class must implement :class:`virtualenv.create.creator.Creator`: - -.. code-block:: ini - - virtualenv.create = - cpython3-posix = virtualenv.create.via_global_ref.builtin.cpython.cpython3:CPython3Posix - -.. currentmodule:: virtualenv.create.creator - -.. autoclass:: Creator - :undoc-members: - :members: - :exclude-members: run, set_pyenv_cfg, debug_script, debug_script, validate_dest, debug - - -Seed mechanism --------------- - -Seeders are what given a virtual environment will install somehow some seed packages into it. They must be registered -under and entry point with key ``virtualenv.seed`` , and the class must implement -:class:`virtualenv.seed.seeder.Seeder`: - -.. code-block:: ini - - virtualenv.seed = - db = virtualenv.seed.fromDb:InstallFromDb - -.. currentmodule:: virtualenv.seed.seeder - -.. autoclass:: Seeder - :undoc-members: - :members: - -Activation scripts ------------------- -If you want add an activator for a new shell you can do this by implementing a new activator. They must be registered -under an entry point with key ``virtualenv.activate`` , and the class must implement -:class:`virtualenv.activation.activator.Activator`: - -.. code-block:: ini - - virtualenv.activate = - bash = virtualenv.activation.bash:BashActivator - -.. currentmodule:: virtualenv.activation.activator - -.. autoclass:: Activator - :undoc-members: - :members: diff --git a/docs/how-to/install.rst b/docs/how-to/install.rst new file mode 100644 index 000000000..78ad552c5 --- /dev/null +++ b/docs/how-to/install.rst @@ -0,0 +1,103 @@ +#################### + Install virtualenv +#################### + +virtualenv is a command-line tool, so it should be installed in an isolated environment rather than into your system +Python. Pick the method that fits your setup: + +- `uv `_ -- fast, modern Python package manager. Use this if you already have ``uv`` or are + starting fresh. +- `pipx `_ -- installs Python CLI tools in isolated environments. Use this if you already + have ``pipx`` set up. +- `pip `_ -- the standard Python package installer. Use ``--user`` to avoid modifying + system packages. May not work on distributions with externally-managed Python environments. +- `zipapp `_ -- a self-contained executable requiring no installation. + Use this in CI or environments where you cannot install packages. + +.. mermaid:: + + flowchart TD + A{Can you install packages?} -->|Yes| B{Have uv?} + A -->|No| Z[zipapp] + B -->|Yes| U[uv tool install] + B -->|No| C{Have pipx?} + C -->|Yes| P[pipx install] + C -->|No| D[pip install --user] + + style A fill:#d97706,stroke:#b45309,color:#fff + style B fill:#d97706,stroke:#b45309,color:#fff + style C fill:#d97706,stroke:#b45309,color:#fff + style U fill:#16a34a,stroke:#15803d,color:#fff + style P fill:#16a34a,stroke:#15803d,color:#fff + style D fill:#7c3aed,stroke:#6d28d9,color:#fff + style Z fill:#7c3aed,stroke:#6d28d9,color:#fff + +.. tab:: uv + + Install virtualenv as a `uv tool `_: + + .. code-block:: console + + $ uv tool install virtualenv + + Install the development version: + + .. code-block:: console + + $ uv tool install git+https://github.com/pypa/virtualenv.git@main + +.. tab:: pipx + + Install virtualenv using `pipx `_: + + .. code-block:: console + + $ pipx install virtualenv + + Install the development version: + + .. code-block:: console + + $ pipx install git+https://github.com/pypa/virtualenv.git@main + +.. tab:: pip + + Install virtualenv using `pip `_: + + .. code-block:: console + + $ python -m pip install --user virtualenv + + Install the development version: + + .. code-block:: console + + $ python -m pip install git+https://github.com/pypa/virtualenv.git@main + + .. warning:: + + Some Linux distributions use system-managed Python environments. If you encounter errors about externally-managed + environments, use ``uv tool`` or ``pipx`` instead. + +.. tab:: zipapp + + Download the zipapp file and run it directly: + + .. code-block:: console + + $ python virtualenv.pyz --help + + Download the latest version from https://bootstrap.pypa.io/virtualenv.pyz or a specific version from + ``https://bootstrap.pypa.io/virtualenv/x.y/virtualenv.pyz``. + +********************* + Verify installation +********************* + +Check the installed version: + +.. code-block:: console + + $ virtualenv --version + +See :doc:`../reference/compatibility` for supported Python versions. diff --git a/docs/how-to/usage.rst b/docs/how-to/usage.rst new file mode 100644 index 000000000..1a1286cdd --- /dev/null +++ b/docs/how-to/usage.rst @@ -0,0 +1,317 @@ +################ + Use virtualenv +################ + +************************* + Select a Python version +************************* + +By default, virtualenv uses the same Python version it runs under. Override this with ``--python`` or ``-p``. + +Using version specifiers +======================== + +Specify a Python version by name or version number: + +.. code-block:: console + + $ virtualenv -p python3.8 venv + $ virtualenv -p 3.10 venv + $ virtualenv -p pypy3 venv + +Using PEP 440 specifiers +======================== + +Use `PEP 440 `_ version specifiers to match Python versions: + +.. code-block:: console + + $ virtualenv --python ">=3.12" venv + $ virtualenv --python "~=3.11.0" venv + $ virtualenv --python "cpython>=3.10" venv + +- ``>=3.12`` -- any Python 3.12 or later. +- ``~=3.11.0`` -- compatible release, equivalent to ``>=3.11.0, <3.12.0`` (any 3.11.x patch). +- ``cpython>=3.10`` -- restrict to CPython implementation, 3.10 or later. + +Using free-threading Python +=========================== + +Create an environment with `free-threading Python `_: + +.. code-block:: console + + $ virtualenv -p 3.13t venv + +Using absolute paths +==================== + +Specify the full path to a Python interpreter: + +.. code-block:: console + + $ virtualenv -p /usr/bin/python3.9 venv + +Using ``--try-first-with`` +========================== + +Use ``--try-first-with`` to provide a hint about which Python to check first. Unlike ``--python``, this is a hint rather +than a rule. The interpreter at this path is checked first, but only used if it matches the ``--python`` constraint. + +.. code-block:: console + + $ virtualenv --python ">=3.10" --try-first-with /usr/bin/python3.9 venv + +In this example, /usr/bin/python3.9 is checked first but rejected because it does not satisfy the >=3.10 constraint. + +******************************** + Activate a virtual environment +******************************** + +Activate the environment to modify your shell's PATH and environment variables. + +.. tab:: Bash/Zsh + + .. code-block:: console + + $ source venv/bin/activate + +.. tab:: Fish + + .. code-block:: console + + $ source venv/bin/activate.fish + +.. tab:: PowerShell + + .. code-block:: console + + PS> .\venv\Scripts\Activate.ps1 + + .. note:: + + If you encounter an execution policy error, run ``Set-ExecutionPolicy RemoteSigned`` to allow local scripts. + +.. tab:: CMD + + .. code-block:: console + + > .\venv\Scripts\activate.bat + +.. tab:: Nushell + + .. code-block:: console + + $ overlay use venv/bin/activate.nu + +Deactivate the environment +========================== + +Exit the virtual environment: + +.. code-block:: console + + $ deactivate + +Use without activation +====================== + +Use the environment without activating it by calling executables with their full paths: + +.. code-block:: console + + $ venv/bin/python script.py + $ venv/bin/pip install package + +Customize prompt +================ + +Set a custom prompt prefix: + +.. code-block:: console + + $ virtualenv --prompt myproject venv + +Disable the prompt modification by setting the ``VIRTUAL_ENV_DISABLE_PROMPT`` environment variable. + +Access the prompt string via the ``VIRTUAL_ENV_PROMPT`` environment variable. + +Programmatic activation +======================= + +Activate the environment from within a running Python process using ``activate_this.py``. This modifies ``sys.path`` and +environment variables in the current process so that subsequent imports resolve from the virtual environment. + +.. code-block:: python + + import runpy + + runpy.run_path("venv/bin/activate_this.py") + +A common use case is web applications served by a system-wide WSGI server (such as mod_wsgi or uWSGI) that need to load +packages from a virtual environment: + +.. code-block:: python + + import runpy + from pathlib import Path + + runpy.run_path(str(Path("/var/www/myapp/venv/bin/activate_this.py"))) + + from myapp import create_app # noqa: E402 + + application = create_app() + +******************** + Configure defaults +******************** + +Use a configuration file to set default options for virtualenv. + +Configuration file location +=========================== + +The configuration file is named ``virtualenv.ini`` and located in the platformdirs app config directory. Run +``virtualenv --help`` to see the exact location for your system. + +Override the location with the ``VIRTUALENV_CONFIG_FILE`` environment variable. + +Configuration format +==================== + +Derive configuration keys from command-line options by stripping leading ``-`` and replacing remaining ``-`` with ``_``: + +.. code-block:: ini + + [virtualenv] + python = /opt/python-3.8/bin/python + +Multi-value options +=================== + +Specify multiple values on separate lines: + +.. code-block:: ini + + [virtualenv] + extra_search_dir = + /path/to/dists + /path/to/other/dists + +Environment variables +===================== + +Set options using environment variables with the ``VIRTUALENV_`` prefix and uppercase key names: + +.. code-block:: console + + $ export VIRTUALENV_PYTHON=/opt/python-3.8/bin/python + +For multi-value options, separate values with commas or newlines. + +Override app-data location +========================== + +Set the ``VIRTUALENV_OVERRIDE_APP_DATA`` environment variable to override the default app-data cache directory location. + +Configuration priority +====================== + +Options are resolved in this order (highest to lowest priority): + +.. mermaid:: + + block-beta + columns 1 + A["Command-line arguments (highest)"] + B["Environment variables"] + C["Configuration file"] + D["Default values (lowest)"] + + style A fill:#16a34a,stroke:#15803d,color:#fff + style B fill:#2563eb,stroke:#1d4ed8,color:#fff + style C fill:#d97706,stroke:#b45309,color:#fff + style D fill:#6366f1,stroke:#4f46e5,color:#fff + +*********************** + Control seed packages +*********************** + +Upgrade embedded wheels +======================= + +Update the embedded wheel files to the latest versions: + +.. code-block:: console + + $ virtualenv --upgrade-embed-wheels + +Provide custom wheels +===================== + +Use custom wheel files from a local directory: + +.. code-block:: console + + $ virtualenv --extra-search-dir /path/to/wheels venv + +Download latest from PyPI +========================= + +Download the latest versions of seed packages from PyPI: + +.. code-block:: console + + $ virtualenv --download venv + +Disable periodic updates +======================== + +Disable automatic periodic updates of seed packages: + +.. code-block:: console + + $ virtualenv --no-periodic-update venv + +For distribution maintainers +============================ + +Patch the ``virtualenv.seed.wheels.embed`` module and set ``PERIODIC_UPDATE_ON_BY_DEFAULT`` to ``False`` to disable +periodic updates by default. See :doc:`../explanation` for implementation details. + +********************** + Use from Python code +********************** + +Call virtualenv from Python code using the ``cli_run`` function: + +.. code-block:: python + + from virtualenv import cli_run + + cli_run(["venv"]) + +Pass options as list elements: + +.. code-block:: python + + cli_run(["-p", "python3.8", "--without-pip", "myenv"]) + +Use the returned session object to access environment details: + +.. code-block:: python + + result = cli_run(["venv"]) + print(result.creator.dest) # path to created environment + print(result.creator.exe) # path to python executable + +Use ``session_via_cli`` to describe the environment without creating it: + +.. code-block:: python + + from virtualenv import session_via_cli + + session = session_via_cli(["venv"]) + # inspect session.creator, session.seeder, session.activators + +See :doc:`../reference/api` for complete API documentation. diff --git a/docs/index.rst b/docs/index.rst index 52484a9ae..050eed9f5 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,122 +1,137 @@ -virtualenv -========== +############ + virtualenv +############ .. image:: https://img.shields.io/pypi/v/virtualenv?style=flat-square - :target: https://pypi.org/project/virtualenv/#history - :alt: Latest version on PyPI + :target: https://pypi.org/project/virtualenv/#history + :alt: Latest version on PyPI + .. image:: https://img.shields.io/pypi/implementation/virtualenv?style=flat-square - :alt: PyPI - Implementation + :alt: PyPI - Implementation + .. image:: https://img.shields.io/pypi/pyversions/virtualenv?style=flat-square - :alt: PyPI - Python Version + :alt: PyPI - Python Version + .. image:: https://readthedocs.org/projects/virtualenv/badge/?version=latest&style=flat-square - :target: https://virtualenv.pypa.io - :alt: Documentation status + :target: https://virtualenv.pypa.io + :alt: Documentation status + .. image:: https://img.shields.io/discord/803025117553754132 - :target: https://discord.gg/pypa - :alt: Discord + :target: https://discord.gg/pypa + :alt: Discord + .. image:: https://img.shields.io/pypi/dm/virtualenv?style=flat-square - :target: https://pypistats.org/packages/virtualenv - :alt: PyPI - Downloads + :target: https://pypistats.org/packages/virtualenv + :alt: PyPI - Downloads + .. image:: https://img.shields.io/pypi/l/virtualenv?style=flat-square - :target: https://opensource.org/licenses/MIT - :alt: PyPI - License + :target: https://opensource.org/licenses/MIT + :alt: PyPI - License + .. image:: https://img.shields.io/github/issues/pypa/virtualenv?style=flat-square - :target: https://github.com/pypa/virtualenv/issues - :alt: Open issues + :target: https://github.com/pypa/virtualenv/issues + :alt: Open issues + .. image:: https://img.shields.io/github/issues-pr/pypa/virtualenv?style=flat-square - :target: https://github.com/pypa/virtualenv/pulls - :alt: Open pull requests + :target: https://github.com/pypa/virtualenv/pulls + :alt: Open pull requests + .. image:: https://img.shields.io/github/stars/pypa/virtualenv?style=flat-square - :target: https://pypistats.org/packages/virtualenv - :alt: Package popularity + :target: https://pypistats.org/packages/virtualenv + :alt: Package popularity -``virtualenv`` is a tool to create isolated Python environments. +``virtualenv`` is a tool to create isolated Python environments. Since Python 3.3, a subset of it has been integrated +into the standard library under the ``venv`` module. For how ``virtualenv`` compares to the stdlib ``venv`` module, see +:doc:`explanation`. -virtualenv vs venv ------------------- +****************** + Quick navigation +****************** -Since Python ``3.3``, a subset of it has been -integrated into the standard library under the `venv module `_. The -``venv`` module does not offer all features of this library, to name just a few more prominent: +**Tutorials** - Learn by doing -- is slower (by not having the ``app-data`` seed method), -- is not as extendable, -- cannot create virtual environments for arbitrarily installed python versions (and automatically discover these), -- is not upgrade-able via `pip `_, -- does not have as rich programmatic API (describe virtual environments without creating them). +- :doc:`tutorial/getting-started` — Create your first virtual environment and learn the basic workflow -Concept and purpose of virtualenv ---------------------------------- +**How-to guides** - Solve specific problems -The basic problem being addressed is one of dependencies and versions, and indirectly permissions. -Imagine you have an application that needs version ``1`` of ``LibFoo``, but another application requires version -``2``. How can you use both these libraries? If you install everything into your host python (e.g. ``python3.8``) -it's easy to end up in a situation where two packages have conflicting requirements. +- :doc:`how-to/install` — Install virtualenv on your system +- :doc:`how-to/usage` — Select Python versions, activate environments, configure defaults, and use from Python code -Or more generally, what if you want to install an application *and leave it be*? If an application works, any change -in its libraries or the versions of those libraries can break the application. Also, what if you can't install packages -into the global ``site-packages`` directory, due to not having permissions to change the host python environment? +**Reference** - Technical information -In all these cases, ``virtualenv`` can help you. It creates an environment that has its own installation directories, -that doesn't share libraries with other virtualenv environments (and optionally doesn't access the globally installed -libraries either). +- :doc:`reference/compatibility` — Supported Python versions and operating systems +- :doc:`reference/cli` — Command line options and flags +- :doc:`reference/api` — Programmatic Python API reference +**Explanation** - Understand the concepts -Compatibility -------------- +- :doc:`explanation` — How virtualenv works under the hood and why it exists -With the release of virtualenv 20.22, April 2023, (`release note `__) target interpreters are now limited to Python v. 3.7+. +**Extensions** -Trying to use an earlier version will normally result in the target interpreter raising a syntax error. This virtualenv tool will then print some details about the exception and abort, ie no explicit warning about trying to use an outdated/incompatible version. It may look like this: +- :doc:`plugin/index` — Extend virtualenv with custom creators, seeders, and activators -.. code-block:: console +****************** + Related projects +****************** - $ virtualenv --discovery pyenv -p python3.6 foo - RuntimeError: failed to query /home/velle/.pyenv/versions/3.6.15/bin/python3.6 with code 1 err: ' File "/home/velle/.virtualenvs/toxrunner/lib/python3.12/site-packages/virtualenv/discovery/py_info.py", line 7 - from __future__ import annotations - ^ - SyntaxError: future feature annotations is not defined +Several tools build on virtualenv to provide higher-level workflows: +- `virtualenvwrapper `_ — Shell wrapper for creating and managing + multiple virtualenvs +- `pew `_ — Python Env Wrapper, a set of commands to manage multiple virtual + environments +- `tox `_ — Automate testing across multiple Python versions +- `nox `_ — Flexible test automation in Python -In tox, even if the interpreter is installed and available, the message is (somewhat misleading): +******************** + External resources +******************** -.. code-block:: console +Learn more about virtualenv from these community resources: - py36: skipped because could not find python interpreter with spec(s): py36 +- `Corey Schafer's virtualenv tutorial `_ — Video walkthrough for beginners +- `Bernat Gabor's status quo `_ — Talk about the current state of Python + packaging +- `Carl Meyer's reverse-engineering `_ — + Deep dive into how virtualenv works internally +.. toctree:: + :hidden: + :caption: Tutorial + tutorial/getting-started -Useful links ------------- +.. toctree:: + :hidden: + :caption: How-to guides -**Related projects, that build abstractions on top of virtualenv** + how-to/install + how-to/usage -* :pypi:`virtualenvwrapper` - a useful set of scripts for creating and deleting virtual environments -* :pypi:`pew` - provides a set of commands to manage multiple virtual environments -* :pypi:`tox` - a generic virtualenv management and test automation command line tool, driven by a ``tox.ini`` - configuration file -* :pypi:`nox` - a tool that automates testing in multiple Python environments, similar to tox, - driven by a ``noxfile.py`` configuration file +.. toctree:: + :hidden: + :caption: Reference -**Tutorials** + reference/compatibility + reference/cli + reference/api -* `Corey Schafer tutorial `_ on how to use it -* `Using virtualenv with mod_wsgi `_ +.. toctree:: + :hidden: + :caption: Explanation -**Presenting how the package works from within** + explanation -* `Bernat Gabor: status quo of virtual environments `_ -* `Carl Meyer: Reverse-engineering Ian Bicking's brain: inside pip and virtualenv - `_ +.. toctree:: + :hidden: + :caption: Extend -.. comment: split here + plugin/index .. toctree:: - :hidden: - - installation - user_guide - cli_interface - extend - development - changelog + :hidden: + :caption: Project + + development + changelog diff --git a/docs/installation.rst b/docs/installation.rst deleted file mode 100644 index b82d1dd19..000000000 --- a/docs/installation.rst +++ /dev/null @@ -1,124 +0,0 @@ -Installation -============ - -via pipx --------- - -:pypi:`virtualenv` is a CLI tool that needs a Python interpreter to run. If you already have a ``Python 3.7+`` -interpreter the best is to use :pypi:`pipx` to install virtualenv into an isolated environment. This has the added -benefit that later you'll be able to upgrade virtualenv without affecting other parts of the system. - -.. code-block:: console - - pipx install virtualenv - virtualenv --help - -via pip -------- - -Alternatively you can install it within the global Python interpreter itself (perhaps as a user package via the -``--user`` flag). Be cautious if you are using a python install that is managed by your operating system or -another package manager. ``pip`` might not coordinate with those tools, and may leave your system in an -inconsistent state. Note, if you go down this path you need to ensure pip is new enough per the subsections below: - -.. code-block:: console - - python -m pip install --user virtualenv - python -m virtualenv --help - -wheel -~~~~~ -Installing virtualenv via a wheel (default with pip) requires an installer that can understand the ``python-requires`` -tag (see `PEP-503 `_), with pip this is version ``9.0.0`` (released 2016 -November). Furthermore, in case you're not installing it via the PyPi you need to be using a mirror that correctly -forwards the ``python-requires`` tag (notably the OpenStack mirrors don't do this, or older -`devpi `_ versions - added with version ``4.7.0``). - -.. _sdist: - -sdist -~~~~~ -When installing via a source distribution you need an installer that handles the -`PEP-517 `_ specification. In case of ``pip`` this is version ``18.0.0`` or -later (released on 2018 July). If you cannot upgrade your pip to support this you need to ensure that the build -requirements from `pyproject.toml `_ are satisfied -before triggering the install. - -via zipapp ----------- - -You can use virtualenv without installing it too. We publish a Python -`zipapp `_, you can just download this from -`https://bootstrap.pypa.io/virtualenv.pyz `_ and invoke this package -with a python interpreter: - -.. code-block:: console - - python virtualenv.pyz --help - -The root level zipapp is always the current latest release. To get the last supported zipapp against a given python -minor release use the link ``https://bootstrap.pypa.io/virtualenv/x.y/virtualenv.pyz``, e.g. for the last virtualenv -supporting Python 3.11 use -`https://bootstrap.pypa.io/virtualenv/3.11/virtualenv.pyz `_. - -If you are looking for past version of virtualenv.pyz they are available here: - -.. code-block:: console - - https://github.com/pypa/get-virtualenv/blob//public//virtualenv.pyz?raw=true - -latest unreleased ------------------ -Installing an unreleased version is discouraged and should be only done for testing purposes. If you do so you'll need -a pip version of at least ``18.0.0`` and use the following command: - - -.. code-block:: console - - pip install git+https://github.com/pypa/virtualenv.git@main - -.. _compatibility-requirements: - -Python and OS Compatibility ---------------------------- - -virtualenv works with the following Python interpreter implementations: - -- `CPython `_: ``3.13 >= python_version >= 3.7`` -- `PyPy `_: ``3.10 >= python_version >= 3.7`` - -This means virtualenv works on the latest patch version of each of these minor versions. Previous patch versions are -supported on a best effort approach. - -CPython is shipped in multiple forms, and each OS repackages it, often applying some customization along the way. -Therefore we cannot say universally that we support all platforms, but rather specify some we test against. In case -of ones not specified here the support is unknown, though likely will work. If you find some cases please open a feature -request on our issue tracker. - -Note: - -- as of ``20.27.0`` -- ``2024-10-17`` -- we no longer support running under Python ``<=3.7``, -- as of ``20.18.0`` -- ``2023-02-06`` -- we no longer support running under Python ``<=3.6``, -- as of ``20.22.0`` -- ``2023-04-19`` -- we no longer support creating environments for Python ``<=3.6``. - -Linux -~~~~~ -- installations from `python.org `_ -- Ubuntu 16.04+ (both upstream and `deadsnakes `_ builds) -- Fedora -- RHEL and CentOS -- OpenSuse -- Arch Linux - -macOS -~~~~~ -In case of macOS we support: - -- installations from `python.org `_, -- python versions installed via `brew `_, -- Python 3 part of XCode (Python framework - ``/Library/Frameworks/Python3.framework/``). - -Windows -~~~~~~~ -- Installations from `python.org `_ -- Windows Store Python - note only `version 3.8+ `_ diff --git a/docs/plugin/api.rst b/docs/plugin/api.rst new file mode 100644 index 000000000..dee75e40e --- /dev/null +++ b/docs/plugin/api.rst @@ -0,0 +1,79 @@ +###################### + Plugin API reference +###################### + +This page documents the interfaces that plugins must implement. + +*********** + Discovery +*********** + +Discovery plugins locate Python interpreters for creating virtual environments. + +.. currentmodule:: virtualenv.discovery.discover + +.. autoclass:: Discover + :undoc-members: + :members: + +PythonInfo +========== + +Discovery plugins return a ``PythonInfo`` object describing the located interpreter. + +.. currentmodule:: virtualenv.discovery.py_info + +.. autoclass:: PythonInfo + :undoc-members: + :members: + +********** + App data +********** + +The application data interface used by plugins for caching. + +.. currentmodule:: virtualenv.app_data.base + +.. autoclass:: AppData + :members: + +********** + Creators +********** + +Creator plugins build the virtual environment directory structure and install the Python interpreter. + +.. currentmodule:: virtualenv.create.creator + +.. autoclass:: CreatorMeta + :members: + +.. autoclass:: Creator + :undoc-members: + :members: + :exclude-members: run, set_pyenv_cfg, debug_script, validate_dest, debug + +********* + Seeders +********* + +Seeder plugins install initial packages (like pip, setuptools, wheel) into the virtual environment. + +.. currentmodule:: virtualenv.seed.seeder + +.. autoclass:: Seeder + :undoc-members: + :members: + +************ + Activators +************ + +Activator plugins generate shell-specific activation scripts. + +.. currentmodule:: virtualenv.activation.activator + +.. autoclass:: Activator + :undoc-members: + :members: diff --git a/docs/plugin/architecture.rst b/docs/plugin/architecture.rst new file mode 100644 index 000000000..4ce911622 --- /dev/null +++ b/docs/plugin/architecture.rst @@ -0,0 +1,125 @@ +##################### + Plugin architecture +##################### + +This page explains how virtualenv's plugin system works internally. + +************** + Entry points +************** + +virtualenv uses Python entry points (``setuptools`` / ``importlib.metadata``) to discover plugins. Each plugin registers +under one of four entry point groups: + +- ``virtualenv.discovery`` +- ``virtualenv.create`` +- ``virtualenv.seed`` +- ``virtualenv.activate`` + +At startup, virtualenv loads all registered entry points from these groups and makes them available as CLI options. +Built-in implementations are registered in virtualenv's own ``pyproject.toml``, while third-party plugins register their +entry points in their own package metadata. + +When a package with virtualenv plugins is installed in the same environment as virtualenv, the plugins become +immediately available without additional configuration. + +****************** + Plugin lifecycle +****************** + +The following diagram shows how plugins are discovered and executed: + +.. mermaid:: + + sequenceDiagram + participant User + participant CLI + participant EntryPoints + participant Discovery + participant Creator + participant Seeder + participant Activator + + rect rgba(37, 99, 235, 0.15) + User->>CLI: virtualenv myenv + CLI->>EntryPoints: Load plugins from all groups + EntryPoints-->>CLI: Available plugins + CLI->>CLI: Build argument parser with plugin options + CLI->>User: Parse CLI arguments + User-->>CLI: Selected options + end + + rect rgba(22, 163, 106, 0.15) + CLI->>Discovery: Run selected discovery plugin + Discovery-->>CLI: PythonInfo + CLI->>Creator: Create environment with PythonInfo + Creator-->>CLI: Created environment + CLI->>Seeder: Seed packages into environment + Seeder-->>CLI: Seeded environment + CLI->>Activator: Generate activation scripts + Activator-->>CLI: Complete environment + end + +The lifecycle follows these stages: + +1. virtualenv starts and discovers all entry points from the four plugin groups +2. The CLI parser is built dynamically, incorporating options from all discovered plugins +3. User arguments are parsed to select which discovery, creator, seeder, and activator plugins to use +4. Selected plugins execute in sequence: discover → create → seed → activate +5. Each stage passes its output to the next stage + +************************ + Extension point design +************************ + +Each extension point follows a consistent pattern: + +Base abstract class + Each extension point defines a base abstract class (``Discover``, ``Creator``, ``Seeder``, ``Activator``) that + specifies the interface plugins must implement. + +Built-in implementations + virtualenv includes built-in implementations registered as entry points in its own ``pyproject.toml``. For example, + the built-in CPython creator is registered as ``cpython3-posix``. + +Third-party plugins + External packages implement the base interface and register their own entry points under the same group. When + installed, they appear alongside built-in options. + +CLI selection + Command-line flags (``--discovery``, ``--creator``, ``--seeder``, ``--activators``) allow users to select which + implementation to use. Multiple activators can be selected simultaneously. + +Parser integration + Each plugin can contribute CLI arguments through the ``add_parser_arguments`` classmethod. These arguments appear in + ``virtualenv --help`` and are available when the plugin is selected. + +********************** + How plugins interact +********************** + +Plugins execute in a pipeline where each stage depends on the previous one: + +Discovery → Creator + The discovery plugin produces a ``PythonInfo`` object describing the source Python interpreter. This object contains + metadata about the Python version, platform, paths, and capabilities. The creator plugin receives this + ``PythonInfo`` and uses it to determine how to build the virtual environment structure. + +Creator → Seeder + The creator plugin produces a ``Creator`` object representing the newly created virtual environment. This includes + paths to the environment's ``bin`` directory, site-packages, and Python executable. The seeder plugin uses these + paths to install packages. + +Seeder → Activator + After seeding completes, activator plugins use the ``Creator`` object to generate shell activation scripts. These + scripts reference the environment's bin directory and other paths to configure the shell environment. + +This pipeline ensures that each plugin has the information it needs from previous stages. The ``PythonInfo`` flows from +discovery to creator, and the ``Creator`` object flows from creator to both seeder and activators. + +Plugin isolation +================ + +Plugins within the same extension point do not interact with each other. Only one discovery and one creator plugin can +run per invocation, though multiple activators can run simultaneously. This isolation keeps plugins simple and focused +on their specific task. diff --git a/docs/plugin/how-to.rst b/docs/plugin/how-to.rst new file mode 100644 index 000000000..7c11a91f8 --- /dev/null +++ b/docs/plugin/how-to.rst @@ -0,0 +1,210 @@ +###################### + Plugin how-to guides +###################### + +This page provides task-oriented guides for creating each type of virtualenv plugin. + +*************************** + Create a discovery plugin +*************************** + +Discovery plugins locate Python interpreters. Register your plugin under the ``virtualenv.discovery`` entry point group. + +Implement the ``Discover`` interface: + +.. code-block:: python + + from virtualenv.discovery.discover import Discover + from virtualenv.discovery.py_info import PythonInfo + + + class CustomDiscovery(Discover): + @classmethod + def add_parser_arguments(cls, parser): + parser.add_argument("--custom-opt", help="custom discovery option") + + def __init__(self, options): + super().__init__(options) + self.custom_opt = options.custom_opt + + def run(self): + # Locate Python interpreter and return PythonInfo + python_exe = self._find_python() + return PythonInfo.from_exe(str(python_exe)) + + def _find_python(self): + # Implementation-specific logic + pass + +Register the entry point: + +.. code-block:: ini + + [virtualenv.discovery] + custom = your_package.discovery:CustomDiscovery + +************************* + Create a creator plugin +************************* + +Creator plugins build the virtual environment structure. Register under ``virtualenv.create``. + +Implement the ``Creator`` interface: + +.. code-block:: python + + from virtualenv.create.creator import Creator + + + class CustomCreator(Creator): + @classmethod + def add_parser_arguments(cls, parser, interpreter): + parser.add_argument("--custom-creator-opt", help="custom creator option") + + def __init__(self, options, interpreter): + super().__init__(options, interpreter) + self.custom_opt = options.custom_creator_opt + + def create(self): + # Create directory structure + self.bin_dir.mkdir(parents=True, exist_ok=True) + # Copy or symlink Python executable + self.install_python() + # Set up site-packages + self.install_site_packages() + # Write pyvenv.cfg + self.set_pyenv_cfg() + +Register the entry point using a naming pattern that matches platform and Python version: + +.. code-block:: ini + + [virtualenv.create] + cpython3-posix = virtualenv.create.via_global_ref.builtin.cpython.cpython3:CPython3Posix + cpython3-win = virtualenv.create.via_global_ref.builtin.cpython.cpython3:CPython3Windows + +************************ + Create a seeder plugin +************************ + +Seeder plugins install initial packages into the virtual environment. Register under ``virtualenv.seed``. + +Implement the ``Seeder`` interface: + +.. code-block:: python + + from virtualenv.seed.seeder import Seeder + + + class CustomSeeder(Seeder): + @classmethod + def add_parser_arguments(cls, parser, interpreter, app_data): + parser.add_argument("--custom-seed-opt", help="custom seeder option") + + def __init__(self, options, enabled, app_data): + super().__init__(options, enabled, app_data) + self.custom_opt = options.custom_seed_opt + + def run(self, creator): + # Install packages into creator.bin_dir / creator.script("pip") + self._install_packages(creator) + + def _install_packages(self, creator): + # Implementation-specific logic + pass + +Register the entry point: + +.. code-block:: ini + + [virtualenv.seed] + custom = your_package.seed:CustomSeeder + +**************************** + Create an activator plugin +**************************** + +Activator plugins generate shell activation scripts. Register under ``virtualenv.activate``. + +Implement the ``Activator`` interface: + +.. code-block:: python + + from virtualenv.activation.activator import Activator + + + class CustomShellActivator(Activator): + def generate(self, creator): + # Generate activation script content + script_content = self._render_template(creator) + # Write to activation directory + dest = creator.bin_dir / self.script_name + dest.write_text(script_content) + + def _render_template(self, creator): + # Return activation script content + return f""" + # Custom shell activation script + export VIRTUAL_ENV="{creator.dest}" + export PATH="{creator.bin_dir}:$PATH" + """ + + @property + def script_name(self): + return "activate.custom" + +Register the entry point: + +.. code-block:: ini + + [virtualenv.activate] + bash = virtualenv.activation.bash:BashActivator + fish = virtualenv.activation.fish:FishActivator + custom = your_package.activation:CustomShellActivator + +********************************* + Package and distribute a plugin +********************************* + +Use ``pyproject.toml`` to declare entry points: + +.. code-block:: toml + + [project] + name = "virtualenv-custom-plugin" + version = "1.0.0" + dependencies = ["virtualenv>=20.0.0"] + + [project.entry-points."virtualenv.discovery"] + custom = "virtualenv_custom.discovery:CustomDiscovery" + + [project.entry-points."virtualenv.create"] + custom-posix = "virtualenv_custom.creator:CustomCreator" + + [project.entry-points."virtualenv.seed"] + custom = "virtualenv_custom.seeder:CustomSeeder" + + [project.entry-points."virtualenv.activate"] + custom = "virtualenv_custom.activator:CustomActivator" + + [build-system] + requires = ["setuptools>=61"] + build-backend = "setuptools.build_meta" + +Install your plugin alongside virtualenv: + +.. code-block:: console + + $ pip install virtualenv-custom-plugin + +Or in development mode: + +.. code-block:: console + + $ pip install -e /path/to/virtualenv-custom-plugin + +Test your plugin by creating a virtual environment: + +.. code-block:: console + + $ virtualenv --discovery=custom --creator=custom-posix --seeder=custom --activators=custom test-env diff --git a/docs/plugin/index.rst b/docs/plugin/index.rst new file mode 100644 index 000000000..79b39f952 --- /dev/null +++ b/docs/plugin/index.rst @@ -0,0 +1,39 @@ +######### + Plugins +######### + +virtualenv can be extended via plugins using Python entry points. Plugins are automatically discovered from the Python +environment where virtualenv is installed, allowing you to customize how virtual environments are created, seeded, and +activated. + +****************** + Extension points +****************** + +virtualenv provides four extension points through entry point groups: + +``virtualenv.discovery`` + Python interpreter discovery plugins. These plugins locate and identify Python interpreters that will be used as the + base for creating virtual environments. + +``virtualenv.create`` + Virtual environment creator plugins. These plugins handle the actual creation of the virtual environment structure, + including copying or symlinking the Python interpreter and standard library. + +``virtualenv.seed`` + Seed package installer plugins. These plugins install initial packages (like pip, setuptools, wheel) into newly + created virtual environments. + +``virtualenv.activate`` + Shell activation script plugins. These plugins generate shell-specific activation scripts that modify the + environment to use the virtual environment. + +All extension points follow a common pattern: virtualenv discovers registered entry points, builds CLI options from +them, and executes the selected implementations during environment creation. + +.. toctree:: + + tutorial + how-to + api + architecture diff --git a/docs/plugin/tutorial.rst b/docs/plugin/tutorial.rst new file mode 100644 index 000000000..abe20488d --- /dev/null +++ b/docs/plugin/tutorial.rst @@ -0,0 +1,116 @@ +################### + Your first plugin +################### + +This tutorial walks through creating a simple discovery plugin that locates Python interpreters managed by pyenv. + +****************************** + Create the package structure +****************************** + +Set up a new Python package with the following structure: + +.. code-block:: text + + virtualenv-pyenv/ + ├── pyproject.toml + └── src/ + └── virtualenv_pyenv/ + └── __init__.py + +*************************** + Configure the entry point +*************************** + +In ``pyproject.toml``, declare your plugin as an entry point under the ``virtualenv.discovery`` group: + +.. code-block:: toml + + [project] + name = "virtualenv-pyenv" + version = "0.1.0" + dependencies = ["virtualenv>=20"] + + [project.entry-points."virtualenv.discovery"] + pyenv = "virtualenv_pyenv:PyEnvDiscovery" + + [build-system] + requires = ["setuptools>=61"] + build-backend = "setuptools.build_meta" + +********************** + Implement the plugin +********************** + +In ``src/virtualenv_pyenv/__init__.py``, implement the discovery plugin by subclassing ``Discover``: + +.. code-block:: python + + from __future__ import annotations + + import subprocess + from pathlib import Path + + from virtualenv.discovery.discover import Discover + from virtualenv.discovery.py_info import PythonInfo + + + class PyEnvDiscovery(Discover): + def __init__(self, options): + super().__init__(options) + self.python_spec = options.python if options.python else "python" + + @classmethod + def add_parser_arguments(cls, parser): + parser.add_argument( + "--python", + dest="python", + metavar="py", + type=str, + default=None, + help="pyenv Python version to use (e.g., 3.11.0)", + ) + + def run(self): + try: + result = subprocess.run( + ["pyenv", "which", "python"], + capture_output=True, + text=True, + check=True, + ) + python_path = Path(result.stdout.strip()) + return PythonInfo.from_exe(str(python_path)) + except (subprocess.CalledProcessError, FileNotFoundError) as e: + raise RuntimeError(f"Failed to locate pyenv Python: {e}") + +******************** + Install the plugin +******************** + +Install your plugin in development mode alongside virtualenv: + +.. code-block:: console + + $ pip install -e virtualenv-pyenv/ + +******************* + Verify the plugin +******************* + +Check that virtualenv recognizes your plugin by running: + +.. code-block:: console + + $ virtualenv --discovery help + +The output should list ``pyenv`` as an available discovery mechanism. You can now use it: + +.. code-block:: console + + $ virtualenv --discovery=pyenv myenv + created virtual environment CPython3.11.0.final.0-64 in 234ms + creator CPython3Posix(dest=/path/to/myenv, clear=False, no_vcs_ignore=False, global=False) + seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/path) + added seed packages: pip==23.0, setuptools==65.5.0, wheel==0.38.4 + activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator diff --git a/docs/reference/api.rst b/docs/reference/api.rst new file mode 100644 index 000000000..30a5f6cf9 --- /dev/null +++ b/docs/reference/api.rst @@ -0,0 +1,40 @@ +.. _programmatic_api: + +######## + Python +######## + +The primary interface to ``virtualenv`` is the command line application. However, it can also be used programmatically +via the ``virtualenv.cli_run`` function and the ``Session`` class. + +See :doc:`../how-to/usage` for usage examples. + +******************* + virtualenv module +******************* + +.. automodule:: virtualenv + :members: + +*************** + Session class +*************** + +The ``Session`` class represents a virtualenv creation session and provides access to the created environment's +properties. + +.. currentmodule:: virtualenv.run.session + +.. autoclass:: Session + :members: + +******************* + VirtualEnvOptions +******************* + +Options namespace passed to plugin constructors, populated from the CLI, environment variables, and configuration files. + +.. currentmodule:: virtualenv.config.cli.parser + +.. autoclass:: VirtualEnvOptions + :members: diff --git a/docs/reference/cli.rst b/docs/reference/cli.rst new file mode 100644 index 000000000..bd7f889b5 --- /dev/null +++ b/docs/reference/cli.rst @@ -0,0 +1,18 @@ +############## + Command line +############## + +``virtualenv`` is primarily a command line application. All options have sensible defaults, and there is one required +argument: the name or path of the virtual environment to create. + +See :doc:`../how-to/usage` for how to select Python versions, configure defaults, and use environment variables. + +********************** + Command line options +********************** + +:command:`virtualenv [OPTIONS]` + +.. table_cli:: + :module: virtualenv.run + :func: build_parser_only diff --git a/docs/reference/compatibility.rst b/docs/reference/compatibility.rst new file mode 100644 index 000000000..0aef19f4c --- /dev/null +++ b/docs/reference/compatibility.rst @@ -0,0 +1,89 @@ +.. _compatibility-requirements: + +############### + Compatibility +############### + +********************************** + Supported Python implementations +********************************** + +``virtualenv`` works with the following Python interpreter implementations. Only the latest patch version of each minor +version is fully supported; previous patch versions work on a best effort basis. + +CPython +======= + +``3.14 >= python_version >= 3.8`` + +PyPy +==== + +``3.11 >= python_version >= 3.8`` + +GraalPy +======= + +``24.1`` and later (Linux and macOS only). + +**************** + Support policy +**************** + +- **New versions** are added close to their release date, typically during the beta phase. +- **Old versions** are dropped 18 months after `CPython EOL `_, giving users + plenty of time to migrate. + +************************** + Version support timeline +************************** + +Major version support changes: + +- **20.27.0** (2024-10-17): dropped support for running under Python 3.7 and earlier. +- **20.22.0** (2023-04-19): dropped support for creating environments for Python 3.6 and earlier. +- **20.18.0** (2023-02-06): dropped support for running under Python 3.6 and earlier. + +***************************** + Supported operating systems +***************************** + +CPython is shipped in multiple forms, and each OS repackages it, often applying some customization. The platforms listed +below are tested. Unlisted platforms may work but are not explicitly supported. If you encounter issues on unlisted +platforms, please open a feature request. + +Cross-platform +============== + +These Python distributions work on Linux, macOS, and Windows: + +- Installations from `python.org `_ +- `python-build-standalone `_ builds (used by `uv + `_ and `mise `_) + +Linux +===== + +- Ubuntu 16.04 and later (both upstream and `deadsnakes `_ + builds) +- Fedora +- RHEL and CentOS +- OpenSuse +- Arch Linux + +macOS +===== + +- Python versions installed via `Homebrew `_ (works, but `not recommended + `_ -- Homebrew may upgrade or remove Python versions + without warning, breaking existing virtual environments) +- Python 3 part of XCode (Python framework builds at ``/Library/Frameworks/Python3.framework/``) + +.. note:: + + Framework builds do not support copy-based virtual environments. Use symlink or hardlink creation methods instead. + +Windows +======= + +- `Windows Store `_ Python 3.8 and later diff --git a/docs/tutorial/getting-started.rst b/docs/tutorial/getting-started.rst new file mode 100644 index 000000000..82d04953f --- /dev/null +++ b/docs/tutorial/getting-started.rst @@ -0,0 +1,242 @@ +################# + Getting started +################# + +This tutorial will teach you the basics of virtualenv through hands-on practice. You'll create your first virtual +environment, install packages, and learn how to manage project dependencies. + +*************** + Prerequisites +*************** + +Before starting this tutorial, you need: + +- Python 3.8 or later installed on your system. +- virtualenv installed (see :doc:`../how-to/install`). + +*************************************** + Create your first virtual environment +*************************************** + +Let's create a virtual environment called ``myproject``: + +.. code-block:: console + + $ virtualenv myproject + created virtual environment CPython3.13.2.final.0-64 in 200ms + creator CPython3Posix(dest=/home/user/myproject, clear=False, no_vcs_ignore=False, global=False) + seeder FromAppData(download=False, pip=bundle, setuptools=bundle, via=copy, app_data_dir=/home/user/.cache/virtualenv) + activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator + +This creates a new directory called ``myproject`` containing a complete, isolated Python environment with its own copy +of Python, pip, and other tools. + +************************** + Activate the environment +************************** + +To use your virtual environment, you can activate it. The activation command differs by platform: + +.. tab:: Linux/macOS + + .. code-block:: console + + $ source myproject/bin/activate + +.. tab:: Windows (PowerShell) + + .. code-block:: console + + PS> .\myproject\Scripts\Activate.ps1 + +.. tab:: Windows (CMD) + + .. code-block:: console + + C:\> .\myproject\Scripts\activate.bat + +After activation, your prompt changes to show the active environment: + +.. code-block:: console + + (myproject) $ + +You can verify that Python is now running from inside the virtual environment: + +.. tab:: Linux/macOS + + .. code-block:: console + + (myproject) $ which python + /home/user/myproject/bin/python + +.. tab:: Windows (PowerShell) + + .. code-block:: console + + (myproject) PS> where.exe python + C:\Users\user\myproject\Scripts\python.exe + +.. tab:: Windows (CMD) + + .. code-block:: console + + (myproject) C:\> where.exe python + C:\Users\user\myproject\Scripts\python.exe + +******************* + Install a package +******************* + +With the environment activated, install a package using pip: + +.. code-block:: console + + (myproject) $ pip install requests + Collecting requests + Using cached requests-2.32.3-py3-none-any.whl (64 kB) + Installing collected packages: requests + Successfully installed requests-2.32.3 + +Verify that the package is installed only inside your virtual environment: + +.. code-block:: console + + (myproject) $ python -c "import requests; print(requests.__file__)" + /home/user/myproject/lib/python3.13/site-packages/requests/__init__.py + +The path shows that ``requests`` is installed in the virtual environment, not in your system Python. + +************ + Deactivate +************ + +When you're done working in the virtual environment, deactivate it: + +.. code-block:: console + + (myproject) $ deactivate + $ + +The prompt returns to normal, and Python commands now use your system Python again. + +************************ + Use without activation +************************ + +Activation is a convenience, not a requirement. You can run any executable from the virtual environment directly by +using its full path: + +.. tab:: Linux/macOS + + .. code-block:: console + + $ myproject/bin/python -c "import sys; print(sys.prefix)" + /home/user/myproject + + $ myproject/bin/pip install httpx + +.. tab:: Windows (PowerShell) + + .. code-block:: console + + PS> .\myproject\Scripts\python.exe -c "import sys; print(sys.prefix)" + C:\Users\user\myproject + + PS> .\myproject\Scripts\pip.exe install httpx + +.. tab:: Windows (CMD) + + .. code-block:: console + + C:\> .\myproject\Scripts\python.exe -c "import sys; print(sys.prefix)" + C:\Users\user\myproject + + C:\> .\myproject\Scripts\pip.exe install httpx + +This is especially useful in scripts, CI pipelines, and automation where modifying the shell environment is unnecessary. + +*********************** + Set up a real project +*********************** + +Now let's apply what you've learned to a real project workflow: + +.. code-block:: console + + $ mkdir myapp && cd myapp + $ virtualenv venv + $ source venv/bin/activate # or use the appropriate command for your platform + (venv) $ pip install flask requests + (venv) $ pip freeze > requirements.txt + +The ``requirements.txt`` file now contains your project's dependencies: + +.. code-block:: text + + blinker==1.9.0 + certifi==2025.1.31 + charset-normalizer==3.4.1 + click==8.1.8 + flask==3.1.0 + idna==3.10 + itsdangerous==2.2.0 + Jinja2==3.1.5 + MarkupSafe==3.0.2 + requests==2.32.3 + urllib3==2.3.0 + werkzeug==3.1.3 + +This file lets you recreate the exact environment later. Let's test this: + +.. code-block:: console + + (venv) $ deactivate + $ rm -rf venv + $ virtualenv venv + $ source venv/bin/activate + (venv) $ pip install -r requirements.txt + +All packages are reinstalled exactly as before. Here's the complete workflow: + +.. mermaid:: + + graph TD + A[Create virtual environment] --> B[Activate] + B --> C[Install packages] + C --> D[Freeze to requirements.txt] + D --> E[Deactivate & clean up] + E --> F[Recreate virtual environment] + F --> G[Install from requirements.txt] + G --> H[Ready to work] + + style A fill:#2563eb,stroke:#1d4ed8,color:#fff + style B fill:#6366f1,stroke:#4f46e5,color:#fff + style C fill:#6366f1,stroke:#4f46e5,color:#fff + style D fill:#6366f1,stroke:#4f46e5,color:#fff + style E fill:#d97706,stroke:#b45309,color:#fff + style F fill:#6366f1,stroke:#4f46e5,color:#fff + style G fill:#6366f1,stroke:#4f46e5,color:#fff + style H fill:#16a34a,stroke:#15803d,color:#fff + +****************** + What you learned +****************** + +In this tutorial, you learned how to: + +- Create a virtual environment with ``virtualenv``. +- Activate and deactivate virtual environments on different platforms. +- Install packages in isolation from your system Python. +- Save project dependencies with ``pip freeze``. +- Reproduce environments using ``requirements.txt``. + +************ + Next steps +************ + +Now that you understand the basics, explore these topics: + +- :doc:`../how-to/usage` for selecting specific Python versions, configuring defaults, and advanced usage patterns. +- :doc:`../explanation` for understanding how virtualenv works under the hood and how it compares to ``venv``. +- :doc:`../reference/cli` for all available command line options and flags. diff --git a/docs/user_guide.rst b/docs/user_guide.rst deleted file mode 100644 index 82cc235b1..000000000 --- a/docs/user_guide.rst +++ /dev/null @@ -1,311 +0,0 @@ -User Guide -========== - -Quick start ------------ -Create the environment (creates a folder in your current directory) - .. code-block:: console - - virtualenv env_name -In Linux or Mac, activate the new python environment - .. code-block:: console - - source env_name/bin/activate -Or in Windows - .. code-block:: console - - .\env_name\Scripts\activate -Confirm that the env is successfully selected - .. code-block:: console - - which python3 - - -Introduction ------------- - -Virtualenv has one basic command: - -.. code-block:: console - - virtualenv venv - -.. note:: - - When creating a virtual environment, it's recommended to use a specific Python version, for example, by invoking - virtualenv with ``python3.10 -m virtualenv venv``. If you use a generic command like ``python3 -m virtualenv venv``, - the created environment will be linked to ``/usr/bin/python3``. This can be problematic because when a new Python - version is installed on the system, the ``/usr/bin/python3`` symlink will likely be updated to point to the new - version. This will cause the virtual environment to inadvertently use the new Python version, which is often not the - desired behavior. Using a specific version ensures that the virtual environment is tied to that exact version, - providing stability and predictability. - -This will create a python virtual environment of the same version as virtualenv, installed into the subdirectory -``venv``. The command line tool has quite a few of flags that modify the tool's behavior, for a -full list make sure to check out :ref:`cli_flags`. - -The tool works in two phases: - -- **Phase 1** discovers a python interpreter to create a virtual environment from (by default this is the same python - as the one ``virtualenv`` is running from, however we can change this via the :option:`p` option). -- **Phase 2** creates a virtual environment at the specified destination (:option:`dest`), this can be broken down into - four further sub-steps: - - - create a python that matches the target python interpreter from phase 1, - - install (bootstrap) seed packages (one or more of :pypi:`pip`, :pypi:`setuptools`, :pypi:`wheel`) in the created - virtual environment, - - install activation scripts into the binary directory of the virtual environment (these will allow end users to - *activate* the virtual environment from various shells). - - create files that mark the virtual environment as to be ignored by version control systems (currently we support - Git only, as Mercurial, Bazaar or SVN do not support ignore files in subdirectories). This step can be skipped - with the :option:`no-vcs-ignore` option. - - -The python in your new virtualenv is effectively isolated from the python that was used to create it. - -Python discovery ----------------- - -The first thing we need to be able to create a virtual environment is a python interpreter. This will describe to the -tool what type of virtual environment you would like to create, think of it as: version, architecture, implementation. - -``virtualenv`` being a python application has always at least one such available, the one ``virtualenv`` itself is -using, and as such this is the default discovered element. This means that if you install ``virtualenv`` under -python ``3.8``, virtualenv will by default create virtual environments that are also of version ``3.8``. - -Created python virtual environments are usually not self-contained. A complete python packaging is usually made up of -thousands of files, so it's not efficient to install the entire python again into a new folder. Instead virtual -environments are mere shells, that contain little within themselves, and borrow most from the system python (this is what -you installed, when you installed python itself). This does mean that if you upgrade your system python your virtual -environments *might* break, so watch out. The upside of this, referring to the system python, is that creating virtual -environments can be fast. - -Here we'll describe the built-in mechanism (note this can be extended though by plugins). The CLI flag :option:`p` or -:option:`python` allows you to specify a python specifier for what type of virtual environment you would like, the -format is either: - -- a relative/absolute path to a Python interpreter, - -- a specifier identifying the Python implementation, version, architecture in the following format: - - .. code-block:: - - {python implementation name}{version}{architecture} - - We have the following restrictions: - - - the python implementation is all alphabetic characters (``python`` means any implementation, and if is missing it - defaults to ``python``), - - the version is a dot separated version number optionally followed by ``t`` for free-threading, - - the architecture is either ``-64`` or ``-32`` (missing means ``any``). - - For example: - - - ``python3.8.1`` means any python implementation having the version ``3.8.1``, - - ``3`` means any python implementation having the major version ``3``, - - ``3.13t`` means any python implementation having the version ``3.13`` with free threading, - - ``cpython3`` means a ``CPython`` implementation having the version ``3``, - - ``pypy2`` means a python interpreter with the ``PyPy`` implementation and major version ``2``. - - Given the specifier ``virtualenv`` will apply the following strategy to discover/find the system executable: - - - If we're on Windows look into the Windows registry, and check if we see any registered Python implementations that - match the specification. This is in line with expectation laid out inside - `PEP-514 `_ - - If `uv-managed `_ Python installations are available, use the - first one that matches the specification. - - Try to discover a matching python executable within the folders enumerated on the ``PATH`` environment variable. - In this case we'll try to find an executable that has a name roughly similar to the specification (for exact logic, - please see the implementation code). - -.. warning:: - - As detailed above, virtual environments usually just borrow things from the system Python, they don't actually contain - all the data from the system Python. The version of the python executable is hardcoded within the python exe itself. - Therefore, if you upgrade your system Python, your virtual environment will still report the version before the - upgrade, even though now other than the executable all additional content (standard library, binary libs, etc) are - of the new version. - - Barring any major incompatibilities (rarely the case) the virtual environment will continue working, but other than - the content embedded within the python executable it will behave like the upgraded version. If such a virtual - environment python is specified as the target python interpreter, we will create virtual environments that match the - new system Python version, not the version reported by the virtual environment. - -Creators --------- - -These are what actually setup the virtual environment, usually as a reference against the system python. virtualenv -at the moment has two types of virtual environments: - -- ``venv`` - this delegates the creation process towards the ``venv`` module, as described in - `PEP 405 `_. This is only available on Python interpreters having version - ``3.5`` or later, and also has the downside that virtualenv **must** create a process to invoke that module (unless - virtualenv is installed in the system python), which can be an expensive operation (especially true on Windows). - -- ``builtin`` - this means ``virtualenv`` is able to do the creation operation itself (by knowing exactly what files to - create and what system files need to be referenced). The creator with name ``builtin`` is an alias on the first - creator that's of this type (we provide creators for various target environments, that all differ in actual create - operations, such as CPython 2 on Windows, PyPy2 on Windows, CPython3 on Posix, PyPy3 on Posix, and so on; for a full - list see :option:`creator`). - -Seeders -------- -These will install for you some seed packages (one or more of: :pypi:`pip`, :pypi:`setuptools`, :pypi:`wheel`) that -enables you to install additional python packages into the created virtual environment (by invoking pip). Installing -:pypi:`setuptools` is disabled by default on Python 3.12+ environments. :pypi:`wheel` is only installed on Python 3.8, by default. There are two main seed mechanisms available: - -- ``pip`` - this method uses the bundled pip with virtualenv to install the seed packages (note, a new child process - needs to be created to do this, which can be expensive especially on Windows). -- ``app-data`` - this method uses the user application data directory to create install images. These images are needed - to be created only once, and subsequent virtual environments can just link/copy those images into their pure python - library path (the ``site-packages`` folder). This allows all but the first virtual environment creation to be blazing - fast (a ``pip`` mechanism takes usually 98% of the virtualenv creation time, so by creating this install image that - we can just link into the virtual environments install directory we can achieve speedups of shaving the initial - 1 minute and 10 seconds down to just 8 seconds in case of a copy, or ``0.8`` seconds in case symlinks are available - - this is on Windows, Linux/macOS with symlinks this can be as low as ``100ms`` from 3+ seconds). - To override the filesystem location of the seed cache, one can use the - ``VIRTUALENV_OVERRIDE_APP_DATA`` environment variable. - -.. _wheels: - -Wheels -~~~~~~ - -To install a seed package via either ``pip`` or ``app-data`` method virtualenv needs to acquire a wheel of the target -package. These wheels may be acquired from multiple locations as follows: - -- ``virtualenv`` ships out of box with a set of embed ``wheels`` for all three seed packages (:pypi:`pip`, - :pypi:`setuptools`, :pypi:`wheel`). These are packaged together with the virtualenv source files, and only change upon - upgrading virtualenv. Different Python versions require different versions of these, and because virtualenv supports a - wide range of Python versions, the number of embedded wheels out of box is greater than 3. Whenever newer versions of - these embedded packages are released upstream ``virtualenv`` project upgrades them, and does a new release. Therefore, - upgrading virtualenv periodically will also upgrade the version of the seed packages. -- However, end users might not be able to upgrade virtualenv at the same speed as we do new releases. Therefore, a user - might request to upgrade the list of embedded wheels by invoking virtualenv with the :option:`upgrade-embed-wheels` - flag. If the operation is triggered in such a manual way subsequent runs of virtualenv will always use the upgraded - embed wheels. - - The operation can trigger automatically too, as a background process upon invocation of virtualenv, if no such upgrade - has been performed in the last 14 days. It will only start using automatically upgraded wheel if they have been - released for more than 28 days, and the automatic upgrade finished at least an hour ago: - - - the 28 days period should guarantee end users are not pulling in automatically releases that have known bugs within, - - the one hour period after the automatic upgrade finished is implemented so that continuous integration services do - not start using a new embedded versions half way through. - - - The automatic behavior might be disabled via the :option:`no-periodic-update` configuration flag/option. To acquire - the release date of a package virtualenv will perform the following: - - - lookup ``https://pypi.org/pypi//json`` (primary truth source), - - save the date the version was first discovered, and wait until 28 days passed. -- Users can specify a set of local paths containing additional wheels by using the :option:`extra-search-dir` command - line argument flag. - -When searching for a wheel to use virtualenv performs lookup in the following order: - -- embedded wheels, -- upgraded embedded wheels, -- extra search dir. - -Bundled wheels are all three above together. If neither of the locations contain the requested wheel version or -:option:`download` option is set will use ``pip`` download to load the latest version available from the index server. - -.. _distribution_wheels: - -Embed wheels for distributions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Custom distributions often want to use their own set of wheel versions to distribute instead of the one virtualenv -releases on PyPi. The reason for this is trying to keep the system versions of those packages in sync with what -virtualenv uses. In such cases they should patch the module `virtualenv.seed.wheels.embed -`_, making sure to provide the function -``get_embed_wheel`` (which returns the wheel to use given a distribution/python version). The ``BUNDLE_FOLDER``, -``BUNDLE_SUPPORT`` and ``MAX`` variables are needed if they want to use virtualenv's test suite to validate. - -Furthermore, they might want to disable the periodic update by patching the -`virtualenv.seed.embed.base_embed.PERIODIC_UPDATE_ON_BY_DEFAULT -`_ -to ``False``, and letting the system update mechanism to handle this. Note in this case the user might still request an -upgrade of the embedded wheels by invoking virtualenv via :option:`upgrade-embed-wheels`, but no longer happens -automatically, and will not alter the OS provided wheels. - -Activators ----------- -These are activation scripts that will mangle with your shell's settings to ensure that commands from within the python -virtual environment take priority over your system paths. For example, if invoking ``pip`` from your shell returned the -system python's pip before activation, once you do the activation this should refer to the virtual environments ``pip``. -Note, though that all we do is change priority; so, if your virtual environments ``bin``/``Scripts`` folder does not -contain some executable, this will still resolve to the same executable it would have resolved before the activation. - -For a list of shells we provide activators see :option:`activators`. The location of these is right alongside the Python -executables: usually ``Scripts`` folder on Windows, ``bin`` on POSIX. They are called ``activate``, plus an -extension that's specific per activator, with no extension for Bash. You can invoke them, usually by source-ing them. -The source command might vary by shell - e.g. on Bash it’s ``source`` (or ``.``): - -.. code-block:: console - - source venv/bin/activate - -The activate script prepends the virtual environment’s binary folder onto the ``PATH`` environment variable. It’s -really just convenience for doing so, since you could do the same yourself. - -Note that you don't have to activate a virtual environment to use it. You can instead use the full paths to its -executables, rather than relying on your shell to resolve them to your virtual environment. - -Activator scripts also modify your shell prompt to indicate which environment is currently active, by prepending the -environment name (or the name specified by ``--prompt`` when initially creating the environment) in brackets, like -``(venv)``. You can disable this behavior by setting the environment variable ``VIRTUAL_ENV_DISABLE_PROMPT`` to any -value. You can also get the environment name via the environment variable ``VIRTUAL_ENV_PROMPT`` if you want to -customize your prompt, for example. - -The scripts also provision a ``deactivate`` command that will allow you to undo the operation: - -.. code-block:: console - - deactivate - -.. note:: - - If using Powershell, the ``activate`` script is subject to the - `execution policies `_ on the system. By default, Windows - 7 and later, the system's execution policy is set to ``Restricted``, meaning no scripts like the ``activate`` script - are allowed to be executed. - - However, that can't stop us from changing that slightly to allow it to be executed. You may relax the system - execution policy to allow running of local scripts without verifying the code signature using the following: - - .. code-block:: powershell - - Set-ExecutionPolicy RemoteSigned - - Since the ``activate.ps1`` script is generated locally for each virtualenv, it is not considered a remote script and - can then be executed. - -A longer explanation of this can be found within Allison Kaptur's 2013 blog post: `There's no magic: virtualenv -edition `_ explains how virtualenv uses bash and -Python and ``PATH`` and ``PYTHONHOME`` to isolate virtual environments' paths. - -.. _programmatic_api: - -Programmatic API ----------------- - -At the moment ``virtualenv`` offers only CLI level interface. If you want to trigger invocation of Python environments -from within Python you should be using the ``virtualenv.cli_run`` method; this takes an ``args`` argument where you can -pass the options the same way you would from the command line. The run will return a session object containing data -about the created virtual environment. - -.. code-block:: python - - from virtualenv import cli_run - - cli_run(["venv"]) - -.. automodule:: virtualenv - :members: - -.. currentmodule:: virtualenv.run.session - -.. autoclass:: Session - :members: diff --git a/pyproject.toml b/pyproject.toml index dc44456ec..f661e3174 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,9 +53,14 @@ dependencies = [ ] optional-dependencies.docs = [ "furo>=2023.7.26", + "pre-commit-uv>=4.1.4", "proselint>=0.13", "sphinx>=7.1.2,!=7.3", "sphinx-argparse>=0.4", + "sphinx-autodoc-typehints>=3.6.2", + "sphinx-copybutton>=0.5.2", + "sphinx-inline-tabs>=2025.12.21.14", + "sphinxcontrib-mermaid>=2", "sphinxcontrib-towncrier>=0.2.1a0", "towncrier>=23.6", ] @@ -127,9 +132,15 @@ lint.ignore = [ "CPY", # No copyright header "D10", # no docstrings "D40", # no imperative mode for docstrings + "D200", # fits on one line - conflicts with docstrfmt "D203", # `one-blank-line-before-class` (D203) and `no-blank-line-before-class` (D211) are incompatible + "D205", # 1 blank line required between summary and description - conflicts with docstrfmt + "D209", # multi-line docstring closing quotes - conflicts with docstrfmt "D212", # `multi-line-summary-first-line` (D212) and `multi-line-summary-second-line` (D213) are incompatible + "D213", # multi-line-summary-second-line - conflicts with docstrfmt + "D301", # use r if any backslashes - conflicts with docstrfmt "DOC", # no restructuredtext support + "E501", # line too long - handled by ruff format and docstrfmt "INP001", # ignore implicit namespace packages "ISC001", # conflict with formatter "PLR0914", # Too many local variables @@ -211,3 +222,4 @@ directory = "docs/changelog" title_format = false issue_format = ":issue:`{issue}`" template = "docs/changelog/template.jinja2" +underlines = [ "*", "=", "-" ] diff --git a/src/virtualenv/__main__.py b/src/virtualenv/__main__.py index 49f59da38..c36e5cba6 100644 --- a/src/virtualenv/__main__.py +++ b/src/virtualenv/__main__.py @@ -18,7 +18,7 @@ def run(args=None, options=None, env=None): if args is None: args = sys.argv[1:] try: - session = cli_run(args, options, env) + session = cli_run(args, options, env=env) LOGGER.warning(LogSession(session, start)) except ProcessCallFailedError as exception: print(f"subprocess call failed for {exception.cmd} with code {exception.code}") # noqa: T201 diff --git a/src/virtualenv/activation/activator.py b/src/virtualenv/activation/activator.py index dd404b47c..8fc29c8b6 100644 --- a/src/virtualenv/activation/activator.py +++ b/src/virtualenv/activation/activator.py @@ -2,45 +2,55 @@ import os from abc import ABC, abstractmethod +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from argparse import ArgumentParser + from pathlib import Path + + from virtualenv.config.cli.parser import VirtualEnvOptions + from virtualenv.create.creator import Creator + from virtualenv.discovery.py_info import PythonInfo class Activator(ABC): """Generates activate script for the virtual environment.""" - def __init__(self, options) -> None: - """ - Create a new activator generator. + def __init__(self, options: VirtualEnvOptions) -> None: + """Create a new activator generator. :param options: the parsed options as defined within :meth:`add_parser_arguments` + """ self.flag_prompt = os.path.basename(os.getcwd()) if options.prompt == "." else options.prompt @classmethod - def supports(cls, interpreter): # noqa: ARG003 - """ - Check if the activation script is supported in the given interpreter. + def supports(cls, interpreter: PythonInfo) -> bool: # noqa: ARG003 + """Check if the activation script is supported in the given interpreter. :param interpreter: the interpreter we need to support - :return: ``True`` if supported, ``False`` otherwise + + :returns: ``True`` if supported, ``False`` otherwise + """ return True @classmethod # noqa: B027 - def add_parser_arguments(cls, parser, interpreter): - """ - Add CLI arguments for this activation script. + def add_parser_arguments(cls, parser: ArgumentParser, interpreter: PythonInfo) -> None: + """Add CLI arguments for this activation script. :param parser: the CLI parser :param interpreter: the interpreter this virtual environment is based of + """ @abstractmethod - def generate(self, creator): - """ - Generate activate script for the given creator. + def generate(self, creator: Creator) -> list[Path]: + """Generate activate script for the given creator. + + :param creator: the creator (based of :class:`virtualenv.create.creator.Creator`) we used to create this virtual + environment - :param creator: the creator (based of :class:`virtualenv.create.creator.Creator`) we used to create this \ - virtual environment """ raise NotImplementedError diff --git a/src/virtualenv/activation/nushell/__init__.py b/src/virtualenv/activation/nushell/__init__.py index d3b312497..4f46431a0 100644 --- a/src/virtualenv/activation/nushell/__init__.py +++ b/src/virtualenv/activation/nushell/__init__.py @@ -9,13 +9,12 @@ def templates(self): @staticmethod def quote(string): - """ - Nushell supports raw strings like: r###'this is a string'###. + """Nushell supports raw strings like: r###'this is a string'###. https://github.com/nushell/nushell.github.io/blob/main/book/working_with_strings.md - This method finds the maximum continuous sharps in the string and then - quote it with an extra sharp. + This method finds the maximum continuous sharps in the string and then quote it with an extra sharp. + """ max_sharps = 0 current_sharps = 0 diff --git a/src/virtualenv/activation/powershell/__init__.py b/src/virtualenv/activation/powershell/__init__.py index 8489656cc..bb80a6704 100644 --- a/src/virtualenv/activation/powershell/__init__.py +++ b/src/virtualenv/activation/powershell/__init__.py @@ -9,13 +9,13 @@ def templates(self): @staticmethod def quote(string): - """ - This should satisfy PowerShell quoting rules [1], unless the quoted - string is passed directly to Windows native commands [2]. + """This should satisfy PowerShell quoting rules [1], unless the quoted string is passed directly to Windows native commands [2]. [1]: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_quoting_rules - [2]: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_parsing#passing-arguments-that-contain-quote-characters - """ # noqa: D205 + [2]: + https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_parsing#passing-arguments-that-contain-quote-characters + + """ string = string.replace("'", "''") return f"'{string}'" diff --git a/src/virtualenv/activation/python/activate_this.py b/src/virtualenv/activation/python/activate_this.py index 99fcd9aba..69a4b67c8 100644 --- a/src/virtualenv/activation/python/activate_this.py +++ b/src/virtualenv/activation/python/activate_this.py @@ -1,10 +1,9 @@ -""" -Activate virtualenv for current interpreter: +"""Activate virtualenv for current interpreter: -import runpy -runpy.run_path(this_file) +import runpy runpy.run_path(this_file) This can be used when you must use an existing Python interpreter, not the virtualenv bin/python. + """ # noqa: D415 from __future__ import annotations diff --git a/src/virtualenv/activation/via_template.py b/src/virtualenv/activation/via_template.py index 85f932605..2f5e8b6fd 100644 --- a/src/virtualenv/activation/via_template.py +++ b/src/virtualenv/activation/via_template.py @@ -24,11 +24,12 @@ def templates(self): @staticmethod def quote(string): - """ - Quote strings in the activation script. + """Quote strings in the activation script. :param string: the string to quote - :return: quoted string that works in the activation script + + :returns: quoted string that works in the activation script + """ return shlex.quote(string) diff --git a/src/virtualenv/app_data/base.py b/src/virtualenv/app_data/base.py index 2077deebd..b7acaf0be 100644 --- a/src/virtualenv/app_data/base.py +++ b/src/virtualenv/app_data/base.py @@ -4,52 +4,91 @@ from abc import ABC, abstractmethod from contextlib import contextmanager +from typing import TYPE_CHECKING from virtualenv.info import IS_ZIPAPP +if TYPE_CHECKING: + from collections.abc import Generator + from pathlib import Path + class AppData(ABC): """Abstract storage interface for the virtualenv application.""" @abstractmethod - def close(self): + def close(self) -> None: """Called before virtualenv exits.""" @abstractmethod - def reset(self): + def reset(self) -> None: """Called when the user passes in the reset app data.""" @abstractmethod - def py_info(self, path): + def py_info(self, path: Path) -> ContentStore: + """Return a content store for cached interpreter information at the given path. + + :param path: the interpreter executable path + + :returns: a content store for the cached data + + """ raise NotImplementedError @abstractmethod - def py_info_clear(self): + def py_info_clear(self) -> None: + """Clear all cached interpreter information.""" raise NotImplementedError @property - def can_update(self): + def can_update(self) -> bool: + """``True`` if this app data store supports updating cached content.""" raise NotImplementedError @abstractmethod - def embed_update_log(self, distribution, for_py_version): + def embed_update_log(self, distribution: str, for_py_version: str) -> ContentStore: + """Return a content store for the embed update log of a distribution. + + :param distribution: the package name (e.g. ``pip``) + :param for_py_version: the target Python version string + + :returns: a content store for the update log + + """ raise NotImplementedError @property - def house(self): + def house(self) -> Path: + """The root directory of the application data store.""" raise NotImplementedError @property - def transient(self): + def transient(self) -> bool: + """``True`` if this app data store is transient and does not persist across runs.""" raise NotImplementedError @abstractmethod - def wheel_image(self, for_py_version, name): + def wheel_image(self, for_py_version: str, name: str) -> Path: + """Return the path to a cached wheel image. + + :param for_py_version: the target Python version string + :param name: the package name + + :returns: the path to the cached wheel + + """ raise NotImplementedError @contextmanager - def ensure_extracted(self, path, to_folder=None): - """Some paths might be within the zipapp, unzip these to a path on the disk.""" + def ensure_extracted(self, path: Path, to_folder: Path | None = None) -> Generator[Path]: + """Ensure a path is available on disk, extracting from zipapp if needed. + + :param path: the path to ensure is available + :param to_folder: optional target directory for extraction + + :returns: yields the usable path on disk + + """ if IS_ZIPAPP: with self.extract(path, to_folder) as result: yield result @@ -58,36 +97,67 @@ def ensure_extracted(self, path, to_folder=None): @abstractmethod @contextmanager - def extract(self, path, to_folder): + def extract(self, path: Path, to_folder: Path | None) -> Generator[Path]: + """Extract a path from the zipapp to a location on disk. + + :param path: the path to extract + :param to_folder: optional target directory + + :returns: yields the extracted path + + """ raise NotImplementedError @abstractmethod @contextmanager - def locked(self, path): + def locked(self, path: Path) -> Generator[None]: + """Acquire an exclusive lock on the given path. + + :param path: the path to lock + + """ raise NotImplementedError class ContentStore(ABC): + """A store for reading and writing cached content.""" + @abstractmethod - def exists(self): + def exists(self) -> bool: + """Check if the stored content exists. + + :returns: ``True`` if content exists + + """ raise NotImplementedError @abstractmethod - def read(self): + def read(self) -> str: + """Read the stored content. + + :returns: the stored content as a string + + """ raise NotImplementedError @abstractmethod - def write(self, content): + def write(self, content: str) -> None: + """Write content to the store. + + :param content: the content to write + + """ raise NotImplementedError @abstractmethod - def remove(self): + def remove(self) -> None: + """Remove the stored content.""" raise NotImplementedError @abstractmethod @contextmanager - def locked(self): - pass + def locked(self) -> Generator[None]: + """Acquire an exclusive lock on this content store.""" __all__ = [ diff --git a/src/virtualenv/app_data/via_disk_folder.py b/src/virtualenv/app_data/via_disk_folder.py index 0d020259f..e768749d0 100644 --- a/src/virtualenv/app_data/via_disk_folder.py +++ b/src/virtualenv/app_data/via_disk_folder.py @@ -1,25 +1,27 @@ -""" -A rough layout of the current storage goes as: - -virtualenv-app-data -├── py - -│ └── *.json/lock -├── wheel -│ ├── house -│ │ └── *.whl -│ └── -> 3.9 -│ ├── img- -│ │ └── image -│ │ └── -> CopyPipInstall / SymlinkPipInstall -│ │ └── -> pip-20.1.1-py2.py3-none-any -│ └── embed -│ └── 3 -> json format versioning -│ └── *.json -> for every distribution contains data about newer embed versions and releases -└─── unzip - └── - ├── py_info.py - ├── debug.py - └── _virtualenv.py +r"""A rough layout of the current storage goes as: + +:: + + virtualenv-app-data + ├── py - + │ └── *.json/lock + ├── wheel + │ ├── house + │ │ └── *.whl + │ └── -> 3.9 + │ ├── img- + │ │ └── image + │ │ └── -> CopyPipInstall / SymlinkPipInstall + │ │ └── -> pip-20.1.1-py2.py3-none-any + │ └── embed + │ └── 3 -> json format versioning + │ └── *.json -> for every distribution contains data about newer embed versions and releases + └─── unzip + └── + ├── py_info.py + ├── debug.py + └── _virtualenv.py + """ # noqa: D415 from __future__ import annotations diff --git a/src/virtualenv/config/cli/parser.py b/src/virtualenv/config/cli/parser.py index 499840fe3..6bbd991f2 100644 --- a/src/virtualenv/config/cli/parser.py +++ b/src/virtualenv/config/cli/parser.py @@ -3,6 +3,7 @@ import os from argparse import SUPPRESS, ArgumentDefaultsHelpFormatter, ArgumentParser, Namespace from collections import OrderedDict +from typing import Any from virtualenv.config.convert import get_type from virtualenv.config.env_var import get_env_var @@ -10,27 +11,46 @@ class VirtualEnvOptions(Namespace): - def __init__(self, **kwargs) -> None: + def __init__(self, **kwargs: Any) -> None: super().__init__(**kwargs) - self._src = None - self._sources = {} + self._src: str | None = None + self._sources: dict[str, str] = {} - def set_src(self, key, value, src): + def set_src(self, key: str, value: Any, src: str) -> None: + """Set an option value and record where it came from. + + :param key: the option name + :param value: the option value + :param src: the source of the value (e.g. ``"cli"``, ``"env var"``, ``"default"``) + + """ setattr(self, key, value) if src.startswith("env var"): src = "env var" self._sources[key] = src - def __setattr__(self, key, value) -> None: - if getattr(self, "_src", None) is not None: - self._sources[key] = self._src + def __setattr__(self, key: str, value: Any) -> None: + if (src := getattr(self, "_src", None)) is not None: + self._sources[key] = src super().__setattr__(key, value) - def get_source(self, key): + def get_source(self, key: str) -> str | None: + """Return the source that provided a given option value. + + :param key: the option name + + :returns: the source string (e.g. ``"cli"``, ``"env var"``, ``"default"``), or ``None`` if not tracked + + """ return self._sources.get(key) @property - def verbosity(self): + def verbosity(self) -> int | None: + """The verbosity level, computed as ``verbose - quiet``, clamped to zero. + + :returns: the verbosity level, or ``None`` if neither ``--verbose`` nor ``--quiet`` has been parsed yet + + """ if not hasattr(self, "verbose") and not hasattr(self, "quiet"): return None return max(self.verbose - self.quiet, 0) diff --git a/src/virtualenv/config/convert.py b/src/virtualenv/config/convert.py index ef7581dbd..591b5abb9 100644 --- a/src/virtualenv/config/convert.py +++ b/src/virtualenv/config/convert.py @@ -58,11 +58,10 @@ def convert(self, value, flatten=True): # noqa: ARG002, FBT002 return [self.as_type(i) for i in result] def split_values(self, value): - """ - Split the provided value into a list. + """Split the provided value into a list. + + First this is done by newlines. If there were no newlines in the text, then we next try to split by comma. - First this is done by newlines. If there were no newlines in the text, - then we next try to split by comma. """ if isinstance(value, (str, bytes)): # Use `splitlines` rather than a custom check for whether there is diff --git a/src/virtualenv/config/env_var.py b/src/virtualenv/config/env_var.py index e12723471..c278b6e35 100644 --- a/src/virtualenv/config/env_var.py +++ b/src/virtualenv/config/env_var.py @@ -6,13 +6,14 @@ def get_env_var(key, as_type, env): - """ - Get the environment variable option. + """Get the environment variable option. :param key: the config key requested :param as_type: the type we would like to convert it to :param env: environment variables to use - :return: + + :returns: the converted value and source, or None if not set + """ environ_key = f"VIRTUALENV_{key.upper()}" if env.get(environ_key): diff --git a/src/virtualenv/create/creator.py b/src/virtualenv/create/creator.py index fe9e8fac2..edd481230 100644 --- a/src/virtualenv/create/creator.py +++ b/src/virtualenv/create/creator.py @@ -12,6 +12,13 @@ from pathlib import Path from typing import TYPE_CHECKING +if TYPE_CHECKING: + from argparse import ArgumentParser + + from virtualenv.app_data.base import AppData + from virtualenv.config.cli.parser import VirtualEnvOptions + from virtualenv.discovery.py_info import PythonInfo + from virtualenv.discovery.cached_py_info import LogCmd from virtualenv.util.path import safe_delete from virtualenv.util.subprocess import run_cmd @@ -32,12 +39,12 @@ def __init__(self) -> None: class Creator(ABC): """A class that given a python Interpreter creates a virtual environment.""" - def __init__(self, options, interpreter) -> None: - """ - Construct a new virtual environment creator. + def __init__(self, options: VirtualEnvOptions, interpreter: PythonInfo) -> None: + """Construct a new virtual environment creator. :param options: the CLI option as parsed from :meth:`add_parser_arguments` :param interpreter: the interpreter to create virtual environment from + """ self.interpreter = interpreter self._debug = None @@ -54,11 +61,6 @@ def __init__(self, options, interpreter) -> None: @property def exe(self) -> Path: ... - if TYPE_CHECKING: - - @property - def exe(self) -> Path: ... - def __repr__(self) -> str: return f"{self.__class__.__name__}({', '.join(f'{k}={v}' for k, v in self._args())})" @@ -70,25 +72,32 @@ def _args(self): ] @classmethod - def can_create(cls, interpreter): # noqa: ARG003 - """ - Determine if we can create a virtual environment. + def can_create(cls, interpreter: PythonInfo) -> CreatorMeta | None: # noqa: ARG003 + """Determine if we can create a virtual environment. :param interpreter: the interpreter in question - :return: ``None`` if we can't create, any other object otherwise that will be forwarded to \ - :meth:`add_parser_arguments` + + :returns: ``None`` if we can't create, any other object otherwise that will be forwarded to + :meth:`add_parser_arguments` + """ - return True + return True # type: ignore[return-value] @classmethod - def add_parser_arguments(cls, parser, interpreter, meta, app_data): # noqa: ARG003 - """ - Add CLI arguments for the creator. + def add_parser_arguments( + cls, + parser: ArgumentParser, + interpreter: PythonInfo, # noqa: ARG003 + meta: CreatorMeta, # noqa: ARG003 + app_data: AppData, # noqa: ARG003 + ) -> None: + """Add CLI arguments for the creator. :param parser: the CLI parser :param app_data: the application data folder :param interpreter: the interpreter we're asked to create virtual environment for :param meta: value as returned by :meth:`can_create` + """ parser.add_argument( "dest", @@ -111,7 +120,7 @@ def add_parser_arguments(cls, parser, interpreter, meta, app_data): # noqa: ARG ) @abstractmethod - def create(self): + def create(self) -> None: """Perform the virtual environment creation.""" raise NotImplementedError @@ -214,7 +223,7 @@ def setup_ignore_vcs(self): @property def debug(self): - """:return: debug information about the virtual environment (only valid after :meth:`create` has run)""" + """:returns: debug information about the virtual environment (only valid after :meth:`create` has run)""" if self._debug is None and self.exe is not None: self._debug = get_env_debug_info(self.exe, self.debug_script(), self.app_data, self.env) return self._debug diff --git a/src/virtualenv/create/debug.py b/src/virtualenv/create/debug.py index 3c03e4c62..3672e4576 100644 --- a/src/virtualenv/create/debug.py +++ b/src/virtualenv/create/debug.py @@ -27,7 +27,7 @@ def run(): # noqa: C901 # this is possible if the standard library cannot be accessed OrderedDict = dict # type: ignore[misc] # pragma: no cover # noqa: N806 - result = OrderedDict([("sys", OrderedDict())]) + result: dict = OrderedDict([("sys", OrderedDict())]) path_keys = ( "executable", "_base_executable", diff --git a/src/virtualenv/create/via_global_ref/_virtualenv.py b/src/virtualenv/create/via_global_ref/_virtualenv.py index 0d95b28e0..7850ce321 100644 --- a/src/virtualenv/create/via_global_ref/_virtualenv.py +++ b/src/virtualenv/create/via_global_ref/_virtualenv.py @@ -10,12 +10,11 @@ def patch_dist(dist): - """ - Distutils allows user to configure some arguments via a configuration file: - https://docs.python.org/3/install/index.html#distutils-configuration-files. + """Distutils allows user to configure some arguments via a configuration file: https://docs.python.org/3/install/index.html#distutils-configuration-files. Some of this arguments though don't make sense in context of the virtual environment files, let's fix them up. - """ # noqa: D205 + + """ # we cannot allow some install config as that would get packages installed outside of the virtual environment old_parse_config_files = dist.Distribution.parse_config_files diff --git a/src/virtualenv/create/via_global_ref/builtin/cpython/cpython3.py b/src/virtualenv/create/via_global_ref/builtin/cpython/cpython3.py index 7d27be8e8..4b6d1ae95 100644 --- a/src/virtualenv/create/via_global_ref/builtin/cpython/cpython3.py +++ b/src/virtualenv/create/via_global_ref/builtin/cpython/cpython3.py @@ -185,18 +185,16 @@ def _is_pywin32_dll(cls, filename): @classmethod def python_zip(cls, interpreter): + """``python{VERSION}.zip`` contains compiled ``*.pyc`` std lib packages, where ``VERSION`` is ``py_version_nodot`` var from the ``sysconfig`` module. + + See https://docs.python.org/3/using/windows.html#the-embeddable-package, ``discovery.py_info.PythonInfo`` class + (interpreter), and ``python -m sysconfig`` output. + + The embeddable Python distribution for Windows includes ``python{VERSION}.zip`` and ``python{VERSION}._pth`` + files. User can move/rename the zip file and edit ``sys.path`` by editing the ``_pth`` file. Here the + ``pattern`` is used only for the default zip file name. + """ - "python{VERSION}.zip" contains compiled *.pyc std lib packages, where - "VERSION" is `py_version_nodot` var from the `sysconfig` module. - :see: https://docs.python.org/3/using/windows.html#the-embeddable-package - :see: `discovery.py_info.PythonInfo` class (interpreter). - :see: `python -m sysconfig` output. - - :note: The embeddable Python distribution for Windows includes - "python{VERSION}.zip" and "python{VERSION}._pth" files. User can - move/rename *zip* file and edit `sys.path` by editing *_pth* file. - Here the `pattern` is used only for the default *zip* file name! - """ # noqa: D205 pattern = f"*python{interpreter.version_nodot}.zip" matches = fnmatch.filter(interpreter.path, pattern) matched_paths = map(Path, matches) diff --git a/src/virtualenv/create/via_global_ref/builtin/cpython/mac_os.py b/src/virtualenv/create/via_global_ref/builtin/cpython/mac_os.py index 29e0c401f..a8863f676 100644 --- a/src/virtualenv/create/via_global_ref/builtin/cpython/mac_os.py +++ b/src/virtualenv/create/via_global_ref/builtin/cpython/mac_os.py @@ -96,8 +96,7 @@ def reload_code(self): def fix_mach_o(exe, current, new, max_size): - """ - https://en.wikipedia.org/wiki/Mach-O. + """https://en.wikipedia.org/wiki/Mach-O. Mach-O, short for Mach object file format, is a file format for executables, object code, shared libraries, dynamically-loaded code, and core dumps. A replacement for the a.out format, Mach-O offers more extensibility and @@ -113,11 +112,12 @@ def fix_mach_o(exe, current, new, max_size): Lisp. With the introduction of Mac OS X 10.6 platform the Mach-O file underwent a significant modification that causes - binaries compiled on a computer running 10.6 or later to be (by default) executable only on computers running Mac - OS X 10.6 or later. The difference stems from load commands that the dynamic linker, in previous Mac OS X versions, + binaries compiled on a computer running 10.6 or later to be (by default) executable only on computers running Mac OS + X 10.6 or later. The difference stems from load commands that the dynamic linker, in previous Mac OS X versions, does not understand. Another significant change to the Mach-O format is the change in how the Link Edit tables (found in the __LINKEDIT section) function. In 10.6 these new Link Edit tables are compressed by removing unused and unneeded bits of information, however Mac OS X 10.5 and earlier cannot read this new Link Edit table format. + """ try: LOGGER.debug("change Mach-O for %s from %s to %s", exe, current, new) @@ -206,10 +206,7 @@ def read_data(file, endian, num=1): return res def mach_o_change(at_path, what, value): # noqa: C901 - """ - Replace a given name (what) in any LC_LOAD_DYLIB command found in the given binary with a new name (value), - provided it's shorter. - """ # noqa: D205 + """Replace a given name (what) in any LC_LOAD_DYLIB command found in the given binary with a new name (value), provided it's shorter.""" def do_macho(file, bits, endian): # Read Mach-O header (the magic number is assumed read by the caller) diff --git a/src/virtualenv/create/via_global_ref/builtin/ref.py b/src/virtualenv/create/via_global_ref/builtin/ref.py index e2fd45ffe..84669d832 100644 --- a/src/virtualenv/create/via_global_ref/builtin/ref.py +++ b/src/virtualenv/create/via_global_ref/builtin/ref.py @@ -1,8 +1,4 @@ -""" -Virtual environments in the traditional sense are built as reference to the host python. This file allows declarative -references to elements on the file system, allowing our system to automatically detect what modes it can support given -the constraints: e.g. can the file system symlink, can the files be read, executed, etc. -""" # noqa: D205 +"""Virtual environments in the traditional sense are built as reference to the host python. This file allows declarative references to elements on the file system, allowing our system to automatically detect what modes it can support given the constraints: e.g. can the file system symlink, can the files be read, executed, etc.""" from __future__ import annotations diff --git a/src/virtualenv/create/via_global_ref/builtin/via_global_self_do.py b/src/virtualenv/create/via_global_ref/builtin/via_global_self_do.py index fa01a1fb8..6253bf58e 100644 --- a/src/virtualenv/create/via_global_ref/builtin/via_global_self_do.py +++ b/src/virtualenv/create/via_global_ref/builtin/via_global_self_do.py @@ -111,10 +111,7 @@ def ensure_directories(self): return {self.dest, self.bin_dir, self.script_dir, self.stdlib, self.include_dir} | set(self.libs) def set_pyenv_cfg(self): - """ - We directly inject the base prefix and base exec prefix to avoid site.py needing to discover these - from home (which usually is done within the interpreter itself). - """ # noqa: D205 + """We directly inject the base prefix and base exec prefix to avoid site.py needing to discover these from home (which usually is done within the interpreter itself).""" super().set_pyenv_cfg() self.pyenv_cfg["base-prefix"] = self.interpreter.system_prefix self.pyenv_cfg["base-exec-prefix"] = self.interpreter.system_exec_prefix diff --git a/src/virtualenv/create/via_global_ref/venv.py b/src/virtualenv/create/via_global_ref/venv.py index 3b909c085..7921c1fc6 100644 --- a/src/virtualenv/create/via_global_ref/venv.py +++ b/src/virtualenv/create/via_global_ref/venv.py @@ -54,11 +54,7 @@ def create(self): self.executables_for_win_pypy_less_v37() def executables_for_win_pypy_less_v37(self): - """ - PyPy <= 3.6 (v7.3.3) for Windows contains only pypy3.exe and pypy3w.exe - Venv does not handle non-existing exe sources, e.g. python.exe, so this - patch does it. - """ # noqa: D205 + """PyPy <= 3.6 (v7.3.3) for Windows contains only pypy3.exe and pypy3w.exe Venv does not handle non-existing exe sources, e.g. python.exe, so this patch does it.""" creator = self.describe if isinstance(creator, Pypy3Windows) and creator.less_v37: for exe in creator.executables(self.interpreter): diff --git a/src/virtualenv/discovery/builtin.py b/src/virtualenv/discovery/builtin.py index e5c04efe5..f73905200 100644 --- a/src/virtualenv/discovery/builtin.py +++ b/src/virtualenv/discovery/builtin.py @@ -195,7 +195,7 @@ def get_paths(env: Mapping[str, str]) -> Generator[Path, None, None]: path = env.get("PATH", None) if path is None: try: - path = os.confstr("CS_PATH") # ty: ignore[unresolved-attribute] + path = os.confstr("CS_PATH") except (AttributeError, ValueError): path = os.defpath if path: diff --git a/src/virtualenv/discovery/cached_py_info.py b/src/virtualenv/discovery/cached_py_info.py index 26e54a8da..7b203d65c 100644 --- a/src/virtualenv/discovery/cached_py_info.py +++ b/src/virtualenv/discovery/cached_py_info.py @@ -1,9 +1,4 @@ -""" - -We acquire the python information by running an interrogation script via subprocess trigger. This operation is not -cheap, especially not on Windows. To not have to pay this hefty cost every time we apply multiple levels of -caching. -""" # noqa: D205 +"""We acquire the python information by running an interrogation script via subprocess trigger. This operation is not cheap, especially not on Windows. To not have to pay this hefty cost every time we apply multiple levels of caching.""" from __future__ import annotations diff --git a/src/virtualenv/discovery/discover.py b/src/virtualenv/discovery/discover.py index 0aaa17c8e..b518833f6 100644 --- a/src/virtualenv/discovery/discover.py +++ b/src/virtualenv/discovery/discover.py @@ -1,42 +1,49 @@ from __future__ import annotations from abc import ABC, abstractmethod +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from argparse import ArgumentParser + + from virtualenv.config.cli.parser import VirtualEnvOptions + from virtualenv.discovery.py_info import PythonInfo class Discover(ABC): """Discover and provide the requested Python interpreter.""" @classmethod - def add_parser_arguments(cls, parser): - """ - Add CLI arguments for this discovery mechanisms. + def add_parser_arguments(cls, parser: ArgumentParser) -> None: + """Add CLI arguments for this discovery mechanisms. :param parser: the CLI parser + """ raise NotImplementedError - def __init__(self, options) -> None: - """ - Create a new discovery mechanism. + def __init__(self, options: VirtualEnvOptions) -> None: + """Create a new discovery mechanism. :param options: the parsed options as defined within :meth:`add_parser_arguments` + """ self._has_run = False - self._interpreter = None + self._interpreter: PythonInfo | None = None self._env = options.env @abstractmethod - def run(self): - """ - Discovers an interpreter. + def run(self) -> PythonInfo | None: + """Discovers an interpreter. + + :returns: the interpreter ready to use for virtual environment creation - :return: the interpreter ready to use for virtual environment creation """ raise NotImplementedError @property - def interpreter(self): - """:return: the interpreter as returned by :meth:`run`, cached""" + def interpreter(self) -> PythonInfo | None: + """:returns: the interpreter as returned by :meth:`run`, cached""" if self._has_run is False: self._interpreter = self.run() self._has_run = True diff --git a/src/virtualenv/discovery/py_info.py b/src/virtualenv/discovery/py_info.py index 2dedb7a26..823e45a80 100644 --- a/src/virtualenv/discovery/py_info.py +++ b/src/virtualenv/discovery/py_info.py @@ -1,7 +1,7 @@ -""" -The PythonInfo contains information about a concrete instance of a Python interpreter. +"""The PythonInfo contains information about a concrete instance of a Python interpreter. Note: this file is also used to query target interpreters, so can only use standard library methods + """ from __future__ import annotations @@ -17,6 +17,14 @@ import warnings from collections import OrderedDict, namedtuple from string import digits +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from collections.abc import Mapping + + from virtualenv.app_data.base import AppData + from virtualenv.discovery.py_spec import PythonSpec + from virtualenv.run.plugin.creators import CreatorSelector VersionInfo = namedtuple("VersionInfo", ["major", "minor", "micro", "releaselevel", "serial"]) # noqa: PYI024 LOGGER = logging.getLogger(__name__) @@ -140,10 +148,10 @@ def abs_path(v): @staticmethod def _get_tcl_tk_libs(): - """ - Detects the tcl and tk libraries using tkinter. + """Detects the tcl and tk libraries using tkinter. This works reliably but spins up tkinter, which is heavy if you don't need it. + """ tcl_lib, tk_lib = None, None try: @@ -218,15 +226,15 @@ def _fast_get_system_executable(self): return self._try_posix_fallback_executable(base_executable) def _try_posix_fallback_executable(self, base_executable): - """ - Try to find a versioned Python binary as fallback for POSIX virtual environments. + """Try to find a versioned Python binary as fallback for POSIX virtual environments. + + Python may return "python" because it was invoked from the POSIX virtual environment however some + installs/distributions do not provide a version-less "python" binary in the system install location (see PEP + 394) so try to fallback to a versioned binary. - Python may return "python" because it was invoked from the POSIX virtual environment - however some installs/distributions do not provide a version-less "python" binary in - the system install location (see PEP 394) so try to fallback to a versioned binary. + Gate this to Python 3.11 as `sys._base_executable` path resolution is now relative to the 'home' key from + pyvenv.cfg which often points to the system install location. - Gate this to Python 3.11 as `sys._base_executable` path resolution is now relative to - the 'home' key from pyvenv.cfg which often points to the system install location. """ major, minor = self.version_info.major, self.version_info.minor if self.os != "posix" or (major, minor) < (3, 11): @@ -245,7 +253,14 @@ def _try_posix_fallback_executable(self, base_executable): return None # in this case we just can't tell easily without poking around FS and calling them, bail - def install_path(self, key): + def install_path(self, key: str) -> str: + """Return the relative installation path for a given installation scheme key. + + :param key: the sysconfig scheme key (e.g. ``purelib``, ``headers``) + + :returns: the relative path for the given key + + """ result = self.distutils_install.get(key) if result is None: # use sysconfig if sysconfig_scheme is set or distutils is unavailable # set prefixes to empty => result is relative from cwd @@ -280,27 +295,41 @@ def _distutils_install(): return {key: (getattr(i, f"install_{key}")[1:]).lstrip(os.sep) for key in SCHEME_KEYS} @property - def version_str(self): + def version_str(self) -> str: + """The full version as ``major.minor.micro`` string (e.g. ``3.13.2``).""" return ".".join(str(i) for i in self.version_info[0:3]) @property - def version_release_str(self): + def version_release_str(self) -> str: + """The release version as ``major.minor`` string (e.g. ``3.13``).""" return ".".join(str(i) for i in self.version_info[0:2]) @property - def python_name(self): + def python_name(self) -> str: + """The python executable name as ``pythonX.Y`` (e.g. ``python3.13``).""" version_info = self.version_info return f"python{version_info.major}.{version_info.minor}" @property - def is_old_virtualenv(self): + def is_old_virtualenv(self) -> bool: + """``True`` if this interpreter runs inside an old-style virtualenv (has ``real_prefix``).""" return self.real_prefix is not None @property - def is_venv(self): + def is_venv(self) -> bool: + """``True`` if this interpreter runs inside a PEP 405 venv (has ``base_prefix``).""" return self.base_prefix is not None - def sysconfig_path(self, key, config_var=None, sep=os.sep): + def sysconfig_path(self, key: str, config_var: dict[str, str] | None = None, sep: str = os.sep) -> str: + """Return the sysconfig install path for a scheme key, optionally substituting config variables. + + :param key: the sysconfig path name (e.g. ``stdlib``, ``purelib``) + :param config_var: override config variables for path expansion, or ``None`` to use defaults + :param sep: path separator to use + + :returns: the expanded path string + + """ pattern = self.sysconfig_paths.get(key) if pattern is None: return "" @@ -312,7 +341,14 @@ def sysconfig_path(self, key, config_var=None, sep=os.sep): config_var = base return pattern.format(**config_var).replace("/", sep) - def creators(self, refresh=False): # noqa: FBT002 + def creators(self, refresh: bool = False) -> CreatorSelector: # noqa: FBT001, FBT002 + """Return the available creators for this interpreter, cached unless ``refresh`` is ``True``. + + :param refresh: if ``True``, re-discover creators instead of using the cache + + :returns: the creator selector for this interpreter + + """ if self._creators is None or refresh is True: from virtualenv.run.plugin.creators import CreatorSelector # noqa: PLC0415 @@ -320,7 +356,8 @@ def creators(self, refresh=False): # noqa: FBT002 return self._creators @property - def system_include(self): + def system_include(self) -> str: + """The path to the system include directory for C headers.""" path = self.sysconfig_path( "include", { @@ -336,11 +373,13 @@ def system_include(self): return path @property - def system_prefix(self): + def system_prefix(self) -> str: + """The prefix of the system Python this interpreter is based on.""" return self.real_prefix or self.base_prefix or self.prefix @property - def system_exec_prefix(self): + def system_exec_prefix(self) -> str: + """The exec prefix of the system Python this interpreter is based on.""" return self.real_prefix or self.base_exec_prefix or self.exec_prefix def __repr__(self) -> str: @@ -378,7 +417,8 @@ def __str__(self) -> str: ) @property - def spec(self): + def spec(self) -> str: + """A specification string identifying this interpreter (e.g. ``CPython3.13.2-64``).""" return "{}{}{}-{}".format( self.implementation, ".".join(str(i) for i in self.version_info), @@ -387,15 +427,26 @@ def spec(self): ) @classmethod - def clear_cache(cls, app_data): - # this method is not used by itself, so here and called functions can import stuff locally + def clear_cache(cls, app_data: AppData) -> None: + """Clear all cached interpreter information from the application data store. + + :param app_data: the application data store to clear + + """ from virtualenv.discovery.cached_py_info import clear # noqa: PLC0415 clear(app_data) cls._cache_exe_discovery.clear() - def satisfies(self, spec, impl_must_match): # noqa: C901, PLR0911, PLR0912 - """Check if a given specification can be satisfied by the this python interpreter instance.""" + def satisfies(self, spec: PythonSpec, impl_must_match: bool) -> bool: # noqa: C901, FBT001, PLR0911, PLR0912 + """Check if a given specification can be satisfied by this python interpreter instance. + + :param spec: the python specification to check against + :param impl_must_match: if ``True``, the implementation (e.g. CPython vs PyPy) must also match + + :returns: ``True`` if this interpreter satisfies the specification + + """ if spec.path: if self.executable == os.path.abspath(spec.path): return True # if the path is a our own executable path we're done @@ -446,23 +497,35 @@ def satisfies(self, spec, impl_must_match): # noqa: C901, PLR0911, PLR0912 _current = None @classmethod - def current(cls, app_data=None): + def current(cls, app_data: AppData | None = None) -> PythonInfo: + """Locate the current host interpreter information. + + This might differ from the running interpreter if the host Python has been upgraded. + + :param app_data: the application data store for caching + + :returns: the current interpreter information + """ - This locates the current host interpreter information. This might be different than what we run into in case - the host python has been upgraded from underneath us. - """ # noqa: D205 if cls._current is None: - cls._current = cls.from_exe(sys.executable, app_data, raise_on_error=True, resolve_to_host=False) + result = cls.from_exe(sys.executable, app_data, raise_on_error=True, resolve_to_host=False) + assert result is not None # raise_on_error=True guarantees non-None # noqa: S101 + cls._current = result return cls._current @classmethod - def current_system(cls, app_data=None) -> PythonInfo: + def current_system(cls, app_data: AppData | None = None) -> PythonInfo: + """Locate the current system interpreter information, resolving through any virtualenv layers. + + :param app_data: the application data store for caching + + :returns: the system interpreter information + """ - This locates the current host interpreter information. This might be different than what we run into in case - the host python has been upgraded from underneath us. - """ # noqa: D205 if cls._current_system is None: - cls._current_system = cls.from_exe(sys.executable, app_data, raise_on_error=True, resolve_to_host=True) + result = cls.from_exe(sys.executable, app_data, raise_on_error=True, resolve_to_host=True) + assert result is not None # raise_on_error=True guarantees non-None # noqa: S101 + cls._current_system = result return cls._current_system def _to_json(self): @@ -479,14 +542,25 @@ def _to_dict(self): @classmethod def from_exe( # noqa: PLR0913 cls, - exe, - app_data=None, - raise_on_error=True, # noqa: FBT002 - ignore_cache=False, # noqa: FBT002 - resolve_to_host=True, # noqa: FBT002 - env=None, - ): - """Given a path to an executable get the python information.""" + exe: str, + app_data: AppData | None = None, + raise_on_error: bool = True, # noqa: FBT001, FBT002 + ignore_cache: bool = False, # noqa: FBT001, FBT002 + resolve_to_host: bool = True, # noqa: FBT001, FBT002 + env: Mapping[str, str] | None = None, + ) -> PythonInfo | None: + """Given a path to an executable, get the python information. + + :param exe: path to the Python executable + :param app_data: the application data store for caching + :param raise_on_error: if ``True``, raise on failure instead of returning ``None`` + :param ignore_cache: if ``True``, bypass the cache and re-query the interpreter + :param resolve_to_host: if ``True``, resolve through virtualenv layers to the host interpreter + :param env: environment variables to use for subprocess calls + + :returns: the interpreter information, or ``None`` if discovery failed and ``raise_on_error`` is ``False`` + + """ # this method is not used by itself, so here and called functions can import stuff locally from virtualenv.discovery.cached_py_info import from_exe # noqa: PLC0415 @@ -536,13 +610,31 @@ def _resolve_to_system(cls, app_data, target): prefixes[prefix] = target target = target.discover_exe(app_data, prefix=prefix, exact=False) if target.executable != target.system_executable: - target = cls.from_exe(target.system_executable, app_data) + resolved = cls.from_exe(target.system_executable, app_data) + if resolved is not None: + target = resolved target.executable = start_executable return target _cache_exe_discovery = {} # noqa: RUF012 - def discover_exe(self, app_data, prefix, exact=True, env=None): # noqa: FBT002 + def discover_exe( + self, + app_data: AppData, + prefix: str, + exact: bool = True, # noqa: FBT001, FBT002 + env: Mapping[str, str] | None = None, + ) -> PythonInfo: + """Discover a matching Python executable under a given prefix directory. + + :param app_data: the application data store for caching + :param prefix: the directory prefix to search under + :param exact: if ``True``, require an exact version match; if ``False``, pick the closest match + :param env: environment variables to use for subprocess calls + + :returns: the discovered interpreter information + + """ key = prefix, exact if key in self._cache_exe_discovery and prefix: LOGGER.debug("discover exe from cache %s - exact %s: %r", prefix, exact, self._cache_exe_discovery[key]) diff --git a/src/virtualenv/discovery/windows/pep514.py b/src/virtualenv/discovery/windows/pep514.py index a75dad36d..14b118003 100644 --- a/src/virtualenv/discovery/windows/pep514.py +++ b/src/virtualenv/discovery/windows/pep514.py @@ -14,7 +14,7 @@ def enum_keys(key): at = 0 while True: try: - yield winreg.EnumKey(key, at) + yield winreg.EnumKey(key, at) # ty: ignore[unresolved-attribute] except OSError: break at += 1 @@ -22,23 +22,23 @@ def enum_keys(key): def get_value(key, value_name): try: - return winreg.QueryValueEx(key, value_name)[0] + return winreg.QueryValueEx(key, value_name)[0] # ty: ignore[unresolved-attribute] except OSError: return None def discover_pythons(): for hive, hive_name, key, flags, default_arch in [ - (winreg.HKEY_CURRENT_USER, "HKEY_CURRENT_USER", r"Software\Python", 0, 64), - (winreg.HKEY_LOCAL_MACHINE, "HKEY_LOCAL_MACHINE", r"Software\Python", winreg.KEY_WOW64_64KEY, 64), - (winreg.HKEY_LOCAL_MACHINE, "HKEY_LOCAL_MACHINE", r"Software\Python", winreg.KEY_WOW64_32KEY, 32), + (winreg.HKEY_CURRENT_USER, "HKEY_CURRENT_USER", r"Software\Python", 0, 64), # ty: ignore[unresolved-attribute] + (winreg.HKEY_LOCAL_MACHINE, "HKEY_LOCAL_MACHINE", r"Software\Python", winreg.KEY_WOW64_64KEY, 64), # ty: ignore[unresolved-attribute] + (winreg.HKEY_LOCAL_MACHINE, "HKEY_LOCAL_MACHINE", r"Software\Python", winreg.KEY_WOW64_32KEY, 32), # ty: ignore[unresolved-attribute] ]: yield from process_set(hive, hive_name, key, flags, default_arch) def process_set(hive, hive_name, key, flags, default_arch): try: - with winreg.OpenKeyEx(hive, key, 0, winreg.KEY_READ | flags) as root_key: + with winreg.OpenKeyEx(hive, key, 0, winreg.KEY_READ | flags) as root_key: # ty: ignore[unresolved-attribute] for company in enum_keys(root_key): if company == "PyLauncher": # reserved continue @@ -48,7 +48,7 @@ def process_set(hive, hive_name, key, flags, default_arch): def process_company(hive_name, company, root_key, default_arch): - with winreg.OpenKeyEx(root_key, company) as company_key: + with winreg.OpenKeyEx(root_key, company) as company_key: # ty: ignore[unresolved-attribute] for tag in enum_keys(company_key): spec = process_tag(hive_name, company, company_key, tag, default_arch) if spec is not None: @@ -56,7 +56,7 @@ def process_company(hive_name, company, root_key, default_arch): def process_tag(hive_name, company, company_key, tag, default_arch): - with winreg.OpenKeyEx(company_key, tag) as tag_key: + with winreg.OpenKeyEx(company_key, tag) as tag_key: # ty: ignore[unresolved-attribute] version = load_version_data(hive_name, company, tag, tag_key) if version is not None: # if failed to get version bail major, minor, _ = version @@ -75,7 +75,7 @@ def process_tag(hive_name, company, company_key, tag, default_arch): def load_exe(hive_name, company, company_key, tag): key_path = f"{hive_name}/{company}/{tag}" try: - with winreg.OpenKeyEx(company_key, rf"{tag}\InstallPath") as ip_key, ip_key: + with winreg.OpenKeyEx(company_key, rf"{tag}\InstallPath") as ip_key, ip_key: # ty: ignore[unresolved-attribute] exe = get_value(ip_key, "ExecutablePath") if exe is None: ip = get_value(ip_key, None) diff --git a/src/virtualenv/run/__init__.py b/src/virtualenv/run/__init__.py index 03190502b..5d981e2fd 100644 --- a/src/virtualenv/run/__init__.py +++ b/src/virtualenv/run/__init__.py @@ -3,9 +3,10 @@ import logging import os from functools import partial +from typing import TYPE_CHECKING from virtualenv.app_data import make_app_data -from virtualenv.config.cli.parser import VirtualEnvConfigParser +from virtualenv.config.cli.parser import VirtualEnvConfigParser, VirtualEnvOptions from virtualenv.report import LEVELS, setup_report from virtualenv.run.session import Session from virtualenv.seed.wheels.periodic_update import manual_upgrade @@ -16,16 +17,26 @@ from .plugin.discovery import get_discover from .plugin.seeders import SeederSelector +if TYPE_CHECKING: + from collections.abc import MutableMapping -def cli_run(args, options=None, setup_logging=True, env=None): # noqa: FBT002 - """ - Create a virtual environment given some command line interface arguments. + +def cli_run( + args: list[str], + options: VirtualEnvOptions | None = None, + setup_logging: bool = True, # noqa: FBT001, FBT002 + env: MutableMapping[str, str] | None = None, +) -> Session: + """Create a virtual environment given some command line interface arguments. :param args: the command line arguments :param options: passing in a ``VirtualEnvOptions`` object allows return of the parsed options :param setup_logging: ``True`` if setup logging handlers, ``False`` to use handlers already registered :param env: environment variables to use - :return: the session object of the creation (its structure for now is experimental and might change on short notice) + + :returns: the session object of the creation (its structure for now is experimental and might change on short + notice) + """ env = os.environ if env is None else env of_session = session_via_cli(args, options, setup_logging, env) @@ -34,17 +45,23 @@ def cli_run(args, options=None, setup_logging=True, env=None): # noqa: FBT002 return of_session -def session_via_cli(args, options=None, setup_logging=True, env=None): # noqa: FBT002 - """ - Create a virtualenv session (same as cli_run, but this does not perform the creation). Use this if you just want to - query what the virtual environment would look like, but not actually create it. +def session_via_cli( + args: list[str], + options: VirtualEnvOptions | None = None, + setup_logging: bool = True, # noqa: FBT001, FBT002 + env: MutableMapping[str, str] | None = None, +) -> Session: + """Create a virtualenv session (same as cli_run, but this does not perform the creation). Use this if you just want to query what the virtual environment would look like, but not actually create it. :param args: the command line arguments :param options: passing in a ``VirtualEnvOptions`` object allows return of the parsed options :param setup_logging: ``True`` if setup logging handlers, ``False`` to use handlers already registered :param env: environment variables to use - :return: the session object of the creation (its structure for now is experimental and might change on short notice) - """ # noqa: D205 + + :returns: the session object of the creation (its structure for now is experimental and might change on short + notice) + + """ env = os.environ if env is None else env parser, elements = build_parser(args, options, setup_logging, env) options = parser.parse_args(args) diff --git a/src/virtualenv/run/session.py b/src/virtualenv/run/session.py index def795328..341af5fa4 100644 --- a/src/virtualenv/run/session.py +++ b/src/virtualenv/run/session.py @@ -2,6 +2,18 @@ import json import logging +from typing import TYPE_CHECKING + +from typing_extensions import Self + +if TYPE_CHECKING: + from types import TracebackType + + from virtualenv.activation.activator import Activator + from virtualenv.app_data.base import AppData + from virtualenv.create.creator import Creator + from virtualenv.discovery.py_info import PythonInfo + from virtualenv.seed.seeder import Seeder LOGGER = logging.getLogger(__name__) @@ -9,7 +21,15 @@ class Session: """Represents a virtual environment creation session.""" - def __init__(self, verbosity, app_data, interpreter, creator, seeder, activators) -> None: # noqa: PLR0913 + def __init__( # noqa: PLR0913 + self, + verbosity: int, + app_data: AppData, + interpreter: PythonInfo, + creator: Creator, + seeder: Seeder, + activators: list[Activator], + ) -> None: self._verbosity = verbosity self._app_data = app_data self._interpreter = interpreter @@ -18,58 +38,63 @@ def __init__(self, verbosity, app_data, interpreter, creator, seeder, activators self._activators = activators @property - def verbosity(self): + def verbosity(self) -> int: """The verbosity of the run.""" return self._verbosity @property - def interpreter(self): + def interpreter(self) -> PythonInfo: """Create a virtual environment based on this reference interpreter.""" return self._interpreter @property - def creator(self): + def creator(self) -> Creator: """The creator used to build the virtual environment (must be compatible with the interpreter).""" return self._creator @property - def seeder(self): + def seeder(self) -> Seeder: """The mechanism used to provide the seed packages (pip, setuptools, wheel).""" return self._seeder @property - def activators(self): + def activators(self) -> list[Activator]: """Activators used to generate activations scripts.""" return self._activators - def run(self): + def run(self) -> None: self._create() self._seed() self._activate() self.creator.pyenv_cfg.write() - def _create(self): + def _create(self) -> None: LOGGER.info("create virtual environment via %s", self.creator) self.creator.run() LOGGER.debug(_DEBUG_MARKER) LOGGER.debug("%s", _Debug(self.creator)) - def _seed(self): + def _seed(self) -> None: if self.seeder is not None and self.seeder.enabled: LOGGER.info("add seed packages via %s", self.seeder) self.seeder.run(self.creator) - def _activate(self): + def _activate(self) -> None: if self.activators: active = ", ".join(type(i).__name__.replace("Activator", "") for i in self.activators) LOGGER.info("add activators for %s", active) for activator in self.activators: activator.generate(self.creator) - def __enter__(self): + def __enter__(self) -> Self: return self - def __exit__(self, exc_type, exc_val, exc_tb): + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: self._app_data.close() diff --git a/src/virtualenv/seed/seeder.py b/src/virtualenv/seed/seeder.py index 58fd8f416..ee6f0498d 100644 --- a/src/virtualenv/seed/seeder.py +++ b/src/virtualenv/seed/seeder.py @@ -1,39 +1,48 @@ from __future__ import annotations from abc import ABC, abstractmethod +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from argparse import ArgumentParser + + from virtualenv.app_data.base import AppData + from virtualenv.config.cli.parser import VirtualEnvOptions + from virtualenv.create.creator import Creator + from virtualenv.discovery.py_info import PythonInfo class Seeder(ABC): """A seeder will install some seed packages into a virtual environment.""" - def __init__(self, options, enabled) -> None: - """ - Create. + def __init__(self, options: VirtualEnvOptions, enabled: bool) -> None: # noqa: FBT001 + """Create. :param options: the parsed options as defined within :meth:`add_parser_arguments` :param enabled: a flag weather the seeder is enabled or not + """ self.enabled = enabled self.env = options.env @classmethod - def add_parser_arguments(cls, parser, interpreter, app_data): - """ - Add CLI arguments for this seed mechanisms. + def add_parser_arguments(cls, parser: ArgumentParser, interpreter: PythonInfo, app_data: AppData) -> None: + """Add CLI arguments for this seed mechanisms. :param parser: the CLI parser :param app_data: the CLI parser :param interpreter: the interpreter this virtual environment is based of + """ raise NotImplementedError @abstractmethod - def run(self, creator): - """ - Perform the seed operation. + def run(self, creator: Creator) -> None: + """Perform the seed operation. + + :param creator: the creator (based of :class:`virtualenv.create.creator.Creator`) we used to create this virtual + environment - :param creator: the creator (based of :class:`virtualenv.create.creator.Creator`) we used to create this \ - virtual environment """ raise NotImplementedError diff --git a/src/virtualenv/util/path/_win.py b/src/virtualenv/util/path/_win.py index 6404cda64..a70bd2505 100644 --- a/src/virtualenv/util/path/_win.py +++ b/src/virtualenv/util/path/_win.py @@ -6,7 +6,7 @@ def get_short_path_name(long_name): import ctypes # noqa: PLC0415 from ctypes import wintypes # noqa: PLC0415 - GetShortPathNameW = ctypes.windll.kernel32.GetShortPathNameW # noqa: N806 + GetShortPathNameW = ctypes.windll.kernel32.GetShortPathNameW # noqa: N806 # ty: ignore[unresolved-attribute] GetShortPathNameW.argtypes = [wintypes.LPCWSTR, wintypes.LPWSTR, wintypes.DWORD] GetShortPathNameW.restype = wintypes.DWORD output_buf_size = 0 diff --git a/tests/conftest.py b/tests/conftest.py index e4fc28479..bfac5e2ff 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -198,9 +198,7 @@ def _check_os_environ_stable(): @pytest.fixture(autouse=True) def coverage_env(monkeypatch, link, request): - """ - Enable coverage report collection on the created virtual environments by injecting the coverage project - """ + """Enable coverage report collection on the created virtual environments by injecting the coverage project""" if COVERAGE_RUN and "_no_coverage" not in request.fixturenames: # we inject right after creation, we cannot collect coverage on site.py - used for helper scripts, such as debug from virtualenv import run # noqa: PLC0415 @@ -326,10 +324,7 @@ def session_app_data(tmp_path_factory): @contextmanager def change_env_var(key, value): - """Temporarily change an environment variable. - :param key: the key of the env var - :param value: the value of the env var - """ + """Temporarily change an environment variable. :param key: the key of the env var :param value: the value of the env var""" already_set = key in os.environ prev_value = os.environ.get(key) os.environ[key] = value diff --git a/tests/integration/test_race_condition_simulation.py b/tests/integration/test_race_condition_simulation.py index 857de9aa5..305a009fb 100644 --- a/tests/integration/test_race_condition_simulation.py +++ b/tests/integration/test_race_condition_simulation.py @@ -9,12 +9,12 @@ def test_race_condition_simulation(tmp_path): """Test that simulates the race condition described in the issue. - This test creates a temporary directory with _virtualenv.py and _virtualenv.pth, - then simulates the scenario where: - - One process imports and uses the _virtualenv module (simulating marimo) - - Another process overwrites the _virtualenv.py file (simulating uv venv) + This test creates a temporary directory with _virtualenv.py and _virtualenv.pth, then simulates the scenario where: + - One process imports and uses the _virtualenv module (simulating marimo) - Another process overwrites the + _virtualenv.py file (simulating uv venv) The test verifies that no NameError is raised for _DISTUTILS_PATCH. + """ # Create the _virtualenv.py file virtualenv_file = tmp_path / "_virtualenv.py" diff --git a/tests/unit/activation/test_batch.py b/tests/unit/activation/test_batch.py index 468bcff91..aae22b0be 100644 --- a/tests/unit/activation/test_batch.py +++ b/tests/unit/activation/test_batch.py @@ -137,12 +137,7 @@ def __init__(self, session) -> None: self.unix_line_ending = False def _get_test_lines(self, activate_script): - """ - Build intermediary script which will be then called. - In the script just activate environment, call echo to get current - echo setting, and then deactivate. This ensures that echo setting - is preserved and no unwanted output appears. - """ + """Build intermediary script which will be then called. In the script just activate environment, call echo to get current echo setting, and then deactivate. This ensures that echo setting is preserved and no unwanted output appears.""" intermediary_script_path = str(tmp_path / "intermediary.bat") activate_script_quoted = self.quote(str(activate_script)) return [ diff --git a/tests/unit/activation/test_powershell.py b/tests/unit/activation/test_powershell.py index c6a4c687c..fc26751a8 100644 --- a/tests/unit/activation/test_powershell.py +++ b/tests/unit/activation/test_powershell.py @@ -118,11 +118,7 @@ def print_prompt(self): return "prompt" def quote(self, s): - """ - Tester will pass strings to native commands on Windows so extra - parsing rules are used. Check `PowerShellActivator.quote` for more - details. - """ + """Tester will pass strings to native commands on Windows so extra parsing rules are used. Check `PowerShellActivator.quote` for more details.""" text = PowerShellActivator.quote(s) return text.replace('"', '""') if sys.platform == "win32" else text diff --git a/tests/unit/create/conftest.py b/tests/unit/create/conftest.py index 58d390c5c..adb810077 100644 --- a/tests/unit/create/conftest.py +++ b/tests/unit/create/conftest.py @@ -1,10 +1,10 @@ -""" -It's possible to use multiple types of host pythons to create virtual environments and all should work: +"""It's possible to use multiple types of host pythons to create virtual environments and all should work: - host installation - invoking from a venv (if Python 3.3+) - invoking from an old style virtualenv (<17.0.0) - invoking from our own venv + """ from __future__ import annotations diff --git a/tests/unit/create/via_global_ref/builtin/testing/path.py b/tests/unit/create/via_global_ref/builtin/testing/path.py index 06ba921c5..d55e2c37e 100644 --- a/tests/unit/create/via_global_ref/builtin/testing/path.py +++ b/tests/unit/create/via_global_ref/builtin/testing/path.py @@ -76,9 +76,7 @@ def iterdir(self): def MetaPathMock(filelist): # noqa: N802 - """ - Metaclass that creates a `PathMock` class with the `filelist` defined. - """ + """Metaclass that creates a `PathMock` class with the `filelist` defined.""" return type("PathMock", (PathMockABC,), {"filelist": filelist}) diff --git a/tests/unit/discovery/py_info/test_py_info.py b/tests/unit/discovery/py_info/test_py_info.py index 680b7f559..02636dab5 100644 --- a/tests/unit/discovery/py_info/test_py_info.py +++ b/tests/unit/discovery/py_info/test_py_info.py @@ -374,10 +374,7 @@ def test_py_info_to_system_raises(session_app_data, mocker, caplog): def _stringify_schemes_dict(schemes_dict): - """ - Since this file has from __future__ import unicode_literals, we manually cast all values of mocked install_schemes - to str() as the original schemes are not unicode on Python 2. - """ + """Since this file has from __future__ import unicode_literals, we manually cast all values of mocked install_schemes to str() as the original schemes are not unicode on Python 2.""" return {str(n): {str(k): str(v) for k, v in s.items()} for n, s in schemes_dict.items()} diff --git a/tests/unit/discovery/test_discovery.py b/tests/unit/discovery/test_discovery.py index ce70a69a9..e1c7075d3 100644 --- a/tests/unit/discovery/test_discovery.py +++ b/tests/unit/discovery/test_discovery.py @@ -245,9 +245,7 @@ def test_discovery_via_path_with_file(tmp_path, monkeypatch): def test_absolute_path_does_not_exist(tmp_path): - """ - Test that virtualenv does not fail when an absolute path that does not exist is provided. - """ + """Test that virtualenv does not fail when an absolute path that does not exist is provided.""" # Create a command that uses an absolute path that does not exist # and a valid python executable. command = [ @@ -275,9 +273,7 @@ def test_absolute_path_does_not_exist(tmp_path): def test_absolute_path_does_not_exist_fails(tmp_path): - """ - Test that virtualenv fails when a single absolute path that does not exist is provided. - """ + """Test that virtualenv fails when a single absolute path that does not exist is provided.""" # Create a command that uses an absolute path that does not exist command = [ sys.executable, diff --git a/tests/unit/discovery/windows/test_windows_pep514.py b/tests/unit/discovery/windows/test_windows_pep514.py index 0498352aa..3f296991c 100644 --- a/tests/unit/discovery/windows/test_windows_pep514.py +++ b/tests/unit/discovery/windows/test_windows_pep514.py @@ -105,7 +105,7 @@ def test_pep514_run(capsys, caplog): ('PythonCore', 3, 9, 64, False, 'C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\python.exe', None) ('PythonCore', 3, 9, 64, False, 'C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\python.exe', None) ('PythonCore', 3, 9, 64, False, 'C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\python.exe', None) - """, # noqa: E501 + """, ).strip() assert out.strip() == expected assert not err diff --git a/tests/unit/test_file_limit.py b/tests/unit/test_file_limit.py index e0ab4f826..b6c953a63 100644 --- a/tests/unit/test_file_limit.py +++ b/tests/unit/test_file_limit.py @@ -12,9 +12,7 @@ @pytest.mark.skipif(sys.platform == "win32", reason="resource module not available on Windows") def test_too_many_open_files(tmp_path): - """ - Test that we get a specific error when we have too many open files. - """ + """Test that we get a specific error when we have too many open files.""" import resource # noqa: PLC0415 soft_limit, hard_limit = resource.getrlimit(resource.RLIMIT_NOFILE) diff --git a/tox.ini b/tox.ini index 141111f8e..c2e1357ee 100644 --- a/tox.ini +++ b/tox.ini @@ -76,7 +76,11 @@ commands = description = build documentation extras = docs +set_env = + PYTHONUTF8 = 1 commands = + pre-commit run docstrfmt --all-files + proselint check docs sphinx-build -d "{envtmpdir}/doctree" docs "{toxworkdir}/docs_out" --color -b html {posargs:-W} python -c 'import pathlib; print("documentation available under file://\{0\}".format(pathlib.Path(r"{toxworkdir}") / "docs_out" / "index.html"))'