From 0a23b2a585d106a0d81094ef792d70e48dff1774 Mon Sep 17 00:00:00 2001
From: Peter <pt033@hdm-stuttgart.de>
Date: Fri, 16 Feb 2024 20:41:25 +0100
Subject: [PATCH] feat(skin selection): implement player skin selection

---
 .../Controller/SkinSelectionController.java   |  52 ++++++++++++----
 src/main/resources/fxml/SkinSelection.fxml    |  57 +++++++++++++++---
 .../textures/player/high_res/highBorn.png     | Bin 0 -> 12988 bytes
 .../textures/player/high_res/human.png        | Bin 0 -> 14763 bytes
 .../textures/player/high_res/sentinel.png     | Bin 0 -> 17800 bytes
 5 files changed, 87 insertions(+), 22 deletions(-)
 create mode 100644 src/main/resources/textures/player/high_res/highBorn.png
 create mode 100644 src/main/resources/textures/player/high_res/human.png
 create mode 100644 src/main/resources/textures/player/high_res/sentinel.png

diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/SkinSelectionController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/SkinSelectionController.java
index 95a684e0..6c33ca6e 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/SkinSelectionController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/SkinSelectionController.java
@@ -2,6 +2,7 @@ package de.hdm_stuttgart.battlearena.Controller;
 
 import de.hdm_stuttgart.battlearena.Controller.Utilities.SceneLoader;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.RuntimeInfo;
+import de.hdm_stuttgart.battlearena.Model.Entity.EntityClass;
 import javafx.fxml.FXML;
 import javafx.fxml.Initializable;
 import javafx.geometry.Rectangle2D;
