From 98b7a0e38eacb95051dfa065e63a9bd44a73b8f7 Mon Sep 17 00:00:00 2001 From: Cameron Date: Fri, 7 Jun 2024 00:24:54 -0700 Subject: [PATCH] CAPS --- packages/express-backend/backend.js | 383 ++++++++++++++++++ packages/react-frontend/src/Images/yes.png | Bin 0 -> 52422 bytes .../react-frontend/staticwebapp.config.json | 6 + 3 files changed, 389 insertions(+) create mode 100644 packages/express-backend/backend.js create mode 100644 packages/react-frontend/src/Images/yes.png create mode 100644 packages/react-frontend/staticwebapp.config.json diff --git a/packages/express-backend/backend.js b/packages/express-backend/backend.js new file mode 100644 index 0000000..ea087c0 --- /dev/null +++ b/packages/express-backend/backend.js @@ -0,0 +1,383 @@ +import cors from "cors"; +import orderService from "./services/order-service.js"; +import orderUnitService from "./services/order-unit-service.js"; +import productService from "./services/product-service.js"; +import userService from "./services/user-service.js"; +import express from "express"; +import multer from "multer"; + +const app = express(); +const port = 8000; + +app.use(cors()); +app.use(express.json()); + +// Routes +const upload = multer({ dest: "uploads/" }); +app.use("/uploads", express.static("uploads")); + +app.post( + "/profile-picture", + upload.single("profilePicture"), + userService.authenticateUser, + async (req, res) => { + const file = req.file; + const id = req.userID; + if (!file) { + res.status(400).send("No file uploaded"); + return; + } + + try { + const result = await userService.uploadProfilePicture(file); + const user = await userService.findUserById(id); + + const pfp = { profilePicture: result._id }; + + fetch(`https://safehaven2.azurewebsites.net/users/${user._id}`, { + method: "PATCH", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(pfp) + }); + res.status(201).send(result._id.toString()); + } catch (error) { + res.status(500).send(error.name); + } + } +); + +app.patch("/users/:id", (req, res) => { + const id = req.params["id"]; + userService + .changeUserProfilePicture(id, req.body.profilePicture) + .then((result) => { + if (result) { + res.send(result); + } else { + res.status(404).send(`Not found: ${id}`); + } + }) + .catch((error) => { + console.log(error); + res.status(500).send(error); + }); +}); + +app.get("/profile-picture/:id", (req, res) => { + const id = req.params["id"]; + userService + .findProfilePictureById(id) + .then((result) => { + if (result) { + res.contentType(result.contentType); + res.send(result.data); + } else { + res.status(404).send(`Not found: ${id}`); + } + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.post("/users", (req, res) => { + userService.signupUser(req, res); +}); + +app.post("/users/profile", userService.authenticateUser, (req, res) => { + const { bio, skills } = req.body; // from form + const id = req.userID; + userService.editProfile(id, bio, skills) + .then((result) => { + if (result) { + res.send(result); + } else { + res.status(404).send(`Not found: ${id}`); + } + }) + .catch((error) => { + console.log(error); + res.status(500).send(error); + }); +}); + +app.get("/users", userService.authenticateUser, (req, res) => { + const id = req.userID; + userService + .findUserById(id) + .then((result) => { + if (result) { + res.send(result); + } else { + res.status(404).send(`Not found: ${id}`); + } + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.get("/users/:id", userService.authenticateUser, (req, res) => { + const id = req.params["id"]; + userService + .findUserById(id) + .then((result) => { + if (result) { + res.send(result); + } else { + res.status(404).send(`Not found: ${id}`); + } + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.post("/login", (req, res) => { + userService.loginUser(req, res); +}); + +app.delete("/users", userService.authenticateUser, (req, res) => { + const id = req.userID; + userService + .removeUser(id) + .then((result) => { + res.status(204).send(result); + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.delete("/products/:id", userService.authenticateUser, (req, res) => { + const id = req.params["id"]; + const userID = req.userID; + console.log(userID); + productService + .removeProduct(id) + .then((result) => { + console.log("plz"); + userService.removeProductFromUserID(userID, id).then((Result) => { + console.log("hi"); + res.status(204).send(Result); + }); + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.post("/products", userService.authenticateUser, (req, res) => { + const productToAdd = req.body; + productService + .addProduct(productToAdd) + .then((result) => { + const UserID = req.userID; + userService.addProductToUser(UserID, result.id); + console.log(result); + res.status(201).send(result); + }) + .catch((error) => { + console.log(error); + res.status(500).send(error.name); + }); +}); + +app.get("/products/:id", userService.authenticateUser, (req, res) => { + const id = req.params["id"]; + productService + .findProductById(id) + .then((result) => { + if (result) { + res.send(result); + } else { + res.status(404).send(`Not found: ${id}`); + } + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.patch("/products/:id", userService.authenticateUser, (req, res) => { + const id = req.params["id"]; + const productChanges = req.body; + productService + .changeProductById(id, productChanges) + .then((result) => { + if (result) { + res.send(result); + } else { + res.status(404).send(`Not found: ${id}`); + } + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.get("/products", userService.authenticateUser, async (req, res) => { + // const product = req.query.product; + // const quantity = req.query.quantity; + const UserID = req.userID; + try { + const user = await userService.findUserById(UserID); + productService.findProductsByIds(user.products).then((result) => { + if (result) { + res.send(result); + } else { + res.status(500).send("Error retrieving user products"); + } + }); + } catch (error) { + res.status(500).send("Error retrieving user products"); + } +}); + +app.get("/", (req, res) => { + res.send("Hello World!"); +}); + +//add_orders routes +app.get("/orders", userService.authenticateUser, async (req, res) => { + //const id = req.query.id; + //const product = req.query.product; + //const quantity = req.query.quantity; + const search = req.query.search; + const UserID = req.userID; + const user = await userService.findUserById(UserID); + console.log(search); + let srch ={"items.product" : { $regex: search, $options: "i" }}; + console.log(srch); + if(search === undefined){ + console.log("Normal"); + orderService + .findOrdersByIds(user.orders) + .then((result) => { + console.log(result); + res.send(result); + }) + .catch((error) => { + res.status(500).send(error.name); + }); + } else { + console.log("Searching"); + orderService + .search(user.orders, srch) + .then((result) => { + console.log(result); + res.send(result); + }) + .catch((error) => { + console.log(error); + res.status(500).send(error.name); + }); + } +}); + + +app.get("/orders/:find", userService.authenticateUser, (req, res) => { + const find = req.params["find"]; + console.log(find); + let srch = "{$or:{_id:{$regex:\"" + find + "\"}},{product:{$regex:\"" + find + "\"}},{quantity:{$regex:\"" + find + "\"}}]"; + console.log("HERE"); + orderService + .find({srch}) + .then((result) => { + res.send(result); + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.post("/orders", userService.authenticateUser, (req, res) => { + //console.log(req.body); + const orderToAdd = req.body; + orderService + .addOrder(orderToAdd) + .then((result) => { + const UserID = req.userID; + userService.addOrderToUser(UserID, result.id); + console.log(result); + res.status(201).send(result); + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.delete("/orders/:id", userService.authenticateUser, (req, res) => { + const id = req.params["id"]; + const userID = req.userID; + orderService + .removeOrder(id) + .then((result) => { + userService.removeOrderFromUserID(userID, id).then((Result) => { + console.log("hi"); + res.status(204).send(Result); + }); + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + + +//order-units routes +app.get("/order-units", userService.authenticateUser, (req, res) => { + const id = req.query.id; + const product = req.query.product; + const quantity = req.query.quantity; + orderUnitService + .getOrder(id, product, quantity) + .then((result) => { + res.send(result); + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.get("/order-units/:id", userService.authenticateUser, (req, res) => { + const id = req.params["id"]; + orderUnitService + .findOrderById(id) + .then((result) => { + res.send(result); + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.post("/order-units", userService.authenticateUser, (req, res) => { + const orderToAdd = req.body; + //console.log("POST: ", req.body); + orderUnitService + .addOrder(orderToAdd) + .then((result) => { + res.status(201).send(result); + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.delete("/order-units/:id", userService.authenticateUser, (req, res) => { + const id = req.params["id"]; + orderUnitService + .removeOrder(id) + .then((result) => { + res.status(204).send(result); + }) + .catch((error) => { + res.status(500).send(error.name); + }); +}); + +app.listen(port, () => { + console.log(`Example app listening at safehaven307.azurewebsites.net:${port}`); +}); diff --git a/packages/react-frontend/src/Images/yes.png b/packages/react-frontend/src/Images/yes.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b14cb92f331d10af093b25fb0b6bf65e0dd023 GIT binary patch literal 52422 zcmd3N^*CSUAIZ3qg5sED|G-@;jX$ei($DK^f49&^Y{(awDYzm7ku{4=Tk3#HEm=?;2DUcfzTdNqhWkT0}tRo$|&&rO8&pE(9nTf)L;lF z7I5o-F3 z{y#ILh8p3Z{r5_b4y~KcwkU`0Kexrv;F!bzy)8~{3rxxE1+N>%|9%=6`t!kOLA3u~ znMI+2V#;!YqyPKaz=)if|GoPEY7qhg={jlPgz(td%2o;*o?j>@r8O_VN@G%JAE`5i zr9MK-k+d%XlyeHA5t9t1hSP@K6VG>c83Bvq9RqylqUkfX#{rVGoubb^h36)!y_NYe zJ$qk)px?65(u#TWT&j}wnflu}d*tE$p4TCCR2md-o+_I+R$-59H;B*Y;Oa|UX>{Tt zvlj=Y24Ot0dx9=bef+S%S+8nA7}x=yrQ-9A;j!Fsa10oqZAj4ewP^xWae90&Od7(s1#FF&AhdvPMzrp{%3I8-#{nW(MS;{xgfh75*AG;1GNj9T zR!*L+mMN{ zGR~Snd7#G6x;4`idJZ~6a03>e1UQx&^sRh5T}Hi3oiNC})^Gj%dYT$;bM)h5PW?_O81`WtRvB0E})DsQ0M`jOI zmmNZ>BBg0@^$>MR0q3+0w-cSZ6Lhj7;D9B$83G*@W-hRs?TrAx zHWpTyc@aeMV<0~Q2?zD1?1mO^c!{pM2^G^TAh)--IV3>7S%Y_9*?*zOz=gZ`G{4mj%dJR6TvTc99O`S z&t|8z>ND#K>$t91Cm}ekY{ru)Cu(&<{TsjgwLt3D(URgLC{>s=ZQ0kCfAF?w3}Mef zCyBszWW|5k_}p0z>Jx{nB~gR$6)&VgQAzaHjD0Y;xgJy>VttL-=_28=9d~ zXs$Q4E>G{0%^dzcml$`KUc*w+% z3`-Tg#-8$8TH5dORVHe+a+&$Ua;-L-@2afRvO7moKb_Og=rBJVyYRx!kwx0h#mA3f zSz^&LZ)Oma(qrF!x%&DKpoUZR?nE9*`FrSETKCin<34HMsva*#vvP2Vu@Pb`q<#A_ z>OXiMfrZDIk#fNK{L5OHI7i=NU_zJ&!Pu8~_DH{|UB)x2%HgX4UCg*@T;pnG{{WP;)(H;az{rjpDYnk`ixv{8_WKb=NS;HuA-b zZCs)d<_cB1WhJexH`?&uu~So1fw~A|Q<5Ka@v{ec^=l)$Lt}blzCu z-;C7ZQ5LHz7;p-iA%rMHfTh6x`(e}@F9>1i&F zUK;GTau*m4rOsLYZz8zb>!(K&r!(Gth8*ZtTx-&nUV)4}N|s@QM=zI&Wt_n@l3}2K zVBwST7+Thba1_kVG{g9=)(s};pC^Lk*P5&VQrV6xSqnn zk4?)2DRBO|3DKo}`##OHiw9S8?e@@K7rB4qc>I!QMmzSwcJh(obDJM~O6B(0H0)Wp_v)eMC8uSkeyb2Qr{>&c%;Tzts=s;4wjOAL=y-@L=T z4iNVQMt73~ecV?@XAK-1MLB7zzgR6@K8z9y?swl7~cx+9pW~LyzWB#3=A0<0ec-pzTz9EVD@j6pw!>NZ;*DT+t zUQjWbSqXCecfV+Ft7hm_i>_jDJ=Jb!{c|lb=rNX zY#vqNbqAvSia%(zQ4l|@dsYTXvG$kb})%M7D%%^1GBQFI> z)tI__qQF;!Dy|3*OMJy)O|2wGY)^Z2LWX}HEo>jA@2BSHZweth_^-|{KNV`cE#*-* z-PqV!aT6MycK^WjJdYY-KKCzlpqfHaT9R+B{?>$<@XFB>igKrpb$swb>2lcfkcw#^ z+P;fLD;{r7eaF%B1~*O%Pg0vc!O%P4*d(WYYZ6^pE85Y+7I_q~PXJ`vHMH+A4C3iObUV*;7`NDdizT)Y z&Sb5Fd1jq?PmX+AE3oBVO)DkR!-cSK&Jzb6RX>|%*0pbcreH8GI_!!4gk7*#N|WvEz= zcbG=5#J$Mc2rDW1HoYC?cXQZ(C^Gx9d1fOIum(MeH|!KRxZjJ4V81yd>3UF{*#bF@ z--|v3H!D@VWSsMmg`Q2i-2;V9O99p_W z4f_p_txDFR`q7OQ;7b(W>+2^`3VT#OZu4Fs-u!!wA*5$x9C%VFoGjtDc!*W+%Yz?Q z`L;GlyFwCS?xkREzGhO-N)Yjb9v+*lQ9@74rI$*EHI?8A`E=otrl_P>g)8(3eeeN` zc*WtNE5UY@W_(Jks<`NOt7KCet*$w)&6Qq7X}oQC7WmiFyoeGfWNH8WJ_~$=l&9C& zIQ7P*g2E0=+1S`j|NZ;-l~KMA8uw8u6NFp;$AwpNGdTMD>aUD~w7K`T{nl@MS_$bj>Z|LB>+Zbs)Kc1$$w zm!u?Z!XSLfz~*xQzJJ0nC`5bO*p`{ldx}R{8)-c16wGZl5Zlk$_r}J?rdOIs(@75p ze!7-lLo@{Nb^xnp&qV2JDPHHh`0) zQl7XuA2Ixyd6#w!gI?oHs^DXw){QuIu^6UYg~f#NAnnqUR1CT5gw3SB$RKz^Hy7;ZyY#);mvrN`f5 z?3nsxwZ!qcOezGqjQWj+I$;6>;PL|QrD@}$C{^}%rUs6Vjuhar5$+$vxX7ZsCEVO1 z%BCGRrD2sq5FjtmA`D_H)RM~^OZ&+G+Fz)%EUjX6gPbbj2Su=PW9!F#nQzwKyvh+9 z3-LvM-$SwH?ocqOG>p6)_ZNr?IPw9IwAv}n=a0jVBVrCX!l>%XY zxdg}((7-{EJG`YH*BQOAuqb=Ix?`P+*BSQd~_sO zUJC}K{Qpk9sb-qpS&;8j&(@AFKc#(JU=3f^{4k9v8T6+X@9gSvF>75Vh6()lWxahz zEeU$A|W19&<% zBwrU!TzwKXBke1ar$18ni(%ZJN)n)m#vI3kuqSV?I0--@i1*cdESr@f5B3M9fYu8K zXwpHp*z1Z)ej?tn8*g+1V+SzH-Ho>H(L#1k?{2Rf0FXZD*U>T4F#c`3(nU*)s+QIE zeF+|J#q{;LI5j6RT&}qYb!YHE=&&5gOgReS#Spqe1(Ju{KhrBT^qEw>%Nr|to}0(X zsO}h*^&}ODuiB-gnS62i18}M z#tnrLZb&n)s|Oq~TkKmn+gXEfJurj_Aa=s`<3qb1`%FVe3&6RL)MZ8dP#4!prT#sr z$5!^4lmIfFl$cmaMr2v->cKr`7*`ipf56Pba$VchbUBb|hx(;qmXM2&KU3{|s1)s|1)mo_?zu_!C2NV6P@t zhzgckQi7|C;H8_qG}P0(^pcY5!KGe)R8y?>067R%*P1c`$F)~Kfk;eL(j;8l1p-*- z{IF}br^QEZR8GmiuRv^m7QLdPqjjpGJdwrn8+BSgdyC(_5~vv@r=>NiQ&(4q`Q>2K zep>uGl@^U^FO_z-A34~op=fPg%tRKoNDb=d%~30gAz+(FF(D_r;UVSQ4K#2dZi;QM zVD`AL&HscSG=kxBsCLZGqjG>m`1~>+54~6x+WhlybGl;bpt`!+-|z4T$%v+y+Zz)o zPrN$%AUq_OS;`LC{y}T9BCzZ4=$koXXWl6>8t91XsR*Z0=jZ!fAmgG2%x4-fpE2ND z|Hph-muZHM^Z|C@!`aWb=1kb3yG@zI!kHsdpG23$fcR8xCFqu9jgE!l!lS9hq9GJh zE6mSdRqNq|tb5%>8F9jFzg@E;&HySXW8?DL4w;ovan~8#A z+E;f!QrMOVLLf0AnJPZ_XS>LXJu4M=_qw;QZfkRLjIBzj8ruXYth_lu^l(gJ;nmxE zi?@o3xa01=S=68kAVj_J8T+Iz_F7>)fTDlF5qYLi+>V=}vcZ)0E$U0n`*3d?!pXmY z-%1j85kPHHm$>jE~!=G?;33GgEgNc*ORy=xm=+lpLu`Wk->ZVk$tHiG}Kr~#zMN3 zGH*W}4Rr7O_wToQaz4S&UydK`HY_1JxfLC~UkTd-*rk^=_FG_S-*V%=beci;V zq27Bib;204?w;y0QwiX4I%w(=uuQ8B{@8uZfOVCWJd#o0v$D5uOMg+`-0Te`?LCQ_ zJwKm3&c`KB14HugB&p7fpNo(+Gl%C9bel?+bORQ9JF$QMX3;xFC@AE!IO1VpxerWs zqZyJ*O0Kj`O-+-f63u7#-Gm$+t*x7;R}LeIFpSNq!2&b&yMdBD?FKUH(iHtPXHV3v z&dwR_fCRNL9Sk{tkKpA3q9W4TXM{X!_yv$JHK9JbwS6NyR3j_^D8~7z@o|^?uM%JO z0PceX^NWNW&6?){bQDJ<4@lhkkD&Y8fO{#3ii)zK$A2Z%ab_m26p1G(O9L1EH+bxO z`BF=3wqBPJsu2xKOia8nw6$efd4U(x4)wye+5y<-0liB*8?x@aSzxHK@$sX9&yOBY z0rZpgm=%h!#>}vUJ-KwGem6Dko4qXP5E8Q?{$aX;SmuyIK#zoG;BfO&81V7Vq$@sb z6GC&G?@E`qPrdJnK^R6lilbFM33@=@NjKCPQP%>jJ90NVDLMI`i#Wob@42Z5U?238 zu`Z&OEU#XLkp?^OjZBCeItm|A(!kq3?we_8=>S%~m$&VE9b!oX!hMVP@%Xx_oU}sg zUDk!P#CHjKECJ=HYOilTW+hKD`^=fdOpGFz{fGM2T$-X+z@Dl~F_dv72cJXb_@Iw{ z&Ef$QR2tvuu`hTpKD>Q8j_L_%n5(z<2mDV#fcR&QL~}$h$v<;Y&KiiuRn_x+f9W0{ zSx;qeVF{cSO&I;iqb^^WQWE)mhE!k#Umd*P>~&M9)}OzP<=r#bT56|ukC2286` z7o?cwxFi_4tp>^nZ=c1yKWr1MY=HWTE^*lvGvJ3szU4(V``_PXPft$XqR|i{k#{IB z>ev^6c~?s`;hq3925h^iqy)RFNZi*~FBQ0?{`8Mn_f5=qEef0EZU)0+hmiC)COjLtu_-ONwzbd-BpHA%}8}@O#=@@jn zmA!y^m>fhPhg3=4y;uf}k&C0?qiv5aPO+%x5Cv)ZeIsrQd0522F1-KYrx_qBm zUouY|b1Wsl*Y4o*6r1g8>vM(;EJjn(;T&dsZfs;8+pg7JXz?=Map==tnbWE8|CR~x#LDKcC(25fiM#SC^T|PS^|X+okLk{p zozFtT0ykw-W_su9Zi4WLm2Bj4$7V2-v+s6DD1F`U*N^|Ww48V=bn)ZQ>FYP@X@Iac zy;ox>)J3}}auMd!a$%Qy1@E#J(nj<Oo;1jFK}x zn+H9()8ypjiuI059|iR0w!}aCL_`CInCoio@H8>{U?3{UXUW#HTMDt}3zqbJ_jdGE zK0|&RQ;pBFSuljfFx{QLBHorkK~(lH1AlHWV`A+y+@X4@_i7#XW4PIVxq0qGORYuo z8}apXnx1Cf^O#;tnO5oajMq zipP$LDAP84m#C z&B>2RXG1V#ZEY=a4dzz=C%43gw;&NK=Gk@i!R9VS3=z3SjE3f(p9CS}S9;+OT-^ga zJ4@2~bP>c^cLwkJJ?ConIqW1;64ypsV)P=|Cb&Ba_&T(vO_4W`>}6K(aTcoGw#Mg+ z^KKqtAP8xI50=^dWAOad*ixnF9(1LAaF48VG0f&?i>rlgwCCL z-=o~0BJ_$!ShWdOm{kYc!R6V4mPZM@?rac0_q4*?;aiUIU5TI*;{3#ap)Sq#^0a2A$tdkYn?_CW3Au;Ax^vJ|++hqWT@xcN^mSn!h0Hl(yvxlW1By4rO z1&ih#u!-{K#paiWmb-MOIbtDRcBX;qx$}r1R%xz!`=KkBLj_fSw@?1x{oT|0PX>}% z;$bW@gX2`X?HK2SPx7(_s#jcX`Gy76oE11|qbYP*_orbNpmkn0iZ;CT3r8+wS9^%MZ1z%D9=BZr&p%T;F_HMl6PI~6^btj=Q! zRXh|kL(1gj*FUnvRozvwzJq}TS?{Nv(Zw$J0>7B0`lo9MTe~pJ8bqdC+*z+=H|FdL z5;J%?4CRtk%8#1+n(e-bdn@-6EBG($QB6^~eg3zDP-V5<*1=MK%i~X}n!(tBjYne~ zZAXFHU+DsV9~^J)wIod$Q*-Uona7I~Llsn)_ zd$q1%3_AbyvP9}u+0uN(i=OwdBUyr1)pqKI zwu>H6{=gbv0<5uGlUwqEks=#BmcY1p?b@=A)yH18peM+IK*n6+$ecKfy1N4EKWrM| z5#iCwXBnHPc^9m9?ZYcDQ{femu>FN=H`I&3gRO@CpYO0bp>vS3vM3z^w1V6iX*!d1 z)ZY|^SEv`<*2+uT_I>ROo-y-i)-(>g(27P@u?)WpshTX-2_CA;1uC?llCEoGJXlb8 zwiYU9+44SXUSI=VVLchh1qT_a7*0BZtv?7_E+_c!U0f+<8{C=?AJruIcX&Ey$e)Ia z)|=Lv{s>N`V<1{$3LCe6nYk)6O)6V&zWe)yi#@$b`={B#QMeJg!9adV{BI8@NTR(=8q8DN$v5sbV=oFo3HuCr z)s&pg###KX^Ce5Qw;G1W|1z-0zW8-1E=vyV%HO`BSI5$dftyY!H(VTb=V_-Di@oqf z|F67b0V|-r`p>vlFCe}Flrfe_YgHg3eCZ*@3y79rv{5~4-Do;ydI3?tYE>TgQwYNR zVYuBaYI??{YX9%zszR*!NF+hFk3J%vI{e;V_WP3>#_zM^XT$&a*Y7&l)Wzz<#xPxk zy-_Qnv}}K;iP=TBW-YyQ+^z6Iy$^g&SS%j;4~j#hj=x@6asW#~WSq7HU=c}fD*%0H zfZ>L7^&)Z;Jks*j$I{$^!hm&ke<6WaeY0*~ve*>i$ngIci(0GDl~z4U{el-$py~(x zH?}aMt9RH}_GO;^beb^k_B`@q<=UeKP6sUVpKZxXe$e47y}O?>IC3wWmBGK020ebQ z^47L;MdP#K`-G4l@m)%MrNYRt9T@%fhe z`uZKak=6YxFIk3;qN-V`fJ*NlCxJ+}50(nWP0mU<-sY0Z>hP+uO?H&?qSwZuX`#!8 z=8MC&*c~VS$VvrfKjXQSwF%+0>*4i?eH4ZdmrQTd1}BWQPbtBG+jpM8cJ8D8@kj=C zNQs|R(bhm$WkjB0xXGQ-!E%J^#pK*FDL9gr>H&<(RS*-9K&6V&M8m_qs?FCrLjf#nLF5A)xN8aZ2dXK*BPFQ$g2}I}`>7JnfpoY%ysU;5u z0n}&r>FH_V+xS0rNDq5zu$A&7iE8}|ARPFz4v_)O;BI(sq$N6BMm+q|q`PNVyYK0j zF<9@)&udjdv*C*zN3b1&iM*k6(EVMEx0`tX^i(UCX=MJ-7+0ugZ`Keil!?~ltDyns z-eJ11=y547dvQaYy56vzkE>k@n_*C{+%M6+;uxPADl75_hbRcxVNiy_&vs@lt%9Va zByUBPmNiprxX; z3wws^efqeNlItqPn2JHn@<~m&p`(F-#aiNmbnkWYQVeWcBc0SIQMjMgbDcoM!hqLt zy!mW=$@ZhLf9(5zw`m&a3I!r*U{byMs@dqAS3cTNyXvk7VDM((gYFUXl18lv4_6^x zO+i6nfalj*u<<+rP6#^! zs~74Q?ygo?+Ij5QtmCS7qTA8D6*c!eKKSSLw4 zFfxp;W<{Eto4Z3tmjH;pB$}d(pp%Pk?X51m1Zc5`Qh#wuubcr)v$3y^2kwCtBd037 zTv;_36w*1gIYIaHvH)h?a`pbWFM}&Sp(DFzzELDukCQkpEX-ffetzY={?hhz+qKj{ z^pcKTuZ3;eY$E%~gbw~#0G?`{l~r`%BFy36ACd&k4=gET0Xa`3fgCVE;PuikRvuK9 z>qZ!0ruWfYevJU5wPkSNE|eJpYg@Dh3U3tvUv1TkNdO@tDnESjf=1ggPZ5;^8u=@R zd!FP*2pMhjzdQ{Tci`QfaTsDO8z3s^E(P52&7bHy?|%!IxDogkcwhz+Kh_;luI|Kp z&XRtMQ4x#X!XOdi%J%CU%YW{0^{(<&a~h+E!dtG17hVMA-pbi@&CHum;x z;d4}F(Q=n)(-*;W;zFnJ4<=ZgXftqxZrQwK8;`F`L$6xY#^GmExi{f)tC<;m{_SZSpif`>CIbKBT| z{`1_}D|A}^kRd)g|4!a0yd#oyDrQ~T;5de_<2$m^DwsLJP(wN)V=W$c@s}aFhfM5+ z&Pk~6uZ%&KyYvo3p!tsnS#OmWkKD>D3{;miK-XuJ2RkdU5+h^jG! zZ+L~jR#tPaB>9VJX}y#!aa^|Nt61h6XLl6@*>TddnaS%1+EjE!bWE!K8Ll>A8K87f zpFaH&ApX}JuGYS5zGlEa{RrT?RbGj_AvBqseRgcpod=+?dOsh|kNtFBF0W(<*6%nh z{=Hj=)FA9XL>rDe=s^v^O-W10M^etZ4Ut3Zk^a@UW`B7dhXu7gK)9wjRM?o^1^hZQ z2uozXYI?IXuokLQ1?N0~w({(O6lhz)RAmCK)*KiOM&DkY);#agof#kR#_9Mujr~y) zPy<+(l(3gpRO|y4Uu+k@0zhEn7h*lLfx}(uFXnYL-Uu?dTbEf2H@j8B|B=0;_dZk3 zBRZa-VdDaQmL$ z4Sch>-gq&zU-{hij)7%>#B!*E!TLOExj8kA}N>bShwHKx_SVYgb<@%>37 zwT1^mF)b7z;magn)g2xyvvuz<6hh-GXj>hHiwERzyYmJpGrptNN)OZsgTkT#T4$3D zl(VksrKzcTg8TH##&b%cld-fkvSF2UHVzKU!apO$rKPsG=bm<>0A))9pD*3M!Z78|84t0 zr+hbr@C|KVVT?bN9m*^NyZ!c~kfr3J+FH(&j(~&v+jjD=w92!wdXlWgPls#qp$;|0 zTW==|ov7$OD!t`>;+*dEPx$iZqQc_#|~LO=^reDF{rvrZhx z1X7iA>j=%z+yNKGG(fd#5WRAT7bPn!GFzYL`{n5ip?6?-%fIdI^9boV9TJU~k|X=Z zNb3brFXJCG{|ei0CX$6p4ZJtu5>$9LyH~9_q=WfX;qiYrw^pdapT$`6v9sr7_)>B> zPyZId30kR&yqSq5hSbqQ?)1**o-=s}A;P&mi7por$P8Su(HEV>RgKBtVtkhSy&RZR zbb5jFNLb}sBgn%DrC0Edu*dwBtcX}Eq6R%kgpM^4x+SHhxI`GJ5nWb~Pp+;twHw@W z3JO@raAffTsesd8FC`ccAD_1SCxi?d1y0B-h4H5oJQY|WJ@;>e#wv|_*a1xuKOZ08 zSYlsHg)07HfypcHhf6+bbZFFpV=IA|RBNE|32IH`_RZx_LWoW0)wx;9|0;yXIpmI+I3K9x3n6?0) z0Ti{P^Ai_s^``Pi;w4iroP;vTb>mCES?>l_3e`BzR2siy8}fGQkEVQ#y~cx-j_!9> zb~o1k8g;YUo`6fm>%56csE2+%pbqntpFWkjIlD5fsgcn2>wiN|5|u!4)8gZhMw>wO$}8BbsK*&MNFakf`+tXpz_Sk!-2cuoj7TW(e0XsxH74H6$K zz(9fGzzJHkwzGr2q^b4!whUQ(#m4rX5pEy@O8st~)=6f(y8Ny})p!7xw=V}iDySR8FjTjWd@gyM)tlQCh9>|mZ zCI3X^uHS8GMf(v^Hx9|L@oKS?3f7;HB@?_DmOW8aI<(-zOwTJ_wj(SX7$W8Wl{RYTPCO@D@^8f47n>sDs$U+;NuzIn~{y?(-lu6?$$rZ+4k-%6*TQ?;sVeQVkxX`(Q7IZ!)~`>;R?RzH&Xh64u$PerafYR$cllb}5cSjP~-KJ)eu#DNv11kb5Aex?zS)F`U zWB#)yYF7WNAvf1#o5b)_-1$bMQ;Jj;cfa%9w-164oq4}*7=#LsBTrX}e*`Pk-)(h5;bwq8~k`;^E=RZ`IFl zZOveGfo8p(@)J^IvmdP)05XEx!lnIt34T6Tl|t7S!qV(yyWI8+8#Q5JPaRWDt2?Z9 z9#usos|eZM;L17lQ6!y^wwaG`mHLg14KVSmbjZg~u2J6inbr@RWb@kIxOkMS+`MnG z?lNYVxkY9@>2neN3*|#I&FVFoN}MIoZhO(cxKWjNm10c|y-Mlvv2DBrP@{ws!u&%7 zxVfd&xq5sZ5EmfZ@2+f{S_~qiciotv(&{&lMvqyWPA)WQA@=q_-wmLmkQbo1Q`PZE zMj&upgff=^(V0j^9>lKrhyFTrYKe4lfG?M|)%pmRF{^cyF@o&ZSf%^zazd8*##%2& z{U_QT;l@`MPkfi6DCq(c$n(Z#f@&DcBeQ8UbS(sxH7=Lbu^GnS`BIsN-xtg5SRXT0 z?0E=sO!A>bsVn~Ej=cl>R7hPel~ zZ$4|-!s`3q72O&S>&yOWHktx9>O+w!T1!L%a3q&cY^UUsY*AeZRzRb1H!(iWO-%F0 zdOWzKx{X$`kSIEA$j4fM!WeJrVP9 zfcTVehE0gGA%OE5c;NM%D6ZX~dAO-AQ+|%>swl2OY1 zDCo2N+Jp9ufjD)=!x3chBrNA@8aV{Qyfh&G`sySw->&Scnr6oo(ZAx=P+soP;g&~P z_MH&kAAp5&e%svrrH&)qBm#g$EMSmZTAs$ok0bRvqTA=!G4lK+@!w~E;Dos*y*3T} zH3qwldSglDH4rAYcrNqCqM~(q$8c$y9lF@KniyXle@fHVp1jwqQMEt3kSQ9(3p9vNJ(u`d0&3TU0l9q`f%{&%eM@XRS6N<{Z{LB7RTDz!}MSL z6)TA|m+GZjcGu(~Uefk^BqWi(H|x=701IA#kU0^-i5;2>J!+!5YD?hYTxUhnc4YXS z{7gTZb*cQmj}L@LPv7jZxD5^10W=1d)iKB!83LBf8F|VFJNP?IMnIub~CD zvgiHSjLp{T z@T6Tp9J$nLxih09aGTHkHSlL2>r3Se3_u*sUO`TkJnjwlmQ$@sHa*^O7ai| zZuV%1(!>qW_)t-k5ok6{uOK8IpI?|awizd)XW=YBArFR!c&wYSo?hP`W)csU8}|e+ zlx$zU0DcTS8Dpv(Eqss+Np6M?9iN;v9^g6>PCnBQ7Ad z@9K#Wvi=>DywJFn4D#Q|Uh;EV!4$HA$ix!yhq2Xw!?W?|ZgPtgs2n*=ueM|Ss((<^ zAb6hZ@MCbUGuJg0a*)>8@%`ETycPd{TC}i-%ME0qPjM(nCwO+vI+jL9o+^01pcHcR zvbEiwH{xW@uNm%+7ZriT(1b6q0J)=>6v&-~9WNM{>h4(&Cp(~LbRrLqoAQbDwRWXw zn6KYe1WWEtiU{NUTyvom2N@Us%^FW&$Xv{NZ&xg%9;6;OQ2wu~2d8|;^I&rvtD@|3 z-%;r7w)!B-X z5=9AQjt~LrsNEJWjes{!e>=B<1|h(#5)0FP5$wdG?X{=Po zP*Q#gBH2_dl)AG~kgaqbx7+bHaxOx*D$vMGe$t0fF2+VU4$%`B1nSti;fi6mCO-iR z@tVxxC%Eu|&zgj@Q!5Ie*|6bmIBMV3vkE@91WmGV#MwYeGcQy9Y-MlwARF^qalCV zg=CvJl!n^9r!KU1&Bv!5)9%4c%MoD7x2m6h7iQ(u3VuUQ{{qOd5>Z|UQoAl7l~s3Q zA5#6|$^bQBua^iK0lI#+Mh2dfa{dhlx@x4T!D{b5SODEYLYX6;k~!eg(y`mIx=gqB z`@8E3fREMh#P%x~Mrd!RAtnn;9$0%so~_8ZTx!|!$v=zEVlH|WuW*bJ6EeA5v!;ve~7(QO!0*X_BN}(k6)MF*Sw&f-VI%xcn_4~EvY~TImC6f`+1X}$2=iTt@iehBp zFw|pm+Fthl-xtN~ycwYwHFE3__br9U=O6rGXT62&qhUQc@2F!Lft14<{R=XIU?Atf zNZ(-p-_Eo0>S~v#lA8fQ_^Z}TrU&{l{2vFPUH`}`PM9Ig9&Lzai^^}F?+MR!rf2}V z112-0zWd+bHOSJ&r61W_KGWyRS-^^6i!hXJ_3bNXAdD2CzuCPRi=i5G_7FM0%Uz<0 z&Qh@U`6(CBdRtBY1|^7hsox`I^vpg$377Lt*1;1J@Qf{blRUe*A}#64wr=Xt$Wyfs zAADb4cUM$YsBWq8o&|Nh;YVpA>kYTdqGeT$k`Rb!*CvDXdV3_|$VHJht!KpET6t;% z5F0Lc=M@w%Wb*l#_`M(H>`;5#5(z8wckCLX2pI{L69&sY89D6ok`wv;k=||%`6l>P z^$Go`bASG%S2Dk)4%lpDuUvnbt3w1oIx6MO<=~#pu-Op(CML*@An&obIQ3%;7ra9w zrtu@F{|6qjT}{}@_OxS|bsBCJ$A%`bj@*DK2?yx9Yg?CoJ?ieMDkJj)^|9i-4uFQ* z`DqD2lk5^5oOPUs&HC=A==F}PtpG)PaZXOoS9t#%zvVSX>NOF^0n^@c-(_7WpL8|;5w$FXFp~*;dh8jx*(keA}fgxyFoiQA%FC&bLF%e(s6%pPyrPRHvE?K=N@%ce6 z=P5XCOt6_*KCT5(*cm+Oe$N4?dt02^5G3A9X9!jQ>#-^c1DYxR$y6@9&cu!ZgxQS; z^6r8r2Y4sYw|^JC;-JJk=)Uv~3z*4;jpf4rZ zysp0fP&?rpi|s|e-jX)_aW6n-#m@o#7+Zk(L;}jpE*z`odADia!VoK3v$kyBDo%`- zRtwu+Oq;p;)cXFlNq1m`Z^CpH5HR8oRYR~tkTG|gBMdvMv$kN#7Yhq1d)uPf`#?YH|6=N`qoQoXZ{b%( z0a02)V2}pst^pJY0g)1EknWNiTDrSiN$Kv+0YMrBh90`RIHIwp7B2NVgfD5D8t3>8M6LEdF9h$K+7n48TASa>3lcy?v0I{aT>=`J0&DJ{%HM( z%Xc^gje>LR2?HaeU<$G>L2>SD<9^HaDEN=k0PQ=fPWj*|&DQJUfsy0~l_Y9_Vt54^ zvQRt0hL6e6Q$jVW%Pg<9LbFuTXL_#los7cQ#FkppG;-(+W>61ZC{)pKQ(C;x@5_yR zGm>3*W-MJ1L&qsBf(qE(YWRp43xlsXe=u9N=jdbG`g0+Zbbt9ASJ#@W$zCJ%pn`2hzY7TZZZHMQso0@D2iA0*zy;`&&_6aP$Dn zh!%PmYq9m^>sOX>hg(8Gyr7IbtKhx`)uC-(R@EL17*2mgTcBjrx0O0)c&TgU-xgyY zttwx_dIVYpvb&qZPM6w-l7s2i5Qj14_PzdP2j180X7eC%eQdL+gw&%?Hgb*et>2?M zwJ4cw>E{bASQL$>qO>(Urj<8e-G7c)WYkTf;p9Y7?}I#~ZTec{LaWlSz)YAW=(RSd zwHtQ$FjoUY+?UHrU-%g{{0q7CsxU1SU)zknTQe$QCpPdQq%QCKEOcC5BCtgtxHt(iV?L$%rwq+JH z-@d?YRVGVC+IRng=B6ZD{~MKA1Ar;n2CKiR+`5LN^-=ZdKWW}XIs*^OF;pd2lgPL< zf+52!0sw#pvk{-bHYAn@g0gy_z1BaqE`53MsBzYxNf@PW+%xGT^e@TOxo)~{^wXOY zu(W!+N_`nS%bb4S9owO)qi z|AEO;c>AF7Ph&+GdgK#>d*{yy=3%+KjE?@G-KrEHw6|)p7jBA|KvR4;s$_IPirxF{ z;fVa4MZM}3e^d_YsQrf<_9`+B{1ERqsRn9aN42P3w0$#MV zZQ2w)hbQ}1QIShY{|IdIei5V1Zn=|%wfm9^Mu4^w46--PDAo!OI|=|MMP+>BXz2tH zw$l?GxRi5NwN{9;{N!93p+rk-t*@Zp+4Kf&8>FMpvK9OFL2c4j^)f4kqE*(EYO zrcOk3EI`|Fbqt3Jh{RZzt=BTuV}(rOrX+eZ@hNDv+30Xw9>#`rvT39*xLt}$E$xq5 z{zZ)G=`#`ks~OfB3)gnkqJ^VcKJv172<2sG#Aj7ld;{o%4=dGQbZ&fsfmUJHHtgc| zZhypBCo-BE&>}|F9siiy*&Vz1%9mz*oGjI8AP&WUNL$`_;bRR%lbQFMs+{ly$5fn5NXvfl4Ymxj;Z^@ay*g$ z;WvGKq?KX!bY%ro3LtZE`VP;5@_?LiOaZkND&V<+eiJa~l>=i+$9@NyS<1tsHu4lD3Ss`K!20K*G|Foq3=+VQJl_VwWpnSzr z|Kf7nOj9VI;A-4I$*`c-fUJA1kB7bS=4OtwnaX3U^lx*iU#1EZ-%{WCj77^%Ma-%s ztXLZUO>vQC5>NviM zY5&HiqJg^#`lgJ0;f?hzE%PIX2X&a4Te`mTqjN-{wrsl;#grV=F9jGuMO*ZRzo)eW zEdd1f71N>ywOZXXDonp8Bb8>pOP&@oH*PLt%SwiR_dbSs_hf%`+e5dOD%U>28sN@Y zg?G@>FSfzPy6FuJzuva5!Nk9RY9n2*3>?vZ@o9~$mu5?v zw_%KOq`*EC!lXMndFep-8D{@A#gp*H;7@O9%K;X%lK=f_H(_g`U$o5qhlO`P1%W|t zph79l6MLfqP=sBR4bvs@*>MtpMuU#_>l$c(Q0#=HxibLHFc4?TAof4h0M$Eb(;v;S zvBh>DwW!J*KqjKGl*-##(Rz=)CP^7Jk>;QUS_0-=ubUadz8^I61@9++MvDkS`vtl` zM^onOSc=L^nBod~mBBgcy`-F;f3~ouVq`WItv1$@D-DCL9U3mNm~g)#HYQE=<5@w9 zk+SzL!`W$s3nL{4UrHED7k{Wd@LqJIGCY#cM&+DpKz#m_ z7nD~wUKY5Q{nccure>=QYy$v*?DhG^xjl|>vht{i@!+dP++qOg6L09vRm=ZRYNl$)9s zQsP0Q#1+)@pZEn^VxwpLa0o>Jr(PFvGSpS39k-?KkzqCuzmg@)_)S0R(mDB7ag$Y> zG7U{*%iMci+j;Mb%yNj7e{GmIl7@7Ac9vr$#kwWv{|Ib-e}K7{2+335uD@Ldpq@Om zUouSn(k}K;gzFTrSb{G*>%J<)V)rNgE-p5d$|e>;v0~Ng1DD?C>3dag_H>dUG2v*# z%V2r>uFPi(jes-!-x$|EweNs*Jb6Vz&CUc8q&d7s=?sMz3SJ2X;wwBi#qG8jpVd#< zw=Hf3F|cCEMxVuWJ=>Xdjus#w(=l#@+EY2s|LcidIL-bFSK4PvWnr9UWvD>St=u_G zdujVflx?|Idg{0uQZ3A3y4X$(FESxS?fX{o8%}=bJf@O7!p9W1TYWfY&%DYiB7F7! z>!^rF+EJFR@!fW3F&5^Aj+U~L5)uK>ZrZOtA{g^JJKw!|U{a0#cv|cD8Qg`=P5X-9 z-AtesushHY9UUD4t^!U$f$;kIwVI;#l@!Xft?>HsrN=k5$qB*jAUC2giG*EEY3VD* zNuVWTfjILSF|jugeubrkm?>mXIYA2%8R~Gu}lA9gibIFrDfr zA{-b~dyH`s zWhL(EVQ-3ClUAmvL#tK4|qFzy8#E)HZoX_4d^$F<@PFI@C%8mJi0*#LE8G`)&|D#J=d_ zUF4p5KQ!$Kobh7XxLDi2IE^ZD;NRufmS=uiA884dfJXQI7nzLEQ6%JW|B zwx9)Xz>!q+RoTH3oVk9_pG{3rkhgqPz!!cUX2taGpbGJzxu9c!ILoxDQ~no^`Jxdi z&dCWu#TEU^i-9Fk7w~nkMgBD8+(+N^t~3)F!xv@M%}MxUHwcqi zQ8um9<<19ksiEYR7>KLu9@dwLo9NYzB;z-d2JQMYf^|+AXg;jFRGv0v8aC0C9CCMlGvn8$)vkBR|LzG7@y!5kL$FkYn z)v_~NDu#9h)L@?3^iX9m{&yT7{onHl#nF9n%LGLj44Pib7cTf=tg5Q@9lIhZ*>C~f zi0}IPSvt|#aeW53gW_uYJron`$I1Zb7nVuCE)%^XMU5+osCn7Q8{NI30SM`=NuRXE z8JgMSwmkZ;iqRtq6UcTE`WtOeg)`hLdkd){BXa0snL`~Ick^+C*FI)jU*BW1nuW=k zTS1_7^6>9#8N!x*x0f8Ug0W_k3>5{?p5E|-RqSVJRHJt6oVM*x#~}7OYw^vT#)*=L zEY(TEUN%J{Xm7C=7J?))Q8VmT(y%+JjlBijwD+HNTJ4W6B1b;n9E3zTS6p7DJ8oo) zc${APKV7nU0`PVQt{|*^j}PIu)%Uj&{m)O5mt9P5UxML5^&l=rI>#gN6Ri$&PsK-i zd;tz@w40oo8lL|&Y;?^Fsimyd;~jv2)_%5P{#vEDV|faE`*cs1K_~-Rr<5#Oo#1ot z2S=K6y+8`6#oy;{U-^g6G-PHj|JO4$3WK&_?Tl|)F_3Kp^9%lkF*WUX;dJ&q^UQJ? zA2XcK2$ejIF($94CwqSPtJdfo%eH;XKd_Hr4=O_DgIbUDy|qP>2=b=HbCKyHq4Zc{CHm*^?e+ zc&Q|9I#9E#ObS;EEoUz%2(Mx)j7HWWiS?Bf^S{_-e@T3VEnW^_QmOR8At_>t+N`x& ztRe4xo{_OijoPK~SS~lF=rf#fQ$ZbrHC@J{V{$`DRSti=IY1`TG^Ko+Nf_jJ*?ir5 zfAA*+)mL5 ztbX;T8Ks+BrU1)3ceJSej4~#6Z;tTJ6)_nHi0? zaw1IPR6bk1f|8OFTt7+F7hd9xvA~Y7bkDhxFvcD9ic!+|>kdqCy>zTuArq5|&PE4O zn9ua{F)q}GB=H}P&gpX2WPUeRe}0_4uL4#lLUv3uQaWdzVI>&tna{OgcqPD?yT9z* z?Qe*Tf6h3j-g`olkb2Wu9`md@a=2q#(blnBT*Pg8)gpF8av|BhqUaCfjBr#7L{)}#pqWo%9=3T9#mqrwEiTH5WRY27|)u)kp0ZpWBJti ztLn*h0*l3_rAc5|lG6#5jxl1&b@q3L_59Sqb&o`%7?r`z#o?h1pJrG`mOSIP`V!h7 z9a)7z=c8xROUOt4shwY zLQBLma=#|;BriKtuGeV*4aLgTFYt!Ms5#Mn=c86Jf5JTMUJAa)?R>DHSKiCnu%>C( zS1!kM-B5I~augR|OtzLQJN0*&Zf~Xt{jqC7Uqgv!#e^<-V#cr|s6g%8jrno5!hXW6pG+ z5`Rwo`=|2jfZm_GEWG3mctb||b1xpylX{{(@BPNDgQyXh{$|o3F-NysyNtSTY<$z} z$3k<%!)&t^MJH7bDm01A58_#dYOD&4_%F-xbTPH{PF9vqn51SQmJ6j4ddtTfa`8}eE({n#^;n?}l>?Q8As8=U1 zhJ|lT^jABk1%2V;oBDE77qSMXma>+uJ4}eKAiS`KhKBF>5WitKN6y2`;*Y!PrfBga zA9)aXw0c(R617fp6-RQa@Bt~xQXnPAgBuiE4SiL^C>wJ~%zk~of4{r-H|3n^nr0xA8yEWLX&fuv2D1&DO;qusvvKw= z%X60j7fmg^T#U8=4dvM-JScAvj}$~E1SL%Yn5JOq%Sp@XH){ldaR!Lsu5av5VQ^=)ejm?nqI$p-3V ziB^h-?%mB9(gV7**zPGylWMed*e0@uRr>tQb$D^hSUw>(771$aAPEx*(x;QaH&2fCCjhDRIvmk`bDLss6#p` zGVifkU6*`+zP`$P@05NR=}a!wrO4}cJ*m>FRd?{xwI@`Fu~nU4CMze@gXrbh_h-wh`zt0>zB`!s22->&B90>MC90{Gy^A z21Lz0>hhb|@A3cj0MW56+@LOc(cW{y%Q+qO*^5J@&P;>DHqMC27ZyXeh|q&NixZOy zgI#q!Ce4o*b@v-FXDPxr#8i8;u=yygd6Z6X zn7L<{W*7@G`-39#QB4sVntJ2sS^nR}R`5Ick5n2U*W9ds_CIRWSUXmV6HrbHgew8w zE!v2g-PK;3u5CoCka6ZelA9?TM*@g;d9=l}x`^YQEtcCOWFn9LtQSeE8O#w;Gvmel z)DCE^Bmm_`J&N#&JyzC%Ae3N95ceFao^2)z*yTUHp}6sARnykKt9?nrldAb*7!*-_ z#1!1Pf$RnI>R{x%H;Y`%r%a&l@K2nGP{e2;5!KwxESJQ;TqD2dDZE>7;8J0%@#vN4 z=&$$n{hqGl5p)m^lYD}l)`p8ZctV?MLbHIeYU|cgA>~!AV8%zpGqeNeMWXxBd?iA1 z4V14d`R8jxKN6YaV`f4)u3d*j(*wnD9{-fN=Zy-UCkxCAwR5n4}H$|(7hCqn(yAtg98kBRrb5y?{ z!l2an&xN#3z0I zylqy}b7E=+8T?sFxS@!CUiRubsk1)C1j+wk0j%Gb>&*aaUBvg+`{Vc#8C{a%d_j!X zdBtnEU**?qoXbivFf5Dq^I(J4e`9lQBUFnS z`&bm)_nZ{&44e~Pup1gFlkFFkFJG9rWbLeg`0qLofh4=dQ_KoL^)^AAH93lw5zgT2 zXlu7b0DT}?jwC1xL5M^Cg^4UI^}ceGvxki9fKNME$8I{pkxyE5eDK@v!#ztbS za5_>P9RY_w&Ej~F;Rw2gh7EbiY zaUkDK*3o(HT;XSz|Mscr?b#HCUAS7Z@aow{7W`WHzQV{OTi8~nz|Rxa?d$(1erA9V zA!B@m4LN%z(97=t3TjQAP!B zzx!sjWyOd!uzUc;^4>DWb`+{49f^9Y!K|UCR_Q4PH*T-($&+a zgxiiye{9u{F;)ZHLb__EIT@I1PQ0noFC^JRi zjGm0w(~mnpSK)Oc8-M2_R8@gavT$({>Ayp2EjPf}4_LHNgqh1ur;T4jGe_`h)G zd>!@`z+{Yp%4~_PPcy)H*su|40)~m8rRn2%6@WM%=lYw%kmKou$7Qk78^sH>%lKtw zIJg^17Ni;6XaB;~*BDq?$$_jsd1-NRnpLu(HTmCK7T!w@97soOr^HFh_Z2qN5eIAT zR{jjF(?Y_0qFb-s4N;BLJyNDL{l`&vPLp@%cT=(=&;M4st#*6JROC%H+5UQaEtmD# ze1I=N{Y2>RI7_PQh0>;4kSOj&J@jhu>Gh@ie8eZ$fa_=`7b$3TGPi3_^s9sGfh0~p z<&36Fq*#{+3+~+=LrrjIlOa*h2tD+9`G4^YPeGcN^K%{p!4!WWuRH-B+|vkTxyG-` zP?pHKOokBk2nONb+mMr0O>(`5OTMe*rqJ z%de#wNKyBtAH4vQVcp;`=)Y(CUGVzQrFn>#iz{{A2+Dj6dcT3d93|)SXL1_b|C9}1 zN3&C{wARrUzNAKLfFI_%3A&9-6toQiV zni~&XE{(Q|x}%b{O8z_(Iok#qW0D2Yf{rad%964)!@%SEhTNlFsx`^S-48MQl-RY2 zyZG$Hk!1`XL)RvZ1uHh1TFUj>tz{kf_CSjl7_e!^;G=hxQL2kZjueP_UvxZeAUnGK zKI&sO?$%as$ZI1TYAI=D6_wT&TVxLsog%#7Hs1#o%m3Ke2#&Nxzlsbp?0D?eCId1< zV{Fl*=XeXPp7(Nql||=RgST7437MGa$~!A0t-05hym9Ide)Sjgx##8L4Au+W^o~(M zE4#dtb~iDX%~(pogf+9vk=h{$m2`RviUQw=t%YCYzUcOG>PO;NkgKiL0%r_D7JGBV z8ZEi!X6Vn^(q&8Ofx}RKQ(ME=XBi|lNv(C?Cy`|XA2Eetn$GUca|f#lI^M_d^M;TP zs)VP9$9odM`8!p9#M+fBH-e&3?Bj}t+g$H5W21dBOLojIC}^E@a6i|o?Jg)VJA`^x z=9+r;8Z%lcg+};Dgc8~Ag8(>yt>>+74+Z(7$EZ_M(FVXH4lP0B#V8N^-9Bv}!agJU z_GyA=h!9^;lv41R;K>>%#Dh- zRPL_OQ0KnsYMoqF(>@rnsLOUn)~Fs_n>NYZ=&GWY-!3$DYrPg>3cw8b=icRi@PnH*BXAPzr+|Crv7t)H&yY_tOxF*f-ebc0hX~L1( zMxkkoYp;82Jrl{%?VkY~lJ>qDYf=q_N0b!D*p|23TK>fa1ym_U_$8dO$6xv@W`qWX zIj;}c;I^%A*^K-b&#$qbKl8cI+HRnW`bZydsLa`OWsIT-23))@{g-lbeajW~u_^r{ zbz1}#Yx|=Qg};9j0j*-${4dYrRcF!+y=-ks&tL0X5a-}K_HtdzRXL(#5_7D?Bqt|- z&N%#`_FqqG{G%>6ABkuF7Fy)in0Bphm!G^|kXHqN&+jYVB{jVzc)Wmfx1T4caPX*t1|x_R5ZkN{lTyW$v2Jw6!_ywlR)$r(OxzMe2V4Vv8pF|>DU#&uz!`y(0Kza z9IjNf$EygqGH(mf;s+qT4gdrhA8BKFYgYR~-i-R(`#_yCiYR3$T7e>xgJMkMIhI3j z;-5c%?=4LTVq|n0f6nZyXzMm{w{W-m)yz1Mt`}#UrV5-#!nIi0Uvc=?{DGdFIcK>+ zh7jZIsD{VceyDh!ymsI3I`l6kF(&2XXPn?Ko=Y;t+%;2J+@JhGlHWSj+yR@$?Qyq1 z-o)vK9$N$1-?xZzF`D`Vtasw7PP z7v0Wd87_Y;>rof@uIVzV$=-gCJ~(B3!ou2xUS+7^c?WB+rIp1Tx|79)hVpgn8-1>) zVikeV-`^x>*79tNl{FFAX(00nDaW=8xb%}84wcloiZkOn-L z2sq~_Y+pjf{Bd75F-gZ4ZL;x(w86_`{<=^TgrnUTS*d7Dd3-~Kw{gj;ALlN=n=yyO ze@gkp7L!|B61YY*IWJ8_cieg-)fyFKbct!n`i>h7W-vAE&mLiEF6HXTXbWC{?CxJ+ z3Ob?=M>-oF%cVQEWmaNn6?pv>XB2L+Z{FSb+woy#m9N?_<+I?TTy6cP63@_w(hPTR z5h6`pL5ZtSBCmuX2wiQe-9_`?a^s#*Vh%on%GUh+e1(~O60xazdg#%w2xl27;2sz@ z&ogU6XrQADH!#Sc!t~@xwB~Qq*F_Hd^Y+2pry%|L#IU<>gr3PofoKsi48=Ulc0L-zV59-lhjDM{QbRA zIG)9tji+3;UTeDD6kZ7>qQ+unsdgwi|LuHtD4%J2?3wYeS@U@D^$bpT2ENON&y2!N z%R(tMSl@heGCCXj2g%Vd%qvHV0? zfstCI85+_ZJNg> z25_z&$Ya*D;?lBS>wUl6@k_ntgDh(HOMLZ|O=9Oj2-~IJ^Z18l=-gz%GluRgmsbwS z@2+)pK5@tv3SE2g1<>%|LoSK%j^jh$B?yH|^N3p1$)MqD!0g4rM5A2b=vbpZqCjQ< zV`HOXC4jl5pg{ZAwu_;pk!?ds|DL*;p$Z1ncrnizYYVukyY3}LI)N^h72?>6{K|u! zC*)1sDiIK8{WHUgw^}l=(F_A40>@Y{`rnVMEsxoKDi%Vb^Rx+zre^zOTF#F=V5{|S z_Z{3IEj#ZeijWNbXGv6#muiV=8#i}+_H|MVS(!yV*E(f%>;o^K^rTiDcqfte>oL|$ zj2(M=bbR>R`0I?A_bkQJ^RD|hsW(a2*d;j9<^QcQ(|CzmT`8UsBKC4oTrv;-i!DQl z0}c*-&cCe&OhKCDgeL+R)j*T~C;gw@T+_i%v@zmI-J3-%1d7&-oREb=qsuME^gPWi zlv)KDjj#W)nx>2*UJ*1}O;)`U#N;!jV|HEd(D@i$_QU3L>rRCPkKp*zfC_erE!nXP zV!1j`0m>nip1j&f`Tix?$fXy3Fb0wC6VfxSSmkh}r9`(#hDRId>5A4)XGz}Mo_(WP zyeFYL>)QGBf-hdtN5iqF{oE_Y#13dPT=0_cSPalWAr!s?@0X&srQ3!YF&sZ1KNF@jrxjEeJCmov5uxyvki^m}AkTADktUCYGsBsU=tjZCsg z!=v3h{zG_w>Ef?TRDT6iQCh6aSPqpGo@{H%p$17&?1`%aqFEePh5x34DUYe&MJqb{ zG_<_9q2xXc`zXWlbE4n1X&oHN{~6nNj=3NA&2SQZ@CRN0tXhn4CPCf~WFOXATlD1N zr5LlN_JOJgA{Lji5x69`hCN9`o@i7D|+0`g*CW zSZuUK>gO|U0mtZK&kjW(&eu&K2dwi$^4ZwW<+H{y%2;O58HEC+ls`@yQ z2H2(Ay9Jb!!j%=Iov}%}rykG7l)L~0l?gvqY>2NUJQ_Ltcf2a%ukj=mVmU**;Y)rI z8!OPO5C~A)3@lk(c;wa8w&275%+b-ptcdsbZT3fB&m4>6+ha@@6OEQfy%25Zc3nuR z8y0e7zLAC1%ZD**xiF8sZet^!OCo~!bkP4a1@pV@Z*o%B1J2aLjj3wioW}5n+J*jH zp~hA*AZ(0q(9PxEzE=lh6dv85ahI1f($(1Yo}}5dpM4pjf-)Z5Lq*DiF_R8 zUrnV-Slz|H8P=$jlQ+2g8omzyF%^ko9cH>&nYf#s_l|UGu462lDJHCvc0HVAbOr{2 zo!$i9{k*|OrlJ>LR%Mf^=O1k`px)%G!9vLdzka69w6>U2bp0vYijW$6#tI5)t&wH^ zEDwhSL-%|wH`w8;jJ46YO3$-OvGB^V%__l{?$eFNr|YmysrT4M_(4HrGXAV-u2Yrg z>wOa_(S;{&u6AhP` zPvg|a_Mo&HL%-Rd|H9ByR)$GEtP7q*AQYSNKk)B?Kre1D4K%*Rc1;1I*5E_f-5eqnMyID*TXj1m zv@v2mJKkuss=I8%aV0RpIvXh*KabNIEV;R4=UImGxbIc!Xn3}Ds$eR+v5s}ywOjvB z{o=2GK6Z?53ayh~4YO8c$jx{z!0)fS8^)FoVI^eD@+f|i?UNne|F>;L4|VyafI+Ir zvUJ#sSWjgRzA1HnPx|#6o+Sa2sP-%8Zp=`|-Edz0miEc==4!NL-3XyPtKVw)#}97d zt6!KJcO;#h=v{U{ln$kDon8~*h3{>11*ljz@`jdMhJ{@A#$Y+7d(`F2?C*i z(j>#E#>-oOh9BozqMd8oT=---NoasN&Wa>y#oaq?oV6pU6A;bmJPPVb7S0Zb-3yuD z3#RzNA*j1JCYt0PnZH=B^aY4= zISw{}vv6&p8%1D2my0Z^I0nxU(|MsvX+MQw-+B$AtjZKVc~xh>`t$?zxhDp^QV6*C z($miM8FDRkn9bdgv24A&CeQlRVW-i!MbN?sQCL`3y*}(+c}ntNlFz{|xB@`ZZ!6?s z;cfZOF4ft>B{N!4k{_+$L&!B9njxgwMA>mfS>($v{zlc6e?NDZ8`s>p9Y$Kw>T>9Te-IDBCkIG@|FA#_FTLk z%L)r5hL+r|$9xpyjKjOXJdgCKtd0|YOCQ*W+q~~!pNgU)81~Z&N%Xgx)V4Z9 z_K|^4Iy#lz(_;H{Lla5i3LQi_;l=Dm=A^8Dpl}(%_#v(&-#o<&?<8sBa)qjO zT74#n^(RvH{f#`4E2|#;o3!oLc{gXiSvPG>7L>9$0>_%42fgCYMfM3$f*qeYgp7Qn zlYXe%^$j~U`tzsL6{SUPzJa3sIv#!BC_q(>Ggrl#yk(LW8dX+BG2=N|^y=?hi-jQ9 z`D$JFzlI~fx1TtbQuyBB_(@6@d#yGGKR6)DxqifZ@(69KMW}y*3=G6=VESu=Eic@5KQl~JeP;n(fD09Jd~X0I$j91;(~h-F9coMuO|Hp$mw2vp-fB&^R1Qz4+MlVY->VSI{ChyvnEc#NvYbV`C{O00 zDTO=G+=_z_X5O`Ro-S zAoW~v()Gn?X)<%s9d2{pUvi_|rE z6`2=mzPe!3pHL$2oUg`dt_@{&s{geuX_({Hn%mw|C#+Y!QwY^eM*TjZ?gGq>w6%}+ z$P=(~9iigHD9^FZiSjM)Z;MQ^?&&r3&TS{M%y>Onf5e8_E-4Cilr z^swJ;XwAPcHjpDEMXIUnE6?Bf59Tb`hMR|}3<_CXl1;aUlJeWY+}&>+wRn%z%<8?c zk2F#b=?70ks_lir=hKGjyX~fNeI(+rLM(ar z*j_M_FC7Ys_MU>Zw1cPSJalfWZd_%zfy)bH5QJib9meU=8!=^;>m_5$v=GajZ<=E( z%2+8Mf1LTG3-t%pqEaar3Myhj}Aw5sp$DYG0M57ys73v+DIJ87&^s%v{v{}caU`(dQ0!Udb)WsxF;$1 zJ7dP+RBbFCa*%dF1pAcz`PwI!2Cf!wt}{a88!2OxpF^igdW{CYdeK21AHcQ^)I6w2 zF$r^oi?Y{od(k3HeIu0{pGRElq~RT1$YMi`PiAo%cKQ1+1FK)0t?`eM^D${47nkBB zyQn5D^J96~v6gIkDOTPBm%i(LDJ=`kTt4%#%nUpyUR$r167Y$0;saFD3xgpZQEeEN zA;VvIizsWSOr|$sl!uk|lF-wDorPzZg~_pjM75g@9;y%-W+z-x5C4uV5^c<>oUh=T zwP9raAMl5M>F;czrFNpFbXE5y_qswq?6Fax36jurf8!gltk$XWviNnjq@oj%KR+YZ zl2@a;OLy9s(=#uC9hhoRk__(1QaU{Q{m1pTB>sk$o1+HlSY&QT%K37eb1a)2bWHE4 z4mW*`30O2Y3|<0pCJ2Wt5)51({QCjc7TQ-$^sY#9j@G@Q5*)9p%Me}|KBQZJddz(5 zw4*b}YgEw(nTRZ7Zm??FAeyC>CJv!FiKs3+8|Zm9ZAiI z9Y1tbsb~qBi)*ojob2m3=UT>SkdS0OVQ?S|JOQ)VFP!UGA`8hc_;EKrfx93OV?|y- z;wMSY;TZnw?8TD8u!~ek)V`{K?qY%NHaW3?ySHkGOTS~HzU{zp)k~GMvmF&uRJHH4 zElo4EwQ+icL77mhoK5{too_gKOL8>2pCTc8h5N49OD%bK%#GnTh-{2M!Jawi;CCg<-zU zKjb&7Z1^ZmlY0bXFZsh6#Y}btf@9DqSb^>CuS=}=1@9A!?O|>9`hlDVoMTF;`l6~d z9aMlV?LC@ds2@7=W%z--0$0+gD^e zbdG1;c(&02LlP}35wyNdHRfeCZj9|WAAc4;xX!nu%}r$BMOL2;>cevIAXb7&heO|( z_V^6&bg6X_jnV#eh*`~zRZ^LX{y;sDlj)VOSTqvpUOx84>b&{wMKgcQF zRQ*GAA9d5o+}8;PFc6iz($dwbldWYl_F0)C^)ULwse3%$qM9?bUPyqlTqc8gnd;;5D=||1c*}#zS13kdWzww_$^R_89R09e&VNaEP{UYB5frCqrbD=$3#EOmfA~%-h;L^=_ zs{!)gqsJQPx`wcUXN(n3X;y?5=K<5QL%iq+{K}Wsd=tJ!T{_h+F50lg1wCeFl zD*4A%y{`XziT3gbms@FpSH6UcUsp(gcqaP@$1X=WS|@#uD4mrZbFh1x7k<~Xo8F2S z2oG{FQu}Ks8xNkSCMq+dv~d|OwLHp0>h>Q_;f1glAeUWo%N}#~@Qrbu69aY9eV}ws z3m}nbV1(%pqDK^uv2OS77A3FOBtev@dN%*`JcyEazft{Rxu}~zP!*-j;Px*&i#gl6P#iW}3L+jE$XR#@h8dq7l*nslV z6FMXU2E@Pp4Q898P*7{zbgN>c$0h>9j!W{hl&7>{>o;gAXMkB;zKTdJugT{x;e~;XT&;O%3^D3QT|FwFGL`wsNwBO6} zzk_t(_8t@KW3c@1=dJ+H%|WQvnjo$`VGYJr_J|8>h3hc#n@q$S!9T#U*pj22G`o!=+&|_9I69ktD;%ht{Rb}1W4J+L;uP$bfSIBHbO15--~mhtwsUTG0|8!u$x`6WHefQ< zynxID@WL9Om58`P0T>F-+#gK}PXaKe2!l}N*ZxuIxkGye@7WcbFfeM`1wv&heBH(+ zisyraE0k!|k`qT2^%P|=|5tl&`4&~Q|AEqsbceJc4oHK5Fw!V3Al;21EirV5fRso| zhzu&--8CQ*f^;(=A|WuO)LoqOJO99ad7tY$9%s*a!Qy$BP`VmC#tr;-UM+%C&`(M$g?1<(gdDL7b>;jW(> z`x>mLjqLiZN!Zr4Al4d?WJRqHzW|_QQ@mVyM|@S>#axyQZ!WEGf+Ei+w{bP9A()Q;ROtco$Ld7#34e)x%-)hi2)6dAVD20cG7sU1z%+50S>yT_zzacvNYFw zm97-^8nUgyd11nJBeyC50Z}i2200t10nU)@iY_EfAcMR>oc<;|?BU-q;08*joWh!b zcLyg-6cS=1)C82?T-jput*zNVyqw?DdCE%mW!<-(b#?Xhf*qKL09Fxcvqj?!4#n^P z!WhLwr)WZf9NeVKLSt2MXaoT@bJ?Q@=U3N4DqIk9gM`rZUk3o*M~EX!m#Tt*#E_qH z+3dD=9vnAX38;3uf566EXGCtDjMD$EsI@)`J8Lxq#$UPz@Jntjss<5Wl%N(B5cMN@ zL7Qf5O~nHfmxCvC3&0o5psIyf_z9G6N{ z#9Dk0w!l5d%=YPukKpuTU{6+J8;RVclml(BRL2U08YC0QwQd5q-xIZob)udSVHrF( zMtz5QZ$JB|LwW7?OXKn4Ep^n_)QUei8PD~S--BJ2%r`)h`@PYE;bsnSz9TS9+XiSY z+1mOnBbN@`Rh}UaVx;>t$2;YiHG(yKN{ZiJx06}o-N_6lmwYry;A4t6j9Ds(aY>DZ z?=&`MJe!&->0UL-{y^QY0?0!l3$?lK^gh(AfLmJa`yMmTj_rb;Qj(X4l~Y`CRjuKC5W^tMF<$_Se4|>Ug$|wWzvWanjuG zHJ3}<(cv+^PP}vH$Os%;eq|2+OP!ZN!NC>N{;%#O&ww5dS0%1!OHW~$g<3U_B#1md zZT~|p2K2UaD5K;)j?n}A_pN3UwkqoW84dthxNE1R8Ncq@RXP?z+r*)wpk>RO`BO?u z_xP1^3X%GR*_6nxuDCJp&77oJH`rF*ajc$3S?&(H2RybOF)~bR0N}6iWhLOl`7m`{ zUuCi*A(8Br4AwcQlqE|G^ZaPSQK*=f`~lqS$EtbyMARqUKU~Rw91Bu^7V6J7B0ojS zfi64nLb{i$aK3vb(O{gT?f-7%kXaXKdI}0Z#5#ByHBcRp!7~)DHW9Hr(c&mUfm`#! z&#XXYVnj5Pea+Ipq_kL1Wx@8mgA!)1ozgHTAjpk4^%rmI|K6n&$ z>^8D}OtS8K-ANNVs*}6nRLyZ0ixT;GzYI%R!>_W*tE#al-I2pqo$;J$4W<$;zuZo4OVRmnqoDbw4F(|=D% ze|VWbB0@oc&-2gPlv2j^Kd-c;qBkfp?Swg!2dc4>W$OS4a~Uka_t4lCnN}dU7_0#q zlorz0@{4)TipeoXew(Dpkq+GpEx+FhoMd}$jgPbL*?T(=6f=9@)J)t6SSb2aII;u9I14VE%7EXH*zOIT;jteo}0y{c~ zgPCq!U?>LgOfcUNAHf~85lS%>tx=_mL(CL)|4YK4c==xnZ;}k@y(DU80Tia(#}H3q zw)Hf%CQU%VQwD;58uszJJ+mT}uLeZa#f9-nhAEBu=^f~k>&m>1@pi%xlv)&&1*|Ry z=K*Q9hOfF;_np&h1C3-lsvs0HSZxtt$1$@~Vtl&H3MwTf;7PTAkEC@)B$e&{0G`c_ zz=br=)i8}^q$rekICb0-HcARWfZukwRsQmYrF!F0<7E7>h_CXKC7UWP&fHNz zsJXehc?cW)m(p^hf_thG>+O7aOm2zCF%}4+l7$m-MEqPAz9;@V0@Y{@(4<`ns54K~ z==*mkMTUQ<*E}Hm=p~HPr>#5rL&W*5^Zd{w_4%o1-b@?e6zF@H97#`(2$XN9f-odi z4qhwU&mX%+)o%cJ*!)C2XU+Cxy=LH3nvPiFC@n`qiwh-IQc%0eDrhcWYIL{$sLJaL zida9Me2>Ke13YjG0@6^(z`Wzha{K;Xd>a~CHf?Y*otrKQiRk`>@zMb24r}PzZ5JGt zW&rj_Pb|P1!R((w0Q9g}B{m{NB!&#@nl=M`nGDu_HV`&(%v5P{Xo`mdO-ia!^z(ky zLGezgukX(&VP@aX?ouU;|5d&E?k3CFQ<70BKGvq{%ZBH&e0Ip{rbE@pcFYl6<3^V~ zP6+S*R8tmy%nqKG4~!u^lr@xDO-3t~CH?(-(|fUNz}Wjthx@*8Ki&%!TNQ^IZ0_DU zQ02Wv{bNJej-S8>X1q8;aQwu<#ZMMOW&%0JQbGXI5rlAZV8h~}ynJ|7#WTcl_w7iZ za|OH&3@aEoP;+(0bYi&!{t5weoaMImOG?iW{htw&0qf@{I3rT$ux6ydBZJ3b4V6*= z!^k2eN<#g=i~cVUs|>vTirb+Hi~& zzl#vJu;!mMohQk+Ujc4)#0GxdzoaVnFSqx-z3BhSXd$~`kp6S4-}1L77@IXp^M4nm z{ukwjF%Q=Mf36yfz6~nn`};qFnev~DppU?<5%n1LiU0kzO8KO>g@Ne!xAKbrchUbp zF#mZ6|KA)K6*gGD`eQUZh1|;N)W20SIVZUoSx6NSq{W}d?Z>x%4`J)(Lk%Z9REC5K z`b78I|04(ty^+sbT`tYZAKia<)ixUhB2>xQ6v4FX98{y|Zu&6x`N~Zg>zEQpfxVMC z5wjJb-6N}c$p5&`nhkxc30$bFXt`c8IyXfo*cghbyxJuQ;?^Xr}YS#D}wi%-Hgx5vTSS@q&yx&hpu^&?roHHT^ zJ?6IlVVO0T8~=Do<+RLo>H~xe5>eu={d`*&JpMq=7KoBiaz>2Zn}29*nuUqbaoUiw zFM!S^D=7@Yka0h75v8Ty<+-Ty+v@l9&-^(k9NGhnVHKSuZe^jvA+(nyPAleT#{WK- zmd3lDx4!gE1UmLp)6>W}!3;I?m8*Qaxe>DmCiSGV7nuLZ;`&xhG5_|Fdk!i%6>euFB^x zD3d4ShOxkZhwX+nB47;bh(=B+F#3&;EN-Yw{x^Ym#|e?}h@>ZX*iaC*PeKKRei*cp zmjb%Ff5*M9%0~Reo0!T0MLk`K>bgNFe^vYO-yi)VuwhK&PX z!&p1z^+SU1E2mH^YH=uQD`-(^e@z9(MN98F9D>9dmwqN6cq-0HEQQ--Y@{eZr@xeU(+D1^&}V zW$QnuqS7vn5iv+fHBG03*N^=+Bji4^C7?Q0r?T`yk;I&R=+M5(fCxwC zhc>WH?*syr<_V0C53%O!nTD#>8ow4YDbwJv1?Jq6V|2{TZ?voO_`$TdZ7$E-IlZ6- z0jAcN6cNcDaV6Vjt{NvG;4Bq5%-wi?cHc;nZ10rmyBt6v&VDL>(-$$txo4#xX24EvF)G!?+HNIX*aB~8~$x_ZW2U7I{D5w zH&|tQRaI{rfY3pR&m50L(KePg)Ks5SEBbZ|#G_t6VufIFJuG>d#9?Wvu0H&v=@1AC z0pZP+f7hs!-TBqXNxL7R*!U?gMI=Du*m>mh^~s^0jt&kJ($FI7*V`;S%DZI`@(w^Kt zp06TV1QLq4*(t)}FaX3y1sJpRh{%LF)|~o&HIT7;1^kFCX};JfQ}u;&AynzC{ofZ; zc7~xEA21@Ds@cV8jyj5q|A-^qT>z1@1&F_p$xX!;K$caOd8qXpcERIaK4v7jd0u`A z?7N46{>|g2!=|f+?PKO`@sYSEvY@0U)W3NeOzq;IUpPSSG=s^URN6<1gHJvJYX7V z(C+d#{rP^}ghXZj5hsBphNFG8HjBlUM;|8`_t8m~(y1~>LP#q=qr^82(~jXEYxqDF zpn;R(jjGzj(K;FPXHAtn-e20Lf|2-YEq@n96g?@~)_Vhp4K1$eM$!DhOC;LXu!NxW z(~DSL9i0ya+y7i&eEs?5r2S2;6O0TZ(vNaCh~@g@>6DAjIPAV494~0#$fX<>O+AV} z)l{h%P+^rDsOU)2_Hm)C=Al&7N_(7uM%xG(q6lJ!)NWn7_;X|U6Od~w@>6zqfj`*^ zpk7nG;(Uib4|oQ+XddDVCn$n`ptzVv5Z&{+g;Aqr7T7EU3!rS2I5O1$-ioA?Y@};{ zTFsNUF0NrF%#85{)mTAi4P=P2m<$gsfo}PVKkyh>0BT02BsXRU-{X;LDqJ!B1?N!e z7w``Q?h7XUGo**~0py29jL0j{L}6lEkGuC%Kb0HQ!hE8O9MZwjIvua5C4wE=nFl7r z^SJRh-Q4uU=u6=QRH_ktA%~oKFL%c|9tcG2f<1$U5&5{dw;RPSH$a|wywS}wp@;y! z4etcKn+UrCd?zH%^I|7?6}1vJ#Q8SkffPR}=exlazB*v-_H(Azf$~hONrklt2o~GP zl9j)7a=NT3k@K~gb3SsJ6MNO+fX;rXLrsK-O0(U~Q9(%T*sr6{i?c6{m_ftP)#s@` zRo^b)*GyL#ltNY2faXjXJt@*XXq-3#DeIf@Ww?}yjCmh-S50M$GV;h8xL2J%5)t{X z%=vDZWW8nT9XYdfQEIz^5`*)5_bcu1lV6~*=9(&}o(GlRbaj{VUNh3#$Me24n)5Bp zDCYT_5TGyfo?}ZxWox0nh}F1+fms7g$s324FGDgvX(OsCzjx7PYZjB(q#4mjCSVIQ zJM*8l{LbeY0;(|6^7+Ntob*qw?e-RPQ z3VCqQx*u?xz*I#8Q$ktxyp9Wh2ncWqi z>5o(poD)c-oVn9%HLmwTtr4wwdTl<{TP-)w{z5Pn<$W zAIyYkja8ok?aRGr!xo@EQ$+H6uN%dhySePm`1z$A=W>f&+J>udZXU49VmMFZ^}Ysu z2w~o#uw&twAMf;2IJnff+D6~hu zZ@c7ocz^~3v*V4+E*UXiI>#1hmW=|L)lR~W9!ctITEpk$%z(aY+GacSi_6)0$Yr}I zG`f*P`L8>p&(|V{JSz0BLpZD_tZOW4ZmwS6eFg9livJY=-xVkPc|9H7Ho&%sn|sYo zt(csap56i0VfqB7SmL$Lw`!tO^o}+Gsoa2nL{iEK+$KX1=v=iHIXu|t63Fp7+h0`$ zy8pNb@cG1<_~a>6FxJHijAlxmz!w z3UDMVB?a*DK!@BJ;mcB+&6GK*KR^+6p}KUr#hrVxj<5h)Z6R=W>LwoG^uUW>zYgDx z@s!oN^b_f4lik{L->2|PE_RqiZ8<1k=Q1L@!v8d4b!bt+5=;rY)7%Uw`4*?{rn9g5 zUb`UO`P`G40`y2df}sDy0>su64%O`^ZQ#Gl(kn*Lu+c$+DC3Y(Ei33Y9uR?uB0TkA z%=~{|6L@EU{de|c*Q;mFUpl71V3h8H3qfTUO{h|d04w;m#{6R6WssrRj?()87 ze6Z$RB^snmy*6dM$|~1o(CXBoE6)iPah{o)?#9*Xr(r2f29h@-WhASlACjl z%@)c*iO)=8&3~L%3+h0LjgMD0kNqbG|Yr!wr zD-p_aCjApzmEs2$a?C_cS9iwH>mkC^&cC~7`&h0u!QRW%e5n@q(pV0%LmF|yW}sW2 zC{RbT{c#q~FHcdQU#>RONbDI1UsCigU8XM1~oT()3aiUq~OpJO8l%nQq`SwRQEZ;?0i~QpgN9bhJUyvlGRw~tQ)v_?W;y^K-KTh?=FyUk zcqBkgz2QDz^sL`XFa!6Y5djXCf7<)^WwWimHREY7BW4wVLV#6#jw2mjfaQSXTROqD zlHqKzM2Ek=-_fmm;v-z@p^%#_AM9OPh+PEo!^s@joCx<{{JC=~3`rz8gWEWC(PnSo zVN+c=^k#<%sq!v9hlAGTpIz`REI+9ficHB-rx()d92Au=?*09W#>B=mS)eL7{|ARH z?db_*(5(5k+jL{!d!JS0`_|S_e*>k{yd85NNL>8FuArr)1S3ifxwJJuKi=(gO|{p!V);x)4mZ#K`Dd+MLl%15}?p63 zeoTG&^*$Yund|TV_fZb(M39-Kknk>yDrfYwEW1l{w$YyYKT$cHDIB~i2<->-Pv^<& zfMGV!dq@VA$<~gUkR-s}JM$Pyfwp9#G*mk;BXjiy~qA*99hS(R$Wf)`*aB@={9b z^?V9~$Xr#dJ-R z0wS8szg93*Hlv;N>*P^gn(6LO3iA%pB=m<)rh!+=ySU=7g*DH@3XA_xhOwIH?U4Pk z4Z2wkkpC^N$KTlothp|jXrKB|h)Zt_0r+!TApu30=DB0_7s=XM7gP=Kx z?2STE<5?8xW*`+~xerhb5B^$KcBRZcc~T8+t)#cMf8@;XSA?SxKsI`V1O z`y?Szq0tj%$x6M$V$V+-oD)8P5h0P{ju#ZKK(yg}+_sF$Pwg7t!S-zTuT|f94#`PUM(ujL{dg-a<{Qfsf3;o z$hf!sgzkG?!=|S;r9Nv93o`!f#orfZuPKRY-2CYv?u+8PX>&()+#CkNf~yF*NR5&^ zt2cA~v7&Li5bei$r6smDHtXrfet|2o&%WwN%vP5^WJJz7H>Iu&9nIW%V{7Q#Bal$V zL&*8L+*HDnkori{Oa&Z-%iY~!6>;6@3O+luOeld+^qOAk&_>XPRjNs2Wo5`Y5kgbN z{IAE538<8WIchfb%YWUK#PCd_lwayVi8r$4Fxngd@vY~4Gvp?IF{Zv|w7HuVhbw=2 z)+<%5VBV1>wqQi{Cmrk1e~z2^zp*1=pP>#WLE?p(c(|KINrMk!^ISx;_lJ;afr0aC$q zbl3;R51g0!I%JA)!?69sl6Gw;c%Hl)wlfEE+&!|ghyjDltgPyOBywmJh9)vKFvx(6 z&!Nv@Abq`btdoGevqf&j7M%H%JBdjoP^KYpSh%a->506klj zH&U!u@=+`@=w#3l4it|o9JBC-EDbP;PQ<#o6|bIn=*4j?mXZkO(D*B*6utsYjd|8r zc1Bu_#Qu8@Y)L^AMe0^$0+do@z~-Z_sp)ZVS)ZJHJIAI8pHC}FeBhEEjedpV`DP>3 zvFUp)Cs6j(@Kf8#+;-@#aVhh<8ZVQT3-OxI`UH`w_KQtrYtW*+kMr>1jEzi` zCuwzJ{~$Mgtu^}m@~Qd+*)|!C%;`H%i7Qbc6|l8o%P=MURp-wmi@!wHH6OCFgm{M} z0$p5Oz6d_*Ns$-3Qd3g{y7=jA4V_4keEo3$0R6zH)l3UTxKiU_##gi-TmE|=RSH*A zS8sbZeLPe==_m?82xkwEsHPkN<+I@TgLbaV|BfbJh1p~b+dh^T6AfE@6dO`7#YIK% z$s$9P7!5-iru|E}pFR}ocopVYcbCBbuU$7|^iH>3&3RaUO}i#keAgQgm&!?Tprl&| zGJLl2ZI53v&N`jYBi%=|bstTMjD2}ErrrjP#it;N?OWpDP2op0_7gJpVzoV&6ad<~SLC0uz?!{6wP891^B2bIfyyksmb z=B84LCwy&y_0uS8G~uRTuF_(C+xb# zTQhEKt&LPM8IS3xlT>@><3gEx;tw)De1PS$FVKFg+4u@J8=&%uh6OKmcXv}HglXPo zasB>&2%{Ix3--zx~Hs=%gIk&W~U|-c0&w*o*w9MKT_w4lsmWzkphCE z2Nl!X$CTky4{|hsnQVen!+dzHa<|Qo}iS8qhUKK&@ECskP;_Gi^^-bo_V$ z>uxmCGt(oC$kzCr2L!E8zl0@xVn);wk5Ow;NpmTW2LM-G+bTTf#UuDwE0rQh)ascw z+8DOof#@QObDfb)!;Zne_C72a)FNo>=XXP`)ihO>iB6vN8?bVSm_@vKb4OHI7=2^9 zkn$A7iFNb4Le@@8@+^wE9ZHboMTTz$C+p%QW3rEsZ%@=dPbf}^bb!11WDj$urVqsU zFYd5tQJMFlVM=Qx^msNB2+tSX@8yyl$7Gj=siMq$8Wz1TFq3$DOnBv4W>VG!TRn}0 zq@;o*Fpll)uO5%&!w+CLqs`^PFMTE^}gs|*x~EYn1XMV9%+_zRV`wg%QTHz#mkx{6$c!*>bDY(O>fRW6c^)9Z67P;i!FK+ zm{35OKElCL_!D0xY-ew8eUs!Vd1|)(w+hKDy;N;GRN@~Plr+j~1dA$!V~~xx ze;@_=-Lhj#$_Q;Q@cx%xij!xTl+NXc=7ch5Tbu=u8udJOOpP&00)M5$hLJJ_#@bQ{zO`^-;7TF^+$D^nptUr zFgMRSBPOL%B^`a$-!kla`&5ZO!y_YWcum|x;1w<6% zG{bnML1_7*QPww1^q{x5HxJB2!mwXEcCl{9eoWD$8kqVZUBIY)+#_&8vZhbR!0;k_ z_*XkPrw1F&iZyn@L6_k?FBXy9+xI96#2PUu@d_rLB*&kgbB({ivaIa49~mC*OS8K> zJyTE*g1>_*tkM41hojughr_&elaCgB(%*dqqI9xUk*?F&`vNjoxhe=35U=J``=@Gu z^>irHla!`=q(4S||9H}_##b-hny5@lNa#>YS9es52wUMLQylFlv=2aADugDDZYGQG z(*yh&h0P=P(Rxx=gCL0e%K~WZfa7C+EFxi zC312k& z9&^C1=EA0W_U1!o?nw^wNDSDn-Wioeg)AA2@?tP(tNa}k+1-$}_uxyvARVesm=}aL z8}MKeqQ2#S$5&2K!(jT;d_4<&HDk{tOV#&~&U%wn{$L+#!tw_*4#9Q-w4fKhLuS%! z649OY=#^cA^Zc(1VmaH~O<-Zx!0(fJyMi;j5JLzIbYh9DYhh}xVVNGe=FFzl_TGV~ z#I8X9$xjhyRiEeH<}Ethi!GIv`&sz|R;)NcDnG@NF2wyWlt_zem7%R)UH;*}w^%B= zRR)*C3kwTu*dyz2zG=+2bxOcMY}ITyQ9DiaErpU==tqk+ek_TSjz#MW2{!WrPct~Il;DgKAHPEI?0eO3pw&tV4& zd;yozeEl+I@0(BtXVL67+n}IpCU?Ro?*{$*V~#^mUI}#`vic&(F_=!^Z0M!%Gko7jmzg7QSqn z7lPX^F-ySWFV_Rdw~j6#Z1`V`RSJ3&;0o^M?sv9UuoK>6Tb|QBd-klWW}kUN+bU!#mT_vRt3Qzt7Ov4BqbFEv_GpSn6S=E^_Ok4q zW-iFR96*;<;aXtE9&JQ(W*?gH{w2mFs{smuIxUM&MPtpYyHW~%ZnZ=#hmc3Y9E0t~ zzdR(<?xUN6RNl>x7tfzipS`^warw}i=)m~x@%Hqx&Q~2Q zs`m?1NRKI(;k_*_4tG zv8^#Q)uLK_5la&~o<@SPoQ*|M?jek2QGETvxn(%2RW;xiWHApN6HqqG)!VtzmmWP*Bjp)4TSv{dcT)9Q!l)=NPDQ zH1dxmOsDzj=;q#?8DPTwnw^j4;I3>r6_^jwBQIQ(e8F~1DX z+5wG?=1@-HP|kZLnjJ)ol{ILiVG|!n?9XfQmlX%|Wzo$oA7r~^@{eRVl@+(<4vLx{ zg~{@w2m~ea9Rb~ObA?3?X9Fv!@l#?qN5?-29!;13DqA;_lgahU^gdP+DIAdDtU~AO z4=9ki{w&@zAYh5IH5_oEr^=X-&Fy0sX!NwQvMSdrVanhBCle;uvrcw=%4Y=&X>kWd z_wbZgKiU2s`oTtnr`#D?Iijcya4Z(z+*YL?#;z^OitT_s19;%w`~(V~*vbCZnfoMf zWqipM51#7kO4IoyaW!)%&=|jujCFMs_)`ib*#speFF=petN?1pY!#(Xt#}Sn2D&0+ zzLdV6$n<}$k}Q=I|JXZ-t;qdf3ajV=k-T~^I3RP7lojIf${gJ!%}-r2D49GV*7A@g z^Pc|w`?vYaEN>;ct>svbH>#f}F6!o;HNSS4k>P}z>m0j(w1*txXm7|Xy{>a+Ad0!F z7QotGb8lsl-7bL=049GmegPbGeM{zcPkf^+BaEPaGtr@mokw-vyK~E~ORe9dmC6&C2D6D3lEyQn3FCvLJpZVPad_nQ_NjG4zF!1cCA5d&S@;yZum3j0 zml6;Y!{3RPSx$k*#$+V0)7}*ue-aiEs|JW;_y~CXn}Qgb+!qDCA9@4fD{kCW1ke98 z2Su=qTjT}qfx7Qq>z#_Qxln1Nl)?rg0ch>01JK2yBJHPpS-Z?w0Kd$J#>#w&-<7{R zgySvC4vyMi;v_2_J>LWwk$rgg+bDRL&jYSG>L&jcQ+MssbAB)jLe45enjl?a?k)T> z(X2y4;!=L}bKaw!B^*QJr}Mifm7%}#;hkQ0X-t|Oc`~$2cvH3I$#5FG_(%*}bvWNO z{j4q}?1m>6IE7J{z;6w}I|6_no;khfpb6h;-P2D8CsL+-m7W-xBAVH+e<;lJ1qfb_ zRvE)Ml(CqEUB;?}Ri4g5a-$YN7BvmBqC|zjqBuW(tW_rKoej2FWW|1Wsi#owmstE! zG${5lH+-?g9rUW=kgp(EhEo-Lg-0)`?!vVaGowLS-|m)TTZs z+Yb`F_lM^ObmF?lW#50C2jYzx$2zQJzE9s1$%H@&@B+U}ka9d&Cl0w=9(mQnh%9@l zU+I&Zhp|+ZAD2w%uw0aCW^G7=Rf#=xc6L_PTyFluNz|NzMxSbG3Y4)<=3P7Tr2hT> zgdc_YMnixLRy5{|_D$A85ZWncWYJlN2B~OK-AsrKU*VC}W&orCdjiS?wxUzsc@;9O z$wLzila%zgnd#qJJtdAvaux13BR||p1l2B}wkS0r&m!*+m|9O3uCNpjddV2WKZB-1 zNwLJ(&!&&+tsMz&C0O3F2AEJYr_vlPYEtDC7rn_dQ{FIEMlQ%vy|*#xce^{3Djgk( z@l=fcjSbE1el`Yuh6=J|WFO$R(wnrU<)8p5nEuB1uQ)z!RoNFo=1%qQXMXugqvS|N z1K!v^Y%&7aX!tKF?WfjN2Ce0jjya#U{ml7#z{>`KP7X*arC!nD@esB5q0R3xK~=_# zklx_zmv`apljVD$YGA|{;Gg$rqPcp44uHUcEzGw11W_$sZxwxy%~nx!=={1B?Kirt zzz?=!as#IERaf$N16gx4@>&U~66Oo5VN&D+cr(Zj5;f^VbEX2Zi ziRyNlYf&f4$`&OiCI*8#IU@^AE3<=8piTmPU;urSZosPzs%q9;tYEqS zx{sT=lkgqKmV1u?)*?$1kjVscsLO8QX{@aSg%$HDiapFvkQ(v`{3z?~Y$_|s9&B=vO2z1r7!Z0ki3 zLA92r2XsV|Wf`NJEFhh~IDM6yz`C5o9l=1)r9;#s{#19;{CIikrZ#ENrbum~^@l+G z^zmGIoc5f8ovD~TyduyGPJ&?-a{xg(%9hfUN=nC7{S6hN);hp={QEuMzw-wLBvv3C z7qU>_YTi@Trkk2l(Suo>1bbRqvI!XZIfTJR86uK+w>*trTV_7YD!S?)j*%VX%3yL= zN(2ZJAz3mrz_2pISRk1Y3BA#@isxloYd@4zxr^}Z!5CMk7JIb47(u34dU3+9Od)p& z(k^UBTHDISI~{H>3-0&L^;81+j$Z4lLLnIIZ&vhtU6{t~sti0wNxl9y3QGY5MM&KqfE`ZX#OdfOr?ju)nOMnV?Uqj` zeg~wCnESpyW1OJk;s-YA06#y8lyly-D5m=nph+YtP$>0sIr)VYZPlWwu5&jwng2x+ z>xAUU3$4_rV3`Mj7^*5->R9-~S~t|eqVf%m;o^%|S9m@k1(1l!YMIZ&{10R@`} zbWy7p$)FKa8OsFdX@OV0#qNyJK0EmFf`#lpJQ4dQ5@oRObdnM-K1Bsk{6@o9KA`&e zD7moaHNt>;gbyjeGjLRC*;R1eFJ3A|PEC5&&j%F8g)Om-uO(N0nih^fE17hB{;F*) zSrw!WV!9=hGUdrGI8&;oxtm_;{b!H~k>I5vH0CHIbzDrSzn$79%4@KzI9||+h_&Zf zci}f0=s7fqWUJ$>d-Du5rQ4prKK8r97NkJhJ`wsDF3%YKVdp0PCFem@C)0 z&Ba1#$e8uzoA=Hm$S~F;cURA-NfQiX?4rQfiiXz9jv z>HNZLv(zSqFYgYhNGn$Wr^&Ue8Z~;#^sz=(Up5|KDm7tPY!moTND@%_L@Ym}shuG5 z0p)RtjZ^*46*OUM5o*yCOk6p7v9oJcAVM3R{8RUu!7F(53&)#Ixm&X(pS~)xNV(N< zy^=_A+$1S)9`Pd}^_5-ZtHEgh?N9@l#{(ee!{TD^?Hgnt0i@$8qsQ-$#6RK=Ft9xV zAoB!b^{kuEK3O8}3mn6ls+`8)Ni(k}SR|XEh!@PXnzK~CJDCr+==5*aY-s?^e76S5 z9laFEpRSa0L3oaKiBnCZzv|Q5IF#Yau7us(A5*Kr0UT~rhS$fQRsj8`*hzFp=%#4G z!I&%py?rd9^m`3T89@eh3++MxoYq2s;|Hm0al8&|22+_L(t?W(XSoB&Yja{hqU1Sz zNnY!n0?1#t(sncy!zxu9Fz)z)&OxLqr)PU?0S3cwiRoguFy{;Ve{lsd;INY$8 zCq88rwLxDd^;K0pwGCnxbh)<6A2ZxD0hB^oP)~Vmy%X`Jt2QFZkpJXiy;>1-)W}eE z0K$2m7B)&nT8PX3r15j9q)8`;k9+uvzw%GGeXaxNF@FCw1wRJbO|e?iyQZ$ho3Jl_mSoj({!|NQF}v=|?2?>2ahN_@q6z%~oGgGnKxl8Jb!c9;;7L%T zr9}NsAt*!I>gqm6hy9T}$r-f4FmGSR-~;eosKs!*+_aau&)%V|Z%lnU^20H;Wwx_^ zV=JDtWer!QLN=TOh&17YxYU$S0}gb7-nW zQdk}psZ3E^0bIRhF+t9DOe?oB!k0ch*|%LU!0qek2xg$<_aUX^KwbpZukS(MYZ^_l z?J+Z{Vh$Bm>~DIpyMV_d`f?D|K$!0~ZL^#C(NK{uP!&fcT|wOQP2j|8eWwH(sPF|FPk+a_@JsniLh@fJgEk3{bw>O5 zu}SeS82yQZ-HO@Cux2QhH^fQY72T`PyLB%}>z!Hf1M+PhlIXBcBp~-(0h>W~LWF!_ z+La9iw1C!&|77~!8gJT(1kYnPt`+TYBD^EoO%qxqs826Vx-={gx-%{{-5+itGKp^Qsw+Ra{XtnjVzk@1gtzp;wV<^ z%N8ZSW*$*Op)P+SLOUKPGIe}fu)lpve8htkvp=*cwdw|nSO%@vWU14@EN#D1=Xngh zo}l>yg63hL&B`#(zts>Ka!k8H&y!ieVFXo%8cNda`fntG23DJl5 zG<2tu>mbbK*iEVVz4Fh0N|9mw@U4wi9NA9JD&C>)p>U`_4ojq&7Q1&$lV$svKMBw9 zHYHc&bKk&zJG(^jaE&j3WwYa{PeN#&4`KO$XbUu;L zc8j{+rI?a<>;^}N_@&v1c0m@XuI9;FY)Pox%{^H%&h*`54YWZD>As_tzG(DUcyFDO zvg8{aiaQ(>N*qZ_tjV3+?_~<$rQ?yRQ90mGnR}rMSZ{FjKH*UGSwAW_68d%f=YKz5 zsd7IF%3R{Pnqv9j|E>lfpM-`g92mSUNsE8{zpE+klxpAMh(&UnHrmYm@9HEai$^M~ zS};9S@qKHJ|J?gOH!IP>db3ugLd!?*{oi}v-pt@Fg%VZbWTWFCP>lP3_fz+m&Ba5e UG=}f^V1R$hiW&;#au#9#4-(O*yZ`_I literal 0 HcmV?d00001 diff --git a/packages/react-frontend/staticwebapp.config.json b/packages/react-frontend/staticwebapp.config.json new file mode 100644 index 0000000..cc56cae --- /dev/null +++ b/packages/react-frontend/staticwebapp.config.json @@ -0,0 +1,6 @@ +{ + "navigationFallback": { + "rewrite": "/index.html", + "exclude": ["/Images/*.{png,jpg,gif}"] + } +} \ No newline at end of file