From c4bde80ea38a471c5f6060acd1a1f5b0b759d50e Mon Sep 17 00:00:00 2001 From: Florian Knoch Date: Thu, 26 Mar 2020 11:25:52 +0100 Subject: [PATCH 1/3] Add content for chapter 10. --- .gitignore | 4 + sections/german/09/09.md | 193 --- sections/german/10/10.md | 119 -- sections/german/10/minted.png | Bin 47273 -> 0 bytes slides.yml | 1 + slides/chapter-10.de.md | 127 ++ slides/chapter-10.en.md | 127 ++ .../german/10 => svg/chapter-10}/Test.java | 0 .../chapter-10}/minted-haskell-crop.svg | 8 +- .../minted-haskell-english-crop.svg | 497 ++++++ .../minted-haskell-english-orig.svg | 497 ++++++ svg/chapter-10/minted-haskell-english.tex | 21 + .../chapter-10}/minted-haskell-orig.svg | 6 - .../10 => svg/chapter-10}/minted-haskell.tex | 2 +- .../chapter-10}/minted-java-crop.svg | 0 svg/chapter-10/minted-java-english-crop.svg | 352 +++++ svg/chapter-10/minted-java-english-orig.svg | 352 +++++ svg/chapter-10/minted-java-english.tex | 14 + .../chapter-10}/minted-java-orig.svg | 0 .../10 => svg/chapter-10}/minted-java.tex | 0 .../chapter-10}/minted-overview-crop.svg | 1001 ++++++------ .../minted-overview-english-crop.svg | 1406 +++++++++++++++++ .../minted-overview-english-orig.svg | 1406 +++++++++++++++++ svg/chapter-10/minted-overview-english.tex | 45 + .../chapter-10}/minted-overview-orig.svg | 999 ++++++------ .../10 => svg/chapter-10}/minted-overview.tex | 8 +- 26 files changed, 5914 insertions(+), 1271 deletions(-) delete mode 100644 sections/german/09/09.md delete mode 100644 sections/german/10/10.md delete mode 100644 sections/german/10/minted.png create mode 100644 slides/chapter-10.de.md create mode 100644 slides/chapter-10.en.md rename {sections/german/10 => svg/chapter-10}/Test.java (100%) rename {sections/german/10 => svg/chapter-10}/minted-haskell-crop.svg (99%) create mode 100644 svg/chapter-10/minted-haskell-english-crop.svg create mode 100644 svg/chapter-10/minted-haskell-english-orig.svg create mode 100644 svg/chapter-10/minted-haskell-english.tex rename {sections/german/10 => svg/chapter-10}/minted-haskell-orig.svg (99%) rename {sections/german/10 => svg/chapter-10}/minted-haskell.tex (91%) rename {sections/german/10 => svg/chapter-10}/minted-java-crop.svg (100%) create mode 100644 svg/chapter-10/minted-java-english-crop.svg create mode 100644 svg/chapter-10/minted-java-english-orig.svg create mode 100644 svg/chapter-10/minted-java-english.tex rename {sections/german/10 => svg/chapter-10}/minted-java-orig.svg (100%) rename {sections/german/10 => svg/chapter-10}/minted-java.tex (100%) rename {sections/german/10 => svg/chapter-10}/minted-overview-crop.svg (77%) create mode 100644 svg/chapter-10/minted-overview-english-crop.svg create mode 100644 svg/chapter-10/minted-overview-english-orig.svg create mode 100644 svg/chapter-10/minted-overview-english.tex rename {sections/german/10 => svg/chapter-10}/minted-overview-orig.svg (77%) rename {sections/german/10 => svg/chapter-10}/minted-overview.tex (69%) diff --git a/.gitignore b/.gitignore index 41a67b5..f529b61 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,10 @@ *.toc *.fdb_latexmk *.fls +*.synctex.gz + +# LaTeX results +svg/**/*.pdf # From Reveal.js .idea/ diff --git a/sections/german/09/09.md b/sections/german/09/09.md deleted file mode 100644 index 90e17c6..0000000 --- a/sections/german/09/09.md +++ /dev/null @@ -1,193 +0,0 @@ -
-
-

Mathematische Formeln

-
-
- ---- - -
-
-

Formel-Umgebungen 🧮

-
$2 \sqrt{\frac{\pi^2}{3} \cdot c_2}$
-

Mathematische Formeln können nur im sogenannten Mathmode gesetzt werden, der inline durch zwei Dollarzeichen aktiviert wird. Außerdem gibt es eine Blockumgebung:

-
\begin{equation}
-  2 \sqrt{\frac{\pi^2}{3} \cdot c_2}
-\end{equation}
-

Pakete: amsmath, amsthm, amssymb, mathtools

-
-
- -
-
- ---- - -
-
-

Einige Beispiele

- - - - - - - - - - - - - - - - - - - - - - - - - -
QuelltextErgebnis
\sqrt{16}$\sqrt{16}$
\frac{3}{4}$\frac{3}{4}$
e^{\pi}$e^{\pi}$
\sum\_{i=1}^{n}x^2$\sum_{i=1}^{n} x^2$
12 \leq 4 x^2 + 13$12 \leq 4 x^2 + 13$
-

Durch ^{…} und _{…} werden die Inhalte in den Klammern hoch- oder tiefgestellt.

-
-
- ---- - -
-
-

Einige Beispiele

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
QuelltextErgebnis
(x), [x], \lbrace x\rbrace, \lvert x\rvert$(x), [x], \lbrace x\rbrace, \lvert x\rvert$
\exists, \forall, \in, \notin, \infty$\exists,\forall,\in,\notin,\infty$
\alpha, \beta, \Gamma, \Delta, \varepsilon, \pi$\alpha, \beta, \Gamma, \Delta, \varepsilon, \pi$
\rightarrow, \leftarrow, \Rightarrow, \Leftarrow, \Leftrightarrow$\rightarrow, \leftarrow, \Rightarrow, \Leftarrow, \Leftrightarrow$
(A \cup B) \cap C$(A \cup B) \cap C$
(A \lor B) \land C$(A \lor B) \land C$
(A \cdot B) \times C$(A \cdot B) \times C$
-
-
- ---- - -
-
-

Mitwachsende Klammern