@@ -20,31 +21,57 @@ public class SkinSelectionController implements Initializable {
     @FXML
     private VBox parent;
     @FXML
-    private ToggleGroup selectionButton;
+    private ToggleGroup playerOne, playerTwo;
     @FXML
-    private ImageView selection1, selection2, selection3;
-    private String selectedSkin;
+    private ImageView playerOne1, playerOne2, playerOne3, playerTwo1, playerTwo2, playerTwo3;
+    private String playerOneSkin, playerTwoSkin;
     private final RuntimeInfo runtimeInfo = RuntimeInfo.getInstance();
     private static final Logger log = LogManager.getLogger(MapSelectionController.class);
 
     @Override
     public void initialize(URL url, ResourceBundle resourceBundle) {
-        skinSelection();
-        setImageWidth(selection1, selection2, selection3);
+        skinSelection(playerOne);
+        skinSelection(playerTwo);
+        setImageWidth(playerOne1, playerOne2, playerOne3, playerTwo1, playerTwo2, playerTwo3);
     }
 
-    private void skinSelection() {
-        selectionButton.selectedToggleProperty().addListener((observableValue, oldToggle, newToggle) -> {
-            if (selectionButton.getSelectedToggle() != null) {
-                ToggleButton selected = (ToggleButton) selectionButton.getSelectedToggle();
-                selectedSkin = selected.getText();
+    private void skinSelection(ToggleGroup player) {
+        player.selectedToggleProperty().addListener((observableValue, oldToggle, newToggle) -> {
+            if (player.getSelectedToggle() != null) {
+                ToggleButton selected = (ToggleButton) player.getSelectedToggle();
+
+                if (player == playerOne) {
+                    playerOneSkin = selected.getText();
+                    switch (playerOneSkin) {
+                        case "High Born":
+                            runtimeInfo.setPlayerOneClass(EntityClass.HIGH_BORN);
+                            break;
+                        case "Human":
+                            runtimeInfo.setPlayerOneClass(EntityClass.HUMAN);
+                            break;
+                        case "Sentinel":
+                            runtimeInfo.setPlayerOneClass(EntityClass.SENTINELS);
+                    }
+                } else {
+                    playerTwoSkin = selected.getText();
+                    switch (playerTwoSkin) {
+                        case "High Born":
+                            runtimeInfo.setPlayerTwoClass(EntityClass.HIGH_BORN);
+                            break;
+                        case "Human":
+                            runtimeInfo.setPlayerTwoClass(EntityClass.HUMAN);
+                            break;
+                        case "Sentinel":
+                            runtimeInfo.setPlayerTwoClass(EntityClass.SENTINELS);
+                    }
+                }
             }
         });
     }
 
     private void setImageWidth(ImageView... imageViews) { // the ... allows for zero or more arguments seperated by a comma, will pass argument as an array
         Rectangle2D screen = Screen.getPrimary().getVisualBounds();
-        final double imageWidth = screen.getWidth() * 0.2;
+        final double imageWidth = screen.getWidth() * 0.1;
         for (ImageView image : imageViews) {
             image.setFitWidth(imageWidth);
             image.setPreserveRatio(true);
@@ -59,7 +86,8 @@ public class SkinSelectionController implements Initializable {
 
     @FXML
     private void gameScene() {
-        log.info("Selected skin: " + selectedSkin);
+        log.info("Player 1 skin: " + playerOneSkin);
+        log.info("Player 2 skin: " + playerTwoSkin);
         parent.getChildren().clear();
         parent.getChildren().add(new SceneLoader().loadScene("MapSelection"));
     }
diff --git a/src/main/resources/fxml/SkinSelection.fxml b/src/main/resources/fxml/SkinSelection.fxml
index c8b09f8e..8e074b50 100644
--- a/src/main/resources/fxml/SkinSelection.fxml
+++ b/src/main/resources/fxml/SkinSelection.fxml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <?import javafx.scene.control.Button?>
+<?import javafx.scene.control.Label?>
 <?import javafx.scene.control.ToggleButton?>
 <?import javafx.scene.control.ToggleGroup?>
 <?import javafx.scene.image.Image?>
@@ -10,34 +11,70 @@
 
 <VBox fx:id="parent" alignment="CENTER" prefHeight="400.0" prefWidth="600.0" spacing="20.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.SkinSelectionController">
    <children>
+      <Label text="Player 1" />
       <HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" spacing="40.0">
          <children>
-            <ToggleButton contentDisplay="TOP" mnemonicParsing="false" styleClass="skinSelection" text="Elias">
+            <ToggleButton contentDisplay="TOP" mnemonicParsing="false" styleClass="skinSelection" text="High Born">
                <graphic>
-                  <ImageView fx:id="selection1" fitHeight="700.0" fitWidth="700.0" pickOnBounds="true" preserveRatio="true">
+                  <ImageView fx:id="playerOne1" fitHeight="700.0" fitWidth="700.0" pickOnBounds="true" preserveRatio="true">
                      <image>
-                        <Image url="@../textures/images/elias.png" />
+                        <Image url="@../textures/player/high_res/highBorn.png" />
                      </image>
                   </ImageView>
                </graphic>
                <toggleGroup>
-                  <ToggleGroup fx:id="selectionButton" />
+                  <ToggleGroup fx:id="playerOne" />
                </toggleGroup>
             </ToggleButton>
-            <ToggleButton contentDisplay="TOP" mnemonicParsing="false" styleClass="skinSelection" text="Erzan" toggleGroup="$selectionButton">
+            <ToggleButton contentDisplay="TOP" mnemonicParsing="false" styleClass="skinSelection" text="Human" toggleGroup="$playerOne">
                <graphic>
-                  <ImageView fx:id="selection2" fitHeight="700.0" fitWidth="700.0" pickOnBounds="true" preserveRatio="true">
+                  <ImageView fx:id="playerOne2" fitHeight="700.0" fitWidth="700.0" pickOnBounds="true" preserveRatio="true">
                      <image>
-                        <Image url="@../textures/images/erzan.png" />
+                        <Image url="@../textures/player/high_res/human.png" />
                      </image>
                   </ImageView>
                </graphic>
             </ToggleButton>
-            <ToggleButton contentDisplay="TOP" mnemonicParsing="false" styleClass="skinSelection" text="Martin" toggleGroup="$selectionButton">
+            <ToggleButton contentDisplay="TOP" mnemonicParsing="false" styleClass="skinSelection" text="Sentinel" toggleGroup="$playerOne">
                <graphic>
-                  <ImageView fx:id="selection3" fitHeight="700.0" fitWidth="700.0" pickOnBounds="true" preserveRatio="true">
+                  <ImageView fx:id="playerOne3" fitHeight="700.0" fitWidth="700.0" pickOnBounds="true" preserveRatio="true">
                      <image>
-                        <Image url="@../textures/images/martin.png" />
+                        <Image url="@../textures/player/high_res/sentinel.png" />
+                     </image>
+                  </ImageView>
+               </graphic>
+            </ToggleButton>
+         </children>
+      </HBox>
+      <Label text="Player 2" />
+      <HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" spacing="40.0">
+         <children>
+            <ToggleButton contentDisplay="TOP" mnemonicParsing="false" styleClass="skinSelection" text="High Born">
+               <graphic>
+                  <ImageView fx:id="playerTwo1" fitHeight="700.0" fitWidth="700.0" pickOnBounds="true" preserveRatio="true">
+                     <image>
+                        <Image url="@../textures/player/high_res/highBorn.png" />
+                     </image>
+                  </ImageView>
+               </graphic>
+               <toggleGroup>
+                  <ToggleGroup fx:id="playerTwo" />
+               </toggleGroup>
+            </ToggleButton>
+            <ToggleButton contentDisplay="TOP" mnemonicParsing="false" styleClass="skinSelection" text="Human" toggleGroup="$playerTwo">
+               <graphic>
+                  <ImageView fx:id="playerTwo2" fitHeight="700.0" fitWidth="700.0" pickOnBounds="true" preserveRatio="true">
+                     <image>
+                        <Image url="@../textures/player/high_res/human.png" />
+                     </image>
+                  </ImageView>
+               </graphic>
+            </ToggleButton>
+            <ToggleButton contentDisplay="TOP" mnemonicParsing="false" styleClass="skinSelection" text="Sentinel" toggleGroup="$playerTwo">
+               <graphic>
+                  <ImageView fx:id="playerTwo3" fitHeight="700.0" fitWidth="700.0" pickOnBounds="true" preserveRatio="true">
+                     <image>
+                        <Image url="@../textures/player/high_res/sentinel.png" />
                      </image>
                   </ImageView>
                </graphic>
diff --git a/src/main/resources/textures/player/high_res/highBorn.png b/src/main/resources/textures/player/high_res/highBorn.png
new file mode 100644
index 0000000000000000000000000000000000000000..130cd5b07eb6e42474abef8e60cf2af8232a0f06
GIT binary patch
literal 12988
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
IALlRs2S)kl!2kdN

literal 0
HcmV?d00001

diff --git a/src/main/resources/textures/player/high_res/human.png b/src/main/resources/textures/player/high_res/human.png
new file mode 100644
index 0000000000000000000000000000000000000000..ecd69bc6b099bd4b899155b7f0e9199e9a49fb02
GIT binary patch
literal 14763
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

literal 0
HcmV?d00001

diff --git a/src/main/resources/textures/player/high_res/sentinel.png b/src/main/resources/textures/player/high_res/sentinel.png
new file mode 100644
index 0000000000000000000000000000000000000000..ebcc6a9ffc8d66aa9b7bc5a5407787aef05ea62a
GIT binary patch
literal 17800
zcmeIac~sL^*DoG{mRhZ}PN;}j3}BUcCPKgmrx*i{7?e>a12Tm$BoK!BSRO_6F(Al{
zf*_(y5ds7PR*^y^%pe4a$`IxV2?PkkJ>M_3>%Mor_jlLtuJyk6pLW%H&OV>B&p!JM
z-@W(Q>Fu*tCx7^U&-Vxf;s?yBW9JbF=~3v<ci#dEE~{e*{I${Vlx+Y4p?LuMvmxZE
zc@P32GflXNC*g5tP%ggSn$E7i*W5Hiy!`+gfiN`>@pE?ZawF}(=H@~0F;f;WYn1mB
zT+Ng(8{o8YewJ?638yGTw+j@ji!Kx|7ZX=ybM$`G5ENkG?M8CmAL4z(Cjb><rVR5%
zfigtaQr-_kNM2^jN1*}t<8f#ATlx~+_8V#HXt-!=YwtHQ(R6cl*1e|ZuD)MaTUSR*
z2mGtAp`(k^(?;p*?*ICaG8m5N>W(^p?8Mi>K+R0~I*H_m($WeJ4%Q6T)AS{JXz7@k
zm}qJ1YU%1~0E9*W*@xsDqTv&8;7<<6+yY#P1V0kN*JnS((fOKhAjwP_h`K%pZ@<6T
z`UHH{6VRAeh_j!Tj;1y=Cm87J@)yo8kaz<g+|@<P?S`ATn-3`fV0He&`d#-W`379~
z{ok<utNA|+0CbDP{WZpaDvP)GUqb|tjt7Bhd{xMQiVnC)_H)xZ?-t-2NOW;K9t6ZZ
z0L{h^Wl3~%CixOC`ug7ZbEVGyDe`_@Jx!hc2QL$RTz!KBe)*p|xE*sQxtS@0Rnynd
z*45B4yr`><(ltWq86MWwL1}BRLvg;Y1b6a(2GuhJ3;Z9TV9&TZlbrvLU{@EEyD!n(
z8BCbq?d;*E<>%v}y#FsXqAY!H_!7auKsr5G3LFlF@d+R~`?$Daj+rTgIcpLKuBdA!
z#?A)1+AbOfE^c}n273Cg8YcQWMjCqBdIs9AMlQOBdIo>?Kj!Na2(9d&{aycm_O~Vy
zz|nHP@qf(+I&jdIK%F84fW;zzJrNh&{J)lN5cb2n0Ojlg?QSz=7id}CT$R6)3IEp`
zSZ5o2-3>7P|5)yISb(oPDcG6lcGLrC>;Jf&w1Dth&^cV6ht~f(MY!#MI<tSm!9@TS
z|GI)e<*!T3%?I3EL~upf2+evB2n!3$v7;A5Qm6Vui?YX#^29uDVgRQv*!}XAjXxi_
z`L=26)?GV)l=`R2zkXpmZBxtsz3Jn>KJRq-{^2$gq;av%FD@4&vz2KT$8K#un`$h-
zxBf#8;-`Za8;)u3Z#iA^>dF+=!-G%ZjD_=-TXTawPUtZMOmca-Jiah*&pl1-j6QW~
zcFHl>TCZk}Q>2aR9bV4L3KJ?=4Lv@2(j@%VgyhuWfaL}EaDjN=AF}8#A-t1OEBZZ>
z3(c`6J-9a2MLxzM#g)k$M94ZNyT%U%Vg}lUwuo{}#^PuH)ggwpYFxHi#Bh5D#@a&)
z|1d`&EgB+Y?oF+1_>GV+kVX{M$e^@I_TyJt64U!6grm`)Y&A!jR3(|n6@zgJbo)nI
z$b$bUe@6o4gX<Nkzblddl{z@HghteENS<2BYwfAdurJI-Y-y8~pb-cOHq%nkv+8B@
ziL6$ylpJ#4p*tPq6hr%N>R_U8_;ieUU}{f=Pp>!$AM1aisc>;er6!?WM7{fPj}amH
zrK(`zX-vf08@VR)4l&v025o2nDVUV(N60>Yr#5vq3$s&+K#-vS_`V6S@4jC@xb|XV
zd}AUxG22Uc(=h_6wd$49K%FWV=oKqxCHo8{jwRP+B;Soo-7_4#<|@8wzT8qJXcv8I
zR&I%k+B$kRS~JGDF!y2{$zJT#9hmn^i+p9+m)B&6Fo8N(?&2Qr9mzJkMsYN9w`-Td
zCGXL8e_fPWV+FR~hekf%S;sqbp3D3;^3DRy`0t(f|Kz|y+puUW9o~WX;xZgJsMLP6
z?ta1ZO+N%CGpHGvM$?}nUqcH`=E;s)b_ep?OY;O3b}4DLG=FMh)tCfPB!#2hrM2^W
zHRt-@$GI}Wjk9-q)Rs5F#tlqb>ZuZNSJ~vPywl<>i+op>4)joq(!13vHODG7GuHC5
zNcTB<FJIu9NP0n@ZU>VR-c;CfDa1`sh6%`Fo3C(O+5zY1>1>=}55HQ_AKt0J3tV-~
zDd--`!Elg^IY@a5dXrz|^U4d+r*U!1r7XGD=$Zw>;PTTN*26F-h9K*O6<ut;FXJh*
z#a%y-zvva0{j#_#!IR1q9t?E5LMy`(^Vss?t0&@`atg3(eANo(#584)$%zQ$og8am
z%ux{^oi>tou?!osFw>{)eK$?+JHo{YTNgtlQI(BPvAW*0*6h6L>cUd{fx{gS375QR
zuBkW7ZMvyfX*X0CKe%|O)E)WVbLl1T{paE;)?vj%gID`DAP|`dDMhgBzu({TcjdoJ
z2ijo2A|`WH?e!WL+HN+O5<Drp%W&@oT|Fkqgi1q9xA?YA)^4>apLg>6u)RnePxi`V
zLqge!Bt?o(a?pU7fcRLpkra89pqK8;?+b89>v<fvyNSz^d!;)S65mkQ-V^d!+#Z{g
z_w-`Q{Q2Hi8&25lL|bf5sFqd7W5xR={;LO)(j`unGbecU8zQ-?EgQbg9veyW$!Ms~
zSjjP6;-ihO$}gc?$L&z5eRHk6W{;IdzFY8wYh}*8=<?R-r1x?ejk2s!d3vbvZoxeD
zNoPgKL2|27l|jbrfS_T1hA*P-MU;C7nucz8cB&gW*pqZ7IIh9U%vX|TRlmELlb!Ek
z9C1bObemgAfNKB3v3JZJ_WYE=yL`SEnJ$Ca@#82$x`QOtw{IiSS@%nHaYk0{o!fFR
zdsW&}yU9na4pFe?h&PwpyJf+qwJ4TBfgQZvB2yYvHvC=rFV%r6RS9A2hofBxU8B&O
zZ@%dL)TCPB65r&qqk3nLLBk2%0n>yYWYU?5ibf9w%n_3W5;eoMvl59LX^%_tMH=+K
z_lV0@RC@jeWnHP+gK9$#=77tw>-M>ON<JqrWlQMOa#n6LkG5=nWD)(zD=tjGAq`U&
zie?`Qv`+QCpSrTJ{AK=)kkt$}MYnrN++=#FaSE5OTa9nNG!Sd3*As3`@C;o=oo;id
zjJaT}+^ViN2M$;n>J6C1-SuR0;@sm+XO5-Vng#n}XifgJE!(E7XnJ{vZH(ef6Y5-0
z+D=l6zX`%<iBAjEbTKp~NnK2YSS@1gvs`xm_^sR7SaD6&%$!0YdFnwcM|#dQR6x`3
zH)W=T9=LG1{sk%{^^fb~Fo)%}Fxx;aD-z~Jzfalyz8>*88&8zgiTaa^l}6}d$wWkz
zo;6M^z!`ebtJE60=cw`fNVcXq($cCe&I^@D{u26_QjmN982G#`4IsEvV3LDV{yFj!
z8$~(T-d6o7(XqBpeO>#q%wT(5URgOuEm|*QFXlpLV7hC(spwb=UH&jxW&E^!T<VnM
zM}+LrOlixY5P`?>h7xVCK4;2wGrG2oTIXqWXi7Fy9wz6ojIC*!CgJ6nonqh8{(2lR
z0c(%uji$tbgOzFb_ZQ;7`zr~5A!MITND#HJ$AT(v^qW~tKfB?(OU=Zf@r_5XCMIR+
z+eA7ziXSt-BR#W>Wz5;`w04>3)Q>UOKHJW$Uo@(z=&$DA59VW@FS;oiVd$Nth?Px7
z^=qwOj1zRay+I<C_@bd&%yF3Ei0zi5z=66Jhm@x+htQ_do2B+<?#Xy%8LMimuI|l~
zwf#A2i?mVrwDH=c5re-b;@S0KsE3IXra5u8g->m7RaHuwqb77N#$#3|Gtwd&j_?A;
zltk3{^ePQ0#cy%Il}PZt`C>|gS8DI@jBS<36znpveM>etJe%GMO-Jd2cbPd_AW=U|
zuV^2(lxyN5kK|3DcxPs>k5e8iKEKG#Zvs2<EHY{f`0E?+c>oo}-<AIc9Xt|I5l$-Z
zq2^2n>tYJn45RF47+p-xAj?`x_Svk5PXFw_>XOj;f)aM<!yfwDfm&4l^5Y+#>j)$W
zGZTiGUX~ls|KO#ni3w-a&Rah1c`9Xm$Fn^Vt<0$@&9P*XLG|_?gPwtD8mdre*igrk
z+pt$X$_kf^Z10%MWTgzfb=4(broEvmxj%HLlO?!9w1{6bY~I&6Z7GapHPa6b0%uOQ
z(Rw96W=d{VxQQO5hU0nsdQ-R8vr;R()pgmINAwI3zpiwMp6neG);P71qJ#9PM|run
zY11t}tRZYpQ%#?7anD83(WbFa=QyUV>B~7v5wnhtAEw<gm&8-;Nb{5-dl0CwIhuJP
zPPM^!?wh5q>-tNFsY<SMy?sI&!9i%WMNP~ZC+{)B5Q(XRwT1wp`NEfJ(?GM^S?GTG
zn(MmZO*~`WM%f?<nmtaky^(j4Kc*_Yd+!oSPbrYh*;L<jIm5KWHJ&p4$?9&Ltb4m}
zC_By(d^aew(Laq|{72@66wSbID75#?f+HzIcyJ_3PiEYRyZ^pqWrmVaI%d2(ZGt#{
zJx)EnvTIiKF!@r@5o-p%C0A=y7uA)WKU#X*z1KCI#h$L`6ApbZYNFfkqlToHv4eIt
zyBw+*0-r+U{W<D)_=gl56>zo=K7vCrAo4&%W}S;mOS?0$?>lhhc12myT!R@+_Q8td
zl3f7UxpfqY;bia{a;d#(i>b|IAKpn|l0BnYsA1XyV@^f%u%|g}2h}z}w83S@AqmN@
zXu<5;ZHcobiT&Of5b(k4L~$-8JP03ouYv`3T<x8Wqyi_XVKmx;zYP!fw9X8`C4jI{
zBpA;wQ3W_GPJuG0=09lQIw;yBmF5vRM_Zju<n@am0HMA;nHgXSI4+5vR*9ZA?-&C#
z$(hW6H_565Ztj784~XadeG7h$`k$3VP+1HL1|zJfwN$9E`k^5rHj;dj;KA0uBl*O@
zr3g?;fl43eH<IRWt(U$d&Bwx}E<k&@UIMf<xHPhnwB?`crSC{v?!u*afY#B8tvm&$
zS#B7`iDHIfA{N;K4%Trgm33bRsCsV{=d>LwyGHa>85+$~D(xZAouOC2{A7^B%pHCx
z^9WFun+)o3r#@~(sF`c+D4LoEGfn(y^hK&~FyOp!Oe)P`ArzWz0kUOmT|@$)*+Qh9
zGN@{LHZYmLBYp1->DyDS<(J<e@t!4F<Q|07ooOSL_8D4%$UPfLcU)o6ftFvoI<ZS^
z$M9g@Nht)vSX(OXiN=8y(HNFIhRrw(p@FBqy^ugFqoUfVs(|4x<tWY-{E5nDXgEui
z7Fz{a!Mk(;c?J@?_UuMd*F9)#7+M134z$=_g`{vgC4=&6f|h#oEenq+NchN~e;nQX
zD}=`fOQpRog76b(GWB4oo$NP~zO9GwFS0N^*~puIbF_41#6q+j1EV<?TH;_@$>f${
z60^s^_oic{m~O8-CE1(biEJ>2+~mZ%hg&SW%$ANNl5my%!29@zeH#ci_*A=RWqZfb
z<(XFmT%{=xa5yAYZG}4&a;gSiyNvGX>9XMJwUztfN5?5nT*dpu&uqs^oirbPg2$Yl
zsHdvQaru>hFMZB#1W90KS9A;qX4L3Vc+n>@-!K9Xb>%Sm^m^Poa4B>KUbRkftrEw*
z_6n{%liM)Ca&-ywXH2wRBJsk@8=?hiJmF&rKcW|yl{Xfx_&hAJviWAw6(CQ$`o1pN
zwHxlc$BrBkVw=gF$CrUfi@YUt`*Xz}&sp}`NBnG+|E#N9^N?mxg=ogGsa$aL1;;04
z=uDy!m0x^2G~`=fwT9b<{UoDy`HuF(Z2gH5+p2)fCovBBX>|L0dp&1k1jaf|`hnHj
z!Y70Q5!Hh=CyAI`X3T@{eOMqZqEq}cUeTI2-eEuQ@dY|^nq01Miq+f}U4TswDQQx?
zitD8tm_1PwY7!1fa$;36CmJU0QXZ&HZMI{?=_}YLA87gvOof@9Vo&|7x<RrPBgR8u
zu);F;NDqi%%ro*PjKUW;yXSUaC?ZOwC10HR^=;|<5zI)#bd?}Zl$jGf%YM(zewUw8
zNfNrYX%1|)5tx}85IoostrI#np083~dG{hqs~ugFk7qN3^Ut_(w}NvMkNMkw{BQH2
zo!Z13PV1-L(@VQoQrrsspPMC2aqga!ltEI{XalRcH5wc=k`OsHka2}%TP4#YqW);}
zoZVi-FOYmn@$gUU_9QD^ZeNpomlx`==P8SAeoqqcT)Cz2)91Q=yGs2=lIe$&Rf8DA
z3$2!vc71M^Pq?`F4eod%<<qE5T&sSJY<aKGjQw*aE593=G*A7`CI?3?CRXfm%)DMw
z-dB3XVLsWxkB75QOdRi=C#@uT-_=biU7T}VyPj^!eY$%(KXA>3)~(tzy|_2Oqk5d4
zlOkSQ4roL7xHA%D#fF5O2E~ltr)eDB>MViuODp<=_euoa&}<C7RZPI&@-f=2IH5}o
zPb|PuKb_BS{ajh->Fh;wPn{g#Wt(xc^QMmH`S>s9>ozK%SGr!-o{h!T%%tFmh8SF8
z(({cXuksN8^u;3S>1kyB{OU!Qj;4Ug#X;BnJbtIxumL%iLnoD1AHR`YnOJ&7LtfO2
zZabGh%w>8}b==eID)H@9i7w8oIwIrpf<g_x#cN3;mngNeC#PLCu}qfAV=Su&UD`zH
zzWdIk-HJ;O)EG@dwr{gFeVq3T-ZN}MEoLHYF>O=98meRY6?J<?LqXGM9&dpXF7#5^
z^(>wF_w&tv<%`Y#K0Xfx(fz(8$Ey2GdGpk4)7<q4?=Y1t>$aP!V?ib5tQ3|U9o28u
z=Kb_JJFLPzOR!Cp<yBIi)=jE5!o0J6uWm3<uQGP1y6<9xZzwP<Hunr{>s~y7qgoHW
z!vwQ17Y3{CQtn!-Hn}Ihm!RK|lcpT9ZAAaLNUNKw>Sv~P&p$asYdyHzz~26K*W^kM
z=3(<tvTA=wJo)*Ocg;UuCNgc}^258HU@tXaOSj?f_#v=olc?vw4s=2=M%7k^g0t>p
zW~ZnP#@U}xtE{6r#8jW13Oe82-p%&q(=X0_DlNd~4EhwScF+HQrlh>!aA<DJK#EFb
z!!zy}7{GC~^7(W>{+Uk8Nn6t=8%a)&JgF02wCCyN=%<*<{%o$p@(Zh{){ZH$>gjDA
z@#^;D;rYQSD6L>x0sC40e3zA5B@iz2b10*7-#cI(W#a!1di=i#den{43MM2!%KB7^
z19~TZvB~#JzN?ElG1#aXLhGp#To7GfVDJwI<_UDAFJ99RpO0|&Q*F2&e=a?I^-9d}
zzk5ZL@3*|wGrP2HG*LmtJ0<mq`GN;SO&o4Bx8+VOCa$lz+*hfIf_{G}uwnVOp?8YD
zL4TbQW(3onQxIJiB+w1cn;=SGA{+|+rDOu^=7!tnF7#6+dH%s9dLH3wMeoQ!b8^9=
zs&q}2(#q%nB`9_e7-=khk~rCXUpU1pddR4mIM1s$IaO#)^q`di+p5iXt!J9gn&<9Y
zX?@>TiqW_|pg3?!7{Ch+qkJAZ$dn%^quZxc2ai<VojzsO9aIt`f0pJ>$1=ELXT<#F
zxa^6x$+9MQv-{T@L}%mltY0m@QwqN({v33<8(S2e94i;$x_S>OI91Xr_P4pdJ5SIr
z5g##2e=2vAbvvSaLQdsm3dsYlQ!lgRRvFXan#JZ0kd=kx#EjKjQ>^=>vjg4Y4NHDY
zcA-42wN=i2cmJD(!#JKj%{@4M?0T>3M{(fgWVNPu%5BWo1M!80DQ+`c?aZt{MN;&I
z1qGoD_uip4pINO{Uhf`_hHEa%{m7a&@llFRXOW?+ujE12;=IvbjQ9`rek-)|ae1&R
zYE#?nPsEYK$N7RkLPW;~R?ROhybmvT2<fRQ7>Qc>@Hl6;0Wi0zU@ea11!D?E7<-@L
z0)u_Mb@!>%Z!s_lEq)@;%?RQTG&gxH=l+)4aLuG}%C^smx)!X|$f)^ris&BRWZYc3
zmeq)(&9`b+7&mhV0#B}XMV#lZ06PyM8S^$L>aPuH)W-pDxH+g>!#^rqBQBeojn!07
z5c#fIABWx(j0Cg8Rn;HN26>qMErqZ@QR`jaIvj?{G~Wh!stCqM_XMFz)ang&$iwXW
zXNo;1QD!L?_D1}qecVhOw~iV$LXJqSUU?_fk+&J{*zI?Oy-2gDv4z|lgk}H}uI+$p
zCFXGD5>$zNKGjWRAzOT-Ay+5!w4@?cYomzk203ES8pE~tSShNxU1@fNnAbNhIR<#`
zjl7A6gb26Q9OLuJ?B;<7f+hC{Km={1Y$?=xMIX~!&m8Jg_odcv%z!xU`qxc6xQ~M1
z__~X>`S+s`@0I-vuuFUtUk6DccL(+=@m~2?Aox+(OMCJ3k|qSrgni1c#^;GZBdqUX
z=}TMcp?;U^AQhZ_#e$T@It@1|&%sl<1UsPHp9&!5h+o6Fe{O|v1M-ljEDBHCg0UzW
zu!gG-5+IdQ;Z83u64;C9f3APlcL}=`yw>!RWewbB?Ncg{IMv(PDl5yTzKcCaX6<?E
zkh?p7ArIi4>+|}M1SJ72fL=AHs1^o!r%oC1Rgh-d?uwPa#s-d$0qo=Y=j(p-2l<I2
z2ylKqLclH21g)Ry^HZT!`Izvc9hxQ91JY&rFB4^{S}z-P4zE{#o+yWU2Eq<@$cc$c
z(AeYuwJ|5q0a9dTG3375Irk?DpBk724a0NA{8kKigxC6zQT%Wiq3OP(38a*>c|U7F
zE8h=$!i}4~O&s_9QTGg%=GogHp#?y1hqUbU@i#Eu50jrSPLHdsC>#TQwKrSBW41t{
zg?89Su6YdBTDltl@T%sRyaw3GwUm5kNY9oAV5d|L(O@^*x>OyYYC;|=n6Cr{Lt+$J
zdBXdkCARQNTa9zRU>ne~X%?d<uK)-O?0bAvwF;HQH#MK*xGbg~sV6VH^zY~n52!y_
zv!uXX>@@G45~PAPHgH&JBsi>GN*UvnU0&vAh^kZz*H~{ZL6fZBIhakYVvin6tXauW
z!tOgoTqs#vZO^Tc{E+(%B*a$7wbGQudo`iT4U^B;a<KbSbJLzaH@23c*uTRt(}sA>
zG}*Yll%<+ID&#M>=TU1h;FL%vUPp70^jC6rild>2Vuabr!LwiqEPB@84r{OWJ(dEw
zA^p`E4@ZM&uQ18Lh`R4itHT!A1H-C%Tyu5+JJo+-Eo+~>TcX$#xDkyR=f~_ro05SI
zaqUZ@xIxXUTAqoH+OlJp;skBb{)B<q!z1zf3YZb9QnoCv&EZs~ZCuV1F(wd`OnMVx
z7*KkSM&8K~oI4bP3Qjs_FE94YLgFs8u26P%2X`A7m?ak%EkDWb-Pf72c{#9LzWUkk
za!KZ!qPAFeBipUVY4Wd<()Wp|%MX*Yy~G0sXWR7_R0+VVexNE;OR0<5{&19bH^mh-
z{@cop5me5gW|I3y>tXb{L{y@vP7q4fI%QzHz1OGvVsOu4#%AH2flbC?zN?Q9ET*r0
zK3jRRK=_USLy&wCRe;mwNo?clvajU&x81$a`D?nXKean3N!+opGuUppma>#y6L^p(
z6yH<fyN{J!7-p0@-nWR}L&}r9xl`(Sp0{bcfrC2&e_)+?O|U-sTEe`Y8mI957zeCN
z?IE-3)aJUyK-kFL(vcD|dTL<#LcKhDaogu*3cNb9Ba#{}F+3~mTX6UyrDw{NOp<*g
z-aHtZvF+XTdASD<<uQB+=B@Qd@AMCMPoIBcT=UaT=$@VLY-ca_5yQ8sL(d133hc#~
zbjal|(o*L$>VJi<X>WQe54{QOD+B{vdFC*%PnW&8S_}dGu<CpX8wTR&sRDBtXjDfG
z*Iox|vlm~l11;70vg<&4Nve`53~c^`$l3!7Qots%Q0t`zBI^oVLPrgU&B1K!UK0o8
z;2ze+sbW|zi>+)j4{pSBHaQ)IZvWKbs?AWx$UC+iwlhqMAFfh|N#6sK3rxB@Ty<t0
zh3Bx{VA4N_t8T2L0LcR)?J{OBQi`AnZhkZzMuiplZ6lH80FNl`YT{@PcZe!ZEmVU9
ztBu5Sx)Z;FuFn1H{D~$=Bie`r;T+5kACMq)hS|N)VK4f@?7G1Hg@@UB{Xs;V!t4xO
zOq5h%c6*9b<<{BZ@SJFvUD3Dd{5LSWgJ7mx;10jqawg!J9_-*o3|)8dH7WcJ3R90Z
zJZMtYstS#Ng{fq(#%PlJ9sBWbD~7A~Kqh>qTH*3t%<7zV`e`dhLzuvPk~XPI#?ger
zR~~g_4R{-6s^Q{}hdE9(XL<K3`a5icq_VIc@utPt6Z5d4bHAdk+eAV76j=3<Qur3z
zT`KZrOpi4_{)mSb$;7`3V|7pWG*|3zd>uzSr%OFp(Lrfd-1W$Cw{_f%jhjOI%sDHE
z>jCpm_@0)cp<5hjL+d1@NtgI%N(q#zWVziXA=Om3vDk82@!O}Edp-sgYmW`<Q?ktl
zqo`k!>pXgLxLNuRzkc(Zd+H4V(i&}2_}s%#D~LSVYS?UU(pWJy-RQgIK4m5t8Zask
zsPKp0OP<KZAqCcH4_4oVMx1I3zmZTQG`PB0P&hCyIXIcs+ImhnlqC#%4c?=tHdHI)
zD%a+Is5fHGYANpVHaCu#j|ktNjI{4|^>Ao!pU=geOz-c^#*}ak2+W*<v(#1NnpIz|
zGDq<N>*?&0rWp`a5w8v&AubpAx2Fe$D$!;R608~Nx%Ok&xaABWjI4(m2Av1&_aRrF
z?7>EL6OwDZrNSk%t{-?a=k7gaOW$WqgB%t6-g|O78{X(yX-*?Ow1PU#3eu`S41W_G
zn{4WvYC5*qoB5vkieKHda_DMaz%jHThG-b*u&{}$lzA{KyMKCXhNV*cIhr27a_^B2
zeKf-+aSS=2DZAO48N60@D(N|K<ilfC4^E)TjBCpLiz5rK^TrvAzfI0lBhyn~PAV9J
zgP(ckKRSNYXJPlg0XzNWccP!S@&Ul>WTsrKG1zx_@C`oo)&!h~UhuK}nFH>fu4D@(
zDSvPrisr$0eH#S7xxb}534-t19K|Yt;hEow0+A3LJX91aKyd9-Qq;76fnQ2Mq4SA<
zq(Wyg*}_rw^IkCW7a7VJ)X!pv45a}s7|2la;KC&t%5At1C_^E@g@-Z}3|uIcq5J|D
zI%Oyu;li8@g$ET7KaH-yGnxEpl=>4Squq&2@lj|{za3F5PiW9cuOCPAVHwM}M6nLR
zB#-?qmtoWwbzuF$lj}o7h5sAoX>=-6X*)EPTHKGLvg^#^fE~IHlZs+xz%a(COo2QM
z^Zs#EvJOj;S(;jxM>;C}2n>@P%j6w`Vd$-+3|JpU%`!_(Fl;XvR1b#90@y(qwgFh$
zFwC!3W{D0@>P4hQgeolfj-N)m4?z0H{|pTMb<(!c%dlu7i%dr=XzDH7qFC^RM;};N
z!`!R4jlx)|Gqk<HC9VF6Klfou7iCB>ZdOo>k<T#<MYnqP=``MM(ga(Tn(@yap`Y@|
zvowOCQD5sNmyUU=l+BGSFIqtfcOm!8Y@UF-TcrmazI;PZ+F*3bTU;8-v_rgsLVS_L
zi{L9<z`n36D5<9-W7wv+SxJ+rTn_s&Na;c~&9n|#ia8_Z;{3#S)C{+W$xW)v#1o4T
zCFlc9A$s(l7lH%+waGb2*17G|Zo$iA3{$a*yo2cxZj%JPEnml{>c`6|W!TEb^p-RC
z3<g65Y5fxL=1)1fv-!qzvYmNV&rnnb+Th5ld=6oaRQ9N6TpOdyob*tvL^3gGh60~V
zAQlUxi<P-?Nb^4NFO*qv+_Dod+Q}gKLe}!@lkPQZywzrTbfJL$VgR`|tWa|(I31O=
zNnTS#-L>UIh$*Kv>!dJvHD4)|%rRg7tiEqx!*AD8hp3oU=Vm^>ViVV%^|{6*&T*wU
z&Sd^~|6a+6!SN-zx5D|}WhPP!sGj<a?_Pbeds9<4J;gOWd9|jP>%EWbxo<!coTWa1
zJ$oxQ_MDaZDt?3xV!xz3!JuC)$Sa;+6!N+9>B&k=kk6Cs!?(~#P-=cLHdBRZTN#LU
z=N2w>)z7L4%Jmd73^9_|&l5z*o@oi<aF<HYsWhH~&BWEd{Hl@-2qz8dXtAL<tbWi$
z(qft=f6t53ZglZ+x`ppG@BrpCweq@tgj~lkO-O6^K9OPg)0p=DImlGm3|{?yBP>Mu
zn8+fWA`9?sj=C84RYO^P@EbYs<=*vdn6~;c+GBTh3%B37{|BQM4R97Oe#}!@nK8_=
zW@NuXDfob|vW3b%6mK|P5N0YD4jw!wZiK)bGyjo5!biN>1UNm5S5fTZ`bqT@!TAGJ
zmp2;$b^mQZ?Oc+r90unZ9R(`QOR_*LKk$-@*P2imO#t^zhz+PHfeJXdKNM%bq2OyQ
z7~nY6;^^6yi(Oj4n2Nl54HI4R(mL}hI6@!GY}+2&O>BektfFkoq((Us8{8?AN3f{)
z+-2x<3_W%>p7&XY*8=$7;cvmPMOza{2QA64?2!)v_q9ey_DuN%(&%NAb@Bi}n-4>}
zJ1c`liL%yUSuFe^-5Hl<zxiII1O~QvkbqqRspajd|K8%)vc!C73k1syiTF}X4xcaz
zZtGKN`IK4l5S;hs>l1#10i#7yaSzuVUnPTST_Ko8M?ZwE6N?QtjLgu^AHe-r0NZMa
zZ;Thdfpv&zZiH+aKq&u8FnYgE_^|dT0X9<*-+ZX~N??3Nl&}0r_=+f>`$~|!Tjx=}
z_$Pt$l`!*_Ao~>&GXE#xPsHl4&@MtmK7{Sd|1`nxW6xT0>8Iz5bsHTw;FDUfi#jrr
zN%n~a6HDk5j_*RvbF0&(oYrD9R+OS%KbvUawm+Zh@YD*SWl@!!hAWW@7}ccgCLho5
z=P<<8-*-H=X>#*TR*l}GIDT)h$$9%skfaZtt%{JDYk`So4Iopr)85bNi<QHCp%>Xy
zutIbw?;sOgODmD~h9%|m%<W&U7M)iEqwUT~mR`}otQNB5igoR2Z!jEHvhLc!_ONhT
zf4E%fKlseB@m#BfTLUURV?yKnS4?I~aE+wDy}`BZmG{;5)V{vJZhK)jYra&Nb@Kj5
zUqwLav87p5IF)t*)4Q)(Dqq{Gx<?yJWz3wT)r(gHFWu);LsuKlmGp~$In?HwY>2Zm
z^8G_tDRxT*cZc!{38b)Ko1#`9SDU}-RxwE*vZL{?)6&A!qlwmsPM6MqGRzQ`5W*#D
zRwLLNF^SRM88F5zYg!TWcw!xjKaVO7lrvxUlPq=Dpa*A+Jvga(Ds6E?Vkl*9!vu}8
zuUR6RE9`r3R@ie|{J@rXGOyvF0%5j((Oj1>-Gr^IYq7bUeK{}L<9X*eZEvG8hsQ<A
z$L($WG`^3MoGn=}6;}lvu9?sA<mp^^DiPF}*L>Mj^Y0u2Q8e26%G=vz+vWjegAJ{z
zarH)>(AZ|^WX<BK67EyskCmr^%bP=X9!MM-aG%-G?_Z^E;5Ypt`bI^nuNv8!9+LG(
zYX>>YhvpOiD&kd&*3xX#^1OBG``<1r<<G2&Ys}4sdggJK(OZV!-rfe14t!b?Bf9jp
z7JiK-DP<gvzH~J_qQjlW!_K}|HQD(9?dRie88}A_|7Gso;-$(^j|9>8W?yQh6G-4E
zL2IK5_mOnXxz(o!&90tUve~KRK+l#-w@^}MFV5Mv<-22KBNfDumJY9t+f+(M(BeKd
zEaj5SQVX8r`$(nQ3Sy&UzSMM*7Jv?Qkik+6WS0I7+EP`jJwaQDJD~2zQg-z9{q{RC
zoUJ|<2*OddbBmMY$LeD@)mox!iQyCKV^DypR&BON_`7YJEH1MU#NAlM+1(8w@^KkZ
z4V*Aa>QO8X@ayVn4hC2hLVaO!aZho!94)2461Z-=u#_|qkNHUFd)3p>#!^&8TaMhl
zbs0QI0JV{ZJ_tfFc+TZ_GzT@npcG>3j!^>Eo|QU3KL8}AjKqN#Mpc`4v@I6iVe?@K
zAmGOlhNe2ddTcsvIKA*gqo8UoUg6AfFjB``k7n85X{>qCJ5*7s*rOtQZN|r8=6P(D
z_$4~d0SY`CeCZKJ6=xS3L^+_?<lV{HEA6&uK__Tc0IimMI$zoq<9Jo7+BHE))W^&x
zka*J$N>J0BTZYL@kMMCxcA<*VoAb7um|<@J1jy@fx_<A5{$f2ZT)hXhzXt7!Q4UWu
zV=gn)`NK2f?8_kiqV{Z9{lu1GOY>k4))!$8fjS@dL4C~YcxIw|MQX<V;VQob5ekH)
z@Ry@=aIE=DDT`TapDu>a)*N}jA22&D_B+h+a>6(&NL3@*!(j<SM#)1n{}P^G-wjUv
zFmqmwkh3gU8@d-ZkIik6^&lt_+GCYlyqqzPn?O)6QHx*GsUE&BMuEMj2wp{tv4YY^
z{8e(V><A&{JK-MNwivY*>_={IcjEdYoer$7tC~`N@8yBfO12QB_<AXAUSHGr->-3g
zpl8ctGsO)=^xg!~b0GX^N?mG-J4TCUA&40cD_Y-HMV>nYK+;dOu~fBOg78yi7j4?c
z<_DnA{A)TMJbYV>vZ75B(IGZBL8Mfg-90p`va&EUsH_-Cr5jkW=CK+hdl6WQj?B^_
z;KBMY(pKvf7U{tQNr}}?ed0X)198pT3R%MCrO$+<#;IA~At8LYjx3J@O3NlOCbECf
z9AtnAo*?uLR7&HkXz~6C4gc(#9?@~&y2d{8(1R*TzrboMkcKhIb|`+}xD>568?m;~
z5Z0!4KkmNmdlQQU(ZEL0rJ~gCi4v8Sd;D0Tnt23JkFwH2t?X<WqZ(RVoP;gDF~qB0
zxfnjBp(ecKSn<%**jkcVm%5`UTYNfGNuO;3(*A&LW-{|@u}ZaWqShEl;)(PKSiH6>
z?_h}Amz29QYC2__UO`8J0n3w=kZhC06y#J!lls_>rCM3^zcW_HGUh?Lk6pKcyihX#
zd*8&8=rwI%Q&jj_b-rDUO7)f1bP}SV?wVDr`q*K<d&G~G>JIiLsR0@ZBF{yT$Am9=
zL^lLYDlK9z(ZpPdZPM+5DNImN%=FnA&_z?By7m1qnLA8GV`mj`vmtN)YDR<RbQP)!
za7Ze`Ox9ky&j|6$CA06<$2!5a(ee5kCllW$m&&}g0=7<tA{Y+rh2PlMI8L^0a`6^5
z_N<p_D^BoGPI&c^i?3<nPJOt(Eo>7>1I<ALi>h6sKf0iZU5ff~l+j4!94*Se%%*KA
zN(a~`8cWdU-S<7)MD|Z?(W5u}uuCl9v#^PrL-@9Q5am6XQn$C@HI3!l7u&a)ZIbW0
zJ~7js0U<jRMAV;KeB*~x(O<DQ>-PHms<Kj6akb*7gn*^5So56$<;N35T;-OG*x}Tz
z>sY)-jLD=lc1a_^NO(q_AOCh;-q-X;Z_xB?-qxsavxI=t>l{8h;opBk*tYp5Gt<0^
zQ!nUZDW%{}lGI<@a`+mi<`=0I&xC-kD6mioq)4udPV_!}o9`p$W46ZN@_CvgBlUtY
z=mD%V5~^ur#2x&&1ixu#z-SN17mH3l9$K+t?+oI?cXTnj*jbip#lP#WYP~g40deOH
zbOW@h(UPnC*wXyvwyuv+vittfTK%jw;>8;AB96RIBBf0zKI7Vh6#DcU;z0t<Cuo@Z
z`LKCFa^aF(+0OQko5ELg^(VC#zsWDXD{}p5EK8MqG|_Hy=FF|1phqW@jG-GleQUmi
zB?cDRwK<mK+iFBd_BAUFm<uEqU(`~?{fRv{5^@MKsI%49XoE&M*381^o~c{;)7u!#
zp-<%Ae)T7P*JM|0Pb}R+S|b+&s?&3frB;acJA-=_Y^$0SyKbpepFVkS@0jE}L|yqS
zu8LB+%3yXiDXrcj#w7kR`^m9fojVS7{o6O+g3{n>uWTFDM#5=uT?vfx?y)#=c-Q<~
zbM6wl_O#txl1NL!sTZzMZ?KjTCvnLO@jrKDc5x}OiMu^Rr<0M<z}m=HX_*jd(M;oA
z8Q__*MZcjM<3JY+qE`}6Y9)%AAKeX~!>I*ZuhidX88w&&QX6v{S_(b(+xBt1m=V~W
zV*gV6k>1$2FwD+o@B^f<t6MhLq*kUg@6pRA#bS_dgU#$7iv^JtwTz6RYO2yTxA_E7
zoYo$G@Ict?+x*q}v6v(2jUZOTlSo?zBO40msQ*e|?#4K9#XmdkkU<$#EFUhM2pJ~F
zpA$b=+~)Wt`Q>!?07=(znVKs>|Ag@Ks#IS+|NO{#w(!xdUi6cb!0<P)9eB;i8`e0F
zGi0jLr|$;|k2|uGc&oSL7TW}7ir|ua@w8{48I@kI-my>-aA;)5FVBtz3)H`wOmS2t
z5UMHvHfoE(b;!y|)EHA>t;r)0ca&Qm>jJX@aWKvzIvL7ngx>cLL60kuB_M(R0rbXk
z=RnJ2A`H3-K;QyEWbTquJar8Mu{M%wq1O_SdS1H&dZ1~Mi`rreCnZ+@G+Ju_p`A))
zP+x9CjUX*eG2{fq3jagY7P}0HyUmGAX`{Cg4_R!cbTbDoSpgdSIworgO6xR$W577@
z6I^MdW(X$%I0lT902~9xNdQjrJJiZJ31~2mfde%7!I1&A^1-W5lbYU?<O~o=RR-m^
zADC$s{KI9lM|{nO?}7hMhfgHGsdg0{z=*1p%T=BS1k`*;*7R5l*)3LauOd)vJ{8V@
zO^@ZXYhM$<FD&P+(;eEVQ1Yo=3P24IF%hNEyI|x5(8Ftp)uaH@7*stCUD}9`y)vjG
z)a5m^F-RjJcPwNn&~sSiVUVRU2dV4JMj2GgVX(Le_3ucT=6|B@Kv}?<K~jpNumZu!
z+zDYyw~ktvK;15$$&@}0Jwl#Uh}selJ<wX*0w8@D^y8>S1q?ctDeVP4EY`McBxQy{
zybtYfi7JIw)#(`!3|&x~&6Jl0p={IAZ@StpV3#5yPTun&*MJ#LSZ7L4c=%$PGbTr3
zSj59nB$=lsg@ArC7d6+3B$rG{wgcU20Y0o`q_=K2a8EaX{pI??M^%HQ>6N`IJ(I%y
zhl38qyxfhzJK}cUAH&!;yU>RGKx*oxpGG@|&eQ0aUL?~j!|jqG^dls<ZxLOWQ-;9L
sJkON$gI}!@^cuENm85Kj*JOYG`THR!=ADheH$`BMTOBL-htseB15Q5&(f|Me

literal 0
HcmV?d00001

-- 
GitLab