From 8e101cbe96a9a0c818303a32a1382bc89f6a3222 Mon Sep 17 00:00:00 2001 From: colinkiama Date: Mon, 1 Apr 2024 21:43:32 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20colinkia?= =?UTF-8?q?ma/vala-docs@3d0e291700bf427bac463e039387cf00228e5a70=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .buildinfo | 4 + .doctrees/environment.pickle | Bin 0 -> 396467 bytes .doctrees/index.doctree | Bin 0 -> 2930 bytes .doctrees/tutorial/01-00-introduction.doctree | Bin 0 -> 7030 bytes .../tutorial/02-00-getting-started.doctree | Bin 0 -> 3982 bytes .doctrees/tutorial/02-01-installation.doctree | Bin 0 -> 14998 bytes .doctrees/tutorial/02-02-hello-world.doctree | Bin 0 -> 26806 bytes .../tutorial/02-03-basic-debugging.doctree | Bin 0 -> 26787 bytes ...-data-types-and-control-structures.doctree | Bin 0 -> 6265 bytes .doctrees/tutorial/03-01-variables.doctree | Bin 0 -> 9032 bytes .doctrees/tutorial/03-02-numbers.doctree | Bin 0 -> 27659 bytes .../tutorial/03-03-bools-and-ifs.doctree | Bin 0 -> 30248 bytes .../03-04-enums-and-switch-statements.doctree | Bin 0 -> 29723 bytes .doctrees/tutorial/03-05-loops.doctree | Bin 0 -> 20868 bytes .../tutorial/04-00-parrot-program.doctree | Bin 0 -> 5656 bytes .../04-01-entering-your-phrase.doctree | Bin 0 -> 10086 bytes .../04-02-cycle-through-names.doctree | Bin 0 -> 9905 bytes .doctrees/tutorial/05-00-methods.doctree | Bin 0 -> 3007 bytes .../05-01-introducing-methods.doctree | Bin 0 -> 18601 bytes .doctrees/tutorial/05-02-main-method.doctree | Bin 0 -> 19169 bytes .doctrees/tutorial/index.doctree | Bin 0 -> 11029 bytes .nojekyll | 0 _sources/index.rst.txt | 10 + _sources/tutorial/01-00-introduction.rst.txt | 28 + .../tutorial/02-00-getting-started.rst.txt | 15 + _sources/tutorial/02-01-installation.rst.txt | 115 +++ _sources/tutorial/02-02-hello-world.rst.txt | 150 +++ .../tutorial/02-03-basic-debugging.rst.txt | 186 ++++ ...-data-types-and-control-structures.rst.txt | 27 + _sources/tutorial/03-01-variables.rst.txt | 42 + _sources/tutorial/03-02-numbers.rst.txt | 162 ++++ _sources/tutorial/03-03-bools-and-ifs.rst.txt | 247 +++++ .../03-04-enums-and-switch-statements.rst.txt | 272 ++++++ _sources/tutorial/03-05-loops.rst.txt | 130 +++ .../tutorial/04-00-parrot-program.rst.txt | 23 + .../04-01-entering-your-phrase.rst.txt | 65 ++ .../04-02-cycle-through-names.rst.txt | 104 ++ _sources/tutorial/05-00-methods.rst.txt | 10 + .../05-01-introducing-methods.rst.txt | 188 ++++ _sources/tutorial/05-02-main-method.rst.txt | 164 ++++ _sources/tutorial/index.rst.txt | 41 + _static/basic.css | 903 ++++++++++++++++++ _static/bullet.svg | 1 + _static/card.png | Bin 0 -> 353498 bytes _static/check-solid.svg | 4 + _static/clipboard.min.js | 7 + _static/copy-button.svg | 5 + _static/copybutton.css | 94 ++ _static/copybutton.js | 248 +++++ _static/copybutton_funcs.js | 73 ++ _static/debug.css | 69 ++ _static/doctools.js | 156 +++ _static/documentation_options.js | 14 + _static/file.png | Bin 0 -> 286 bytes _static/fonts/cantarell-bold-latin.woff2 | Bin 0 -> 13952 bytes .../fonts/cantarell-extra-bold-latin.woff2 | Bin 0 -> 13596 bytes _static/fonts/cantarell-light.woff2 | Bin 0 -> 51052 bytes _static/fonts/cantarell-regular-latin.woff2 | Bin 0 -> 13116 bytes _static/gnome.css | 422 ++++++++ _static/language_data.js | 199 ++++ _static/logo.png | Bin 0 -> 10728 bytes _static/minus.png | Bin 0 -> 90 bytes _static/plus.png | Bin 0 -> 90 bytes _static/pygments.css | 258 +++++ _static/right.svg | 1 + _static/scripts/furo-extensions.js | 0 _static/scripts/furo.js | 3 + _static/scripts/furo.js.LICENSE.txt | 7 + _static/scripts/furo.js.map | 1 + _static/searchtools.js | 566 +++++++++++ _static/skeleton.css | 296 ++++++ _static/sphinx_highlight.js | 144 +++ _static/styles/furo-extensions.css | 2 + _static/styles/furo-extensions.css.map | 1 + _static/styles/furo.css | 2 + _static/styles/furo.css.map | 1 + _static/toc_bullet.svg | 39 + genindex.html | 252 +++++ index.html | 272 ++++++ objects.inv | Bin 0 -> 693 bytes search.html | 260 +++++ searchindex.js | 1 + tutorial/01-00-introduction.html | 319 +++++++ tutorial/02-00-getting-started.html | 287 ++++++ tutorial/02-01-installation.html | 397 ++++++++ tutorial/02-02-hello-world.html | 409 ++++++++ tutorial/02-03-basic-debugging.html | 456 +++++++++ ...-00-data-types-and-control-structures.html | 297 ++++++ tutorial/03-01-variables.html | 333 +++++++ tutorial/03-02-numbers.html | 442 +++++++++ tutorial/03-03-bools-and-ifs.html | 515 ++++++++++ .../03-04-enums-and-switch-statements.html | 545 +++++++++++ tutorial/03-05-loops.html | 415 ++++++++ tutorial/04-00-parrot-program.html | 313 ++++++ tutorial/04-01-entering-your-phrase.html | 348 +++++++ tutorial/04-02-cycle-through-names.html | 385 ++++++++ tutorial/05-00-methods.html | 282 ++++++ tutorial/05-01-introducing-methods.html | 448 +++++++++ tutorial/05-02-main-method.html | 412 ++++++++ tutorial/index.html | 309 ++++++ 100 files changed, 13196 insertions(+) create mode 100644 .buildinfo create mode 100644 .doctrees/environment.pickle create mode 100644 .doctrees/index.doctree create mode 100644 .doctrees/tutorial/01-00-introduction.doctree create mode 100644 .doctrees/tutorial/02-00-getting-started.doctree create mode 100644 .doctrees/tutorial/02-01-installation.doctree create mode 100644 .doctrees/tutorial/02-02-hello-world.doctree create mode 100644 .doctrees/tutorial/02-03-basic-debugging.doctree create mode 100644 .doctrees/tutorial/03-00-data-types-and-control-structures.doctree create mode 100644 .doctrees/tutorial/03-01-variables.doctree create mode 100644 .doctrees/tutorial/03-02-numbers.doctree create mode 100644 .doctrees/tutorial/03-03-bools-and-ifs.doctree create mode 100644 .doctrees/tutorial/03-04-enums-and-switch-statements.doctree create mode 100644 .doctrees/tutorial/03-05-loops.doctree create mode 100644 .doctrees/tutorial/04-00-parrot-program.doctree create mode 100644 .doctrees/tutorial/04-01-entering-your-phrase.doctree create mode 100644 .doctrees/tutorial/04-02-cycle-through-names.doctree create mode 100644 .doctrees/tutorial/05-00-methods.doctree create mode 100644 .doctrees/tutorial/05-01-introducing-methods.doctree create mode 100644 .doctrees/tutorial/05-02-main-method.doctree create mode 100644 .doctrees/tutorial/index.doctree create mode 100644 .nojekyll create mode 100644 _sources/index.rst.txt create mode 100644 _sources/tutorial/01-00-introduction.rst.txt create mode 100644 _sources/tutorial/02-00-getting-started.rst.txt create mode 100644 _sources/tutorial/02-01-installation.rst.txt create mode 100644 _sources/tutorial/02-02-hello-world.rst.txt create mode 100644 _sources/tutorial/02-03-basic-debugging.rst.txt create mode 100644 _sources/tutorial/03-00-data-types-and-control-structures.rst.txt create mode 100644 _sources/tutorial/03-01-variables.rst.txt create mode 100644 _sources/tutorial/03-02-numbers.rst.txt create mode 100644 _sources/tutorial/03-03-bools-and-ifs.rst.txt create mode 100644 _sources/tutorial/03-04-enums-and-switch-statements.rst.txt create mode 100644 _sources/tutorial/03-05-loops.rst.txt create mode 100644 _sources/tutorial/04-00-parrot-program.rst.txt create mode 100644 _sources/tutorial/04-01-entering-your-phrase.rst.txt create mode 100644 _sources/tutorial/04-02-cycle-through-names.rst.txt create mode 100644 _sources/tutorial/05-00-methods.rst.txt create mode 100644 _sources/tutorial/05-01-introducing-methods.rst.txt create mode 100644 _sources/tutorial/05-02-main-method.rst.txt create mode 100644 _sources/tutorial/index.rst.txt create mode 100644 _static/basic.css create mode 100644 _static/bullet.svg create mode 100644 _static/card.png create mode 100644 _static/check-solid.svg create mode 100644 _static/clipboard.min.js create mode 100644 _static/copy-button.svg create mode 100644 _static/copybutton.css create mode 100644 _static/copybutton.js create mode 100644 _static/copybutton_funcs.js create mode 100644 _static/debug.css create mode 100644 _static/doctools.js create mode 100644 _static/documentation_options.js create mode 100644 _static/file.png create mode 100644 _static/fonts/cantarell-bold-latin.woff2 create mode 100644 _static/fonts/cantarell-extra-bold-latin.woff2 create mode 100644 _static/fonts/cantarell-light.woff2 create mode 100644 _static/fonts/cantarell-regular-latin.woff2 create mode 100644 _static/gnome.css create mode 100644 _static/language_data.js create mode 100644 _static/logo.png create mode 100644 _static/minus.png create mode 100644 _static/plus.png create mode 100644 _static/pygments.css create mode 100644 _static/right.svg create mode 100644 _static/scripts/furo-extensions.js create mode 100644 _static/scripts/furo.js create mode 100644 _static/scripts/furo.js.LICENSE.txt create mode 100644 _static/scripts/furo.js.map create mode 100644 _static/searchtools.js create mode 100644 _static/skeleton.css create mode 100644 _static/sphinx_highlight.js create mode 100644 _static/styles/furo-extensions.css create mode 100644 _static/styles/furo-extensions.css.map create mode 100644 _static/styles/furo.css create mode 100644 _static/styles/furo.css.map create mode 100644 _static/toc_bullet.svg create mode 100644 genindex.html create mode 100644 index.html create mode 100644 objects.inv create mode 100644 search.html create mode 100644 searchindex.js create mode 100644 tutorial/01-00-introduction.html create mode 100644 tutorial/02-00-getting-started.html create mode 100644 tutorial/02-01-installation.html create mode 100644 tutorial/02-02-hello-world.html create mode 100644 tutorial/02-03-basic-debugging.html create mode 100644 tutorial/03-00-data-types-and-control-structures.html create mode 100644 tutorial/03-01-variables.html create mode 100644 tutorial/03-02-numbers.html create mode 100644 tutorial/03-03-bools-and-ifs.html create mode 100644 tutorial/03-04-enums-and-switch-statements.html create mode 100644 tutorial/03-05-loops.html create mode 100644 tutorial/04-00-parrot-program.html create mode 100644 tutorial/04-01-entering-your-phrase.html create mode 100644 tutorial/04-02-cycle-through-names.html create mode 100644 tutorial/05-00-methods.html create mode 100644 tutorial/05-01-introducing-methods.html create mode 100644 tutorial/05-02-main-method.html create mode 100644 tutorial/index.html diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 0000000..6eb8c11 --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: c2ab5f9afc6cc953b57fec8ffe14a7ca +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..badaf9e1bf05291b821b93bff10273f9e3177920 GIT binary patch literal 396467 zcmeFa37i~PbuVmfqtRHqWLe%zvav?8dPbI)fQ%Pen`K#J$C51@OP=ZJu9@yqPj|bk zTcg32;}8rQs2Bpn8p871k*+_sGLKeafNgm7Fs<%lxG3?y6gNIrrSN-*cZ@_J*Dd7F|Gp-g>uMD3;F-*yS_DTBST;m+Ld$ z+B+M?QvN{b*6U}s|LDxQnSO6cwpyJT^7`_XT)k%7`C@IxyJ@gcnXm_IjdIzp4Ng{S zrw7kuOW6#{xS?;ORO#S=defcpdfZx$E7;ju1#YEL%h`A@S1FGb$7j4%s`L7H&pvtJ z_jX0)j9sf0^R|o5d&^wA-r(NbXX|#^Emq3z%qa|NlLo@s`oMUxUTBO~v*UQjTPF{O zbCv4UXro@QlxJ*jd9_w?>>S{<{y_}W+F!{v2yWRrDxC3FP~lo}ynq7hcJJDK<4$W| zrBp0iM~c~rEP9`9)C(1W?Ly=BDjD6d+ZY=wo~7)l#-@yTjFNy?{Y@eZ&5}nXI?gKAS5w@-{uL+ch4i*H@@dl!oiYddZ$CY}P*u z_5@(MbgWUUU_?@c?hRL}G$4Xpzqg@80~*e`?(msxt(YAxF-Y+sS1DC$nbBIdoX=Ei z#ffZfYQ|fB_1>Fq-hW{CjQJe%1i05{3Ih#qeLh<|9j~yEDGU?_slZwV5a3vS81Oqi zs5Ep;Gj&>K&~<|i1zV}KpR3edS`GVTPzPsC4-NT6-#zGJ7J%jX?Ux7kTe#$ zODN#27%u~b2XK!d-;04%YQ_50%u#EJ`wGBw1;0|Ni~~l!^f6E^0|8g^?Xm2cB8E0o zxW!w`H(bJnoSvF~AUfZe@$NPdeV|myWlMvl;^<&?3OG@|Vc_~*gKn{IXR6uUX+pul z7y=FstIBL|gEUsCOfrHB&Kod5yDZt@jAn-)B4uktea68_VjIe0IwJxq^QVk4@BPhUAUjQnozaz|_rni)~cIJ-Co3+8ze6 zV{BV4zulRvJl`xp7}oDHUJ|y>c$*%tRVwv!1CQ%x=N`wbol_NC<2IJ}+4^v{RKjeJ zHD3DCso^@-q6^}{i+9>vuFB9*y}pU83wkgNA`E(1Ea&aBs;XXUhwm58aIXqi6t0x+ zt*dv23GMAFfp}#|mhh zv-vzaUuFcsvZ;Yc6l@o>dS2B^1tu!_M#&x~xcCp&*DJZ<$|#ZJVZ2l;29K_aKN@yv zO-TKOd-)2{2nB#E@b&~Swo)%w>NfCx%tk+QHr7xUTxVK(vXZM167K4otE*Gv!~tBa z%_$xhqtp5Vh^7!uJ$t}01pw9Rx}Z!zZ@H<$mcmv+%Qc#^508SE0kwwY{;JcqT^*jx z*2hW&RWQ>div<4n6pl*6Ye2&a!zeI{m4lV0-(JV}?Z*H_P3cruFVt^fVQbj* z)k|QWcC9!zrEgtGw{pO)THV#7>}$Bx$~f^!U7HK8T7RqowDcjpK6Gz5t0?P|$M%C% zF}OE|pDSTNSosQ#i%g0ZJ6TZhUY5;3{8$`X0_cN2GJCKaQr{JVox_kj3R$=4Lb52K z1jqoWVBs$d ze@Snx5AKDe6M5Dr&y;W@_b%jnO5OrH;7X*A8VECmqTCkthSp0(w_w+1baBP@e3=fs zf~#4>bwji)*NbCCyx=Wwluwr{lb|PDKpJ;*GJ2e&bkwsI2A-^C`NV=>QA*MsP)=$>)JCl&*Kq85QfTi|9`Yyf{ zg|j7Tu&}MruP7}`GK_RudgBL$?S&ok<=Vn#DXJtr)CECGW1Ub@5z9iHps=TKi@g3~ z{pH5OO>*b%!V&p$YvDGjc@4i0qFBoso$xN=2PJUu;YKwN=^sp!B@b>^q%apqGn&PU zgowbmfS^*&mQW?llYT5Rq>yU@cQMB_hF_JARBgy`Bx4ip;rko8AHn@$mVUiO zSF0vPz7EeHzosBoEkT}_iJg}EaYiDb@0!eS74$+d(?<&SB9ST<}4+?vM!TjoGX`DrDt`s#)u>#eikLnTMX}yWj#X{aIMv*{XfN zJ$~S9wI7Nv*6nud@jeTGHK^~kvL!bMYBqDA{=r8Ec3gM+qt`rsu7CRzkDNSp^5m(( z@txMTlP9macH8z_tieI+nrp2I8$z*#m2FLeXW14QG$?akRn~W|uWxY2jy`LLbw5Md zwG_q7Tf_#fF=$Ly)*1o<89*s2cn9Rj?1c3=-8*O1vo*-sT)?VVEFcvCM@9W|((QA) zVr$>AW0nS(RT;C&s0Tf)=mPSxjM=pw-+%AXV+@UR)^Wc_Bhu`MHCe0|q^E)U8+W7(NM6pz|Ms2H_bzNW#;Se`nFJ$Z1B;cS*_F-h8RgDstDO=;U>?oIJ41#?G z<7Sk#szn=QmL{DaaYgcGd0U;D0>R2#Fd0=E^=hLYnnu>A_o1UQl^D%Fv8n9j?o03Q zWA&a&?8HE@l%T+4PRFt(*WPInt)UvE)ICHjXu>hSJJrOX6J6{pO{3OCQe|K)AnRP1+U~CuRmyZBa8A zT+j}lDbnRy1l6r~9k~Ah85`LO=We~7YoeL~M(Q$k61~{6C8@{Z!gooxxomg{e&2F6 z8*EpNfYvH#71`xL;K-uF-2o;-sRY^Lo^$oI67)o9ND!tAB+y*ho&@1xlDF;A{%zKE ziL;5@+qU-)?AX3-J68)@f*DoBahCcFvPu&gMV0Nb+GW&$Jm`WTA_0@o;*nFq?8(Rv zRvMTIg=4|P@k%{30gQmg!vNr+XVN0g)uBpVa52;-p+tXBL@y$mV~FAdE{PZY+fJ6Z zZ4X15aSXLktpog{Uw|)=B;e5`NwFuMu)-aepQ@|jO6e_g_)_NpDaQTOR8TvWHHI`$ zZMcR0(CcPd>W$Defq-jWdu_O}Xg{d_&?HIiJe)^%pE9eCp$)xDf3f%DLlC+u#VrF$ z3buAR@16iN;^EVzgsH=J>)P;|WF*#g(SUh&lmW@@53fM=rk(`jO{xL&72wjA;Fn)e z4Vqfnl0X5Y;G6{%q1qzE5wpajAR9^lcI(z#Z?(2ncVM79^Mh zQVHra#;XsEscbn7tX9xH3p&nt5%Rvg$2DpY`^##;h0(kJ3^7q$&{gL0;ocH|QcDY~ zCkz#*QY_0llNAjKiY5XC{C;M|V5m@FiU7tqkv9Sg5zOqFN-=LiC9h=2Uqnxt{eroY zistt-)G&Ng3a7T7EN?ZIb*L1&7y32ef_vNjyLMWc>jnD_i6B%G!T<~l0Yw~EA`9%# z1Jvnq1y*Je`bF;%Ai&zFjiJlf7^)NwaiGAw2BRUlEnHZ3l)@sKn3$T#lB7I6-r@mE zy(|rgmf{ur~kjaKj zZCW+Dob?;By0g)pbqYX2**Bey@E%I9q+t-60t{_1CsV`9Y{fO-I84enZYo_5mc4qx zfn9+8R^Bbzqm#>*2OO7Fjx)7^vRxl6S0~`X;j(w!Flf6s4Pw$V6BDIOj{1he3TSMd zqZ*?yS*@E=#s%{9Ek4-~!~DtZGq!Z!e>qCcCas}iw%eg1w)tJ^KMJ&c zk@m^1CuJ_yW!Q|MT?G}WY?mB-;GTP|p}j{BST8n6$dJ{asAFpa#EhfVgW6J3fNoC!(NO#Kr|Zq z8hPx?ZUp|q8LyYz$Kax8o48m_&uI_Ll?~W(>hLjet$k7}d+Ube)>^p*=QWU&Z5#jy z7rsoMkcmLPO~5+=gGQ+_Q3lMz-J~*SVYz?-TJB#WZ`3Q*l6}T5LH}h#Ea(_;gx}mK zC1UoKaJ3;j*y3_Ub!&sX$j``P0~<3L*Z95F@(j8WI~~ZD!}mAI{gAE4H}~=Lb@H6u zYicDEy7!J&DyMN1b~yO1;mxg8CSBk@zjL8_hpm{-&(pf+`>KCpDhsVVeyE@=50!)3 z=sG4m2Lxm@lzIasiDiCm%@5|sf1-_;VRVsdFC&U3ud^o%ln&1FVh!^Vw6Qu=sKHKi zdHIsye$9s33G-UP&azosLv~%b2v|GpEASF<&qI&u#R(hSLC<~Y3B^Q^nf%DI*h|@R z4mLz$5?tNppe6Mr0EoBv(JdOsFAvJqu%JMoVXA>4QhIRcj@oarMO`Xgffb_cezL%p z(gK5Xp3L)R{DMW4;_~c~MgD49MK1?9s&Md9x;v3Q4bzz*Jvleo_~WmR4K5Z!$rekQ zHcL7;`mAFe7I?8dRv}}PsBUWcOYdN4z1&%{7%?hW-3!?P6Kzhdday*hChn; zk-!Qv#MBVFu(Do&LY^OHcRDB*cj@9>wJP>y@ZX4+lMAfl0*S-fNRLtmgr|^*8sliO zavIJNwHP+gYx00`f+C~zvrEYCR~?3{yqqOd!7!Pe;GTC2D8c>NBEcWS#9kWZ$H2L z6qzWNA^y}Rh7ndY4rUVcI|M!#l7V1;q3Bl<>Z62#zy;|)Tobe)P9^W+1R8x8rZpJ! zWx+cnuoI?XwUS>F3pnUkXhQsA;=Df<)U_$7i-7<&MFjOVgAKPfIEsj>La|XVmV#G8 zaP#Yxch>pu=m)`DR?rZznF4)?SRhi35E;|}i0lJpE$~b*InA+5kriBwk$4@koybee ziR*#cC>qV$78gly0R<0<(P~{yOa6~Rw4s%i)*n$Y)~cc$wZefUs*aWF0Sifp#VNx% zcSh@h;b&33hW$sR^udY5Z8#^uQq|Xog0Bw;UtdBzSDaqXBcbmnL*Gx~yYndBpt_wb z{T$Uly^BH$vgnXJ#adn5;0M5PRG&n_cs-zaa0m#iXf#H>RiY?y1RH3@kwxS^BGpOV z5q^Q`@p>RnBc2AL)WzOvi5VI2x&89{6yMizo`v4R3JO>9dNI2aAM_dswpZ857hFV$ z-L4xmyROfmMucCK$1_uK8fL168m13!si4$NnO(aw6E;Hez^uG0f(Lkg7h>`t8P^fy zSb=39de2tl`R+_^Dp#^IU`dt6cp)R*@HPj9ZlFE{(Uabl!K2+&KdD#LJ21H#e7o?2 z`vt^Z>h1Dx>_TO`GVlRsGfeg~6n+U<))A?L3RJi#264IZ$_*Lfv@Vw}LZR?34IX3g zyEA0ERuC{AqJz6L!1+=o1AIH|phaUs zK;puUmMhQ%AmWPg@3oE5!pJ$`(prUtA`-d-xtSx2z0J{^1qA;gZmmwJeR1?*k%Sin z7vhTDbFL-6 zv-tu-r3yjw7DLGJRw?^bB`a};ONscxLSiHI3c@UfR3JD9@SO%lDpj(l5sw7fdKjWE zMZ7`$Iq$8kA}Ee1GxK*3o_dKH#%*^%KtL9XL98z-84|vSyp^@FT%vSI8o0lFbazBE3z_vanbn2Lq?j4zbWYhQA>k_@(1aNn9^1DLgantaztUuDpc%qySK_x;CG#$_kaEK zuYK7075~?_w_fOc(Es(FZ69&o75sW)mGjQv*Y|$b`C0$hcOSpO`I+F?JExpq_J94$ zdv-YQ^MC#8+pl-tNBqgx|3-R z_>MckxbTBju$+=ElPyhVr(DD;yIycgek5y2MxAkB;IXr~Z2zPz4=Mn=JfYY-~F65)PJ3Rify8v*)cwh8SjAn{Q) zwMfqfeMZ8Bnzw5dt~|0BJY$8o0>jEeP^cDs;1`y8h2sT;7U=gV%pi*(5Hcu{J%dC3 z@?_Q^2?Hv|IASF18lfAzmX!oVaV!*iKye8$!R87U1R9Ps7z0LDCh^`Lf&QiiY*5W7 zfH^3@94cH%Q&zYN^HkUZT(}zlUx5GH@P9kzpl}^_dt6c2379R_bHK2>aI}GyCGL|D z^a9*lL5`JS=)Du6$KLMa@QWejC68&P=stL#cGx`lnZ>)xezk_2WT4;XX~AG)?4;s zEhCnRbOXCSMU-F+aV9VpxfBEh4bd1e(*=#e(W!m48huA~2Jrat_TjMt@R;rh9=9EX z_6Lg=;$wu+DuOqWowAA(SjPx5BNfiVQioN&4&8@HCBQ}ty)Ob1@79j0liD_QT1x=Z zceW4GK7jPu_CablCB0scP}mu7QHJU8t%?p48Dd_@ba*N4gb7pF!zXMDY!)(wMWODH zO~!4DHNVhr%mbk;8DA+pi+H!7aftK92=DJIyzOEO0mwhmKFC)A5Wh1U$bU;iOQ1*e z__sAZeu#YJhiUbOhP{(Q+wv8P@>5_W&JA4&Asd9k5C*Dt4(8vSMOzpV>V$uX_aCqj zXiRGY@qA;|7>XAg6Tu5-5Mn@gbh+(8Tnh8r1A0dfNAMXS zh|T<0Y3BP2o4jY5LF*e&y`>BA;#%5(802*pP%+0}591HXcD||?UK}^i4aSBY(`G?REddxw+r7TiSb{&J|Ft9PApR0+~h4|WDSAL zoVEW)FHG<177$ubO0UNKpk8MsSw&f0m`%dfvk}x%_zvyj5QBuVhzywjtKZkn0iccI zh_4`#&WCTWej0*m_+Av2&gB>cgVR}#Zy_-5Y-=qyStHFkPgv+*i@E#q9BAwcZ%Msa z4dLTMGZ@1NQ=WU&_FLiEUkFIjkuD;yCS4no)nI?D69q0wPOhEB& z3>HAkwMD7nMt_CVPJFelLzI!9TY4>#0S4Duh#N%LBPO*d(5YKs6i$EX(u7}ZvdQLNgm5k?`D zPkcj|<(E-NMdlbL&`H>JCI!0|4TJz3o%`0<>&C)m&Wovu(SQJZ2fD%{G&!(HW%CEU722GXvW?a83&XGB!NMKrSXv1f{-p@r5c<|z*s|-yem>k z^K}JaIPav=mpRljW_*)(O-l?q0DZK}ts&WFAM~l^oju$;ZD-fk%N5>omA)bjmM>t# z1L?&sRCfN6Pn2bLvY7S)Yp_D=>b!icAa7?J}Mw zjqr=E3DxkYks8v`{ZAO79BP))eJM?SsJ3W-oX?@8uUDZPKoY+jw}oE(tB$&{FM@b% zbx1@#JZXY_q0U4{k-EryZ^~s@l%Ej51lV@}JYh7DXFjS92-Cl}Ga)_U`p2!(4udJYw@zK^5+;E7aGf3rjd;+5q`bp&B3PR$4{d_B9V@y=(+np@P}XrY&)k=GK5Bqmnx%(59%ot^N37A0MIH` zvAQvh0D8_`h3KH8f4#)(U9z|!4b*kcA$(DO zqAj4V`|&esz4O*6{K-rr^Z_YifbFKs-?@`&i4xoZkG)l_yz3B&&{E#`g3`Pn`(UB#Eo%HS^Z*{H#_emMsB6P&bN_~f9Jb*a}UPEdV1l4eq43dJt zFo<>J^}yCbNeKO5m^DM*3YZJw#iVp7_(AD<;HjLT^rII_GZNZ`T&n6PhogI|06^X& zK->VqLx`)d(>93pdWT8qAtD1;QLq>$SjCj#&T83kAnqRuq4h44J9?iBk}+YorjC~x zqFoiVLm{}ak|-H%ETBzo6aW|rK3j)-?5*`TZ>Urrh-%VS0STz%tdHIXa=+COxD^f<8}bv^0wO`=W1**6 zFl4?lfsG?V4QU=%^9?daQ_kXS->VF#B4;zN+(?X2E%y&wuZy_FaYZPAt(R$vWKLz3*JP2CY|y`)*GghL5Pe~ybUQK zwsaN96z{H+U{gRnIoh-vA-9PUtCENnQUAR{POyG~iiniseS*W{ROEO)WUL$oYJuc~ zrvc3nn2vbi^~PO^;=^s!Hs=2zk0u2G;{I~FDc}2@$FazrvvgSk@!p|i*Uq(cxtcDt z%YpYnI8V{Hb9A|p3SW;)!&^Z$$!01bP*XdZeQr%W(2xWNjKPmH%_sheR-m^iYSo)&=?&+ zg6z$bc7WnZW6`ty9Mjx(xGZ+1q(;jYhBWtg{*@5nr1L#|Kmd0B4WH3)SuT^9KwP~h zZ~4KqNvXz_itOnKT4%`;G!zP=b-qh2YiVbm<7k~lXx&*wmw!jI&T9Hb9dOoAw{C7L zvNi~)b=Kl-im4TVB!txpD6c(Efi@It1DhMWzV?SV2_o=jlrn42Xz=z@r&@hUL0U$) zg$8DhZistH(XP%qJSAeV0iW1dcaeNtEFYK1$7TG{aIV0oa}`|(M9!6T;o&Y#f};jO zTz@kW&iVgn)?)lx|IqyFM(2RRUDS=7uT#g1O|+pxpQ#3&bbcSjo#$}zR(=1d zK8)|PYd_9c(C_nJYnqPp$0$7H{2`6^k7&HJYcI~9@+*HruY8VPF?0~x+0|6baQ+PC z&pThGSHDKD&ZbQ`UqC5r6$7m?GzjO5bl>?jRrDFU`~m;|EUxFBFVS}-GNW7`y!VBy5|{u2t_&Nnax-a^URfdmA(gti4b-@!#3Y!Ol8|1^2f z?<~fIgkFi5iVacCv?3b<*&oxiGNb!6eIriai9i;}v7e1s?A_Cr9IMTkgV>B5*#phn z#RBQpLR(=_yqslN$g^-g$pIG`>}7{B5T0cOmG~RPwE0Q9!D-WI2A*u%YRh4HNN-&e z|Ftqm!bA=)CArcmlo44+L}os8FCU{}k>+c;Q#dAMV!)J^zdyQUO#NTPXQ-2@4`lH_ zr;5X}xQPqE`KA*lDL5o9lCx1+*&Mbo0m_uyS)E<84}k_aG>M!fNX5)i|0p|Usac@y z^r#_JhK#l_ZL)ep$7XP3JyIxA$|nnXIVh~tZ8l-gYnO}(`_}wVm=f)0ov@egrTvo> z*nw3>AeAY@g0Lv+gl1<-R#j*z?!E6YCHF?IWODbaM8BkRviY1>lq4EJt}5IT%LH%Z z;!4C47@4N$vm?gj{M-CbPOs=Dvrf(_2AA@}U|qnS0XoHD%Np5v1suAkILc5zbo|J5 z0)C3Yu3$=PuB2_J**P?HFY+4RhrAMGV2Z$hp4&1&+_$u=yef%c^|c7%T>@h87dR6* zatWv}(cF^eIz*#DyDAZ=wg0*Sh|Tj4h?Ok@;zy4ILu6&@O@u@euy?=8@$HE1*mpJK z*4^1N*_{@ErM6-5b|QwF4e|^=%aLL5wd|w-wr!v4{^UdiC})VkCN^`2t+PLnqcc$KzBndyTRhz$>*gM`)Sg98+3@bB zF0$3~P`tAN+Cr~)j-WtTMfq7_Ac!Uc!r&MTQYrE{0E=kcXes+r;1AGpEbHPNiZNt# zn6e}x7>TPa`3_hJX`>KaWI*06{r|On|Lf^r^KQ zC^!59AK5}Z45(`q<7^sn7~_7fD6G&v7KvGmBRA3>WuT*_Z4^bW#34(!(MmS4uepO@5}kXcCBE?}%3%@UkPD z6U;aN$o^x0Ohj$4p#Zw%XeE!dBcL4!e}Z}hK7=EI`N&n~MFUpsMH0ji7ucsZ*@C@M z$_$R!6jDUAhmw7P@}Qk8HjN-i8IP8hky& z*GYP?SowFIv-E43GsTZy%GbwnJ+EB1&J+0IkayL2k}f|&m#6%DKT6+TMwcI>%ggB^ zu2bh}d>?|R)OiKIAf(85kvgxWC(e1kPV@Cue0?=vJ-+@pU!TEM!2BBi{aX6{6Levp zrSm#`#ZX_54@6-`eUr`%m3#wTA}&bhjr3wKe2>nX=<%EB67e-UZ^6xJaVR=(rSgkf z^ddSxiPA&P+i*n~&D-$-2i~*t@ecWTr+mDNKl+`|(klKmUH%(g-bR;C(B4!Z{zuSJd-+^6^Q03^|{YAJ6d*f5CujQO3<~IND;HEDSX$ z_SB%3-yw)_r~Zk)kzmsawG5c{{~NE^yLXQ6wxo>8vv}MtIjpiZA=tKxC`L}!L`fF+ zn1XgnIRj41mUR_QR{_oTir?T%|R=Jc-lpHtr~FFkXr zgg!1^&fsD@2XUWw7&?dWZOFL`*Jz8}?QTMM)`r#8YJL7<~3<*kVxvJll~bOGd|lijDOx)cjQrYICJ zh`EQ@62SgTp>a|b8b+%B%nFV3G_9zY;o>UYh3^E>jP%H%72rOvnhC7|h@8LFCC$X7 zmRdSu-f2EE7~%T}7Q7IDmcDgQCwWi2;yH%^#>o9F3dtGmUdW!oAs6f(tCTH1pAu(# zkrRYGv2fB#w4OU)9pwD)?As{1lmcB2Qi0JD4qiEW#f7yIIpW#6$ueoQnuula`Rar* zy&sLwLU&}>U#E)0s+2k3z-!*T6-|LE-uJ$N0gE=}@k89-4*C%i`X{9#Z6QI*JHbIGjo9pUjroWKN5KR9lV>LwFv$`)I!n2lR=( zKNN7uPQ&o~??tK|E=v&JO+Wy@oc(UR;t-?jybjfc6hLon6y)Y$SBB@qZ04GU81W)M z7i0j9X2MQX<4IGZ6_^7{PC$^?NlWGmzzi@qT%}JOzfAsJk?zs4(R7g;uVJ=n&gB(@-X-{?{0u8TJvi~gbaF#$I#>xm^cJv8F-Xx zZcM7$T+FBA{q^~x6Qvm|{BD^bUdEKstk_MdxFfnqJ=Sz_AVe2i0gr(LX+w|V_#8=! z@_?I2fzIEGF@%ZnW<@|KSX!e15s;h-=jO%2B;?hoygd@)+(VOflrBTK7$n2F4|h_@ z#N|S{qJxZr(Cb06BwC#@GU4B!Gnt@u)jFBz+gn4lZi03Yeqf-=y9hM%p=$qhyy6hK z*ph%M7b#Q$y~j~AR_0g&r)g3qj3ggI!wZQdR|}Gu<4rJD_GK|Q8PN`-h{DgXONq3) zR1;-7PXSb;xY_S~5ppjbtam+3#TT)SS6O4Vs;V0deqYALgn#P5vu28`=-VqI=XiLR zAfySo%z|Sy^TVT4!<35$oZ0zfLXOX%W3G2`VnG}qiel7tDc061Sax#9oyYc@1ZLR< ze9yrBug6i;=MZxsSvO1$C_?)PIbQT6z;gX~Kr1yxf?3M-?;ZGkm{1?JR}#_;|= z-iuC#mn2y35ZpJ%o3ONZU1R0)79Swahi34}7kpmFpmpuF5)h}yjboRif=>IdhY7;J z0uBpF5Oy{JN_5V*>_zM|W|>3bIVmj;Dq(A%(j+4@-$Hp~{#PvTDrrxe|6NUn8kGXp zUt?8IkNc<{*C3J#gy-;LjAbF`aCh>+qSVz}GV11IY=7wvxtqfD)2S&@h}N0@@)OuE zT$yxDg6H2gaAJ3NaUvjjgYk+(B=3jX8ql(%#~wbm+Z>L%XAEXvyvnIe*lig6OAAvIqx@H5fZgl|OZ@Xv9hB*+tR z2JEKusgXN+cxN9|3tBxsX;4VW9IA&Zyv_ScrMqMS^$I^C%REG(DZU~BEFCf zhnd49rf4CV!|hEbBFfgY7LOtMJKNYVy#Jg~MK}`3k99FJ0#k36P8<5e$czF{FbD!~w1*@FD8Dgv6L}2VTAqOQXZbS#H}M!@^V~p zoWU6M|CD@()OlH^A4ZGKbv#VWakqn`9%Avi?L_;*W(Y1%c5j(S(pP$Eiy=E#>- zFU*A(x5Ri`CPhxqP%305E3^|Rqwh|-r5NSAT0MjlCQOO+-G02YJ>6iGP8UHAqCmhI zPD-7K8mU4LQV4OnX49S`(0eqSv+g}+J>;)57Q=$u21)%F!jSneWqvzeafqZIO(3Zc z9uFKI4?vYZe1|I(ebB*t(o|>4SEyIHpdEv-M^f3G6nwc3MFL ziS~C1^_46gNOgPT6^BUBg9#+)Zgm8lLL%&SMwm)%N+lA+0Vz2|RPhP)l!cIT3S#pz zM6@6`2kt_9%tkj%b+cjvc=yN0=u2ViYlZx?3Ed2s}xVTi!6ktJe_k`tx+~0-VslphbEIhry7h|uFn4~ zKiUKwQ964ev*xn{XYtRRU*k!5W}ocF%=XBkHZ!w3phudFBs#Irsl}eJl(*q%ayn@f zY4a57T5@6(t8hdOkg9--xQJl`5+LH3@gYlxn6UeSr~v0o85ubaRG`c&l%{1HS$uNa zXqP%pHbu&VTm|Q8BFP+LIiThFiTY$y)=r@)6L99J-CGQ8O6fvxkJ|8i1hfgKJ_tpM zYKIR6BjdvtyEZmcW_czBD`UYT+gpZmcZHM*wv6m( z1%+uT;0!M-I}QccM^^#liR3nbxgEA*0QDETixWwXy|E@h<%q%9DZd;m_z+nT2*V*X z6ek)JAP|o=IO8HOd`*nVAjGUkr^6t6vTNX`n+JAr0x|4}z@}PG#mL3cQLXAu;kvKiGzF~^@P4xAFynr0>=5Q!yAfDq5q=ZyWAhMyuJSi3|uBT`+@7dv50tX@lOgH zXr9ktcl(u@RD3QK7?ZVjMRU9293<2vY2-1Ptd(eKo+qmv;*pZIAaL3%JTvJ^0v*{m za-3vJ_p}yPf_#@GF>%rhKQe?Au>ov58ob&s#b=AF_0=CU=ib?Q?IzZ2nYFj38Z*!( zB+)kE7TOns@nzazoB*@9@puPgnDc4GorbO9R|cl~glcZ{L1S(g^|nAw$jFo;1DuVh z3YEf?{XR6MF)Jv&l8yyYcaI;@;@n1^mmHPPQQ++75%-8hRm|7az*yUhy2$8RGrvhY z>mkMN<|Z?lXzkvm5bVVw%K!_jVlhw!WqsiuVHIM%)gjGJ`;pABrN+9oGPNVorzy@c z-p+2ir~+Ow_Y4z6ZWQ$C5V!wInK$IbQsyy9e$5g}gz}#)WgdmeBj+5&(`Q{rC(z5$ zvL2xeN858O{Rs*QKTelt>GD%_`F*;4f-XDB&$*p0|4f&Eq|00B@+P|c9bNvKF1L}y za|>M_q3R!^%UyIifJ=~?k2)~Tjh}a@;c0Gknj4(v#-_QUX>Mei8<^(Gr@7*3uJnA6 z(2obh4j>*3?}hj*b)3KPu)a%#kB7yZc6eC4GlPf4aq2uQc8l|{IGm1$#SVNP7JKM; zSj@L+SkCP{wyq})rQvtB_E zZ)?M-L)ehTJ{H=MP3Idgm8g@YhldW{OXtlaDjx`UVC2MFi+;e z{dC(vje*noZ>S>~m^~q25}calza%~gA@~=%lx4<9vSlcl#uGzr`CSY`(Dpaz8$}j% zg0_LH_P65|dq?J;_i}dzf?}zXfn~9jpC!f2#X9Gu3-2zRmSon%u{9AJgrD&;R0_r( zDrZ3GbMb+60-->$`xB}-oTkMDSzE@3R~=9pFG-(H_=ji>UdjcHTx6I;!vlR88e!h z{~28&!r1otpV6oxBF#gdVvY1kqRycjh_M z7%`-TfxZ(ERNyDV0VK5XnIwryDC(|2nWZ#Pry^?FOt^c(`_noYmJa5zi^gO=6o+}Y zncEs!fadHbOy&pf#cmJq7#+*Tp&L5d(T{7=DHH>7F^i;KG>agLJc)>J@+X9(KAvWC zp1A6f5r`M13g`NbyyH?LaXwCxGJ-X$+@Ec=HReTg9)KyykEP5>EV>Elv&{aP%X($_ zq1jA1rI|T+f`V8j>Oba}xy7}u&4t;swg9l&oJVu`eZdr)O+2*_gTKTWd>E3yu&D9nCn|4HKX^Itq01*v+AU8Q7&Dp{~j{7 z?F60A-Fs}O#d%3^KzKbju$?K!eTX`%xuoC|T{$5eZ%{x*WFz63j=ppwN_=Y#a?+DI zH)zoH_jGrzlSE~8C}E7QN8@&nUSmz121T}>91Ig9Y*$8-k=Q*c8Z28W7W_8XcbDrH z5DF4~7!YjFdN-HsRRQj9Y7uvD4u!BZT#`rj9o^q9KF+lg1IIo!|2TF<6QD$KtaO{g zv8^w7;Mjrt@4NrrgNN@q@Pdh9&TeB33p&-B43(K#}WYKCO5jF!e=&x^T*bzv(>K}q!sn_7{?eg&N+ZJ~8F z$=XNuC0a`?ET)*4Sg4u3xUo+DS9jM*pfG(aUU5ia+Lj<=zhlTgi||>cg~-W<$oZ)3 z4C+wVF*<@8K6Da-$xdquSOI^>{>V}Zv9%*3w0U^o3}o<;5p^UZLTwGjOU}op+W4em zZS;*pIx1A(IF}xq;?;k|!Q|^WF?o7!;^guRyK0#VWNGTVmZjInLEphZR~gf0vegy- zgqjUpvJk`Emw-Z|8n=N&#sW-3fGGJ&Guos`p4){unkzD40p2hKqaK7u1NhkYs#1vs z5%9cBIO^ROC6$`FTvcIC&Gji$6GQU3%>9c}8t6z}q@HUOziKv681tGo<}S_abxr1# zo&GDpIP0{(pw`6S-_NO+_&^^c(}Z`uzrd`FwO1b`E7o@2+UHtZS>S-ji#&;2wwep{ zrrF;|2!K%oLIF&SInmt-rBjQdTsR}pJ0>$6720mCHbxQhK&SoG@o}b7%tQ6U;^^OQ zJ>F;Gk3nJeo1i#Z-n#vkKIEGW`{+8XD=b#o=xxV>|5D*s|H?IsK%rf=Oy#ZjTUDGcP*$ZIc&*-{!D_ohyv=sW+IA)!dqRVHWFTj|~`sLKICQhg)ilu*pXRp)Ib$0qLuo75i~{TPtmqUJBz?HyXKQAMT)NT`vk#xmR^~Q z@FN6>X4E5^hJP+%v}?N7AdV~;>FXfk)oHEWz?|Jdy9VgL++E~JvTE;X0{W=% zda2Gi;!EPNR1XZ&FQ0BRsZ1+KgL}i$3$PO#e~@UI0{t}x*|GfTpS02}YeirxQ;AAV zaWDbd%3^rlhLAh4JNph0B1k%CX3fTyYY2JJa0gB@Z0xf(+^e)FgHl<*tE!*iE^I_) z@t=@5CuEb;R|F0eMbdUj>!4>Xwr|q4@1|f*Og)ATDBO2*KKp`4W)uIB(nLp;jry)B z+sZH?&Gy?GVxJ!3$cQ<-9vPll^}3bKxkA^5c6ll`7<3?Qs9hq#dt0OfSKg*_4+V7K zHbn;pfcYkHXDcj&l$N&x<{guP)~);dnv6Hfa_)W@i(Ta*qU!PUD|M>kgZ#eBuatF27>$T=KLj=Fy>;U zyK@ovkWR%b4)mQPN!c>X_t^Dq2*U!(p0;q3fk=r+ep#L=n=lsDU<8EBIT?eLuiA*@SwrK%^fsE8bdA_h<)L)?#xkAwHWx z8MT#TK<-EmCCb@X0S%wvY$IpwTmzf_SpF3^s*mVO;N|pVv-ZxE)1FB|PO<3rAnOTO ziRrKK`hr24gsDfyX}0p_lvd`j1l~y1vF1bF*Mjcwd_&t<)oFl>GNU<~s8lk`S+Vln zgq30{f`SxGjD`o{9Gj}KM`P5^W!(nM?L?4S65}IELN75kLX&stb#wm)xmg3G%r-#2 z$qxhTJnZYZN{vZ9VfGuv*QHdOi73CAf+#Vit5>&VV&GENsEx_`a7wjvz`wwRME%wH zx2T=5ya_Lcc9yoeo}TOOc!Kp59#1A6f0(BR7}Ul*b~g5}EyURG6nUeQWzYsdqE^z@ z5&K)+1;#9hEi{*K#2s}yo5c%Ob=5wQjKRxg>t95(OQSJeqTDK9@2r%2{|VZ@>u=v0 z84>^X$jDC6b8&KmqLY|AGD6O7wu)KM=#cs_SHO|0kbGE90<{p_ zFh{hMZkpBZUx@K+Ahr=jQG*+&jjl@z@T8EcSr_03Nd(C?Y7k&XYuVgs8#}uCM@Ak$ zH!`vv$5pdHPdpCTQLFPr;dmLXv4(`E(Mo=5z`7UP<+RAotb<-<5kC~NU}tfHFI&Av z?fN8TN#;^!AG89XC7h5{7hUfglZIf<`^l7fkFEJ08NP{3iyuE{R+&$!vZJ+5ebsAy z>+Ex2_9}ItoiVI4-5qeiu)+g=*qSdyY6DJlmqyNa7e;|J5{6M!%$~X&l9y%uFp1Cm0+tJ+k z_qS1bg8wbC0R#WO-Q5L|WJoWz2*@!gMs%JEDP%C{mf)bsDhuxb_KB+VS3<;7tfHKC zz@k*rWG>SI3_)GWMhrJc&9zHoAyF^NlvnsKnS$Cf?v}~zm#^-st{t%DC8$^v#w*hS zVfKh#Y&mAEbq;VzO0^wvfbc-CQ1hHTmmQ3=ohiL;Ax64R`z!){G}dFoNjSF ze%Pc|ClT>4o|YXu;J&~@+p&XuFu^Z*>f!_oI^UXIF$J6pkt2%=IobrH5dbLiLQQNnn^$uhQKNN-Kt+LwX?Nya%12a{fqcL$v_t3Hxa^&HkwAbC)qHNjX) z6JoYIk3%}O5JP%ZSFuX0cyq-oW2L46wo5B@qP3O!P(MN!ABG#hnnm6)|1>gV`SR)w zFI8Gsv~ql&rwJ3*C=T4r*2WvO&4b*evL$1Ri-)S1gyR&4zEBD5HOUuUgd9!<&101# zRe!bwlnhnJuG(tR7Wz;u!ze@kE|!51j4+Xf(TE}&r5GRj9 z+05K7(jSLggj^_UVXmr13hH-AD9)u+-4UUnK5IhJCxn#{ppAibA~3zCyTb|urtq+? zZ4HUr7;=KT*#^=7@7*1AK=i|d{shH9+GU1%ex^&DHM41LV<^y8Kp(B7lj=y61=##7CbTlabQE&jAUMv+c`O|R&lxNwH zlJr)7)V0-ib6Gsr($v-gRRgxRfIxG$0M;%Q8Q0X-7k(sA>ofj9K-Cl_qrqSTI~z_= zUCTqlE0IA_UTiC7uB{}^RUM%+t4;6sR5FL&@L@AlKo}w)?6d9R;_nG5TV_OI} z#3M3q?<8`zy(6F39S2VGR^fe>i7L{P)J%OR;kg0qzvwQogQ(fB$14s+&7Og<6SZ;r zXAt}Q1R_I;?I%*Qf-sJ6p}~%Ak!@@WIxEeZd+BR`t>64WMd znK_o$d2<;NnlO1{$|H_dKD9CAUKMwRPA#J$rkoLc+-(=z25Um7a;SAvTKo6-ococ# zF-ON-wnp}>X>LcGgZv!`s?>8We@7iuX`_l#j5$U=KG7mBy@Vwf$_h`+37ZnDFxl8} z=DRkMQPUY2W3>tnDs7a@WNalnmh#7g$3dNx-FGnJBBQ+iMSF1YJ%Ty6cGQxI7FVXs zS_~~{+ZFE-jBmS=t%C;nx;CZiju3+StPx@a>|QcdG74)_NM~*HIol-6!Oj@kAEXbwYjcf3%I8c2L!cV{|DT7IfUpnsm2l>$%@+k=2BYzxYX^M_-EC|<{% zfWAd+N)kgO7rUrs6*X@vh=@)QCdflb9xWnEG!!?MeT90R^(#?Oo_t-bU z+)$E_f(Ocu7>XdIN+okjXxFUlxeYoiS@lXm&S}LJFG?Jwx%wVWnUfgJf+s@($XwgY z_^w&;SW3kmQ7r1QrdaPL_As9lB}Rr>r%H;YOqL0oc?0^{g#db=Ng*PZRgim$8Dv43 zyiohhCDzg##%%m#cX1)mc-|bZIHd7B4M0RygNIJg=6GHI8OkDlB_#m2#@Ea2PXim?X$QaDVK9JH_N3@Ve zp=n_(fV!^VEy8oLZn6)7fp>`rv+ z=B7IT6uExq$Wn8A(5^$+1I!A|K5XnpmQ~hkh%zxDh^xXr+C|ow^9`Dma2~wfEmdu3 zx+d0sv%AxrB(6;hQ2&C_cn&KeI8o~B@y-TBDd|M1(ms;v2+|7jno*Ddr;d$<0}ww* zxzwT=+>9zK4urfi<)4FAiT#_|Q3%@p+>M))I?(()p3@813m&#T?GItk$p{;p|M|Bu-{*jL}yQ+Nuf) z{3^kUcf^{6Cz@V!I)Ur{!Vvkjv4;~H2k~D)@I-rwVzv_cl&_GV3Hct2&`sC|b3GkE zB}xx5@f>_Zz8gws{?IrN$ptNel8xd#>^$dYq(wF|lGz8nYOIuH-8A6uN)Cu^cj|Ao z_a@Q0bZv9XSx5TJ)|86pfVF{1j(V(l_$hw|K$p8d2OU5Pn@4E=OcJs zy9>Oe?myF{`%%BkM(tP0>Le}7@R~bI{p#~Fvf6(N27*wGO4|4#dV9c3YtXW2?=}O_d(CW z^jqz_fdFsoF5V^)**7NBp(uKJSA#fY!j`R!vTTVp4i=wGE@q0Omy*q4B$#qgHoatI zDi(g$T9PiJL!JDIj_JMm_~k|hVvX#O+sYQB1W{c*lNgR6k~ zHT?Uv^!q31@)cBc-gzCqVyLgj$I-RhoIl3RA?FXNjX$Ex43&HXUH+7x{0ZIs99`Z> zFZLFmnRebpkKas}Kf{Cb&R6O2*XZ&V+?;m4fUnceTdDja=ZpN~)AaN+bom4R{aIYk zJ71#jg@?!n@slV$5_jGd2-_YeH zlp5p&U4DkrjJ|^|U!j16FVf`=q%gjYF7Kz;ejb;G^X^b}(_GawS2N93oafi4`PFHD zZMxxXP_J;~oC1#<=Of;@aZc37jlYe0z>Ra95jW1!BGkCUEMt<2@YxT}du4?0laKe~ z1F-mje0)$oepx<#RX#oDNfae?zOd^o>}3m{0ib7YbG^vwM;&c|^J_5GfF zd=ei+&Zp$ZbNs_!s+f-V<3;B?xP%h+__n$>todv1%(^(WV!u6#(_z7xOi3g5)F9n| zPB7w5eVM+k;ZCZP7v>;x1XlX5#Vhvi9i+og2PtgAt_>1@9wY*rp}hB@Z<3CDP_yH~ zUAr^8ZlD7ai@8i*4{`u``eyiy2%>T^lmFAl`LJCTOFw~T%SgchI|LYV5U%0xH@0iF z3R0d}#{zzicvZP8@{(JxsDq2yy1?RQV9|h^7Lo)EsVw4FYIL-5$RR2${`;g)#{7RP zK26;*hW!IoOo()3sjzMnArhwSlEW1F32Dm(@Zgu?Py&3I)mRMYxPjWt9dW@+l@YeOMe@>s9!M>#u(c z;1AIjXU#gyN!Ug|FRdGsu#TGS9(@T!!vMc}WfE4QrS`-fCEx@`{JwZ+9lxC;dC@VtY_4VRm@wNl>=xDFsJG%L|n5mOU;e)w{%deKlf~8@2DnY9{b~<={B8M zA@g|6{Lf=l7*BJ_Id8^VcHV-ELYD*doA_ja8b=fg#z@C`e{PbmSoM80%hu>rbc@ey_#*;fm)o3Km(-NwUpt5m6+hKWpV{x1dx z5(pTQix>mS&i{bcHW|?U5WPb@D8vdMG@pE5oJ3daE}#w(nTXH|buxGbEn&W+M&j?& zOv+E8w;h|EjZDglng&@%d`5f3fKZfHn?P?jS2mgL);Va#-_gZqxhBb1tfYui zY0f~K?;61QMt5f^iECN{oIjUoi*n5$YW4iq@RrK$(UV)}T#EohdiYQ1;ev5W11eE8 zBu=?Ia4mGgDNPC#;gm7k+g3UjTH@3Kf+QQG$lM2Cs865OPJzwM-Z05c?|O(+O^gXK za??&k>DrWvJ0dgGV@+nFdw|kL6P?RBl9X*tNJ_*oI2XULqrnkNZlyd(8J_t#V5Da%6(@?=xo(Zzvdx+(;(2+TkB{DMJwc~PL!-rB4y)fJL;OS) zknhIz(Y}4WlS)#=j3EJ(jj;9WrHB14PBh$w)E70{iHKh&RsT;mwlJZ+85qF-=1j4YLj{;mq!q~$Z{n%;?q6ja9kVds5IbX3ky9VsJ za%OAR&w62G$Kad={%%u9cT`KIhEt314coS`BM+Df`#I$fsz=G}g`vKgl=WcBa#SJa z^HIxc^4tMM} z@C|~O2H`GI``s;4`%j;+kt3)~J{Cd~L87RwP4J1(aH5#2l%QMnkBrC3SdT4J!o z{RPxJP0AX>7olGPWwdA?De{`zd5YblJT9oJ#C1`$4eo3W3I}9#Ylx0gp)m5$L^29e zaye**Q4If~IS$Q4%0dcK#^j7;3>FjN7u{l3SWT&L4p<(jG1OCy<*)DR)KI3H1Rh68 z0|PcU`}7!VAPufvS_3z>xCVZ6WW;Coh&g1O0#1r?p;XBUvqeUuahz!sQ=;Pp+^tri za0~5bnQ6c}Oh+N9)g>w3XtUX|<9qKvK77yNp##H14;;Po!2JXJ?%I3*-hIap+^=qA z4h-#2EihsT(9wisP_siLGx2hT|HQ;kZ@%#JdlYVd9-`V;8g_Mw7Tw$;Eqa7( zo;k2i%8@3KsN^}uCftHu;-C|&jI0Xdly?La%07$DFUUm#hO5L#QPL_o95^BjeM*an zK7SNT*Sxl5kor$`cTSV^J9RXDOd{tUkxSr+kBF$#0JBQdV&{tp_2q~P|}|?U*ds)MJwN!pt54jlJ+UjN;fHo>CTad?{F?1ErT6 zbJ#jyNs#Sj)e?D)H%_)(6!kLVsHlo}pWt4`cm@?i=fG{f6eU(HsDp zWO2Vk2DJt)VJK0f*$dmWxO0@p_FJMR_qkUi;E+CA=wrvGpjN%p23(>DL^k&uo)4S* zE?CgPfv_PQ1S+t-C%J%<@-emlx`B=_>@GScar;9})>s5FA3BCS;9-OA^}Auvz5Zt3 zpnDvow@e8{M;JESaBesvEwS4eauqTsXoZc4H6KheX7LWLZL^wjZ{ZS_X~%u^N&NL0 z{do}?m~Tkv58|Oq`FZY-GAv8ClFZ7xTQMvD7myK~OtS@o*4%hM2Ox)u+QDuRwbt$1 zhnuXgsBBcF1>{S)FvpSYk2iUO@c0(gRs}> z7fLL8(VW{i#exS@NLEL(&Z8+6&w(`uwm#~ymURaFB=4jp&JII^TBi*?%FyQMcs$k` zHa+wvP-~h{qyx8cHp)b{cA5{$+`5%4&Dk1)-Dz)d*k1-~9qVkIps;370Bdk&N+qIx zX@?5@l6`e*fR7{b51(RjWGiJaq#Sv$)yeMVo#a44Ny0*cJzehxrJR;f7JbzdO^V_^+Ng_J++R%O+G86e>;7C{k&N`%lZi^2^&qNw zsJ!g1HPI+R3C6xtRzAt#4o!qF&8o^{;b}(bE2(PTt&dNWxuDLZ;C*aC^^A1*l3_852IS5O6avL3kYv2*=k)-7!GomZ$tn3(@r(!7SNs<@22uIK~3a-QO() z0On`z{%s+;z8czUm_-|6UD}H3l34d(Yhs=EdhOAm{cr5i2(oecc2z^>gSdqaw46Y}++Hg0TgsEg5x zxl0k3r!>=%q(uGKlG5g8(C%Q!>*F(Jvc}csM4C+vEX1&*p2M^$?b14XNt1Ope+K2l z-GyY5LHVQ%>Y!j$#BS&9Y1N=?;zQh|+(|`Y`^yRRbHR+t25h28L`LNspAVz*9c)zQ zz%DpDP3y8&Xh~(Jy`4&$Fb)gwX|CvZceYra?CDId(BOEL?jmiH**Vu_B}UC+Z@x=s zsMLpokkx_r;;@%2a!}P)-f}{=1v$nnJ4R8%h}g8?^<$+UMgs{NB5yPHKZ!|#D)mps zA{%wF+<^JIRva&&Dz3y_ACW0|cGhkN${vfYr0nUV9lGAtcw3R=gXiXdg6$S3IJdV% z$Cr&4Sawz$|0oR|4lMN0`@=Ue6^ zB;e5Q*j}%WY6^=9A4X3XOiVDKlO!hG^n8d34=`Vck(`7C&9+I411nUPhP=(D^<-8E zriNrc;BnzYJtJ%O;da|dSg1|fG1l!Lbr;2xM2cGSx{Xa|kJ#;l8NC?U1WqAiw|_q+ zAz}JPa@u*_`bP3g?!#gA6&zz-WSyL35WVr;2v$icXTbPxy9?uByZK+mD-LZpZ(z_- zvF#Y674Vit*aC-p)A)ods{k)HJx21Buni5Y0m83~yr9L$8XTL6nj(mMLbsr#+Bvns zp}~<>43K^|KJspFMxPY4HDR0p(!0ak$00-Jt*u*Gl-#OgD}+Z6hzotIcFpn5WWW!Z z)FzQY7$F)FNFI+>j5QAV)R$9L?6h9_ssWN{H2?LDFE^2PAnS&W6Y4uOF2*&*f z;q#-EV561%6oUhR+*g5PeJhEYB0jQM34AT;;|D7ZKpaj`sTV;u)OnpTEc${I70>+XyMg4;;E;*j8WK0(TO1XvB= zLINY<4eKMvf>l0YynLn!$#-SEf<29;ELJ9SPI!(u`cpFRL380Ov61yN9Bv7M*z9eI zq}Ot528bVvL!#S)oI0Gygn0r7x_WRBaZzeBJ4+lK)yGyV1*-_CT6!bQPkscWT`+#4 zjv0xKJE{}>2GQSe!^V{gthVHXSjhel z|5)-YDanLt1AS3fd~v*tcr=RDQZKRbox&<&iw6hID&Le+i+D*w!s|syhyk?qB+vT~2-orXF|Al$$IQWsocg0OD!ER1#XAjbMIb$n zUSTtXzpkS;4Ci+U1mR7C2WM>#911f#TZ0Cme|P=?{RRQ_Z}F0!1Jwu;Ie#qP*+8C1 zO5}X#XqG`uo(4GLfXY?{lZ2zW?Fxm^Vp#--zsSNMxdZ!ec^dt-;giV-Q*pi=outEa zY7r9`Z_}8kuf~VoZ2>}^#q!1HVV)j@231w85W5W~?1@oK5)&$(2o~oIo(UO`H#{lt zC^_7)q#(~1E3$(Vhu1e>TmKZDw)yISF^B&=|8w{zS!>^V9_H``26@7UHBAgBv5#R= z5?7`iS$a(?ulwte1&7vNF{WU}rg^snzFDSV8Csgt2ItnvT|1IROZmr`o0fBZWV+QbC9wXb{T^M!9-7NWr9QNU!uOeDrU zM7aiqA^uQzOztM*n9byVAFNQm=|ik}h%Hblua!@XgVb0Mq;sNWhd17#lsdd6Pl#!) zGG5D0L}=!NvFagZ2MvTgWbHL#kkd2WT|`NG>bsjzhA6jrKpmqCR#T;OS)-8}WGCH8 zQELTOK1V4^kC5LIr0+=vX>4U&p=>4qSca65 z3?!HgDI_@B%yxq{qarv$#Un-*Rea8V0y34i?k8A&tTBNtw^OFH?B6w@{ZrkAc3}H| zYrNt>S3mMT3@D1g+x9_)!&z$$9H>g$W4Bljiw~e=BMmOrJ7a4lVvO3J^cGe+?D^66 zjDf#5-oI`u)bAHGGa-S2w{Bs2!3pS1>SVj{DN`!dumrCJxq%}Pb$)}!7&albSf2r? z-MzndxNdeFJVP(X=u-W6ny>IuJI<$@Wt~F;SULf zH=w0?CYJ3i*_P}}iq6LvVq`IRMihXgp%&gBI(QLT`)wQEshZ7Zd>iS}Yq0qu4Sx_0 zIJ;qGURyFSj9(GVm=(NVQF0aXkrdqm1S^gLfWTjcN1T$Tuuj0PXLZw>v?P zMFVH0(`VhzqBsbuK3_8jVhXv3n?MC{o%7}!rKTV*69Qso@DVUSm!`l{Lb z;+>Jmg0=?ItLNGrOOIfHIh=0pl=ph%0P-2GLP7W2bXL2K z4H!et7+*h0H;VYG)+Q;mLr#gW6MQZ6wZhjbuFhk0so{ciJL!JDIj_JMoO<~CG#om~-gzZGanAE~ny;_o>#O$ix?rwPxA}Y4QGQY%#HCD9&U^e zs^rEvl`%KQQOn#I8&jzMpr@$2}&Tzr&1E^t1E59c>= z0gMT|jx2Ydp1FU<`8aN&zTcCNPvT?9`IP*4j(_-z858ziyy$!fmk=BD&yj7z+_hyt z$sNb}Xmv7r!XU(A!7*PfFgZ~R0r%Vb(m;02g-n4OOB9i ziIQf)6H=))CqkEQju4?)YceR&<@9>@m|7BX?iHwRMoSA#iEas?${|UJ>1Tf?+4RXi zJ63|@6F1q08+NR?DG_RW=3c3}!aAwQn8X|Ae-c;7Bo5C1B(}4bQ>=}_s#csZCLDaM z*AO`$+J$7r2WyoH-bhp_BL_GeyO5wn4l0KcrkTkL=4PCkSgiwX`jq>f;}qC5Nz4#2 ztECB8*zyfI*^V~&YN3rb=4NT1dF6C=YQVw~cQsq$#N@oO;Ivk3RUwDyp1!_}b-$g_ zo(4)KGyyWfsf5^{U$0b)If=l_!a7HS-}pGTkML>hL8LRPIWB?GS!)!vowoYP_?AP^ z9?6W9dCQ9N0UotiH>!KgyuJy&Z$nTrB${^@(k+y~!~d$`8-~s#ztg z<|wb47>IHUfGQ>s?K!r{9;KGi(**PI{DXOo0p`|){{7upL_UNg-V3Kj0}rbQ-D%FC z{Pp<fB=&pBrmuOIQeL2(73Fx>b1NN_;f7q`V*uSz{uT#yo=xkDvkR7rMC;H^%^s}7gL5LUEahXiPu`?RHb zHbULbrTV=U4=U~7o$)qnHqEw`>oeLg;Lf~a##=trpdBhGw#g{AJ5yEAL*@!sXedpBf8QPyRvO>vByxaZz({CD3u2QHSZDz;k`R(W!kB1!W_o72)YCn5&maa6;1!MC#+$Igb{xk^{CHlT z<9Lf>J9&P#W5;{EZ}I!bv7f)ZB;U*b|HY1zILZHa&b_y)&aJ9D-PP4C@RL5M?y0W2 z%h~QZ=bn2Gb~Ir#?+v}aLcG4Nw?Gf`>otBj+!uy2cSof%fnLuMuU*rNqiDGOs$&Ij zivof7$3)zppv#}q<O+i^YW-Ok_pafNem2mi4X z*ZY8ok5LPMLYGg`<-gPAGq@BqC9K19jP<~`(0`7?&3o`zvgNP`FXm%0t6N@0Eia}^ z42=c7!INPVaQ)I*J!z4h4Sq%MeiFX5^DVSFiB}w(E$myA23au1^m`qo4r_Rv*y~8x z>tK`NH+iqa`zCSS*Kw)ojSIdrQ`0*W{1bCYE&C0ECN>6$2jJRzHlvM!kT@6mSm?f3 z*#C{7#4Pv=`j(xe|5wq5>)X>i`a_FRpWC5-o^j~c3T#4Z+t%{uUl8*Yn^{)L#jXo7 zg-_r!I*l3*JM<;MnsVrOCpz@C|JmW#znI1m*4!IuOpwqE+7BY_)>wv~k{8D~g-0&~ zfwS`b=wLk`6>$#!tM*bD7P$(Biz6eb>P693bmR}NG!-!GYe~r=cPkoi#5b|n+1<>G z0x8!<=jnU-Qy4aJbgMncYuk?$TUT+axKG36@}9v(<9;jsO>!;3bHApi2+K8o-r%hL z%8wQ7p4}`lcMd(kzJ%~20!MqZ#Zj=yx;xr%X!2c+b(o)zS_;qjZYus zI;0zO-FuN_sC$ECh2+Q7#8hubFt0YB4)g_m|B{3m+I-Qo4?8EED=L)o$OwGw=+=?n|%o;~Hml*N?8RVVUQBwJCn!egLd5%_gzgXz23 zRs>Mq)_$NYO`wLxy{kV9_Q@$1KJB;pVE{J3RH?+^XT%d1s^iFarQSp63)Mj&jf3_x zke3MM7`TXItw2Q&3xTAbtn|@&F^FM2kk74Hq4;sd3OWfuNxb-R|DYolB-}-EE&Qqr zW#tf|fS$0!!9&07nC?B)MTg zgGw^Lytgb8p1^unfM6+ZVuLY0=V&^G2KZ(SMzKj4ko((3X+i|JpwxhF_|(ZKVY?Im z;1yj4Mex33S~ZN*YR^}bd>>Ow3OEI(#(#|>Akf0%OpWTmfL=+Fu1`ymK(C4sBUGgr z${6DyEEfz9(>WkMWR9GAN`ydCAn?fVCD7Guj{X@9K8d3jhMJI+IA1p{sr-LOA<>Ga z7Vz}X8B2<%?`MJUppF4L5}gTvJWx3X4C+KHNsaHD8Bj|##oAp zw7^%(QJ9VO(txdak&SRvvH{=IXcLAVVwXWP3iFU6+J|h~rP|?VRJj4{UY@9}#8L%VpCNL=UvawrmZ_F;snVeGr+gASO zT4Yz{EP8~DNng>s*}aV--59p7gUtP={2J4wPx^h=EWZXEACU*dVtuEBPEz1B@M`Re zHXN*{{TIiX<$DoVZn%7~P%ey+s{;0mv0VV4z9D_PXBy#kTHRtT69Q{M+X~Fb)1&Ceyb`WRxK#+8=<3y5+fjL z!pS%lZR0$jh*^VQE|hO5d3n1bb(?Z2YoQ&1!Pi8Ak~KSZD-1r-ehg;5)@b63NCHcT zuivvhbgEhJhOzhypMCaI%A51YhJO5m$DG(#ED3?xz}ED=4fn%4Y`La-5_Itg?Wc_<~F)ujo4GHpXOT~5tC2+Jzo1J$U2dbxKhotNa0!n8(_=II$PE7+I_%FcGiUJ2>hPH5M)42K2M@9KZ^hTGicTRLORtX_4#(F?U^V49xpJSMtckNeaWTsr!q1U@ zYbe<0O+L7K3k@dh2x+)QK}cKL4=f!S^&<4tqGMxYbg-U}lsLzR%qZZW1|}DsugX~_ zu6K_OSXUzgmiI=7mo?$(0J;6g0hTYq_WcCgp~}$ojd?3%Q6-LxQgX7Z=;jt%_EE`t zf6J{2oL1Y9Q+>d@+1{Q@O*uvzN*wB|VTogu)?B-88G0lZxVh{}BLSZwq zFXD0tB%Ti6{cQ$&3d{xj$#0Fq%B{={+*Kadd4WRImkXf5i}P3>DciX~p7MzguQbka z#epMK)WB!Haa4Ql!!A#LV8D^G<6xV6HuR-a5p@OKN%Hzp6lA`F)iR6z)X{hfL6@TvgS2Hq-Im*}*S60T4TE$c5sJSXgJ3_#UGr1!fy(;bsQx zox23f*HXHihYMEJ^XdBqxM*?oL#(-R%dzrShC~#It?}p#oNZH?lQ{nglp?(zOBzXh zO32@fFTx1h;gz^B+HfE%`O>6;ON zxhgt-UvQfy_hB z^AaLg^+s_%$G;7rqQK-BN?lU2bL7%4;~nHFg1%`S>!AY~E3xs(W`%f_PBc`8r+vE7 zYuExa2q{yyI|w1Nf~67KcRD&qL21D%Mk6$-gomo7}E_PCM6SGW)E%A?`JPzeX(XtnlDVJ&kOg-$gAH3Mg19Ewik@DWlv}30xP)M(YQA)Euv8g3bnK|+s5|k7 znv`T9)^VW|)9wp7`t3FUL4@akR{-Gf+KsSWC<0f)AlA09S;0fcFIB*4jzu*{jStGv z(PX@sV_P~nB1f^1Xc9HEp(YOutXm7C+2B#L;2auTK3`?Ik#tOC5N6p}=SigTJ135GZbOf=b=88qUm0 z3~Bft)x%IGn$mOzVax*q`~swc()9asRH}-%9asqPDS8UAMARj*{NZXv2T__C2PRX?gDV`3wj>W|v_>ABOZC|z5N=_1r}@~C)IXPTCL6xK z6Ej@XG?mCfwgtDhcVgxj`m&yNXF=&g)pAWSBbjhnoCW|QY+Qxz4r{_(99s$VkhCxq zrx)&JjyEKZ3l4Oo=HGEgqb>0-jW!xM*nqH((}6Enh#BNIBc7%GP3pio{8Q4rryE;J zO1Xljvp#qE@Jq_wD6%{?zC5BTx2>13M*ULEFk6kbg_}%jFKz7I*;OP9L!X>T6LfZ=ar!H zceR2F{ttHNQT1+OYSLa(FHG)Ma^zbb%oE|rG)}d5IXY;GJ89%*b-e}d$JxNg;cgB9 z3Q6q(i%nY%2!uGNb6VNhoM>`ZZS_mDLChnt4$P!RMIL+MUQY5rEIF((^}KSJ_H}* zA%`>6*}`a{N-k%TfiNv`@<-=V0rzO1GYd-msVm_2`ATnogtN)B`MXk$g+gPD){5RS zC=R_rv$d%~lz>F`TC_yrH){OIy1$=u^$&638G9mp;xAODlKtQ+iM`%f2^WmCE%VR+ zhQP>BZ1fa93^<|!^MEqhPq}puvpb3L&+gJXK$PEaF{mawfSYX^A3#o@Vpo10+G^56GweGLp2_e|+bE&%ipJwfF52Sfv_;=Zrx`dr)BUJG@15DAHfC#SJPfFsiYGwNcaI#Fc^GcKdP0F@HLe@NUpG+Dw^ zDjpfS;H^7~gQ3$MQ1xh!0ZvIiL|-O5i?p}lLT#v8oS=622R4h zB|11w@b$St?6qkP(nzvoQlFt|n)q*9MO$E+m-^`(>Qkx=Pi70PK&g2R8aBp$Zq``} z4AQGfx_F9}C~kGzsxbHj4>E=F7DPq9B05;f5B*jJBP3HpF;j{AsWRn(hMB5}z${}% zlv(PD_ur_`B-~@0LANiFKbP-H?0+aa_*Qr&!2TaHU=<^Wu%9qbfqiU?D zWXG|On9M2#-T9oq=GxvE*7vbzWB;23AP4q!`~Lf^eaz*%68qnCKsp6f0_=aA0UN=7 z!aN1`>D4x4|5kfIt8x+zJgT^5KyYMNv0xrl=i?qF&7tN&%A=DC%ky_b5J8I4D*#Y}BIADbA~D zwbv3&zU;8gpAQnKl4u6%uj$EefbE}o>b9hsk2;{90zv`Re29UpsAhRUHM31w2pMXl z%_Ol?k;Dghv?(Us0!eHHq70^z0pzn;qr~wY0$LJrEDZH2sbjt#izJU9Ixvs|S^;@{ zj{&a8V{MAr3p%03+Ds?A6rFsFhn-^PEzrr8Y%X0N)?{KGr9M7waq({io+OHZk_*a0 z>;CI3EauQnNed_ClA)XeA^|P@dx#cZ5YR&WBn9H>%{C+c4u$xCISz`LKftqMDHSAW@a0w4K1<|)4 z29`6UuDLcW2b$Cywi19GQ~)BN_N644%XcLe-0pyM3aA94;8q5#S{6c1^MrW{?9;1l z#{QiO`W~5*=uP5G4c_2sR~r+yV6z5DF;aqYUI&fxrq;!juI`P#bL~iG7MB z{)k7LV!|zugc1nXt_ur~+NE_a4Pmq{NG;tZhDv2iG zSn|7)(qX>7FXcmz1Mn?T#pSb5MZ%;7RZtskri%TFDlX;GrkHRGf@1Z+z(}c*7oO;= z*K+&~--mypccKC%&qUz)__Wo>+Xzlc6oJ)3cjLdW)JMK6sbQxB;36bz)L^L~bp{7?lCyflUDae;hA^T>tgytG zw#-8ciSyKLNj^0Pj#9ugAfHM+`CPls0U$XvYN5^KbB`jQL+vM@Wu~^b zZQnJaG(HjE$TNg6Bh&2a>1Rd9A<6S}IZR0l?{LsU3Nj6#r52OO zHgdumkyQ*-35rv3Pd568jz&|=KVZ}F{OyBOu9-AL&yJKf_bCQ^3u7V0M1pfdk`b(P zIdrnXW{jUu`l%HwjLr+Tn4F$K2|<(?LE@%L8D~*A-xZhv=YVlba|%*lQqp|z6CFPp zrxPveImCwGY_fSwov5s-GsSqYSk37`O+Id1MkQRN=(%#T4`aAX?@R<^DAg+ZJhZMZ znjf!BL9IXrAL=YWirW+Up#oBF(kNmYpR81p18}}htC?Q~J8n-cS9y%UK#c4gDRnE3qU%0n_{-oBz8`0CSfCW=7O0 zltmYSG7>gyf_3IWzIvC^L@ucPm|oYj;7&hM=?S7K~g$R+4w=yrJJfqRWXLN zZ77I!#{?ylq2rKJbR<0_kb70O$PEsU_Cy;F5Yb=6bS)FP{^XuKNT2H7AoU08><*35 zn#;K+aYmGnc`EL}S`$0C|AjmfCDc}?b zX?Fk+fgwJH6q{_Sn0RHl07ybD^^d{oTy5tkH6`_jyBw2`7%geiLfz-+AjMJ~7%(() zqwOtK_0%FD5qNe@)m{x!rh2L*;JNXnd{=~1?Cr8w7CJ0HK2a)I0>06g1UMed7BO+D z@a|XOm{ORs@?9Nx6;{$&v*E2;MY%|ew5qM|qGWjFW36$D=xcIU<*wO~!xQT7HLJV$ z3EbE_H8@#CS^;_sX`)6(kh!!Bw%VAx#&1O2UbD9MI&Mnby~b~F=TvF3I8j1@cGV`* zwGE?E8YQas8w~EP&8^6-<>rEW>-@I16dx$o{Q0nFH+TP3WwJ=8C^qJ-j!Jp>VCab(Zs@xKudZ3sx5j??hQ0ti+f_C#Kt_!u2g!>G z8oy8A4a!%2f$aBEuFzQztjGq~#qv;TYPc{Q;0JTU*>o{7MBA*=*oyh}Y9BZ|0oT%0 z%?E0=Kny`8oi^sy6?gq-%aw!SAJ+Phs~?aFLbVeBVo$-U%c#adG=?3Z@+f9` z5b7QEy@9*2?utLJYUH6_BG%d4S`nh!*`HoT=>v%#H>mNOgpr%|9JFh~&lwpWb|iV^ z3BF`ZpWsVS{RzI@C`BE*|Y88DIR?%$JtvYh7ij~_|jwr|K)qzFaN&y3DM9fye z;HJ$m2+5WkohsDW|Ebg0!D8doCBDSQ)*PF6qXn#LIxXbQ#*j1Fj2*2>CHWl=RVkt* zqcCJxzS@C5i^4z3Zr<(arX^LG#&1;Rv*Q3G6hqf+ZBj_7CqI>-C)=KY9msCW$#N;{ ztI4fv?4p%S3NYZOO2dA-SCt=hV4!ymw(N6Z^!t{iM*npw+m<-{QwPo>q=8Kz9+x3R z<*qvw_hh4g?r5|nLZHzaLO9)mj-Ub8v@)WBw?Mww#Cn=?L9M4v+-763LD#iuQvc+pkC<>hwyVb@m%Vy2Ke41 z!H;VYG^N!Qb!!EDH*Kxj<`C8%Y1g_rwbgAOff3jCoACvglQ)=^?&8jO$VF+xUI#5$_TF;T@sNqjY(UE|2^7UP|9yMwge<$XWyf3IfzQ}+03p>xOZ@mm77~>^P>;(_TPG`5#1e~NH&{ycTvLx z>i#)uS&|^bv>MMrx^f@yz+y?)iZwwCgks{Jh+KS4+SfuY-ODS|h%`|yz`*LwH7f|~ z5Ve&ZVFik00JeDwY@_HY6|n~4#>3IUdVW7775lBkpSQzXU#(2Ry^C!@SUwyo!cGLL zno-EXQOR4@d2#}eR`b}m&eyQ1iqy(^R9z0?COHgwduDz32xp{b*sj3%%c4Ncno;H} zj6aH=+Kh2q2XpyU91+4k5%p_gjqrHmVI`1POmn=0Mk>Eq3?zD!9~0R6ooulc2>!Q6 z8xDA>zbi&se{cso5(cMAgS8y(>A@f=Q1Wpk7|%@}uB^&OT~qI3Jn0g*?bH2Ei}St`V!9z+S4Nlsv07%##L$&VzzK+SPp zb2uWX zG3iT5_;RF_?8}i;&8QuIbY8A!V1RB83@j(V*=tU}u!`q2&zO%mRz zFHF`ZBVrMmpwzUaESW<$WwQ$%&9)>OX}m@>UgU(XAVJqOGa|v$8zjLa+sieCc|v8S zZ9IF8fBG|~XZWG6mntcED!*2|{m(x`OZ*ooPkN%R2YIiQFZumtv1)MT+Q-IUGV(TTYUOey9e zMAZf(C7infBn3gmsn3nHX>ytj_6}F{0R?c^G zSni%C-V;-w&K6T~j*PPsrfvmi*3Tw^ilzD>+z1mo zpOnr|0Qry3h<85sL|j{UZmt$!e@DPL1Opse=fJ=%isfop;HNkU6kx34{@oyo-PMW* zu+wio0{q3?cGG(AA$W*`kC(VRmooHy4sb?<^P=#;CDSZ0Gm_1J$kBW=45aOWAV{9Z zZS;UeVHnE(o0{Gd8~$>Ni^9l}-F&VS(_9!P2f-7rS!T4dT&Q^BSq6Iw%msepKZwFA z@NLEUiSHKlJW?#t+NJr(KU4r_DdNmA4vmoOI83Jj)Yvjp0&ci3*=KxLTlzD!q}^Q? zBz7Vx>*rBuCHt}#i-PQ?N99~P%?Fk2;Qu%}NP*{oLuupzhlY?N`)_K3%?qHDFHbgl zGn?Ld2{hLDOf%xrWr|DxhC!cVdW~~wGXwU{T>>O5rOSD^VAJ+|`hEc}TCV>PD{I`M ztCAiB%Fu-%C|mKl3R{qZ?qNr<`onuj6_eS34xIT4jAp`9@v6kpt=G{( z3WNphMk6=uw#)?rv2wWP+YE{w{<@3f5Q~vEesnA(y2Q?E=)RcLZP~*3)>A>8XV4`e z#22VZZB;{)vb`z9q8V? zOS3I?gQ$(7nnb}JD`d2sEy>0i$XCSkVFXd%h zC_SD(#E1F)J&N2o4jMwGokaXLlJ&r3M|o(A5?A3}*wKx@Er9S;bgaH+nPMf1Be|;- z$w{ch0Aa@_&QPQ@cV<4Q^Vqx@s|+JI(J*Rj7lx2bgzRZeVtybFqLZ+3Q-KDc-G=rW z-xahim-^px%s;Z!!!4=DC5db<-<1u&*U@kazy?b^jTq2lDYU9d_{bqPJNJfNvY+b2 z+)uWm%UrXu#hWVz#i7LXCQx$YN=&zJetHLdvoew(?PY!8W$`dO;xvg^uimf6}734u+sFuFuRT^O#-4ev69lX zHduCBQJSO-o=s``0QLtCQ=Qe2mPA336iZZ5ndB6%6so$_aV2_~w<*)?IA#?-fpXkO6V|Su25EFmyWWt1FMBDvkWwa?Gz{b+9kALCuQc9Y5jNdc)yG_Vq$B%JGlM`mkq^+n_|?&+V?KMyI{ zyo+f&<;HoqSQ{(b6R>A-?12R*pLEhb*qdWGpTY-F5LSas8IWh9Ct z$`CzFsv>w?1>aJ-b4mzDZ~5k?iuVpq^dqmv8V>~~jz zR845J=s)D6EKL>qa@a4Rcgz#R@^@O3jV8+R^(s^=+}qF;T>YeA~g05w$kGV)s{$Zdy`qY5YdHJq1A>LfSMnIRrKndB~;n zl%jQX=KpkJBD;tvvZK+~fI{?b0i|cTZ1UtQ+vKwdWB2A3nM@A3Dbi?M@jbf}khr`d zInly=!3rc}EUZ6#L^gSOC+50H2)c&3J0pEx*KeFv#kz;|NA_+)^xCe!z{}73RLb{B zOM*%86uT*%%a0;IsIP@-*}f>;kwnKv2Rh;;dDyzJaqaL=Zgq6ik|d|`8%e%cz^sLN zHqN>GJ29`GhS4r4-G$nWC|#Ewi%@#w8(g7i9ASNi?u$uPvjuqEcGbN~nXD+v%Eka7 z_SM;F;bff6Mt7>*0!-I3U(BBVAz0Cg%)Oa!T5sZ42xQ(xOe`3AOdb z3U_$l>ry*5Xod47v)goOH2&x5Y?&d>T`+$!GsMN4P^$?}g}_KMu7pVnXUPvgfGtES?8J2^pweRf;|Qzb$aF4r9+ym} z;-qiJD2KyCtqy~o5$OgZ-_@twQmJ|mXxltUt{r!z(Xb9}Orftijl>1>`0(RTCw0<{RP{%E;B{ivU zDcIXf>jSC$-;TvBjobTp4I;dd{tWQx*g`6BViPYdr0Y5nOY*4&;*{Khr{JmER-vLt zY6akGMg>%^K!E83NKqrQ9kaY1A{SnGDMPvAiusa8;q5pvzk6tB~&jItr9{DGCYf@Hm2Yn87OvP?3MDmz<27&4lP4fHh=Lf!|f8zNvXtDg9+>@#2EKcv6R+9SPm87=(==FQsNb&|h z+IO+U?n>JAXE;C+Q9#niSDokRrX@9m#&6V+g@~Rrf}(|4o-T!qfu~ZCy8`(myI9_d z8FsS|5^_3O;>l6D&}*+%DHW}U1*JEBTKlfHh-DvJ7R!0t2tVS)_R{Stj^A1tBmi%7 zpf$oD=_uz8M;9&e294eD#x=7nacs9m7P-b@kr6Q+QN*-`N1kHx!BNUhYV!SagkDr% zw-4)j+BMrg1?g1?b>X0o_3_OExU+!FPug7tV-ux^F~ znmL@R*3f2J*E`*xTmTp@rakW%CzKCOyW#pG5j>igVlnb->LXWlE~)V&S7&V>=`A2P zRiJEId6VNF5K7P6vZbit_|?#zV^wd1v}7R*z5JT0C~r}UQZ;z+!pm4RFvZ+vRSb!sxmd%mqS&~ zk>WH2clZbbgg&{@lRfAcn}fHpjY&!JFAnmHNYylc^^=!ps-Fe&l}2vl>)GTmvw%@e5R^~wb znh*^6$C83z1J|T&*^yF-e^)#k*sa&k(%O2sbdv3zFwcbD1o=2~Vr-Y{b<1TDJ;pNL z8~0J1YX%6F+TRni+!P7V2$;V%TY3mQ6|asq9GdLAV+^Mob;{mDg~9~oM4_Eg&Jlxy z^268as@GGC8RHvW5###@pp zG-@MLYy;UfBb)kD^47D8$|d4s@Vp{6#^*39DJrvtJxGHE)JF0RWW7|x$Mt-|0nf;? zkjDP_jH82=5Jn?62wSSoeY4>fhJfH!*HkmY;(HRX*gg~F$Jv56&IEa%n$!;!ye$*t zz{PNIMDn&MZNN7&qQ6sEg#R;pHloTz?usi!G8m4fFh+@SY;eZ3mASi-7+EKTQ8o!V zOQKE2zU_XGMrywn=}kIYg!v;6+nxXyZ4EfVrFd4++~0%dI%aMOI=2M^nOoOpV{Smtih2YScAz!g`h z6Wg2+OxZc8W}(W2Be+s0f+q^--ccE)0MOi~U0b^SC%Q<^A%!NDM1;kpyfxviTHb{n zM98QSv8HW=TK1^^m#fyw!wAiUH0ARTegaa$LE9tK7V06&UlH*Q6?60=ZY7JL19%a&qo2suHKEqzp_tDr>? z3)=+NHa_zg7&cgP{p#KH)NI=(sur;@@YP8Rf7_{qWTJHbkTzpb4W^89hVXx4cg9x! zwq!9($+G|5f!BzD&StOW3yv;Z65ccyqZH2NFsc^jdakvvq;Mve?lU7;l^y<|6EnT6 z5jqmQ?812pzKi4KFT^q8)S%sZJ+yV<+JXr^7TyJEVHburCYsoV*&Nbu@0ci5^Qa|f z@501CBOw3p*%Cys3-hnhhC{nBUy2cVGh0~1K+_*Dj1ST|GRU%0V0c(21Lk{kZa?BN z=s7YS@IRkU^A$pUP8Y|Y@f?{4U=CG6IG?+JsyK8gM*{YNBC7Ezi8_wcYBA3LOJ^OJ zWU_@J<_*JEke>@wHfyGImwZJrzNAM?+4jYk zPC4nMRjYC#lP}h$21_(KhiT+hah%e&T6BF*c40Ble<)|z4IITmV^@c<`7dv09bwJvvKZfyWc zdgaF4I=(?&s#k91f{%Qp6K~x_Z{4KdQV*@g-|8hEpWP81Jf+c+4%2fZ28v!cM!MZ7 z`sGK~nV~aw#4tpgH*uRcnKu1FnI`q9Fl^j0ZHk5azzOP8OIWVw1odrD1nN^tTc}To zVI>={!XnVIouaQL$Ya|Ax^t72T9q=CYs<&Dd|;w*;RH&*ig>T78jhHN$*YCQscJcN z)|)LN-*!=EXdBuWOWTHQm+Uy5_MhWHX)m1hb3;zGULSVBhMcZB6@JWL4r+KT_30<5 zd6B_fNE_OPe7V*OJG2+UM4=!eJJ890mTf2dS;w$8IRlsc_qG%^R>*^3STF1_3o!j6_@^# zy_))%#K$ggimwmw^)UT#iuZjq-#^!Tkp7zMP4iC=@%3R`k9yz6?_-a6kKhmQ2wfhf z%VTtT+`soy`t~xqyqqqtpvzy;i$(91_`YkbYnS&bd_ft>zo6-SkuFcrFWynU&hYis ze0>dH>wJAJU!TNPDfzGCzh6&(zkx14Kto5pH{vU%`X+qrTymxNm$QD(9Lhs<<0csg0UxOytmNLPt)bc_~EGcL;Cqgba@6hXT0y=>x}nSdj4eZ zyZpzO=+`gPEq7$%p-Tkfymq$?~zky9xJ_LG(4)N=>3W=RA9(^ zBW1Cn+-=@J(}hyacsJ6JDOTS554v#3iuYa~fcJj&@d11QMjuokA5tG5Q6C>uA0JmA zpTGw&@JaeO$@>&Oyg$PQkR_VxpI3Y3u|3DU&)^o?`<(jtJU(`LUr>L1k^eXySC5z( zX!`s&`*>v{_`c^18D@*(lthdT7fRM0jgWW*)86ct@LNUTQbWh%&IPDZsK zDW_J|^P>;3eQ1>xdu?=Dew;%yqFKW$SRCurFaf@Qj#?Zg05Pp?@~pT|LD5R{mu#mp zNyAe(UP`VAn^=4WK8Nl?H0iyQ#t=R)K3hYAl-|{T(9Bbyc?Wt*MV`U=`?p00>-i`k z+1f9mT|bv$iVB!W+6_unzUshlWrOl#HYgL`7ZCh-bWm9n*L(%Rj~oXGZrBSi)=(ai zVC2oRiBicmW^$wtsU8B8l83A^T0phSLm~0gKF58WKqSdi#;MKq2wV?MI@m z1iM^W-qTo)vie zhivf{tc3qN+HeRU3u6|nYk4h#4>=DHm0q-v+Mi3mQWahZ_F)7!ap8i%2=Ny*9s2#k zMp}^$;D3t_)fYgKEv$JBMe&`w68O(f!3a*G(pUjI#`B_(CS)zxt|>J`-Hru&v0_Jw zXAI49)Yfkm2fUTDjUtv~k9Y5*Jp|OTn9L1Ml?Exqq*B%~%TjP<)~ezLHJ4?;TALj! z{%YHQMgsh-HMM^9w#wlGHa=FGjT82>T#5RVs9*!Fj*de_xB`4bN!96q-dLU=MGJ7L zPE;l-kuAQVhDI3`;%Z#+dx#w}IOtfQofZ_L8=9gmof_SMgXVA*_iRSHJa$~r9>vHc zr(NY>ieEVBDEUga#7aP@Dv{I8@CK&eGiG ztFDT)wyg-WD_5ZSOERk9;lxv%Q2k%7n+>R!ik5?P@Zi%CcY#3U35PrL!*pW@AW zrv8<=5o}-6eUTh(CCaE#Wc*}tTxECW^5NK1!}^BMGd2;yS-z!&B{Vjz!hLNWiNyMA z9axWW7mC!GSxDlVr*6xppK>(a5?|4n4PTud2Tq~8xn`IViLFc^F0^I3E^1;t#C z&#FdoVsDjF@z$FPtA6zs()^st870f1e_Z@>1HZ2tWaTW{;H>JIYA&WhQqQ98rC-;R zJBsPXt)h{}=YuW;iQ&QsSbH)$YH^O%8VGh_Lhk7UC-B;&;%$MG{!|pX`FP_stl7OE za;9U>hrR?E^4+t<-bnqs`$$!TVKWZ5K_06O4&u^ERhyhfzQP;FCMPFq>sPI!t*pM_ zslH-m)i744Qe|S5UfX(M$<+Deee##MUKO3!rIiqvGE?0g~`W zMPK7n%1B?{rdaJ$%xcXD1dZnJU`>o$F0D;I+CH~elm8KzFacH6D33OIAx&Tge2ARi zBIZ=sM7~BI#bOy=cpQxA;>|5M0!e>a8Fq`n(xW;X;pgGTkLzBQ1vB0lrRM7j+K9=d zWQXi<<(jLtaI%cnc<%+hZQ2oAhK7xOwyzyfmIO=PCGG4*OxQFIqBV{VQc!Ooq{4tY zCyrWLm}qlycylMFxG|swN%A<7PDU)wqPxgmSoJQXXC$Sz$BCF2k@B;xd4#|X43Gp+ z`5?HuA-hcV5f9}vHBKYtb@c^9pMF>G;h>4Z0&Nl2s2*jpl&_*{7=#V&D27}Ev$gf8Kl&+JqEc( z)&h1Yef?akt8;nMl0NTs5K)8?kr_Y%%-4-r9hpNnWwS$$W?N!E8n2O4>u4LQS-i<{ zHZ}b-)bxFvODHU4=qvQfPNq5mjHU4uC`Z!NbT4vIublh&Nn|d&f1(qBI5Wanau7|y zU@kMIob1U~l*luknAK^%U}#}Bjq~q&J29sll{-GAY!ge13#l0`Ejt=qTDI(?qQs+R zM2C=YhGWJY;9>PtiSCuWy}&L_$o$am0y%L)sjs!_53P@m>071K6fk40kb=k3DU--NJsI@Y1k?BxjP z!G_g-NUH|(oBfNU*_OyLJhAIjBT&$+3j`U_?41cT+jyMpx_$XWq)={>71s+UW_BBn zB~FeZKxcF;cMB=LMVu9rB$%!V0jhKQlBp#HT7#(CGouZMqH6cW*bCEe8N`GKYCW7) zbjnZ5xdKVtOHTwjDL8?RucghYnZ|0w`$Vwp0T7*lq#!OA*fQe7yA>ZwYQyxcE#~^~xMBknH0vBv8u(kz zY*%iM#AY?PxoV;h$((1;Rk4Hx2?*J&Bkm+)Kj%lQ(5zs83ka@b+kpoX@NN4u4~7nT z7svCX#WK8*Die7SK|F!;+(7Uy_uYZ330%Vw0kpMShv)QyDPCE6J-3ohNReUWQK+3YA zoeF5Np@3(&NNAgtj3O+jG>*wi#aCOj&+7~td$7x7Sv_xXENqcAvvI%YGmd6kS}$q5 zX1zQUr^yrwFul!`%~@J>ZJOJAJ2AIgP^3B~C3O@SpXvlKE_O0R3rJ71BmT8c%=r8; zV;h7ra|=byMd2AKYDXFrk(>7E`q3oJ=>NEA4;*}3u>uM0jMHny3bortZZBJIEwLMv zc>cKq4H3cBoU;Fa98I?*ylBiuc%2a_`#2g@vqYD3c5lHd7Y;i+!-A>wGb{|jTY~W9 zRhjw)-;7}?VhPW4VHm@LcwKYMh-w@Duban1j1ep zP+&i;op4OI0*Ar_dDz4_a|#b8v4S=`LahWqac4-A=hMOR4ztz7U!LT-`Nb` z-xs5NZ0B!rDhRoMDXBu^p7ObzS4mQ?z9)!g zWwtaM__CKr8xBq8<(Q1E6xL8kmp#vv9heWLv*$U7bH&L5jZHRB^@s4!3GZg92i(``#@HiA#j?c*#{x{e|>by$sX_K zMCdJ!rdtxBG-e}0*9IcAQAoA`0NO@lEJz}qLpNo!`#LfCQ$P%YGhEoTrGyj$aVZ+T zIFI2gl{l5G62lq$`P7ro8|4CM8U~6wL5>~!GLmL1^|pdT940i383qp7fSrmmXP8g@ z${~Ai(2FAfCi@BVOr$3P+ETU%jRWly384Ma8Dgz>BpkbAGat~8fLF_ufq}i|5T-IZ z0qH8F68Wa!Jo8|f)?iQiXz|rCTkd&}5j4~hFl}O9;_h0~=}R5Jj8ojquqE5gQ@3T) zM;%SKBz0)aM(Qlmrai+?_TSXhme{bD6I>KVjO^yEotWmrFewObaLqC!K{KPc;Ru60 z1?GYra}Pyf6)fv`R#2FCNnavzrKJQxM%my5&3(lIm|z>Ig6l)xMA zOHQ4(w++1+I?~K}L1Gt@sy-QoRI)Yz!#M;D)1#8hr}@9g4nFJXAO((t-EbOtz?~t) z$o`v}Ak-a$R5`m?!SkI?Ozpe`>S}zJ8FA;U6?gtIgFOZ28t2Yt2JD@?1nbgLx}1j# zR?73~`vtgY5AYAqz~6ibOlmN;Sv3=*(p<%xpgv^}3?N#c@=&pTH&Q8~@&`wb<4CEm zrf3F?ZdCrOgIpp@U>a6CWi@7cI!rb%lZ>(ftI@~}t1WYZK&%+9`8I=MjmJ3ssUC+| zjI@3Azc0=f#zFn>ASv6EYEl=XCrriO8r^~v#uHP6rQ#6VLHKx}QbZ^N7O7m1$)4Z} ziJ|RBv)RL2#8pCu&KZauWgRBD4y;OSC^gMfXjY``<@6bQ<9_dGMVK(Y1 zbq(b@pc`r+*5)exVA^bW%Z*-&ZCqx72)EsOCWx3$BinG{9%HjOSdAR%vhq2cpsEv8 zl?hd;6+lU_t02L$-RgC0>I$i8FE3P0eof#7onCm-NqOxHm2QywV&pucER_d281>ju z-Q%5jBW|r>B?3x^&f9KV&Gp;aRfqjs3OS>5tz=nH_!DjGl9QO+ADsRY#jvJI!&)ZM zFM)bdLWo<<*DsX1on^yf)!v-#0vESxKN|S9Gb6I(_!dhl&5r z42Xa1DQ`F87mk>m4ROH??@0h=<4*YV_UqJN?AsVoxh2WH8P51qPkc&H&rr716FBMz zq74TYeg7YUdTdAiAar+fb}0^%@e?Z7ET!P&gwF6%BFKEAFjO2NwMs>sBb8=;vM{_7 zagF5JM{q~s!J!h8#2~jUya7{%n(r*rD*s~9qcqU&kB;AIXZz8~cBSp4oPN`e4pLZa zf$~oy2YC6c>TOV_xNK6(kP}qn0*)=pQ#!Fftk^`7Q4H1GwVymckj?o+5Y%!@4>7Jt zgG!!%-lM_x4&*d)-6?9I-`Mp-7NPQXo4o^@P!CWMQFEDT0-!-XN7Q&&565FfN)PgW*q>sR>5)T#gcWS3d% zQJu7MNS|%vp!L}Dq4RZj61N|8AfW}^e%#S)OSq-+8r&{(K&*vXrg4*esT1?seT7k+E5O=?iYP0|@n7X+-6Pe?INDf^mr+>) z$ueMjP}DS1;KNv9+W*1ZCZFb{#kuk|vx(U*$5^zHIHF@EMy}Q^^Hbu7)W| z8WkP{7lXx>>@nPY7-7wQ9Gc34q>EF#al9(r*hrr|imEX96YdXX=(%d>O<3s}o>K1d|}_o3j-FaeDxN-56ol@7p(4011_9r~u~I zrsM)Gv7yy{xw|HY;kLEBFrahtyQq{x$!?bm5<8Oua;F16k;SLE5bC=eO}Di0(3s7_ zb51CP+J{&RQ%vK98STVGFQ5SAc+3lecOf(*N&d40f^VPOBVy6J3 z>^kv(J3-*!YvaIr?h<&|vGaP!^=utGjsPC9me`9fxp1yN4lbPf&h5#uJH~}l)+YjU zI)(@449*6kd^#IMTp9*d)h4DUtr(t++ZGzlv)L~GF)IAd1t%w{G?pIl{Ep-KXa+pc zKpfA`t^{aCIN>~sK!=~Nm%?>=Ib5fg)T@9y^dVpKAjO_lb-6VCpyPP2J4haZHjx3% zW&1qRy?@)$*~8AW#5jH%>1-Ky)(huC1IL`z!|aLBx>}=$oH>AAhSG<^jZT>wY{nL= z&#M6gLxp49gcgCnfO6~=5Ujt;8{zBc=|&M>^&x+XecI)f_&UzlGG8lvoxs(*pDtBg z`cL+1>SGcgySypBKET(*^usCM_tAX+T<<~pYpyrVKRv|PhjBgXeH*`zJ>orrKfEJ! zd6X`X(dBXf-b?A*%joiQy1aree?>1Ay;tJ#O-g{2)8B8P%MZ}dQSXiTimAQ{A3K*^>HQ^c?(#?p^S(}( zWAx-xbomzl@(sHAO}f09UR*Htmj@Bg98CG_Vqx_pBk`5IlmNSDv!GUYuRYGj5RnBkX? z@{2S4(hR>aGsRVxsQMCj#@xo8ae@Kv><82%cXlS_zu?YT1W;!lZ+C2@?Rz?n;LWFd zw8!qfi@veh=e<|W?fvTG1NZ+1X~&66~l{ zCTh}2K3Clni|i?D(H{@s*94C1r?p^4c5;dzP;bg5A^QBd*ukKxaO)q>P6SY264L`=A%KeaFk$}mI5WdL1 zF;f!=Rg|H}3{|i_WN9v!L?2b>s`bMHN@r#Zr9c%~LJbqR`{yW4M1l=d+%_kk7J9sX z`AdD_{xJ&8W;pqXx4i7$3#r3U8BF<>nDiCxpY%L6>2CDY+3Szt44>4QUb8VSNPyp{eY0UQu+zh;n#RIsSD-hYou zKS8C(;peJFYEEYKaYTIX6c(inn)Sipkk1T&QbCj%eu-w^S@rr2iO$JO$Q*<@J#$ ztO6+&x4a(kDVTERxUx|&0T2=R)EV#$enU78jDIcFTp20$x2Z=%Pfcc}_|quFd`%$2 znTtilz3EXgNm5pdKX-JH0@neD(#Q>mE;1Y%<Bd4zpoHYnNmV*MmaI z{LgGjDzI{Y9c?&}i~UP5ZELZw-@liNycEX~@I!KKJU@+$sb$WCJW;4ZOB?4YE0=pU z2g7w*m6R;z)j>cU<||DW5qiYM1rTy{N14N(C>qIx9Z~4yP-O~{iwLHaFgp(Y3sfw= z8p@9J3;1#|1?9&rduJ(blDLUM#TJ5`&UAS=KdlflgcvQ9;$bfWplFI5sW2|JOffk^ zI8Zmk;9{%1W!z<*G%B28#4%-MGqhPY=iS zZMSd}u&J7l96mY$rx0ExoD@MTDl37?+8i5^K-spq$S}EyT=i!;-co-i&MUGNIdR(3{r>|b|c#&%K>7j4@st7`|!VN6}CgvuW=O{O60z#;X4D1-tJNu1~S zt(!(5Ow>Ws!h?mODHb-`OrJ%%APt!+Tw#eSa)*o+h7O^ydJfT$WX4-Uhjn90j;ems z36i-PmRLBL>d1!t%yV|khJv*XyRw;qN>V>{U9#h*C5gJw(QpdV3%n9EVk1#+Qc@!= zfwTq+OS%CA3{@5+WR?gS_uNo=vR1!6yU7~%(V~n5 zIeYF{NDFbUz$hvCRtIaviLZuv_6|qGEr~B0u@PUFa)M14DKtLYX4t@?B5Y86yIGCW zHmr&rBTPdUN~(6SUt#EtW=jQehWbV)z?U_^o(e?HC&i?u+CQnA!;?xunVV>coEl$B zVQUAH6wSsrAQul;dX*P+M`X{@`c1&Ao-MqBZN`~s!+{drzZsLW`R{fL!&73~kD)O8 zjAVTytb)Y(B$j|7Wbfq=3oI`r-1Arg^z^9#U$`sk$+BSqythW@nDxfsRz)cinlZrZ z*;yGbj!av7La1U%5Dgu{w|9u<>-VHAe%3Lu$jXyuOXv?B9kjFp(a6mTbPo1UqVpFR zbWJn`YsbmJTN5zY_y$oZoJPb!hwh6>eJNYu#%=m+SCjgJg0|&%*E6*5XEyB!ScLUCM(MPc09vse!j#ZDG0h|W~5|A;U&8-x3`jmeOJ~Q)oQs>j{B}+%vi_Q ztj_hUS+g>?cJ)epU%gySE7VwV#8h98j?rK7wWalvc7jN*mH)3p+D6vOv!X+n#=z+k z`m(Ekadg$vs!4M&tL9lze9KWZHQ_f#Cw#nVMFRXu32^NF&~DFhBV`Hdh1VoIFf&8A z?W=d;*A{~*ef9g}bt1dUYjj#1(x5{(S}2o--~06mp>qB zjRkD5R2Ww-I@;0*wqcb~NEz+eFvO24zg?kPg~^B)%Z0uivipzau^J*~YDk?Yq8K?i z7K?ebOQ|p`xkH7*L~gR0A39`$D5+_cG!L)QeoHPtilSbyGHD3#Ir6RxxkT+H=G@pp zOa9#w1%+=QM%IRAwsdzm8g5B2(1^`S@PxL;k2~N6-MV0E^KeS>^b#eWBq7Jp?X$P3 zG_JfwgCu{-6#-v(rK)3XSHd+>s=#Ft+T&yTV`q0|6opSHVy)QTEtE)d&Qw9i1CHZb`bs4hoBq?tDF3(~t7IoC-L| zMoW%HTOwN;ts&c+8Jq?J%|l)exh-&bv=eZ+Eyy>>0YK@gNARBuAQ|!BZ#Bq&*X=2& z!l2?TlBod^Fb6myT>ZoLfh{o2NX)<4fuslrq;Z11!_h%Y+(08Y+|bo-NGdd}D)ZQXf@FuzX|nky(8`keaz3 zigqp{z)>TOy0~MVDne58|2*d3F<*^57asBjT# z5vpBrg!y2H9hwFmml~%?MjQ=MrI0FU(BDC+s3SqT2ih37k5xVAMkmD3|IC(A5}N!D6dMD4b|yVdYFpB#o4|oRlF;ReIWIhIRr$kcloG2vb>Etx7}(&7y*=sL24Zhdp@$NV_(j(GMz!739F4ZLzSC&U`u=u?xK!|- zGpLaYRZ~Eo%V?Db#mO6FgUdPrVB0aB zRxeTwfVhzvl#ZEtsK$jFxkFP}jZ_|t;FKw`X&?tki{WhmW2WjeTL{pqREH6IpPY}U z*s(E4^6Fr}VlCL1Eg8oxbrXuBZeYRDR*Gtd1saN2)XX3?uNZgj0#IDMbC!N#DcOoE zmi(5DyJF|>of;oUOrs<)|E@s)V7BNF9I*$Z4F}BMU&DlKP3P*(mGUU+YohWluhX?l zbN3)i6TGU(wu_V~s5vr5`X=c>*gTw|BQ$b~*TlAf<;mTK0LVmi+`iW|1?|T1!<6C& z385H(T(A#X3F@Q3p@w)P0t7;ks^!A4rTHxr&#CG9Pm0Ms+WyHMPMBQdir#FdTKGNUp+e5 zfa&5^-0QX!M@9;CtT{J1J)z7z6jRCTze+`}t;40r6dv^1HlOb-Cib4S0iU`Dfra-( zCzdr=KBTbl?&E-kd*Kr2t)n0$Vx)vyutD^B+8T^*(q&+}Ak|ALaIV%+P6-v}^0oD_ zm5L+q{1dkXg>nK3X=Cco0!(So{MJl{A+_XBI}jJKZRV*d_{7CY&rT_h$R@wwXflO_ z4$i;OSdC>fm*FToZfY*g)d2cIC+1`u6R!C*qe(e}-XB&>^(lsI3giUFMAM?}c1_JD zOAuKIhK<--@He-79s=K(L%oWNu*AT+Pc{~|XV!#rRY6=A$)c7Nww zm+Y-bf#HDtXv8k|YidS~x=EIHVm3D8xn`0P<2|An?^o?-yk-X6kj~} zpj>zmnOT%I;0NvHY1#DPuY<7wcQyxA(e`)^sl?1~_+(|GIK(NeLW(tQSB>Otvx4LK zGU!NX=6+W~&sm=>ImTHZk1EQT6})doZVnXSn?mJU#6jkBqm>FO$qpBw8xRt}!dVvq_i84pvS^|tn-_3;MLdJ(5wA^(}$w+YkrrDhe< zI||N6#RTte{{&waKS5jk)aTc<_aiSIpy3}Jp?dC^IQT6h9nNLVA`&0y-*$AyH3X#R zKd{#*V}COXYEW~8^15iH>_p9xgqkCq`{p;h=E(iTlx4cCCQp1XU3%zpIbB{t3gSI< zDbgb&xCE6(=+zm1ZH8Z&;m2qA(NK*MZk#!W8|N@rZk&%5aO3PcrN%v8aUP}g7L=~d z`#Xv!r!zd>_h~pBvGAOzEJ92PJ@nlfRTjBmx7J10tk3PvBWQFohdXd|j!S9lcut7g zX9$)oGu}ksva3My=4iw9T`4P&tm|F9x)<>Qm~Af>b(-xgrAY3km7Lt12tOR<6ZKf2 zbSy3FbJT|Rf`s)rctnN@6UeJ1U8KHxCA@$y)}3I*Z=st8^tflEu*}9^^*>xqVz$8+sZ5K31jV1^!uBv{0zxkv+(T zkO#C$%j0`c?DVtPV=EvHF@B?Ly?Aza6@f%BuIV|-q@Y?Ws=DCZf_@XIGmS}}c%F@2 z@aad}PXfByMT7)aBlInlK_jS#bWPF^XW|Dc8g({45j%IT`cPHnxhtd|t6ydm{Z*?W4%VPzoq9@DvC~hz>RA2k&C^4aop}tzGdh+lBPgkM ztlll&UfVlF58)&PKh&!pdeyOlw?z%Y`v!sg+qe|GZMb#&f8w7<5puh{+i;!nw&Qx# zyPd!HCxZa1k|0T8XEowpQPV4Z4Iu{>s-9k10&*HIU?Q9QT%zJUr(=D%} zmiZLE#GTb!bEojnxV11z39QLET*ZM#$x4x51+o5w=H8A)<$p#S_5x_06(g_m_o&h= zi;EEd1YjxKR@)Dj)h3=ADD3PV%&-_%6Yv&-sEOf$J~jcb+}v53wCel~+W z1?GZnmL*YG1@by>2YL7|a@4Ul7oo&Jf{=VxC*(MYOX>B)NPitJzLi+@CUE-MoVJ^W zD>$ty7>^{jJ<*vZ%jQK;c&DR2`=XPSZGstql`wgtE>7KdG=q)EyMa;OvVu(w!T z*v^RQ&QluPF2+g<#5T@!%?!AiA~bSIwUp2Pr7^zFGf?83D^VLA({{3&2Ye;ec`n+i z{q{pUv}ayFA2uuP?DVd&+zS!^>jnDB9Q-cI6JdfW+>vWZKCorF$k8S z-_OWD8t*+2ZoBwLgdOr(f(>)+pVGJNyrQ3uHeBDA-YXjK2ARb-dNYjI!NO> zG_&-@PWDJ{a2hr-Lc%!xPO&_Jz)1>SsZ7zg+9cGg@miohu|=>c+?q0cn{7{k{+m$< z`HEGFWic=Tzd;R$eVq~)puxstqF=aOLx~(D+kH6QF*Qkm+N%I1^_j+A5uo^Kwx9^2 zssB3Kuor-5K0sk<#`Ujn%_A<5T(P8k(>^>0%?=Fkxrm(Vr64Ed3Q za}yPik~tozNU5)DKLRQ^>8^?rHRUGZ;|)#%DwwJ_=qweYt|rhnL7p2|ejSbzC{)Lb z<$OtbhG{r(%Tu{?dX^qA9_nZYjPu3(luMpxD7D-FFA6xHI3u?7!Vq*MEzH+Yla2qY zqwy4!A87hCYNP3Yi1DN*_#DC%2IRn%;0hNGYz40=A5p*orzu@rvPleAOd+n0$d{95 zkWFfGe6n*o$3zWzszM{+t`1QrG~b%pr68HBp3wxlvWps{LrN59gbyW(HP=X5I!gZ;rBXE)+zzS6!&Q~dlC|KFZJ!~V6^6nU^!G+A| zhQXw@5|$IYR?A}6oeLD?+K+-W8srK(K%#3nszo92gzIV8pz zLwFoHlznEmR%CAz!9)0}&W`C^!f>+#hLPoqLeBNT{XwwCH&5M`P2cWlx~0X7#%va^ zv!W1`qiAY^OKE~p=*!8T6@5f@`I1gde32jt!T7EzXS5vZEt8uW6Dg1xxTbE50xM8F z7Bv1>1N-6kb4q9Go2jb`8akBAMDK{iszx z#0+ra3GH-J%QFjgdcX*EVod!4$C>1M_7|>%1mh!cx$z3r6ePfamQN4)L%#b&5s5{YoN$}q_?Aw<@%&s8#R=iynqo%6;asH^Jj6&&K_@K;hq2uh62y$?ueZdN zYJCc=6=YY|Cc(ON-j@=5l&1X1{rE*7EN>krc1Ali0>ivI#$Zbp-AZQoxPxjVszEj@ z=cgTArXZw1;Lu!*z*#IX+4!6@;tsu)`jPf?M>7L<9GnS^V7=-`wBg4Vig2*{9SIyn zI<1QA8!6)G1t)&u<1%!{2IVKQkSYT?u!Ae*(sW={*=y#{iC)Z_dFDJhifl;o@7qO^ ze;Xpn8*ttwC1`|jr#6$E)Xh*sBv>Y(feV#z{~3=y1y4Q-T8Xn7)#jkz4{3hw%agZw zeKMR<%qhr|=a0YtVl~Mw^n|I{dGbCoYo0vz2j+UZw^C4}iat{jjq7vWNQB3gA@r)I zJQf?Vp4q00eh#`aQtpvko~LtA45P5K z4A^ON7QY0Fu(>hAg4%b&%ogVgToETx;wH;P?%Q>>F+P1bT&zu$^3yzN%N^C-zzbrso7z9wl?juz zWz1Po(P5NEb^I>wfiQR6kp*|mgJBHGbIjX~<@tz7mwF@quq1weU&6d>ioFszLH5XL zRc(XHwdYYwv{>ep(WrM&Lp~&AFSN+E;kN`j54InjS2sBAu}x&xz?Cq8!z+{QM&c=IaoeUK{yPH-w2IZdMfP+@wo0tdJSx6XAd06*S-z+clK z;P-D={vu8jS9mZ_Imc_19LSfF6fdNT$msJXj1QQWd@vlK@7_|$-HohMDD{c+-&2!Q z)k3!g=X+c4q*w-W%A z38hwrZMrj16EA+cJJ3;c9SShNqy1pk_13lP-b_HLlqj|au_4CN+8Wh@ za#1PS6(;qV-zD}kYEz+K;pA(;Nz0Z<;O^MKipq?LR+n@uoIp|2)rnFdY1D?qR= zI?`4^5a?pTbmyxTSi&SmfBDB*J;llkeD8f4&j%H7Hs&7gzJ01X+PyN@y(d31k}s4B z^nFXdTUsgH62OF%$O`>!)-yx#6w9nCv zBYGofUb-^&I`}lQMcrt|#(N!&rZB{UO=ub|IGhc@b*hv|lK>Jz$~AdgJ9gP$kDg4q>VxkP%@L+LvELx=fa&M5L4@u&XQbJR*iw;wzHI zYQgt|jydd!lAiQ(q%k%J^12@!#Nil6PFhJ_Aea(AbFkxZVKR@Tn*6kiIjg||E{n+8 zD@9*qT+Vq&UA5Vlg_t~=tvHX<Pq53_LP@`qeU$K<6iRLDCA?PsF`(MA0Wh0e*r(!ty>BN;J;v9%5C*wUj}Z0# z(vQB+!I_;Q#&u#j1e)-4>?w@k^kRjM14u+I4F4i%_M6$#Y~bnmdbHut#BPf5bi8>V zxZNBp<89-7=`gfJZ6@f{b#$_D+89z~=lA6z)x=P#8^;8@U}lx_LrOakHrZgQf;#ZL z?@z0}Dxr;I3s51*OvB*`E?&To`7RZ0l5wK)c8yY+c7GiOq3?o8ZQA{MV)8|R{v(( zr|e$oQT8?aMoBjh8=W!np0G=el1pZ1#04#DtBe)f$StmJX7yq*TE z&CLmXVw)T#tBE0@x%_CJl7-N7I*1ZltNwPlQa#j#IH{pYWPBhcma0Je z&OK#^w6i0z#J><=&v4r(P6*xIAaJ+tc>EAaqhFQhh<-NVR?Ys7F-Lo&Z`L<2F_if#i+q!E@Zs*p$dpF&>HFw+AJzI0Vy%HZ+ z{^apD&H56ak+l7t_Ty_LLEKp~tKOdaSwC(61jphhXj4zPOxC#w{zEkg6_p+SA+`Pk zbs^H>*>R;EYz0g`1Wi0#B*N*vBDLh5jco?62wa z74qYKkuLk`&wX_HXS)0oE zzYsl+-0uyhN@S&;Zy;r_ z&Y>S1ssZz@IMhj@HuoEto*eAr&P$$SSTfU0EWw)@-L>o?h^dd=U&$7sV6bA=Y z-5JhpJyj!zl$K%~<8%L15y5+Tg!WK=4II|*%WXpLKxFfz#Isb$P-i~EUJ8hykcgm5@|8lF`uKMR<9Zv%qFU znt4cr{B2Rx`szev`~Nf_22z!o%R65H19>xF&9| zmo7(4B&z$ZH1V(=CAkMfw-rb_|E&Vf4p)hYc>{?eO($t1OUHcDR&yS;f<{IVmx|PT zLGd%po%XdVNMXwwr+TxHyRCqT)ZG3`6@}mRrdMBX8=qz87lN3#Vi|kdQyf}aLwU|^@Rs~~k+EM@mq z0*6WA#>~@HDZ8&bpc#=9h@kPuEhR;~MfhDu<1NVw8nuxXj`DR)O)h=;y1(tjG?UBM zxn`M>#OqQF@nr^k3d{w$A^su?E6-=VxZRh5pj=#t`f?#TiG{y~%5};66$jhgv*92e ziI7+qZ{bbJ>R-z&dbXqS6o?L%a~ic_(HmPqmsCHR0>@Wb7))wbuW%W z*td~Va7dgcxkN3T5|==oeN63T`}l-d9!JwA3qxb&B3Y=@NOe~BwfCVstN_B}G|urC z%2!TOgz6-n=I3fQRDT8G>hx!BsFX)u{z06J0p2KY8V|*f}`SoODUt;6j$fGnFbWJKri@-G$iv95|k2c1?Xm*;m+_`ar3CLE>$DV zwl8q=So?9KtG!CV#sJdfwNS_IRbf3o&5;)ZQo~lR2&;5H4ZO=Cp|id%fbiP(1L1-M zdDFgB(C^50Qb8){U};~bCiOPvx=1SM4YMZrFj+c6>z_I_4zF`quC>&X!n7Lc`!Ld$ zPo0Tab?uD`a!n*a$JV_vOp7cTizSvLE%Lq?ab-jjl3G;Yh$WSTQA3{CQf0I_M1EI3 zk_`z)zbf_J_sse-OIu9aVue=Iy+{M&vkrQWSX(FsLq6t#0ZB-6=%#G;%Z_GK=o*2Y zMdO8(V=2Bs>vC4YQrDDhf=THT?M{$8c24DoVwe@l91aF`hI-6dn`Ex->WXQFef|E+ zcAFczEM7mJ0||?YpJpy9bcULq{*(Jp=|8o9UQ8N=KzO_`0dKbUu^cL&IYQ0M32VV< zAAH)fHd(~3%wWOtD>w0;SSo*!ExW|2<~r$s6l>rln`9S;mJP|~;+HT|PrW$<`9IsK z;{b{JjJ`b+o3-mpwFZsYie55$dsQNeNRCJIoNXLCqxsy{Ihm`CTj%H9HGw)Nv@B3! z?Q-F;mTMCHiBAbix&*jr%jW5_Xu~1<{Ms1J^Y`z-R*qiU1`FlFND+IB_*-szg0om@ zhsj3fV15wWo-nf!hg2RVD?2~gHI|>4D3p2QQ(5+5BVL_)QkluIo|0?SY<223XlX5$ zi<8BCsY|bx^b(ho@z+?jqC7u_ED*jjikGad`sVPG_>!B z!nS27He!LIQqLjWOj0=?rU5Ex+odyCARvl1?g(Mb8GOpHiuWqTq2PF+R*lY2>RDm9I)C_86HMlJbqv6z$W=oUvuEvY{=13;eDpG~bpQBaZ#I<|04sW<72(z8<1z;?yx z!QQS;q_6AEb9n;8=1f1`v|=N80`9!QYUOYluDb_w-qiR6T!YZQX%o7Digyo9V?TJb z+gi3q9Noe2<&|EGEoz24gomb?F5$+p&b$Br?R^WFTve5Bl71zfga85ZGFZ?sbbv}i zcsK?GLJ}YpX<|AMP-42e>vVS=x~rOcBxyB(A|$Qn@{mHs_lJrozEI?%jyk?Td|V&n z^Nv^V)p68uoN>O-d*}Q76z{**-lz82=TTj?>zoE1^TDY;Rp+d|_ImBL*Is+=m&7Y0 zVPpO!5sK>{^WPHUU~1BhLuFH9L$m9qw$gVw`;5bneNJQQ^@+y8-FWB3jY=^p=V(g= z%l#hi^*f@rZP&LJv&y($FHS5yV4dBIZQJbsa%vIjg3?f7w|$zGTr-;KnoeGqu8ttA zUzg5qMKkmfrL|YR(sm>cX=~mCzb2d({z1Z7QI(D@D!`Z0aBSUVWq-bI{XxG6+=dTM zE@|^V_)1hhrU7LqC#s}&WpUh%g_ECrTLGdU)8z5Nc;!*8lD#7c*yDv?8{(9`bT1e9 zNo6O>sOLuuC2+|2*hKhOq`@AS7>B47@$)DSH>JfD`c-;kWANX}r=!C|dR_P1r|XHf zq>=X{K`O-U^X?TQuG2e&y!Z3mjbeBH0TXdNP@Mf*Sj`GASAg_cSus(R`XLf?T@}oW zaLzJh4$g5eoqmAzOiX%mseXEd3op{#iJn-OIu&h|H=jz}qF=?B?BQd5RwLcx9*Lyx zq<*FW6$9Sz31J=7&DXJh3h2!}*`T?$d}8W{>l1Hik>)yzEm4Hd#b$o#ROqBHb+A8} zi=JOGyV$^GWx=5(#c0vdG_4Uu{N~j<<{e0ssSr2tfZ9M zx-Am1f&O*%H50My4>Jq9*z3uM_gloXT4+sI=J}UK2iO8ub9o4+y3{O_M$_$y-q@lB zjkRSnsTZ!zOnF@Z@(u#D(@a7m0>oqz#v)|KZxTNFESrRo<{Pfd;Dm*VyhZi9eaka{ z&K>a@nNuKE$rzdLkOK(Rtk;eZ7{8I(OlluluuR%^G1aBIx@?L<=e6ws(zIz)yc!-B z1*%36$FEI)%hD+;{IxPf>K4r$j8~E_jYE=}pV1x+r;*>DIV(}D7SlvIkENQn@b-9` z=%3QcCtcgBJ=tJSYU6b!n&34*r(Ls~k0+pMEl>D(UzeCB_@=cDpVZ{_rSZzEn%Q0- z1nimFzA|L$wRWf2RDv-d(<++YisKl#v-JUA#L8!RR_kIuh)LYD%UguF>3t6A;`k0) zJfSgVJ)Oz|H;0NPyYp{$b}%I$8p;)`SU1~Ws7?-BB|OEmPBrDkG!n}x))>Ozm|9|= zADvo({MUl}b$uo;CyX6vSNB8?HXusC?J-G2zqLUFZMiyxx$Ekj7)rl3dWuCNAMJHx zxK#U9Z|L5+=}}pC%&pdFt8jScSP3{-k}^6y8Hf$u;4V_$ohz=>nhEJT$avXvlA+ zj}Nw|TbNHaurL9m-Hs{ye1nGCGTzh!*La^SeW?iAwbAunMR(nNcMEptpuaO0on4mF z1wcokCB}BK@aP?z?<>~$&vVhI`MwqKM!kq>XnB2v>iUM3>pQ|LzWc26b7^#;%Hq=B z6+)UiGqnkUh4{vtzY;};YP^HdGfl2uCeKko{xOtygEuD5QS2JZ7+ZdlyMdp67I(HIHge*aYsVV(9n6oA!?Ne z9o|AxM@Tnl%eJ%-Rc&XaTG61Pwni%Ifjd(5$&rePEAoee%^37`bJ5SUS`d%+ z`U}zW4PfW#056=2{`v>7Mp7Ho0QRm3z4s4bm(HIzFJ!XuUu*#L9Jg^Q5}c4zEER7P z?3I;5e(C1a={cNhtQo^p|E6_;nEdsBrKo$*sGIX=KvD0|IS3U^X6RhpaB<+F2o>@V zoxCZu!Qz0P3Pd7WHsQ+`o;C zIt1YZh%JX}SSseKBWhJ7c*LLgA?X^?Lk*TexbmM~1JJV?u%NZw=uUST`G+G`jY0gi zG-u<|oV=>~mt2~&-@c11R+>VPXn@z9I@M|;t z$_zg~!;gB3XEShK%VXfYSB-)5)&~a8sf7gG=4GJI&=x@6^BsRZQ2Q$=@0pojZlNwH zDIlgZAB?Fks8+{V+l8+EqK#*d6K&WAe1!gruMX(Pf`FZjd4X-M4)ZMaKabG5I-PhX zmSrg43H1p%=f+bbk@F5PrOr_?MEr>CCu|B-r4m&QJwz_4;K{C1(Z-qDWyF`&Q(|Wv z=H)xF;vm;bF+y$WP{?tKCvoG_7pJOTTx}(t6+*sY~91qq>@c{>|5;yh_%i6p=4Y z{ypqdY6K;TQlmOYeA5N{4}`B)iE^>0Rh?bWG+#|twrK-6=*t_C?QaJtE z=&rfGub7Jt_o@yz-^rL1p-0RPe$Vtbuwbf)-G2rJ(5@?7SRKkMq%4n88S45-;>|=s zwcR{Qq%~Br_0i=fFOR1IS3PCo%JLAXI@?~@KxhK0Xp+dXr9lG*JXC5(n7eAY1a3i{ z{B3m5)Yc5nMJJd$4^mnt*-N#9*EK(7R;OH z^x)*)NtEKQ-B;pqWtX%skmhxlyLUy8F4285G=fLNXSvHzO)0E##CJls`?xS=b{~AGrOm-idzj` z9Ep6eROD(2-rck^*jRVeMH*v!pfo@32=yqw*_DbGDiK=}Mlle`A1%Bz6|!=nr%A~@ zZvCe+5fRL%a`2~!y*VjgGJX5tyux#T8^U7`ApSQqKJIA6%{�IzsY}6#b5gpx+^& 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 literal 0 HcmV?d00001 diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..01baebf9600498ff0a0e8f1e54acf6b750f912db GIT binary patch literal 2930 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 NUsCT-jIM@*e*$RfIX(aY literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/02-00-getting-started.doctree b/.doctrees/tutorial/02-00-getting-started.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ac9e07fb59ef6466920ef11a8ccdf66bec6dc675 GIT binary patch literal 3982 zcmbtX-Hs$T72e(1?&+TC>E79}D`0k(ilUH>*q+|}T%brOCK0^{aoVKdT?Ot|l|1DxJ~VU4ur(xX3k?_2b(0 zy}ISXoHXlq4b3c9a=DzfSexxWt{_Bt`t{BQ?)Zr75jpQ_n_9kCv}$9CAU`_+i4f{t`0CDo&u(&wWK zBFGSSnYFKI*~nH_X->rG(d)xUkA~A2f}x2aIMD`P-9NoijS+}0+$2*?O12)h?|mo} z%eYB0MoLTd!(>L285iQM7{I&kDH=@#Vg4wZf5z_nAh91HGVDdf|0Voh#_tvUUWM1} zM{LNB*+W=$bK!NcZhu?}L2W8HY+e9nJ>y+JlX6RowP|&3EzcC zeuJ1r2TmgPu+`54BJMtY&B~<@p53K3Tzc=@{C@{ZZ^ylT91t(|?!rd*+WQsHX>zG5 zWJRlL%95Gp0oRb}WWtft;9c^OR>)?t?d9Xf%l~7imG9}Z`@Rdee)n9y|MU||GL~4H zG08uzs6hyb4PZISq1ju*#p}_ zVD+;HmOilvT|3rV?XC|)MgF9zNDtq@L!lx&nJP+E$$YKeA_22&ATO0!P1hN?nR`;{ zvm2w7S1r2K+nDc?_HMLAa6L3cxi(eb^Sm|;0i`wmfK!s4rZ z1)1lxw5*6#L1DJzwwYm=wf-GRTXAdl&MqI6M1(l>x|nWBjN9mrtIqbQ+* z21z>OmZghZ15RufG}nkT*VD9A8ZD7tP*I=WaC?l1<*?-r>6{~0me|THlv=J8FpJ~* zGomH14Gm4vC*Zx+B%|Ibz_8C{S=p4zOy!{hx|N*_e>^lC)o^cfG7XHIG9q&UFd=d9 zEwiX2RoTs5T49&k9dFHSZNdKS`f<~h0gI*gHYc`Lx?A1>gD5e?N5G-l9S9<)6`4|m zJIDA23eCNsX{L0ZqA&pt9OH@Q%(XKmC-4#B;CWi&I>zTUYr8(dT`FCP+zk#y9pqI} zrc2ZzszJa3I4z0r8xDd5p_RtxekCdmt#Xyl3y-H;bY3b$)Af}BBAHDuxZx3>gEZ%c zjD>fkv2u4&4eX)o!5M?gKqNgtrcp~5jO6b6FC1d1_5_6V`rUHmdmmJ?90H$*zN7#f zIRy#@FSxCLdFvI|FKL+~DBvTRg@E4Gk?z%crc`&Rw!zN zK)n#gahM8~kx2IL7&m0tgT%*TLzF`ZvHH9!afE-t1om!7;0owb8J81aV8IHvJx`cw zyrstr4_={2EJgp^IIn>j^o1PtdkGU5r51c2;<2S^cyxT}4x8r^z$zw@ z)2`eOl^6cm;yRH_P`rR5mpMmq*c8tMFnxHk9Kt9-3vJWG20hNdZrtq+X?(~)jNK;7 zLED!Q-awG=dSU!#->|QZ>w1B`ED_kxYWB^QVK3tU*Q{sU!Fsa7>Vu3U<^Fi=7$v?Y z7kbgmbxG92dke`e#!4*nA5_1yC0uHEH+JkUP7RB0Z|om>oG0@;+j})L=+|J347Vh} z0(X#1;Sm#Ft!Np$?>6$U;QZ(H$3Q=xV5lR!4Gr=g4_p$*hIoG|4k_Dj?hJs))ITuy Pa?foI4fuXrjZgjy%;yHs literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/02-01-installation.doctree b/.doctrees/tutorial/02-01-installation.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3f83f98dab008f3a5a85c540abfdf0299b11e1bf GIT binary patch literal 14998 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 F{ufKQ^?v{W literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/02-02-hello-world.doctree b/.doctrees/tutorial/02-02-hello-world.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f4bcb346c84cbd29eef9a6465fb537d264f02338 GIT binary patch literal 26806 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 A(f|Me literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/03-00-data-types-and-control-structures.doctree b/.doctrees/tutorial/03-00-data-types-and-control-structures.doctree new file mode 100644 index 0000000000000000000000000000000000000000..4c346889cbecfed9876790c09b7c02e57f3294e6 GIT binary patch literal 6265 zcmcgwTW=gm6?Wp-;~C%LY+^;5WVfT$k_0?sLly}I!D@3^HZkjmO|&4Ps9n=tGgWqV zSJPD;+ek>u!>-m+@wANui2uL?zXQ-d@CV=*AR)AG@SVQQ^cZ<#ClMn}tGh0z>U`%r zr|O(fW_}Z2o+^HB*(5^7`#lzhu@1S(-CU@HEaI`vzsPU>D*t7E)3sB!XLObZJau}!nUW+}ErlQH+)6TVNII?0qz^K$323Bx{ZE>>LIA1NlL-E5`LmOH0p z%=4|R&s>LDo63G>u_)<1Eki>(wgSbBK_lL0ViuKeb77W@Kl&`#P5FSvWUgh|kh*fQ zEUt(JaaBxeLKNz(m+EYZHwZNGCXf=>VWGG1e;fZB_}>Bw;#;CCu8B45>0FIMvA6ktrWCin zlGt%gvL;K~)ZtHPmPd>W`Urv2hYR_-)FJq8VaBEq+z z%+FqmA8$USI2dLD_u%WHq>###rxVx#f#H8B|NDya&z(2c>klV~sCMKz==Ix|((C(U zz4q9F@$`U#Q9J~>3uhQ8y+@4)IB!ZHNK%bJ7MWh>2+`f07nfDD=4C{Tk^Ix?k!%CW zKb{`R~! zl=AxA8)~u(JWG2Kg(8YKUdSzz%42< z_*I@h_0hJ5PiAj`1iS2@=lz6xDGzjn%STvpK`XFc@4YmFH7D;Kk@WXZes^kXG$P^OPEXE7Q07a}WvpHB ze=u&XKYzisfYT|c)IjJTr$>nHb%f9l>+`6-%qiB_<;~h<{gM{?!N{N3gF> z55Wo`_}57y*gt{O7?yWmh2xExxwDAiRe|!-qDOe_ER)pY+J2gQ?gepWXC5<8h|2N7 zT>M%5g)Y!_3@5BXx8o)YM>N^kPdFl#G|`iR%LTb&s8oo-xp zV9@J#wN{+PW%4KoNQe-lDSgGfs}u8Xcl#JyrcV-y8fIU408!=C$9vM^fP37S{>_Q$ z?{qm0F0wCE3~sIkVKYD0I>D+JC#HS3tBU5&a_$yn9H=bh1F1?dcJ6{KI}hmb0X;V9 zv4sbBa}nDQaj=T~(SPtm4vLJ8(rRR^L#6xqp_>&l43UL@?iMS-Rl}j1DVa+y_=U{D=;A6gA2B~qpi_cE=nWYL}ivZfEIs^4$xfwF!LGCUL zw6?LfywSON#w}7I20ZZh2Re;%v@B76miXlr3l6g7u9PiYl`i9h*TS!>9ayoNP?bNn z+(OC|og#I|B~Rs>XI)1yHTs-!D|}x9D>zYR>OnJZCglBWh~<{5%O^(Q(iNelZBrI- zQVKL)l5vt*pT~iw>s{{JnH_Y$*EJIFS0_7to~AnWkvfD5oP*(@TVQjyj9clXl$ky%P|vPmDJ5M?o03`sCf=;s;X-{%HDAs`6uL~O~EY`NH4=)N4 zw>Rh9HE=TWNA5XNz&8mo( z9zUastD7ss3H%pSl&EsRIjnD4I^+mXsJ5P%W6Y>#iQ%kY^(otDe4~~CCj{sLd zP$YNr0di`93>|QSwC+{yUjTwn^N-*Os2jtlP~tYQeYxN$h)gukkD3ef%~w|t&}B%L Q>x2~Ns*pg(Z`SYq7ys8P%m4rY literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/03-01-variables.doctree b/.doctrees/tutorial/03-01-variables.doctree new file mode 100644 index 0000000000000000000000000000000000000000..308dcf3b3e1c2829816817aa6e74db8966bc70c8 GIT binary patch literal 9032 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 literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/03-02-numbers.doctree b/.doctrees/tutorial/03-02-numbers.doctree new file mode 100644 index 0000000000000000000000000000000000000000..b0955d23c868c2c6cc7a1f4fec381c9a62c8ce48 GIT binary patch literal 27659 zcmeHQX^b4lb*8x7lgmrC)`BQXEebRbac8+pijv6CvP4}prL|5=iX+VQ%=B*euxEPQ z-NWVDFf7MVVmfWZjz_udI0ujfMx4Y4kl09UIDwJ;34$DUU?4z#2!W9Vfe|=~oj5R( z@4f2ks;=4T*#cnn`LDPx) z$y76F^x94*?tip@^u7Ie_m3pgp}iIby|Cf*lWlmT;d*{EbUOW)`pIs3J@)*ll9r#0 zoJQ;govgS!?oPOqFZGYO)5&=3#lE9GN+y?k?Ya|2eR>6N?0D9>LQSg&uk-~K6I~l^ z#(j5RGF{DxbjOm3l(yw$hwpWq{&KHwCo^^&hhDuGgD2u)%xgwO?_|TbqX;+gd%R<} z#jmMmud6QVcH>g$tk65XWHPo_=~3U^unI4Ig7Ic3Ur)_cD1#8uw|y;3Q3sZP_Asuw$L?QwGWS;ua;)_Tyh?0V3P ztq6!&;N1zmhSjuV+ltq_z@H^w5xRzIAK~k{&6iiKK31O939$OmC|n-IOZSVq2_N9- zo|p6{w>*5M>)T$(T668#3c5~cL)wuAZ8ceYDP^swh~lPNo|{P!`u1z$=FN{eewT%| z7DA#{Hw>VZ?a1myUT4+1Y(tOhz7tt%UhHll%^8E|FTprjd02`JE z)*0H}k_pkP`pFIR-1p9lDeyUqm-r^L*bDVrjrwTPs1BHx5uj+iH3% zD-Kyo{0d=zbPeMu^tI^>JGmUSj_;vI~r&uCJaPWCu##_ZT>4zr5NK0J9obnqr5({a`` znKW!z)uvUer6XXiX7xHvC#237;`ZAxo;(=_Er>9}vrL#3qldY_MONjAJD1#6+>$mX zd{RdMgU_Uoz8>1XZohYGl*vw*jn)dx&+1hb4=t9|gIucYbaqcw(b{&ywryKs;f9K;#LZ#2IYr$CMSZQj zq7JV-nIhXrj$J>QfJa;R8u-zLJMCTRyAyEMdn@!a0p-+VepMRQboiTvWOmAaFDDLr z<&ESG7dmkmG{rzf!&+)QCAdSMXWhAVycE=M`dde{66_uC&5g|WvJ385m{!2W6?32C zaMP{G4c1`a?T+PKvD;mA#9#&8QhHF?sJZnD6i;U|3d^|pH)_0rr|D!@It*0ne$cq2 z4+b}5^d~o%W_zQwcH1!q`85PVxlIbgL|4h`iX`VR+m5H42 zGJcN3&%v#$$&_z*R(tj;?(HBmhS{gozAU1f-Dt<&546`lJA1fo@4fZ}8-H%ZkPq^OnrU>TxZI5Uc(1BI%fwP8}% zdM6sqtlJ3Gex(e7Ls7#5fz(E2Kuo%Z8+hH#xjEmvu!zwJIx$4;gqku)D-JiaVRwzS zq2y@R{jB-Hj@5LqUV{lW7L+i6|E|1vc>(e2fJtf53PfN5Bl1FvZjB-W9m*1Kjb{0GIR zxjD@Asim_s@0JQ*zF=m&{~iPs8SmB$c%k(o{rPeHx!QU={-$QS^%8y$m}bSD0)&?7 z7W+1>O(i#_gV8(>M)PY}8pGNO9%_qL=7{xvGXH;o)-=Tgm=j{nMp^$W&$3?)h;%EC z@fkzHVYt+(H!W>BEi2L@7M?_yPh<6i2LMRk@8QDkG?h0VIWgORenvyShwA{EeQF7A zH%o$acn49S>F#%kXkJ?sBY0kSnNTUkF13pO?{+Xe9wVF`y`nrYneRAK#BA%F3asjBnaBeEr1I;EB z7fa2o?P7^%&Bf5py1f<#Si=w{^W6r%P1Erksg+hP&i(?*G+fUbxN7o%(JoT_^G3-+ z{b7kvTdepuSsP)pIjW{>wG=w3DC2ysm40sPlr5H)ht}@av0U9c#kXWegguL#E~r7! zByDqQe`ikZTc3yFlA~biRkXgS-AfMYp23scBQiUzD-&7Z{RQu8nEs@J%;xp;14hZw z`bll|>V?qg{=p%j^Byje_Ya;g=^v2Cz$$DVIrugj(rDO1&pTrsYW_s$;BoqWRC6P~ zZ}n&1#wWnlHF_J#lDYY6yD^1ED86c^)2Ytb@4S;mxDD-DT8*G z7UOu%$*cG9*K+Ga>_%Wik&W!C10R~!mmwJ5fT>t8r`Y<#5`!?qYH1#OYu#R~4DT(& z8`Sjr^M-b6dR=0+`DLS)(K=4;vJHN46AbfaW&z8}zL@MNp%x9RmArk)dD(mOT>;KO zx_dYHAk*8gZ%J<_garE=`^hJAG}0D%2Sc$ozj|RBs#>cZYGN?Q@NLuXP8(a1QP*jB zE1nZptmk>(M-1=c_BysJX>7+r)tU{*fmSu(Ksc*TNb4G81mLyS9V|FU*xp=+CZ-D; zY$>;Es!f`jb7e?ow=|=7r=|MP=4ctO)zH->fHxf1N*&oc9Tn1m&G%ic(E`{C)%DEQ ziOtQf%=R}o4BP_~`_DrCmECyrb+JTnG#`B45#!i37&SG}JzWYZ8PRiJ#$h2Mt$(C0 zYwma;-bIy4-hf`3ZNbdPfedF7eiN<%q#-NR%M(pD)5pEGV)}xPmbuBgu12ApzVsaj_PfngB^-DzRHA0Wq zQuzT#T4fef}?N+ZOAeLvYmC(W<&kp&LGsyjNgn^WGzzdNUhd@Lc%qhx1JH}nD<(BtWT!nuI#1*+Va~(7zdfCjrl2AnH+p}P~F;4 z@aa*Ekl*BHB`TAuv<(%q52(W zGmq*J5*4acs648VqPc(L=8DN0rK@*Ay9Qt-O<3(fSr<>UDHx)yx9k|ibw<@Eft?Ty zXvp491+{&RVipM5TTz0oz#U5X!>ClyQYpQi&6$D6(B945UNK#xpuJy41Z3)Jm{jWs zCebm?XEAnnolcYH+&s8@i1s^bs`35AjiJVvcA!$_>>In+4;cUyGekf?z>GtM?^QsT zBwOK6m6gZ;0?0VWWE7J-3jYgGMFvN4lBrBdmJBo9B)$wuVCWOANwwcWmzvUh1{lT6 zkt|ji1jyonYv(`-g=#G?l(&GMI@423_b8z}TC4d%XH_@i2kYMILDStB=o=Kftop`) zH*%G@8Wf3WD-#J_Y9jfN0Yx!uB$A(D2q2R4N+hqn{Bdyb+RMLOng=Bms<*sQE`p+; zW{Qd_A0?Ehpu472vaWJn#PhqvpCKM{Z1VCM=W9(spEF=7W|IW;X@&y=dRz%8W952C ziW(>{smDRur2PfrH**~M8{)u_1%_=|uk0)n z;)W)TuN$lvvqIAN8nX;(997a7MXl--RJuIWPoUku;&zMa8wK?_Kq4_2PJO0ZBS8O8 z;>7?RVa!b>pBG|vn>;v|tEfB8or)tXMzYGGt%>)z^Itu^8?AqL` zj}#kDOilGZFg}Ph24~0zbxD|a(4~g)K`KsJA`-wQ!UuF65_zXm!_)*z!TzzhVVxW z){9vogg?YA=f}NK)GDZ{ba|+sM!O&2c8lp71+`G%lL$;yeedMbMoWUG<^2rNZ2%1O z0DP%7U4c*PL3F=wuv<(%!TUL8Gq1oyNK~j&q4KCcgXVsZn=2-36soBL=V8rE+7RLm z1^!#&z`!?EU>#sq;2gq#XRuz(3L*S;W_eJ7d8`;ht%90LmxuaUwEI=u(x@P1Fit6AV7Bq~&?Pf5;8 zVhtFjz|gf`$J=NJffr?mbUy>@hlvFPYfLz@ilsJBrgt=bev83*Tq~A%06=oln?78a}lKqV=7x7;}_7X%dHkuHwt46|IGmBQ=Gg_E+Bp2 zC^BX*C97cM_1Gww8d-&u%7nO~iRD!TsA9%REFalGET>Nu@TRp!Wy_1@MYQ_Ct%_y% zq|^Pd`w=?HC9_V@eyEIa=+#^QgfI}fkDNSp?ARmJYqH*P?3nByl;kA)%^5*(2Fh#O zzQx^$pjaxsQ0t>jmYl7*ym1X)IRE*Q$B zV7NNyhx%Ru4qsp#3fq;TLQ-o)5D(%e^2+ntvj|r?c1(`PP#sSClb)suI*5MZBUMls z#Dn7SQMv(%bGDR)1Ug3nFKvpU5$|FB9Wko%H4)%P!D?7*#ETvxLB)P1hn;rfhz`db zjw_(yxpVyPkvY7Eh>2%^PtWJGohsXPvXf&GbpC-Jd1 z4<7USwjtWqALB;W(`I#`q;gD2>@*Geo>5J)q*CRkw%Jd5=MO>#h%tf`G#*Amq2!f8 zA#Z8b?3v7WvvN=@ODL|BDyUJ|WN&kw&qn9_7R#xak2Fqipz|RnZ7lY>dOX^NXDII$ zR2to5FtiNarS0K}E&3t4*m?bhv+`xIn(BnVUHDtPnE)u0v(sL5*+C0fxs-jCi&3Q zHq?ls{Bd9)rm#b@&^Xk>F^n9BDAWd4HH$|?vM?mb!zt0Z@OacTY@t}1u;?ySNmdOn6{ByZpt@H2F}kCGWtqK2$Ob#KW! zW-W1b>fWiWu7|wKUX<~}YYx^sdO_?_{LDG)^r_0yinU-Zt#A$6laou8MQ%;Zi0SN9 z&}mk+H}1QyavzE=E>;%J!uM4aJQu`)F(4x-v0!V!pq%!>+^3U4JIqW_)(TFs!CGPX zkYIbAhTm&CO(h@jgu`Ar%CP^lkVf>2KzdRItKII{ub!F#*b+WYs!awSfEaM;bNa*{IdgQsh3HU$mkz(A% z$oVOZoY#1y-Z(+8#$)A)& zXP!E&Iv9k~gUa`_$Ho~S3hL2Z!LJw&islL;52S&yBi9JA~9aJA|*> zh!y2VnN%tn6nTTM=Da~|V)rWChaUKF;W4KGs8?V3~kG91^e9<`=Q8 zV(EyB*##kf&lYRd5c~%NK}{Nni08(oOFo7xt>nKLB}ZdVZ87${4Sp2tCOMmf{pWMA z=T}I735gx7Hsvs6XgN!IdaMu=XP2kMlsh6_3gsD4W#*v(tC}>gMs{bBULC@Ukh_p4 z5IDYDcN%uOw#mo*@kgG-N41!pdrhhVui()AvvOv|$MZ=Ia9}ZA@HwJs$$Nj`v`SgO zvQi&YD-p6`9wxdp<2tO zf6Zp6S@G3E(Tk5bj&H4ml&vJdtPx9B9_7arvs`46my22=VLmNtQBEdKyp}F0g;ubJ zbPrf?qVkwp&}1h~@BkFPk1Z%1k8KIZU(0oOg=I2_iIC)cUU9A+oz~w-KPEt27cU}W zjZSN15;KkTv~~K8heW$&tVNEAEh=8>!-pt_+sN!Q8}4!1ExIAujibesX1KpTJ@ggWI9cJ6ND%~jTJ;JULkod zE_RA$D5cLOT+XDIz0k+it~h8^>9Za56wQr;u5i7d+_(}1F{Mk<9$vg5*+qGJfl~Df zoyh9r&Th(Y+pS{YBPESc<$iI;@g2TXr6s1S{CEgjObeu66Io7XL#K-)i&fvb?D+kQ z+mjjB_Or|JWS?`z16D}c*o)*#l_srOdV-0sxm;|*l;ZsX20tvooyRR8_SZm)wJ zKUJhz4JeUYKbh{uEA#ixW3#KD+?sz_b;2+RtC+JjeI!ie9aXOp_me#$&x}^fIM>oo z4j502Dq5G&4U*lWUPXf}eQW-KQ8?L4JVXG>1w^!%*GJmMG?On7Z{m78J|>gA4qqz> z!e&(*kV7*bayKm}6Ih&B0h>U?YgSni&xAwy31d&tKOR|~t~8A5>5i)Yjk0=L?kAPKgoHz$6R&U^ z==KY4-1gDfbZpnri<+_9zc`f~K!0mjv+kKC5w42-&sUSZ(K=GeUa4joo{{vK&vYfT zQ5$BIm#cu``;*u4HLWW-=ve{M-3w?Bz$d50J0}$V4Jb2&D1E8dMLuczc9Fq&kUX&7l7W3u<9$-<$m{)#YbSCcWPbD2J1luQY8g8mCt#KIMS%A*=1%QdDp^zov7 zSq3FinO%M$67EmZP4W9k>tS^A)`Rrt5>`}OF8#R( zkGS<1{W(Vu&frfknWj==4-6j@;&NBH%vFB>D!+TR=iWh2sX}*F)JBQaMQyZk$+huz zQ|n*p0j0WaeHM`?oYb!MC2Ez|dy`$do-pCN8XhIT1?ON!+#z!y-xCPwcf@DT>Y@@VN65GO=ex`lWoZij8%gI49F_)Y~b4}&@J$Q z0c-MndjF#kOKTmNT^x&E=|7DQi0?w7E2r7EM8lcw%H7_X-Da)XnXacoOIJx@X0RHI Pm> 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 HRF?h^hvl{y literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/03-04-enums-and-switch-statements.doctree b/.doctrees/tutorial/03-04-enums-and-switch-statements.doctree new file mode 100644 index 0000000000000000000000000000000000000000..9f404dacfe1889749c9e96631923c29465c7dd72 GIT binary patch literal 29723 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 Pm)F6xE|HrMmKXmI%ZyCR literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/03-05-loops.doctree b/.doctrees/tutorial/03-05-loops.doctree new file mode 100644 index 0000000000000000000000000000000000000000..387547f044c49429937d13c0d959cda0fa229352 GIT binary patch literal 20868 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 z zo_yVgA#y%LHi$AM(MSs^E6zUMk1}7yffu9W$F4;eL6}Cv_bmhG6<{#Q*SY2JGEWP2 z+z@pft%Y6XWtOy2N$G-{Rp1Hnn^oXa@ET3{a`NI9BW@dXTGr+M9)Kb)A5iL^mrlkW zb|=skqWn`rZe}t zyUEC2B6GJh$*K*q8;)jWT3y_9luVI(rkzXs*%}DeX!%aYnumwvF z)_p(n{D^5UukB3c=*l8&;LEpRAzNKMnGbOxQyZr}TO@!XKpquO7&5i=q)d`imiIGZ z#I!?tVbk?wHehW(!1Y5^g5ABgD=FEgoBfdOx;hYr3U%fBr1Y;hT`s72{H zEF9)mi@M1^>{#+pCODLCa=h@S0HXPiVDe;Mz*RWN-pBGU3Z0YvG=~s`vOyx3ABdcj zhaW+43nw6V;jXUa5H@~@rIbanI)-t;9M_XcxXg7-6BKc*vbthn-o(XKW%Vf8<$$T? zthm)KXN(8J@&~jb2|R?x0cIb60_u7pEx&ry4q0sZWgOf@tNqZ&e#pvtPtGN^s0^L$ z2o~K}ww#dC?wCl5;YOeeVcHD3$#4TIo#DDB;`!UWC2 zlJCW(X4y}$=mC-{aE{jiBf7X$A?ki)|EXlY&Dv$$J3%`#)cRwPS$a}M;eMHfBYB@4 zMeXq7>M9XBcBV2qw}h)y?pZQ{h;T3P_Grh(-Q^$ z0}?##0eSiv;RT09bv_2fe$|dzE(V*4%qpbFitO&S>Et+gvQ^H+Gn+tJ9GTrn_J`{@ zjDEYE9g4*{Sr>thZZaDpz7myRjv?0}2z7}67C*~4?QN!{J&s@pL8&uAMD>v%k0jU@clB$4iEwpo5IJt|#Od*YQx7%75JcC2v7DRX* zDAq4zi2^!>>o|1oXEy(en$W5K=1F=%^}EeOgauDiCUZIm z@hQ#K9PlC01k)5xNKwdkf_C~7(GC;^$F-`yn=vJCdbsc~Ydw>LI3q{poet*UL+1w( z8JQzRSm~P`NeOC9+%y1vy|?D$8Z3TCAxzm6zf}Qz@CHcS{5MeV+V1dk-H$;uk(h&! u<1&^I%qRxVv|8@*-s~~wr@f9>b7PD6w?V8_LUzX&$(`D%YVS~ z>Z66-373&U82++=P!R6#o8vCTfu-uhMcVYcI1nw=Px>VRi%4jh4y zQK)&GeUQ0zVz)9f-E#es;enMZu9u4iu_%^4$aX}_Em&zI-k5T)J<{qBE4=#;yhluH zWj#=anvF7Agf&+l^HVy^vsgdQijyuT4Ck_$*m5nuzKEE2i{<(E-IYkjJljwE%&jnM zwd|)B_ojQ!%h1rBmV$^G10uc`Vm2zimcule4EiiM(tJQXsavvaNK={E5I4n|xFzPr zZMWYOYQ%dwjbpBRCrTgnj#zE&^S2l0p|fXxdRKFAsAN3!tnvcQndKhyN?iOa)c0Vu0|MR2Yzr+Su{Xe!S%?I7}3f=9CJ7gj84VXo| z4j8MFPX-Q~iIMl){sl$T=uEFv?PoPJW>no>0KP7JrXVEIfoCHw7`$)?e zth76aW@!q67OG;w0ih%;CrglN6ji6~lnCj07=1@j|JQ znUo%Tz$MoOG!71)Ac&V)%N!g`xVqkB<%KF2@*wx<9kK0xfUOYqUTm{$a`#W0cSjOf ziX;%rqK3b?&Dq0Mab>M}=7!MUHibSr-2NI0{S->vcCVaw<#P_pFBHbFR|dl#Ew{n* zxQg5r`jJHPtBR3kHPNCOA8Hsirrnc=RnD8XVSrQsYabjGWky+Lz)+Nd2X@MEKL((J4tkWs}J<^U^>t6f%dY zv1N@F?oNs=0v-i(ug2Vn$+%0^-@!pyQB9EauL?;klieGN_^PSYmqX3Jo1(rRHDBeZ zdFLfAet~PW4-Oj2ses?AX%i8L%a`WnUgQRsx)UK{N}U(O)hmF^m(P!@^M$)*3U79t zprKksE#H>`J`(g3@-!2R=vLAJeL9?+67wIb*jOg$?X*7;?ly)+BJG$mk+P~>uBW`o zRHK4kf!MNHsd8jP?5k)Qs59%_pJ_&r_{(zKy;ky2_f~W)Rigo>nVse*PDg#r`S7co zHL**VzvR|~R8w2$*G=47MJbv&w`>X(pnu(}8`6PRRDy?4Ez)0#(yC4(8~d&`zn z(tCzMh)e?=jS>u2i*1m1;v)=K%3-P_jM}Jzd}{t^7TYaQAvMn2)qzqrR+cv=_b$0M zb;Gc=e>zZll!3BtP<19g%3W%*4Mg57C_Lgh#Xpf&_*Dyv9m@q}PrC2cG*6Vae#DP? zlZr!Ex3h{_tPP^TR%a6hq?IuFE({ zt&i44h2Y9uE472p_d7=7`_}ZN&(Wl6U$8igP!Pg!xLaT|x1mxyEoC8>lDXS6GczI% zL-@E`FXT?nP_4c-Ju$P`ZPFbK6eXad2zSa{J7V!LWkU{)hZtW*wd}5;u2VYnQC$Nc z*oNAGeYc2Kcz|m{BQo?S?zqm-oBI=zyDR~!c9@P5zXl!@n-kFdaUHXW1a9OMXg4-w z{s}2DJPnn9IwDAI^3y~a?l)KFC<&~8ER8H6y5Wb?uzo}rDNngnIfU4CYq*R-InBxr zpS>Qpq3-QcF+0( zzDWonXKvGsW6Mr`A%`Nu5BR+jDT4l*8KE`tf0@Fs4HR`P9~VPEQpoNgID8kyAo9FQ{J%hRBBAmc~ z0Yw=XO^=UMg0zy~ZVQJ3w9w2FY(jeU`Vawcidr^+|&(khN{Ts8g${Dogh${ge zJ^-G~tp*BBO8$O|+_Lnrq<;<#ew@7zA3>6Zx8b4502RfCb$FQ~uh!(;u&d?s0Dv?k R#IA%C0n1=Pi8<|e{|h21Vcq}$ literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/04-01-entering-your-phrase.doctree b/.doctrees/tutorial/04-01-entering-your-phrase.doctree new file mode 100644 index 0000000000000000000000000000000000000000..17150c218dc3477d8b3c9178d101ff01ec0ba281 GIT binary patch literal 10086 zcmdT~+ix6K8PCm^UEdNnF%_xH)NQZ>-gOH_(3AkB4QdqCg*Iw{QjKS4&hDA@?94E8 z#_JUd3J--^oVQMaR^=wtH{L2d)5||fZ>KA=7Fqo`NFtl1 z@&qVs?s`td{PeX{&JwwBy||gZKM^xqxPf21&d2yTpLi`@;WarXT;Z|GBYFOsFIeRI z9bh)CfHy&ExMx^|lteFM-{Ind;xL%iMJlALGdeX9F z-4Y^lTZw?QB;9G(iAjrgSZ~^t)9M`bds>VX<7DW#M(rY$O&O}=uyh&_(eX= zAL6I^qP)4rgC1Lp65nUhT0e+3*S0LrYJjh}a-}(26Nv~S*YegLf3orT6AehAl+hq% zG_*3BQ4G-@zHusPK_xZFYIPzjSZldF4N(N zOSZpuc(%#zS2ej}e*$bb3oie3&9b>6+#VxrFK;m;iJ4<;Y=pqOSh>8hv6?@yY>`-= zH-HhDZ>Z-anh0Pkm`aJIZPl#b;+9}rEHWHRScbqI&0@q1R>cc~v*9-kJcx}X#N0He znjCCoq`+Ix^)0WMXgOjAfmf}Mxxy#_+Qx@gZ@tX0XJB81@&x|1ZCLQ* zz&gC-#s)?a!&@F8072oi)icNSn~1Is*7BJ_?%wDz!2<`I#`Co3MX=z%(<#z|d|;2I zD!%Z&ss{M2BG}YRc5G5lka|nZ3~_ikPkJ7h`R(0umS2PDUCk&3e~LQ4Da`S~vz*zRbF3VZqm ziq}nJ<(A3>J!VC|(F+iDtQJxUHEY3whg>4kYk|8w8@)V=&cEj9ym)|I6$5@)HDCp$ zllj6q4$hD&Dlh)M`r_RY`k_MT?f<+cwMW`hmlf`hE%rZ;Bld&Fe%33&Kg7}Dz<&X_ z{>wdqpMR4Q++lxN*#@Pzq}(+|0YuTD>Rjn&Z~sx<`h~nfI7khXWSqMi_n0;7XMbhR0M% zG~gTf-XP1`ikRMgfwZnVA7z}rCo{fuWHY{~R1Ks)WgJ_o!kctywkkaLH%Yaq|0GO) zL-BDS?7G)!_Mw8BVk%NHJMe{tBr2+;WMxlj!nVSZhLf!IK;NXkOCD${Bc(k35qS>g zFCl8(r&xqYkrD~~&199W+42H=v%;hNLzuKY*QTmK;J>ZFbqwMR*`V=*x`BVH*fmy` zu2JKM%Co!$cEwn_{B&K>=rj&7jw*_)m~1qy%IJ`6tZ1S~t{N0q^F^u)eW$v_rTBaP z5(-0_8LJW9?fUIpW&fw#YxBZDKY@Yb0~$}Vw%zlt#Gyrf&B-ugF^jfvIo1xS)wv@l zJCj;evY4=?l15w$901*?Y@J%U5ILyOjb0x4E4a3 z3=Fh(eDwZcas#f$-=qS;PNFzKHz5cLn;)9K)ajqW&Cw12`90a?&rmu@SPYOEsy={f z9r-~&>qAkr)%|V|W-ZOUQ`O2kr)5b*6%JZ2uHf2dZn8luK-;B|_v2fzRM_8+rLZsT zsjyqub@^xGP{v@}Rxk8eY``%UTe^#5mQ~ypYRglRzKaeERJQb7V7!6|xJvDpb|R99 zEfxBC_1@?I=+3*lSNQ18FPoJd@gK)h$rtxj$>*MFQ;bw%63Pc4t`8ZUIP;FB`XwTkL**y4qc95ZcpxzZ%mSBC)Loe5%Bb|!f zi|x`)kgH}W(C(`6yxp^>u$k#lZ9#q`n;rI3J~o>lmOI)CrGn;Z@*{_crxBuO@#Y~a zf$mhX!tPef*tKm}>?#G%&}i%1s5G~M)Tp5YZbP3{#5y&j3~Y!#OStu6 zY2^ft=qpE;bu65n{pM$Y6$Z}d?y7pCTUoGpUUg@?7dWlAms$Yl!28!J#gR8(r4sC< zoJBG~hvQ~(6h57g=p%7C8SB0x&i>C8hxuqPq9XAfAQ3Sn!C83GET3DKwGKlyW}$PF z;s&)aLxs}|aWkctp`Q09ZtK}?5_!0r5rJ*e5js7^a%12t8l-Z*9Rz}k^UA{;C*=%% zNr0_kZX@pXQjE+}DHNK>a_Iww7*k%Xg}3~s}udM$}_qA@w8q6#xte*=&)@IgQTBEMsbxR4$G@8JVK{ zQ|v1_tLH6w$lrcw_`%4_@+`>^Ls1+m@>ESUlh;4cxC8HW3ZHz)2O?$%kz+b61U|5g z3vjH)Jj%&fktP+|*n%Z*(P(K!<}1|85qkc`WTd_(Y6ISpZAwAN9i zQmp=KmX#Q-QxoJ_$y zXk?*eWntse<4;1Lvr*d~nVv?<=|7!MPmL>r>?VtvE)#9F2Dbeg7d;P))r8f;E^-7< zZ%oQXV6tZx+p`eB)K&A2JR1+to7pytx)`OhhvSP>PRBibf?|F@!M={6s0Y-&zBSP( zu`<;z+8ja8hT-*ogO-&F@%CmCq6()kjMQgCnIG5zdIH<^+rU8X80N`U#7S#}&h4Ri z$6}V=jr0-FW(v&oT1dlUF#rpkF@Z%c*r3`p8M-r`iI1Vs44_Ye-jL_A&zS&LudUtM zjy%o$E&7;9PHK08{R=3%zT;wZ2ovAl(9t=4NOTTN0a`d%A=o(d>CkOByrEJ3c@c&& zTf4X!rvw0BCSiPn2KDtymtm84TlDi9{d^ZciL4O?r4Z_qCPlNOp6?|55qx)}Uf|P; znqTey3K^~LU&)!Oan))wwoC0QunP|K2<_pVPK#9?(R2_NVCc01ufU5UJwGy7P}hcL ztmUh!m*$7&hdYi0`Tq-}b7fCX$T~cX9VFyGQaNQKQ-&cR1ES2tv)TBY&}H{+=>8ZqWB=hxuNXMd3l|P&Xn3j^R;HeEecMYMf>wvDTzAMPX6}PRb<%478~tcZ APyhe` literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/04-02-cycle-through-names.doctree b/.doctrees/tutorial/04-02-cycle-through-names.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ed461f14ed4639d65779104e1a96f0db72a225a5 GIT binary patch literal 9905 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 R;~O@?WQHi@z2ny0zW{w1twI0* literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/05-00-methods.doctree b/.doctrees/tutorial/05-00-methods.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2e4bbcb006bcd66868c3045841bd87605eb61793 GIT binary patch literal 3007 zcma)8TW=gS6i%D$E!o{%N-IR0l7dQ8(ai<~5<)^q@PHs{#HHe`8hK~DYd0QyuszA< zp%Oe4HImj{?PR_xiBi%G4*Z@8ZqM{(Ny~9-VKAg<-#0Q=R1bRmMhsDXD!xd zo#+0L^<2wxE9kpZ2Fsl@o80*#GlbRJw^Z@ltl6zz<_r}b>t^`a(7w(i- zZFZOS**&(-_T6`5rcyfAxs+6oFO)tTpA$hwh|4T|m645YZk6UljE_Gb9UqUFg&XeyvnP@Bj2} z>nY(ie%`&ebm-Gjip@$J%GC9_j76T%DHo-4_7i(XT{k83gl3lcAO67~=!HrJ_JfQw zp(g&ywHZ$mG|Ou@sBBb%E7z5II-!~-{$$N<7QJDV6qh))iJn_XmHo(mp`ifZR0U|G z0AH_G%WYR!k1jx@jA~C-3;0!CxY7;^PMdR_9y{<@9jNBesq1T+DQzP`&#CYy zH{B*9qFJ`wE}e5=Wr@vAt<-X@gii7q+zl^?mcR-cnvxWfp4B9#At{h<$Yqw>h{{+c z(DJUA+v(_wk>U8hx4aoqt(A@#k%<6#P&nikTkp12ZkMgJ3M=02uk5UtU~k;8Gz>z6A~~$i2)yhguELFB4;_7QNW#GeG_fvZfP1TokVCukOOYQbU1bGSjj1J z1ROkxGR$*6_pI%P1j9JG7P*@oj2a|)nnexkfNCMY=%88>5e#k@5C#VX>5io~-rCFc&4I9)d@4(}@yI{R`E1R)mdqZ^>e>_F5d; zTe6SYs%;qNw^wadJGh-OF=9M%Knpw_VkHECMGm+!I^S0EH%R`K{~7GZTMm7M$E88N jONY(iSQ2kF;-X|*)e8X>nT2X?CSkT!V<6nO`Q+$dJR7A) literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/05-01-introducing-methods.doctree b/.doctrees/tutorial/05-01-introducing-methods.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3e3d2b57ea05435a8e89d9874f455b2b8bb8bd4a GIT binary patch literal 18601 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 A1ONa4 literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/05-02-main-method.doctree b/.doctrees/tutorial/05-02-main-method.doctree new file mode 100644 index 0000000000000000000000000000000000000000..b82dc4168cc10c917a1c87ab5dee267691579dc0 GIT binary patch literal 19169 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 Yn3ve3nN3oXicKyx^FFlGC$;MT1CR=Bx&QzG literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/index.doctree b/.doctrees/tutorial/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..6f8c0f311e4f6ca44b403ae357ea751f76de9a54 GIT binary patch literal 11029 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 D0`A0d literal 0 HcmV?d00001 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt new file mode 100644 index 0000000..5c88ade --- /dev/null +++ b/_sources/index.rst.txt @@ -0,0 +1,10 @@ +Vala Documentation +================== + +This is the Vala Documentation website + +.. toctree:: + :hidden: + + Tutorial + diff --git a/_sources/tutorial/01-00-introduction.rst.txt b/_sources/tutorial/01-00-introduction.rst.txt new file mode 100644 index 0000000..700df1e --- /dev/null +++ b/_sources/tutorial/01-00-introduction.rst.txt @@ -0,0 +1,28 @@ +Introduction +============ + +Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject type system. + +Vala is designed to allow access to existing C libraries, especially GObject-based libraries, without the need for runtime bindings. + +All that is needed to use a library with Vala is an API file, containing the class and method declarations in Vala syntax. + +Vala currently comes with bindings for GLib and GTK+ and many others from the GNOME Platform. + +Vala can also be used to create C libraries too. + +The syntax of Vala is inspired by C# and Java, so if you have used either of those, you'll seamlessly adapt to writing Vala code. + +Why Vala? +--------- + +- Comfortably write your code in an object-oriented way with high level abstractions, while having access to deep integrations with GNOME technolgies such as: GObject, GTK and more! +- Vala compiles code down to blazingly fast, fully native binaries. You're also able to reuse existing C Code in your Vala programs as well as generate C Code from Vala. +- Vala is free and open-source software. It has a great community that contributes to the compiler and develops lots of tooling. + +Who is this tutorial for? +------------------------- + +This tutorial is for anybody intrested in learning Vala. This tutorial is written +with the assumption that the reader is a beginner at programming so we do make an +effort to explain programming concepts and practices throught the tutorial. diff --git a/_sources/tutorial/02-00-getting-started.rst.txt b/_sources/tutorial/02-00-getting-started.rst.txt new file mode 100644 index 0000000..6c44796 --- /dev/null +++ b/_sources/tutorial/02-00-getting-started.rst.txt @@ -0,0 +1,15 @@ +Getting Started +=============== + +In this chapter, we will: + +- Explain how to Install Vala +- Guide you through writing your first Vala Program +- Teach techniques that will help you fix errors in Vala programs + +.. toctree:: + :hidden: + + Installation <02-01-installation> + Hello World <02-02-hello-world> + Basic Debugging <02-03-basic-debugging> diff --git a/_sources/tutorial/02-01-installation.rst.txt b/_sources/tutorial/02-01-installation.rst.txt new file mode 100644 index 0000000..3a78628 --- /dev/null +++ b/_sources/tutorial/02-01-installation.rst.txt @@ -0,0 +1,115 @@ +Installation +============ + +Vala is available on multiple operating systems. Follow the isntallation instructions below for your operating system. + +.. _linux: + +Linux +----- + +Vala is available on a large variety of Linux distributions. +Mostly you want to install other development files for libraries, that you want to use with vala. + +Fedora +~~~~~~ + +Development files usually come in ``*-devel`` packages, for example ``libgee-devel``. + +.. code-block:: console + + $ sudo dnf install vala + +Debian +~~~~~~ + +You need to install ``*-dev`` packages, to get development files on Debian. + +.. code-block:: console + + $ sudo apt install valac + +Arch Linux +~~~~~~~~~~ + +.. code-block:: console + + $ sudo pacman -S vala + +\*BSD +----- + +First you install the port: + +.. code-block:: console + + $ cd /usr/ports/lang/vala/ && make install clean + +And then you can add the package: + +.. code-block:: console + + $ pkg install vala + +Windows +------- + +MSYS2 +~~~~~ + +MSYS2 provides a Linux-like environment for Windows. First install `MSYS2 `__, +then vala: + +.. code-block:: console + + $ pacman -S mingw-w64-x86_64-gcc + $ pacman -S mingw-w64-x86_64-pkg-config + $ pacman -S mingw-w64-x86_64-vala + +You also need to install all libraries you want to use individually. + +Windows Subsystem for Windows (WSL) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Install a Linux distribution in WSL and then go on with the :ref:`installation instructions for Linux `. + +Mac OS X +-------- + +To install Vala on you can use `brew `__, a package manager for OS X: + +.. code-block:: console + + $ brew install vala + +Verifying the Installation +-------------------------- + +If you installed everyting correctly, if enter this line in your terminal: + +.. code-block:: console + + $ valac --version + +A line like this should be printed in the terminal: + +.. code-block:: output + + Vala x.xx.x + +If you don't see any version number and instead see something like along the lines of ``The command 'valac' is not recognised`` or any other error, this means that Vala has not been installed correctly. + +Please ensure that you've followed the installation instructions above and try again. + +.. warning:: + + The minimum required Vala version for this tutorial is 0.56.0. You must have this version (or a higher version number) of Vala installed after following the instructions below + + If not, we can't guarantee that anything we've explained in this tutorial will work on your system. + +If you are struggling to either: + +- Install Vala +- Meet the minimum required Vala version requirement + +`Try asking the community for help `_. diff --git a/_sources/tutorial/02-02-hello-world.rst.txt b/_sources/tutorial/02-02-hello-world.rst.txt new file mode 100644 index 0000000..0c9f86f --- /dev/null +++ b/_sources/tutorial/02-02-hello-world.rst.txt @@ -0,0 +1,150 @@ +Hello World +=========== + +In this section, we'll: + +- Explain the steps for you to create directories on your system, where you'll store the Vala programs you will be creating in this tutorial +- Help you create our first Vala program +- Teach you the essential parts that make up a Vala program +- Breifly explain how Vala relates to the C Programming Language + + +Setting up your directories +--------------------------- + +Firstly, you'll create a directory where you'll store all of your Vala projects for this tutorial. +We suggest making one in your home directory. + +Open a terminal and enter the commands below to create a ``ValaProjects`` directory in your home directory and ``HelloWorld`` directory inside of the ``ValaProjects`` directory. + +On Unix-based systems (Linux, macOS, \*BSD, etc.) and Powershell in Windows, enter these commands: + +.. code-block:: console + + $ mkdir ~/ValaProjects + $ cd ~/ValaProjects + $ mkdir HelloWorld + $ cd HelloWorld + +If you are using CMD in Windows, enter these commands: + +.. code-block:: doscon + + > mkdir "%USERPROFILE%\ValaProjects" + > cd /d "%USERPROFILE%\ValaProjects" + > mkdir HelloWorld + > cd HelloWorld + +Creating your first Vala program +-------------------------------- + +Next, create make a new Vala source file inside the ``HelloWorld`` directory called ``main.vala``. This is where you'll write the code for you first Vala program. + +Now in ``main.vala``, add the following code below: + +.. code-block:: vala + :caption: main.vala - A program that prints "Hello, world!" + + public static void main () { + print ("Hello, world!\n"); + } + +.. note:: + + In this tutorial, Vala code will be indented with 4 spaces since all Vala code written in this tutorial will follow the `elementary coding style `_ (unless specified otherwise). + +After you've added the code above to the ``main.vala`` source file, save the file then, return to your terminal you opened earlier. + +On Unix-based systems (Linux, macOS, \*BSD, etc), enter the following commands to build and run the file: + +.. code-block:: console + + $ valac main.vala + $ ./main + +If you're using Windows, you need to replace ``.\main.exe`` instead of ``.\main`` when entering the commands: + +.. code-block:: doscon + + > valac main.vala + > ./main.exe + +You should see the following line added to your terminal: "Hello, world!". + +You've successfully created your first Vala program. Congratulations! + +What just happened? +------------------- + +Let's break down the anatomy of the program you've just created so that you can understand what just happened. + +.. code-block:: vala + :emphasize-lines: 1, 3 + + public static void main () { + print ("Hello, world!\n"); + } + +The highlighted lines above define a **method** in Vala; A method is a block of code that contain code for the program to execute when called. + +The ``main`` **method** in Vala is special becasue it's the first **method** that runs in a Vala program. The program automatically calls the ``main`` **method** first. + +We'll explain ``public``, ``static`` and ``void`` in later chapters. + +The curly brackets (``{}``) define the start and end of the **method** body. Our program runs the code written in each line between the curly brackets for the ``main`` **method**. + +The ``main`` **method** contains the following code: + +.. code-block:: vala + :emphasize-lines: 2 + + public static void main () { + print ("Hello, world!\n"); + } + +The highlighted line above line prints the "Hello, world!" text on the screen. + +``print`` is also a method. Unlike the ``main`` method, you are calling the ``print`` method yourself. + +"Hello, world!\\n" is a **string**; A **string** is a sequence of characters such as letters, numbers, symbols and spaces. We'll go into more details about strings in the next chapter. + +You passed in the "Hello, world\\n" **string** into the ``print`` method as an argument to specify the **string** we want to be displayed in the terminal; An argument is a piece of information that may be used in an program. We'll go into more detail about arguments in methods in later chapters. + +However, "\\n" wasn't actually displayed when we ran the program. This is because "\\n" is a special type of character called an "escape sequence". "\\n" adds a new line to the terminal. + +If you build and run the program without "\\n", What ever is added next in the terminal will start on the same line as "Hello, world!". We'll find out more about escape sequences in later chapters. + +The Vala Compiler +----------------- + +.. code-block:: console + + $ valac main.vala + +The line above is tells the Vala compiler to build the program with the code we've written in ``main.vala``. + +This step is completely separate from running your code with ``./main`` or ``./main.exe``. + +Once your program has been built successfully, we can run it any time without having to compile again. + +The compiler program ``valac`` is fine for small projects however, once you start working on bigger, more complex projects, we'll introduce a build system that you'll work with instead of using ``valac`` directly. + +The relationship between Vala and C +----------------------------------- + +When you enter the command: ``valac main.vala``, ``valac`` performs the following steps: + +1. Generate C Code from the Vala code we've written +2. Call the C Code compiler on installed on our system to build an binary executable from the generate C Code. + +Normally, when compiling your code with ``valac``, you don't notice step 1 however, you can actually see the generated C code by adding the ``-C`` flag to ``valac`` commands. + +If you run: + +.. code-block:: console + + $ valac -C main.vala + +Instead of an new exectuable file being created, a file called ``main.c`` will be created instead. This is the generated C code from step 1. + +Details on working with C Code are out of the scope of this tutorial however, this is key to understanding how some of the language's features are possible later chapters. diff --git a/_sources/tutorial/02-03-basic-debugging.rst.txt b/_sources/tutorial/02-03-basic-debugging.rst.txt new file mode 100644 index 0000000..61e9cfa --- /dev/null +++ b/_sources/tutorial/02-03-basic-debugging.rst.txt @@ -0,0 +1,186 @@ +Basic Debugging +=============== + +There may be moments where your code contains errors. Some of these errors will stop your code from compiling or operating correctly. + +In this section, we will: + +- Teach you some common types of errors you may encounter when creating Vala programs +- Provide you with tips on how to fix errors in Vala programs + +Reusing your first program +-------------------------- + +You'll be reusing the Hello World program from our the previous section. + +It looked like this: + +.. code-block:: vala + :caption: main.vala - A program that prints "Hello, world!" + + public static void main () { + print ("Hello, world!\n"); + } + +Errors +------ + +You are now going to add errors to the Hello World program on purpose. + +Replace the code written in ``main.vala`` with the code below: + +.. code-block:: vala + :caption: main.vala - A Hello World program with errors + + public static void main () { + print (Hello, world) + } + +Now build the code with ``valac``. + +You'll see the following error displayed: + +.. code-block:: output + + main.vala:2.24-2.24: error: syntax error, following expression/statement delimiter `;' missing + 2 | print (Hello, world) + | ^ + Compilation failed: 1 error(s), 0 warning(s) + +In Vala, a `syntax error` is when there the compiler doesn't read the a sequence of characters in our code in the order that it expected it. + +We mentioned in the previous section that a semicolon (``;``) lets the compiler know when an expression has ended. The semiclolon is the "expression/statement" delimiter the syntax error is referring to. + +``2.24-2.24`` refers to the location range in ``main.vala`` where the compiler spotted the error. It's in the format: ``START_LINE_NUMBER.CHARACTER_NUMBER-END_LINE_NUMBER.CHARACTER_NUMBER```. + +You can use this to find help you navigate to exactly where the error occured in your code. + +.. tip:: + + Your code editor may have features that that take you to the exact postiion in your code where, the compiler mentioned the error occured. + +Add back the the semicolon to the end of the line so the compiler can read that line containing the ``print`` method: + +.. code-block:: vala + :caption: main.vala + + public static void main () { + print (Hello, World); + } + +Now, try to build the Hello World program again. + +.. code-block:: output + + main.vala:2.12-2.16: error: The name `Hello' does not exist in the context of `main' + 2 | print (Hello, world); + | ^~~~~ + main.vala:2.19-2.23: error: The name `world' does not exist in the context of `main' + 2 | print (Hello, world); + | ^~~~~ + Compilation failed: 2 error(s), 0 warning(s) + +The compiler is now able to read the line containing the ``print`` method and has now +discovered two new errors. + +The speech marks (``""``) around ``Hello, world`` have been removed so, the compiler doesn't see +the string "Hello, World" anymore. Instead, it tried to find out if ``Hello`` and ``world`` have been +defined in the language or in our code anywhere but. The compiler fails to find definitions for ``Hello`` and ``world`` so the compiler displays multiple errors that that ``Hello`` and ``world`` do not exist. + +You can fix this by adding back the speech marks to opening and closing speech marks to ``Hello, world`` so it looks like this: ``"Hello, world"``. + +.. code-block:: vala + :caption: main.vala + + public static void main () { + print ("Hello, world"); + } + +Now, when you try to build our code, it'll compile successfully. + +However, running the code prints "Hello, world" without a new after it. Addition information added to the terminal continues right after "Hello, world". + +Although the program is correct, the resulting ouptut is not what we wanted. This is a logic error. + +This can be easily fixed by adding "\\n" at the end of "Hello, world" string. + +.. code-block:: vala + :caption: main.vala + + public static void main () { + print ("Hello, world\n") + } + +Now, if you compile and run the code, it prints "Hello, world" then, adds a new line. + +Personalising the program +------------------------- + +Now, you'll change the logic of the Hello World program so that it's unique to you. + +Replace the word ""world" in the "Hello. world" string with your own name. + +For somebody named "Colin", this is what their code would look like: + +.. code-block:: vala + :caption: main.vala + + public static void main () { + print ("Hello, Colin\n"); + } + +Now, if you compile and run the program, in your terminal, "Hello, ${YOUR_NAME}" will be printed. +The code block above will print: "Hello, Colin" to the terminal. + +Describing what our code does +----------------------------- + +Now that you've changed what our code does, you'll now explain what it does using comments. + +.. code-block:: vala + + // In Vala, this line is a comment. + +The ``//`` characters at the beginning of the line is tells the compiler that the line above is a comment. +so the compiler ignores the line when reading your code and moves on the next line. + +You can use comments to describe what our code is doing. This is really helpful for: + +- Explaining what the code that isn't obvious when just looking at it. +- Making easier for other people to understand what you're code is doing. +- Helping you remember what code does when reading it again after a long period of time. +- Explaining why the code was written. + +Comments are one of the ways you can reduce errors in our code. + +Now add a comment to your personalised Hello World program. + +For somebody named "Colin", this is what their code would look like: + +.. code-block:: vala + :caption: main.vala + + // Prints the line "Hello, Colin" to the terminal." + public static void main () { + print ("Hello, Colin\n"); + } + +In your code, you'd replace "Colin" with whatever name you used in your program. + +If you compile and run the code now, nothing about how the program works will change. + +Summary +------- + +Congratulations! You've learned how to: + +- Write your Vala program (Hello World) +- Compile a Vala program using ``valac``. +- Fix errors in your program by reading the compiler's error messages +- Add comments to your code + +Now that you know how to fix errors, feel free to experiment with your Hello World program. + +You've finished this chapter. In the next chapter we'll go into much more detail about +data types such as: `int`, `string` and more, as well as teach you how to create more intresting programs using +control structures. diff --git a/_sources/tutorial/03-00-data-types-and-control-structures.rst.txt b/_sources/tutorial/03-00-data-types-and-control-structures.rst.txt new file mode 100644 index 0000000..d9d637d --- /dev/null +++ b/_sources/tutorial/03-00-data-types-and-control-structures.rst.txt @@ -0,0 +1,27 @@ +Data Types and Control Structures +================================= + +In this chapter we will: + +- Explain what a variable is +- Cover the various data types in Vala such as ``string``, ``int`` and more. +- Introduce conditional operators +- Introduce ways of changing the flow of your Vala programs. + +.. warning:: + + From now on, we'll be going into much more detail about concepts. + + If you ever feel overwhelmed during this tutorial, that's okay. We recommend the following actions: + + - Re-reading infomration about topics you are struggling to understand + - Taking a break (you can continue this tutorial at a later time) + +.. toctree:: + :hidden: + + Variables <03-01-variables> + Numbers <03-02-numbers> + Booleans and if-statements <03-03-bools-and-ifs> + Enums and Switch Statements <03-04-enums-and-switch-statements> + Loops <03-05-loops> \ No newline at end of file diff --git a/_sources/tutorial/03-01-variables.rst.txt b/_sources/tutorial/03-01-variables.rst.txt new file mode 100644 index 0000000..39074cc --- /dev/null +++ b/_sources/tutorial/03-01-variables.rst.txt @@ -0,0 +1,42 @@ +Variables +========= + +In this section, we'll: + +- Explain what a variable in Vala is +- Show you different ways of using variables + +What's a variable? +------------------ + +A variable in Vala stores data and can be referred to using its identifier. + +Here's an example of a variable below: + +.. code-block:: vala + + string my_name = "Sara"; + +The line above is a variable assignment. + +Let's breakdown each part of the variable assignment: + +- ``string`` is the data type of the variable. The data type determines the values you are allowed to set the variable to. You used a **string** to tell the program what text to display in your terminal in your Hello World program. +- ``my_name`` is the identifier of the variable. To refer to the variable in your code, you need to use ``my_name``. +- ``"Sara"`` is the value of the variable. + +Why use variables? +------------------ + +Some of the benefits of variables are: + +- Making your code easier to read (An identifier can provide context to the value stores) +- Easily reusing the same value multiple times in your code + +In the next sections of this chapter, you'll create multiple programs that use variables. + +.. tip:: + + There may be times when you don't want to or don't need to write the data type of the variable. + + You can use the ``var`` keyword instead of the variables data type instead. When you do this, the compiler will automatically deterimine the data type of the variable for you. \ No newline at end of file diff --git a/_sources/tutorial/03-02-numbers.rst.txt b/_sources/tutorial/03-02-numbers.rst.txt new file mode 100644 index 0000000..f4cbd7c --- /dev/null +++ b/_sources/tutorial/03-02-numbers.rst.txt @@ -0,0 +1,162 @@ +Numbers +======= + +In this section we'll: + +- Teach you about some numeric data types +- Explain what operators are +- Help you write programs using variables with numeric data types + +You will write code for this section in a different directory to the one used for the Hello World program. Follow the following instructions below to do so: + +1. Create a new directory called ``Numbers`` under your ``ValaProjects`` directory. +2. Under the ``Numbers`` directory you have just created, create a new file called ``main.vala``. + +Introduction to Numbers +----------------------- + +In the last section, we showed an example of a variable: + +.. code-block:: vala + + string my_name = "Sara"; + +In your ``main.vala`` file, create a `main` method with, an ``int`` variable assignment, in the `main` method's body: + +.. code-block:: vala + :caption: main.vala - ``int`` variable declaration. + + public static void main () { + int num = 42; + } + +The ``num`` variable of you've created in the line above stores `int` values and you have set the value of it to ``42``. + +You can print the value of ``num`` by adding using the ``print`` method. Add this line below where you wrote the ``num`` variable's delcaration: + +.. code-block:: vala + :caption: main.vala - Print value of ``num`` + :emphasize-lines: 3 + + public static void main () { + int num = 42; + print ("Value of num: %d\n", num); + } + +Now, compile your code in ``main.vala`` and run the generated program. You'll see the following output: + +.. code-block:: output + + Value of num: 42 + + +.. note:: + + ``%d`` is a format specifier. We use this specify where we want an `integer` value to be displayed in the printed message. ``num`` after the ``,`` is the variable that will be substituted for ``%d``. + + We'll cover format specifiers in more detail, in later sections. + + +Different numeric data types +---------------------------- + +.. warning:: + + It's pretty hard to find documentation on exactly how these GLib data types behave. As of now, the descriptions of each data type may be inaccurate. + +Vala has many numeric data types such as: + +- ``char`` - Stores 8 bit integer numbers. +- ``uchar`` - Stores unsinged 8 bit numbers +- ``short`` - Stores 16-bit integer numbers +- ``ushort`` - Stores unsigned 16 bit numbers +- ``int`` - Stores integer numbers (platform dependant behaviour) +- ``uint`` - Stores unsigned integer numbers (platform dependant behaviour) +- ``long`` - Stores "big" integer numbers (platform dependent behaviour). +- ``ulong`` - Stores unsigned "big" integer numbers (platform dependent behaviour). +- ``size_t`` - Stores at least 16 bit integer numbers +- ``ssize_t`` - Stores at least 16 bit unsigned integer numbers +- ``int8`` - Stores 8 bit integer numbers +- ``uint8`` - Stores unsinged 8 bit integer numbers +- ``int16`` - Stores 16 bit integer numbers +- ``uint16`` - Stores unsigned 16 bit integer numbers +- ``int32`` - Stores 32 bit integer numbers +- ``uint32`` - Stores unsinged 32 bit integer numbers +- ``int64`` - Stores 64 bit integer numbers +- ``uint64`` - Stores unsigned 64 bit integer numbers +- ``unichar`` - Stores unsigned 32 bit integer numbers +- ``float`` - Stores 32-bit floating-point numbers +- ``double`` - Stores 64-bit floating-point numbers + +.. note:: + + **Floating-point** numbers are numbers with decimal points in them like: ``2.5``. + +.. note:: + + The **unsigned** types above only store postive numbers, allowing them to store bigger numbers values that their signed variants can't. **Unsinged** types also use the same amount of storage space as their signed variants too. + +.. tip:: + + Some of the data types behave similarly to C data types of the same name. + + +Artithmetic Operations +---------------------- + +Rather than teaching you how each of these data types work in detail, we'll give you pre-written code that shows you how a few of them behave. + +Some of these data types will be covered in the rest of the tutorial. + +Replace all the code in ``main.vala`` with this code below: + +.. code-block:: vala + :caption: main.vala - Numeric data type examples + + public static void main () { + // Addition: + int sum = 5 + 5; // sum = 10 + + // Subtraction: difference = 5 + int difference = 12-7; // difference = 5 + + // Multiplication: product = 4 + int product = 2 * 2; // product = 4 + + // Division: + float quotient = 64.2f / 2f; // quotient = 32.1 + double second_quotient = 99.9 / 11.1; // quotient = 9.0 + + // Integer division results in the decimal part of the quotient not being + // included: + int floored_quotient = 16 / 5; // floored_quotient = 3 + + // Modulus + int remainder = 1 % 2; // remainder = 1 + int no_remainder = 2 % 2; // no_reminader = 0 + + // Reusing variables + + int changing_num = 1; + changing_num = changing_num + 1; + changing_num = changing_num - sum; + changing_num = changing_num * difference; + changing_num = changing_num / product; + + print ("Changing number: %d\n", changing_num); + } + +Can you guess the value of ``changing_num`` that gets printed? + +Now run and compile the code, you should see the value ``-10`` gets printed. + +.. note:: + + You might see some warnings when compiling the code. + Don't worry about these, this is because there were variables we didn't use. + + The code will run fine. + + +Feel free to experiment with arithmetic operations by creating your own math expressions. + diff --git a/_sources/tutorial/03-03-bools-and-ifs.rst.txt b/_sources/tutorial/03-03-bools-and-ifs.rst.txt new file mode 100644 index 0000000..61cceb4 --- /dev/null +++ b/_sources/tutorial/03-03-bools-and-ifs.rst.txt @@ -0,0 +1,247 @@ +Booleans and if-statements +========================== + +In this section we'll: + +- Teach you about boolean values and variables +- Introuduce a way to change the flow of a program based on a boolean value + +Introudction to Booleans +------------------------ + +Light bulbs ultimately have two, mutually-exclusive states: ``on`` and ``off``. When a light bulb is ``on``, it has emits light. When a light bulb is ``off``, there is no light. + +Sometimes, in our programs, we need to represent two mutually exclusive states. The boolean data type (``bool``) is how you we can do this. + +Instead of ``on`` and ``off``, we'd use the ``true`` and ``false`` boolean values to represent two mutually-exclusive states. + +We can store boolean values in variables: + +.. code-block:: vala + + bool is_on = false; + +Now, you'll write some actual code involving booleans. You'll need to create a new directory first: + +1. Create a new directory called ``Booleans`` under your ``ValaProjects`` directory. +2. Create a new file called ``main.vala`` inside the ``Booleans`` directory you created. + +In ``main.vala``, write the following code: + +.. code-block:: vala + :caption: main.vala + + public static void main () { + print ("Hello!\n"); + } + +If you compile and run the program, it will simply print "Hello!". + +If-statement +------------ + +Let's make your program more interesting now. + +Above the ``print`` method, add declare a boolean variable set to ``false``: + +.. code-block:: vala + :caption: main.vala - Boolean variable added + + public static void main () { + bool should_print = false; + print ("Hello!\n"); + } + +We want the program above to only print "Hello" when the value of ``should_print`` is set to ``true``. You can do this by using a control statement called an ``if-statement``. + +Update ``main.vala`` so that it wraps the print call with an ``if-statement``, that checks if the value of ``should_print`` is ``true``: + +.. code-block:: vala + + public static void main () { + bool should_print = false; + + if (should_print == true) { + print ("Hello!\n"); + } + } + +Now compile and your code. + +As you can see, nothing happens. Let's break down why: + +.. code-block:: vala + :emphasize-lines: 4, 6 + + public static void main () { + bool should_print = false; + + if (should_print == true) { + print ("Hello!\n"); + } + } + +The highlighted lines are the ``if-statement``. +``if`` is what you use to start the statement. The expression between the brackets (``()``) +evaluates a boolean value. If the evaluated boolean value is ``true``, the code between the curly braces (``{}``), will run. + +Now set the ``should_print`` variable to ``true`` then compile and run the program again: + + +.. code-block:: vala + :caption: main.vala + + public static void main () { + bool should_print = true; + + if (should_print == true) { + print ("Hello!\n"); + } + } + +The program above will print "Hello!". + +Variable identifiers themselves also count as an expression. Let's take advantage of this to simplify our program a bit. + +Update ``main.vala`` so that the code looks like this: + +.. code-block:: vala + :caption: main.vala + + public static void main () { + bool should_print = true; + + if (should_print) { + print ("Hello!\n"); + } + } + +.. warning:: + + For this to work effectively, you should take care in naming your variables. Name your variables semantically otherwise, your code will be harder to read than before. + + For example: if ``should_print`` was named ``first_name``, there would be two major issues: + + 1. It's not clear that ``first_name`` is a boolean from the variable's idenitifer alone. + 2. The if statement doesn't read well: "If first name". + +If-else statements +------------------ + +What if you wanted only wanted to run code that only runs when a variable is ``true`` and a different piece of code to run when that same variable is ``false``. + +This is possible using if-else statements: + +.. code-block:: vala + + bool is_on = false; + + if (is_on) { + print ("Lights on!"); + } else { + print ("Lights off!"); + } + +Let's try this out. Modfiy ``main.vala`` to look like this: + +.. code-block:: vala + :caption: main.vala + + public static void main () { + bool should_print_hello = true; + + if (should_print_hello) { + print ("Hello\n"); + } else { + print ("Goodbye\n"); + } + } + +Now compile and run your code. "Hello" will be printed. + +If you change the value of ``should_print_hello`` to ``false``, "Goodbye" will +be printed instead. + +if-else-if statements +--------------------- + +We can keep adding more conditions to try using ``else if``. + +Update ``main.vala`` with this code below: + +.. code-block:: vala + :caption: main.vala + + bool should_print_hello = true; + bool should_print_name = true; + + if (should_print_hello && should_print_name) { + print ("Hello, Vala\n"); + } else if (should_print_hello) { + print ("Hello\n"); + } else if (should_print_name) { + print ("Vala\n"); + } else { + print ("Goodbye\n"); + } + + +The program will run the code in one of the ``if`` orr ``else if`` blocks if their conditions are met. + +If none of the conditions are met, the program will run the code in the ``else`` block. + +.. note:: + + ``&&`` is a conditional operator called the "Logical AND" operator + The resulting value is ``true`` when both of the operator's (``&&``) operands are also true, otherwise, the resulting value is ``false``. + + We'll talk about conditional operators more very soon. + +Discovering what the output of the program is based on the value of ``should_print_hello`` and ``should_print_name`` will be let as a challenge to you. + +Conditional Operators +--------------------- + +Do you remember the logical AND (``&&``) operator? Well there are other operators like it. We'll show you a quick overview of them below: + +.. code-block:: vala + + // Logical AND operator (&&) + false && false; // false + true && false // false + false && true // false; + true && true // true; + + // Logical OR operator (||) + false || false; // false + true || false // true + false || true // true; + true || true // true; + + // NOT operator (!) + !false // true + !true // false + + // Equality test (==) + 2 == 8 // false; + 2 == 2 // true; + + // Less than (<) + 4 < 2; // false; + 2 < 4; // true; + + // Greater than (>) + 4 > 2; // true; + 2 > 4; // false; + + // Less than or equal to (<=) + 4 <= 2; // false; + 2 <= 4; // true; + 4 <= 4 // true + + // Greater than or equal to (>=) + 4 >= 2; // true; + 2 >= 4; // false; + 4 >= 4 // true + +As you can see, all of the operators above can be used to return a boolean value. \ No newline at end of file diff --git a/_sources/tutorial/03-04-enums-and-switch-statements.rst.txt b/_sources/tutorial/03-04-enums-and-switch-statements.rst.txt new file mode 100644 index 0000000..adc4d68 --- /dev/null +++ b/_sources/tutorial/03-04-enums-and-switch-statements.rst.txt @@ -0,0 +1,272 @@ +Enums and switch statements +=========================== + +In this section we'll: + +- Introduce the switch statement +- Introudce enum values +- Showcase how switch statements and enums work well togeter + +Introducing Switch Statements +----------------------------- + +In the last section, we introuduced ``if`` statements: + +.. code-block:: vala + + bool is_on = true; + if (is_on) { + print ("The light bulb is on\n"); + } + +However, there as you've seen with ``if`` statements, when you have several potential branches, it can become quite cumbersome to write: + +.. code-block:: vala + + string lang_name = "Vala"; + + print ("Programming Language Fact(s):\n\n"); + + if (lang_name == "Vala") { + print ("Vala first appeared in 2006\n"); + } else if (lang_name == "Rust") { + print ("Rust's Mascot is a red crab\n"); + } else if (lang_name == "C++") { + print ("First editiion of C++ was released around since 1985\n"); + } else if (lang_name == "C") { + print ("C was created by Dennis Ritche") + } else { + print ("Goodbye\n"); + } + +Notice that we're always checking the value of the ``lang_name`` variable with an eqality check ``lang_name == value``. + +Rather than writing out the eqaulity check, for the same variable, every time, you can use a ``switch`` statement instead. + +.. code-block:: vala + + string lang_name = "Vala"; + + switch (lang_name) { + case "Vala": + print ("Vala first appeared in 2006\n"); + break; + case "Rust": + print ("Rust's Mascot is a red crab\n"); + break; + case "C++": + print ("First editiion of C++ was released around since 1985\n"); + break; + case "C": + print ("C was created by Dennis Ritche\n") + break; + default: + print ("Goodbye\n"); + break; + } + +.. tip:: + + The `elementary coding style `_ recommends using a ``switch`` statement + when checking the value of the same variable more than twice, in ``if`` statements. + +``switch`` statements runs a section of code based on the value passed into it. +In this case, ``lang_name`` was passed into te ``switch`` statement so the value "Vala", will be compared against. + +Each ``case`` is like an equality check for the value passed in. ``case "Vala"`` behaves similarly to ``if (lang_name == "Vala")``. +Then after the ``:`` of each ``case`` the section of code to run on the matching case is written. + +To signal the end of the code to run, a ``break`` statement is used. + +``default`` beahves like ``else``. It runs when no other cases match the value passed in. + +Taking Advantage of the Switch Fallthrough Behaviour +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In ``if`` statements, to run the same block of code based on a set of matching values, you would do somethhing like this: + +.. code-block:: vala + + string lang_name = "Vala"; + + if (lang_name == "Vala" || lang_name == "C") { + print ("C was created by Dennis Ritche\n") + print ("Vala compiles to C\n"); + } + +As you can imagine, this can become pretty cumbersome to write as you add more matching values. + +In ``switch`` statements, the syntax for this is much more concise, making it easier to expand the matching potential values over time: + +.. code-block:: vala + :emphasize-lines: 3-8 + + string lang_name = "Vala"; + + print ("Programming Language Fact(s):\n\n"); + + switch (lang_name) { + case "Vala": + case "C": + print ("C was created by Dennis Ritche\n") + print ("Vala compiles to C\n"); + break; + case "Rust": + print ("Rust's Mascot is a red crab\n"); + break; + case "C++": + print ("First editiion of C++ was released around since 1985\n"); + break; + default: + print ("Goodbye\n"); + break; + } + +The "Vala" ``case`` has the "C" ``case`` directly under it. It runs the section of code under the "C" ``case``. +The same code would run if ``lang_name`` was set to "C" too. + +This is the the ``switch`` statement's **fallthrough** behaviour. + +Enums +----- + +Now, you'll write some actual code involving ``switch`` statements and value type called an Enumeration (``enum``): + +First, you'll need to create a new directory for the code you'll write in this section: + +1. Create a new directory called ``Switch`` under your ``ValaProjects`` directory. +2. Create a new file called ``main.vala`` inside the ``Switch`` directory you created. + +In ``main.vala``, write the following code: + +.. code-block:: vala + :caption: main.vala + + public static void main () { + string lang_name = "Vala"; + + print ("Programming Language Fact(s):\n\n"); + + switch (lang_name) { + case "Vala": + case "C": + print ("C was created by Dennis Ritche\n"); + print ("Vala compiles to C\n"); + break; + case "Rust": + print ("Rust's Mascot is a red crab\n"); + break; + case "C++": + print ("First editiion of C++ was released around since 1985\n"); + break; + default: + print ("Goodbye\n"); + break; + } + } + +Now, if you compile and run the code, it should print the following lines: + +.. code-block:: + + Programming Language Fact(s): + + C was created by Dennis Ritche + Vala compiles to C + +Writing your first enum +~~~~~~~~~~~~~~~~~~~~~~~ + +In our code, ``lang_name`` can be reduced to a specific set of related, mutually exclusive values. + +We can take advantage of this by enumerating these values by creating a new ``enum``. + +Add an ``enum`` declaration to the top of ``main.vala`` so that +the code looks like this below: + +.. code-block:: vala + :caption: main.vala + :emphasize-lines: 1-6 + + public enum Language { + VALA, // Vala + C, // C + RUST, // Rust + CPP, // C++ + } + + public static void main () { + string lang_name = "Vala"; + + print ("Programming Language Fact(s):\n\n"); + + switch (lang_name) { + case "Vala": + case "C": + print ("C was created by Dennis Ritche\n"); + print ("Vala compiles to C\n"); + break; + case "Rust": + print ("Rust's Mascot is a red crab\n"); + break; + case "C++": + print ("First editiion of C++ was released around since 1985\n"); + break; + default: + print ("Goodbye\n"); + break; + } + } + +By default, each field in the ``Language`` enum has the value of an integer number, starting from ``0`` ascending. +That is how enums are handled in the program however as humans, we can ignore that and simply take advantage of the +fact that we can use identifiers to specify a value. + +Rather than using literal values, we can use enums to specify the exactly value that we want. Enums are +checked and recognised by the compiler and they are included in autocomplete suggestions. Because of this, using enums +can reduce potential mistakes we can make in our code. + +They also work well with ``switch`` statements. Update ``main.vala`` to look like this below: + +.. code-block:: vala + :caption: main.vala + + public enum Language { + VALA, // Vala + C, // C + RUST, // Rust + CPP, // C++ + } + + public static void main () { + Language chosen_language = Language.VALA; + + print ("Programming Language Fact(s):\n\n"); + + switch (chosen_language) { + case Language.VALA: + case Language.C: + print ("C was created by Dennis Ritche\n"); + print ("Vala compiles to C\n"); + break; + case Language.RUST: + print ("Rust's Mascot is a red crab\n"); + break; + case Language.CPP: + print ("First editiion of C++ was released around since 1985\n"); + break; + default: + print ("Goodbye\n"); + break; + } + } + +If you compile and run the program now, you should still get the same output: + +.. code-block:: + + Programming Language Fact(s): + + C was created by Dennis Ritche + Vala compiles to C + diff --git a/_sources/tutorial/03-05-loops.rst.txt b/_sources/tutorial/03-05-loops.rst.txt new file mode 100644 index 0000000..99bc613 --- /dev/null +++ b/_sources/tutorial/03-05-loops.rst.txt @@ -0,0 +1,130 @@ +Loops +===== + +In this section we'll cover: + +- While loops +- Do While Loops +- For Loops + +You'll be create a new directory for the code you'll write in this section: + +1. Create a directory called ``Loops`` in the ``ValaProjects`` directory. +2. Create a new file called ``main.vala`` in the the ``Loops`` directory that you created. + +Introudcing the while Loop +--------------------------- + +Sometimes you may want to perform the same or very similiar code multiple times. One example of this is counting. + +One of the ways you can do this is through using the ``while`` loop. + +Add this code to your ``main.vala`` file: + +.. code-block:: vala + :caption: main.vala - Counts from 1 to 10 + + public static void main () { + bool has_counted_to_ten = false; + int current_number = 1; + while (has_counted_to_ten == false) { + print ("%d\n", current_number); + current_number = current_number + 1; + has_counted_to_ten = current_number > 10; + } + } + +Now, if you compile and run the program, you'll see this output: + +.. code-block:: + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + +Let's break down how this works: + +- The ``while`` loop takes in an boolean loop condition as its paremeter. The code inside the ``while`` block will run when that condition is ``true``. +- After each execution of the code inside the ``while`` block, if the loop condition is checked. If the condition is ``false``, the code the loop will end. + +.. attention:: + + If your loop condition is never ``false``, it will cause an infinite loop. + + This will result in varying levels of consequences, depending on what your code is doing within the loop. + + Please use loops with care. + + +do-while Loop +~~~~~~~~~~~~~ + +For loops that you want to run at least once, you can use a do-while loop. + +Modify ``main.vala`` too look like this: + +.. code-block:: vala + :caption: main.vala + + public static void main () { + bool has_counted_to_ten = false; + int current_number = 1; + + do { + print ("%d\n", current_number); + current_number = current_number + 1; + has_counted_to_ten = current_number > 10; + } while (has_counted_to_ten == false); + } + +The code above will produce the same output however, no matter what you change the value of ``current_number`` to, the value of ``current_number``will always be printed at least once. So even numbers greater than 10 (11, 20, 100) will be printed if set to ``current_number``. + +For Loop +-------- + +The problem with the ``while`` loops are that they are error prone. We have to create our variables too keep track of the loop and to check against the end condtion. + +However, if we use a ``for`` loop, a lot of the loop tracking logic and loop variables are ``for`` statement's parameter, making the code inside the loop, a lot simpler + +Rewrite ``main.vala`` so that the code looks like this: + +.. code-block:: vala + :caption: main.vala + + public static void main () { + for (int i = 0; i < 10; i++) { + print ("%d\n", i + 1); + } + } + +This code above also performs the same output but look at how many less lines of code it uses compared to the other loops to do the same thing. + +Let's break this down too: + +- The ``for`` loop's parameter combines the variable loop declaration, a loop continuation condition and code to run at the end of each loop, respectively, after each ``;``. +- Because of this, the code can just focus on the using the loop variable for printing the number in order. + +Summary +------- + +Congratualations! You've now finished this chapter. + +To recap, you've learned: + +- About variables and what they are used for +- Different types of data types like integers and boolean +- How to change the flow of programs using control statements such as: ``if`` and ``switch``. +- How to perform loops using loop statements such as ``while`` and ``for``. + +The next chapter will be a project that will use some of the topics you've learned so far. + +Now would be a good idea to revise and experiment with the topics we've covered in this tutorial up until now to improve your understanding with them. + +Now, on to the next chapter! diff --git a/_sources/tutorial/04-00-parrot-program.rst.txt b/_sources/tutorial/04-00-parrot-program.rst.txt new file mode 100644 index 0000000..d145470 --- /dev/null +++ b/_sources/tutorial/04-00-parrot-program.rst.txt @@ -0,0 +1,23 @@ +Project 1: Parrot Program +========================= + +Now you're going to create a program using some of the concepts you've learned so far. + +Essentially, it will be a program that: +- Takes in a phrase that you enter +- Repeats the entered phrase numerous times +- Prints sentences that include the phrase you entered + +.. toctree:: + :hidden: + + Entering your phrase <04-01-entering-your-phrase> + Cycle through names <04-02-cycle-through-names> + +Getting started +--------------- + +You'll need to work on this in a new directory under your ``ValaProjects`` directory. To do this: + +1. Create a new directory called ``ParrotProgram`` under your ``ValaProjects`` directory. +2. Under the ``ParrotProgram`` directory you have just created, create a new file called ``main.vala``. diff --git a/_sources/tutorial/04-01-entering-your-phrase.rst.txt b/_sources/tutorial/04-01-entering-your-phrase.rst.txt new file mode 100644 index 0000000..c3dfdb1 --- /dev/null +++ b/_sources/tutorial/04-01-entering-your-phrase.rst.txt @@ -0,0 +1,65 @@ +Entering your phrase +==================== + +To begin, we'll start off by introduce input and ouput streams. + +Introducing Input and Output Streams +------------------------------------ + +Each time you've used ``print()``, you've actually been printing to an output stream. +Whatever data that you send to the output stream ends up being printed to the terminal that you're running the program on. + +However, if you want to enter data into the terminal that gets entered into the program, +you can use an input stream. + +In the parrot program, we'll use the standard input stream to enter data into our program from our terminal. + + +To do this, you'll need to: + +- Set the value of a ``string`` variable to to a ``stdin.read_line ()`` method call +- Check if the string is not ``null`` in case something went wrong in the process of getting data from the terminal to the program. (We'll learn more about the ``null`` later in this tutorial) +- Print the value of the string variable that stored the value of the ``stdin.read_line ()`` method call. + +.. note:: + + ``stdin.read_line ()`` reads the first line of text where data is entered only. + + +.. code-block:: vala + :caption: main.vala + + public static void main () { + print ("Enter your phrase: "); + + string input = stdin.read_line (); + + if (input != null) { + print ("Your phrase: %s\n", input); + } + } + +Now, compile and run this program. + +Your terminal should display this: + +.. code-block:: output + + Enter your phrase: + + +You may even see a blinking cursor too. + +At this point, you can now enter the phrase that you want to be used in the program, with your keyboard. + +In the code examples for this project, the phrase entered will be "Do Vala, do future". + +After entering your phrase, the program will then: + +1. Output "Your phrase:" followed by the phrase that you just entered +2. Exit + +.. code-block:: output + + Enter your phrase: Do Vala, do future + Your phrase: Do Vala, do future diff --git a/_sources/tutorial/04-02-cycle-through-names.rst.txt b/_sources/tutorial/04-02-cycle-through-names.rst.txt new file mode 100644 index 0000000..10cd566 --- /dev/null +++ b/_sources/tutorial/04-02-cycle-through-names.rst.txt @@ -0,0 +1,104 @@ +Cycle through names +==================== + +Add parrots +----------- + +First, add an array of names for each parrot: + +.. code-block:: vala + :emphasize-lines: 2 + + public static void main () { + string[] parrot_names = {"Jurg", "Raffaele", "Dani"}; + + print ("Enter your phrase: "); + + string input = stdin.read_line (); + + if (input != null) { + print ("Your phrase: %s\n", input); + } + } + +Now let's use the ``for`` loop to make each parrot repeat the entered phrase. + +.. code-block:: vala + :emphasize-lines: 8-14 + + public static void main () { + string[] parrot_names = {"Jurg", "Raffaele", "Dani"}; + + print ("Enter your phrase: "); + + string input = stdin.read_line (); + + if (input == null) { + return; + } + + for (int i = 0; i < parrot_names.length; i++) { + print (@"$(parrot_names[i]) says: $input\n"); + } + } + +.. note:: + + Template strings were used inside the for loop + + Template strings allow you to print variable values in-line in a string. + We'll cover these in more detail in a later section. + +After compilng this program, for the input "It is what it is", +the following output will be displayed: + +.. code-block:: output + + Jurg says: It is what it is + Raffaele says: It is what it is + Dani says: It is what it is + +Refactoring +----------- + +The program will always loop through every parrot name. Because of this, we can +replace the ``for`` loop block with a simpler ``foreach`` loop block: + +.. code-block:: vala + :emphasize-lines: 12-14 + + public static void main () { + string[] parrot_names = {"Jurg", "Raffaele", "Dani"}; + + print ("Enter your phrase: "); + + string input = stdin.read_line (); + + if (input == null) { + return; + } + + foreach (string name in parrot_names) { + print (@"$name says: $input\n"); + } + } + +Now if you compile and run this program again, you should it should work +exactly the same. + +This process of improving the program's code is called `refactoring`. + +Summary +------- + +Congratualations! You've now finished this chapter. + +To recap, you've learned: + +- Thing 1 +- Thing 2 +- Thing 3 + +-- INSERT CHAPTER END MESSAGE HERE -- + +Now, on to the next chapter! diff --git a/_sources/tutorial/05-00-methods.rst.txt b/_sources/tutorial/05-00-methods.rst.txt new file mode 100644 index 0000000..7362680 --- /dev/null +++ b/_sources/tutorial/05-00-methods.rst.txt @@ -0,0 +1,10 @@ +Methods +======= + +This chapter will be focused on methods. + +.. toctree:: + :hidden: + + Introducing methods <05-01-introducing-methods> + Main method <05-02-main-method> \ No newline at end of file diff --git a/_sources/tutorial/05-01-introducing-methods.rst.txt b/_sources/tutorial/05-01-introducing-methods.rst.txt new file mode 100644 index 0000000..bbab253 --- /dev/null +++ b/_sources/tutorial/05-01-introducing-methods.rst.txt @@ -0,0 +1,188 @@ +Introducing methods +=================== + +You have been using methods for quite a while now. All those times where you've +created the main method and have een calling the ``print`` method to output +results from the terminal. + +You will write code for this section in a different directory to the one used for the Hello World program. Follow the following instructions below to do so: + +1. Create a new directory called ``Methods`` under your ``ValaProjects`` directory. +2. Under the ``Methods`` directory you have just created, create a new file called ``main.vala``. + +Methods in more detail +---------------------- + +As explained previously in the Hello World section, a method is a block of +code that contain code for the program to execute when called. + +.. note:: + + These are technically functions because they aren't part of an instance of a class but in Vala we call functions "methods" anyway. + +Now let's create a program that makes use of a method that you create and call. + +First, let's start with a Hello World program + +.. code-block:: vala + :caption: main.vala + + public static void main () { + print ("Hello World\n"); + } + +Now let's create a method to move the printing logic outside of the ``main`` method. + +.. code-block:: vala + :emphasize-lines: 1-3,6 + + public static void say_something () { + print ("Hello World\n"); + } + + public static void main () { + say_something (); + } + +The output of this program will still be: + +.. code-block:: output + + Hello World + +Updating our new method +----------------------- + +One of the benefits of using methods is that we are able to change what +happens when the a method is called, without having the change the initial +method call line. + +To demonstrate this, in ``say_something``, change the text that gets +output into something of your choice. + +In the following example we'll be using the text "The quick brown fox jumped over the lazy dog": + +.. code-block:: vala + :emphasize-lines: 2 + + public static void say_something () { + print ("The quick brown fox jumped over the lazy dog\n"); + } + + public static void main () { + say_something (); + } + +If you compile and run the program the program above, +it will have the following output: + +.. code-block:: output + + The quick brown fox jumped over the lazy dog + + +Adding Method Parameters +------------------------ + +We can also pass in data to the method call, to influence the output generated by +a method: + +Update ``say_something ()`` so that it takes in a string with the name of ``name``, +and prepend (the value of name) "says:" to the print method call. + +.. code-block:: vala + :emphasize-lines: 2 + + public static void say_something (string name) { + print (@"$name says: The quick brown fox jumped over the lazy dog\n"); + } + + // More code below + + +Now you will have to pass in a name to the ``say_somthing ()`` method call in the +main method. + +.. code-block:: vala + :emphasize-lines: 6 + + public static void say_something (string name) { + print (@"$name says: The quick brown fox jumped over the lazy dog\n"); + } + + public static void main () { + say_something ("Julie"); + } + +Now if you compile and run the code above, it will output: + +.. code-block:: output + + Julie says: The quick brown fox jumped over the lazy dog + +Returning data from methods +--------------------------- + +Methods can also return data. + +In ``main.vala`` add a method called ``double_number`` that takes in and integer and +returns an integer: + +.. code-block:: vala + :emphasize-lines: 4-8 + + public static void say_something (string name) { + print (@"$name says: The quick brown fox jumped over the lazy dog\n"); + } + + public static int double_number (int number) { + + } + + public static void main () { + say_something ("Julie"); + } + +Now inside of the ``double_number`` method, return the result of ``number`` multiplied by ``2``: + +.. code-block:: vala + :emphasize-lines: 6 + + public static void say_something (string name) { + print (@"$name says: The quick brown fox jumped over the lazy dog\n"); + } + + public static int double_number (int number) { + return number * 2; + } + + public static void main () { + say_something ("Julie"); + } + +Lastly, let's test the ``double_number`` method. We'll double the number ``2`` +and print out the answer, which should be ``4``: + +.. code-block:: vala + :emphasize-lines: 11 + + public static void say_something (string name) { + print (@"$name says: The quick brown fox jumped over the lazy dog\n"); + } + + public static int double_number (int number) { + return number * 2; + } + + public static void main () { + say_something ("Julie"); + print ("If we double 2, we get: %d", double_number (2)); + } + +Now if you compile and run the program above, we should see the following output: + +.. code-block:: + + Julie says: The quick brown fox jumped over the lazy dog + If we double 2, we get: 4 + diff --git a/_sources/tutorial/05-02-main-method.rst.txt b/_sources/tutorial/05-02-main-method.rst.txt new file mode 100644 index 0000000..e5d7cb5 --- /dev/null +++ b/_sources/tutorial/05-02-main-method.rst.txt @@ -0,0 +1,164 @@ +Main method +=========== + +The work that you do in this section will be done in a new directory under your +``ValaProjects`` directory called ``MainMethods``:abbr: + +1. Create the ``MainMethods`` directory under your ``ValaProjects`` directory +2. Create file called ``main.vala`` inside the ``MainMethods`` directory. + +.. Reference about the original program the reader has written in the Hello World section. + +In the Hello World section, you wrote the following program: + +.. code-block:: vala + :emphasize-lines: 1,3 + + public static void main () { + print ("Hello, world!\n"); + } + +.. Talk about how the main method is the entry point of every Vala program. It's called by +.. the program automatically. + +The `main` method that above is the entry point of every Vala program. It is called +by the program automatically. + +.. Talk about how there are different versions of the main method that can be used and +.. explain the situations where you would use them. + +Throughout this tutorial so far, we've used on version of the main method. +There are different types of main methods that give you access to additional features +that are useful for come complicated programs. + +Here are some of the other main methods versions there are available: + +Main method with exit code +---------------------------- + +.. code-block:: vala + :emphasize-lines: 1,3 + + public static int main () { + print ("Hello, world!\n"); + return 0; + } + +If you look at the method signature in line 1, the main method has an ``int`` return +type instead of a ``dev`` return type. This means that you are required to return an +integer in this method. + +In line 3, the value of ``0`` is returned. The value that is returned is an exit code. +Exit codes tell the operating system the exit status of the program. + +- ``0`` means that you the program ran successfully without errors +- Any non-zero value means that there was an error with the program. The meaning of each value is dependent on the operating system you are using. + +Main method with arguments +-------------------------- + +.. code-block:: vala + + public static void main(string[] args) { + print (@"Arguments list length: $args.length\n"); + print ("Arguments list:\n"); + + foreach (string arg in args) { + print (@"$arg\n"); + } + } + +If you compile and run the program, you'll get a result that looks +similar to this: + +.. code-block:: output + + Arguments list length: 1 + Arguments list: + ./main + +However, the output can change depending on how you call the program. + +The value of the argument list is determined by each space seperating string +is used when calling the program. There will always be at least one argument which +is the path to the program executable. + +The following arguments are space separated strings that appear after the location of the program. + +Try run the program again but append a space then ``arg2 arg3`` to the program's path. + +e.g: ``./main arg2 arg3``. + +The output of the program will look like this: + +.. code-block:: output + + Arguments list length: 3 + Arguments list: + ./main + arg2 + arg3 + +You can use the values in the arguments list in your program to modifiy its behaviour using data passed in from the environment +it was called from. + +There is also a version of the ``main`` method that allows you to return an exit code too. The following code +will produce the same output: + +.. code-block:: vala + + public static int main(string[] args) { + print (@"Arguments list length: $args.length\n"); + print ("Arguments list:\n"); + + foreach (string arg in args) { + print (@"$arg\n"); + } + + return 0; + } + + +No main method +-------------- + +If you have a pretty simple program, you don't even need to write a main method block. +This code will compile and run just fine: + +.. code-block:: vala + + print ("No main method block here!\n"); + print ("Hello world!\n"); + +The output of the program will be: + +.. code-block:: output + + No main method block here! + Hello world! + +.. Lastly, show that you don't even need to write a main method block however it's still recommended that you do so since +.. this is a new feature that has been added in recent versions of Vala. + +.. warning:: + + In the Vala version this tutorial is for (0.56), you will receive a warning + stating that "main blocks are experimental". + + So please use this feature with caution. + + +Summary +------- + +Congratualations! You've now finished this chapter. + +To recap, you've learned: + +- Thing 1 +- Thing 2 +- Thing 3 + +-- INSERT CHAPTER END MESSAGE HERE -- + +Now, on to the next chapter! \ No newline at end of file diff --git a/_sources/tutorial/index.rst.txt b/_sources/tutorial/index.rst.txt new file mode 100644 index 0000000..f607b5c --- /dev/null +++ b/_sources/tutorial/index.rst.txt @@ -0,0 +1,41 @@ +Vala Tutorial +------------- + +This tutorial is a series of guided programming exercies and projects that will teach you the following: + +- The fundamentals of the Vala programming language. +- Basic programming concepts +- Best Practices when writing Vala programs +- A wide variety of features in the Vala programming language +- Several resources that may improve your understanding of Vala + +.. note:: + We assume knowledge basic knowledge of the command line in this tutorial. + +.. note:: + In this tutorial, we don't assume you are using a specific editor or IDE however, if you don't have a preferred editor we recommend using `Visual Studio Code `_ (Or `VSCodium `_) with the Vala Extension for this tutorial. + +.. tip:: + + `Vala Language Server `_ adds Vala code intelligence and autocomplete features to any editor application that supports the `Language Server Protocol `_. + + Feel free to add it if you prefer coding with those features enabled. + + Note: Vala Language Server is **not** required to complete this tutorial. + +.. warning:: + If you see a lines in a code block that start with a ``$`` or ``>`` character, don't include them when you're copying those lines. + + They signifiy that the rest of the line is supposed to be entered in the terminal. + +You can help us improve this tutorial by contributing to its `GitHub repository `_. + +.. toctree:: + :hidden: + :numbered: + + Introduction <01-00-introduction> + Getting Started <02-00-getting-started> + Data Types and Control Structures <03-00-data-types-and-control-structures> + Parrot Program <04-00-parrot-program> + Methods <05-00-methods> diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 0000000..7577acb --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,903 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/_static/bullet.svg b/_static/bullet.svg new file mode 100644 index 0000000..e753411 --- /dev/null +++ b/_static/bullet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_static/card.png b/_static/card.png new file mode 100644 index 0000000000000000000000000000000000000000..2ec271e3eb32357324b3049480b8b75929bb5fd7 GIT binary patch literal 353498 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

m*r$r*1k(Bj&dU(^hbr^cd>brV9;f6)OR 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%0Dlo+4t%kS@? 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 + + + diff --git a/_static/clipboard.min.js b/_static/clipboard.min.js new file mode 100644 index 0000000..54b3c46 --- /dev/null +++ b/_static/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 + + + + diff --git a/_static/copybutton.css b/_static/copybutton.css new file mode 100644 index 0000000..f1916ec --- /dev/null +++ b/_static/copybutton.css @@ -0,0 +1,94 @@ +/* Copy buttons */ +button.copybtn { + position: absolute; + display: flex; + top: .3em; + right: .3em; + width: 1.7em; + height: 1.7em; + opacity: 0; + transition: opacity 0.3s, border .3s, background-color .3s; + user-select: none; + padding: 0; + border: none; + outline: none; + border-radius: 0.4em; + /* The colors that GitHub uses */ + border: #1b1f2426 1px solid; + background-color: #f6f8fa; + color: #57606a; +} + +button.copybtn.success { + border-color: #22863a; + color: #22863a; +} + +button.copybtn svg { + stroke: currentColor; + width: 1.5em; + height: 1.5em; + padding: 0.1em; +} + +div.highlight { + position: relative; +} + +/* Show the copybutton */ +.highlight:hover button.copybtn, button.copybtn.success { + opacity: 1; +} + +.highlight button.copybtn:hover { + background-color: rgb(235, 235, 235); +} + +.highlight button.copybtn:active { + background-color: rgb(187, 187, 187); +} + +/** + * A minimal CSS-only tooltip copied from: + * https://codepen.io/mildrenben/pen/rVBrpK + * + * To use, write HTML like the following: + * + *

Short

+ */ + .o-tooltip--left { + position: relative; + } + + .o-tooltip--left:after { + opacity: 0; + visibility: hidden; + position: absolute; + content: attr(data-tooltip); + padding: .2em; + font-size: .8em; + left: -.2em; + background: grey; + color: white; + white-space: nowrap; + z-index: 2; + border-radius: 2px; + transform: translateX(-102%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); +} + +.o-tooltip--left:hover:after { + display: block; + opacity: 1; + visibility: visible; + transform: translateX(-100%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + transition-delay: .5s; +} + +/* By default the copy button shouldn't show up when printing a page */ +@media print { + button.copybtn { + display: none; + } +} diff --git a/_static/copybutton.js b/_static/copybutton.js new file mode 100644 index 0000000..770fe73 --- /dev/null +++ b/_static/copybutton.js @@ -0,0 +1,248 @@ +// Localization support +const messages = { + 'en': { + 'copy': 'Copy', + 'copy_to_clipboard': 'Copy to clipboard', + 'copy_success': 'Copied!', + 'copy_failure': 'Failed to copy', + }, + 'es' : { + 'copy': 'Copiar', + 'copy_to_clipboard': 'Copiar al portapapeles', + 'copy_success': '¡Copiado!', + 'copy_failure': 'Error al copiar', + }, + 'de' : { + 'copy': 'Kopieren', + 'copy_to_clipboard': 'In die Zwischenablage kopieren', + 'copy_success': 'Kopiert!', + 'copy_failure': 'Fehler beim Kopieren', + }, + 'fr' : { + 'copy': 'Copier', + 'copy_to_clipboard': 'Copier dans le presse-papier', + 'copy_success': 'Copié !', + 'copy_failure': 'Échec de la copie', + }, + 'ru': { + 'copy': 'Скопировать', + 'copy_to_clipboard': 'Скопировать в буфер', + 'copy_success': 'Скопировано!', + 'copy_failure': 'Не удалось скопировать', + }, + 'zh-CN': { + 'copy': '复制', + 'copy_to_clipboard': '复制到剪贴板', + 'copy_success': '复制成功!', + 'copy_failure': '复制失败', + }, + 'it' : { + 'copy': 'Copiare', + 'copy_to_clipboard': 'Copiato negli appunti', + 'copy_success': 'Copiato!', + 'copy_failure': 'Errore durante la copia', + } +} + +let locale = 'en' +if( document.documentElement.lang !== undefined + && messages[document.documentElement.lang] !== undefined ) { + locale = document.documentElement.lang +} + +let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; +if (doc_url_root == '#') { + doc_url_root = ''; +} + +/** + * SVG files for our copy buttons + */ +let iconCheck = ` + ${messages[locale]['copy_success']} + + +` + +// If the user specified their own SVG use that, otherwise use the default +let iconCopy = ``; +if (!iconCopy) { + iconCopy = ` + ${messages[locale]['copy_to_clipboard']} + + + +` +} + +/** + * Set up copy/paste for code blocks + */ + +const runWhenDOMLoaded = cb => { + if (document.readyState != 'loading') { + cb() + } else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', cb) + } else { + document.attachEvent('onreadystatechange', function() { + if (document.readyState == 'complete') cb() + }) + } +} + +const codeCellId = index => `codecell${index}` + +// Clears selected text since ClipboardJS will select the text when copying +const clearSelection = () => { + if (window.getSelection) { + window.getSelection().removeAllRanges() + } else if (document.selection) { + document.selection.empty() + } +} + +// Changes tooltip text for a moment, then changes it back +// We want the timeout of our `success` class to be a bit shorter than the +// tooltip and icon change, so that we can hide the icon before changing back. +var timeoutIcon = 2000; +var timeoutSuccessClass = 1500; + +const temporarilyChangeTooltip = (el, oldText, newText) => { + el.setAttribute('data-tooltip', newText) + el.classList.add('success') + // Remove success a little bit sooner than we change the tooltip + // So that we can use CSS to hide the copybutton first + setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) + setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) +} + +// Changes the copy button icon for two seconds, then changes it back +const temporarilyChangeIcon = (el) => { + el.innerHTML = iconCheck; + setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) +} + +const addCopyButtonToCodeCells = () => { + // If ClipboardJS hasn't loaded, wait a bit and try again. This + // happens because we load ClipboardJS asynchronously. + if (window.ClipboardJS === undefined) { + setTimeout(addCopyButtonToCodeCells, 250) + return + } + + // Add copybuttons to all of our code cells + const COPYBUTTON_SELECTOR = 'div.highlight pre'; + const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) + codeCells.forEach((codeCell, index) => { + const id = codeCellId(index) + codeCell.setAttribute('id', id) + + const clipboardButton = id => + `` + codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) + }) + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} + + +var copyTargetText = (trigger) => { + var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); + + // get filtered text + let exclude = '.linenos'; + + let text = filterText(target, exclude); + return formatCopyText(text, '[\\$>] ', true, true, true, true, '', '') +} + + // Initialize with a callback so we can modify the text before copy + const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) + + // Update UI with error/success messages + clipboard.on('success', event => { + clearSelection() + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) + temporarilyChangeIcon(event.trigger) + }) + + clipboard.on('error', event => { + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) + }) +} + +runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/_static/copybutton_funcs.js b/_static/copybutton_funcs.js new file mode 100644 index 0000000..dbe1aaa --- /dev/null +++ b/_static/copybutton_funcs.js @@ -0,0 +1,73 @@ +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +export function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} diff --git a/_static/debug.css b/_static/debug.css new file mode 100644 index 0000000..74d4aec --- /dev/null +++ b/_static/debug.css @@ -0,0 +1,69 @@ +/* + This CSS file should be overridden by the theme authors. It's + meant for debugging and developing the skeleton that this theme provides. +*/ +body { + font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, + "Apple Color Emoji", "Segoe UI Emoji"; + background: lavender; +} +.sb-announcement { + background: rgb(131, 131, 131); +} +.sb-announcement__inner { + background: black; + color: white; +} +.sb-header { + background: lightskyblue; +} +.sb-header__inner { + background: royalblue; + color: white; +} +.sb-header-secondary { + background: lightcyan; +} +.sb-header-secondary__inner { + background: cornflowerblue; + color: white; +} +.sb-sidebar-primary { + background: lightgreen; +} +.sb-main { + background: blanchedalmond; +} +.sb-main__inner { + background: antiquewhite; +} +.sb-header-article { + background: lightsteelblue; +} +.sb-article-container { + background: snow; +} +.sb-article-main { + background: white; +} +.sb-footer-article { + background: lightpink; +} +.sb-sidebar-secondary { + background: lightgoldenrodyellow; +} +.sb-footer-content { + background: plum; +} +.sb-footer-content__inner { + background: palevioletred; +} +.sb-footer { + background: pink; +} +.sb-footer__inner { + background: salmon; +} +.sb-article { + background: white; +} diff --git a/_static/doctools.js b/_static/doctools.js new file mode 100644 index 0000000..d06a71d --- /dev/null +++ b/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/_static/documentation_options.js b/_static/documentation_options.js new file mode 100644 index 0000000..b57ae3b --- /dev/null +++ b/_static/documentation_options.js @@ -0,0 +1,14 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/_static/file.png b/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/_static/fonts/cantarell-bold-latin.woff2 b/_static/fonts/cantarell-bold-latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e8981cce2c6d3952c7224c43e2e82339190ffc92 GIT binary patch literal 13952 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 N%ik65OhbMI003fep$h;2 literal 0 HcmV?d00001 diff --git a/_static/fonts/cantarell-regular-latin.woff2 b/_static/fonts/cantarell-regular-latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..48669b2bd7133c4bb2c011f59c551f7af5997559 GIT binary patch literal 13116 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 W;Ctwo#mp_E9Q1XbNBh58k{1BS+@&o5 literal 0 HcmV?d00001 diff --git a/_static/gnome.css b/_static/gnome.css new file mode 100644 index 0000000..1827092 --- /dev/null +++ b/_static/gnome.css @@ -0,0 +1,422 @@ +/* GNOME CSS theme for Sphinx + Furo + +https://www.sphinx-doc.org +https://pypi.org/project/furo/ +*/ + +/* FONTS */ +@font-face { + font-family: "Cantarell"; + font-style: normal; + font-weight: 800; + src: url(fonts/cantarell-extra-bold-latin.woff2) format("woff2"); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215; +} +@font-face { + font-family: "Cantarell"; + font-style: normal; + font-weight: 600; + src: url(fonts/cantarell-bold-latin.woff2) format("woff2"); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215; +} +@font-face { + font-family: "Cantarell"; + font-style: normal; + font-weight: 400; + src: url(fonts/cantarell-regular-latin.woff2) format("woff2"); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215; +} + +@font-face { + font-family: "Cantarell"; + font-style: normal; + font-weight: 300; + src: url(fonts/cantarell-light.woff2) format("woff2"); + font-display: block; +} + +:root { + --rounded-corner: 12px; + --gnomeblue: #1c71d8; + --blue1: rgb(153,193,241); + --blue2: rgb(98,160,234); + --blue3: rgb(53,132,228); + --blue4: rgb(28,113,216); + --blue5: rgb(26,95,180); + --green1: rgb(143,240,164); + --green2: rgb(87,227,137); + --green3: rgb(51,209,122); + --green4: rgb(46,194,126); + --green5: rgb(38,162,105); + --yellow1: rgb(249,240,107); + --yellow2: rgb(248,228,92); + --yellow3: rgb(246,211,45); + --yellow4: rgb(245,194,17); + --yellow5: rgb(229,165,10); + --orange1: rgb(255,190,111); + --orange2: rgb(255,163,72); + --orange3: rgb(255,120,0); + --orange4: rgb(230,97,0); + --orange5: rgb(198,70,0); + --red1: rgb(246,97,81); + --red2: rgb(237,51,59); + --red3: rgb(224,27,36); + --red4: rgb(192,28,40); + --red5: rgb(165,29,45); + --purple1: rgb(220,138,221); + --purple2: rgb(192,97,203); + --purple3: rgb(145,65,172); + --purple4: rgb(129,61,156); + --purple5: rgb(97,53,131); + --brown1: rgb(205,171,143); + --brown2: rgb(181,131,90); + --brown3: rgb(152,106,68); + --brown4: rgb(134,94,60); + --brown5: rgb(99,69,44); + --light1: rgb(255,255,255); + --light2: rgb(246,245,244); + --light3: rgb(222,221,218); + --light4: rgb(192,191,188); + --light5: rgb(154,153,150); + --dark1: rgb(119,118,123); + --dark2: rgb(94,92,100); + --dark3: rgb(61,56,70); + --dark4: rgb(36,31,49); + --dark5: rgb(0,0,0); + --text: #f6f5f4; + --tocbg: var(--light2); + --tocfg: var(--dark3); + --borders: var(--light3); +} + +::selection { + background-color: rgba(153,193,241,0.5); +} + +@media (prefers-color-scheme: dark) { + :root { + --tocbg: var(--dark5); + --tocfg: var(--light5); + --borders: var(--dark3); + } + ::selection { + background-color: rgba(26,95,180,0.4); + } +} + +* { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +html, body { + margin: 0; + padding: 0; + font-size: 16px; + font-family: Cantarell, -apple-system, BlinkMacSystemFont, "Helvetica", sans-serif; + font-weight: 400; + line-height: 1.6; +} + @media (min-width: 700px) { + html, body { + font-size: 18px; + } + } + +p strong { + font-weight: 600; + opacity: 0.9; +} + +h1 { + font-weight: 300; + font-size: 24pt; +} +h2 { + font-weight: 800; + font-size: 17pt; +} +h3 { + font-weight: 800; + font-size: 15pt; +} +h4 { + font-weight: 700; + font-size: 14pt; +} +h5 { + font-weight: 700; + font-size: 12pt; +} + h2,h3,h4,h5 { opacity: 0.7; } + +ul.simple { + margin: 1rem 1rem 3rem; +} + +img.light { display: inline-block; } +img.dark { display: none; } +@media (prefers-color-scheme: dark) { + img.light { display: none;} + img.dark { display: inline-block; } +} + + ul.simple li { + list-style-image: url(bullet.svg); + margin-inline-end: 1ch; + margin-bottom: 1rem; + } + ul.simple li:hover::marker { } + +.related-pages { + font-size: 10pt; + font-weight: 800; + display: flex; + flex-direction: row-reverse; + align-items: stretch; + justify-content: space-between; +} + + .related-pages a .title { + color: var(--dark1); + } + .related-pages a svg { + width: 32px; height: 32px; + } + + .prev-page { + border-radius: 8px; + padding: 8px 24px 8px 8px; + + } + .next-page { + border-radius: 8px; + padding: 8px 8px 8px 24px; + } + .related-pages a.prev-page, + .related-pages a.next-page { + float: none; + max-width: inherit; /* cancel furo's 50% */ + } + .related-pages a.prev-page:hover, .related-pages a.next-page:hover { + background-color: var(--tocbg); + } + + @media (min-width: 700px) { + .related-pages { + font-size: 14pt; + } + .prev-page { + padding: 16px 48px 16px 16px; + border-radius: 24px; + + } + .next-page { + padding: 16px 16px 16px 48px; + border-radius: 24px; + } + } + .related-pages a.prev-page:only-child, + .related-pages a.next-page:only-child, + .page-info { + /* align-self: flex-end; i wish */ + width: 100%; /* big buttons instead */ + } + +.toctree-wrapper ul { + margin: 0; padding: 0; +} + + .toctree-wrapper li { + list-style: none; + margin: 0 0 1rem 0; + } + .toctree-wrapper li.toctree-l1 { + font-size: 14pt; + font-weight: 600; + + } + .toctree-wrapper li.toctree-l1 > a { color: var(--tocfg); } + + .toctree-wrapper li.toctree-l2 { + list-style-image: url(toc_bullet.svg); + margin: 0; + font-size: 12pt; + font-weight: 400; + padding: 0.2rem; + } + .toctree-wrapper > ul ul { + margin-top: 1rem; + display: grid; + grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); + gap: .2rem; + } + .toctree-wrapper > ul ul a { + background-color: transparent; + } +/* tiled TOC with images */ + +ul.tiled-toc { + display: grid; + gap: 1rem; + grid-auto-flow: row; + margin: 1rem 0; padding: 0; + text-align: center; + margin-top: 2rem; +} + ul.tiled-toc li { + display: block; + list-style: none; + } + ul.tiled-toc li img { + display: block; + width: 100%; + } + ul.tiled-toc li img::after { + content: "Foo"; + } + + ul.tiled-toc a { + color: black; + text-decoration: none; + font-weight: 600; + } + + @media (min-width: 700px) { + ul.tiled-toc { + grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); + } + } + + @media (prefers-color-scheme: dark) { + ul.tiled-toc a { color: white; } + } + + +table.docutils { + font-size: 90%; + box-shadow: none; + border-collapse: collapse; + border-spacing: 0; + border-radius: 0; + text-align: left; + border-width: 0; + box-sizing: border-box; +} + /* reset crazy */ + table.docutils th, table.docutils tr, table.docutils td { + background-color: transparent; + text-align: left; + } + + table.docutils td, table.docutils th { + border-width: 0; + padding: .25rem; + } + table.docutils tr { + border-width: 0; + border-bottom: 1px solid var(--borders); + } + + table.docutils thead tr { + font-weight: 800; + border-width: 0; + box-sizing: inherit; + border-bottom: 2px solid var(--borders); + } + +video { + width: 100%; + height: auto; +} + +footer { + margin-bottom: 3rem; +} + +.sidebar-brand-text { + font-size: 14pt; + font-weight: 800; +} + +.headerlink { visibility: hidden !important; } + +.sidebar-search-container, +.sidebar-search { + border-radius: 99999px; + border: none; +} +.sidebar-search-container { + margin: 0 var(--sidebar-item-spacing-horizontal); + transition: background-color 0.2s linear; + background-color: rgba(0,0,0,0.06); +} +.sidebar-search-container:hover { + background-color: rgba(0,0,0,0.09); +} +.sidebar-search-container:focus-within { + background-color: rgba(0,0,0,0.12); +} + +@media (prefers-color-scheme: dark) { + .sidebar-search-container { + background-color: rgba(255,255,255,0.06); + } + .sidebar-search-container:hover { + background-color: rgba(255,255,255,0.09); + } + .sidebar-search-container:focus-within { + background-color: rgba(255,255,255,0.12); + } +} + +.sidebar-tree .toctree-l1, +.sidebar-tree .toctree-l2 { + margin: 1px 12px; + border-radius: 6px; +} + +.sidebar-tree .toctree-l2 { + margin: 1px 0; +} + +.sidebar-tree li > ul { + margin-left: 0; +} +.sidebar-tree li > ul .reference { + padding-left: calc(1.5*var(--sidebar-item-spacing-horizontal)); +} + +.sidebar-tree li.toctree-l3 a { + margin: 1px 0; + padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) + var(--sidebar-item-spacing-vertical) calc(2*var(--sidebar-item-spacing-horizontal)) ; /* extra indentation */ +} + +.sidebar-tree .reference { + background: rgba(0,0,0,0); + transition: background 0.2s linear; + border-radius: 6px; + padding: var(--sidebar-item-spacing-vertical) calc(0.75*var(--sidebar-item-spacing-horizontal)); +} +.sidebar-tree .reference:hover, +.sidebar-tree .current > .reference:hover { + /* background: var(--color-background-hover); */ + background: rgba(0,0,0,0.03); +} + +.sidebar-tree .reference.current { + background: rgba(0,0,0,0.06); +} +.sidebar-tree .reference.current:hover { + background: rgba(0,0,0,0.09); +} + +.sidebar-tree .current-page > .reference { + font-weight: 600; +} + +.sidebar-logo { + border-radius: 20px; +} diff --git a/_static/language_data.js b/_static/language_data.js new file mode 100644 index 0000000..250f566 --- /dev/null +++ b/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, is available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/_static/logo.png b/_static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c2e64493d12e4d2f8b6ffdf91516fcc390ccdf GIT binary patch literal 10728 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 iyQkfu!5>JyB>nycxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK literal 0 HcmV?d00001 diff --git a/_static/plus.png b/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7107cec93a979b9a5f64843235a16651d563ce2d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz literal 0 HcmV?d00001 diff --git a/_static/pygments.css b/_static/pygments.css new file mode 100644 index 0000000..c2e07c7 --- /dev/null +++ b/_static/pygments.css @@ -0,0 +1,258 @@ +.highlight pre { line-height: 125%; } +.highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #8f5902; font-style: italic } /* Comment */ +.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ +.highlight .g { color: #000000 } /* Generic */ +.highlight .k { color: #204a87; font-weight: bold } /* Keyword */ +.highlight .l { color: #000000 } /* Literal */ +.highlight .n { color: #000000 } /* Name */ +.highlight .o { color: #ce5c00; font-weight: bold } /* Operator */ +.highlight .x { color: #000000 } /* Other */ +.highlight .p { color: #000000; font-weight: bold } /* Punctuation */ +.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */ +.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #a40000 } /* Generic.Deleted */ +.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */ +.highlight .ges { color: #000000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #ef2929 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #000000; font-style: italic } /* Generic.Output */ +.highlight .gp { color: #8f5902 } /* Generic.Prompt */ +.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */ +.highlight .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #204a87; font-weight: bold } /* Keyword.Type */ +.highlight .ld { color: #000000 } /* Literal.Date */ +.highlight .m { color: #0000cf; font-weight: bold } /* Literal.Number */ +.highlight .s { color: #4e9a06 } /* Literal.String */ +.highlight .na { color: #c4a000 } /* Name.Attribute */ +.highlight .nb { color: #204a87 } /* Name.Builtin */ +.highlight .nc { color: #000000 } /* Name.Class */ +.highlight .no { color: #000000 } /* Name.Constant */ +.highlight .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #ce5c00 } /* Name.Entity */ +.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #000000 } /* Name.Function */ +.highlight .nl { color: #f57900 } /* Name.Label */ +.highlight .nn { color: #000000 } /* Name.Namespace */ +.highlight .nx { color: #000000 } /* Name.Other */ +.highlight .py { color: #000000 } /* Name.Property */ +.highlight .nt { color: #204a87; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #000000 } /* Name.Variable */ +.highlight .ow { color: #204a87; font-weight: bold } /* Operator.Word */ +.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */ +.highlight .w { color: #f8f8f8 } /* Text.Whitespace */ +.highlight .mb { color: #0000cf; font-weight: bold } /* Literal.Number.Bin */ +.highlight .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */ +.highlight .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */ +.highlight .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */ +.highlight .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */ +.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */ +.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */ +.highlight .sc { color: #4e9a06 } /* Literal.String.Char */ +.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */ +.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */ +.highlight .se { color: #4e9a06 } /* Literal.String.Escape */ +.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */ +.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */ +.highlight .sx { color: #4e9a06 } /* Literal.String.Other */ +.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */ +.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */ +.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */ +.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #000000 } /* Name.Function.Magic */ +.highlight .vc { color: #000000 } /* Name.Variable.Class */ +.highlight .vg { color: #000000 } /* Name.Variable.Global */ +.highlight .vi { color: #000000 } /* Name.Variable.Instance */ +.highlight .vm { color: #000000 } /* Name.Variable.Magic */ +.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */ +@media not print { +body[data-theme="dark"] .highlight pre { line-height: 125%; } +body[data-theme="dark"] .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight .hll { background-color: #404040 } +body[data-theme="dark"] .highlight { background: #202020; color: #d0d0d0 } +body[data-theme="dark"] .highlight .c { color: #ababab; font-style: italic } /* Comment */ +body[data-theme="dark"] .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +body[data-theme="dark"] .highlight .esc { color: #d0d0d0 } /* Escape */ +body[data-theme="dark"] .highlight .g { color: #d0d0d0 } /* Generic */ +body[data-theme="dark"] .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */ +body[data-theme="dark"] .highlight .l { color: #d0d0d0 } /* Literal */ +body[data-theme="dark"] .highlight .n { color: #d0d0d0 } /* Name */ +body[data-theme="dark"] .highlight .o { color: #d0d0d0 } /* Operator */ +body[data-theme="dark"] .highlight .x { color: #d0d0d0 } /* Other */ +body[data-theme="dark"] .highlight .p { color: #d0d0d0 } /* Punctuation */ +body[data-theme="dark"] .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */ +body[data-theme="dark"] .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */ +body[data-theme="dark"] .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */ +body[data-theme="dark"] .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */ +body[data-theme="dark"] .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */ +body[data-theme="dark"] .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +body[data-theme="dark"] .highlight .gd { color: #d22323 } /* Generic.Deleted */ +body[data-theme="dark"] .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ +body[data-theme="dark"] .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +body[data-theme="dark"] .highlight .gr { color: #d22323 } /* Generic.Error */ +body[data-theme="dark"] .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ +body[data-theme="dark"] .highlight .gi { color: #589819 } /* Generic.Inserted */ +body[data-theme="dark"] .highlight .go { color: #cccccc } /* Generic.Output */ +body[data-theme="dark"] .highlight .gp { color: #aaaaaa } /* Generic.Prompt */ +body[data-theme="dark"] .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ +body[data-theme="dark"] .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ +body[data-theme="dark"] .highlight .gt { color: #d22323 } /* Generic.Traceback */ +body[data-theme="dark"] .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */ +body[data-theme="dark"] .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */ +body[data-theme="dark"] .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */ +body[data-theme="dark"] .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */ +body[data-theme="dark"] .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */ +body[data-theme="dark"] .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */ +body[data-theme="dark"] .highlight .ld { color: #d0d0d0 } /* Literal.Date */ +body[data-theme="dark"] .highlight .m { color: #51b2fd } /* Literal.Number */ +body[data-theme="dark"] .highlight .s { color: #ed9d13 } /* Literal.String */ +body[data-theme="dark"] .highlight .na { color: #bbbbbb } /* Name.Attribute */ +body[data-theme="dark"] .highlight .nb { color: #2fbccd } /* Name.Builtin */ +body[data-theme="dark"] .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */ +body[data-theme="dark"] .highlight .no { color: #40ffff } /* Name.Constant */ +body[data-theme="dark"] .highlight .nd { color: #ffa500 } /* Name.Decorator */ +body[data-theme="dark"] .highlight .ni { color: #d0d0d0 } /* Name.Entity */ +body[data-theme="dark"] .highlight .ne { color: #bbbbbb } /* Name.Exception */ +body[data-theme="dark"] .highlight .nf { color: #71adff } /* Name.Function */ +body[data-theme="dark"] .highlight .nl { color: #d0d0d0 } /* Name.Label */ +body[data-theme="dark"] .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */ +body[data-theme="dark"] .highlight .nx { color: #d0d0d0 } /* Name.Other */ +body[data-theme="dark"] .highlight .py { color: #d0d0d0 } /* Name.Property */ +body[data-theme="dark"] .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */ +body[data-theme="dark"] .highlight .nv { color: #40ffff } /* Name.Variable */ +body[data-theme="dark"] .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */ +body[data-theme="dark"] .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */ +body[data-theme="dark"] .highlight .w { color: #666666 } /* Text.Whitespace */ +body[data-theme="dark"] .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */ +body[data-theme="dark"] .highlight .mf { color: #51b2fd } /* Literal.Number.Float */ +body[data-theme="dark"] .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */ +body[data-theme="dark"] .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */ +body[data-theme="dark"] .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */ +body[data-theme="dark"] .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */ +body[data-theme="dark"] .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */ +body[data-theme="dark"] .highlight .sc { color: #ed9d13 } /* Literal.String.Char */ +body[data-theme="dark"] .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */ +body[data-theme="dark"] .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */ +body[data-theme="dark"] .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */ +body[data-theme="dark"] .highlight .se { color: #ed9d13 } /* Literal.String.Escape */ +body[data-theme="dark"] .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */ +body[data-theme="dark"] .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */ +body[data-theme="dark"] .highlight .sx { color: #ffa500 } /* Literal.String.Other */ +body[data-theme="dark"] .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */ +body[data-theme="dark"] .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */ +body[data-theme="dark"] .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */ +body[data-theme="dark"] .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */ +body[data-theme="dark"] .highlight .fm { color: #71adff } /* Name.Function.Magic */ +body[data-theme="dark"] .highlight .vc { color: #40ffff } /* Name.Variable.Class */ +body[data-theme="dark"] .highlight .vg { color: #40ffff } /* Name.Variable.Global */ +body[data-theme="dark"] .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ +body[data-theme="dark"] .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ +body[data-theme="dark"] .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */ +@media (prefers-color-scheme: dark) { +body:not([data-theme="light"]) .highlight pre { line-height: 125%; } +body:not([data-theme="light"]) .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight .hll { background-color: #404040 } +body:not([data-theme="light"]) .highlight { background: #202020; color: #d0d0d0 } +body:not([data-theme="light"]) .highlight .c { color: #ababab; font-style: italic } /* Comment */ +body:not([data-theme="light"]) .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +body:not([data-theme="light"]) .highlight .esc { color: #d0d0d0 } /* Escape */ +body:not([data-theme="light"]) .highlight .g { color: #d0d0d0 } /* Generic */ +body:not([data-theme="light"]) .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */ +body:not([data-theme="light"]) .highlight .l { color: #d0d0d0 } /* Literal */ +body:not([data-theme="light"]) .highlight .n { color: #d0d0d0 } /* Name */ +body:not([data-theme="light"]) .highlight .o { color: #d0d0d0 } /* Operator */ +body:not([data-theme="light"]) .highlight .x { color: #d0d0d0 } /* Other */ +body:not([data-theme="light"]) .highlight .p { color: #d0d0d0 } /* Punctuation */ +body:not([data-theme="light"]) .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */ +body:not([data-theme="light"]) .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */ +body:not([data-theme="light"]) .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */ +body:not([data-theme="light"]) .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */ +body:not([data-theme="light"]) .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */ +body:not([data-theme="light"]) .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +body:not([data-theme="light"]) .highlight .gd { color: #d22323 } /* Generic.Deleted */ +body:not([data-theme="light"]) .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ +body:not([data-theme="light"]) .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +body:not([data-theme="light"]) .highlight .gr { color: #d22323 } /* Generic.Error */ +body:not([data-theme="light"]) .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ +body:not([data-theme="light"]) .highlight .gi { color: #589819 } /* Generic.Inserted */ +body:not([data-theme="light"]) .highlight .go { color: #cccccc } /* Generic.Output */ +body:not([data-theme="light"]) .highlight .gp { color: #aaaaaa } /* Generic.Prompt */ +body:not([data-theme="light"]) .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ +body:not([data-theme="light"]) .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ +body:not([data-theme="light"]) .highlight .gt { color: #d22323 } /* Generic.Traceback */ +body:not([data-theme="light"]) .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */ +body:not([data-theme="light"]) .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */ +body:not([data-theme="light"]) .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */ +body:not([data-theme="light"]) .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */ +body:not([data-theme="light"]) .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */ +body:not([data-theme="light"]) .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */ +body:not([data-theme="light"]) .highlight .ld { color: #d0d0d0 } /* Literal.Date */ +body:not([data-theme="light"]) .highlight .m { color: #51b2fd } /* Literal.Number */ +body:not([data-theme="light"]) .highlight .s { color: #ed9d13 } /* Literal.String */ +body:not([data-theme="light"]) .highlight .na { color: #bbbbbb } /* Name.Attribute */ +body:not([data-theme="light"]) .highlight .nb { color: #2fbccd } /* Name.Builtin */ +body:not([data-theme="light"]) .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */ +body:not([data-theme="light"]) .highlight .no { color: #40ffff } /* Name.Constant */ +body:not([data-theme="light"]) .highlight .nd { color: #ffa500 } /* Name.Decorator */ +body:not([data-theme="light"]) .highlight .ni { color: #d0d0d0 } /* Name.Entity */ +body:not([data-theme="light"]) .highlight .ne { color: #bbbbbb } /* Name.Exception */ +body:not([data-theme="light"]) .highlight .nf { color: #71adff } /* Name.Function */ +body:not([data-theme="light"]) .highlight .nl { color: #d0d0d0 } /* Name.Label */ +body:not([data-theme="light"]) .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */ +body:not([data-theme="light"]) .highlight .nx { color: #d0d0d0 } /* Name.Other */ +body:not([data-theme="light"]) .highlight .py { color: #d0d0d0 } /* Name.Property */ +body:not([data-theme="light"]) .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */ +body:not([data-theme="light"]) .highlight .nv { color: #40ffff } /* Name.Variable */ +body:not([data-theme="light"]) .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */ +body:not([data-theme="light"]) .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */ +body:not([data-theme="light"]) .highlight .w { color: #666666 } /* Text.Whitespace */ +body:not([data-theme="light"]) .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */ +body:not([data-theme="light"]) .highlight .mf { color: #51b2fd } /* Literal.Number.Float */ +body:not([data-theme="light"]) .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */ +body:not([data-theme="light"]) .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */ +body:not([data-theme="light"]) .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */ +body:not([data-theme="light"]) .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */ +body:not([data-theme="light"]) .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */ +body:not([data-theme="light"]) .highlight .sc { color: #ed9d13 } /* Literal.String.Char */ +body:not([data-theme="light"]) .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */ +body:not([data-theme="light"]) .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */ +body:not([data-theme="light"]) .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */ +body:not([data-theme="light"]) .highlight .se { color: #ed9d13 } /* Literal.String.Escape */ +body:not([data-theme="light"]) .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */ +body:not([data-theme="light"]) .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */ +body:not([data-theme="light"]) .highlight .sx { color: #ffa500 } /* Literal.String.Other */ +body:not([data-theme="light"]) .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */ +body:not([data-theme="light"]) .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */ +body:not([data-theme="light"]) .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */ +body:not([data-theme="light"]) .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */ +body:not([data-theme="light"]) .highlight .fm { color: #71adff } /* Name.Function.Magic */ +body:not([data-theme="light"]) .highlight .vc { color: #40ffff } /* Name.Variable.Class */ +body:not([data-theme="light"]) .highlight .vg { color: #40ffff } /* Name.Variable.Global */ +body:not([data-theme="light"]) .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ +body:not([data-theme="light"]) .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ +body:not([data-theme="light"]) .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */ +} +} \ No newline at end of file diff --git a/_static/right.svg b/_static/right.svg new file mode 100644 index 0000000..6f49762 --- /dev/null +++ b/_static/right.svg @@ -0,0 +1 @@ + diff --git a/_static/scripts/furo-extensions.js b/_static/scripts/furo-extensions.js new file mode 100644 index 0000000..e69de29 diff --git a/_static/scripts/furo.js b/_static/scripts/furo.js new file mode 100644 index 0000000..32e7c05 --- /dev/null +++ b/_static/scripts/furo.js @@ -0,0 +1,3 @@ +/*! For license information please see furo.js.LICENSE.txt */ +(()=>{var t={212:function(t,e,n){var o,r;r=void 0!==n.g?n.g:"undefined"!=typeof window?window:this,o=function(){return function(t){"use strict";var e={navClass:"active",contentClass:"active",nested:!1,nestedClass:"active",offset:0,reflow:!1,events:!0},n=function(t,e,n){if(n.settings.events){var o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n});e.dispatchEvent(o)}},o=function(t){var e=0;if(t.offsetParent)for(;t;)e+=t.offsetTop,t=t.offsetParent;return e>=0?e:0},r=function(t){t&&t.sort((function(t,e){return o(t.content)=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},l=function(t,e){var n=t[t.length-1];if(function(t,e){return!(!s()||!c(t.content,e,!0))}(n,e))return n;for(var o=t.length-1;o>=0;o--)if(c(t[o].content,e))return t[o]},a=function(t,e){if(e.nested&&t.parentNode){var n=t.parentNode.closest("li");n&&(n.classList.remove(e.nestedClass),a(n,e))}},i=function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.remove(e.navClass),t.content.classList.remove(e.contentClass),a(o,e),n("gumshoeDeactivate",o,{link:t.nav,content:t.content,settings:e}))}},u=function(t,e){if(e.nested){var n=t.parentNode.closest("li");n&&(n.classList.add(e.nestedClass),u(n,e))}};return function(o,c){var s,a,d,f,m,v={setup:function(){s=document.querySelectorAll(o),a=[],Array.prototype.forEach.call(s,(function(t){var e=document.getElementById(decodeURIComponent(t.hash.substr(1)));e&&a.push({nav:t,content:e})})),r(a)},detect:function(){var t=l(a,m);t?d&&t.content===d.content||(i(d,m),function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.add(e.navClass),t.content.classList.add(e.contentClass),u(o,e),n("gumshoeActivate",o,{link:t.nav,content:t.content,settings:e}))}}(t,m),d=t):d&&(i(d,m),d=null)}},h=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame(v.detect)},g=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame((function(){r(a),v.detect()}))};return v.destroy=function(){d&&i(d,m),t.removeEventListener("scroll",h,!1),m.reflow&&t.removeEventListener("resize",g,!1),a=null,s=null,d=null,f=null,m=null},m=function(){var t={};return Array.prototype.forEach.call(arguments,(function(e){for(var n in e){if(!e.hasOwnProperty(n))return;t[n]=e[n]}})),t}(e,c||{}),v.setup(),v.detect(),t.addEventListener("scroll",h,!1),m.reflow&&t.addEventListener("resize",g,!1),v}}(r)}.apply(e,[]),void 0===o||(t.exports=o)}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var c=e[o]={exports:{}};return t[o].call(c.exports,c,c.exports,n),c.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=n(212),e=n.n(t),o=null,r=null,c=window.pageYOffset||document.documentElement.scrollTop;const s=64;function l(){const t=localStorage.getItem("theme")||"auto";var e;"light"!==(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"auto"===t?"light":"light"==t?"dark":"auto":"auto"===t?"dark":"dark"==t?"light":"auto")&&"dark"!==e&&"auto"!==e&&(console.error(`Got invalid theme mode: ${e}. Resetting to auto.`),e="auto"),document.body.dataset.theme=e,localStorage.setItem("theme",e),console.log(`Changed to ${e} mode.`)}function a(){!function(){const t=document.getElementsByClassName("theme-toggle");Array.from(t).forEach((t=>{t.addEventListener("click",l)}))}(),function(){let t=0,e=!1;window.addEventListener("scroll",(function(n){t=window.scrollY,e||(window.requestAnimationFrame((function(){var n;n=t,0==Math.floor(r.getBoundingClientRect().top)?r.classList.add("scrolled"):r.classList.remove("scrolled"),function(t){tc&&document.documentElement.classList.remove("show-back-to-top"),c=t}(n),function(t){null!==o&&(0==t?o.scrollTo(0,0):Math.ceil(t)>=Math.floor(document.documentElement.scrollHeight-window.innerHeight)?o.scrollTo(0,o.scrollHeight):document.querySelector(".scroll-current"))}(n),e=!1})),e=!0)})),window.scroll()}(),null!==o&&new(e())(".toc-tree a",{reflow:!0,recursive:!0,navClass:"scroll-current",offset:()=>{let t=parseFloat(getComputedStyle(document.documentElement).fontSize);return r.getBoundingClientRect().height+.5*t+1}})}document.addEventListener("DOMContentLoaded",(function(){document.body.parentNode.classList.remove("no-js"),r=document.querySelector("header"),o=document.querySelector(".toc-scroll"),a()}))})()})(); +//# sourceMappingURL=furo.js.map \ No newline at end of file diff --git a/_static/scripts/furo.js.LICENSE.txt b/_static/scripts/furo.js.LICENSE.txt new file mode 100644 index 0000000..1632189 --- /dev/null +++ b/_static/scripts/furo.js.LICENSE.txt @@ -0,0 +1,7 @@ +/*! + * gumshoejs v5.1.2 (patched by @pradyunsg) + * A simple, framework-agnostic scrollspy script. + * (c) 2019 Chris Ferdinandi + * MIT License + * http://github.com/cferdinandi/gumshoe + */ diff --git a/_static/scripts/furo.js.map b/_static/scripts/furo.js.map new file mode 100644 index 0000000..4705302 --- /dev/null +++ b/_static/scripts/furo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/furo.js","mappings":";iCAAA,MAQWA,SAWS,IAAX,EAAAC,EACH,EAAAA,EACkB,oBAAXC,OACLA,OACAC,KAbO,EAAF,WACP,OAaJ,SAAUD,GACR,aAMA,IAAIE,EAAW,CAEbC,SAAU,SACVC,aAAc,SAGdC,QAAQ,EACRC,YAAa,SAGbC,OAAQ,EACRC,QAAQ,EAGRC,QAAQ,GA6BNC,EAAY,SAAUC,EAAMC,EAAMC,GAEpC,GAAKA,EAAOC,SAASL,OAArB,CAGA,IAAIM,EAAQ,IAAIC,YAAYL,EAAM,CAChCM,SAAS,EACTC,YAAY,EACZL,OAAQA,IAIVD,EAAKO,cAAcJ,EAVgB,CAWrC,EAOIK,EAAe,SAAUR,GAC3B,IAAIS,EAAW,EACf,GAAIT,EAAKU,aACP,KAAOV,GACLS,GAAYT,EAAKW,UACjBX,EAAOA,EAAKU,aAGhB,OAAOD,GAAY,EAAIA,EAAW,CACpC,EAMIG,EAAe,SAAUC,GACvBA,GACFA,EAASC,MAAK,SAAUC,EAAOC,GAG7B,OAFcR,EAAaO,EAAME,SACnBT,EAAaQ,EAAMC,UACF,EACxB,CACT,GAEJ,EAwCIC,EAAW,SAAUlB,EAAME,EAAUiB,GACvC,IAAIC,EAASpB,EAAKqB,wBACd1B,EAnCU,SAAUO,GAExB,MAA+B,mBAApBA,EAASP,OACX2B,WAAWpB,EAASP,UAItB2B,WAAWpB,EAASP,OAC7B,CA2Be4B,CAAUrB,GACvB,OAAIiB,EAEAK,SAASJ,EAAOD,OAAQ,KACvB/B,EAAOqC,aAAeC,SAASC,gBAAgBC,cAG7CJ,SAASJ,EAAOS,IAAK,KAAOlC,CACrC,EAMImC,EAAa,WACf,OACEC,KAAKC,KAAK5C,EAAOqC,YAAcrC,EAAO6C,cAnCjCF,KAAKG,IACVR,SAASS,KAAKC,aACdV,SAASC,gBAAgBS,aACzBV,SAASS,KAAKE,aACdX,SAASC,gBAAgBU,aACzBX,SAASS,KAAKP,aACdF,SAASC,gBAAgBC,aAkC7B,EAmBIU,EAAY,SAAUzB,EAAUX,GAClC,IAAIqC,EAAO1B,EAASA,EAAS2B,OAAS,GACtC,GAbgB,SAAUC,EAAMvC,GAChC,SAAI4B,MAAgBZ,EAASuB,EAAKxB,QAASf,GAAU,GAEvD,CAUMwC,CAAYH,EAAMrC,GAAW,OAAOqC,EACxC,IAAK,IAAII,EAAI9B,EAAS2B,OAAS,EAAGG,GAAK,EAAGA,IACxC,GAAIzB,EAASL,EAAS8B,GAAG1B,QAASf,GAAW,OAAOW,EAAS8B,EAEjE,EAOIC,EAAmB,SAAUC,EAAK3C,GAEpC,GAAKA,EAAST,QAAWoD,EAAIC,WAA7B,CAGA,IAAIC,EAAKF,EAAIC,WAAWE,QAAQ,MAC3BD,IAGLA,EAAGE,UAAUC,OAAOhD,EAASR,aAG7BkD,EAAiBG,EAAI7C,GAV0B,CAWjD,EAOIiD,EAAa,SAAUC,EAAOlD,GAEhC,GAAKkD,EAAL,CAGA,IAAIL,EAAKK,EAAMP,IAAIG,QAAQ,MACtBD,IAGLA,EAAGE,UAAUC,OAAOhD,EAASX,UAC7B6D,EAAMnC,QAAQgC,UAAUC,OAAOhD,EAASV,cAGxCoD,EAAiBG,EAAI7C,GAGrBJ,EAAU,oBAAqBiD,EAAI,CACjCM,KAAMD,EAAMP,IACZ5B,QAASmC,EAAMnC,QACff,SAAUA,IAjBM,CAmBpB,EAOIoD,EAAiB,SAAUT,EAAK3C,GAElC,GAAKA,EAAST,OAAd,CAGA,IAAIsD,EAAKF,EAAIC,WAAWE,QAAQ,MAC3BD,IAGLA,EAAGE,UAAUM,IAAIrD,EAASR,aAG1B4D,EAAeP,EAAI7C,GAVS,CAW9B,EA6LA,OA1JkB,SAAUsD,EAAUC,GAKpC,IACIC,EAAU7C,EAAU8C,EAASC,EAAS1D,EADtC2D,EAAa,CAUjBA,MAAmB,WAEjBH,EAAWhC,SAASoC,iBAAiBN,GAGrC3C,EAAW,GAGXkD,MAAMC,UAAUC,QAAQC,KAAKR,GAAU,SAAUjB,GAE/C,IAAIxB,EAAUS,SAASyC,eACrBC,mBAAmB3B,EAAK4B,KAAKC,OAAO,KAEjCrD,GAGLJ,EAAS0D,KAAK,CACZ1B,IAAKJ,EACLxB,QAASA,GAEb,IAGAL,EAAaC,EACf,EAKAgD,OAAoB,WAElB,IAAIW,EAASlC,EAAUzB,EAAUX,GAG5BsE,EASDb,GAAWa,EAAOvD,UAAY0C,EAAQ1C,UAG1CkC,EAAWQ,EAASzD,GAzFT,SAAUkD,EAAOlD,GAE9B,GAAKkD,EAAL,CAGA,IAAIL,EAAKK,EAAMP,IAAIG,QAAQ,MACtBD,IAGLA,EAAGE,UAAUM,IAAIrD,EAASX,UAC1B6D,EAAMnC,QAAQgC,UAAUM,IAAIrD,EAASV,cAGrC8D,EAAeP,EAAI7C,GAGnBJ,EAAU,kBAAmBiD,EAAI,CAC/BM,KAAMD,EAAMP,IACZ5B,QAASmC,EAAMnC,QACff,SAAUA,IAjBM,CAmBpB,CAqEIuE,CAASD,EAAQtE,GAGjByD,EAAUa,GAfJb,IACFR,EAAWQ,EAASzD,GACpByD,EAAU,KAchB,GAMIe,EAAgB,SAAUvE,GAExByD,GACFxE,EAAOuF,qBAAqBf,GAI9BA,EAAUxE,EAAOwF,sBAAsBf,EAAWgB,OACpD,EAMIC,EAAgB,SAAU3E,GAExByD,GACFxE,EAAOuF,qBAAqBf,GAI9BA,EAAUxE,EAAOwF,uBAAsB,WACrChE,EAAaC,GACbgD,EAAWgB,QACb,GACF,EAkDA,OA7CAhB,EAAWkB,QAAU,WAEfpB,GACFR,EAAWQ,EAASzD,GAItBd,EAAO4F,oBAAoB,SAAUN,GAAe,GAChDxE,EAASN,QACXR,EAAO4F,oBAAoB,SAAUF,GAAe,GAItDjE,EAAW,KACX6C,EAAW,KACXC,EAAU,KACVC,EAAU,KACV1D,EAAW,IACb,EAOEA,EA3XS,WACX,IAAI+E,EAAS,CAAC,EAOd,OANAlB,MAAMC,UAAUC,QAAQC,KAAKgB,WAAW,SAAUC,GAChD,IAAK,IAAIC,KAAOD,EAAK,CACnB,IAAKA,EAAIE,eAAeD,GAAM,OAC9BH,EAAOG,GAAOD,EAAIC,EACpB,CACF,IACOH,CACT,CAkXeK,CAAOhG,EAAUmE,GAAW,CAAC,GAGxCI,EAAW0B,QAGX1B,EAAWgB,SAGXzF,EAAOoG,iBAAiB,SAAUd,GAAe,GAC7CxE,EAASN,QACXR,EAAOoG,iBAAiB,SAAUV,GAAe,GAS9CjB,CACT,CAOF,CArcW4B,CAAQvG,EAChB,UAFM,SAEN,uBCXDwG,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,CAAC,GAOX,OAHAE,EAAoBL,GAAU1B,KAAK8B,EAAOD,QAASC,EAAQA,EAAOD,QAASJ,GAGpEK,EAAOD,OACf,CCrBAJ,EAAoBO,EAAKF,IACxB,IAAIG,EAASH,GAAUA,EAAOI,WAC7B,IAAOJ,EAAiB,QACxB,IAAM,EAEP,OADAL,EAAoBU,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdR,EAAoBU,EAAI,CAACN,EAASQ,KACjC,IAAI,IAAInB,KAAOmB,EACXZ,EAAoBa,EAAED,EAAYnB,KAASO,EAAoBa,EAAET,EAASX,IAC5EqB,OAAOC,eAAeX,EAASX,EAAK,CAAEuB,YAAY,EAAMC,IAAKL,EAAWnB,IAE1E,ECNDO,EAAoBxG,EAAI,WACvB,GAA0B,iBAAf0H,WAAyB,OAAOA,WAC3C,IACC,OAAOxH,MAAQ,IAAIyH,SAAS,cAAb,EAChB,CAAE,MAAOC,GACR,GAAsB,iBAAX3H,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBuG,EAAoBa,EAAI,CAACrB,EAAK6B,IAAUP,OAAOzC,UAAUqB,eAAenB,KAAKiB,EAAK6B,4CCK9EC,EAAY,KACZC,EAAS,KACTC,EAAgB/H,OAAO6C,aAAeP,SAASC,gBAAgByF,UACnE,MAAMC,EAAmB,GA2EzB,SAASC,IACP,MAAMC,EAAeC,aAAaC,QAAQ,UAAY,OAZxD,IAAkBC,EACH,WADGA,EAaItI,OAAOuI,WAAW,gCAAgCC,QAI/C,SAAjBL,EACO,QACgB,SAAhBA,EACA,OAEA,OAIU,SAAjBA,EACO,OACgB,QAAhBA,EACA,QAEA,SA9BoB,SAATG,GAA4B,SAATA,IACzCG,QAAQC,MAAM,2BAA2BJ,yBACzCA,EAAO,QAGThG,SAASS,KAAK4F,QAAQC,MAAQN,EAC9BF,aAAaS,QAAQ,QAASP,GAC9BG,QAAQK,IAAI,cAAcR,UA0B5B,CAkDA,SAASnC,KART,WAEE,MAAM4C,EAAUzG,SAAS0G,uBAAuB,gBAChDrE,MAAMsE,KAAKF,GAASlE,SAASqE,IAC3BA,EAAI9C,iBAAiB,QAAS8B,EAAe,GAEjD,CAGEiB,GA9CF,WAEE,IAAIC,EAA6B,EAC7BC,GAAU,EAEdrJ,OAAOoG,iBAAiB,UAAU,SAAUuB,GAC1CyB,EAA6BpJ,OAAOsJ,QAE/BD,IACHrJ,OAAOwF,uBAAsB,WAzDnC,IAAuB+D,IA0DDH,EA9GkC,GAAlDzG,KAAK6G,MAAM1B,EAAO7F,wBAAwBQ,KAC5CqF,EAAOjE,UAAUM,IAAI,YAErB2D,EAAOjE,UAAUC,OAAO,YAI5B,SAAmCyF,GAC7BA,EAAYtB,EACd3F,SAASC,gBAAgBsB,UAAUC,OAAO,oBAEtCyF,EAAYxB,EACdzF,SAASC,gBAAgBsB,UAAUM,IAAI,oBAC9BoF,EAAYxB,GACrBzF,SAASC,gBAAgBsB,UAAUC,OAAO,oBAG9CiE,EAAgBwB,CAClB,CAoCEE,CAA0BF,GAlC5B,SAA6BA,GACT,OAAd1B,IAKa,GAAb0B,EACF1B,EAAU6B,SAAS,EAAG,GAGtB/G,KAAKC,KAAK2G,IACV5G,KAAK6G,MAAMlH,SAASC,gBAAgBS,aAAehD,OAAOqC,aAE1DwF,EAAU6B,SAAS,EAAG7B,EAAU7E,cAGhBV,SAASqH,cAAc,mBAc3C,CAKEC,CAAoBL,GAwDdF,GAAU,CACZ,IAEAA,GAAU,EAEd,IACArJ,OAAO6J,QACT,CA6BEC,GA1BkB,OAAdjC,GAKJ,IAAI,IAAJ,CAAY,cAAe,CACzBrH,QAAQ,EACRuJ,WAAW,EACX5J,SAAU,iBACVI,OAAQ,KACN,IAAIyJ,EAAM9H,WAAW+H,iBAAiB3H,SAASC,iBAAiB2H,UAChE,OAAOpC,EAAO7F,wBAAwBkI,OAAS,GAAMH,EAAM,CAAC,GAiBlE,CAcA1H,SAAS8D,iBAAiB,oBAT1B,WACE9D,SAASS,KAAKW,WAAWG,UAAUC,OAAO,SAE1CgE,EAASxF,SAASqH,cAAc,UAChC9B,EAAYvF,SAASqH,cAAc,eAEnCxD,GACF","sources":["webpack:///./src/furo/assets/scripts/gumshoe-patched.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./src/furo/assets/scripts/furo.js"],"sourcesContent":["/*!\n * gumshoejs v5.1.2 (patched by @pradyunsg)\n * A simple, framework-agnostic scrollspy script.\n * (c) 2019 Chris Ferdinandi\n * MIT License\n * http://github.com/cferdinandi/gumshoe\n */\n\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else {\n root.Gumshoe = factory(root);\n }\n})(\n typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : this,\n function (window) {\n \"use strict\";\n\n //\n // Defaults\n //\n\n var defaults = {\n // Active classes\n navClass: \"active\",\n contentClass: \"active\",\n\n // Nested navigation\n nested: false,\n nestedClass: \"active\",\n\n // Offset & reflow\n offset: 0,\n reflow: false,\n\n // Event support\n events: true,\n };\n\n //\n // Methods\n //\n\n /**\n * Merge two or more objects together.\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n var extend = function () {\n var merged = {};\n Array.prototype.forEach.call(arguments, function (obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) return;\n merged[key] = obj[key];\n }\n });\n return merged;\n };\n\n /**\n * Emit a custom event\n * @param {String} type The event type\n * @param {Node} elem The element to attach the event to\n * @param {Object} detail Any details to pass along with the event\n */\n var emitEvent = function (type, elem, detail) {\n // Make sure events are enabled\n if (!detail.settings.events) return;\n\n // Create a new event\n var event = new CustomEvent(type, {\n bubbles: true,\n cancelable: true,\n detail: detail,\n });\n\n // Dispatch the event\n elem.dispatchEvent(event);\n };\n\n /**\n * Get an element's distance from the top of the Document.\n * @param {Node} elem The element\n * @return {Number} Distance from the top in pixels\n */\n var getOffsetTop = function (elem) {\n var location = 0;\n if (elem.offsetParent) {\n while (elem) {\n location += elem.offsetTop;\n elem = elem.offsetParent;\n }\n }\n return location >= 0 ? location : 0;\n };\n\n /**\n * Sort content from first to last in the DOM\n * @param {Array} contents The content areas\n */\n var sortContents = function (contents) {\n if (contents) {\n contents.sort(function (item1, item2) {\n var offset1 = getOffsetTop(item1.content);\n var offset2 = getOffsetTop(item2.content);\n if (offset1 < offset2) return -1;\n return 1;\n });\n }\n };\n\n /**\n * Get the offset to use for calculating position\n * @param {Object} settings The settings for this instantiation\n * @return {Float} The number of pixels to offset the calculations\n */\n var getOffset = function (settings) {\n // if the offset is a function run it\n if (typeof settings.offset === \"function\") {\n return parseFloat(settings.offset());\n }\n\n // Otherwise, return it as-is\n return parseFloat(settings.offset);\n };\n\n /**\n * Get the document element's height\n * @private\n * @returns {Number}\n */\n var getDocumentHeight = function () {\n return Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight,\n );\n };\n\n /**\n * Determine if an element is in view\n * @param {Node} elem The element\n * @param {Object} settings The settings for this instantiation\n * @param {Boolean} bottom If true, check if element is above bottom of viewport instead\n * @return {Boolean} Returns true if element is in the viewport\n */\n var isInView = function (elem, settings, bottom) {\n var bounds = elem.getBoundingClientRect();\n var offset = getOffset(settings);\n if (bottom) {\n return (\n parseInt(bounds.bottom, 10) <\n (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n return parseInt(bounds.top, 10) <= offset;\n };\n\n /**\n * Check if at the bottom of the viewport\n * @return {Boolean} If true, page is at the bottom of the viewport\n */\n var isAtBottom = function () {\n if (\n Math.ceil(window.innerHeight + window.pageYOffset) >=\n getDocumentHeight()\n )\n return true;\n return false;\n };\n\n /**\n * Check if the last item should be used (even if not at the top of the page)\n * @param {Object} item The last item\n * @param {Object} settings The settings for this instantiation\n * @return {Boolean} If true, use the last item\n */\n var useLastItem = function (item, settings) {\n if (isAtBottom() && isInView(item.content, settings, true)) return true;\n return false;\n };\n\n /**\n * Get the active content\n * @param {Array} contents The content areas\n * @param {Object} settings The settings for this instantiation\n * @return {Object} The content area and matching navigation link\n */\n var getActive = function (contents, settings) {\n var last = contents[contents.length - 1];\n if (useLastItem(last, settings)) return last;\n for (var i = contents.length - 1; i >= 0; i--) {\n if (isInView(contents[i].content, settings)) return contents[i];\n }\n };\n\n /**\n * Deactivate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var deactivateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested || !nav.parentNode) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Remove the active class\n li.classList.remove(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n deactivateNested(li, settings);\n };\n\n /**\n * Deactivate a nav and content area\n * @param {Object} items The nav item and content to deactivate\n * @param {Object} settings The settings for this instantiation\n */\n var deactivate = function (items, settings) {\n // Make sure there are items to deactivate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Remove the active class from the nav and content\n li.classList.remove(settings.navClass);\n items.content.classList.remove(settings.contentClass);\n\n // Deactivate any parent navs in a nested navigation\n deactivateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeDeactivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Activate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var activateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Add the active class\n li.classList.add(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n activateNested(li, settings);\n };\n\n /**\n * Activate a nav and content area\n * @param {Object} items The nav item and content to activate\n * @param {Object} settings The settings for this instantiation\n */\n var activate = function (items, settings) {\n // Make sure there are items to activate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Add the active class to the nav and content\n li.classList.add(settings.navClass);\n items.content.classList.add(settings.contentClass);\n\n // Activate any parent navs in a nested navigation\n activateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeActivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Create the Constructor object\n * @param {String} selector The selector to use for navigation items\n * @param {Object} options User options and settings\n */\n var Constructor = function (selector, options) {\n //\n // Variables\n //\n\n var publicAPIs = {};\n var navItems, contents, current, timeout, settings;\n\n //\n // Methods\n //\n\n /**\n * Set variables from DOM elements\n */\n publicAPIs.setup = function () {\n // Get all nav items\n navItems = document.querySelectorAll(selector);\n\n // Create contents array\n contents = [];\n\n // Loop through each item, get it's matching content, and push to the array\n Array.prototype.forEach.call(navItems, function (item) {\n // Get the content for the nav item\n var content = document.getElementById(\n decodeURIComponent(item.hash.substr(1)),\n );\n if (!content) return;\n\n // Push to the contents array\n contents.push({\n nav: item,\n content: content,\n });\n });\n\n // Sort contents by the order they appear in the DOM\n sortContents(contents);\n };\n\n /**\n * Detect which content is currently active\n */\n publicAPIs.detect = function () {\n // Get the active content\n var active = getActive(contents, settings);\n\n // if there's no active content, deactivate and bail\n if (!active) {\n if (current) {\n deactivate(current, settings);\n current = null;\n }\n return;\n }\n\n // If the active content is the one currently active, do nothing\n if (current && active.content === current.content) return;\n\n // Deactivate the current content and activate the new content\n deactivate(current, settings);\n activate(active, settings);\n\n // Update the currently active content\n current = active;\n };\n\n /**\n * Detect the active content on scroll\n * Debounced for performance\n */\n var scrollHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(publicAPIs.detect);\n };\n\n /**\n * Update content sorting on resize\n * Debounced for performance\n */\n var resizeHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(function () {\n sortContents(contents);\n publicAPIs.detect();\n });\n };\n\n /**\n * Destroy the current instantiation\n */\n publicAPIs.destroy = function () {\n // Undo DOM changes\n if (current) {\n deactivate(current, settings);\n }\n\n // Remove event listeners\n window.removeEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.removeEventListener(\"resize\", resizeHandler, false);\n }\n\n // Reset variables\n contents = null;\n navItems = null;\n current = null;\n timeout = null;\n settings = null;\n };\n\n /**\n * Initialize the current instantiation\n */\n var init = function () {\n // Merge user options into defaults\n settings = extend(defaults, options || {});\n\n // Setup variables based on the current DOM\n publicAPIs.setup();\n\n // Find the currently active content\n publicAPIs.detect();\n\n // Setup event listeners\n window.addEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.addEventListener(\"resize\", resizeHandler, false);\n }\n };\n\n //\n // Initialize and return the public APIs\n //\n\n init();\n return publicAPIs;\n };\n\n //\n // Return the Constructor\n //\n\n return Constructor;\n },\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import Gumshoe from \"./gumshoe-patched.js\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Scroll Handling\n////////////////////////////////////////////////////////////////////////////////\nvar tocScroll = null;\nvar header = null;\nvar lastScrollTop = window.pageYOffset || document.documentElement.scrollTop;\nconst GO_TO_TOP_OFFSET = 64;\n\nfunction scrollHandlerForHeader() {\n if (Math.floor(header.getBoundingClientRect().top) == 0) {\n header.classList.add(\"scrolled\");\n } else {\n header.classList.remove(\"scrolled\");\n }\n}\n\nfunction scrollHandlerForBackToTop(positionY) {\n if (positionY < GO_TO_TOP_OFFSET) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n } else {\n if (positionY < lastScrollTop) {\n document.documentElement.classList.add(\"show-back-to-top\");\n } else if (positionY > lastScrollTop) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n }\n }\n lastScrollTop = positionY;\n}\n\nfunction scrollHandlerForTOC(positionY) {\n if (tocScroll === null) {\n return;\n }\n\n // top of page.\n if (positionY == 0) {\n tocScroll.scrollTo(0, 0);\n } else if (\n // bottom of page.\n Math.ceil(positionY) >=\n Math.floor(document.documentElement.scrollHeight - window.innerHeight)\n ) {\n tocScroll.scrollTo(0, tocScroll.scrollHeight);\n } else {\n // somewhere in the middle.\n const current = document.querySelector(\".scroll-current\");\n if (current == null) {\n return;\n }\n\n // https://github.com/pypa/pip/issues/9159 This breaks scroll behaviours.\n // // scroll the currently \"active\" heading in toc, into view.\n // const rect = current.getBoundingClientRect();\n // if (0 > rect.top) {\n // current.scrollIntoView(true); // the argument is \"alignTop\"\n // } else if (rect.bottom > window.innerHeight) {\n // current.scrollIntoView(false);\n // }\n }\n}\n\nfunction scrollHandler(positionY) {\n scrollHandlerForHeader();\n scrollHandlerForBackToTop(positionY);\n scrollHandlerForTOC(positionY);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Theme Toggle\n////////////////////////////////////////////////////////////////////////////////\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n document.body.dataset.theme = mode;\n localStorage.setItem(\"theme\", mode);\n console.log(`Changed to ${mode} mode.`);\n}\n\nfunction cycleThemeOnce() {\n const currentTheme = localStorage.getItem(\"theme\") || \"auto\";\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n\n if (prefersDark) {\n // Auto (dark) -> Light -> Dark\n if (currentTheme === \"auto\") {\n setTheme(\"light\");\n } else if (currentTheme == \"light\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"auto\");\n }\n } else {\n // Auto (light) -> Dark -> Light\n if (currentTheme === \"auto\") {\n setTheme(\"dark\");\n } else if (currentTheme == \"dark\") {\n setTheme(\"light\");\n } else {\n setTheme(\"auto\");\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Setup\n////////////////////////////////////////////////////////////////////////////////\nfunction setupScrollHandler() {\n // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event\n let last_known_scroll_position = 0;\n let ticking = false;\n\n window.addEventListener(\"scroll\", function (e) {\n last_known_scroll_position = window.scrollY;\n\n if (!ticking) {\n window.requestAnimationFrame(function () {\n scrollHandler(last_known_scroll_position);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n window.scroll();\n}\n\nfunction setupScrollSpy() {\n if (tocScroll === null) {\n return;\n }\n\n // Scrollspy -- highlight table on contents, based on scroll\n new Gumshoe(\".toc-tree a\", {\n reflow: true,\n recursive: true,\n navClass: \"scroll-current\",\n offset: () => {\n let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return header.getBoundingClientRect().height + 0.5 * rem + 1;\n },\n });\n}\n\nfunction setupTheme() {\n // Attach event handlers for toggling themes\n const buttons = document.getElementsByClassName(\"theme-toggle\");\n Array.from(buttons).forEach((btn) => {\n btn.addEventListener(\"click\", cycleThemeOnce);\n });\n}\n\nfunction setup() {\n setupTheme();\n setupScrollHandler();\n setupScrollSpy();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Main entrypoint\n////////////////////////////////////////////////////////////////////////////////\nfunction main() {\n document.body.parentNode.classList.remove(\"no-js\");\n\n header = document.querySelector(\"header\");\n tocScroll = document.querySelector(\".toc-scroll\");\n\n setup();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", main);\n"],"names":["root","g","window","this","defaults","navClass","contentClass","nested","nestedClass","offset","reflow","events","emitEvent","type","elem","detail","settings","event","CustomEvent","bubbles","cancelable","dispatchEvent","getOffsetTop","location","offsetParent","offsetTop","sortContents","contents","sort","item1","item2","content","isInView","bottom","bounds","getBoundingClientRect","parseFloat","getOffset","parseInt","innerHeight","document","documentElement","clientHeight","top","isAtBottom","Math","ceil","pageYOffset","max","body","scrollHeight","offsetHeight","getActive","last","length","item","useLastItem","i","deactivateNested","nav","parentNode","li","closest","classList","remove","deactivate","items","link","activateNested","add","selector","options","navItems","current","timeout","publicAPIs","querySelectorAll","Array","prototype","forEach","call","getElementById","decodeURIComponent","hash","substr","push","active","activate","scrollHandler","cancelAnimationFrame","requestAnimationFrame","detect","resizeHandler","destroy","removeEventListener","merged","arguments","obj","key","hasOwnProperty","extend","setup","addEventListener","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","globalThis","Function","e","prop","tocScroll","header","lastScrollTop","scrollTop","GO_TO_TOP_OFFSET","cycleThemeOnce","currentTheme","localStorage","getItem","mode","matchMedia","matches","console","error","dataset","theme","setItem","log","buttons","getElementsByClassName","from","btn","setupTheme","last_known_scroll_position","ticking","scrollY","positionY","floor","scrollHandlerForBackToTop","scrollTo","querySelector","scrollHandlerForTOC","scroll","setupScrollHandler","recursive","rem","getComputedStyle","fontSize","height"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/searchtools.js b/_static/searchtools.js new file mode 100644 index 0000000..97d56a7 --- /dev/null +++ b/_static/searchtools.js @@ -0,0 +1,566 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = docUrlRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = docUrlRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms) + ); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + /** + * execute search (requires search index to be loaded) + */ + query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + // array of [docname, title, anchor, descr, score, filename] + let results = []; + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // lookup as object + objectTerms.forEach((term) => + results.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + + // now sort the results by score (in opposite order of appearance, since the + // display function below uses pop() to retrieve items) and then + // alphabetically + results.sort((a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; + }); + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + results = results.reverse(); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord) && !terms[word]) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord) && !titleTerms[word]) + arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); + }); + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) + fileMap.get(file).push(word); + else fileMap.set(file, [word]); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords) => { + const text = Search.htmlToText(htmlText); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/_static/skeleton.css b/_static/skeleton.css new file mode 100644 index 0000000..467c878 --- /dev/null +++ b/_static/skeleton.css @@ -0,0 +1,296 @@ +/* Some sane resets. */ +html { + height: 100%; +} + +body { + margin: 0; + min-height: 100%; +} + +/* All the flexbox magic! */ +body, +.sb-announcement, +.sb-content, +.sb-main, +.sb-container, +.sb-container__inner, +.sb-article-container, +.sb-footer-content, +.sb-header, +.sb-header-secondary, +.sb-footer { + display: flex; +} + +/* These order things vertically */ +body, +.sb-main, +.sb-article-container { + flex-direction: column; +} + +/* Put elements in the center */ +.sb-header, +.sb-header-secondary, +.sb-container, +.sb-content, +.sb-footer, +.sb-footer-content { + justify-content: center; +} +/* Put elements at the ends */ +.sb-article-container { + justify-content: space-between; +} + +/* These elements grow. */ +.sb-main, +.sb-content, +.sb-container, +article { + flex-grow: 1; +} + +/* Because padding making this wider is not fun */ +article { + box-sizing: border-box; +} + +/* The announcements element should never be wider than the page. */ +.sb-announcement { + max-width: 100%; +} + +.sb-sidebar-primary, +.sb-sidebar-secondary { + flex-shrink: 0; + width: 17rem; +} + +.sb-announcement__inner { + justify-content: center; + + box-sizing: border-box; + height: 3rem; + + overflow-x: auto; + white-space: nowrap; +} + +/* Sidebars, with checkbox-based toggle */ +.sb-sidebar-primary, +.sb-sidebar-secondary { + position: fixed; + height: 100%; + top: 0; +} + +.sb-sidebar-primary { + left: -17rem; + transition: left 250ms ease-in-out; +} +.sb-sidebar-secondary { + right: -17rem; + transition: right 250ms ease-in-out; +} + +.sb-sidebar-toggle { + display: none; +} +.sb-sidebar-overlay { + position: fixed; + top: 0; + width: 0; + height: 0; + + transition: width 0ms ease 250ms, height 0ms ease 250ms, opacity 250ms ease; + + opacity: 0; + background-color: rgba(0, 0, 0, 0.54); +} + +#sb-sidebar-toggle--primary:checked + ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--primary"], +#sb-sidebar-toggle--secondary:checked + ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--secondary"] { + width: 100%; + height: 100%; + opacity: 1; + transition: width 0ms ease, height 0ms ease, opacity 250ms ease; +} + +#sb-sidebar-toggle--primary:checked ~ .sb-container .sb-sidebar-primary { + left: 0; +} +#sb-sidebar-toggle--secondary:checked ~ .sb-container .sb-sidebar-secondary { + right: 0; +} + +/* Full-width mode */ +.drop-secondary-sidebar-for-full-width-content + .hide-when-secondary-sidebar-shown { + display: none !important; +} +.drop-secondary-sidebar-for-full-width-content .sb-sidebar-secondary { + display: none !important; +} + +/* Mobile views */ +.sb-page-width { + width: 100%; +} + +.sb-article-container, +.sb-footer-content__inner, +.drop-secondary-sidebar-for-full-width-content .sb-article, +.drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 100vw; +} + +.sb-article, +.match-content-width { + padding: 0 1rem; + box-sizing: border-box; +} + +@media (min-width: 32rem) { + .sb-article, + .match-content-width { + padding: 0 2rem; + } +} + +/* Tablet views */ +@media (min-width: 42rem) { + .sb-article-container { + width: auto; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 42rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} +@media (min-width: 46rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 46rem; + } + .sb-article, + .match-content-width { + width: 46rem; + } +} +@media (min-width: 50rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 50rem; + } + .sb-article, + .match-content-width { + width: 50rem; + } +} + +/* Tablet views */ +@media (min-width: 59rem) { + .sb-sidebar-secondary { + position: static; + } + .hide-when-secondary-sidebar-shown { + display: none !important; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 59rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} +@media (min-width: 63rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 63rem; + } + .sb-article, + .match-content-width { + width: 46rem; + } +} +@media (min-width: 67rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } + .sb-article, + .match-content-width { + width: 50rem; + } +} + +/* Desktop views */ +@media (min-width: 76rem) { + .sb-sidebar-primary { + position: static; + } + .hide-when-primary-sidebar-shown { + display: none !important; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 59rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} + +/* Full desktop views */ +@media (min-width: 80rem) { + .sb-article, + .match-content-width { + width: 46rem; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 63rem; + } +} + +@media (min-width: 84rem) { + .sb-article, + .match-content-width { + width: 50rem; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } +} + +@media (min-width: 88rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } + .sb-page-width { + width: 88rem; + } +} diff --git a/_static/sphinx_highlight.js b/_static/sphinx_highlight.js new file mode 100644 index 0000000..aae669d --- /dev/null +++ b/_static/sphinx_highlight.js @@ -0,0 +1,144 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + parent.insertBefore( + span, + parent.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '

" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(SphinxHighlight.highlightSearchWords); +_ready(SphinxHighlight.initEscapeListener); diff --git a/_static/styles/furo-extensions.css b/_static/styles/furo-extensions.css new file mode 100644 index 0000000..bc447f2 --- /dev/null +++ b/_static/styles/furo-extensions.css @@ -0,0 +1,2 @@ +#furo-sidebar-ad-placement{padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)}#furo-sidebar-ad-placement .ethical-sidebar{background:var(--color-background-secondary);border:none;box-shadow:none}#furo-sidebar-ad-placement .ethical-sidebar:hover{background:var(--color-background-hover)}#furo-sidebar-ad-placement .ethical-sidebar a{color:var(--color-foreground-primary)}#furo-sidebar-ad-placement .ethical-callout a{color:var(--color-foreground-secondary)!important}#furo-readthedocs-versions{background:transparent;display:block;position:static;width:100%}#furo-readthedocs-versions .rst-versions{background:#1a1c1e}#furo-readthedocs-versions .rst-current-version{background:var(--color-sidebar-item-background);cursor:unset}#furo-readthedocs-versions .rst-current-version:hover{background:var(--color-sidebar-item-background)}#furo-readthedocs-versions .rst-current-version .fa-book{color:var(--color-foreground-primary)}#furo-readthedocs-versions>.rst-other-versions{padding:0}#furo-readthedocs-versions>.rst-other-versions small{opacity:1}#furo-readthedocs-versions .injected .rst-versions{position:unset}#furo-readthedocs-versions:focus-within,#furo-readthedocs-versions:hover{box-shadow:0 0 0 1px var(--color-sidebar-background-border)}#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:hover .rst-current-version{background:#1a1c1e;font-size:inherit;height:auto;line-height:inherit;padding:12px;text-align:right}#furo-readthedocs-versions:focus-within .rst-current-version .fa-book,#furo-readthedocs-versions:hover .rst-current-version .fa-book{color:#fff;float:left}#furo-readthedocs-versions:focus-within .fa-caret-down,#furo-readthedocs-versions:hover .fa-caret-down{display:none}#furo-readthedocs-versions:focus-within .injected,#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:focus-within .rst-other-versions,#furo-readthedocs-versions:hover .injected,#furo-readthedocs-versions:hover .rst-current-version,#furo-readthedocs-versions:hover .rst-other-versions{display:block}#furo-readthedocs-versions:focus-within>.rst-current-version,#furo-readthedocs-versions:hover>.rst-current-version{display:none}.highlight:hover button.copybtn{color:var(--color-code-foreground)}.highlight button.copybtn{align-items:center;background-color:var(--color-code-background);border:none;color:var(--color-background-item);cursor:pointer;height:1.25em;opacity:1;right:.5rem;top:.625rem;transition:color .3s,opacity .3s;width:1.25em}.highlight button.copybtn:hover{background-color:var(--color-code-background);color:var(--color-brand-content)}.highlight button.copybtn:after{background-color:transparent;color:var(--color-code-foreground);display:none}.highlight button.copybtn.success{color:#22863a;transition:color 0ms}.highlight button.copybtn.success:after{display:block}.highlight button.copybtn svg{padding:0}body{--sd-color-primary:var(--color-brand-primary);--sd-color-primary-highlight:var(--color-brand-content);--sd-color-primary-text:var(--color-background-primary);--sd-color-shadow:rgba(0,0,0,.05);--sd-color-card-border:var(--color-card-border);--sd-color-card-border-hover:var(--color-brand-content);--sd-color-card-background:var(--color-card-background);--sd-color-card-text:var(--color-foreground-primary);--sd-color-card-header:var(--color-card-marginals-background);--sd-color-card-footer:var(--color-card-marginals-background);--sd-color-tabs-label-active:var(--color-brand-content);--sd-color-tabs-label-hover:var(--color-foreground-muted);--sd-color-tabs-label-inactive:var(--color-foreground-muted);--sd-color-tabs-underline-active:var(--color-brand-content);--sd-color-tabs-underline-hover:var(--color-foreground-border);--sd-color-tabs-underline-inactive:var(--color-background-border);--sd-color-tabs-overline:var(--color-background-border);--sd-color-tabs-underline:var(--color-background-border)}.sd-tab-content{box-shadow:0 -2px var(--sd-color-tabs-overline),0 1px var(--sd-color-tabs-underline)}.sd-card{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)}.sd-shadow-sm{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-md{box-shadow:0 .3rem .75rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-lg{box-shadow:0 .6rem 1.5rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-card-hover:hover{transform:none}.sd-cards-carousel{gap:.25rem;padding:.25rem}body{--tabs--label-text:var(--color-foreground-muted);--tabs--label-text--hover:var(--color-foreground-muted);--tabs--label-text--active:var(--color-brand-content);--tabs--label-text--active--hover:var(--color-brand-content);--tabs--label-background:transparent;--tabs--label-background--hover:transparent;--tabs--label-background--active:transparent;--tabs--label-background--active--hover:transparent;--tabs--padding-x:0.25em;--tabs--margin-x:1em;--tabs--border:var(--color-background-border);--tabs--label-border:transparent;--tabs--label-border--hover:var(--color-foreground-muted);--tabs--label-border--active:var(--color-brand-content);--tabs--label-border--active--hover:var(--color-brand-content)}[role=main] .container{max-width:none;padding-left:0;padding-right:0}.shadow.docutils{border:none;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)!important}.sphinx-bs .card{background-color:var(--color-background-secondary);color:var(--color-foreground)} +/*# sourceMappingURL=furo-extensions.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo-extensions.css.map b/_static/styles/furo-extensions.css.map new file mode 100644 index 0000000..9ba5637 --- /dev/null +++ b/_static/styles/furo-extensions.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/furo-extensions.css","mappings":"AAGA,2BACE,oFACA,4CAKE,6CAHA,YACA,eAEA,CACA,kDACE,yCAEF,8CACE,sCAEJ,8CACE,kDAEJ,2BAGE,uBACA,cAHA,gBACA,UAEA,CAGA,yCACE,mBAEF,gDAEE,gDADA,YACA,CACA,sDACE,gDACF,yDACE,sCAEJ,+CACE,UACA,qDACE,UAGF,mDACE,eAEJ,yEAEE,4DAEA,mHASE,mBAPA,kBAEA,YADA,oBAGA,aADA,gBAIA,CAEA,qIAEE,WADA,UACA,CAEJ,uGACE,aAEF,iUAGE,cAEF,mHACE,aC1EJ,gCACE,mCAEF,0BAKE,mBAUA,8CACA,YAFA,mCAKA,eAZA,cALA,UASA,YADA,YAYA,iCAdA,YAcA,CAEA,gCAEE,8CADA,gCACA,CAEF,gCAGE,6BADA,mCADA,YAEA,CAEF,kCAEE,cADA,oBACA,CACA,wCACE,cAEJ,8BACE,UC5CN,KAEE,6CAA8C,CAC9C,uDAAwD,CACxD,uDAAwD,CAGxD,iCAAsC,CAGtC,+CAAgD,CAChD,uDAAwD,CACxD,uDAAwD,CACxD,oDAAqD,CACrD,6DAA8D,CAC9D,6DAA8D,CAG9D,uDAAwD,CACxD,yDAA0D,CAC1D,4DAA6D,CAC7D,2DAA4D,CAC5D,8DAA+D,CAC/D,iEAAkE,CAClE,uDAAwD,CACxD,wDAAyD,CAG3D,gBACE,qFAGF,SACE,6EAEF,cACE,uFAEF,cACE,uFAEF,cACE,uFAGF,qBACE,eAEF,mBACE,WACA,eChDF,KACE,gDAAiD,CACjD,uDAAwD,CACxD,qDAAsD,CACtD,4DAA6D,CAC7D,oCAAqC,CACrC,2CAA4C,CAC5C,4CAA6C,CAC7C,mDAAoD,CACpD,wBAAyB,CACzB,oBAAqB,CACrB,6CAA8C,CAC9C,gCAAiC,CACjC,yDAA0D,CAC1D,uDAAwD,CACxD,8DAA+D,CCbjE,uBACE,eACA,eACA,gBAGF,iBACE,YACA,+EAGF,iBACE,mDACA","sources":["webpack:///./src/furo/assets/styles/extensions/_readthedocs.sass","webpack:///./src/furo/assets/styles/extensions/_copybutton.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-design.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-inline-tabs.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-panels.sass"],"sourcesContent":["// This file contains the styles used for tweaking how ReadTheDoc's embedded\n// contents would show up inside the theme.\n\n#furo-sidebar-ad-placement\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n .ethical-sidebar\n // Remove the border and box-shadow.\n border: none\n box-shadow: none\n // Manage the background colors.\n background: var(--color-background-secondary)\n &:hover\n background: var(--color-background-hover)\n // Ensure the text is legible.\n a\n color: var(--color-foreground-primary)\n\n .ethical-callout a\n color: var(--color-foreground-secondary) !important\n\n#furo-readthedocs-versions\n position: static\n width: 100%\n background: transparent\n display: block\n\n // Make the background color fit with the theme's aesthetic.\n .rst-versions\n background: rgb(26, 28, 30)\n\n .rst-current-version\n cursor: unset\n background: var(--color-sidebar-item-background)\n &:hover\n background: var(--color-sidebar-item-background)\n .fa-book\n color: var(--color-foreground-primary)\n\n > .rst-other-versions\n padding: 0\n small\n opacity: 1\n\n .injected\n .rst-versions\n position: unset\n\n &:hover,\n &:focus-within\n box-shadow: 0 0 0 1px var(--color-sidebar-background-border)\n\n .rst-current-version\n // Undo the tweaks done in RTD's CSS\n font-size: inherit\n line-height: inherit\n height: auto\n text-align: right\n padding: 12px\n\n // Match the rest of the body\n background: #1a1c1e\n\n .fa-book\n float: left\n color: white\n\n .fa-caret-down\n display: none\n\n .rst-current-version,\n .rst-other-versions,\n .injected\n display: block\n\n > .rst-current-version\n display: none\n",".highlight\n &:hover button.copybtn\n color: var(--color-code-foreground)\n\n button.copybtn\n // Make it visible\n opacity: 1\n\n // Align things correctly\n align-items: center\n\n height: 1.25em\n width: 1.25em\n\n top: 0.625rem // $code-spacing-vertical\n right: 0.5rem\n\n // Make it look better\n color: var(--color-background-item)\n background-color: var(--color-code-background)\n border: none\n\n // Change to cursor to make it obvious that you can click on it\n cursor: pointer\n\n // Transition smoothly, for aesthetics\n transition: color 300ms, opacity 300ms\n\n &:hover\n color: var(--color-brand-content)\n background-color: var(--color-code-background)\n\n &::after\n display: none\n color: var(--color-code-foreground)\n background-color: transparent\n\n &.success\n transition: color 0ms\n color: #22863a\n &::after\n display: block\n\n svg\n padding: 0\n","body\n // Colors\n --sd-color-primary: var(--color-brand-primary)\n --sd-color-primary-highlight: var(--color-brand-content)\n --sd-color-primary-text: var(--color-background-primary)\n\n // Shadows\n --sd-color-shadow: rgba(0, 0, 0, 0.05)\n\n // Cards\n --sd-color-card-border: var(--color-card-border)\n --sd-color-card-border-hover: var(--color-brand-content)\n --sd-color-card-background: var(--color-card-background)\n --sd-color-card-text: var(--color-foreground-primary)\n --sd-color-card-header: var(--color-card-marginals-background)\n --sd-color-card-footer: var(--color-card-marginals-background)\n\n // Tabs\n --sd-color-tabs-label-active: var(--color-brand-content)\n --sd-color-tabs-label-hover: var(--color-foreground-muted)\n --sd-color-tabs-label-inactive: var(--color-foreground-muted)\n --sd-color-tabs-underline-active: var(--color-brand-content)\n --sd-color-tabs-underline-hover: var(--color-foreground-border)\n --sd-color-tabs-underline-inactive: var(--color-background-border)\n --sd-color-tabs-overline: var(--color-background-border)\n --sd-color-tabs-underline: var(--color-background-border)\n\n// Tabs\n.sd-tab-content\n box-shadow: 0 -2px var(--sd-color-tabs-overline), 0 1px var(--sd-color-tabs-underline)\n\n// Shadows\n.sd-card // Have a shadow by default\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n.sd-shadow-sm\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-md\n box-shadow: 0 0.3rem 0.75rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-lg\n box-shadow: 0 0.6rem 1.5rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Cards\n.sd-card-hover:hover // Don't change scale on hover\n transform: none\n\n.sd-cards-carousel // Have a bit of gap in the carousel by default\n gap: 0.25rem\n padding: 0.25rem\n","// This file contains styles to tweak sphinx-inline-tabs to work well with Furo.\n\nbody\n --tabs--label-text: var(--color-foreground-muted)\n --tabs--label-text--hover: var(--color-foreground-muted)\n --tabs--label-text--active: var(--color-brand-content)\n --tabs--label-text--active--hover: var(--color-brand-content)\n --tabs--label-background: transparent\n --tabs--label-background--hover: transparent\n --tabs--label-background--active: transparent\n --tabs--label-background--active--hover: transparent\n --tabs--padding-x: 0.25em\n --tabs--margin-x: 1em\n --tabs--border: var(--color-background-border)\n --tabs--label-border: transparent\n --tabs--label-border--hover: var(--color-foreground-muted)\n --tabs--label-border--active: var(--color-brand-content)\n --tabs--label-border--active--hover: var(--color-brand-content)\n","// This file contains styles to tweak sphinx-panels to work well with Furo.\n\n// sphinx-panels includes Bootstrap 4, which uses .container which can conflict\n// with docutils' `.. container::` directive.\n[role=\"main\"] .container\n max-width: initial\n padding-left: initial\n padding-right: initial\n\n// Make the panels look nicer!\n.shadow.docutils\n border: none\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Make panel colors respond to dark mode\n.sphinx-bs .card\n background-color: var(--color-background-secondary)\n color: var(--color-foreground)\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/styles/furo.css b/_static/styles/furo.css new file mode 100644 index 0000000..3d29a21 --- /dev/null +++ b/_static/styles/furo.css @@ -0,0 +1,2 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#646776;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2962ff;--color-brand-content:#2a5adf;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link--hover:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link-underline--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto,body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link);text-decoration-color:var(--color-link-underline--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{background:var(--color-background-primary);color:var(--color-foreground-primary);height:100%}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{vertical-align:middle}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1rem;vertical-align:middle;width:1rem}.theme-toggle-header{float:left;padding:1rem .5rem}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1rem;width:1rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg{color:inherit;height:1rem;width:1rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{fill:currentColor;display:inline-block;height:1rem;width:1rem}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.theme-toggle-header{display:block}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.25rem;width:1.25rem}:target{scroll-margin-top:var(--header-height)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:3.5rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}.versionmodified{font-style:italic}div.deprecated p,div.versionadded p,div.versionchanged p{margin-bottom:.125rem;margin-top:.125rem}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>p,div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23607D8B' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 0h24v24H0z' stroke='none'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree .reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling.Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} +/*# sourceMappingURL=furo.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo.css.map b/_static/styles/furo.css.map new file mode 100644 index 0000000..1924b33 --- /dev/null +++ b/_static/styles/furo.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/furo.css","mappings":"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F,kBACA,CACE,wEACA,CARA,YACA,CAKF,mBAFF,MACE,CAIE,gBAJF,iCAJE,cAGJ,CANI,oBAEA,CAKF,SAIE,2BADA,UACA,kBAGF,sCACA,CAFF,WACE,WACA,mBACE,kDACA,0EACA,uDAKJ,aACE,mDAII,CAJJ,6CAII,4BACA,sCACE,kEACA,+CACE,aACA,WADA,+BACA,uEANN,YACE,mDAEE,mBADF,0CACE,CADF,qBACE,0DACA,YACE,4DACA,sEANN,YACE,8CACA,kBADA,UACA,2CACE,2EACA,cACE,kEACA,mEANN,yBACE,4DACA,sBACE,+EAEE,iEACA,qEANN,sCACE,CAGE,iBAHF,gBAGE,qBACE,CAJJ,uBACA,gDACE,wDACA,6DAHF,2CACA,CADA,gBACA,eACE,CAGE,sBANN,8BACE,CAII,iBAFF,4DACA,WACE,YADF,uCACE,6EACA,2BANN,8CACE,kDACA,0CACE,8BACA,yFACE,sBACA,sFALJ,mEACA,sBACE,kEACA,6EACE,uCACA,kEALJ,qGAEE,kEACA,6EACE,uCACA,kEALJ,8CACA,uDACE,sEACA,2EACE,sCACA,iEALJ,mGACA,qCACE,oDACA,0DACE,6GACA,gDAGR,yDCrEA,sEACE,CACA,6GACE,gEACF,iGAIF,wFACE,qDAGA,mGAEE,2CAEF,4FACE,gCACF,wGACE,8DAEE,6FAIA,iJAKN,6GACE,gDAKF,yDACA,qCAGA,6BACA,kBACA,qDAKA,oCAEA,+DAGA,2CAGE,oDAIA,oEAEE,qBAGJ,wDAEE,uCAEF,kEAGA,8CAEA,uDAKA,oCAEA,yDAEE,gEAKF,+CC5FA,0EAGE,CACA,qDCLJ,+DAIE,sCAIA,kEACE,yBACA,2FAMA,gBACA,yGCbF,mBAOA,2MAIA,4HAYA,0DACE,8GAYF,8HAQE,mBAEA,6HAOF,YAGA,mIAME,eACA,CAFF,YAEE,4FAMJ,8BAEE,uBAYA,sCAEE,CAJF,oBAEA,CARA,wCAEA,CAHA,8BACA,CAFA,eACA,CAGA,wCAEA,CAEA,mDAIE,kCACE,6BACA,4CAKJ,kDAIA,eACE,aAGF,8BACE,uDACA,sCACA,cAEA,+BACA,CAFA,eAEA,wCAEF,YACE,iBACA,mCACA,0DAGF,qBAEE,CAFF,kBAEE,+BAIA,yCAEE,qBADA,gBACA,yBAKF,eACA,CAFF,YACE,CACA,iBACA,qDAEA,mDCvIJ,2FAOE,iCACA,CAEA,eACA,CAHA,kBAEA,CAFA,wBAGA,8BACA,eACE,CAFF,YAEE,0BACA,8CAGA,oBACE,oCAGA,kBACE,8DAEA,iBAEN,UACE,8BAIJ,+CAEE,qDAEF,kDAIE,YAEF,CAFE,YAEF,CCjCE,mFAJA,QACA,UAIE,CADF,iBACE,mCAGA,iDACE,+BAGF,wBAEA,mBAKA,6CAEF,CAHE,mBACA,CAEF,kCAIE,CARA,kBACA,CAFF,eASE,YACA,mBAGF,CAJE,UAIF,wCCjCA,oBDmCE,wBCpCJ,uCACE,8BACA,4CACA,oBAGA,2CCAA,6CAGE,CAPF,uBAIA,CDGA,gDACE,6BCVJ,CAWM,2CAEF,CAJA,kCAEE,CDJF,aCLF,gBDKE,uBCMA,gCAGA,gDAGE,wBAGJ,0BAEA,iBACE,aACF,CADE,UACF,uBACE,aACF,oBACE,YACF,4BACE,6CAMA,CAYF,6DAZE,mCAGE,iCASJ,4BAGE,4DADA,+BACA,CAFA,qBAEA,yBACE,aAEF,wBAHA,SAGA,iHACE,2DAKF,CANA,yCACE,CADF,oCAMA,uSAIA,sGACE,oDChEJ,WAEF,yBACE,QACA,eAEA,gBAEE,uCAGA,CALF,iCAKE,uCAGA,0BACA,CACA,oBACA,iCClBJ,gBACE,KAGF,qBACE,YAGF,CAHE,cAGF,gCAEE,mBACA,iEAEA,oCACA,wCAEA,sBACA,WAEA,CAFA,YAEA,8EAEA,mCAFA,iBAEA,6BAIA,wEAKA,sDAIE,CARF,mDAIA,CAIE,cAEF,8CAIA,oBAFE,iBAEF,8CAGE,eAEF,CAFE,YAEF,OAEE,kBAGJ,CAJI,eACA,CAFF,mBAKF,yCCjDE,oBACA,CAFA,iBAEA,uCAKE,iBACA,qCAGA,mBCZJ,CDWI,gBCXJ,6BAEE,eACA,sBAGA,eAEA,sBACA,oDACA,iGAMA,gBAFE,YAEF,8FAME,iJClBF,YACA,gNAUE,6BAEF,oTAcI,kBACF,gHAIA,qBACE,eACF,qDACE,kBACF,6DACE,4BCxCJ,oBAEF,qCAEI,+CAGF,uBACE,uDAGJ,oBAkBE,mDAhBA,+CAaA,CAbA,oBAaA,0FAEE,CAFF,gGAbA,+BAaA,0BAGA,mQAIA,oNAEE,iBAGJ,CAHI,gBADA,gBAIJ,8CAYI,CAZJ,wCAYI,sVACE,iCAGA,uEAHA,QAGA,qXAKJ,iDAGF,CARM,+CACE,iDAIN,CALI,gBAQN,mHACE,gBAGF,2DACE,0EAOA,0EAKA,6EC/EA,iDACA,gCACA,oDAGA,qBACA,oDCFA,cACA,eAEA,yBAGF,sBAEE,iBACA,sNAWA,iBACE,kBACA,wRAgBA,kBAEA,iOAgBA,uCACE,uEAEA,kBAEF,qUAuBE,iDAIJ,CACA,geCxFF,4BAEE,CAQA,6JACA,iDAIA,sEAGA,mDAOF,iDAGE,4DAIA,8CACA,qDAEE,eAFF,cAEE,oBAEF,uBAFE,kCAGA,eACA,iBACA,mBAIA,mDACA,CAHA,uCAEA,CAJA,0CACA,CAIA,gBAJA,gBACA,oBADA,gBAIA,wBAEJ,gBAGE,6BACA,YAHA,iBAGA,gCACA,iEAEA,6CACA,sDACA,0BADA,wBACA,0BACA,oIAIA,mBAFA,YAEA,qBACA,0CAIE,uBAEF,CAHA,yBACE,CAEF,iDACE,mFAKJ,oCACE,CANE,aAKJ,CACE,qEAIA,YAFA,WAEA,CAHA,aACA,CAEA,gBACE,4BACA,sBADA,aACA,gCAMF,oCACA,yDACA,2CAEA,qBAGE,kBAEA,CACA,mCAIF,CARE,YACA,CAOF,iCAEE,CAPA,oBACA,CAQA,oBACE,uDAEJ,sDAGA,CAHA,cAGA,0BACE,oDAIA,oCACA,4BACA,sBAGA,cAEA,oFAGA,sBAEA,yDACE,CAIA,iBAJA,wBAIA,6CAJA,6CAOA,4BAGJ,CAHI,cAGJ,yCAGA,kBACE,CAIA,iDAEA,CATA,YAEF,CACE,4CAGA,kBAIA,wEAEA,wDAIF,kCAOE,iDACA,CARF,WAIE,sCAGA,CANA,2CACA,CAMA,oEARF,iBACE,CACA,qCAMA,iBAuBE,uBAlBF,YAKA,2DALA,uDAKA,CALA,sBAiBA,4CACE,CALA,gRAIF,YACE,UAEN,uBACE,YACA,mCAOE,+CAGA,8BAGF,+CAGA,4BCjNA,SDiNA,qFCjNA,gDAGA,sCACA,qCACA,sDAIF,CAIE,kDAGA,CAPF,0CAOE,kBAEA,kDAEA,CAHA,eACA,CAFA,YACA,CADA,SAIA,mHAIE,CAGA,6CAFA,oCAeE,CAbF,yBACE,qBAEJ,CAGE,oBACA,CAEA,YAFA,2CACF,CACE,uBAEA,mFAEE,CALJ,oBACE,CAEA,UAEE,gCAGF,sDAEA,yCC7CJ,oCAGA,CD6CE,yXAQE,sCCrDJ,wCAGA,oCACE","sources":["webpack:///./node_modules/normalize.css/normalize.css","webpack:///./src/furo/assets/styles/base/_print.sass","webpack:///./src/furo/assets/styles/base/_screen-readers.sass","webpack:///./src/furo/assets/styles/base/_theme.sass","webpack:///./src/furo/assets/styles/variables/_fonts.scss","webpack:///./src/furo/assets/styles/variables/_spacing.scss","webpack:///./src/furo/assets/styles/variables/_icons.scss","webpack:///./src/furo/assets/styles/variables/_admonitions.scss","webpack:///./src/furo/assets/styles/variables/_colors.scss","webpack:///./src/furo/assets/styles/base/_typography.sass","webpack:///./src/furo/assets/styles/_scaffold.sass","webpack:///./src/furo/assets/styles/content/_admonitions.sass","webpack:///./src/furo/assets/styles/content/_api.sass","webpack:///./src/furo/assets/styles/content/_blocks.sass","webpack:///./src/furo/assets/styles/content/_captions.sass","webpack:///./src/furo/assets/styles/content/_code.sass","webpack:///./src/furo/assets/styles/content/_footnotes.sass","webpack:///./src/furo/assets/styles/content/_images.sass","webpack:///./src/furo/assets/styles/content/_indexes.sass","webpack:///./src/furo/assets/styles/content/_lists.sass","webpack:///./src/furo/assets/styles/content/_math.sass","webpack:///./src/furo/assets/styles/content/_misc.sass","webpack:///./src/furo/assets/styles/content/_rubrics.sass","webpack:///./src/furo/assets/styles/content/_sidebar.sass","webpack:///./src/furo/assets/styles/content/_tables.sass","webpack:///./src/furo/assets/styles/content/_target.sass","webpack:///./src/furo/assets/styles/content/_gui-labels.sass","webpack:///./src/furo/assets/styles/components/_footer.sass","webpack:///./src/furo/assets/styles/components/_sidebar.sass","webpack:///./src/furo/assets/styles/components/_table_of_contents.sass","webpack:///./src/furo/assets/styles/_shame.sass"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// This file contains styles for managing print media.\n\n////////////////////////////////////////////////////////////////////////////////\n// Hide elements not relevant to print media.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Hide icon container.\n .content-icon-container\n display: none !important\n\n // Hide showing header links if hovering over when printing.\n .headerlink\n display: none !important\n\n // Hide mobile header.\n .mobile-header\n display: none !important\n\n // Hide navigation links.\n .related-pages\n display: none !important\n\n////////////////////////////////////////////////////////////////////////////////\n// Tweaks related to decolorization.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Apply a border around code which no longer have a color background.\n .highlight\n border: 0.1pt solid var(--color-foreground-border)\n\n////////////////////////////////////////////////////////////////////////////////\n// Avoid page break in some relevant cases.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n ul, ol, dl, a, table, pre, blockquote\n page-break-inside: avoid\n\n h1, h2, h3, h4, h5, h6, img, figure, caption\n page-break-inside: avoid\n page-break-after: avoid\n\n ul, ol, dl\n page-break-before: avoid\n",".visually-hidden\n position: absolute !important\n width: 1px !important\n height: 1px !important\n padding: 0 !important\n margin: -1px !important\n overflow: hidden !important\n clip: rect(0,0,0,0) !important\n white-space: nowrap !important\n border: 0 !important\n\n:-moz-focusring\n outline: auto\n","// This file serves as the \"skeleton\" of the theming logic.\n//\n// This contains the bulk of the logic for handling dark mode, color scheme\n// toggling and the handling of color-scheme-specific hiding of elements.\n\nbody\n @include fonts\n @include spacing\n @include icons\n @include admonitions\n @include default-admonition(#651fff, \"abstract\")\n @include default-topic(#14B8A6, \"pencil\")\n\n @include colors\n\n.only-light\n display: block !important\nhtml body .only-dark\n display: none !important\n\n// Ignore dark-mode hints if print media.\n@media not print\n // Enable dark-mode, if requested.\n body[data-theme=\"dark\"]\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n // Enable dark mode, unless explicitly told to avoid.\n @media (prefers-color-scheme: dark)\n body:not([data-theme=\"light\"])\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n//\n// Theme toggle presentation\n//\nbody[data-theme=\"auto\"]\n .theme-toggle svg.theme-icon-when-auto\n display: block\n\nbody[data-theme=\"dark\"]\n .theme-toggle svg.theme-icon-when-dark\n display: block\n\nbody[data-theme=\"light\"]\n .theme-toggle svg.theme-icon-when-light\n display: block\n","// Fonts used by this theme.\n//\n// There are basically two things here -- using the system font stack and\n// defining sizes for various elements in %ages. We could have also used `em`\n// but %age is easier to reason about for me.\n\n@mixin fonts {\n // These are adapted from https://systemfontstack.com/\n --font-stack: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji;\n --font-stack--monospace: \"SFMono-Regular\", Menlo, Consolas, Monaco,\n Liberation Mono, Lucida Console, monospace;\n\n --font-size--normal: 100%;\n --font-size--small: 87.5%;\n --font-size--small--2: 81.25%;\n --font-size--small--3: 75%;\n --font-size--small--4: 62.5%;\n\n // Sidebar\n --sidebar-caption-font-size: var(--font-size--small--2);\n --sidebar-item-font-size: var(--font-size--small);\n --sidebar-search-input-font-size: var(--font-size--small);\n\n // Table of Contents\n --toc-font-size: var(--font-size--small--3);\n --toc-font-size--mobile: var(--font-size--normal);\n --toc-title-font-size: var(--font-size--small--4);\n\n // Admonitions\n //\n // These aren't defined in terms of %ages, since nesting these is permitted.\n --admonition-font-size: 0.8125rem;\n --admonition-title-font-size: 0.8125rem;\n\n // Code\n --code-font-size: var(--font-size--small--2);\n\n // API\n --api-font-size: var(--font-size--small);\n}\n","// Spacing for various elements on the page\n//\n// If the user wants to tweak things in a certain way, they are permitted to.\n// They also have to deal with the consequences though!\n\n@mixin spacing {\n // Header!\n --header-height: calc(\n var(--sidebar-item-line-height) + 4 * #{var(--sidebar-item-spacing-vertical)}\n );\n --header-padding: 0.5rem;\n\n // Sidebar\n --sidebar-tree-space-above: 1.5rem;\n --sidebar-caption-space-above: 1rem;\n\n --sidebar-item-line-height: 1rem;\n --sidebar-item-spacing-vertical: 0.5rem;\n --sidebar-item-spacing-horizontal: 1rem;\n --sidebar-item-height: calc(\n var(--sidebar-item-line-height) + 2 *#{var(--sidebar-item-spacing-vertical)}\n );\n\n --sidebar-expander-width: var(--sidebar-item-height); // be square\n\n --sidebar-search-space-above: 0.5rem;\n --sidebar-search-input-spacing-vertical: 0.5rem;\n --sidebar-search-input-spacing-horizontal: 0.5rem;\n --sidebar-search-input-height: 1rem;\n --sidebar-search-icon-size: var(--sidebar-search-input-height);\n\n // Table of Contents\n --toc-title-padding: 0.25rem 0;\n --toc-spacing-vertical: 1.5rem;\n --toc-spacing-horizontal: 1.5rem;\n --toc-item-spacing-vertical: 0.4rem;\n --toc-item-spacing-horizontal: 1rem;\n}\n","// Expose theme icons as CSS variables.\n\n$icons: (\n // Adapted from tabler-icons\n // url: https://tablericons.com/\n \"search\":\n url('data:image/svg+xml;charset=utf-8,'),\n // Factored out from mkdocs-material on 24-Aug-2020.\n // url: https://squidfunk.github.io/mkdocs-material/reference/admonitions/\n \"pencil\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"abstract\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"info\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"flame\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"question\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"warning\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"failure\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"spark\":\n url('data:image/svg+xml;charset=utf-8,')\n);\n\n@mixin icons {\n @each $name, $glyph in $icons {\n --icon-#{$name}: #{$glyph};\n }\n}\n","// Admonitions\n\n// Structure of these is:\n// admonition-class: color \"icon-name\";\n//\n// The colors are translated into CSS variables below. The icons are\n// used directly in the main declarations to set the `mask-image` in\n// the title.\n\n// prettier-ignore\n$admonitions: (\n // Each of these has an reST directives for it.\n \"caution\": #ff9100 \"spark\",\n \"warning\": #ff9100 \"warning\",\n \"danger\": #ff5252 \"spark\",\n \"attention\": #ff5252 \"warning\",\n \"error\": #ff5252 \"failure\",\n \"hint\": #00c852 \"question\",\n \"tip\": #00c852 \"info\",\n \"important\": #00bfa5 \"flame\",\n \"note\": #00b0ff \"pencil\",\n \"seealso\": #448aff \"info\",\n \"admonition-todo\": #808080 \"pencil\"\n);\n\n@mixin default-admonition($color, $icon-name) {\n --color-admonition-title: #{$color};\n --color-admonition-title-background: #{rgba($color, 0.2)};\n\n --icon-admonition-default: var(--icon-#{$icon-name});\n}\n\n@mixin default-topic($color, $icon-name) {\n --color-topic-title: #{$color};\n --color-topic-title-background: #{rgba($color, 0.2)};\n\n --icon-topic-default: var(--icon-#{$icon-name});\n}\n\n@mixin admonitions {\n @each $name, $values in $admonitions {\n --color-admonition-title--#{$name}: #{nth($values, 1)};\n --color-admonition-title-background--#{$name}: #{rgba(\n nth($values, 1),\n 0.2\n )};\n }\n}\n","// Colors used throughout this theme.\n//\n// The aim is to give the user more control. Thus, instead of hard-coding colors\n// in various parts of the stylesheet, the approach taken is to define all\n// colors as CSS variables and reusing them in all the places.\n//\n// `colors-dark` depends on `colors` being included at a lower specificity.\n\n@mixin colors {\n --color-problematic: #b30000;\n\n // Base Colors\n --color-foreground-primary: black; // for main text and headings\n --color-foreground-secondary: #5a5c63; // for secondary text\n --color-foreground-muted: #646776; // for muted text\n --color-foreground-border: #878787; // for content borders\n\n --color-background-primary: white; // for content\n --color-background-secondary: #f8f9fb; // for navigation + ToC\n --color-background-hover: #efeff4ff; // for navigation-item hover\n --color-background-hover--transparent: #efeff400;\n --color-background-border: #eeebee; // for UI borders\n --color-background-item: #ccc; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2962ff;\n --color-brand-content: #2a5adf;\n\n // API documentation\n --color-api-background: var(--color-background-hover--transparent);\n --color-api-background-hover: var(--color-background-hover);\n --color-api-overall: var(--color-foreground-secondary);\n --color-api-name: var(--color-problematic);\n --color-api-pre-name: var(--color-problematic);\n --color-api-paren: var(--color-foreground-secondary);\n --color-api-keyword: var(--color-foreground-primary);\n --color-highlight-on-target: #ffffcc;\n\n // Inline code background\n --color-inline-code-background: var(--color-background-secondary);\n\n // Highlighted text (search)\n --color-highlighted-background: #ddeeff;\n --color-highlighted-text: var(--color-foreground-primary);\n\n // GUI Labels\n --color-guilabel-background: #ddeeff80;\n --color-guilabel-border: #bedaf580;\n --color-guilabel-text: var(--color-foreground-primary);\n\n // Admonitions!\n --color-admonition-background: transparent;\n\n //////////////////////////////////////////////////////////////////////////////\n // Everything below this should be one of:\n // - var(...)\n // - *-gradient(...)\n // - special literal values (eg: transparent, none)\n //////////////////////////////////////////////////////////////////////////////\n\n // Tables\n --color-table-header-background: var(--color-background-secondary);\n --color-table-border: var(--color-background-border);\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: transparent;\n --color-card-marginals-background: var(--color-background-secondary);\n\n // Header\n --color-header-background: var(--color-background-primary);\n --color-header-border: var(--color-background-border);\n --color-header-text: var(--color-foreground-primary);\n\n // Sidebar (left)\n --color-sidebar-background: var(--color-background-secondary);\n --color-sidebar-background-border: var(--color-background-border);\n\n --color-sidebar-brand-text: var(--color-foreground-primary);\n --color-sidebar-caption-text: var(--color-foreground-muted);\n --color-sidebar-link-text: var(--color-foreground-secondary);\n --color-sidebar-link-text--top-level: var(--color-brand-primary);\n\n --color-sidebar-item-background: var(--color-sidebar-background);\n --color-sidebar-item-background--current: var(\n --color-sidebar-item-background\n );\n --color-sidebar-item-background--hover: linear-gradient(\n 90deg,\n var(--color-background-hover--transparent) 0%,\n var(--color-background-hover) var(--sidebar-item-spacing-horizontal),\n var(--color-background-hover) 100%\n );\n\n --color-sidebar-item-expander-background: transparent;\n --color-sidebar-item-expander-background--hover: var(\n --color-background-hover\n );\n\n --color-sidebar-search-text: var(--color-foreground-primary);\n --color-sidebar-search-background: var(--color-background-secondary);\n --color-sidebar-search-background--focus: var(--color-background-primary);\n --color-sidebar-search-border: var(--color-background-border);\n --color-sidebar-search-icon: var(--color-foreground-muted);\n\n // Table of Contents (right)\n --color-toc-background: var(--color-background-primary);\n --color-toc-title-text: var(--color-foreground-muted);\n --color-toc-item-text: var(--color-foreground-secondary);\n --color-toc-item-text--hover: var(--color-foreground-primary);\n --color-toc-item-text--active: var(--color-brand-primary);\n\n // Actual page contents\n --color-content-foreground: var(--color-foreground-primary);\n --color-content-background: transparent;\n\n // Links\n --color-link: var(--color-brand-content);\n --color-link--hover: var(--color-brand-content);\n --color-link-underline: var(--color-background-border);\n --color-link-underline--hover: var(--color-foreground-border);\n}\n\n@mixin colors-dark {\n --color-problematic: #ee5151;\n\n // Base Colors\n --color-foreground-primary: #ffffffcc; // for main text and headings\n --color-foreground-secondary: #9ca0a5; // for secondary text\n --color-foreground-muted: #81868d; // for muted text\n --color-foreground-border: #666666; // for content borders\n\n --color-background-primary: #131416; // for content\n --color-background-secondary: #1a1c1e; // for navigation + ToC\n --color-background-hover: #1e2124ff; // for navigation-item hover\n --color-background-hover--transparent: #1e212400;\n --color-background-border: #303335; // for UI borders\n --color-background-item: #444; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2b8cee;\n --color-brand-content: #368ce2;\n\n // Highlighted text (search)\n --color-highlighted-background: #083563;\n\n // GUI Labels\n --color-guilabel-background: #08356380;\n --color-guilabel-border: #13395f80;\n\n // API documentation\n --color-api-keyword: var(--color-foreground-secondary);\n --color-highlight-on-target: #333300;\n\n // Admonitions\n --color-admonition-background: #18181a;\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: #18181a;\n --color-card-marginals-background: var(--color-background-hover);\n}\n","// This file contains the styling for making the content throughout the page,\n// including fonts, paragraphs, headings and spacing among these elements.\n\nbody\n font-family: var(--font-stack)\npre,\ncode,\nkbd,\nsamp\n font-family: var(--font-stack--monospace)\n\n// Make fonts look slightly nicer.\nbody\n -webkit-font-smoothing: antialiased\n -moz-osx-font-smoothing: grayscale\n\n// Line height from Bootstrap 4.1\narticle\n line-height: 1.5\n\n//\n// Headings\n//\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n line-height: 1.25\n font-weight: bold\n\n border-radius: 0.5rem\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n margin-left: -0.5rem\n margin-right: -0.5rem\n padding-left: 0.5rem\n padding-right: 0.5rem\n\n + p\n margin-top: 0\n\nh1\n font-size: 2.5em\n margin-top: 1.75rem\n margin-bottom: 1rem\nh2\n font-size: 2em\n margin-top: 1.75rem\nh3\n font-size: 1.5em\nh4\n font-size: 1.25em\nh5\n font-size: 1.125em\nh6\n font-size: 1em\n\nsmall\n opacity: 75%\n font-size: 80%\n\n// Paragraph\np\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n\n// Horizontal rules\nhr.docutils\n height: 1px\n padding: 0\n margin: 2rem 0\n background-color: var(--color-background-border)\n border: 0\n\n.centered\n text-align: center\n\n// Links\na\n text-decoration: underline\n\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &.muted-link\n color: inherit\n &:hover\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline--hover)\n","// This file contains the styles for the overall layouting of the documentation\n// skeleton, including the responsive changes as well as sidebar toggles.\n//\n// This is implemented as a mobile-last design, which isn't ideal, but it is\n// reasonably good-enough and I got pretty tired by the time I'd finished this\n// to move the rules around to fix this. Shouldn't take more than 3-4 hours,\n// if you know what you're doing tho.\n\n// HACK: Not all browsers account for the scrollbar width in media queries.\n// This results in horizontal scrollbars in the breakpoint where we go\n// from displaying everything to hiding the ToC. We accomodate for this by\n// adding a bit of padding to the TOC drawer, disabling the horizontal\n// scrollbar and allowing the scrollbars to cover the padding.\n// https://www.456bereastreet.com/archive/201301/media_query_width_and_vertical_scrollbars/\n\n// HACK: Always having the scrollbar visible, prevents certain browsers from\n// causing the content to stutter horizontally between taller-than-viewport and\n// not-taller-than-viewport pages.\n\nhtml\n overflow-x: hidden\n overflow-y: scroll\n scroll-behavior: smooth\n\n.sidebar-scroll, .toc-scroll, article[role=main] *\n // Override Firefox scrollbar style\n scrollbar-width: thin\n scrollbar-color: var(--color-foreground-border) transparent\n\n // Override Chrome scrollbar styles\n &::-webkit-scrollbar\n width: 0.25rem\n height: 0.25rem\n &::-webkit-scrollbar-thumb\n background-color: var(--color-foreground-border)\n border-radius: 0.125rem\n\n//\n// Overalls\n//\nhtml,\nbody\n height: 100%\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\narticle\n color: var(--color-content-foreground)\n background: var(--color-content-background)\n overflow-wrap: break-word\n\n.page\n display: flex\n // fill the viewport for pages with little content.\n min-height: 100%\n\n.mobile-header\n width: 100%\n height: var(--header-height)\n background-color: var(--color-header-background)\n color: var(--color-header-text)\n border-bottom: 1px solid var(--color-header-border)\n\n // Looks like sub-script/super-script have this, and we need this to\n // be \"on top\" of those.\n z-index: 10\n\n // We don't show the header on large screens.\n display: none\n\n // Add shadow when scrolled\n &.scrolled\n border-bottom: none\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2)\n\n .header-center\n a\n color: var(--color-header-text)\n text-decoration: none\n\n.main\n display: flex\n flex: 1\n\n// Sidebar (left) also covers the entire left portion of screen.\n.sidebar-drawer\n box-sizing: border-box\n\n border-right: 1px solid var(--color-sidebar-background-border)\n background: var(--color-sidebar-background)\n\n display: flex\n justify-content: flex-end\n // These next two lines took me two days to figure out.\n width: calc((100% - #{$full-width}) / 2 + #{$sidebar-width})\n min-width: $sidebar-width\n\n// Scroll-along sidebars\n.sidebar-container,\n.toc-drawer\n box-sizing: border-box\n width: $sidebar-width\n\n.toc-drawer\n background: var(--color-toc-background)\n // See HACK described on top of this document\n padding-right: 1rem\n\n.sidebar-sticky,\n.toc-sticky\n position: sticky\n top: 0\n height: min(100%, 100vh)\n height: 100vh\n\n display: flex\n flex-direction: column\n\n.sidebar-scroll,\n.toc-scroll\n flex-grow: 1\n flex-shrink: 1\n\n overflow: auto\n scroll-behavior: smooth\n\n// Central items.\n.content\n padding: 0 $content-padding\n width: $content-width\n\n display: flex\n flex-direction: column\n justify-content: space-between\n\n.icon\n display: inline-block\n height: 1rem\n width: 1rem\n svg\n width: 100%\n height: 100%\n\n//\n// Accommodate announcement banner\n//\n.announcement\n background-color: var(--color-announcement-background)\n color: var(--color-announcement-text)\n\n height: var(--header-height)\n display: flex\n align-items: center\n overflow-x: auto\n & + .page\n min-height: calc(100% - var(--header-height))\n\n.announcement-content\n box-sizing: border-box\n padding: 0.5rem\n min-width: 100%\n white-space: nowrap\n text-align: center\n\n a\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-announcement-text)\n\n &:hover\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-link--hover)\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for theme\n////////////////////////////////////////////////////////////////////////////////\n.no-js .theme-toggle-container // don't show theme toggle if there's no JS\n display: none\n\n.theme-toggle-container\n vertical-align: middle\n\n.theme-toggle\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n vertical-align: middle\n height: 1rem\n width: 1rem\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n float: left\n padding: 1rem 0.5rem\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for elements\n////////////////////////////////////////////////////////////////////////////////\n.toc-overlay-icon, .nav-overlay-icon\n display: none\n cursor: pointer\n\n .icon\n color: var(--color-foreground-secondary)\n height: 1rem\n width: 1rem\n\n.toc-header-icon, .nav-overlay-icon\n // for when we set display: flex\n justify-content: center\n align-items: center\n\n.toc-content-icon\n height: 1.5rem\n width: 1.5rem\n\n.content-icon-container\n float: right\n display: flex\n margin-top: 1.5rem\n margin-left: 1rem\n margin-bottom: 1rem\n gap: 0.5rem\n\n .edit-this-page svg\n color: inherit\n height: 1rem\n width: 1rem\n\n.sidebar-toggle\n position: absolute\n display: none\n// \n.sidebar-toggle[name=\"__toc\"]\n left: 20px\n.sidebar-toggle:checked\n left: 40px\n// \n\n.overlay\n position: fixed\n top: 0\n width: 0\n height: 0\n\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n\n opacity: 0\n background-color: rgba(0, 0, 0, 0.54)\n.sidebar-overlay\n z-index: 20\n.toc-overlay\n z-index: 40\n\n// Keep things on top and smooth.\n.sidebar-drawer\n z-index: 30\n transition: left 250ms ease-in-out\n.toc-drawer\n z-index: 50\n transition: right 250ms ease-in-out\n\n// Show the Sidebar\n#__navigation:checked\n & ~ .sidebar-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .sidebar-drawer\n top: 0\n left: 0\n // Show the toc sidebar\n#__toc:checked\n & ~ .toc-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .toc-drawer\n top: 0\n right: 0\n\n////////////////////////////////////////////////////////////////////////////////\n// Back to top\n////////////////////////////////////////////////////////////////////////////////\n.back-to-top\n text-decoration: none\n\n display: none\n position: fixed\n left: 0\n top: 1rem\n padding: 0.5rem\n padding-right: 0.75rem\n border-radius: 1rem\n font-size: 0.8125rem\n\n background: var(--color-background-primary)\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), #6b728080 0px 0px 1px 0px\n\n z-index: 10\n\n margin-left: 50%\n transform: translateX(-50%)\n svg\n height: 1rem\n width: 1rem\n fill: currentColor\n display: inline-block\n\n span\n margin-left: 0.25rem\n\n .show-back-to-top &\n display: flex\n align-items: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Responsive layouting\n////////////////////////////////////////////////////////////////////////////////\n// Make things a bit bigger on bigger screens.\n@media (min-width: $full-width + $sidebar-width)\n html\n font-size: 110%\n\n@media (max-width: $full-width)\n // Collapse \"toc\" into the icon.\n .toc-content-icon\n display: flex\n .toc-drawer\n position: fixed\n height: 100vh\n top: 0\n right: -$sidebar-width\n border-left: 1px solid var(--color-background-muted)\n .toc-tree\n border-left: none\n font-size: var(--toc-font-size--mobile)\n\n // Accomodate for a changed content width.\n .sidebar-drawer\n width: calc((100% - #{$full-width - $sidebar-width}) / 2 + #{$sidebar-width})\n\n@media (max-width: $full-width - $sidebar-width)\n // Collapse \"navigation\".\n .nav-overlay-icon\n display: flex\n .sidebar-drawer\n position: fixed\n height: 100vh\n width: $sidebar-width\n\n top: 0\n left: -$sidebar-width\n\n // Swap which icon is visible.\n .toc-header-icon\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n .theme-toggle-header\n display: block\n\n // Show the header.\n .mobile-header\n position: sticky\n top: 0\n display: flex\n justify-content: space-between\n align-items: center\n\n .header-left,\n .header-right\n display: flex\n height: var(--header-height)\n padding: 0 var(--header-padding)\n label\n height: 100%\n width: 100%\n user-select: none\n\n .nav-overlay-icon .icon,\n .theme-toggle svg\n height: 1.25rem\n width: 1.25rem\n\n // Add a scroll margin for the content\n :target\n scroll-margin-top: var(--header-height)\n\n // Show back-to-top below the header\n .back-to-top\n top: calc(var(--header-height) + 0.5rem)\n\n // Center the page, and accommodate for the header.\n .page\n flex-direction: column\n justify-content: center\n .content\n margin-left: auto\n margin-right: auto\n\n@media (max-width: $content-width + 2* $content-padding)\n // Content should respect window limits.\n .content\n width: 100%\n overflow-x: auto\n\n@media (max-width: $content-width)\n .content\n padding: 0 $content-padding--small\n // Don't float sidebars to the right.\n article aside.sidebar\n float: none\n width: 100%\n margin: 1rem 0\n","//\n// The design here is strongly inspired by mkdocs-material.\n.admonition, .topic\n margin: 1rem auto\n padding: 0 0.5rem 0.5rem 0.5rem\n\n background: var(--color-admonition-background)\n\n border-radius: 0.2rem\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n font-size: var(--admonition-font-size)\n\n overflow: hidden\n page-break-inside: avoid\n\n // First element should have no margin, since the title has it.\n > :nth-child(2)\n margin-top: 0\n\n // Last item should have no margin, since we'll control that w/ padding\n > :last-child\n margin-bottom: 0\n\n.admonition p.admonition-title,\np.topic-title\n position: relative\n margin: 0 -0.5rem 0.5rem\n padding-left: 2rem\n padding-right: .5rem\n padding-top: .4rem\n padding-bottom: .4rem\n\n font-weight: 500\n font-size: var(--admonition-title-font-size)\n line-height: 1.3\n\n // Our fancy icon\n &::before\n content: \"\"\n position: absolute\n left: 0.5rem\n width: 1rem\n height: 1rem\n\n// Default styles\np.admonition-title\n background-color: var(--color-admonition-title-background)\n &::before\n background-color: var(--color-admonition-title)\n mask-image: var(--icon-admonition-default)\n mask-repeat: no-repeat\n\np.topic-title\n background-color: var(--color-topic-title-background)\n &::before\n background-color: var(--color-topic-title)\n mask-image: var(--icon-topic-default)\n mask-repeat: no-repeat\n\n//\n// Variants\n//\n.admonition\n border-left: 0.2rem solid var(--color-admonition-title)\n\n @each $type, $value in $admonitions\n &.#{$type}\n border-left-color: var(--color-admonition-title--#{$type})\n > .admonition-title\n background-color: var(--color-admonition-title-background--#{$type})\n &::before\n background-color: var(--color-admonition-title--#{$type})\n mask-image: var(--icon-#{nth($value, 2)})\n\n.admonition-todo > .admonition-title\n text-transform: uppercase\n","// This file stylizes the API documentation (stuff generated by autodoc). It's\n// deeply nested due to how autodoc structures the HTML without enough classes\n// to select the relevant items.\n\n// API docs!\ndl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)\n // Tweak the spacing of all the things!\n dd\n margin-left: 2rem\n > :first-child\n margin-top: 0.125rem\n > :last-child\n margin-bottom: 0.75rem\n\n // This is used for the arguments\n .field-list\n margin-bottom: 0.75rem\n\n // \"Headings\" (like \"Parameters\" and \"Return\")\n > dt\n text-transform: uppercase\n font-size: var(--font-size--small)\n\n dd:empty\n margin-bottom: 0.5rem\n dd > ul\n margin-left: -1.2rem\n > li\n > p:nth-child(2)\n margin-top: 0\n // When the last-empty-paragraph follows a paragraph, it doesn't need\n // to augument the existing spacing.\n > p + p:last-child:empty\n margin-top: 0\n margin-bottom: 0\n\n // Colorize the elements\n > dt\n color: var(--color-api-overall)\n\n.sig:not(.sig-inline)\n font-weight: bold\n\n font-size: var(--api-font-size)\n font-family: var(--font-stack--monospace)\n\n margin-left: -0.25rem\n margin-right: -0.25rem\n padding-top: 0.25rem\n padding-bottom: 0.25rem\n padding-right: 0.5rem\n\n // These are intentionally em, to properly match the font size.\n padding-left: 3em\n text-indent: -2.5em\n\n border-radius: 0.25rem\n\n background: var(--color-api-background)\n transition: background 100ms ease-out\n\n &:hover\n background: var(--color-api-background-hover)\n\n // adjust the size of the [source] link on the right.\n a.reference\n .viewcode-link\n font-weight: normal\n width: 3.5rem\n\nem.property\n font-style: normal\n &:first-child\n color: var(--color-api-keyword)\n.sig-name\n color: var(--color-api-name)\n.sig-prename\n font-weight: normal\n color: var(--color-api-pre-name)\n.sig-paren\n color: var(--color-api-paren)\n.sig-param\n font-style: normal\n\n.versionmodified\n font-style: italic\ndiv.versionadded, div.versionchanged, div.deprecated\n p\n margin-top: 0.125rem\n margin-bottom: 0.125rem\n\n// Align the [docs] and [source] to the right.\n.viewcode-link, .viewcode-back\n float: right\n text-align: right\n",".line-block\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n .line-block\n margin-top: 0rem\n margin-bottom: 0rem\n padding-left: 1rem\n","// Captions\narticle p.caption,\ntable > caption,\n.code-block-caption\n font-size: var(--font-size--small)\n text-align: center\n\n// Caption above a TOCTree\n.toctree-wrapper.compound\n .caption, :not(.caption) > .caption-text\n font-size: var(--font-size--small)\n text-transform: uppercase\n\n text-align: initial\n margin-bottom: 0\n\n > ul\n margin-top: 0\n margin-bottom: 0\n","// Inline code\ncode.literal, .sig-inline\n background: var(--color-inline-code-background)\n border-radius: 0.2em\n // Make the font smaller, and use padding to recover.\n font-size: var(--font-size--small--2)\n padding: 0.1em 0.2em\n\n pre.literal-block &\n font-size: inherit\n padding: 0\n\n p &\n border: 1px solid var(--color-background-border)\n\n.sig-inline\n font-family: var(--font-stack--monospace)\n\n// Code and Literal Blocks\n$code-spacing-vertical: 0.625rem\n$code-spacing-horizontal: 0.875rem\n\n// Wraps every literal block + line numbers.\ndiv[class*=\" highlight-\"],\ndiv[class^=\"highlight-\"]\n margin: 1em 0\n display: flex\n\n .table-wrapper\n margin: 0\n padding: 0\n\npre\n margin: 0\n padding: 0\n overflow: auto\n\n // Needed to have more specificity than pygments' \"pre\" selector. :(\n article[role=\"main\"] .highlight &\n line-height: 1.5\n\n &.literal-block,\n .highlight &\n font-size: var(--code-font-size)\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n // Make it look like all the other blocks.\n &.literal-block\n margin-top: 1rem\n margin-bottom: 1rem\n\n border-radius: 0.2rem\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n\n// All code is always contained in this.\n.highlight\n width: 100%\n border-radius: 0.2rem\n\n // Make line numbers and prompts un-selectable.\n .gp, span.linenos\n user-select: none\n pointer-events: none\n\n // Expand the line-highlighting.\n .hll\n display: block\n margin-left: -$code-spacing-horizontal\n margin-right: -$code-spacing-horizontal\n padding-left: $code-spacing-horizontal\n padding-right: $code-spacing-horizontal\n\n/* Make code block captions be nicely integrated */\n.code-block-caption\n display: flex\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n border-radius: 0.25rem\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n font-weight: 300\n border-bottom: 1px solid\n\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n border-color: var(--color-background-border)\n\n + div[class]\n margin-top: 0\n pre\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n// When `html_codeblock_linenos_style` is table.\n.highlighttable\n width: 100%\n display: block\n tbody\n display: block\n\n tr\n display: flex\n\n // Line numbers\n td.linenos\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n padding: $code-spacing-vertical $code-spacing-horizontal\n padding-right: 0\n border-top-left-radius: 0.2rem\n border-bottom-left-radius: 0.2rem\n\n .linenodiv\n padding-right: $code-spacing-horizontal\n font-size: var(--code-font-size)\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n\n // Actual code\n td.code\n padding: 0\n display: block\n flex: 1\n overflow: hidden\n\n .highlight\n border-top-left-radius: 0\n border-bottom-left-radius: 0\n\n// When `html_codeblock_linenos_style` is inline.\n.highlight\n span.linenos\n display: inline-block\n padding-left: 0\n padding-right: $code-spacing-horizontal\n margin-right: $code-spacing-horizontal\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n","// Inline Footnote Reference\n.footnote-reference\n font-size: var(--font-size--small--4)\n vertical-align: super\n\n// Definition list, listing the content of each note.\n// docutils <= 0.17\ndl.footnote.brackets\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\n display: grid\n grid-template-columns: max-content auto\n dt\n margin: 0\n > .fn-backref\n margin-left: 0.25rem\n\n &:after\n content: \":\"\n\n .brackets\n &:before\n content: \"[\"\n &:after\n content: \"]\"\n\n dd\n margin: 0\n padding: 0 1rem\n\n// docutils >= 0.18\naside.footnote\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\naside.footnote > span,\ndiv.citation > span\n float: left\n font-weight: 500\n padding-right: 0.25rem\n\naside.footnote > p,\ndiv.citation > p\n margin-left: 2rem\n","//\n// Figures\n//\nimg\n box-sizing: border-box\n max-width: 100%\n height: auto\n\narticle\n figure, .figure\n border-radius: 0.2rem\n\n margin: 0\n :last-child\n margin-bottom: 0\n\n .align-left\n float: left\n clear: left\n margin: 0 1rem 1rem\n\n .align-right\n float: right\n clear: right\n margin: 0 1rem 1rem\n\n .align-default,\n .align-center\n display: block\n text-align: center\n margin-left: auto\n margin-right: auto\n\n // WELL, table needs to be stylised like a table.\n table.align-default\n display: table\n text-align: initial\n",".genindex-jumpbox, .domainindex-jumpbox\n border-top: 1px solid var(--color-background-border)\n border-bottom: 1px solid var(--color-background-border)\n padding: 0.25rem\n\n.genindex-section, .domainindex-section\n h2\n margin-top: 0.75rem\n margin-bottom: 0.5rem\n ul\n margin-top: 0\n margin-bottom: 0\n","ul,\nol\n padding-left: 1.2rem\n\n // Space lists out like paragraphs\n margin-top: 1rem\n margin-bottom: 1rem\n // reduce margins within li.\n li\n > p:first-child\n margin-top: 0.25rem\n margin-bottom: 0.25rem\n\n > p:last-child\n margin-top: 0.25rem\n\n > ul,\n > ol\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n\nol\n &.arabic\n list-style: decimal\n &.loweralpha\n list-style: lower-alpha\n &.upperalpha\n list-style: upper-alpha\n &.lowerroman\n list-style: lower-roman\n &.upperroman\n list-style: upper-roman\n\n// Don't space lists out when they're \"simple\" or in a `.. toctree::`\n.simple,\n.toctree-wrapper\n li\n > ul,\n > ol\n margin-top: 0\n margin-bottom: 0\n\n// Definition Lists\n.field-list,\n.option-list,\ndl:not([class]),\ndl.simple,\ndl.footnote,\ndl.glossary\n dt\n font-weight: 500\n margin-top: 0.25rem\n + dt\n margin-top: 0\n\n .classifier::before\n content: \":\"\n margin-left: 0.2rem\n margin-right: 0.2rem\n\n dd\n > p:first-child,\n ul\n margin-top: 0.125rem\n\n ul\n margin-bottom: 0.125rem\n",".math-wrapper\n width: 100%\n overflow-x: auto\n\ndiv.math\n position: relative\n text-align: center\n\n .headerlink,\n &:focus .headerlink\n display: none\n\n &:hover .headerlink\n display: inline-block\n\n span.eqno\n position: absolute\n right: 0.5rem\n top: 50%\n transform: translate(0, -50%)\n z-index: 1\n","// Abbreviations\nabbr[title]\n cursor: help\n\n// \"Problematic\" content, as identified by Sphinx\n.problematic\n color: var(--color-problematic)\n\n// Keyboard / Mouse \"instructions\"\nkbd:not(.compound)\n margin: 0 0.2rem\n padding: 0 0.2rem\n border-radius: 0.2rem\n border: 1px solid var(--color-foreground-border)\n color: var(--color-foreground-primary)\n vertical-align: text-bottom\n\n font-size: var(--font-size--small--3)\n display: inline-block\n\n box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.2), inset 0 0 0 0.125rem var(--color-background-primary)\n\n background-color: var(--color-background-secondary)\n\n// Blockquote\nblockquote\n border-left: 4px solid var(--color-background-border)\n background: var(--color-background-secondary)\n\n margin-left: 0\n margin-right: 0\n padding: 0.5rem 1rem\n\n .attribution\n font-weight: 600\n text-align: right\n\n &.pull-quote,\n &.highlights\n font-size: 1.25em\n\n &.epigraph,\n &.pull-quote\n border-left-width: 0\n border-radius: 0.5rem\n\n &.highlights\n border-left-width: 0\n background: transparent\n\n// Center align embedded-in-text images\np .reference img\n vertical-align: middle\n","p.rubric\n line-height: 1.25\n font-weight: bold\n font-size: 1.125em\n\n // For Numpy-style documentation that's got rubrics within it.\n // https://github.com/pradyunsg/furo/discussions/505\n dd &\n line-height: inherit\n font-weight: inherit\n\n font-size: var(--font-size--small)\n text-transform: uppercase\n","article .sidebar\n float: right\n clear: right\n width: 30%\n\n margin-left: 1rem\n margin-right: 0\n\n border-radius: 0.2rem\n background-color: var(--color-background-secondary)\n border: var(--color-background-border) 1px solid\n\n > *\n padding-left: 1rem\n padding-right: 1rem\n\n > ul, > ol // lists need additional padding, because bullets.\n padding-left: 2.2rem\n\n .sidebar-title\n margin: 0\n padding: 0.5rem 1rem\n border-bottom: var(--color-background-border) 1px solid\n\n font-weight: 500\n\n// TODO: subtitle\n// TODO: dedicated variables?\n",".table-wrapper\n width: 100%\n overflow-x: auto\n margin-top: 1rem\n margin-bottom: 0.5rem\n padding: 0.2rem 0.2rem 0.75rem\n\ntable.docutils\n border-radius: 0.2rem\n border-spacing: 0\n border-collapse: collapse\n\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n th\n background: var(--color-table-header-background)\n\n td,\n th\n // Space things out properly\n padding: 0 0.25rem\n\n // Get the borders looking just-right.\n border-left: 1px solid var(--color-table-border)\n border-right: 1px solid var(--color-table-border)\n border-bottom: 1px solid var(--color-table-border)\n\n p\n margin: 0.25rem\n\n &:first-child\n border-left: none\n &:last-child\n border-right: none\n\n // MyST-parser tables set these classes for control of column alignment\n &.text-left\n text-align: left\n &.text-right\n text-align: right\n &.text-center\n text-align: center\n",":target\n scroll-margin-top: 0.5rem\n\n@media (max-width: $full-width - $sidebar-width)\n :target\n scroll-margin-top: calc(0.5rem + var(--header-height))\n\n // When a heading is selected\n section > span:target\n scroll-margin-top: calc(0.8rem + var(--header-height))\n\n// Permalinks\n.headerlink\n font-weight: 100\n user-select: none\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\ndl dt,\np.caption,\nfigcaption p,\ntable > caption,\n.code-block-caption\n > .headerlink\n margin-left: 0.5rem\n visibility: hidden\n &:hover > .headerlink\n visibility: visible\n\n // Don't change to link-like, if someone adds the contents directive.\n > .toc-backref\n color: inherit\n text-decoration-line: none\n\n// Figure and table captions are special.\nfigure:hover > figcaption > p > .headerlink,\ntable:hover > caption > .headerlink\n visibility: visible\n\n:target >, // Regular section[id] style anchors\nspan:target ~ // Non-regular span[id] style \"extra\" anchors\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n &:nth-of-type(1)\n background-color: var(--color-highlight-on-target)\n // .headerlink\n // visibility: visible\n code.literal\n background-color: transparent\n\ntable:target > caption,\nfigure:target\n background-color: var(--color-highlight-on-target)\n\n// Inline page contents\n.this-will-duplicate-information-and-it-is-still-useful-here li :target\n background-color: var(--color-highlight-on-target)\n\n// Code block permalinks\n.literal-block-wrapper:target .code-block-caption\n background-color: var(--color-highlight-on-target)\n\n// When a definition list item is selected\n//\n// There isn't really an alternative to !important here, due to the\n// high-specificity of API documentation's selector.\ndt:target\n background-color: var(--color-highlight-on-target) !important\n\n// When a footnote reference is selected\n.footnote > dt:target + dd,\n.footnote-reference:target\n background-color: var(--color-highlight-on-target)\n",".guilabel\n background-color: var(--color-guilabel-background)\n border: 1px solid var(--color-guilabel-border)\n color: var(--color-guilabel-text)\n\n padding: 0 0.3em\n border-radius: 0.5em\n font-size: 0.9em\n","// This file contains the styles used for stylizing the footer that's shown\n// below the content.\n\nfooter\n font-size: var(--font-size--small)\n display: flex\n flex-direction: column\n\n margin-top: 2rem\n\n// Bottom of page information\n.bottom-of-page\n display: flex\n align-items: center\n justify-content: space-between\n\n margin-top: 1rem\n padding-top: 1rem\n padding-bottom: 1rem\n\n color: var(--color-foreground-secondary)\n border-top: 1px solid var(--color-background-border)\n\n line-height: 1.5\n\n @media (max-width: $content-width)\n text-align: center\n flex-direction: column-reverse\n gap: 0.25rem\n\n .left-details\n font-size: var(--font-size--small)\n\n .right-details\n display: flex\n flex-direction: column\n gap: 0.25rem\n text-align: right\n\n .icons\n display: flex\n justify-content: flex-end\n gap: 0.25rem\n font-size: 1rem\n\n a\n text-decoration: none\n\n svg,\n img\n font-size: 1.125rem\n height: 1em\n width: 1em\n\n// Next/Prev page information\n.related-pages\n a\n display: flex\n align-items: center\n\n text-decoration: none\n &:hover .page-info .title\n text-decoration: underline\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n svg.furo-related-icon,\n svg.furo-related-icon > use\n flex-shrink: 0\n\n color: var(--color-foreground-border)\n\n width: 0.75rem\n height: 0.75rem\n margin: 0 0.5rem\n\n &.next-page\n max-width: 50%\n\n float: right\n clear: right\n text-align: right\n\n &.prev-page\n max-width: 50%\n\n float: left\n clear: left\n\n svg\n transform: rotate(180deg)\n\n.page-info\n display: flex\n flex-direction: column\n overflow-wrap: anywhere\n\n .next-page &\n align-items: flex-end\n\n .context\n display: flex\n align-items: center\n\n padding-bottom: 0.1rem\n\n color: var(--color-foreground-muted)\n font-size: var(--font-size--small)\n text-decoration: none\n","// This file contains the styles for the contents of the left sidebar, which\n// contains the navigation tree, logo, search etc.\n\n////////////////////////////////////////////////////////////////////////////////\n// Brand on top of the scrollable tree.\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-brand\n display: flex\n flex-direction: column\n flex-shrink: 0\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n text-decoration: none\n\n.sidebar-brand-text\n color: var(--color-sidebar-brand-text)\n overflow-wrap: break-word\n margin: var(--sidebar-item-spacing-vertical) 0\n font-size: 1.5rem\n\n.sidebar-logo-container\n margin: var(--sidebar-item-spacing-vertical) 0\n\n.sidebar-logo\n margin: 0 auto\n display: block\n max-width: 100%\n\n////////////////////////////////////////////////////////////////////////////////\n// Search\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-search-container\n display: flex\n align-items: center\n margin-top: var(--sidebar-search-space-above)\n\n position: relative\n\n background: var(--color-sidebar-search-background)\n &:hover,\n &:focus-within\n background: var(--color-sidebar-search-background--focus)\n\n &::before\n content: \"\"\n position: absolute\n left: var(--sidebar-item-spacing-horizontal)\n width: var(--sidebar-search-icon-size)\n height: var(--sidebar-search-icon-size)\n\n background-color: var(--color-sidebar-search-icon)\n mask-image: var(--icon-search)\n\n.sidebar-search\n box-sizing: border-box\n\n border: none\n border-top: 1px solid var(--color-sidebar-search-border)\n border-bottom: 1px solid var(--color-sidebar-search-border)\n\n padding-top: var(--sidebar-search-input-spacing-vertical)\n padding-bottom: var(--sidebar-search-input-spacing-vertical)\n padding-right: var(--sidebar-search-input-spacing-horizontal)\n padding-left: calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size))\n\n width: 100%\n\n color: var(--color-sidebar-search-foreground)\n background: transparent\n z-index: 10\n\n &:focus\n outline: none\n\n &::placeholder\n font-size: var(--sidebar-search-input-font-size)\n\n//\n// Hide Search Matches link\n//\n#searchbox .highlight-link\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0\n margin: 0\n text-align: center\n\n a\n color: var(--color-sidebar-search-icon)\n font-size: var(--font-size--small--2)\n\n////////////////////////////////////////////////////////////////////////////////\n// Structure/Skeleton of the navigation tree (left)\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-tree\n font-size: var(--sidebar-item-font-size)\n margin-top: var(--sidebar-tree-space-above)\n margin-bottom: var(--sidebar-item-spacing-vertical)\n\n ul\n padding: 0\n margin-top: 0\n margin-bottom: 0\n\n display: flex\n flex-direction: column\n\n list-style: none\n\n li\n position: relative\n margin: 0\n\n > ul\n margin-left: var(--sidebar-item-spacing-horizontal)\n\n .icon\n color: var(--color-sidebar-link-text)\n\n .reference\n box-sizing: border-box\n color: var(--color-sidebar-link-text)\n\n // Fill the parent.\n display: inline-block\n line-height: var(--sidebar-item-line-height)\n text-decoration: none\n\n // Don't allow long words to cause wrapping.\n overflow-wrap: anywhere\n\n height: 100%\n width: 100%\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n &:hover\n background: var(--color-sidebar-item-background--hover)\n\n // Add a nice little \"external-link\" arrow here.\n &.external::after\n content: url('data:image/svg+xml,')\n margin: 0 0.25rem\n vertical-align: middle\n color: var(--color-sidebar-link-text)\n\n // Make the current page reference bold.\n .current-page > .reference\n font-weight: bold\n\n label\n position: absolute\n top: 0\n right: 0\n height: var(--sidebar-item-height)\n width: var(--sidebar-expander-width)\n\n cursor: pointer\n user-select: none\n\n display: flex\n justify-content: center\n align-items: center\n\n .caption, :not(.caption) > .caption-text\n font-size: var(--sidebar-caption-font-size)\n color: var(--color-sidebar-caption-text)\n\n font-weight: bold\n text-transform: uppercase\n\n margin: var(--sidebar-caption-space-above) 0 0 0\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n // If it has children, add a bit more padding to wrap the content to avoid\n // overlapping with the