- - - - - - - - - - - - - - - - - -
QuelltextErgebnis
\left( \frac{1}{2} \right)$\left(\frac{1}{2} \right)$
\left\lbrace \frac{1}{2} \right\rbrace$\left\lbrace\frac{1}{2} \right\rbrace$
\left[ \frac{1}{2} \right]$\left[\frac{1}{2} \right]$
-
$4 \cdot \left( \frac{1}{2} % …
-

$4 \cdot \left(\frac{1}{2} +\frac{3}{ 12 \cdot \left( 2 + \frac{1}{86 \cdot \left(\frac{1}{2} + 24 \right)} \right)} \right)$

-
-
- ---- - -
-
-

Darstellung von Grenzen

-

Mit dem Befehl \limits lassen sich die Grenzen von Integralen unter und über dem Integralzeichen darstellen. Bei Summen, Produkten und Grenzwerten geschieht das automatisch.

-
\sum\_{i=1}^{n^2}(x+2)
-\prod\_{j=1}^{100}(3 \cdot x)
-\lim\_{x \rightarrow \infty}(14x^3 - 12)
-\int\limits\_{-12}^{4}(14x^3 - 12)
-

Der Einsatz von \limits sollte im Fließtext vermieden werden.

-
-
- -
-
- ---- - -
-
-

Ausrichtung von mehreren Gleichungen

-

Die Umgebung align erlaubt es, Gleichungen zum Beispiel am »=« auszurichten.

-
\begin{align}
-  13 \cdot (4a - 3)^2 &= 13 … \\\\
-      &= 208a^2 - 312a + 117
-\end{align}
-
    -
  • Ausgerichtet wird am »&«-Zeichen.
  • -
  • Zeilenumbrüche werden mit »\\\\« eingefügt.
  • -
  • Die Nummerierung kann bei `align` und `equation` durch durch ein Sternchen nach dem Umgebungsnamen (z. B. \begin{align\*} und \end{align\*}) unterdrückt werden.
  • -
-
-
- -
-
- ---- - -
-
-

Mengenschreibweise

-

Manchmal ist es notwendig, im Zusammenhang mit der Mengenschreibweise Prädikate unter Verwendung von textuellen Beschreibungen oder längeren Funktionsnamen zu definieren.

- -

Für diesen Fall gibt es den Befehl \mathrm{}.

- -

$\left\lbrace x \mid tiefe(x) \geq 20\right\rbrace$

-

$\left\lbrace x \mid \mathrm{tiefe}(x) \geq 20\right\rbrace$

-
$\left\lbrace x \mid \mathrm{tiefe}(x) …
-
-
- ---- - -
-
-

Formeln setzen

-
    -
  • Bindet die Dateien eingabefile.tex, textsatz.tex und mathematik.tex wieder ein, indem ihr den Befehl \includeonly in l2kurz.tex ändert.
  • -
  • Kompiliert anschließend das gesamte Projekt erneut.
  • -
  • Seht euch Kapitel 4 an und fügt einen neuen Abschnitt 4.5 mit eurer Lieblings**formel** ein.
  • -
-
-
diff --git a/sections/german/10/10.md b/sections/german/10/10.md deleted file mode 100644 index 355acb8..0000000 --- a/sections/german/10/10.md +++ /dev/null @@ -1,119 +0,0 @@ -
-
-

Quelltext-Listings

-
-
- ---- - -
-
-

Installation 🖥️

-

- Mit dem Paket minted lässt sich Quelltext gut darstellen. Dafür wird die Programmiersprache Python benötigt. -

-

- Nach der Installation von Python kann das zugehörige Paket Pygments in der Eingabeaufforderung installiert werden durch: -

-
pip install Pygments
-

Anschließend muss das LaTeX-Paket nur noch eingebunden werden:

-
\usepackage{minted}
-
-
- -
-
- ---- - -
-
-

Anpassungen beim Kompilieren

-
-

- Um Dokumente mit Quelltext-Listings kompilieren zu können, muss die Flag --shell-escape an den Compiler übergeben werden. -

-
-

- In TeXstudio muss diese unter Optionen > TeXstudio konfigurieren > Befehle - bei PdfLaTeX vor %.tex ergänzt werden: -

-

- pdflatex -syntex=1 -interaction=nonstopmode --shell-escape %.tex -

-
-
- ---- - -
-
-

Code im LaTeX-Quelltext

-

In einer eigenen Umgebung:

-
\section\*{Haskell-Magie}
-Quadrate aller geraden % …
-\begin{minted}{haskell}
-[x^2 | x <- [1..200], even x]
-\end{minted}
-

Inline im Quelltext:

-
\section\*{Ein HTML-Beispiel}
-Eine Überschrift wird so ausgezeichnet:
-\mint{html}|

LaTeX im Studium

|.
-
-
- -
-
- ---- - -
-
-

Code aus externen Dateien

-

Um Redundanz zu vermeiden, ist es manchmal praktisch, den Quelltext direkt aus der Quelldatei einzulesen.

-
\section\*{Einfache Java-Anwendung}
-    \inputminted{java}{Test.java}
-
public class HelloWorld {
-    public static void main(/\*…\*/) {
-        System.out.println(/\*…\*/);
-    }
-}
-
-
- -
-
- ---- - -
-
-

Minted konfigurieren

-

- Durch optionale Parameter können Zeilennummerierung, Umbrüche und Farben ausgewählt werden. Außerdem sind zahlreiche Themes verfügbar. -

-
\usemintedstyle{monokai}
-\begin{minted}[
-linenos=true,
-breaklines=true,
-]{javascript}
-    % ...
-\end{minted}
-

🔗 Einführung und offizielle Dokumentation

-
-
- ---- - -
-
-

Quelltext einbinden

-
    -
  • Abschnitt 2.4 enthält zwei auskommentierte **Listings.**
  • -
  • Bindet zunächst das **Paket `minted`** an der richtigen Stelle ein.
  • -
  • Nutzt die **`minted`-Umgebung**, um das erste Listing mit Syntax Highlighting zu versehen.
  • -
  • Lagert das zweite Listing in eine **neue Datei** aus und bindet sie mit `\inputminted` ein.
  • -
  • Ändert das **Farbschema** zu `borland`.
  • -
-
-
diff --git a/sections/german/10/minted.png b/sections/german/10/minted.png deleted file mode 100644 index 597e839140fcdb2a66fe6cc5c31aa002ef967d4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47273 zcmeFZRa9I-+a?MzTmlI$fdmNdZV4LPoj`DRcM=FL!7aGEyL)hVcXy|ess3jDv*u#v ztpD7di<29gX7}#BcU8UbW0gQzX;BnJJVY267!*$FQi~#U<={jfOnSAGS$J4 zS9Stoityl{JG_1X_#M|?Sk+#^%Fy0P$JPMG$kNKffYwgW*1*8h&e+QSezyR#%)I3 z%_>x0oWvJh0G{OO&$Srb2k6T)mOoiy@ZjB!SCK3T(7(oii6sBeQJCMxKS2-Cc_Ehg zpHE4C5Q~C-+85!I2?q2h!_QAr(4Xk!|Nlw;Kl)4_UT^N~*qyBlTP`=cjwtd;&9tcke?=w8D(^nMcQ`u9vk=Lg2xLl{>`vt0|vExw4H6{jj$JOCM)8gfpKT_Ra8f1-crqTsEjTWIb zmnO422qKr(LBVU8;j7cM8@AZk&QC7JqiGL%@Th(pz3tOjhC?ryD@9jCZEP4T4Tn0$ z#v+~`Aqvf|4u^+_L>{7GetEaveN(ViW?EC}EHX>9Q6YuZ^Tn5L@&MCS^tb5QMe!gQ$@!5Vy%$N%kOb&EPUF1(mfx+l^Gh6o0ynf9xcS( zZ;kx~E8wHoK~}!TlBIp&La5`wyj)SxiH4VB@0=e$obVgQ+g2YbE=#Fa)~ucE=RFK^ z80Ju1Ge|M3Ih;AdYFqY88HNmhBZJom(_b@1M(df~uVPww*s=Xkd}^0}84k6Lls@Rj zGYURW7=O_iriP=Xd2+vrK^J&<|5zNA)4S#QQFZ;Stj3SkZ1qr0wJOg&3c6aocx9x< zFCXT2#3W_9+WUWoKk(`5%nF2QbB6gx!TBVj>i(K}1w*&k)aJbkyNR{EzOmiOPVfG* zEgmaFOmxt9=aU9Yd<{c=;2`^!fl^galb;DTSp6hHMr%I>_ z;NZI8)^XO2Ra>gGJoLuJn-ICD4{h%b4bCz9gHJMDFq>#*GiIuXtXJ2R>XfjyBQ{Vp4-6UWHEe3-OCBtSF1|o7G&Vobvo@!m*KFzgP(gnx2tIn&JR9G zk>@3wF!Fp;RP>|c)otsuPu3?6+gICzu-QM(^>O%##wXIDQB+iX<*nvI6AwzCT!+F% z|IhN`p7DHTiVlp9-MXfaj#!R^M_kyY`&yFATnQ?*`>8m#`KukyrDuwTvY{4?3&_1_ zV<_oPKFb8+JVJw^@fb(XH-lbx=l|l6E!d)K-B(CSIbWP)FaH(eRLF65P;$6+gKV4} z$sFt#&pFwo>MV_(Y`xnab#PGGCXOGG2-VVkOuH&Ntc(oUgvauw`>gN`b1+iU>y$uW zYim{BW(BLEH7C%kPN?Q;PDxRkLZgrrj7mq!N1L(=+kS{s;^zAbk zN4AwJ5@!A=m+w2}7Q1XY)u}yJab6#}SQCG(zYts!4D{c>eZP;l7us> z|DpBo^KXe-x|q9%ldbxl%iwOARKHl-_7&~a4@WDdE86M5_{vQu;n^&HJ#Ue}IhgS& zE%i*l`}Mla0LlIkULvle&rMUAni_}sO^LSuq#_Qhc&dJklA|LVx6|>fH1%pz1FLVK z!StmhM&!idH4D8SKy-K6l*p+`?e|~ed$sz0iJHaEq~{c+6L;DihtHBP#Eca>6Nk0< z%{W>bMV%H27ULVeEc1`J)wpep4@pdCXJCF9SEg4z*3ep+d-+%h*2cIF66afLC&Qe; zd})0$5xxy_n|{1q?Ioyp_Z8Gb8!J$!7QDOGS+J?G@my_z1ydCla-n+9x-TmG{Gl^1 z%*nyZb^1gMX$H%{^d>k(+nV|W>u7NvcC=brrD&))q0$ZYqH(CVXYq~qL|?AhfRx@I zl0?3#%9M4JPt3~=_E2^_n*}cu{*>Vq_lLz^V-`HY#yHFG>m5T#20<6$b&UtlZhMiQ zLMH1%x5tg#kZN@tPK=6*OPTg1T4v0iu-~4KA3pC6yOLR1?apDUFK$$9?;K#~XlQf} zC$Fx_)yxVC3f`Ud68H7@zeuxMX;Cazzv2@Gz25m_?D@vu&(d|DJ{HQ97|Kq36+yr}m7TCn%3zO( zP3n2Dya>%{CnzSs9d-VauwVfeGv{y4!;po(pAv9&_6Hba`D5?$Nx`B{D=c`KmLS25 zr(z;GKt_uTW>IlrZH_^8Y}4$i@IA|+-aCbndtR64nH!Vps`nmv*Xc^t%2n1D?MA$O z%qHoNKK*@T&oj$U?cqyR2;<{Fp4>NHFNcLOtP;hsGGn@4jhAL~Im`0Ls3?cxv%gur zzd9h`bB})shkANgIihP|pmZ(r8^D~+{DhRog`=^M1r|J%P%8Fy_x(H3Y4TmnS80=b zO`?0?@v{`qUq;lLSXhSoE8zOG9P8L!8sgDeehX*ioyDpQ1?xhSy6y!I8Hci=G69}j z0I0g8lpg~r7ji~#gL~>|tk(uUYU52=$Y&!&V1C4%)BOaYKQ=n`f>XGNN@RJgpd_&& z31{*2W`0hxDOT8N4{x^q%CCO;;iK>)q;sn9KEHk-j<{*0k&}~iti{7k%l%B4Tq;pW zTpY2yyc}&N5455vo|unPCiNy{{TT|Gds}k{XyMc}bndHcu=^Y_YuYn#vNQR|f@JPD zrp#c8cU=lC5)kPcZ_w??kBk|8Cl;x~Y0ucf!WCJ${=V1?dOJ%&5*SS zmUxt?Eoxe-ZJ{!XdiDK=>+kGEI){UO?eBl$jqd~GlDW!kGM@sQf4;n;Z?>mfC@PFV zd`|`QCn*VX8VaUmU1_dumdR0mwa5Z~1{=B;^YUktanq_z>@EB$ZqKb--i1ZN)+Fi# z732lb+DA~mM7V1m4YXAB3qaGqNS%0I)7joX9p{(>CxHMS929&tVRs-=U!?7x?!|n2ICtN@CFr-Cnt}-+xV;ONXd)l)C1u!j z*k#^~&!|K?v@OOZwG7%3jo|K27Al5s7U{R}-LqOO&0~17{>|skd2zp)A7t@9v7Uu_ za)j>R_8sfUMS7~|&%0lvuZ6ycliJ(orAuq76P&Scz;bvTvA{s+4m-!@-+C)gspBrA zdh$ZJC`yxA3LppF+BOxA9b@wm(^DGw^T~5M?(Onzyikx2`XR(yp8VzQ|N z)dXvSxkiFagO{#q6zi}V!FBBQ1EkiglF{_z#JmjiB(LKZ4!hmeNC!m@MPx#1U&-xv zZ@!;r4maHbWTOJ+c z?d10~8=3Ef?;c#wR2+MbHvM7waqj7ryFm%jx_x?WXdnMmg_S7qX;1Z_ zea4ZHw?O+}ay)#a<6cy>2jr5z;qr2_b@klxYJYEKx!C}zu3;bBVnvIf#Vn3*&c?~V zKV~gT=2E6(sR?1DXKzO25wdbWmSytXSaf!Vj-C5_(e88aTO@`V&#BOQ`!J<)6+E<1 z<+7>(9W`GbrInNgqQ+z*GuJZEZMBIX6TwgCAm zBJ84AQ#^RO-Kpm2j;r=s&6&dmos|;Ndkx=j!}#c%x-=f>-npvpHvlwSPYDj4#zTQ8 zYU{}hy$P{evqMT4cSMA-I`K?G6Xd6<)-qV=*Yw<|kZS^Gl3ZepNga6{+zJ_(%vbd% zx^iV`U2rETBItJ?5?B|A2Mq{7XU2&{Xe%>xj28pt74|V85z>2{rJoz^+N7MhwHoi^ zC%o@ZPrMy^WM$2;_5tyCa59o$5(?S22(oBYSY%4vaG!USW?x+g(n@RFtg_zS^=+-+ z4DD{ge*C;ARc9g!^Cja+8xLFZf)HUY*Msx6=y}jN!%X6ZWU*2Ff&-m}DUYgQMAS=G z)7_O+dkq^##rzi@kd7vo`>~A1?{zRfZ}vnpf`Tqrat{`9l}jeA!ii8MViz603tpZ$ zA)?K+#^ozfdk9P_c&Xv?;CMEf^;FpCJs!Z%*G%2O-s>NXXIIdEn@Lq*RLGG`ce^>h z+`sBom;m&FXjvhFrMn5s2Owbp6lc|EpVk<~DaS7+Y^rQo^20mU1%i|qV+~`&NjI4o zx0;9)J>~e+Lu0Gi3NTxw7(R1Osh#T#pIIDim; z_C;U+$s03aSDO&23YvZtCi!Xv*?Y7NISR?Pk1{Wc2aC#>ARE1lC!W|7#E*pFkU`dM zKmL`Im;biKF060biP^v(Y2{_)$zoW@oxsLx$}GiSI3v+d1wp^o&8! z-lP&)(#4`gZ|u|21p>x-S;Z#uQblmF6vO8^g2Jk~&cDW?rC2LMsr+rDvuPxGsi{_- zvUT@};IqlS=p)lNs2&i&f38UT3LAQmvwTW_oCYHFT^`H-j%+ZYK*dX+{96a9{;$oQ znE&}~cX#*M{Xyx*&Q5Q@+mG<5sM}qEm`#t@3*oF`7ds;teH5vG;^J;pA@9LT)BiSp z8GV1ZI3kIX&<{#8vD*rm^`JD&^e)r4g%NTaPv*V#MM26-e%JOhwkp-q1NbV z5qPhrruJ}ecGq>k=1+XygKu@ZVAUEU0ReaMq`Ao}C6j;n%iJ^I;U_j;lXqq4h29Ya z5^#cBuLT-m2K_dV9@3bOQY2^E8Ai;LIj3SWGIm}Fg%<+>aR3tG)9`uS3bH?*>3P~7H*FYT$QXJDe zVkal}+uYRmL&nurd;;)fyxHwWKD=*aBsVWFAR|MRxUjL2yVDPa`o@=%pTAXe0X%;l zJh8<7_6xIA(VLjC>wyK#M0D|$w3f;HDy;9y4my41WFihPYhI;6#Ql${33;b4zfgAf zpT=BjE@005F0t2G3I&KAcmD=y-zcvXBHrti+d@6|EVJXubZGVDVCTtog9%gVIK&j~ zMt?=l$otlNchb0_X#dxNfC|g=xGZF1UUHr*5TBDhWc~<$5_?I7%kU%-<;y{KG0IW( zT~26vbK_BC9a`(jL*Ath84ur0n^z@&?YU*lUPD7&-46qUZUD*d9%1$xPg(|w)GCj= z=4lEdaIpRvsjrg!bR?70Xn=Br2;<%rF+w1|!tYS|CnAV;-*LqlW?4Cvb0+65}5 z!(iTgrlEPYI$v!jVo_~66%-HJQ|wOzdt0-&d#GbQur;9lFgL_ z`JngI%A++F8m5zZUsL%!;E|ELrl#I&XlV3=5kkJqm|h>wf$vwZF&F#x4PGHvI$N#M zki~rV4=%Hztfr>9B0m>bBHj0f)&2b-k<4_*qj||hmOy;=Dp1@9y8`0rOvOr>vEIOVi?v=pT3~> zVzogqk7(R2NfZ`jx+mtMtYq8=K!XY~@`r#59t|~1BZ&AcnGP#psHc{YAvHp&Uc`r`6J)AtS zJ(MITu47~*y44?(FPHg7OH0eC-u%G0Q&!=#YTN=x(RwA&sn)#lgK)I`48 z8A|Hauxjqklgo78%Z{6EaG>UYIDHvKA(Nxm88Q&N^%%0wlKM8lcH}`v1gx~usfZ+LSmSdyQKiHQvi4Rc_W>TL~J?Y1Rjl9Du-remnzr!g^~5FS{3 z6b)1K-k;2mO81nLi)e7av(3LM)oLz)sRnIT{>EydMhbR6J5Gx!8k~lTnVGrTc#Kp~ z4IFE0Z7s`eILHu9Movy8At6!yqx~18$AiAUz8+Eb`1n|4X9d)Qs}3Z3oGB?WF*$tp zr(+^`Bn9vJ@{M8MGUqd00}G2{c?E?Sd2xsRNwK^8d#dc{{^4O|?*`Au26^%Px;hR6 zJ-tlBq5CCXbi!g98k))R?Ch17Mk6Uo)XGJ&GbP`tHxiIYgzgx;Z1?6@Ispa@t?}RY zJHI}zMF>Lf=pD)xdIb7UhE}$#p9MQyEz=EeS>G2v#K(ZP;h!*{awu#+pP_$!^arB{nq~83U}MU=&?%j)x*Xiq5ur@$U>LZ`@x!FTIqLyS-bghvVVl$y3b7fVsZDo-EZS zhQY_j9~>O4^L*q2tHOMtCbXkN!1ZchSby{67#0mpKu{2uy=0Sjv`j}3kInpcbO&_R z@WfA2TZ27|J;oZDW21StABS^O=&L;evL#kq@xZ_C20aJxQo!J&SDD*y8z8aYx`wm< z>OAC}`I7sNx7EWAeNR$Y(n|gOu5f)kv85DPwe>y!{qF9jCYlXa_)&r4d3n$2MPmLH>O zUscuAY;I3=04_^lG7zu7L9^Z-#O(Hkh-{dyvUCi>Ia@I zj>QVr+qYmuU|U*l>fqF4j)(yCq7aVEv5k#QQqG{^Vr}T+%32^Y)Ze?IQdimJ4Bvqd zLe4Om%6TRH>P);+C1n3|_HKC&+|*&=+Y5DMz+(M8g1s~zAmk@|lhq2wtm=u%Q>91w zD)~eJ^9o4?WkgD4V_Xr^5E9+GudlD4o}PZ7p$P%K4fhD2&z%Dlz)ws}=PhCrpvsJz zR+CMW{In4`%`>jP@mkIR_duiF@)y_#>l+(_plL2OIvIgkwzb?UA4J6KDqF11s;jGe zdRlitq^fyNR904Y+j+DACYXPAHkq89oL@wKBPR#XEibU6WFmQZRfeZim^|0k{qj({ zRzg~h#`SYNs=`arOql}G0zS|!H~bsR%50k4CChvSm?Gj&N?UxaUI<1`^kKAHP5#ub zRZ?MsQ;svaMRFG$grC8Dg|8LhPAJm9_i)^0UWQyX!|}!a{YwDjdAsJ10ReaXnTjd{ z6waRVCwiSaH!johEHU@fcDU$mv1Thu@F;GU-NHfr$H9uXT5g)l@;%U5YH$el^?lV7 zf~yzJke#&%Az~0N)p~A(!=mdN8ynlbnKMc~TXq9QAdX(!@M3$&Z|^I>)|G!Ea%`{n z(q(L_9J555iF~yX4Te)VfpcPza^Z{$m0EyA|3$yTbEr4vmUmWlcJ;^B7oh)2R5^Xx zgWq%6gVEnIiil772Z;5%Lfxi9w+;OxeZ}W)KYAw12@b=fL}C9#LgWd{TBWLzfbb-= z3)I2Rj=>k-l?bsdwSMfCXTuOk^9+_0G#V>pq5$>|QqFy6F*gud_|F+TE$orx8)8XyG?ZfE~%|Ua~;mqZP3@i?->AR^y zm7UwOjV9nW@<0wN$#UH1t4w^93%7jG_&$92;LYoHjgE!Y6G`Tz%jFMv@zhB$m?+4Z8-^d6BA79Gos4PH%{>p{fa+xBB^VPw%%dWwIXaNY(+Z~LZ|Gm*M zp=2yuA`bZ=VE8X*=US)#+4VI!7+SE#Z7#N@0BV#j!IH+9yXq9F&bl^IB6PS&@iHWU&x;HyF7ZDlRF;{6MCM8A2$QZG{t_v>K*WVxR z>R@K4a)j?AxcBJjcRiu_qQ4Q}tJYc)rg}Yb4#dWIq7{K=9E?qmfs5OBxi>Lj{{&10 zx|B=t%hrMgnGss}?`b@I7qYK17Wo}je!9I>lCz0O*8)v9daiXa`mS-?FZEhmUFj~f zpQ`c0Lf%l-Uls%YndQ9WrB*NEC#U>!;6bRFJZCF?efu^0xHZv53FTJDyTW}${%t_T zW1BL{olOAZEJ517r?SeN=a0fCyL*0-UU#<#4d^+8zC>U651Sr8)o0f>LEdzc1Ja7!vm-@Q8&nhY^O6dZxU+01HQvjeA z?`btCq0w^B;2ZZx(*^sdr>A8NO-%AzAjjO<(NAJ+urJ?y1|Z<|X8`$G0Z)97j-IwZ zU0i5xVKD_hfYJ*HfPz#!Lwi~CkMw$e5K3=?`8r@8B<+dJ#NfW0A|^Z`?@S; zc8%pyftJUW601(ftC-Z(=e8X>U-T_uzD#-PnqJG?-b5ll2Z8^oIq;P`+alSWK>DI| zl_XuYxZW32CoWoo7pTfN+DYD?qjXCMl_ZI9ne6Fog#Af0@2(2|>uc$-CUrsrT!3FACac)1}x!rD^44Hb5}>l3p6ye`^&wLE83Vq_dxhx`3JNA z_d$rZ2avSrCkOIJc5m!?#jyc!pq$6oc(BTe;iBSfG40$mc#KeCL$}L&|6FdAF7mhz zmsu!flM-1WJ0IFS#Ar4-M*!4+p8|=IS1eEr1RN8#%z8}#AW{^_LXCw4pt1eD(j>lr zvi2yiF6vVg@R(x$b`WgaCtj#RhN=FotBx~rP3>Q*LZtW!Mep}GEQx}9j<)D#r}M8> zA#ndf8oG*4abV6%vTP6ZX;?+C+B*84%6rdMA`%nDg@j&lJ07+T4WY=$$YeeuARq{d zh%g!SzZ)DHf|g@;%SD(EOiYo*8nxmeE#geGxfT2WsHsTZqn~C*H$B3`xk+Yf45}aU z6!1^Cc%9ge5{039#_g0o`(|IHUg)*SM43(%FghNpF1wxZW}X9S2l|Vxon3iF1=Bn> zI(i!zF%FOW%MD~D_%n90k5V#}fXRx~;M@t_57YPOetR#M6_oPrdHn=R?{u~Y6UZ=t zRqnj_$%G1Sq|_q?m?1zTz5RFc5zCKu^EPG!D6$NBdmqT1r5GkrW-;1;a|M&9qwS-u zb@y9|Lgh?w6OEwN_HT|-QpH2})}(zA!k5-G&%doU%hnH7*AqC?=J9gR{K=5OTBlYN zZ@|%)j8?X~-_SDw*25-j^`fnRFeucAeSLdX#NL$UDd~|j%GS?JZ6|eAGLJV~(5f8^K2yi#c@?kE$NFr3%2^$) zLQSdkTR%r5&U95_C;ntQY+JD&`MH0vy~W1DG|V-nq4Y{n&(bh}9{dHyRL1@7yH6zu zBq3IbLrLt+M#BUEkNq1Q z%(B_&3Bh9xn$dDYv9o)8&N5%Di{P}ooag~?REV-0oadXkct>xqKYh#X3!@!=B9dla zc&$<`UZ5X9+IFA}JR>u6%$NnZoiTs@paTqw!{f~G`t@rVWFnq;(6sRhiaTOO->$>{y9fqw8JxM@Nu0*Q|ez(^0KP^9H>1U(IqAO=S z$Cl9IPS_&vl%!^Y{76;7G@>_Dd2ICIel7g^RTXMl!FQ!E{7W@E9Yim<;VPUqwV*yc z(B?8AiO28WVK44A{%$!jI^Z$m7+EL}xxovUc#WOO0kwvJ_LrWcC#8I?)>jl(3H2vy zR;pM{YiYueU9p+D&G1GDMTO~Qq-CD|DwKMfDpDMss$JKn3bhYOs=G7C+)rq4&&LWL znjOjL7>3C$-O_ul|C4y`YSEEu@_7=wf=%Y+hG>MLq^fM=ATd|WEtnF-`8X;#+446% zGs8j19XKvKXfTvd7z*$kci}2FN=LbFwW}7&|Cl~<*&1%klP*7u%jW7*%b3D7ebX^S z&86@Vnfz-|cYU3`)|e^AYn>Q{i50`C>^-CHm8{e0x3;&}cfK_MHLlBRY7D1~)E0Sz zTLG&FJOcq0)vz~=@bX|L9Kf-2ppD?|R{;gk+Z%?7nK^;Q1jBB7Fx}~7xe0RINWfw3 z4QN|5)~^VF`(g_K~Z*mA#VD*R#pN5|L9^O!a2_dh?!y{6lD z-**vo=_vMfyB@Q)5!`B>drpD4744-j&s~JcC7dv6Ujg_Z+Am)rKM9mG5d$3rouDt1 zVY7r}^UZ{2hMwEJkT8j01-6rgJhetc+!)bZ5$a$k+R1S}i4&JY;`*8+_UedXD%<%P zk*zpoD;4~`B1?jhN$hvnh0V*DimEsH1$BA$#jr`SZNp9e{(0P$ZwLW#4fW~FGHG3FPC)W7K`UkiAunc26J_{ zlZqdc3eeioV*NxO4HJ|6@87uEQT28^P-zC}Vitcw0(>%Qscpw;#-FSiIG zmz0!%7g|7@p=4)gH!v{B23q^IzYPQeDa?^dTDJ3&mycv(XIB9v%daAt+o^y`sUYvy zuV3=vV$#yeh04Y9Z{NPnKE@V!@aX%dz=^-?UN?3vyCiGMHT?-h8z%3q?plPK#jlVT zT2qf*(ZMoi*{1+;F_3O?&L5KyxuRN7&Z#xB3j0L3w&6p}taI@SG>2Co_FWYd?w7%u z0%nn`%QYzz+4$)IeSdFeBwTu&z<|3J%yDNUz7^V4XO5u~9o!M@2kLDm_VAR>-~O@(Dkq?@&-2o z8@V+|D`oT3rzkthIoX*O8(IR5$&Us*j2SOfY;`Y1HJ5DRl@ukF2e&XRxU0>6=>>D& z1ctgPAu?CU33nR=Ib7{eO%|y|iA9m)#>^C|gqM78#EW6IT#N@gPnq40^oy4-ad}-? zG-}M#f!7cpACF;CYc>-G{)$txw6xUs?_XM8-ezJQkh>YYp4_)bQe^)=KBjW3OtG{AVx@}Hla9dJ{USP49qJ$CCje6 z$&2ji6SdZzj|Yuboh`Rk*A%3jzd%F9a3{ync3Qy*oK1*k4q0JI8TFOL<6uv#H?u2P zI7pSGRyKf$a)4uj2j?Dl7u)cB9j&8gV&Pf)Sv9l0MUIwfgyO{?+~Vib?@N&~vvaPB z6p#+3AiIk(b&W{eq@yY6oJn5dfU^D`4t$wNVNGn^DJ9DVe$6&S)LMl;!7ZmpU9M7Ojoc8VGgieILRtuFg)k9PTcBmt&-N{KHITAUrPnLnq?vpAd6@LA%4X@u-lBem9scq}<5m|Rz``~}R+O)?AK zTV~7EF;tA1VvV>zfBrzGf&WPWpqfrsz*`#issO-NUX)p_@OeI*^}6}0*Qlm?T+cBP z-napE;7j3Dg(F1 z!-^{;D};`1^&P}g$1oJ^{;#T#3W`Bgjr6+DBQZ{mRq9Gd*>9+4`^d+AiF@*B`aqWg z7gOh$J9Zs|0_h8D{Wb6$Ne&^eE-&5^IHYK|o*~_C+D!UXgwTHV+tIJ0V5Is@aqO(j zv)QEKdCkf{4!gH;jr)n>nN#w`GH@6(zJF5x`u)yKUW-dj98UKd{6rz=70R4RmmU<9 z&+idHqVwXP3|)eCTpUe)6)wY%HezyHTwL6T^8xz5{Mz@%Wndl+&@eDCoQlDnsk}?V8c0+y z_ej|Ss|bP7A40oI#!H%n%S8Fu4@F8 zXM$ovN-8=iYMN^_#Eir8kE+IeZ$TyBU4jS#Qhs_ZJm+LU!%}q08=hA%Q^ReEq~uco zV%0F)uwr?!!0PfBpwOmgNC|^nhZ;`JACPp=SFO~kD!N_`w=?P{kEkQ}t?D!ygE3@N z{`6QDrx3-TDe^o#naYMUD&sTHUeJA4Z&vTXghf3g4tP`;=Eohu@{R+3JBHesa4I!r z$E>=vKXxa@IUJ=h7l>?{OYeI65Qr7>1r-uKH?5qHz9=ugwx%G$3crq_8PG4*dfJ%@h}q&gE@}2!F0-!M5HWtG!cOod6E-Q4PF2N@oR>6Z z^H1jD18tD_kpn1GW!7bGX$R`Hmfu0`?E)^T1V|tQDdR7%TP)!AKvQ|2Bb^)s>@uKp z(5O}T0!$1l$rllkH-N0ICOa*Y(9(v2@ML;4G)@iFF*fsAZ{SxN4kbb(2mt}`0s;cJ zN3|=)D=oahGE-Go$H2qu2iiiud^RE=^mPplx;k>U4ewTG%k`jNdwc8bcsTo2SCPY8u`i&*-%<##4GY=S3j|4giS(3P> z>tm!GhCTBQIV*p@n6!>`;1dkr-V;L9yd;&}(>#6YS$72e?Njy%2onAXe4ME$VRSjr zhnm>HW(Qf1@mw8ZU}(+(m|mEma#wRx3zb_t83&|k^m>MIHAh;)DnpsA?pyi>QJE#G znr}L^3{O&qK+w34dN5OG%dctTjt~?X#f%b4CQ^Fz?HjDnWn#h0MOOW8a-9vW7V+1tTjvJvUVqh3mg(y6MyQQz z9KY>EFs40u$aK;F@1)2J2|-B64uVVihpzRX>8lLZ@Sw?9lHk? zPsgXQJl}`Hwbr%erh4{|XG;VI1$E5LB>>m-Voa16*JFMYAl;_39(g`VCq5%q)p~D*u>{tHh z2WC%CPqKAtDyoj9rR3=7aZ!P4by_$yqAaDtNV9FItphZLv$Hd=I>&>-1ZJpt0Gv^v zV+lY_$wp@Y8+bszq3PCosL`(L0Jl~+G*Kv?PN!+-sHL8a(i<(0dYEtARzwf^rec2;UF?d@5J zy&f2efid8r-9hPl3;AQS)4M4~F6k|{5-?#}g%-^KOHL*UV~AHNn)08QU-D&omIjVY z8byz8f(Iost1Fz-R0jqg!HxiG>cZUZ3G%+aKJ%59WEsA@%@zk}O83O;SpsN|pL8$; za3X%Mf@hHh4JAaOJar|9FFIDPEXucg-tG~GA;2S!O|P{Hc#r+@VnU_SNCnW$AVh#6$Md+H zdmJE;Jf%Q|5v{2v>*Cd*RDVyBgCi$w1QMcDAjLxsJq%1twHosTnq4db9u_rtAap{v z2B}T__xA{?pz>soUyMWZ==29#bXT1%UT~BoqJ52?NMJ$m?a4mbvso_w11t@+exvoS zKv1lX0=wRV_86z_*$1fJzoDV-_V%9uf1dYKmyQBLAstC-Ru_kY%Zb%>5@NeeImNhLh1 zn1U7<5Wx07dxD%)f>Tjo2!d)276G&{1DRsHTu&4z%mYBQ-kqJ3Y0IrPm$?v`73<0;rNJE2$ui!h4Si zuGHi6nPPwch&;74u$L=K`LA1^fq>tCsBK7<`(da2#-kP=?&DPTktmUx+u8V7^tVKr}sW>y5xIdv^MNX;C?7TU(cb;vk7TA_7km9l2MZ8(sXH_M=9K zJE_MG_Lf3c&}VsJnXKo9zwSgw_$k2`NR-1~ESbsz{O5XBRx%)?6VgveNC=7n2|0OA z7b8#?Vf<>H*o{ZM-=N^(T+bA#VR{e5(c?e4*UrwW0*Ity%JT@hpKGczzA_c-iyltNDtBfxbm}E#r;YJq3BUWtU-!8C2QA}gOZg|_m(LURsmPEducg1K!;i1p zioRDOZ!JqSgDp0%K7efzbcGG84WsXeT3IHas@R~=Qe+q<(-HFKN*DyQ00eqD>S|&p z=w{JkqGx01ad%e}+7-W917WltO(epb1#AhkDB6ItLKx0e$klvVIL%mr3!#tZeZ^M}8oU`|3fV1F& zn|&tdqMKvFI#>$apiKiW3Y~~(_z#I7uyoUazvX_jl-yd0giQx6D8StU1(!KG9Eb4* z2uw9P9@ROYk;0TVU*myno8DT-Z>W{W0>;AOV7lCJ2oHP!{9$9WFN#dJ-t~$K78cgo z)pdPqt2+dj`Cnfjr5rsqbuf^p$FjsQ2?z;I0JZ?+lCc029o<_xS1@;CEVK9dcqWE= zZ?2L8Fn#-j=}?Kd%NsLOQ>qv$C911?sJ^XHdwKKK(vl8%LZZ17jHZ*Hzof1%^5ufC z0ZtfD4>FaD)w{a8V~oM;C}6IEFafdwa9EkU3McmBfzKYe0g8z6?DLe0_8AcL*AEUP zj^?Xzf%uo7pHCK65AL$l9}QGlE*3zB!3H>Detv!`#XP{#rl68`+B3}QdUvo1s0v|W zVH_ZOU#!8-<#ap<-jrx&16h2U?+sO5)z|_&E`~qBKN+roRy=$pe9)Reg4d`!@V&Fr zMaRklG4NGEL}tx&TIosdnHXkPZCz^#b_#U z8yn2Vg{g_HnRF@%2fIq3v3syFYjmJ8PVO1x2WR6K%II_nLG8@3%4`ATMc2$k0;Ij< zD-{yfnO|!=X%AKz((qNp1360Vc2NNAk_pPKq*zJ0jSZE<$DOi$XNbov*a-HSsK%>V z@6S_$EN~z&iI=CEp*im(vl{lv*SGh(GsyQRA5!ukk(s#$+X@@7K`AscxD_XNmSHF` zqhi)D8$7be+ns`8!7DN6`Ld(}(ba12krg$w2uz3}n~RIAuXs|ym^tp+BIcVU81vB( z9eI0m7w-I^?Zu)_t4=M!g0;<2lP7w-b&&RsNa0>#tPvJaZP~lISViO2r#74aMhL5{ zq5{;SUlMV2HoK!F%g!4poo4_cyFWkPT<%W=gQBWyV$wI9%zbySpuumS+5!s^dRH1qyM~9?22_zxE zb6*XFo5M^H`snwneCEBmQJoNMuG}HaWLhz3*`E+h#f!<-&&~srIJ6(^wgYK3!g6l$ zDmU)w!G}S&Yr;6JT=V5xIcR8=DqK2L8S6wn54dg17pe+mB@4xD<7!)4&2sxs|8OOy zM7RoPN4!{~zeBdl=D!&^T&UUy-uH?QtGG2&@YrkCf)@UNh>~SCfDD-|Fs?-mfWU|- z3j__8=&O?zZIC}xr_5IT`t|3yX|?Gz%_Hk_gF~U|d{ut>@e!+3OG`@u2sFqN5fT;` z6%|c3xm+L{V3JG9#!#y$i;0PeFoxhT3e-0?7G`9S0v(xJzVkyXA z6@ZLQwpLQPUN2s^>jLmu-=}qSc1rL{Q)Yue;pAUVyJ&fF7gtwky3OJ7-r;H^oWB52 zy`>8dFE6jDGM!Gh;~UVk)r*yrIcz#)**xy;4XmuJ6sKdhYH;W31B;=$X}DK=nZ<_Id+&#; zklt~A@7C7VwGl^0M^K|9Vq=xJuR-eMr8k(y0QC7;xVgENXt!!*Jb?xnB0{}CQ#t}H zLj=SIJ1giq1<%oLqXz|qvrzcy>FEKXMOLtEy_wdq!YwATwPSA4p5kqR(*mL2^|{#1 zwY9IBngoE!ex#!d1FB!8*Rv;`X59}KRuwGJT{3~m>}TQReI3`bIUv$C^o9&T;4ydJOQ^*}f(4Z!m3 z5|W&R|H=Y{2_TT9&;Ul15LzEPRs&eP+?L2+8D4GE$CN8KzKRwI+o1&5=L5oSFt1V( zdS;etg-9LAw~z@{?6Zd0EmQ&8X1BAFUuxlk=`JvTt`q(wDl7Z&e7NMK`mXmG?(~K= zEDZje=<9bv(&Zn1q2tHSnwhs_v|=IW7)#PH@@LHIWkk$oM9#A67JV(x_yzyV`*K+^ z@zQf~=p-DeFphim3p(b`70=D?(D3je-N2InT!I?OUsUdP$I{|S>Xr{g0_CSesM25E zJuJ%Znrh`$1VJ-hEZAx$iZ4^8!NJF8evT6r78WKS>gjnSCKhSNz|T+Y;^M+#y9p0s z8QEGu9K@Y9XEQZ5-HhcmlcE-E0K`;k^;U2+h2 z*0G{HVV606!YoXYNB~}hm>5M6MevhXEHcuOidVjy|3Bh9Dj7w~ce6BX=G=2HU}(72 z1p+gDox`2&6(b0di}JJPIx^s;n(+;Wx*nk%dW-16A$dR7_ zteu{j=>t&L53v0pFE6hRJe6{w>HvYC0H}_u)`|Qz;Td_?U)>VtX9M#vOuv6~fr zlwJ&_V=$9p96p{vOy{~IXM)NTiwMv8_6XQSLrz0=#7YrgQKOT-M%{C zk_aK>#+sX}VEzcpa{t@P(lV^SUpy-->sxkkx9+RguUR=NODM6humI15$`o%<2?9W; zBqbq%1-Fbs$3B_}yrv(frih@hf)4zeSrZ_@Xbfy~JH0xOYrKsX&%(YAV4zkDIKgnN~Z?$8ca`3=&A^g$$8|I?} z2MZHkLA<7%tAX=_2L?|Z55^m|=VhB=dHLQldEG+ehV(q)D}&c-ZMP}|l=cU+D2<{g zeh?+6O_fbOxmICW75U!1-HF?~u@MfQHS6GEBa5#H;-qBS9oaHu6T{le!LMXAUh>eg z+LzV7c^fEq%kU;L@HkPzCnIuKQ@=+)+qKh<;8o+?zK7pD^0n+Mp4@yy9YEb#*-8VXf`%!m}lz zfZn&cwWag?^auj}U%=P_n(+Dy2G8E!-dADa*8sH#golfIdh!9HE32a74z;_r}Sh^Y%;IFQ){{p}Z z_2nC6sNM?w7VzyJ9v(1}4u8fcCf;IR++4Ztpo0G`AT2+iQi%cvbSGFCz*0^hZ&orv z-taR$eJ_wWpz1ykUiK4#l8Oqm1ou6C zZUdUN0RqOW*x1-_Qc~S${0}hP+}ztuEp+7MZzyC^UVTuTDDWJj3d&f9J>o%sz>`o z@h5B)1xbp1eYq6b*PQP>19mNE$WC94&E*KPt*p@09&(#F1x)BrWE^Hos;1D4cQ(Rt z5_&Xn=E{p7HVAH#I@K-4rMAB##R~kUrunA6h)vy8qa$Zy^Q<>1Yur+OB!)_Z1|#BI z_|hhZ*Qj7L9otXY2p63M?_VlPQVBm*OY*qE3IKnc(>F)?3wgCZUQ zHYNS}^-HC27~~ZatvLwt_4F#|gj7`G6qS|xqw75%T|2gH5n#5vb<6)nQ!0D|69&Y@ zA|o*}pfl6(aiFd3i{UmAiEjuoKXhXa!wJ~gB5Lp85U5HM+rM*oNK>mx7blS;lPV2Q z0y5nn<@vFpR}Q(h&;=S-j8`8<-=H|yjs-3?ASehCdLOQ?uD(Ntm}F#R&{R)kQqsUA zzwPEXCTOzf@K6%;ao8`DQ&W8awSJS94qG(KEi3y|q}`eVNOklB2o9XnGX!PKzYhNM zCZ|@`YSZ<9koT5BRlZTY=%!0bQV`d< zrBmtdhP&SXx#!F|Gk5Nn`|-{&BeL1-z2A7&TEBWa9l`|#-(S0c0#wBYm+b5#Fz5Vnn&)436j|2o|#Kp6&z7o-tsqLs)j|grdc{wDVf4=u; zNmuV3%cZw@5o#OQ(6+X=t%HNW4d#UAcABV;K6V8_xF=fP+(Dp zVWlhn41Y|99{@E|F)Jb=Apz0-8g(c6KqV<(=29a6%16Up7UP92PYyPJu#@P)G6S;1 z_-X+_5-UB7O-x2Ip2Wt++RU}!!CB1%?+_9Bw=5@II^5^*?6i}FRyg5orTHZ#R{^&1 zt*g7B-TxxsaY7CPTeV_6EW#v~6*@7f%MHF^1Y6vPtW8?}jji2S94VSbrX!h|PG4A7 zQWpRI#ejy@#Ka^`yWW$NherZPM(Bo-st>atCqbk#`Tn%1UncJi-CTsRVNcRw?Vg+N zyY)Or3sMQC{Oq(e6c{_iR8+`8?wj`cGX@nERXFXVf<~Tvme7;K&mv?JO5_qs@#srQ zw?i{n;0voaE#$v%WYM@y{`)3W8AbRWc_=i4T-fjbFTd7cxrwa^hsHWlja^bniS+GT z@V>Kd<^j?Gw+7c{LVP^ZW1xO^c8XeB-Ybphn$G~^mUV5!dN!=_{Pe^C%vx%x!u<@h zyN-zouA$*PZ($+Ve@E3dDjuE>jfYO@s2X@+-5xEb?42FkTTIocvw_12Z@j`9hY=H` zqkf7k@naW213nNLI&J9bA%^M!P@!-lhvwLqNDxz<0b;_!!GVneS0f>lWVlIO6}g1p z?VKTrdC6IoJyukMcy0)_$%CT4vpU;4=d&}eT`h%|#CNZ&a;x`54AQb>u{W@ft6Tq> zITTjby;{Jm)%f7laK`>fL4B9x<}x1ZSRI}H^Te^C2~LdQ=}Pyb;2#fulkV8j)dl4}0>6BlqyKQNPkKznw6 zeyA$KR2(9$3f@%uf@svI$Ln<19G-{L0enx6_-a@yI((tlMoV%0Nl*y0?zl05SFCpS zXM8jjmb%FI?`h7!*nk`esF|{ z#s7)xXfFw_xz!YQoNZ%m2mcHa7JrU;7JF9I?{zCQC+z)1&w1!m$~S7LbhQzKse`w7 z*D1{;%H)kL0-+%mUzE7}(QDk#Qq9%_OEfj$yV=t*jW4GP&LujuElpLK4>4FGo;P=$ zDoO7>3C!p{;4SA!NZz3y4QiX=yWbv(PE^<;)u!8~c&?!mI?=#I+RMB-9uj12k28)gSMxo3@LX zTD~mT*Zrx?)4%Y#y>P`S^+R^AXZyG7Ql|2(&K6U&Wfk{oS-jAOKNoB{?Y86Y{#ku> zP_-DaRAYkac{NM%;*xg9i+aM4^P^nK>wLmZU(fbo5w+KNyb8rpC8^_yY3#S@DlDnK z+jhPF-GX`ampIM1=g+-E=%%2Sv;lo>Sm%w)Xk%~RoFNf5v%dc8%XFnZ4nWOzUDa=w zuL6vwsHHWv@>lL+^YVh&4~IA~Zoq5R^}JBGSPkj>z&!)4rt{t*`yiw~{H3 z;ksus`2YhQUB}oM2kLdQB~X1oySkd;visT(RXr3e1ReJZ%gZTYAiWurjy@39k<}GDHU4Hk!#8M2i%>MWnD9Iq#Ch z^~gysYNl|l9qRItIC^&^YJDU+)m~>DxzhmSK+>KI)q+To0;;_^@+V72G;4iT0gVQ| zg-E^Md9R0p6Z?-J!d8M3nhKSXQ>SiX@QaOtXn|+EU;4)Fha84RoUNH$H`ehIOry{PY2E&S1)HPWKT}J~=s=**)g-x~S<+ zTmo(K7wm9_RQ_w|KB(0{GOoev>+6gpxHm{}LH&a=FgC`B4kw`DHX$iphgbs%2L~SH z3jX&GlZlB5OiWS9>F+*#xcl!&~L=J7$Pi2<`Tv?aKh=x0ZNqm)aJ z-n(g`b;vcqU6TRhO;K^NPhujKWH>b%^t9C1uFZmT3&p(HIX+HHL_`Fjgl~B{?;A}` zF0kKZ)Bp5ZnXVUFSy>^uHd-=$&t=7L+iCsaPW!;XKxr+lNErh~Dt?Q2_^$2Z>~0Ir z`IS>$a5d?ajvUoLy$t#odOdudm(rbsfuD#t`BpOSZz3aXv)mn(^zN5!*-I~|hdr)$ zm;FjEAr^Xk<&xZsxkj!b_Tm}mmoAbw&*}o#ea5*8PWhIympi`Sxh;gfsMj;QDxxix zaObJCYQi^s!aD4eYx@`k>~Exhcq`zz<2&4PNUnM5@X|(LCDgunv8bp=)O~)B;`VF# zmiy`TH@@-Xlw$s35T^e~7f#wPsUugxrM6LYo#2GsJ2HoeD3Hz{UjgfK_3kn1)l207 zpDHv!g66DFG`p{MHzir=_fBUCVN(+~M01FxHG1)68gwMw3hs((W*E3^;IDR3oX?&+ z_1;ucdl^i8PY4sWV60=T6J-3gM_734xS^*Ho_#{Q-`>k1ru)^rH9osV3H?)ZP>K&- z)#}^!kZ*T5e{|^pR+Zppp{;d!b$a3qyI`R}jmLyy!nKm|1{2Dw<-*4r+k=TG^E0c3 z;VqjZSr*)2|EjNCPwvy;Q0Qyg48|+PX$13MD!x56qTCDI*TvQk`ZX5ZEvDKx9dMOS05`LTss`1BlGRnu|Ber?4s_+p1@ ziD=#L_a$vuRf#OKD;*ZD&J!o{!EQnd!P`VqJ16H(GbauWlbTnhJ@zT0Q;G64?#QSr z#bCbhX8v)q{%9tM!TV*d_r|1;SP*k#k1tm2&PsN+jBoD6xz9g?ndKKU-uq8pz7&2& z@WYLY&jH{0h~(%W8Ds)Bv`bxW@Ysv7K-vh>t5R|K~auw7fwSCNRO zWoBY)YH9*L`5F4-!ZHyGuqfd~wIdBLh|&F^o6i8O7Ksx8RJUQ)reWT$ad8)JPZBDs zAiyF)o^c(h?IU1Mdb3~LIXXJh>C2Gl9USzBG2_Tx5NM;`S~sVUe75LFCCbm=+t10# z!7o+|2O-s8P{9WPlKt+U26nn)F!%}eJL6eq4$T|0wy81PMFna&|2`nqyr%k~?0g2GA?R6f23|l{@ulc)f zYCfxzoWa}Kk0|`wA0G>sp63xYig^{sP2tvh|6! zQ7!*kxz+3V$1y76QtS7a^@`Ql&L7tI{Pcf8X0Y>(>KmD}?;Dw#ev?Wr7cOR&yV7iy zP{I6n1%g!Y?;7s()N_8?6B^N;bzF>JByslr7%6zq>C~?q2VPc4=tP}OVA(LXyQl2& z)rwSRVr(yt1j_0I)g6=m3T4y#99XdgdFfwfJmcR^Srf}M3bUgpx%);!7Lz9+o2DRy;pqJFTj!`t=KChh{J1r`#MpO%B#-f>xwfq7hBE5 z;_~tlHSWi;GQgZ(>l++I;1T8dh-(i6*)_`LGE?CSi-RkzxUbwAT#VNr+kIK~vuFWz zEMghy0IIbEv^~;xc005Q!<0+HHlbV<6?-@8qOchLj*m|RYM*>NkB-7-^X00mo=9161VEHfq@#b$-;0>$w!Yt42tDS+d0py=jY6(^e`!R|?rPL8l z61$4DtDo@QtAFqF<=&m>%}eUc-G5Q}rawy`I;BnhqE4ZTjFElxo|hVrHmZEaMC%%- z@Q(F4=J(-gW23sxZ@G7uvG578Hl}f|UiJ1x?hiTP|@9W zK(V-f-g(EN*?Fc76Bf|+ENrekyX7@C*XQTwm$t`HT>AR@Y8o0$jEu7pD^>)+%Vp){ zG=bA=d!`Y?z{uz(7Z)isz|b6%;QsR>;&#;1u5m^KG!!Gi`hQhF z^#BFiaOab|@AvQAAW+Q!eICpvV$RNdBWrC^yDBeVc69%=C_s>RXr%%1#l^>O0vQQ3 zIopzk<-AWaL-ew2zE-cRvs1b*9SHY#eR*}4EE*FR75ye@V$O~tM(g9$On%n8mF!_M zt}Z>!X)D1E{VRX}?oaMvVORv#n>WlNLydmIwp@yr9tW9S zC)~zpW*8V9Wh#mc#T_w#v7KqZctHlVaszz$Vi4AYJOEN8NbgzQMJ+8ar+Z!gq5D2P z$Tk5tCnDJNJf5dATK@`TA_%XrVX%$Z7^jDU8Qt96Je*#D26#@u1`IqM3G*?A23_d> z2Ya@?_{j@BI-KGJ5Cgy`*eE#B8o&lmN<$M0BKE%!;6)9Zi6@S0!9cn^qA~bW$Z2ho zb+m5f0xoe*==QolJ|+XMNyORt=;{d;^23=DqvBSoWeI7p4N zHY8*Ndu4PK6t|qVcu|$52U999Y8gXMwu)Atf9BJ=&YIAN%i2F}QIX3sTkUn9vJe|ljpRD ztWSG<^II(YO3+Ujo*)PUR>ddjuf``wJk@#cSXj|YO1uLIe1csHX3&I? z(9(v@HXEw;O@B8f1L;QVUMEyc-L09%EfbGC-v6lu*x6}<_d>Il?GB9{$d3kZN4+pz zpW1vR(axQ) zY9k81AKVV2{&t)cA(OtxSIM}<#r?Oxwdt4bn(aMY3j+M?W2j)j6I;4BPo703KIr50 z3CYAe5Sk*U6`=h>@pX21OMBMr!i+LBE}M+|_`Oa23Q-gqJ=ASUInOJ+lX33HN4JjC zzh{#B$>DH`Bz+EHisXkJZ4&D}p0zNs*&t!um?s5rA<-KO`6{xD>%L^P|NZu*L!(jg zti?h%`;{j(t2XRK8r}*Vp1uG?g;&r-g^uC7+wannzoHOTeOV!~NPtq2dnz)Xj-yxq z*!%s2XtIVqN~c_hyChOe>gN}0-BL?DZY<3h`&qQu@=t;LhXiS3t==6P8j8NL(lUiA zFp6*ubgd+6Qh3377=^ku8#3dx zf|3{cE0A62wuhUQk0mM!AxSqLDEG(hEyWmUejQYqX(hOEOX4aE;dK^uS?~5ZcCzSH zj!Jn|ZO~)IYB}*Kdj%8DmgT#IEac=~!{F7JgTGAei$-T)AhmI<{Ee);2bk zUAQDF;#aOl@IFlJ;78LrIzHAtJKDC3vW6;v^2Q>dYygOLc6Rm%;t4t5E-CJ<-xc7s zf#Cq~1Pj4r)&L_`3^1zTrtxk6n_g5z0@&JvzvC_cFXU&oddPl8M#k2^ z4ze@Q>ANkWf8_0(V(QC2P!)2slA0mXD<1c4AZyu^dNJoR92eZuUuv1Nn$wYIUyAF+ z1adfWr)my$fOz}HG9-S`{%A3aqKF$_uc6&O>hkN}1}3FO1^LA*2iN3M7X%a7?8in; z{i}V(XUtW%IBsuNX{^$88*lmf$hmcycZHl%IO)|4BsGwISuH4N0eG1;o5QrPa?IW9 zp)LPEX`|EMM!(UVFcPm^dhof#pG$8D5|`4)(oYHC@{1hN9vf_YvX?QH&sIsDS<{(& zI}%dFuMX49$1HBpYACx)4v`TNqFT8`5_OS_n-AH_YZavS+G za%gt;2(0IfIRoA_kk}2la>$H($=ufdKd4zx%fO_poIrR+*x8URf8|el*^NC-ajiGb z!Ubj#x2P(cJLFd@@fpM{?=hx4A#Iw!nvo~>)4HBCqkzMu@SD`nsapRn=h(x6Z_f@o zI%3YWWn>=cKYy7JJz9!q>vX4O;?2&*KN%S?L>!4g;B{OPeE4wr z?Ag1YLV=JW8v~g^u~JcA3Wq>x3@qnQMC}N^D>Pvg3GWAaNFkKj+1;Ig=L8~Dg!V;| zfS$bsR5C^y0LJzG`EwfxR2N&m>rFtxf?LL*6UmH27;j*3nAzp*YG13VNn6rFhSFo3 z8Px2yv)uc@Kx`RV*_&W~2AOjJ>IOi9Ee#FcS-H7nsFv>T@G}_I?V@sPje4+faL6D} z2mW>vZy{s|BEnX{E64~539m9ROy}*cfcBa1IuStkjDdlH;tC2;aI0l}`63QtKWT{4 zNUlMwJYer(1V|8}ZBgQynknGQ3HtZ%=Wpfb5GMn!nOny|15F=|TxMU?+-9yhUQ{sG zBi#w?@=?BY9ez=uzqj2deZhW>a*Q&I{8gtW)3Sp9ltWk2WI4F{XuAjg|8czP=;I9Tyk zo-$v3#_PXt&f|VmQCb+bdR{nuO~^mt)Vz6B?2RTt(`$!M{tuG4R8mz_lMdM7BH(90><59A`0SJfqUq5t79ol(&@4*$ znJcumwdsL$1yMDFKTG5Mz#N_gyi`bD9y^%xG9Zc6#?H>{kY1FATj>G9tX^7zOB5t6 z?J(<)SF>8m-XPHd9{E93Q1&CRWPm(CW>Oi`8{RW;SE1LA--FJEG*st)tgGQ85z z2m^&PNT$*q}b}sF;~U=l|sqT12I5!)5RD z%$Ul8=C;=XfrQdvy$qy;LC+NkNnuT(7X_?(nsNdxd;T@cre4RPu5f*P5J*5{r!BS6gNAt?|%{9n}1fc zfa-;>O%^yz|9#8qjd1_S_xNf5izPSd6;~qPXJFi%Esz)3O2}Yo{qK*gXg_DZIt$v1 zks@7;&d$!HJwOjZzlsLeXn-2KRXe5fpcjUw-Hd<}#G=CGB=gnO!~{tngt!x%55o+U zlz~uveOmQ&A%%(ac=7Y7Mjrqrq*PRZ>V-jQR_(){PBs>n24Dr1R8?_MI>3c->0?8F z<0QD!92`c{`E7DiWG0)l3MEs?R&eXmc71V6y?wb%3KM39AQGt+>Aw z_iJ8$en?P|ROtZ{Mu(DyPKdT_rT!iSbfIp1Q}|@m4>yGjoCX;%w8;Q9_@QDJPEt!t z%NO<2fB*hP1HB#N?d^SgSF7GL1%R=&{Obe~=c;|Fw`H-zTAN@7DTbgZ#2=njP++xr zTWL_k*uvrp*j<1xW}VnQEXM*(-OHDVjaYtx4zeBrmIjU6lxP>rN__~nyo#UT<(WMs zi2VgfOgChXG2Tdv5RE#g$U@$?#Qj?OCeR>v~TUs#n+rk^6 z&7#da98eGn5We9JU-|j>jDDFNmu`VGBM1cTNWd+eCUIe5VLzAqZ+>_~@QVn%A<*z1 zffh(ai*^Sl+b6&^fe{`D!lsZj(3`7zA3!C2Kp7ukSOUAs1y(w0YHIIRy>u{yAjCaD zK4DQf(c$`IV75RIaJWQ&R91p5I=^)uBuulgs7KU+&h5j?g@7Xhpehj}(j)3n*Lq2d zkIqpvQB#w1cS5cv&y}^5m=P1FiKqdXNuV0j4lkxgNWWv~?X1*PoiDe=uR4#A8kQM8 zSoVv&BI;u464ukc3W8)L=K-nIDDVGl8rWdCMxh|q6A&vu;TsK5Nao+!gYX*~U$JM; z2tY+vR91$dU9@?RZr+4o`~yQzVsOjeIvj&?9#C6bEBZGcYWc~*dRTiD!=vOwh~3-T z-WHLUmydH{UGWeFU4{sdd)V06K<;_h)d^DG*SZ3x(rjB&I5%zncw~qq0K&$z&mm`^ z_nQL4(dp@5Xrr4z>x-xd;GUXA@&^7qg?uj)Gc!c?3Yo@M2Mr^x04qS) z2nlK6%S-$K5j(X>PaN3bO16b;Q@KxqbYQTF%W;DV0&rl6>>i+>QjZ*zO-}Ae1vM_d{PPehp2k~qKn_Iaz*dG3B?}Gh%8{RSJsFdeR{mO zsMESnK|Nr3<@a-;uxkRw4IoUU)bynI;x)0V4_$dLEG#V1 zG{>4TU=FqO|{sMYbXfy{08whs@j zi`F9|Ovix#ncY2RhEQ}FvJi2IR$|=zmz3!fgnjkk&|>FbE7|S!546)H5x;1ZkDm(& zNX+2b2^?3cRP~TCG=UTpfQIDnpyP~_KjiHgq==>$ep|l$Ju79WjeDpXu^0+NFM`Kd zSm5KOr2+D4CRnJHO^NCGZvdAhbjhBO8XwQRd%AOylnITJo~5NcgnmjuYfWRZ3oDk4 zg+*RdJG2}!a4X0`qfYzF308VLD3o9Z_-r#uzArdau398{{uIDt5izmPqo=jb+vtz1 zr&^%)q<#I``lVEjT`u{7#D<_hi8};ZB3C1bZUf-q@*k7Nzdwo~mjbM^*?Zv1>X;Bk zqF{i{-U9cb%-3oF?|?kq+TU-5 z-3&AoV0&p#8yurW20xj>1Q#%LWCp$n;VD@r&&xwqoNWu9!0gs$$;6}KPHCs$i1$c7n-h0Gzn<5K3E_^ zdpM8bAX-&ZS4YylI3GMf_olqhofI8?gA5maCo1=`Vd`W1%szf-Op`cuMZ-EbC(@Vg zDN?8+M$XhmHWIvQ2Sd%0FUP^M(dr+D@=jhfn$!Iw#>}oD3}BM$@}Zd$%ulqm1QZkr zlvoiU9)~^#Ev!|U#S4UUP)I;*7u?b!4x$`xYHkPcihvmJzIJCMvAHxvHiIc69b8^p zg3v$yw;qG5hYHRXCuC`+1d(C7->*<7$M z;=-frvB?SmY{bg+^z%~Z3X3+E3j^F*SO5r&zPA62?2lnS` zrKYC1-UNpZ2ygy+wt2iAUXIKSQ6-I|@_Ssn@ZD$tt>(R4ugc6o?`9)}a*`M1=H*?1 zb-x{|7h=qXiaHB?o878Wu^O~aQU(UhpzEMu69O0qZ-O<{Oz;WG$JpF2Uoe67<-sPV zXCKmUHY!!p(72oMh@bzBkryyMPyqG2-rajpK@52zzGddaool5~@?q-HgJ3?`@N9Dn zLMqCRD%BZ0j~HRuw*mQa_FI_Q{+nJgKm2NgWUDXzg__lYU=jx@bKU5EVto9KyLSm- zy^6^_&ccmP;GeWA@_;Z2G+5-p zcQgL47}PvW0s@-pLVAFTg#y3YaaQnR@HFx-T!f=j5ou!zkOccXRUiyjIf-!he7}-o=3*U!0_r<83D6w6x6A|Fy$|e z6f*($Zv#qnWJH4?hzHQlDZP1v++$z^B852_@k)SN9IW;>Ya?9HBBaAxgBwq;&4vXT zz+f>(CWrKI--3Wewg7DcG`i?FDlI`efCr}+C}vR>ay>xC;Rimz{6mcizxC{0!|3QW zM2H&JDhg6^=#CJzGcxKz;uCl-#C3FTK=_S6L@Gn8C#Il44DSU=h=+5H4FaTK@tXiR zB01b(PY3`((UZ4JC;-JP{e3ZPk{o1&JUSN!w9@#E`6?(Xi<2?EwGsc!Nd=7 znn-$E4U{#=Y=F-v1$-&JpnEXLdl3f{Om>hM<*mrl0s+II{l>7gv|L(Rk}lKK)@A_I z7p5NX&!6@EYIXIBsR0o~t|frIMoknI16@KB(kOarISI@4MgggaJ+VKhy_^p8-xM_!IzEOHjE0m<{>mjIUoM zpxIp>%B31D*2f_YYlXBCgtct?yPb40G&Cgh>J{ZN1c@d)ZXcgf=Fe!pd?_J#zV`x2 z+h{T>m4Rii17g~e$}jBOAdwnJ2Ff%pDx+E{d*S4p!q}G4-m29i8w;Q1Okd1(}PMgOR3cBj5UP(O_L3`zz>r#_f^#D z+vIH{p=2&o_+3k!u9x>5z)0IDVgohVo~h@i8B z9yK5_QPu5Hl&e&Lpa6lGfO!)2o~yY7cHnVZNmY`IwO%iQ0DEAC8QuQ@=^&GJ_BxM? zi}b{IyoIhrv0wdHD}jS%VaEKEn%XekQ{PqXNO&tI1{H=y8RW+iM(LBA9TKkXC1I&V ziV~KQ!bzdxuy{2t`}uRs;$qNAlof9jPAL{aL)@-KbB+11;#G>)8fzI3Yq5)8A6SS8 zFv5NX&c?GUmKN!hQ%ux`Wki#BlTgd2;PX6t7SKgONx?YKjx$&F1ceG~^}YCE+Y7k| zLu09nn^6WoJ4DvIinec{8tNMHEQvybrv?&Nx@q;g@_(|)o0Az|9c>|`6{atWQ>>rmmM@j_K!DC=xR43tfl8@K!BsnU zB*oN*czDi^3s+K89{cSaIj1FiRs8w4kipGMX=rQ95)m%Gk}AOBx+iTl6&g<--`bka z&Ovk^13mhODVhJRTfcHPEweliu3W3X2%Rh99Hbc=an zpL}m|N86*i{(&nEH2Hq8w+sYPAV#r(agkcOi32OtP~HC~*FRtBf=2%-?6&5SYncpA zS_J2X*qYiQ*J%p8?21`8OP;#(J+2>bJl!6BlX<^_oy6rx^<u~(>03KkCS)M0osCT`8}miSyh7cpGc&Y5 zpwPF!dASHilW(6qu!CEF6_n;D|NaoP2incn&V=6bio`J^UN1qjogGCDMU*8@kWoVJ zSmnbtB09Y(oCs>P{+8`;E^eRs8PN_Ff3v>on4S;G$))XXIzK(pDWD}JyuA*WBPEnu zJV;-Mj>TT{x7YvF0_bf_REC!Mx!yHV7;xhNY#S`|Ndj)=DkmWKgzh}6V(c9>yWo(n z8+tN*>t+mz-c8@68aHh-!sSs*=DjEHD_*<6PjAK)4RxA_K*xtjvqncN8~M8v)84)N zSNo2VFDFN*cv;HqS+?Uw_(~po<#^76hv{tJ+6(Um2Z#m-glhX)!1{<<-1M4{!7F+C z7Ij#LI{oy&TNYw;!d*|1xA+|T3D8zRUmOHPu9{a=JIWi}+?u?hTNF0WktO zEln_MM1TAk4tZaqM~6Y((5V)~M1YF*?gqRF1p13vk^b@i0FCR{&g9*W5e|h7CQa*eGw9auGQz zGKRszhy)1$)`NjO73mhBp=tsvH#C#BVZX02>R|>R-*|9=ANs6RH_w`Y>QthL(_U}q zdUX-zEyKr(3+6f-|NIo^vgefk;rUCZV8MW5^Q}jB$N?8MGdMr*to|`%<-Ibh!RN(5 zqn<4a#m~V|+ID$G-oekPZ2MJjPw=zK*1?1%O7FpL9TwK?#{ODTusN5?k+^EM< zXs>en<`v80Pcw}E=nX4>NrD#+zK2j#z9+>^7=vU6Ea@gr;_P+4t= zl*?vD7%tm1kTrrvFREaT;C_ua(63lHMAwm`6EAxUh8#rltp|GejUa_Y);(TJ8h;W**a?_&0PsJn1ul>!xK#EC*h)y| z6@fp4kb{uAjhJu|As><%3VB2~V8=xu29Ln&VY^v-c$1Hhy0B&kAEN0Z7gODcAU_Mq zF`0zz0SphXi?`8(K|kAMapankt<-jNc{cU&4Eo;21vx6s>F^FooDGdJ$GNX>2K&gk zTAF@P9g2L!Y3&7b=9@nOw=b=t{z`h{Uwy$b+n+$UGu(H(^3Ptook5F)^$YHQ)+!8Bez`?2lwQ>ErXo=7jF_*2daYBPg%C-2bLbBBl_%- zDH=g3L4w}N*%TYA=jeH3-&-&Ke$qd^2%tV)T10s}MyB))TVKJ%BuYKQ|NUHWX)N2! zWaQUZIkWtFB>Ln+tO8s+qV>!C@s$PpG+mWQ_Ft!q*lru z0ty{%(6b?}azbNvo}xTR&xQP+LG{hv%rrKV(gRo94;q!tP~LMb;$MRN8$6mYS;E5=$r%bCbyU?9k$jVi^naBfxEOwo(|nqK`Sf76>0igv z#df=m%h|T8=J?1IJzc5`_Ukel*70(YlvJW&<4;2=kL+!;_siI>3CQ0jBH}DB?hDWc z9YPWx-$aQ#1Wy5rEh;P9d9N!)(1QjEBw%6DF{z@%gbD=R@?5Ih1}R&DEQ$nlr$`Y) z^azD-?CeSaRk#XVQk6ashE&j3W#r|_IjzC!kM0e_{D9jzgvs89h$4T<&)I!}Fx`Yc zg5a-r>mPY7-`l)>OAabx*Y?Z9`b#{xiZyEib1LI}_>c@neAw+3qC8ljMBIT5XtJ`T zQ6w;}Ie4)1ya^FxS-5{lVJow^7r7~P5umo`U>&0xUGS8W!bt`5{w7( zM!e3#XdJY0$8Y;4I#I0jXSh~$MVHu>;c892%$wqV4oQSnf0H3WuJ*oLXnl|SH&ww! z$ynskZtab`1>y{YboW_0uNuyq`3;YF>ZBjdol2QmHamT23qAhiM8>*ITBXk@B}BoH zx1?Wm_RZX{1+LW&SFeQO%ax#*vQ*;72g%4^`&d(?z*jT0HNS-fy)}LQQx1^F>cQ<7ujIHgqFJJDgK#1 zMs#QguU)&@GVtQd`jn=z+Y84v62{cj4DP4nGsn3M?l*`I*YC>O+r4f7P7}d*x;HR4 z7)-^U5$ZJggBsb4eoWz3@6QzmqNWVUQtXyqx?_k)x_=_wE9bLRbzFu2& z+F9&uvhY(c&C&Tyf0A}TU-1@StO^UMrH_y227iuuWm-8}HDQv@Ewk#W7UY$MXMR^9 zS2;~lkBwDcJxs3xnj#D$2q#PATwSXWpNfQuN!A+gi)LF?DhdTO0RQt;{*bjbi~klb zKt(~2{#yTPMpzgDy~mysaOEOS7Jx81?{wVJHBcF{9fkZ01pa}39!Wd&yf`+7Z60Qd z+v&wzT~F=>30fI~H5Q4+fIa~RflN0Wbc6@U4^vG7+ zYa6R+%AG73hgj5vo2AOL_V)qzs}*gp#{E&_{c;XPmV~XOCloGlm&(YR{aO9s=DZZR zX!rZ0Pei>?i9(8~t=`S>ynKhQ_@bi`v@F4){Q`N_PEsi2bO} z<0*(`0|4{nUoR2C*Bpt(jRLk-@E1wOOl^sg9lzCuxIc@M2$rM_fPu9t- z=H7osfHRuj1Fa6EK>W;E>_5;@X3?3;5^Ble%pOe*_rtL@yl~GN=+{|a#0iU})1CW= ziE=17GGmulA{{g}EwZuCwf&u;msPSg#*_5&)H*9Wxw=v$84rI_E_ z)8cQ-L{wyC7~s$b0Jx;B5^6VcWwNu&ZG!f@IbDSf@wx%q4tmb4HrdaB8bj^|J-|QQ zp6C0j1_lO8w*$chG_I!E^`&zKfWfWP&3ZA7ZJg%DMl=xGAP#AmaLxIFUPQ+J$<>I6 zi2ar7V;8XzwaOd!J}=O71hkH_uy+QgMCAIYE)SS>8EW6Zx69UFnz1s}_JJaCa3b-} z!$(ApygZk}=*kL;FO<`C(I`;dV|M=9<2Zf66ao8qKk)<5VJ|=saw+>24wD3MasA-7 zq=8S}e!lpdaqDop@4U2U=A!;`^4)4KJG+jBanRXaRkM$|6Qx;|cl>C_M;b=PXqMd$ z8YY@CBK>ffE;}j6HS39X&1#+7%FCf%`HcJHInVTerHN`xPcPattD;CjMSGm_$(EK9 zrrLktL^~H1)luz>n^b{CRq55Mz=L&-1Ft923}ORx1v`RLfZi9_B0)Gb5t8?VQOZ%j zkyZ`y=poC@O7=IiJ(?77V3ZpD>R%<@IXGy8A_nBn4L`4V=;DBTbU?P43B8l*j1Jno zs$FEOU*J??Qd5awFVsmUpe~~LcW?nRrM=KaLH%q1VSssx`{=0sjo5)^l0@fMn@1t` zv}wxMKF3LUO>zZ@p2+3gPw(k?CLS`jb?-4-7Zv$SLfQ+5C5-Ejck>%}9AM+RdQ~Tp zG&6=zHNGnT5*vN;;`PbOeRlPfv>?RxAO1ahd z*W`4B>3wN`_m-;?Tu>{u$@=wP4>r=jLj){>7D7{w@l`nlwzOn~^9RuR&!0aVKw6;-37_HNSD?foloW(6 z!5*r70GvX|=l+6TfWN;Eh$s-*;*|UDFB;3eL%N8tS+BW8x`$kQb)!ftP1=WJv-YWs z+I>@QZ?hfHX-D$DdrnQwM~G5Xi47YJ zzgtxl8*7UtDVeFr7BRCj@wu({m7^8E-R{@NOfJW!5S}9{*TjmO9*`12yJk6&#&J(r z`8A8|;PKD<-NF`g*M3y)i5fXxc~Gj4hT_`(*88VX!}=-Kqr}wUZ~@<+BlWNp*&Yqb z!lKd8SiTZvWapa1;k+>aE&co4i8r@bM}DmkIX>1^We&zi_wnZ6E4MIz6n)zM8(vpL zw6itTwFxR_6tv;{_3alIHja*MaPMrx?ElD_rGl9iPhz-G%!K>r`69!}(WzLvGNaH< zbVG_-%H!GDqMiK!c_5C>2Czvt>j)}fXTz1X@TM%578MJ=4-WruI|=Z0#;YH7-gT_R zP9xwuRxMa+dRLj7TcDc7CrIB)aml1)v(JVyty7%ucgnSzd}|-@q$edTul}-4NWVQ} zU~N=U{q;@HX6%2Ob>Uj(!!#3qY^$5~q)NrNf+11ZhMF@?3tr?!wGg<2D z(vo<0iv{&=%m(duIwT7*Jo^2qeUwXoX20`p(efzSEg6~Mvn3|sbZ^sEn=F?5QX7@_ zBs8WMA2YLXZ?Ure6lBal;w~uq?lM0J6JhHZUu zz~M>)L?X{oU02u8h?D!{i-?H;-zGV}F}GQ*OT4AkN12kNpD*(o`$}__GJXfa)L1pm zbDi~?YIKYTp(Gnw4c`Uvh$`*vrwj+QqLChf8FSawl14MMHy62zHdXxAvvTv{!mPP` zd4FQ{@_KB4Q*@FY-tF6zOLHzl^qxBO-SYVkmi#tn1WOSac*5B#vt9~$xm?R0>kHe` z(med`Lqkt-6@*HzQ#Fd}67kfnDsbPlQqXDfBXH;;2rDUe z==l&FB8106zO~d#%Y=Qu*D@`eg2uhdh!a1IkT`*bTvpEGgo>IrS$F8ZLi(E*JQapp z0{5Aip3*?8*-uwmvEOi)>>@`=0XFb>$FA-R+oBOe;eYGrJ20R8Fs9C_aF9b^e`0s> zQ_FxQGC$P84bNhwCQ~R8ald-bk*Cm+e#Pt4^ zA82DMtRzN0SkFyOR`)Gr(py7Um63Q~YV3Cki;R3gOajGq975k7x6S3->Wcw^vg0g+ zCF);`BM7lm1@kM2-}Rc=mgxy5lz%6uOif)n`~9>^bHthw3|n)pgpJz?i21)Fu#^eO$i$xLb8pH)> z8CaRoT)P(1BY1iRgnEHubf-c}e>u68{E*<1=4K2yL|c1%d8b%!$0x79&$@sPya>Xl z`L|ohIO|&%0-SO_mKu|8Z&WL0sr)cLbz}+W`}>&-_7@2Sh98*x4x(jHHMWB+v#-K> znx>*TBeOkZhIt%DcKCrdbnoskz9IQb7-Z-53;+K414;9cbLi%7FXPC`>E|8=AudiH zB+EnxR3jxAaU|$~G(*rWNn0e{cy~UNw}89~G3Y^B+%{{2+%_r^jWHkWMGgAy*H!8U z4I#VJOl%u08GjYh^2P4(jk?W-=stsS@i6)hDe1MgOP(8}Q?9G`kVHjTn?M6G@85jM zDfLu=oYMHS$5Yd0froLtirF;v3KXP$Dd7V0Q18Vb*gPkL*NM4u<$wH_lNXF8aHiT=Tm}M6A1-_MiJf{C(y_n&%hq}mMrkLF9|wq z;DCt!ql7LH0)K=38S)5G4=L13$diDyp&&Rtkoj2f^#i>A-lyh}nJ?|IsvDL~kbZ<$ zdEVBGyfJ1BF|uXYsCR}N#HJbVsozUSL7*L+G(;zD!u|f86%i?EpBJ`jPYiv8q#v;K zuqC|QBN2Bl}P|l7er}#+ z@<7=UP)CZJ@MWatEY*P&bAgF54L%ip&&uHfD<>fkV|=SD;B5kFnj@+Llv5=%;0E0R zhrB!+JaM@Bt|j#hev(2IJc=L@2QnOV_GE--!Oh*>@i#Yo!{a4453PSrEnN@;r`8~j z^|1TSBNX8*qqIvAy!<>%%qlHx(HXowiAJw4zQ%Tyyyl67NFHGs89f@CDikZ%rf zOHdU2k#~e2<7rl%HcY4?l{5ervY`Hi7H8K92??#hkXCR?0It?ZP+c^46;=T7(}WJ< zIA3^Ja31{geZR84L+KDoiHa&i(Mn4y46e71ES3Cc)=cTZKaMq~)$e|rz;(uYYbJ&l ze*FUR8wHMq#~hcRmk#qp^>nDF2<3rt6lX3msl*2&bmN(ykcd2~s`Aj1g4R#bC+to} z#Y;tC!q5!>$n4@G5t!M2N25Exd@0OJ2isfK(_3(EPY4cxoN5jI(slXFFuYv2J5F0F z>AbMC)HyQpA`~}fF67)eM*e@?I)~(JP14ZZ+>6sCskp=Gx5a48i%~WpC4{EwN-!SK zpHsxHHz~yhr%#{aG}U&%4}nY+fN~q0+7(0_&z@;%N#RZoKi&JE+xHG#Xf)`EyH4ZO zf6ftj`QO|*m_Yv%4#t``;>EcOoG^N;W5Pj1kiA6c>9O){S?1QI%#M^z!OsRu)**+8 zo6A?T&zMf^{P_b^assHvE)UP`nS1;Y<&ZTy@IlwMt(I#IDI8J^J0MCKmdB}m*D4QC zhiKO}g;PU0pGPlNB%!NJNJ&Z2lFtlfEVEJTDvZ2@YB80zdxLxZD?b_%8>%){yC-VY z0#1g3{HJ$fQoUQk+o(c$`S?51wjT(0`IDMY)QjsqOCQ|Bv}Ifc9|Gk0NpUYWX#@o$ z;?=9MYXvC$?CiF(yCM2#AZ_Icr=LDKKDWPmCCh;4@=X+U{Am01Y^2pdKSV1vB!&)V z{_!JbN+8V|xsj8MpEGQ_lK~`?!baZKz@AS+`VRImO@u(&`zDz)Tymh)2rDj86aJBKU*<130`{++RE3^F2nd8M zy>)FoxS_S%N(+m3%WWx|Bbybq*eMx?X-mKPbqOEafxi;NWTovNU<4VlXzBVZKG)ID z(KcOIxZEUGi!5IM4%WVob#3f)&0|Mc{ocykH2Y1`njG}X$IT*aVt-gA82K`_X%l!}()V4V{k}w`g+15!-FgU2Fi$tyK=52zK^aOkG}f?G5%I-egu8L%)-s&y2jV%bb+K65Zh1x{=f@ z2cBg&-%?H1f325UXc~_)X=`v(6juxA8fl3Q%wW~I(RHnH}F;$G_88+FF)+hq&zQ2cI~jlFz9Dj5wgaC z#_cB|BoqhZ>>|o(H;*SC=p$FB?~>Vn`ZTinx|mbyYOY*dvwy@{yx7m z^v~?97;PV)rAHX=Ruxzvi>sZ^ZjNZ_KmXo$g@B1kKb@LAC2}k_j^)qqUY~<%dg6^1 z7L#UXUV)?*YOrjxAHsK@7z-GHY_rlI>w@Fi?JR#CKr3Fj;B;4&Khf+3|3u)V&Nb|z zhjKA$C7wO{DhKproC@1miFd4Ko@?qbrZACGOnT7g)q`4eavx9iiE(d@6Z54M2;V;% zThbnxmh%rsg!^u5AI~csaj+^p)<4~kq#W7u#)L;dEt1Jh&^?q02nc^AKegHL$(;_1 zK%6_(R8=y3L0c#rb@Pa~nm)T&JiwbFtISO>-WmrO3boQjv$Rkj&bstsPI! zHB7`SIrQc#kT1C{eCLS3do#0<1zfg$l5UG#^Woh?j*yL3Ty!`?PZqJhZ#C3jAvS7x z-%DbZuS2XuWYG0|**yy-6LrQ8(GFxXYlOe~M*G(Od|l}joy$a})sZile5GwZ{LJF2 zQ9R7o&?tFwkdk6FG&Ko3LpO?vo-j9mMd7CQZr|Duf}~V}=kk1|kBS45Qf_p5_N4zc zbHk)n$F-wfwdC$6XJq6~H_il!9mzn03lLy102A`TG%+oWUh$|?z45{`jyDNKa zi+Uu0a1_$J^SavgB_|%9_DtEz1+Khu3k!*%$NmKF?uwc*I~K5YEjUPI7lwI}+&gE_ zmBUM*!=TeRZ#N-2$@}%~oyjj2D@8wc7Pu)k#6POvW$0!YK!10l*j-Uozab|aDPC*; z`+l$b&ZYc3&AFv^lGW1*oj1A1nPujQ+@Ul56OD727oAgg5B&Z;Ft)`R3%t#{SUh2}O;1sZWW0Q|4yvb~g`?d}vHBp=7>fW6#X^X}3Z8 z+eT;1$#0(HC3G!bWo1nicXH8R^gRu``WxD%GPO1l;u+tO$r~FlZ{^1PLa|#0aB7pf z>VOG(^TWPWEwM7byaFw{_3N?1M~zT|2Loq%*jfJldGIpTzV))WhJTuAlZt`Of;2)o zG)hJ;obC+I=6XADnkuhWN;3pg98Vr773$h-8>EX^9V2!u(d-^1{Sm2e&goptXhR>) zbiZu5wXzcTIaX2M;)P4*7^=Tm8tIR?5kZS>m?5#Xn@{l#JZYe(2Lt|JTZAN9b@GMg zKiOFYDbGekXbw@czKGl@DGhB2eDKX@ucVq>ildZR>t>SopKnf~@`1T`tLNv7SIDVT zZzt~l<|?h$(js`|k%tNl4K?EbY<@Sdr^qOzyqtdRc6rLLD@KjJdZu>vHWx4xQ&k1k zTG%fyN5QUYYHZu_3t7p}F`onl zLe^sfvO*9LghG=!)Gp@Ig?F-=T0^Sk<>flTmp-;^(wdOY?Y&Mn3ASz~HD~3GotC0? zmVd}qW@kB?95)!xaO>zGyu!?ervmw|vw*ehBf<90?J-JI1r5e#SHpShz0lXvsR3o} zm=be2>{gGmufK8WJ+pe>@mwe6=Rf`c(;@Iu za=NtMX?<82vOwpIwY8pCf0t@Bd+=EK>4GL_qj&NIm;`l&pHW^|)Las0=FE7LS6gJL z?CYz+KPF_!(9wUh$RLmQ=WF|&)oY#_(Lu+#qGS<JZ1a~O;u*yY{!2h~|4SIq?a z{X*fkl`~(kO+V!><@Z+;;TyUlZbc;l1TT2}-Hyvi$RWV-C52?F zp0e*zBlo;iuqZBwFLO{7LsKR4p=a8hDQ`wrr?e4@->T3nG!+uYlc-bWfMli|B3wwU zqTgStnaIpP{SZS}%q@N^gLmqN-PX?(XI%OxL8W3KwmfCl_+veRb7Z^MzX9IVTSYnX zJi#5F(#aTwXyl)q3|{`1WKr)W*n)?fmXo60#tqCj)Nbth^&_tn7@S;Bl|UoC@TsBF92tlJP_c4NPPN1K0Sw7Akr z(Wmn!q1J;32VV|#M2rkw$1z=O7kiU&^cN5jZsLl>cVuItT_UmzlP7|_WPh!thyDCx z1JRAk3mNJzwl)M7Pgw6ulM)(Cg`r%r@e_Kcc8CpKGnfx>yv;xxd~jwZiN2auhW>RF z6{lAZRki;D%@q4RFLh$LYI_{{IV%<<;xOoVIA7}=pic2S2}pX&R;r%%uxwy;SUU9f zsRa2-S2I&0IIwGXfLQd^?&OHs4&~_hnVgyg5j~=R@9niS{Fav0tdckPc3q-IN(3&t zPLbLA`@d?aZ_A#z>UBSV-9vm;w-qTU&b$y2k-gSUiBPn@cTtp@y~WO91n5jx#OVP- z{7~i|IKZ5XnT!GCe+S((ZuL4t%s!#fmZaqP$m&NS-HTcmwQq@B%i{i$u_e2%>Ehrw z^^dF6Fw7~6_m`q!?p}(_zrC_m_B_YjES~1By0~WGWunWZ2b`pwLlIWd;|Vf-si~>9 z&=w5HbFuAhgo@ZG9W1K%#s)t^dOBDkwxq;uudra)Zcf?6c#UwveZ^3*SZ(K=W!AXQ z4C?UM#Md{=xMnV$P9;*&p@z6mMsA-YgDn7w&`or(V^ImcZ=dzDsd2HeycZD2(*1VwzzNJifeYIKINO5c zo9OrL-$%zN*baVkUi@{bV`7ZCFH)crcI@`QN!z&1dvxk;clGqBr=9&;MyTyp4+6nj zB4dTEYT7!^+o-(yP;9Uu<2tr>s&c*3%dO6x1aa+Tbw0W`ex&(i;KcQ31KU9})i%{& z=Uy?|I#;~o17{zSmi0;V_})81gQt4(Ih%7~?8=1+C&)nG9hD>6gJ(hl&Gp-ACh0d$ z3(7ZLvu?PlQ`E`?ZgcV^iKnB-YfF^<;@&W4dG7dn!yh{NHiuhTr=w z(wYjE!Q-5yaH^`Qj9=ovqu9eFHVeeKfgooOYHFDGj+^H00oVFnskD_jwo)wW+xhO?0N+xU0&(n*VpcnF>6%z4Gv9q&hG7T<2~|IyIBnsnA$ z^KtR8r@`}FDE!7c{kAJw*w}auykc8W-7`*vdsIY6Q&>AV5x*qhp0`?43h>xtfv_Ag zf7CtKNutp8Y3!NrnenF_ zVHI|;`|Ey=@3)ORV1|Dh6WvNfjWF@NM*{)Odzv(LPc}Rra-NU1SP6<5>GM-)@1EEe zF-AlfuV6J@6H{G-lTI3KX*PS4i}*|GeijP zW6)fIGxFxIt}#t1oG=PKSFo^8XXf8Q87I1La^Ogg&W)Z*-{v~&H;=ZL586qVg}onE zS)e-xw8uwtL4nbMo#}ksMfyrcHV443+GhXN5~cd8QD+2UVaX;IYk z6c0!hD#h-i75-kl0UEgZ4x-$nEfSe)$KpxcBj=^_Vq(_)1H_UW8m5g^Zt?}`cv`Zu zdMU`((L!@j*gpN5sV}@ErWq61Ge>hl(lik0y25%oH$sh1&Z)zlF(%tG_mem@0*R4# z;d%Groo5f7%f&H2%D3f#T|2G$EZ2%C?L;6?!H@}o@O+3rs#+>wm)ueGTS{m`FlOw*N-`14ZHP~pGDp^Q<@&h zabsj;CqAlWD{{ZdQXw1VKv6sItD6vQQjs;dS0pB?8eLGJfo=w#)Xwpt8W5m9U-bu6 zzUG#~SrX^~__ZuQf3Tna@MCiX@R@QS&Il=g{MePO_6&qf8I1DgxtJe0{OKP8n@G2I z=wAn)mKt9lNfESpTUW;$9WUt{x9Kx;mM4<3$xaql>9fGe@|!`M#ek0-jwdw;j@)$u zsplB-4}Bh6XYvMlcv?O|SH>RG|Dk2`mK=S78QK~N#=<^AojM4-8uv)Xi0 zI=JNy+VoA4&4>NcU*dQnMm2L5$>E;rKqK}*A0m$ZsE$=ipD)< z(Y;SaO{RyBvb#4coHJwEp$;4!7w0@86NkZg9ZKOzEXgO|x6cvhCkInmz(`Y=%Z+)H zhf{jfKTqqbRaQET=4r*vtKYsYTw9}N?de%%!H($X=MG!SlqIQK%Ir*@wW8;_m<6QC z`z|hxkBAZzd1Ie;d@-%n8BR%-@HgYXgI$S`d?Pzfny$?$DOo$%;H9dn9hzPEnrQ_U z)Bm(9=MB4rZsV4mmQ-=Z<`mK~!jV*)`cqgY^*8BpaHs+Q4hnD-s(852<R_HVr8-PxBjvk0Bl@KpX6091(38|r=28z|p{XS9m zsf+K>Tg{i;N~O2w!5Xwh5JQlgdGSA~9ZwRIlh^eiFeHD;oqbWFX8kF1`&KAP!a3%r z8KVWe@s^fV#5Zi`O?{dMuX&QX7vEMgFrQqOgphz^^}7hHI-S+dW&rMRt$wd$R=IJ8QA2Dw zngGIKJkXjmqWkGKW1=jMWmlrUrvt4JDOCM zsEQq7L|gWE6=5mKsG35FgW3(VoR+FD_K5{4DgNhD7%qrhfyybhB7gPrXbUwI50SxK zY}QQrfpbiA(r-MO11GTUG2wI?{2D4QnnG0FY^qjKiq#^CDV|NH4IQY7v&AQOh%9+5 zyMA@q?EXcO{vi|HZ^03~VJO+a?BdgV*zy(@#Sa-MSP-);B#qsJMnV#F5ZAMw*O<@8=8g@1l7k55lFwIZlz z5kKj%oA;6{b)S4Z*d)Inh$ocQ^ z$rql)KZhIj($385fPa~I{eH3ou@FqO&7fVQS54p6E(-t$=To5pr#N%c(o)W7##PFL z623d0YtiBC!Qu0>?FdBrbTiHF*Xs`0ij(28J{a%q&otpJCo+GORpxeP!(hLPHmf1K zdU`~#;Z(=|g`86D@h3@q2(%rZKJ|Q?tep46d1G3a(df9bV*LjlSspDgTPf?d<`V<| zTzmvD-}t9zl(kn~cAdIF>>Nu#GCbZk?4$znJRDmc*UX^DdE)KU==FzWoF`#s?57G9 zQhrw=UC+lqj|zx2IxSK5)DfR7nG(KiMf-$=c-7Av7l*AqnG=vA@*M?wUw^ zAkuQ(=+;PKmx1rx&^crx6P`ix<;?XH@s^r(-{WkyNukHWEZJxJEQ+;>lvc zxgK`+-D9lRP?L~FEF?O!Gsc!`fN~=c5tSnAC&xb3TU&S>L|My=eTk6o+|W0$zGp|& zqZBr~J?-C!p@4DyhZ%1A3&V*1ZZ-RR6ku14ePGES&xV2!W_(h=4hm1RT43yT=%*yPr#v zsvnEJOA%7LqeB&oS%bJv^qPIYu*vno-=n1dtAh3MEIgRKX$>&$@LkT1(gj<3Abhsx zv(yGmSS4EfuQH~-s*TI9v4E9^k{pnO4!Fstr??yByKj9BuQJX{-p?0g3@eq0=v zXmA|8ZY$d) ega2O)!YN4#8x_|=d*pcp{AsG`sFo>PJ^43&eeh-g diff --git a/slides.yml b/slides.yml index 74536ab..d59e812 100644 --- a/slides.yml +++ b/slides.yml @@ -8,3 +8,4 @@ - chapter-07 - chapter-08 - chapter-09 +- chapter-10 diff --git a/slides/chapter-10.de.md b/slides/chapter-10.de.md new file mode 100644 index 0000000..951bc39 --- /dev/null +++ b/slides/chapter-10.de.md @@ -0,0 +1,127 @@ +@slide(layout=chapter-slide) + +@title +Quelltext-Listings + +@slide(layout=content-and-preview) + +@title +Installation 🖥️ + +@content +Mit dem Paket `minted` lässt sich Quelltext gut darstellen. Dafür wird die Programmiersprache Python benötigt. + +Nach der **[Installation von Python](https://www.python.org/)** kann das zugehörige Paket **[`Pygments`](http://pygments.org/)** in der Eingabeaufforderung installiert werden durch: + +``` {.lang-sh .hljs} +pip install Pygments +``` + +Anschließend muss das LaTeX-Paket nur noch eingebunden werden: + +``` {.lang-tex .hljs} +\usepackage{minted} +``` + +@preview +![](svg/chapter-10/minted-overview-crop.svg){ .thin-padding } + +@slide(layout=content-only) + +@title +Anpassungen beim Kompilieren + +@content +
+ Um Dokumente mit Quelltext-Listings kompilieren zu können, muss die Flag `--shell-escape` an den Compiler übergeben werden. +
+ +In TeXstudio muss diese unter **`Optionen > TeXstudio konfigurieren > Befehle`** bei PdfLaTeX vor `%.tex` ergänzt werden: + + pdflatex -syntex=1 -interaction=nonstopmode **--shell-escape** %.tex + +@slide(layout=content-and-preview) + +@title +Code im LaTeX-Quelltext + +@content +++ In einer eigenen Umgebung: + +``` {.lang-tex .hljs .fragment} +\section*{Haskell-Magie} +Quadrate aller geraden % … +\begin{minted}{haskell} +[x^2 | x <- [1..200], even x] +\end{minted} +``` + +++ Inline im Quelltext: + +``` {.lang-tex .hljs .fragment} +\section*{Ein HTML-Beispiel} +Eine Überschrift wird so ausgezeichnet: +\mint{html}|

LaTeX im Studium

|. +``` + +@preview +![](svg/chapter-10/minted-haskell-crop.svg) + +@slide(layout=content-and-preview) + +@title +Code aus externen Dateien + +@content +Um Redundanz zu vermeiden, ist es manchmal praktisch, den Quelltext direkt aus der Quelldatei einzulesen. + +``` {.lang-tex .hljs} +\section*{Einfache Java-Anwendung} +\inputminted{java}{Test.java} +``` + +``` {.lang-java .hljs data-sourcefile="Test.java"} +public class HelloWorld { + public static void main(/*…*/) { + System.out.println(/*…*/); + } +} +``` + +@preview +![](svg/chapter-10/minted-java-crop.svg) + +@slide(layout=content-only) + +@title +`Minted` konfigurieren + +@content +Durch optionale Parameter können Zeilennummerierung, Umbrüche und Farben ausgewählt werden. Außerdem sind zahlreiche Themes verfügbar. + +``` {.lang-tex .hljs} +\usemintedstyle{monokai} +\begin{minted}[ +linenos=true, +breaklines=true, +]{javascript} + % ... +\end{minted} +``` + +🔗 **[Einführung](https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted)** und **[offizielle Dokumentation](https://ctan.kako-dev.de/macros/latex/contrib/minted/minted.pdf)** + +@slide(layout=task) + +@task-number +9 + +@title +Quelltext einbinden + +@content +* Abschnitt 2.4 enthält zwei auskommentierte **Listings**. +* ++ Bindet zunächst das **Paket `minted`** an der richtigen Stelle ein. +* ++ Nutzt die **`minted`-Umgebung**, um das erste Listing mit Syntax Highlighting zu versehen. +* ++ Lagert das zweite Listing in eine **neue Datei** aus und bindet sie mit `\inputminted` ein. +* ++ Ändert das **Farbschema** zu `borland`. \ No newline at end of file diff --git a/slides/chapter-10.en.md b/slides/chapter-10.en.md new file mode 100644 index 0000000..451ff0b --- /dev/null +++ b/slides/chapter-10.en.md @@ -0,0 +1,127 @@ +@slide(layout=chapter-slide) + +@title +Source code listings + +@slide(layout=content-and-preview) + +@title +Installation 🖥️ + +@content +`Minted`, another LaTeX package, is very useful to display source code. It requires the Python programming language. + +As soon as **[Python is installed](https://www.python.org/)**, we can download the corresponding Python package **[`Pygments`](http://pygments.org/)** using a command prompt: + +``` {.lang-sh .hljs} +pip install Pygments +``` + +Add the LaTeX package and we are good to go: + +``` {.lang-tex .hljs} +\usepackage{minted} +``` + +@preview +![](svg/chapter-10/minted-overview-english-crop.svg){ .thin-padding } + +@slide(layout=content-only) + +@title +Compiler settings + +@content +
+ We need to pass the additional flag `--shell-escape` to our compiler in order to use `minted`. +
+ +In TeXstudio, go to **`Options > Configure TeXstudio > Commands`** and add the flag in the PdfLaTeX row before `%.tex`: + + pdflatex -syntex=1 -interaction=nonstopmode **--shell-escape** %.tex + +@slide(layout=content-and-preview) + +@title +Listings within LaTeX documents + +@content +++ Within a dedicated environment: + +``` {.lang-tex .hljs .fragment} +\section*{Haskell Magic} +Squares of all even % … +\begin{minted}{haskell} +[x^2 | x <- [1..200], even x] +\end{minted} +``` + +++ Directly inline: + +``` {.lang-tex .hljs .fragment} +\section*{An HTML Example} +A headline is denoted the following way: +\mint{html}|

LaTeX at University

| +``` + +@preview +![](svg/chapter-10/minted-haskell-english-crop.svg) + +@slide(layout=content-and-preview) + +@title +External source code + +@content +We can avoid redundancy by including source code directly from its source file. + +``` {.lang-tex .hljs} +\section*{Simple Java Application} +\inputminted{java}{Test.java} +``` + +``` {.lang-java .hljs data-sourcefile="Test.java"} +public class HelloWorld { + public static void main(/*…*/) { + System.out.println(/*…*/); + } +} +``` + +@preview +![](svg/chapter-10/minted-java-english-crop.svg) + +@slide(layout=content-only) + +@title +Configuring `minted` + +@content +Optional parameters allow us to activate line numbers, automated line breaks, and syntax highlighting based on numerous color schemes. + +``` {.lang-tex .hljs} +\usemintedstyle{monokai} +\begin{minted}[ +linenos=true, +breaklines=true, +]{javascript} + % ... +\end{minted} +``` + +🔗 **[introduction](https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted)** and **[official documentation](https://ctan.kako-dev.de/macros/latex/contrib/minted/minted.pdf)** + +@slide(layout=task) + +@task-number +9 + +@title +Listing source code + +@content +* Section 2.4 contains two **listings** that are currently commented out. +* ++ Include the **`minted` package** in the right place. +* ++ Make use of the **`minted` environment** to activate syntax highlighting for the first listing. +* ++ Move the second listing to a **new file** and include it using `\inputminted`. +* ++ Change the **color scheme** to `borland`. \ No newline at end of file diff --git a/sections/german/10/Test.java b/svg/chapter-10/Test.java similarity index 100% rename from sections/german/10/Test.java rename to svg/chapter-10/Test.java diff --git a/sections/german/10/minted-haskell-crop.svg b/svg/chapter-10/minted-haskell-crop.svg similarity index 99% rename from sections/german/10/minted-haskell-crop.svg rename to svg/chapter-10/minted-haskell-crop.svg index d03b9ed..6d35707 100644 --- a/sections/german/10/minted-haskell-crop.svg +++ b/svg/chapter-10/minted-haskell-crop.svg @@ -1,5 +1,5 @@ - + @@ -134,9 +134,6 @@ - - - @@ -474,8 +471,5 @@ - - - diff --git a/svg/chapter-10/minted-haskell-english-crop.svg b/svg/chapter-10/minted-haskell-english-crop.svg new file mode 100644 index 0000000..472af29 --- /dev/null +++ b/svg/chapter-10/minted-haskell-english-crop.svg @@ -0,0 +1,497 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/svg/chapter-10/minted-haskell-english-orig.svg b/svg/chapter-10/minted-haskell-english-orig.svg new file mode 100644 index 0000000..3d09f28 --- /dev/null +++ b/svg/chapter-10/minted-haskell-english-orig.svg @@ -0,0 +1,497 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/svg/chapter-10/minted-haskell-english.tex b/svg/chapter-10/minted-haskell-english.tex new file mode 100644 index 0000000..bde476b --- /dev/null +++ b/svg/chapter-10/minted-haskell-english.tex @@ -0,0 +1,21 @@ +\documentclass[a4paper]{article} +\usepackage{lmodern} +\usepackage{amssymb,amsmath} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{hyperref} +\usepackage{minted} +\begin{document} +\thispagestyle{empty} + +\section*{Haskell Magic} +Squares of all even numbers between 1 and 200: +\begin{minted}{haskell} +[x^2 | x <- [1..200], even x] +\end{minted} + +\section*{An HTML Example} +A headline is denoted the following way: +\mint{html}|

LaTeX at University

| + +\end{document} diff --git a/sections/german/10/minted-haskell-orig.svg b/svg/chapter-10/minted-haskell-orig.svg similarity index 99% rename from sections/german/10/minted-haskell-orig.svg rename to svg/chapter-10/minted-haskell-orig.svg index 0e28559..c0ada3a 100644 --- a/sections/german/10/minted-haskell-orig.svg +++ b/svg/chapter-10/minted-haskell-orig.svg @@ -134,9 +134,6 @@ - - - @@ -474,8 +471,5 @@ - - -
diff --git a/sections/german/10/minted-haskell.tex b/svg/chapter-10/minted-haskell.tex similarity index 91% rename from sections/german/10/minted-haskell.tex rename to svg/chapter-10/minted-haskell.tex index 8f74c98..dfd1107 100644 --- a/sections/german/10/minted-haskell.tex +++ b/svg/chapter-10/minted-haskell.tex @@ -16,6 +16,6 @@ Quadrate aller geraden Zahlen zwischen 1 und 200: \section*{Ein HTML-Beispiel} Eine Überschrift wird so ausgezeichnet: -\mint{html}|

LaTeX im Studium

|. +\mint{html}|

LaTeX im Studium

| \end{document} diff --git a/sections/german/10/minted-java-crop.svg b/svg/chapter-10/minted-java-crop.svg similarity index 100% rename from sections/german/10/minted-java-crop.svg rename to svg/chapter-10/minted-java-crop.svg diff --git a/svg/chapter-10/minted-java-english-crop.svg b/svg/chapter-10/minted-java-english-crop.svg new file mode 100644 index 0000000..9cbb416 --- /dev/null +++ b/svg/chapter-10/minted-java-english-crop.svg @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/svg/chapter-10/minted-java-english-orig.svg b/svg/chapter-10/minted-java-english-orig.svg new file mode 100644 index 0000000..fa1b215 --- /dev/null +++ b/svg/chapter-10/minted-java-english-orig.svg @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/svg/chapter-10/minted-java-english.tex b/svg/chapter-10/minted-java-english.tex new file mode 100644 index 0000000..d899250 --- /dev/null +++ b/svg/chapter-10/minted-java-english.tex @@ -0,0 +1,14 @@ +\documentclass[a4paper]{article} +\usepackage{lmodern} +\usepackage{amssymb,amsmath} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{hyperref} +\usepackage{minted} +\begin{document} +\thispagestyle{empty} + +\section*{Simple Java Application} +\inputminted{java}{Test.java} + +\end{document} diff --git a/sections/german/10/minted-java-orig.svg b/svg/chapter-10/minted-java-orig.svg similarity index 100% rename from sections/german/10/minted-java-orig.svg rename to svg/chapter-10/minted-java-orig.svg diff --git a/sections/german/10/minted-java.tex b/svg/chapter-10/minted-java.tex similarity index 100% rename from sections/german/10/minted-java.tex rename to svg/chapter-10/minted-java.tex diff --git a/sections/german/10/minted-overview-crop.svg b/svg/chapter-10/minted-overview-crop.svg similarity index 77% rename from sections/german/10/minted-overview-crop.svg rename to svg/chapter-10/minted-overview-crop.svg index d973da0..5f19228 100644 --- a/sections/german/10/minted-overview-crop.svg +++ b/svg/chapter-10/minted-overview-crop.svg @@ -1,5 +1,5 @@ - + @@ -228,17 +228,26 @@ - + - + - + + + + + + + + + + @@ -591,7 +600,7 @@ - + @@ -608,6 +617,18 @@ + + + + + + + + + + + + @@ -676,178 +697,216 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - + + + - + - + + + + + + + + + + + - - + - - - + + - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + @@ -880,485 +939,485 @@ - - - - - - - - - + - + - - + - + + - - - + + + + + + + + + + + + + + + + + - - - - - + + + + + - + - - - - - - - - - - + + + + + + + + - - - - - + + + + + - - + + - - - - + + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - + + + - - - + + + - + - + - + - - + + - + - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - + + + + - - - + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - + - + - + - - + + - + - + - - - + + + - - - - - + + + + + - + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - - + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - - + + + - + - + - - - - - - - - - - - - - - - - - - + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - + - + - - - + + + - - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + - - - + + + - + + + + + + + + + + + + + + + + + + diff --git a/svg/chapter-10/minted-overview-english-crop.svg b/svg/chapter-10/minted-overview-english-crop.svg new file mode 100644 index 0000000..2771fd6 --- /dev/null +++ b/svg/chapter-10/minted-overview-english-crop.svg @@ -0,0 +1,1406 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/svg/chapter-10/minted-overview-english-orig.svg b/svg/chapter-10/minted-overview-english-orig.svg new file mode 100644 index 0000000..a562244 --- /dev/null +++ b/svg/chapter-10/minted-overview-english-orig.svg @@ -0,0 +1,1406 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/svg/chapter-10/minted-overview-english.tex b/svg/chapter-10/minted-overview-english.tex new file mode 100644 index 0000000..4d59414 --- /dev/null +++ b/svg/chapter-10/minted-overview-english.tex @@ -0,0 +1,45 @@ +\documentclass[a4paper]{article} +\usepackage{lmodern} +\usepackage{amssymb,amsmath} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{hyperref} +\usepackage{minted} +\begin{document} +\thispagestyle{empty} + +\begin{minted}[ +fontfamily=tt, +linenos=true, +numberblanklines=true, +numbersep=12pt, +numbersep=5pt, +gobble=0, +frame=leftline, +framerule=0.4pt, +framesep=2mm, +funcnamehighlighting=true, +tabsize=4, +breaklines=true, +texcl=false, +]{html} +
+
+

Installation

+

+ Minted, another LaTeX package, is very useful to display source code. It requires the Python programming language. +

+

+ As soon as Python is installed, we can download the corresponding Python package Pygments using a command prompt: +

+
pip install Pygments
+

Add the LaTeX package and we are good to go:

+
\usepackage{minted}
+
+
+ +
+
+\end{minted} + +\end{document} diff --git a/sections/german/10/minted-overview-orig.svg b/svg/chapter-10/minted-overview-orig.svg similarity index 77% rename from sections/german/10/minted-overview-orig.svg rename to svg/chapter-10/minted-overview-orig.svg index 25bf43c..0ee0f33 100644 --- a/sections/german/10/minted-overview-orig.svg +++ b/svg/chapter-10/minted-overview-orig.svg @@ -228,17 +228,26 @@ - + - + - + + + + + + + + + + @@ -591,7 +600,7 @@ - + @@ -608,6 +617,18 @@ + + + + + + + + + + + + @@ -676,178 +697,216 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - + + + - + - + + + + + + + + + + + - - + - - - + + - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + @@ -880,485 +939,485 @@ - - - - - - - - - + - + - - + - + + - - - + + + + + + + + + + + + + + + + + - - - - - + + + + + - + - - - - - - - - - - + + + + + + + + - - - - - + + + + + - - + + - - - - + + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - + + + - - - + + + - + - + - + - - + + - + - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - + + + + - - - + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - + - + - + - - + + - + - + - - - + + + - - - - - + + + + + - + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - - + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - - + + + - + - + - - - - - - - - - - - - - - - - - - + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - + - + - - - + + + - - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + - - - + + + - + + + + + + + + + + + + + + + + + + diff --git a/sections/german/10/minted-overview.tex b/svg/chapter-10/minted-overview.tex similarity index 69% rename from sections/german/10/minted-overview.tex rename to svg/chapter-10/minted-overview.tex index 0e8c2ff..a26a13e 100644 --- a/sections/german/10/minted-overview.tex +++ b/svg/chapter-10/minted-overview.tex @@ -25,19 +25,19 @@ texcl=false, ]{html}
-

Installation 🖥️

+

Installation

Mit dem Paket minted lässt sich Quelltext gut darstellen. Dafür wird die Programmiersprache Python benötigt.

- Nach der Installation von Python kann das zugehörige Paket Pygments in der Eingabeaufforderung installiert werden durch: + Nach der Installation von Python kann das zugehörige Paket Pygments in der Eingabeaufforderung installiert werden durch:

-
pip install Pygments
+
pip install Pygments

Anschließend muss das LaTeX-Paket nur noch eingebunden werden:

\usepackage{minted}
- +
\end{minted} From b6bbc29d649c3e4d350ced929e169d5a72d4a79c Mon Sep 17 00:00:00 2001 From: Florian Knoch Date: Thu, 26 Mar 2020 13:26:54 +0100 Subject: [PATCH 2/3] Remove parts indication. --- slides/chapter-09.de.md | 4 ++-- slides/chapter-09.en.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/slides/chapter-09.de.md b/slides/chapter-09.de.md index a7020db..fc6115d 100644 --- a/slides/chapter-09.de.md +++ b/slides/chapter-09.de.md @@ -29,7 +29,7 @@ Pakete: `amsmath`, `amsthm`, `amssymb`, `mathtools` @slide(layout=content-only) @title -Einige Beispiele (1) +Einige Beispiele @content @@ -67,7 +67,7 @@ Schriftgröße @slide(layout=content-only) @title -Einige Beispiele (2) +Einige Beispiele @content
diff --git a/slides/chapter-09.en.md b/slides/chapter-09.en.md index 25aa12b..763ce30 100644 --- a/slides/chapter-09.en.md +++ b/slides/chapter-09.en.md @@ -31,7 +31,7 @@ Packages: `amsmath`, `amsthm`, `amssymb`, `mathtools` @slide(layout=content-only) @title -Examples (1) +Examples @content
@@ -66,7 +66,7 @@ Examples (1) @slide(layout=content-only) @title -Examples (2) +Examples @content
From 496565e8ba5f2d8ce112879b3beb565138df09ce Mon Sep 17 00:00:00 2001 From: Florian Knoch Date: Thu, 26 Mar 2020 13:58:07 +0100 Subject: [PATCH 3/3] Update onPoint. --- onpoint | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/onpoint b/onpoint index b87940c..254b0cd 160000 --- a/onpoint +++ b/onpoint @@ -1 +1 @@ -Subproject commit b87940ccd5a37829fa00d7b5994d6a53dd611f7b +Subproject commit 254b0cd76c36b010403f7e57bbb9424cc45a848d