From 82f160ba6bc23d187b01be98165b9d1c49830bd4 Mon Sep 17 00:00:00 2001 From: NexVeridian Date: Tue, 6 May 2025 19:10:53 -0700 Subject: [PATCH] attic-compose --- config.toml | 2 +- content/blog/attic-compose.md | 95 +++++++++++++++++++++ content/blog/welcome-terminimal-theme.md | 102 ----------------------- content/pages/about.md | 8 +- static/Elijah_McMorris_Resume.pdf | Bin 64269 -> 64468 bytes templates/index.html | 2 +- 6 files changed, 103 insertions(+), 106 deletions(-) create mode 100644 content/blog/attic-compose.md delete mode 100644 content/blog/welcome-terminimal-theme.md diff --git a/config.toml b/config.toml index afa3062..b5cca3e 100644 --- a/config.toml +++ b/config.toml @@ -1,5 +1,5 @@ # The URL the site will be built for -base_url = "https://nexveridian.com/" +base_url = "https://nexveridian.com" # The site title and description; used in feeds by default. title = "" diff --git a/content/blog/attic-compose.md b/content/blog/attic-compose.md new file mode 100644 index 0000000..96b377e --- /dev/null +++ b/content/blog/attic-compose.md @@ -0,0 +1,95 @@ ++++ +title = "Deploying Attic Nix Binary Cache With Docker Compose, for local use and CI" +date = 2025-05-06 +# description = "Deploying Attic Nix Binary Cache With Docker Compose." + +[taxonomies] +tags = ["nix", "docker", "CI", "cache", "github-actions"] ++++ + +## Server Install +Install docker and docker compose + +`git clone git@github.com:NexVeridian/attic-compose.git` + +See `/scr`, create a `prod.env` and `server.toml` files + +then run + +```bash +just up +just create_token +``` + +### Exmaple Traefik Label +```yaml +traefik: + # ... + command: + # ... + - "--entrypoints.websecure.transport.respondingTimeouts.readTimeout=0s" + +attic: + # ... + labels: + - "traefik.enable=true" + - "traefik.http.routers.attic.rule=Host(`nix.example.com`)" + - "traefik.http.routers.attic.entrypoints=websecure" + - "traefik.http.routers.attic.tls.certresolver=myhttpchallenge" + - "traefik.http.services.attic.loadbalancer.server.port=8080" + - "traefik.http.routers.attic-http.middlewares=redirect-to-https" + - "traefik.docker.network=" +``` + +### Cloudflare +If you are using cloudflare make the subdomain DNS only + +### Check if it works +If working `nix.example.com` should say `attic push` + +## Client Install +Install `pkg.attic-client` + +make sure your user is trusted +```nix +nix.settings = { + trusted-users = [ + "root" + "" + ]; +}; +``` + +```bash +# then login to attic +attic login https://nix.example.com + +# create a cache to push to +attic cache create + +# use the cache +attic use + +# pushing to the cache +attic push /nix/store/*/ +``` + +## Github Actions Install +Add the token named from `just create_token`, named ATTIC_TOKEN, to your repository secrets `https://github.com///settings/secrets/actions` +```yaml +steps: + - uses: actions/checkout@v3 + - uses: DeterminateSystems/nix-installer-action@main + - run: nix run -I nixpkgs=channel:nixos-unstable nixpkgs#attic-client login https://nix.example.com ${{ secrets.ATTIC_TOKEN }} || true + - run: nix run -I nixpkgs=channel:nixos-unstable nixpkgs#attic-client cache create || true + - run: nix run -I nixpkgs=channel:nixos-unstable nixpkgs#attic-client use || true + + # `nix-fast-build` is faster then `nix flake check` in my testing, and has support for pushing to attic after each build is finished + # - run: nix flake check --all-systems + - run: nix run -I nixpkgs=channel:nixos-unstable nixpkgs#nix-fast-build -- --attic-cache --no-nom --skip-cached + + - run: | + for i in {1..5}; do + nix run -I nixpkgs=channel:nixos-unstable nixpkgs#attic-client push /nix/store/*/ && break || [ $i -eq 5 ] || sleep 5 + done +``` diff --git a/content/blog/welcome-terminimal-theme.md b/content/blog/welcome-terminimal-theme.md deleted file mode 100644 index 2437fd2..0000000 --- a/content/blog/welcome-terminimal-theme.md +++ /dev/null @@ -1,102 +0,0 @@ -+++ -title = "Welcome to Terminimal Theme for Zola" -date = 2019-02-04 -# description = "A showcase post for the Terminimal theme." - -[taxonomies] -tags = ["zola", "theme", "showcase"] -+++ - -Welcome to Terminimal! This is a theme showcase post. - -Code block (using "boron" theme): - -```python -#!/usr/bin/python3 - -class HelloPrinter: - def __init__(self, thing): - self.thing = thing - - def __call__(self): - print(f"Hello, {self.thing}!") - - -printer = HelloPrinter("World") -printer() - -# prints: Hello, World! -``` - -Inline code: `print("Hello world!")`. - -Basic typography: - -*Italic text*. **Bold text**. _**Italic bold**_. Link: [click me](#) - -# Header 1 -## Header 2 -### Header 3 -#### Header 4 - -Quote: - -> "Theory is when you know everything but nothing works. -Practice is when everything works but no one knows why. -In our lab, theory and practice are combined: nothing works and no one knows why." - -Lists: - -- A -- B -- CDEF - - Nested Item - - And more nesting - - GHIJ - - -1. One -2. Two -3. Three - -Horizontal line: - ---- - -This is where the post summary ends. - - - -The second part follows here. - -## Shortcodes - -`figure` shortcode: - -``` -figure(src="http://rustacean.net/assets/rustacean-flat-gesture.png", - style="width: 25%;", - position="center", - caption_position="left", - caption="**Ferris**, the (unofficial) Rust mascot", - caption_style="font-weight: bold; font-style: italic;") -``` - -{{ figure(src="http://rustacean.net/assets/rustacean-flat-gesture.png", - style="width: 25%;", - position="center", - caption_position="left", - caption="**Ferris**, the (unofficial) Rust mascot", - caption_style="font-style: italic;") }} - ---- - -`image` shortcode: - -``` -image(src="https://upload.wikimedia.org/wikipedia/commons/3/35/Tux.svg", - position="left") -``` - -{{ image(src="https://upload.wikimedia.org/wikipedia/commons/3/35/Tux.svg", - position="left") }} diff --git a/content/pages/about.md b/content/pages/about.md index b6c55b0..481ca77 100644 --- a/content/pages/about.md +++ b/content/pages/about.md @@ -3,11 +3,15 @@ title = "About Me" path = "about" +++ -I recently finished BAS in Software Development. I'm looking for Software Engineering positions, I live in Kirkland WA, I'm a US citizen. I've contributed multiple substantial code PRs to JupyterLab and Loco.rs. Including creating an official extension for Loco.rs adding OpenAPI integration. I have several open source projects on my resume. My strongest programming languages are: Rust, TypeScript, Python, and I also use Nix for a lot of my projects. +I recently finished BAS in Software Development. I'm looking for Software Engineering positions, I live in Seattle WA, I'm a US citizen. I've contributed multiple substantial code PRs to JupyterLab and Loco.rs. Including creating an official extension for Loco.rs adding OpenAPI integration. I have several open source projects on my resume. My strongest programming languages are: Rust, TypeScript, Python, and I also use Nix for a lot of my projects. # Contact Me: - [Email](mailto:nexveridian@gmail.com) - [Calendly](https://calendly.com/nexveridian/main) -- [GitHub.com](https://github.com/NexVeridian) +- [GitHub](https://github.com/NexVeridian) - [LinkedIn](https://www.linkedin.com/in/nexveridian) - [X](https://x.com/nexveridian) + +# Less Active Accounts: +- [Bluesky](https://bsky.app/profile/nexveridian.bsky.social) +- [HuggingFace](https://huggingface.co/NexVeridian) diff --git a/static/Elijah_McMorris_Resume.pdf b/static/Elijah_McMorris_Resume.pdf index 18c013f6e70bd31f20e40d0e66fcca62f89f99c1..53ae45a876b22e4ed2c2d1467870a11f248f0fbc 100755 GIT binary patch delta 23237 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 z z`((O}S%%a$0DwBZd+lQfu@v_|iL0adn0A#p%nRCtV;rEYJbO42!P!ALZY;kno;{Gr5Kah`1 zvZ&!Lg?UGQl^(A;j=K#*`jA*lL=OeQVHD{!fGJ@YS>iJods|>U$=)bNT|%#98b=*< zE(h-t@S`MZ3C$$inZ5ffq#8G9GcCm(*LcP)HO18!y@IsL2XD+uZ8iWnQB?m2a^w<#w&5pBb z6kETR_SrlsX83x$SwiS~-%44!;f`)->iBobgRqjC+ZR3-i9rr5?1w+1(|y#Y(7=UP ziE!OLYi8r%DRAD3s7e{O)Inp#i41R|>ezNn)RVggTF)o35c-h z#jlpGzcM^|kzZz^0%IKw6!SA|gS~D*J7wtYb@z5n8!Qv?B5l%W9NH$ zvU1uY4Ew!u*$pD@v-n5b_WNYRy)N+zjSNbEvk{2#v*AZ!ADC@g&F?!c&6Jot(D6gx zam}0X_XQumM?#*nRz_LRp@12PplARHYy^7YsHkX_JuQ+8Ut;gu`aF`Gws&tB(btx%`84h*@cl)~{jWZo-8) z&%N}9l8-GVjfe4Gmsq%Wf{rUMRfZbUWlG}wVz7AC@WKmGSoPG;*MV^ehAp9U7dWkKiGk)rwxx8{IeIMJd9 z%YzmP`Rcf5+o3;ind_r;=N!=caLgB4R<}7X!}@hNoCJpo?%9{ueGx(QHw5ywfXc&3 z_-ULYD$eU2gDv8_KtesUI2#J-AJC$!HYmp^I-CaTml`B$TnO=`X~Q#1b_srPT$|Xl zTNccx6~Y&Ln+72bZ>$sap~w%b>(Ruub=fsq zZGwELW^q}XA&8kWPol!S+;g&qq^hRQkT8 zr4iNRFb5bae1fy5p90#3z7ZdMh?jUqiHv8D0?L0N2s{_>zvb=rzlBguZT7d2_9NeL zjn5`~WigIrbva)V^5WJF*#Ee5)Wbh_cGPVCudUY90{^&P)rJ3K*8gGVZ^K=hN|xv0 zSXcae0VK@5{*S5ur`tZG@5+Bo{r@Vy{BMdASBM<1ToRT6r%f@31P+SBx({LXf=t3cI8U2ZVKJC}Cg zezD7t%BovC$iK`oIk~Bz5C10D41jUXHcvk422Jk5giw!G-(2ZFWHEP$uP9ZhD2M=c zhwEEBFQDYFd4{FJxO=?s$3-QZw`#CwgEzux5~4`qKP)T#@ls$|PU7_CGQlOP5qa=c zO`@_s)7=ETEKrIePi~WPI0<@prkq!-=onYS*@JI?3{G!kOH;6m4wXueB6?siKN`nR zp{^RGL@ayZy-?@!7u|Ir*@*b*=BEG}4he<_%!z7YQ{sYlp}ZEG1yi#Z>Z`CG5=u7P z-}k`SA)Tmlkp!Zss1wxrZVU_5>mXXa3V(ce<69@Ms3qWoA&@WIo14YpALFGpzn<_U z?trpoU~TCb&FOWpa1qzOl*V0NyR1+oq;-eak=o?_rL2&04LB|!@n~}+#}_%O6}sM2N%|(M zly)E)cdw)3>`hS_$SA#MGosy}ho?Y3a~=JB0>u}Z*+9Le4VE<=+Z0-W#?5X5fX$KG zIjOq0Y7RoL+WLDTMLhU9;tRu$vA>iF;C~XBx8W7lC!oTy16m7d$6T&6hE}yMBX#FA zI#S7%0}-@if6+#)&PiR)NmW(Hw9fmZqb|;;!G(nln+go{BzHl*il*HQgVcS#TAw^%el)P$Z9YZyEqq*YeXV@nT|H@=7Cj;mp>ao> zqvB!8$({mQfUP)`HwIA!0ViXhx6uwCMYo-x#=-Ue<&E3RooXOu3-jX@J`b<9@z(tn zROuwK^3(9JyrX@d&yW&SCEfS;a3soOIY0+~%IG>%fSKQ^WZ_AhfftOQpN*X<*6Ype zgn)P+KW_)Y>)e>2%n%fnJljw@BPYS7^B=rL#3s%WzQOEPsb>gw4ZB*qWa zv=lVZD&tp$Dyyn2%`Yx+h%WW-MorM!Sgr9a+8v*tUamB>a@77_d&J{$eIT3pI`1l; z!E&qx=mVECj@1w)1xUX7-{qEPgIu>?CW2gN5fYA2Z;M+xcLbr|T7~Ezyv)LHtYw&F z);zM>=lIvg3b}bavr5f-Ckv^6D5pu-myQ?h>yJv|vt+a={{WGM8obNuSZCzm$=FxK z%Iffz?~QAN1yw;T$(!0tksv*%+Lt1IMm;?T@FYn=sYa)S1R{BUDCzHIbxA2Hy6Mrz8t%l!+-O7J)EbAM63Fg=U@{J%LMSo|{4^C~gY$|5 zgg$Ujh|n&i5EDDa4OAVGz+RrYAoecz(oJ7TbMtDJ4cEdy|7%V)88VKMkAjb>b+|S zYJvr+=e9QIcqoRV!rl`-LIqGIO5ZO4osNqQ!`zJ@2avhi7k@;`o{KiQlBnTXLJOI_ z!cfDDDP65)fB7(PQv^*2VymTxTO&0^JQVymK$k?WiAPTb zU=pi})>V$VLSp^CxAiNPd=d|;FXO_E$J?Bqh*6;t?7iyu7cW>wGAq!suW=LurrxCv ze>NZzXF&4?F(gc0ju>0d-knfe&pw=3TXEiyR~szOuI#&e%2vdU*gHlcj4IOTzt~s+r*c5})oHy!B3%urj~Kh*N!rhX5*A z3vui%y#jWI5`-9)H8m2tT1z})d3pG|wt8yuRE*+18u$0wmff5J+_W!odBvy)uLEr) z_8!Ui8r#(4q@y40X%(;qpr1K~?6J^3sMOap-*PbeR0-=dU>xa0JNFBm8b zyRIyA^l1{INEva=u6~4iQ2dZD@WjN55e`V>d^{vQoEMczXf` z%#`L|y@`Uq?j~wnc_V>o*fakOM(BIjAR#v)F(Da(Tt1k{exDq*4 zGedXUs@-CFq=Y~ogY`hg*$r@Z?ivPR}ap#)`tLSfhmX|Bk4l5i{$=J z_}1X15wvKoRkT&wQQl&i)IeFk>ws+eN2%f#Evz&rgz1|Q?s9_uC|C)b)On+XX0HbC zwL2oI=y}zmT!r+xKu-wWmrljcBDq9KIs^}+0aG57S==)yCiEpexy7q}GEj*#bxlVw z+7(jCLow07X+%K!MF=rpjY%)em@()qlYa1rM@_lu7+<5d|02nvfIxnDk!| zbFzK2{?85hzaZiSUlz4L1zDE1hpGwMM$Ads1`r8_?8`uwCI3B%+D6pp=^^Td2gpUMTL$Unt?2l-w74QZa~A8F4=Pm(Dy?~Vrn=?#gn?2izC;PKM(#&A@bJf0>H zAS(c8%iCM)vMV4qh9u*s7V{I)lyV$a1SMR2p51(y8q)x|wXHz;jQKCrNE9b>AUsSn+ylf7u1HY4!LZI)IWqvNVPJ7gNo>6lg!|gQ9zBR{v=kz)lkQH~8pD=#w^=mH*_Ye0!m(H+M zOU~~$q#vF+afBXE2K}k}>U4j^U_+aqLC-f-!P1JSQS~Y+){H3^H9C%t+i##FG4z)gf)gXdxt;$0dxVOVcSatAH3t{#9UAIy1B|m#R$b}_bexm7 zt+!Tjxh_j8X6@5}O{)3MYk0n&T|eH?L@Q^=VThbydn8he#C<1IlXq;O$LmV8;Ahgv zqA9~q#9@sLv0->I(a=2nA%sGJjgqCZB**o>C6tTc}_}rTa5xx=UEqS;~|8+ip^+zaK4gcy38*7Vk`iT-c*BJs~C( zoP4tc0y;}%xHp@#czLpH4k zWA+D*E(4-EJy;tuQ^J`n?14I^%Jv|hJDMq+&0OFus7xF&-$yvto3*22Wk*l41%hkh z+m`ZT}#Hlin=BN3M`eF5Rgw}OJtNL~eea|zczQC0`YUg%U5Vas_a(}CF1epu7{ ziVcbbR6cv1{Krgk@`=;+f<7HEWQ~VbfL6eJcGi_?Ad< zjAKdYN{Ep+QcoQFitjSwD&pgcTrR<;>d=WM{O6$}>O_WsMi~yeb=a8SW{oSeWNIbf zX?uk(B#kPJdhfk7BA)mJJB_$@)q>Gos>~~G5UfUxSndOtPPSo1&)6KhmS9xN7&UPl zVdALtpmul_lRB062ZeZ>-6>5q_TMgno7!1r51pqO`}Qr??pv`6JQ;eY2?fTMD|r7$?faKBEW*OQN)F@`=BR z2NEO3gl|)BthV?_b5Gr}t$H$9RX;OUg?ep^;n#u!TJP?!fP(?Ew{S*kI;yf;m4m;y zF6ApZQ}Q{&+Nre?zGPXb8qARL(wrEmn6UxM=H`9?=IA-@;%3hVg8Kambk$jFY19zM_t~h=##-#5Pq|C@)$p=<>$T_5q1a|}tn$q@6w}q>A})mD zCFLqTj7xzHKHx2NQzQM&W>KMT@GR__d%IrC7vc|ujkOrwl70VM7zg4Z8fAzSZFG!8{0dw32YJja%|UU3n~#tai{8 zQ_fR=^2rBd8d%3upx&N0ATnr2xMw^XP;8=IGHT*i!T;t~bkpV;`Q{W*9W+TpNOK1W z(?&HBp^vDqpfjT1+SZIx7u7m}iFaghoS&})E9>ey8p!wiN5(kLj_8#`XDXV1aFnl+ zm6!vmEHvoFq$M!VAyx?L(1^BYq1B@!cXVFxf2go-_C{mz5*MYp8(q-L9E3fVO{j2j z#a-Ua=~%sfXu)w7({i+w_SBzDUg5TUP7J-d=)HfOzi|AGgm1NRech1b%l6qLfDd^C zWP#I{I3?hHl#Pv~xgaXKP2!iTmQT*XbnpnPwRw&EnUWifA`poX;7RHombassW6HMi3!j>~Gt% zRlc^@H_Q`{vFZNNW*$URoagHJWo##Q!4`A5>AhvYQuNpxzq(okx0A)O?R{xJHEEpF zz~7uJfRAH4Dc2Q;iz#u5U6a%_(=|S#+c(xQ6TO%g1yb2#wyUENIji1QTD#NzD4}pR zDSwvJhZuo+F;2sqWS({M*!2ZyZQ6|`GTojx#n#tNr{kIDSPnLkivL9EOm_T^Yy-*w`l;h7{KF(8*_tzMO^Xp7~1DBYyHGYChxAe>LcZ_H^=T-G*sa6p9W2g%XB zFEdLeyp{RViA;x?OY-62(W&Ut&Fc|-6mX*K z*{*u)zvb_aBM)->69&R$3~INBo?BF3L0UZW7IzR-NvH@Jt40WDIzFLa1Nuzb!X3}O zZ>Q7QLbBKYJ~@RfRdBtxcF=ihy5ak1KE=Q3zD^{g=w)ZW+=ijIOiA~B%z78{$l0wp zdYEaXxiOI8!ww$J$tiH1OVy~wBg{esaj%z*5%WX!e|vsUV>y=sUg6F~z!zEilk+r{ zF)FJd9C^A=tJZ<bA3(;Thl4%bM9a3(Ic(oOpiz31{Bm za=&bEm(WruVB5b5UX*dMY4v1oGwM5({%v59Tka#(QbYpudrI;k+_Pt4mRUvjy=ueQ zv3yNh67{a*%TO{El?&-Dx^>g!7*WHHqR{M$mtFvRV8z zQH2&g@eDjL7^Cat%sl1{5Dhzl0!X$RTD9ySE`&GIDxe$=AhPY<3$mlT+wFjvgV#DIuvSeihkOCGN`=EilQCuy zxRCKp?T!^Z$7dJYt=&lllTuc!mmbL~1x$o>m{$C}4B>t;ycbihVVGzI!$jx`vBYeZ zqv{=rMCw3|!$L$eu3e^3B!s{keX{*jwGAtWIvDIE>HKcnMUx*|cgD+=)5FHp?&$|~ z&BZ{qJM9OX>IkzW`v+*hD0*Mv2iZ(JHIBDFW}9anJU=_9)0p z@UdSj!eM!^8@IqIt1qiy;#jvNW;1ayj#b=UHR z+|8w-jYdumDE;_^J2*wN+UAfXn@CuS~5i( ztejzL<`xlhALht16M8>V!m&M0=(eFfR2(R!A=VMfdlhvm55z^iuSss!4#}zs5*oJu zvDWmVe@29evpe|W^s_7EN5|1om(jSX^L*#`sj*pu_uubxI+{wa4(nF457Rm)1c`w1 z1c8Y0=2{p7G&lHRN7gvcQlPvAE9N%~e@2u5c8&S?907fLon2DO^FtZ&EXWkaLhB~E z{VDY0Go<74!2545ev|L9_>7~jSa2Ga%KlQzCTKJipXK%A=iRcqM!px?$_IruWoy^8%(_1Wa5;t1?#`=WH=!syAz3 zVfgWPD^Z6IL8xt2)P=^`L56sG{2mF(JmDQSfwVwcnnLr@deO`jZn!3|2^ZZWF8|P$ zyNr_#P*3qE-zDO0J^D)&O%Z7Jj{@ZrjZD72{i9ADm;o+g@@-=!8pw80Xx#R~VHzk>Q`c#powXh8(Er z_4fb5AHO+GyGGutBk-9D#w2&;{EVa?&FvF5%N7bT;66iXEgtH)rbf8VI`tb6#{R=!=a6|>T|Kms}fB2*F=VJdR-WR29<;Oa zY8-2-YgRI=Q^@pn=dRN3?QLrDE1czr<+!5fnc~4F@278{ahrfgDHD6=CV_fabFM?h zhE}^lpj!owfj2OQFX~PS{#wY?HVBhmr!L!B97%|Il|J3!fj{cAIP; zQ5_4zCBjWN+UG85c$Jc$D&|C$@c4I|dFm1@JDd0A+WCGtZf8T~@6^L%_L>eGv)8@4 z^XrcBMOA8fjRo-2-R-ARE=^N;m5Wj$Lqf$tMnl{N!IsDAh}RWK0v^S8YMSq| zF4FwF6Tt2KV$41yjYeI!t zzrOq4kTzZ0g9N!9B5N{v0MiSpxQdrJ|} z3M&1~ecVGkx4B~&Tx6gS(Zo5F8cAIOx#E-UBHp)Xa5VU(m<<^m&m6AYoM_+llP;q0 zTDmN7zc5U9a;_x{62B-A0;7(Y*z`UH*_j&`6BDrP;*Vd=Z&uWRdxAN^eocCDdV_DC zR}yGP)s|e5Mm6$yNy*!*f1~5Sjms^A)+S6mPZK{Kh)p=X zE!YBGgO~zsVaZ*^ZepCO{QSKP_pCI;g8HKVxz0P8mEy1csHNH-!H%A~r1c7!>8g#Q zKN#?+VpMuDD-{&vTrlox0e7aD&d>qhKI(T>r7wq~dmv%TK{%K+Z^U?aryxT==!j=- z&L^FmT%y_jF6^JmA0)gIl_&`ZZsxn51R~oZs5RfGPo;$UDy114NfajN*$>5v#P-cK zwr3dcBta^yB%RX z7~K7ZQZF-1)&d=`Z9xGNa1RvzVosumf3t3vVF*P16tNPi*2mZatm=+zh0ouBjPiqVptwWzUJsLt<%R)@3Do7H;IJ7&rF42yw>eX0SB%x zliUxqM?s5f2qmh=H^W$5PE$kPba`B^{{Go&ywewzBOD9Rel zaLj|zZq;|kAo7S)bkWuOpP-oK(fSKX88GO}Q{rlDPiz9hNYmg{VT9e`VeAeJP!m#? zsP1VN$`a{g$K0fyt>_cuQMXr=FT4XXWS@e{hAz*}{&vy^P<8*-`6<%lU7In9|2^rg zF!^%1(JA4(UQ27f%>+6}M=OxebzuY5as56pgrxf%6EroATOmbsD8#rbWzB2r+}hpI z5K3MKDNs;qUr{K#vTGGZPw}R%ydR-4-N7bkl)T>^YkYDo&Lj`HI_vQ#!`ce!=gr$4 zPIl{)uH!s12_xG*ZDd-6WF80{`3$|n9%^1Q2v2Q#OKgbAbzahlSS!HYymXNmV7h=5 zjj=&;ohdj4ZHG;CiZ*9MrW+s@g(XvUApB|~Bbz)~)kF7((c$#|Yi9Y}57l$6uxny^ z=aJU?HFYsLF0EMV$o%0sQy~k!I}%(c#p)Y%?xbMbl`HM1mmnZ7pHn0r$eq_!P}V;OX(q&aI&hT!v}royabs4e#ovuK3z|^i~0SV zkNs;u;qK4r>FfM^f~)t@YIwL+mlMW%-;Pxm$#fBx^WfQi291*`s?$Pd+CdkEnYg#6 z$--^njlNLF)@hW@=?3Z@BnkyP89_KI^*Fb;Pe~&&=2HfYQ3i5`VbEu`6;Jbqf^16a z1bh7oilf`;EgsOid3u>Xc#<8j&RMj$ob_m}$94qw*Xb7e)B~r?r5a&Twfl8= z%cVQ<<3?~Q_pu$DN9tum>?YotR*qpB&T`b+dSk|kSOLh)J#VZzyp?(A7-Hay>F1i+ z0`o~k$)b1;(22~s5e*}?vyH<|#4rDjkXXWNminpt`f4^eq_M=Bp@&W4& z|IWk$`nXWzFVb{xsTP9$L5~sIwB3c>|MW?tB>zNxzCwX7H??V0JL*$8UB_IxYgUK5 zL3hFtX$p9ec*kh4eEF6R8$YI%_*8~Py3!q6;*9fzJgb$dy!tLXFXT~ApRD6^P#7C0 zC;Cd;>Q;gZw^Xd}%xv3w`|bJNlMa2~ciY|1VPpr`*o|wn3mXcUYmb8`> z!iaX>`(9dmLK5(^aww^|UYDL==vm`iIc+`OVBB2Inl7qz99`nAU8R-qoY~-2d@N50 zekX){qx_(Lwyy#3BMi9^N_57-(7C)D$K1Qoj8pJw(C>V!K&eK=1CA`(R#N+TlX4Bv z27z&mWoz${nZZw;BHcKPchC%*7N(C|x~9k!v^3g`+-D)v$zQK%^)8;RF4T3;y*z=xH=}uKK4*0 z$V%`*7nR2MwD8|oN}bt02TT9(wH&mb)&ia`MO%ZbSx=EFN=KJ&M@~E%OH~wK_Mg*g zw$^R^tXa=IISX9N#W66Ce3)eJ1bK!dKggRRpfVU)=Yj%B(B#v@m?50xXrb)+;~0zA zOY^5D1R{V;`hvw>_x`p^3D=EmTT&!kag5onLgRBO#s`0Me&lE={p)%2^i{!0DFCr2 z@0i@c#*z_+P!aOqVFi?63DpZw{7H6!*AgzC53Lmj?5M}5eHSB==~0HPW9VEcZfbJG zc5Ji(<5HqdV*YUCcQqO9j9;}C6*MA3BgU&@F$4Gy!j;mUW-0+RdE}u|$RJ0vThvg`7icQZwO4et^0c77f^T z=X9<#5v@^`|ND;#-@d|*$GUkGRZhiAY2r5f>{R2Ak;vN9>f#aS$}2 zG}G4cgLj1&-}Qa_RxrS5;YDnl0-IS)Nc5RVu-eq+R{Z|*HyXuStnWIL!6G*%Q=@1 z20}lrGf&|UGGU1wT+nv!93TkyF4S1fVGPfM`@Nu&gf`$efOXoiSPl$M5uhna*?kyWDV{hY z&#nwibK7&W|0dmNtlO8czAZroIYoZ9AVO?+9QS^})b=`R#;un2b5SFyyo_>{Cs;hv-s37q$s;g1>8sU^vggRgtXPs>4MFJiLQDD zNvFdLP86rZ5P_@l5lCyR?$U%awHG)=RuSGbF^t|36a>TlX{9A))T#{YnFCAv+qm8H z`{o8-U_Wf}rt$K=nqIN$JAimX5-udw>XLuYJhk`e$!DGY3~!J8>W2L~EK*oN_7O)HB+BQeS+2yiYsE?= zsvDjMK3QDF!P!U_f}>@JSz_CA*ptO`iC@m{POWotRRS9QMw!9W$*0&sbJ^+8MufFj zI)0urprpR&I@UDdDkpxHE3_aF=uzU$rk%W<0g&k%5HcfWXR;WL=ZF{3cRwDxOEF^{<~OrvV;z056o;UHJHw7fsr7#mS`x=0^0n;4FaQbu8*Ztwk4dR!5l>S=UeKrDT^h51$Bf(sYsxQD(|noB^;HDXMHK7jt2#n*j_vHObM075psmsc5F z15TIqBe9;DDX2u-SvA%67qB*Po_N(a4fqin;xH*l@*~LmN6E(r4xnk~(y)PAmZ50z z>fXe75nL;{2gj6|LDUil`*Z8nIaCxGc!?0!7_{daw6oX`9+o?BmwT(0SFfH_+^ifk zAr-P99+Ohy_?uaOTKXH-BPCjPT_|SoADb5gWiTy^OifirVfu^?73FV`j$OGtz^ax- zy~?BbS+lZwC7RaZP+N3D_@2(j5=D3f%91MwDKWbi>C7}CaeKNMs2WGi@dBYo<|jQ1 zEK;z5CM5}XlFkqQ@pjW4@6-FyG-_VBm%V7OBcy65JzAJ( zXfSUlz=fXl(um883fdy!#nhNV)GUx5e5N6_vCtMRL9u9l8mEy(oUxV*tV3xNp^_}2 z1Qea$^~n5Oy|et)IjJ-cC|eF8Z27Fm|1oJ6w<=9newCo+b2dS__6wC^1VOdbaSJi| z^t^4Otv|@s%j`Ufg6ZhM*lanuXTV>*JxITKdwadyQd6prSs$`0adLgX+3oHg5ZHA1 z++cu(_1f9E3+eQzD?Hd&L+I(i;$`ZIVU1n?S3-X#lZDhx!Uq2W7OzM(0DCQlDLI8! zgu*LMvvC8UWRYeca-y91@1^O#PcPF?cK$=hL3c|@D`LI0f~`CTy8D0&KQtv$?18hu zK#vrAVwV?ZIxENE6RDI`x$`Xq562y?laL#t8yF1H`+f9(&D@_bHTubffxsgiueYk#R)WFM9PatmTBFiRhM)vb z_A;Jptu=gLV~y-0KO=n(KDOpzo8OYKc# z6WdAheP%<7YpVWveZ2T7nXAmxYHD4Z@8#J1l~0-jj+HYyOM0pcn;?>_n&&}jQ6-ae zQKPOge^VdmdNZFo7ldf!(wSJY`vHf?d0DZk&fcNM9npH-bbWx|uci>4T-USD>HA#u zjU-w-tKVTD>8_#P(EHfL8)Ay{QY>FcFXjlAwqN7g&Wk**ur zl`OzZ%$zMJj7ZXtvm5f8fck6|%+r2qW76>sXOF`xa2VkKSX{hU$cJF*K}hhrk?Mvy zhwBE!0_2Qtv5chWCtA&KLOX-K-hBxZ(PM6vW`FslxY0^#PN2p0r`)+y%9*L>JGD*p zhJ7wjbAoHCJ|~X)iEO(8WmAdXo;Ou%ubQ^zoY%^~1b~Sd;N|D9*5J0usGlm&9T{m) zlq(lQBKrqW%XHiMcJ)iWo4Tkh6q+#^|EG~FkEbes|CKF!BV|iemXtX6?5An0p-@bd zC26rnB}qRPROkn3YIe5Tc&;6hIfmO-~PR}o6SOL z(=cU+!5cL>W4Y^Bn@Ha7?Gxu#6*LrxUK{I!_Al1@zH>aJ?4ab24iSFoc!Pmjd%oAp zQOWJu2{r0eQ*jgb!sfSoO1I|f_H;cKm$+IG@8+=R*YNCW?IL@f44=WCowjiYLf%-1 zl{Z2yH@7F8!ASEyUMSC_mhRjfXE`yH>D}KxRryB$-10h~)th=Vj<(5foKl>MpA^kC zZWmVXEl!*h)cQg=(ITqqM%ZSPUyY*Qn29XNxBSh1u|Zl)qZoX5bf6~o;bpsP>Wu!O z$zLYN+b4RhG|lC&*InMw$;>^jD0cO2l1s{Y^ZurXA5>iJ=2q+}-oce#Pt!XsbgG9T zIiHt?yt9AQSSxmBuX4V^D~p*>SCD*v&7?<)7t*p(W$i-ug*92;8S}@?JXDHB6es2; zRka(tSW*raQ@Skzqg%U#dWwf0S#QSY23T8N>ydpHeLmj2vyA`hs+!C){y-wLtsq=NFZu-)~`aAIj zNFXFAavpIErx2S8lo^ylF@^24c?sERtdgY`lY@kra-8#0gsK;pYy}c&8 z44d1H=mj>plUYi<0?2#G$}`dXGAkRmdDuUWvPz%&C1cEVLgI`S_QST8?XNdFtk+-5 zt$125m7|--b&_-a(={cG)~z*u|BCLSt@BsbE!WE!GjqG(=XfaFZ%KJvW6a?2eV^|A z=k#s0Y-}!hwnptv3d-hf*x>kAYWJHzHuVYjZSOmq-(C;9_EiUM+11$Eb0J_yQ_1h| z9=2ba`uRgagiA!de5kv>(mPBiUeAk{_QXriCA2I(U)!GcD1YMhM0^AvcN$L`p|c;i z*ZFokru^kt$0g4%ihjATI;lDY8jX~R9M0G_uijh3@A&FQsrPOWFQhVb`LgRpf$cIX zZ8z^S@?GP$q8Db}Ha_avWjJa93B06r?`Yp#T%vXdR;%)o(KcK1RO^nIYlWto{qg+3 zYbg@4l__UBEKC2cXqu|HEWurQXZH{taLM{8wmgAH#EZJeuAS!@F6i>BlcS8~Y{#W{ z&;j2PLBv{b<(&>0cywKkgy-XNHT#nhPpZ`IkC?kEirS_-K5^Dp@QB`9EVye<9ie6) zF6>6f?!=PMc%RuRsXg^*@OVx64;jT~?&LdzC3d!(9Apls%zH$~Cs0o*PTW(1t`2zH zo{*?lhAmc5R$K$GE>&KXq|k{=ZIIreEU(ygUUTGu&l~22apKD4L`9{fb3Q^vCmWBX zg*00i)9oD%vIGL(4JZikQPPMUIWDOts9$i%V|S3hvx=RfwxoFT>bV%hVlHg|Y+-j2BHT>T+DAqmvUZE@AQ4seMm-(6e3c7h=MUU)0bSOB#l4 zY7}lcRJcX|9+bRs&fo>p_1TPZdCid}`$$S}^?~@y3$vt-^{lJ26f8P@?p)35=g-4L zq{|?t3^KG29Bi#MfoHFZs%Sj8>g4u`6ernttr1!ibfvL{%SLI-UpCfRie#Eq9i9I} zaTI|bloih29{Jp3&W7}I53yg;pV1wh2dYws8fX2jD0b$ww_}IcI_tT$yxC_3E|;fr zH5%m2k4h;Wi;>D#nRumk-qft);y0mYjq_Sgjn9f*bZlH=s6Oo%Ydy(Fva3~h`eZ2t z{h@i{*5V-f$W2nt)nw@p&>Ty@i(lzi2sDpC&!4_Jg}s^u%rA5qiFSM^^kn`JQ)liwy; zVrihTtZdOn$fM)1`wkWBzkPO?pyu>R0)k&RkXYZoqBGe)8^}5C?ne zT&wKUnxHD7#FD1VQ$hU_A6i%G-5PnlKY1Zfu88*cyn4(+G(<$OR$3f}#QLOl`>s^e zZnrV9#eJ%)X7d84_EA=4f#6yV^x%AYIWj}KoN_vF+!?`26 z>1XkgI;S7EKDQ9_$q_D;?N<5$)jyYu`r0_w{z+JV7(HPz#V!6ITS08Ue>XQhYK6jt ze5a=G>A@8VIKF+eR+q_s_$hfd+Unr&h4jqeSFZjq5+m1yoHp$GM%=Ss_jx#@)%}oS zA2l+$qheD{CX=#$0i!^R&w+79gYKA(oL-^AXdITJtCRJ=T{ri*!71`>blfu$Xr$D^ zVeh?o0dMZrs~dkBG1&Z~xBp`HuBIpM+-C>-VkhOtdGj)dS`Ivr&z|(U>=Jb1)eVai z8xn3L`>WG$EHJeviNS?CG6SC+%nU8E%uV^LEkN;IZ}ZLG=s}B^5S0Y-#xp8}S3=!? zQ|=}Iq0)kWdjYkw{XPG9W>MXv-D9@foHe%8kGr?+%N+kJ@%`Mf02SxmZeAY0^(O=> zUs`?A=HSU1xZbYUuVAbCwLKsH4ED98l3(k$l9A^rw0`o>-4AX3ze!E%c`x)wl$4Nv z$3gLJQ0VM!n}U1fb_N6FC}TXGmCZ400V9@T%@mOO}wjA0Z+29qgJj{ddjxy>P}iT zYuvR3CKKIitW_&l2)y132euSQ3-=bNhn;l@?>Af-*3uMw*xN!lDtSwZ$iUW;NIMTW z@S>G4&5f`X9(o*;CYaeAJS%gV@nMlniL4i~vxk#zFKhATo$P3DZMaRsv3`{!%_ZD-OhweLT*09#rXu6EW|Z-*f@og#VAr*QS2Zr3^^sP- zL2-6ELr>3Z>yPSZ6HMBZ?-=FA zn!IC=GlUtkeaSM%<(~W15koIGzg=#w>M&%riT&}>NPJr3jA|2By z$t-Rc{eNFq@H|9-@p+-nUSywV)2%EtmxFOI1Vb?<=*_omG&kO?rV&ULntrM7Qx*I8 zhCM9{G{24HfPT}-;rGLFgx`jtZ1VX1D1!6RM$gz7<8UZ`M-0XZz=nYVVk89vegq7x zhePlehojlR5S)Vp7vm@eoES&GvLHbKDBw5@*hq{7)*}#-22O`loG&7r4v?7UJs*T@ zS%5)PAPVf4O#nXvB|fEz{+xG$#Q(|3jFb>K1q4W7C}1N|3gr)wMo z2nl0Age>1c8;OA%6A-@*<-j0WDU<*Lq#y{R`J<)~>dOe(04W#&f}tRSpIj&efqADe z9LPIGq5oC{{a@Kp1PMlnBm6cL!U%qTpb&?{A0P^$K2d7=1Evl|sn0>v|1=%8 z{{pIqVh|viD2l@X3Mc_q1WEx?jp8H*@Po!M@WdD>NbE=gZh|3TFc<}Hf_;Uo7)eZ* z>@@zL;l~IV$P>;sY<^gAwrT+z4CWZ;Z~(M$0-wQ;f9em#rw1Uu+~GL+IZvO`gkxZU zY?lQ$p=RXx)3t2F0uDmZBo2^<_)0zrHbnja+2#b=*lB~`k7PxK-$qdX9F9HzXZT41 z0vy?<2-;vks!nI!T49xF;)rrS4bwr$(CIpO5Zz2B?v)!TKdcJ*1S`_Hag z-MhQ?;vewXXYd4BKtBGkHL+`@Myi(+JXsW~hdf_N$lrP|)UUP_lnBb_GzSN-c_h}o z2x~j92Sr$>@E39BQYJ#dT&j8|X|OLmR4_`socm%p(BlideH=LguP+Pf1FuNw=>Wl^ zFad@ebj?#8(i`&I%iC*uy5QII?b%V7qTkm*dVHS$-%%jtFNDSvx=dPNQQ z%kS^S#OnZDs}oF#Ae86J?Ze)?FcJIT=XA|t4Cz=!vXvE3Uk88Qp2 zfy3X*W!&4IJ_#QCx`M^$e1h&1cd0y&_7y6>;XEwAp_Obxp*`LYYaD4Z66;hR9vtae z8xSFUaBRD8%hf#S!lPhZBK4Y<-}=OJFd%&5iK;+>NnN|4I>}8?Tg~g$YTe7!a1a9Q z(-D%ey<@FFG9ADIb3hc_^FG5E6Xt6-;kU%Dk_X`})#dGUF} z3Xh}!C1GqG5+!Ha!7c^f&@Q%p1E}sYajGO8_I7u}wDp_#`Ldeb98J?{isllb_1wq7 zPl+wY=CQIX+2wA}#ltEZHwWd~c|o1?bN)pYq&Zj(W?*^-j9h(=3lIfOtkQ!-Qj4O+ z-B&58-a?4YI>p6xZG)a=CdJKJ{~r_hk6pVjQfj+=mR+cfp)X8E_Xh;`zW&CDlijA! z)@t&IP-r09%B@3tuHv8j7F$)>C4QfSMk8%|kc7rHC_B#@!}?T|hWN_t?M!W9ee&v! zg?QyZ$4AB5LgKgd<;(w=bXI2n;)p(qSMU5^?tjrj1>oxcgLAh22d*`=6<<;2oFj_e zu*Zt?-(tK;3c$M`Wcg>M9Z1{FYa^GgC2=hvk3rtH$w7eP_FS z;Hp{GQeHTe&Yy4a+zmP^Y8O5CjlMlMV~P-*$_X;~svyA#iE|4$uxW=Wv^&S* zXBk=2l_%+tCoeAIf`uefhen5gM1KGugnX}|X%D*LfmsEZkzbU}Q;j51ibpBCgE+%Xe`2{WQ1MsIjej?IF7)zM2iPl}qBvGjV^y46Yauy9?3LP4Ro0dh zgAmIo#F32XHI%mks8>u&>ravI{&p>vIP#`e7V46OQxY-^Q1Xa%0z2RS9hk=Go-%vP ze<*%b|IXtd9zKUmK)T&?6D*5*Pk>BLU-UF@H=yuP*E_<&cTJSk3KP2 zR{L>#$%A6JPFRX4X@rKxLqxAPhNUGy)HRYMzaETaj*bnYj^w#`(MjPKvXT1Msx#X7 zAST`Y4=`u>!3yd)w>6K-0HmTN?(XGg&hg#*cjYNj>iU-lAXikTuidE32 z3OX!JP+#yM>`q*VmWU}&kHX$OarAbi0v8&QaHw8BZZ4G|)U-paK^kQ~i{nzj$JyOU zsz4?lrnOL9q(fEQV;Z;d11drsA*BT3_Y81-ES2u+``_(}7loY>wT#~Kjj5hzg=p1I zi$hiIK5lc7l=SB*YU+zagkO14?bs9i710XEIb!-LS<5wJX4$yr*J0Oj1{HTBD`jiS zHOZ{-Rz=j!)~plg_NWV zfim{GLM_ua62EQo`T6?iwkV3m=hYs~ciJ@O%4^1}N-dG{ieG+C3oV7uLoP_RhEu3A z@&k9wocK&^+Hg99)ICC=clp1=E+>RSbnsQv%L7SG%^4q)Q=??uOojM?3c_+2y2v~` zTA1h3n1;z>GfD7v(-sf4pu&)mZ{8+~So$ei^NT3GBGa{lFqaYX)W~0j!WIivTO+V13=(3&;lLT`bHnp+=duxa zJr*Fi->`Vbe?`h;E7g_)khP~AuOcdmQ20%PoeNrCbI)R?iRzy5b+^Cm=zmqTs~1wy zq5ML%y7}(F0oDb>8`h~MesaMJ#f00bfb|xz@DaA|O!Ejaq3&I%e;e9;2ubG$>Jwi4 zSYND``@vf0JZ4QE9X3JAYdX0|nLYe$7cs3{UldoLQ*<>zBZ8R(V2#n?EnIMETD`^D z(lg{>dif0%CvDBZO@05pdUs-#R#aY0e$31?tt{|&SdxJ8vaz2!_=C`|88>_=1xt^K zr;0D!?xxiDddpR+Iia@VI+q(=%^5LLeJ)6LqPkIWN_Gho)IA(E6zphy!Y_s=#3Sor zv5L;EDuSG5;P#dka<5z!BS_j4Inr#4tQp;^@Ja zX#kPg-S0hDPJ;r}7(mRaNp_7^bjUIdl5skR6jw+wF}}fybJC}JYcYu#vYmx4)(-ij zLvLhEa6L4XfxoW1wU5hbDwl}?n#U4&4iQonkPATbt3s;a;2N23!4C_@jgUOs6U=q;z6fJw;VUC=} z?uT%+lSv@Nfm>0(7MI8Az`dJh%c7g129a_K*;q_4T^+J_pT~J9@9<#?=?=C^BrccJ zX!I$=T&ywz2-fkVrP(hmD*8m3JVpIA@+$u0GVmZEZxdaMRhmMNKWtqGxWB`g)>7+a ze`#Qc?D)OiPn;b8Wjzag5FMjI5+Z(f`ByL zP5SAD8|Zqk6hJR&Xn@pyKfH;X5mau$L$Ewsdq2zv)G)$1-sUFr)i8SVf>)w5MRn@) zyQZXemNBk({dj1*=DRT%Exo6iRWW=495k=@Bu9~k;${am6ZH8=a1{1+A<@PZ;FQ1oMH%Prq5Lg_VNpJoB0 z=CF?fDT&mBdB69<*|@u29)99+l_xnSNTR}0aq`0XL#DuJBL$BYzoEMf=G!jh*p!x> zqcUL|UhBhh+P|>;Qj5s^8DT(ug-zkwr2j1`oYqC}_|0~trm5qAHq4;$dL4AixB#t2 z^>9xFz#d@D)$CeaD`gQq{uv5TnZVB}eI9i5Oc1!~L<@Kil1WYPS`vhI~^s zI#Z6NV5WRET%Gyw(|8~@S>0^-krbX}W!omOLPYC|G?a4FxF@3ff1 z`n@|n2x~rNU&iiUd`#v9RL62v-MT~BVWq_!uu&7|#6GeY(viGWBhhj63@)N<7p4Kg z@LgP*R6F|qWzgLeK~Tg@t}43Yi;aF|j4k5SfA*_ZPw>`mS)@blcpgZ&@9&jAK#otuora+*0zOn+ z6@_?<_al1=O!1_J&jwD5Vw|o22@^L_wk2n+?iQ@~SKW#Jx9_4$MjmHDdtQ>?!<~KT zhDjWUXifFAQy`skC5AvXyd-d8>@Y7*_A}sB(ZJ*;+1RBxn1I zDK;{4Sd4o%+s-Oa-Ygtqo}&&>ZxW;vozL@2`C-6z-#aMvQM;=MO)Xm%ajOcwrVvhV z7Dy~=OspVg=F^BI$M&rVAe;K;b4K)Nu@vX!4zlN8lg&q*vawWB34;??aJtHWrAI1bH7T4(&-)=Uh}W6aqVr)NSFieDVSM|s^xMe zdg#cCj%?LT26-wS5ltQLf74hGO@ej{p$^By%JfaW)EmM7;)FUlW0f378Z?{cX%e?7 z`E6>ENE>^pi0EN^pp54TH{L0{1+V=ea`==fgD8Z>s7NAL0H<32;4e4vnB3XT{lkXa z%${rF@QSA3BvbKVWYGvnlW@m}J(<)ZVKQYi_t~WwRDB>{yYTKiA16yG=^o zj~eCV8GXs3v?b1W>d6zOl{0v}tOq#U+J{z-dU-|o5DY-xjC;}7mqtZNtr2Q~R6V;f zkkPX+<$?R2-0~QPjb_cTe`#p#p;O@2xaUWt)+#Q){)FIfsaV$l9f4>92FUCAWh!y_ zCl-f5{Dcb$A(Yr#h&U;hEF|4i!uDgmq#1tO5xxXHkM7D0tmN~QL`9T~I8Eq+^Whk6 zbYHLjQD`8-*=lY2TXp3W_Uj|_3^snzhuxSTn}opr1RG^d&HhrU81I%khbnVK#=^)L zv)>NrPU!KO)Q&ImS}p@YD1K=lM&r|A4oA2TaVtoJn-%V-1 zo|)p>LifgsqONSU3y<>_3Ax71KWS4%vLro#7c{ z641Ofm^<~@I}}m2C9P*f^WRT_gbt8z85sRj>{YG!0g}8qN}GlM>gB4|KfOd$bhF{) zvMI!~tD@>9x#4yjq6c*UBd-6olNUA}!u})5!`@){tlZWAqt~mze>}TaP(9d+)#ng6 zmeF>py@LNou<`?t+c zZD`Z!!u~+kVI>gAmlqbvZf+?Xn#(S4_IGN^&`Sg^{uENRM}u&XwHHReGnmu+b(CKc zj?+vI!ql6evBb!z7Xjn@yn3W(F==&jf*s2o1TlBcQHU9dSrg7_8GU$H%ZDsEEF zK+WUpG{g~ru`E~M<`6F9G&-sn);Z?kwg|7t`@xZ=Dm%%GOTgKTni56=l6Mlz0+obu z6^#mX-Z1NTOEGBka7<5ZCsB7}q-}AhRK6~)$_tzRvkqKLb75?OZxD;yM)KKU*eO@4 zG>(WO_(rbWeWr-dr3*@B4Y?utVz^s3XQ4gKY_uz2orRH&PM2QLDdWol)=qN&>qoMH zY>R0iw{3O_F7Vyur^E1|5hDfrekqH%Icg=9K@7TVGjVzi`yNQm%0@^N$>$B1Om!;_ z=YIaIcqSXJ??bK>)BFY;LbE208W-c#bi_nXBzVWwG$~|%Qt7U{XmtBMsmT^kWUP)@ z$*CQ{cOet;=Y(gI;O8SZjeVslYn_<8Y~aIH+b<39oo1EC%u;xm{SteHX6 z(+>%vYJjM}2iSKdS1GH@>)*CuYp62-e6j&t667t&6~9jiYQ^H!9X& z45Zefaj|QL-BGHe+DAt=ICNVcXot~SRY)m_56C*rp$w_lX11W66a=m;DD-pG&B zNkT3u{6RmILonF@V&_{B;af_GTXdSpf8VV1Eh>~-yz29Ix0hPk# zV7|(R^d`seg%XGBR%=yGX;Z2nO!7KC!wz_y%`n}7M|wIvxAexJ?wS-VUfze9Nx`p= zKhxeGZ@bJY1<4T-b$yYGDc3+chDFFMCrbZYpJ>D83g(Wd@T+`TC2r3Pv0~a4wjKUG#FQTeZ%=vp>9YLr-+~`fuYu%JZqoX3(c<>#OWib&96u&JZM$*G!t$ z2&R40J9-bEFfiW1`;zAC@14YdvFfPntLkd*%wp?eDY7>;HrL#oZnl+QLdef_vL0miMRr4yNvBt%AiaT)b7^7Ls31%zV1Lza$A+4Lk4 znn17O%6PoJ<6{*)p32G^A{(yxG;x{KUutVNr;3!xaqRb0$-V%t`x63HavwX!t`Yul zG8p=*n5JRY(SbD%k!P#k82dF+$r%XJi<9WXrO;0@2F-dF^~)fWpzMQVqt;iIWww>A zm7OCgdxhsaX{+deO_1PVBPMwaIkvz?zP+9x>Xg%X=mmPdd*@tPGJ#wfRd6zEJ{Yu; z%zYyr%v~4_wFh7q3x~Zo5oNyaFFEL$BWi6@H1g=o3>~(j;0oVJDGWxaI2kmFT$XF^ zqwGVeHBz1pDlZ+_1O3L&;qnqA9h?B#I9WQhi*Ll}FJ7!U;<+3Hs+fF`3)-NJIb=qo zpd!J{nmoL7GgD6k{=K+CXO}{fjys+BoD^{L=f;2kr62&-&Fzo-V?-(<)*@brx4RKx zIjZj4v3doB5wfD?YqE8UlxprvXVQmRpCWE{Aai4Br6VDDlabH9tB`GmhW6!t!G_8j zNpmt|ie#B|zl;v(mqwYsY#ZLJD|1B-X#0$D^Y66AZf9 zg_D>zuVTNgjlqxT8>k+N+Lgjzp`->Hs}Bv*J&$Wvh6^{Ez& z5lJ@Bu4n$F^>x?XOiK7u+}%PytbJG&8l%7((U^oD7>I@b<%)tlY9wVtmB_y& z0`gQUqO)=oDu~p7&_bQ<^U(7lWU?FsyAA;3Fib71%@A#)&I`GII9gbpw{KV4M&!?; zMg0+G;)I~zULX;UclF0o+l(eAz9Ddx8F!%~yzmgqYn3U`2`O;>4t1nRPTZJqydtgSM7rN+)Q`6>w%_}9Bk}7DP4<0W5q`btLU$b) z83&mOg&ETks#~TIeK4?tD34~;^sN58fiOm>P^tTGb3t<|*l`&Wo5Kgsa? z8{X)fey13SHNk|eLkLB-*jQ&!1Trolas~opatZZxAtY&BL_!ea!k54ps2ikIjdMEQ z6hNa>sHz%pYr+FMbli&(a-Kg61}O(y9Z08DW*r=)w4h*gUQnCcn;-%mND`_5CJKuO zBljJh0~K3kRm@1LAo?G|8CV|LZ}AV}hX_OW{svEDN5YJtv?^mHWsDa{0)z_ugQUS! z!9%b9;U38UJf;6Zn#B6ua>rYTB>LZq`9)}8i~R%hb_-w$RRZ0-aJ&QfU}l3wB88B? zQGoH_OKH*v$0b06y45I=<`;=X2E;+mCz{Xt9SVbNF{Qwqw*LE#1`6n~{49ZMk3)V( zA+N|2_76GbT&XZ7jTvyR?(Lf*4aKvW$*=gIua(&oXUCOHYX>7H3X zvqEK}+B?JDE%9nFwPj--$!@-aB@}@j6}#4Tq$1Ta(>s0dTz|M{x{!5~DNK=LuAoe2 z`B<F>(Sukbvg<$OAL3Rvp7FtH&J`7e=AzZmeo$hEfm|v!v2(B^Z z?l)gPH%T=&k*$@;8jRBVe%hEm21!)?;}(!F?5LknBC@4ARkszHz{o49aV--kCnk~G zQCxg?+W;Mxx1vhvX@~WxF}0X%Djt_}(hQvgsZdO+p>;LKne+ENGVxXQLeZeL*rRp{ z+N}Wq`FavHONqWWK}^QPhR#3&KVGM}f87*k9NyJ55t=Zu>Q!#FsY6A>o&Q(J_xZ=@ zvI+VRTPgV_E7Rtx<9=5(^ADL2Fm0siE*kaLHfG@q1A>8H%I1U<9OehG@(Pq0eVE^K zn-9$lW;4eA3V)1mBBC#o`Ain}%4(Ite2xNyP+U4UoXF@#JM;mNlv+jx9%ETlBU7}| zD#j{%lsJ}cDJ;H8?z&H!e~w$;eXm|0gL&THzl4stATPhjKiSO0J>7o=6C142W{i>+ zVMj&rj-quvrd&#$fCdE4f;>e$8nFzNWm1N(V!=?&!TbpbYo_NMxfdG6&N7jJgb@Q4 zY(bO8upur3LYCBboyXw+)+(&tLIw7^;LN5*Wa@d^aIJ`x2esUc*Rb1KWmEnnvWvsK zI9r)|hAXFOdgjn=CY#r8b`sRl6N5Gi9Js6=jXhLyBZHKNCZ>4OJ&e5*5^aY@o+HPG zp#z}`SuFcD8AYNSi8Fbs9d0;I5di@Abo3V4@7d$|&!{meAczH#X3CXs15B}21UUyI z#FEHOvo(eYiNttC&c|ScW;3MV^COL70^cCn%f>W?&OWr}aZ#kBcZJD_8rQ%Wi{>zD z*Md3|rCwRLT2EG)-enY5{RPHgj7msqP<}MAaF&LtD3o-|r}a*YWC2MMQA|5!t53$3 z76{v0*mVoIG8Dxh=4x0$I+OJVMY`*p43}7 z`m9V_JsE}f+~wv0v`v-9vZAwvEp)Bd>7|@`o4Awgkjo>sInaV_oMv>t$Lg+jiws2n zwySko0FEJN8M%9%KMhoyoJGxc?PmI4ox3XOZ!W4D+;V2{j@)}KJwf5RA=X!;cnl%N zDB88ilR!1v>05|r#ei@w@=Se-M3sqpvHKERilnOOmBgX(!}gA0qwuEK_&7I$Exn(F z_}8t~N&fnl*!F9v(m5B}ty1y|__p?X)ELiq+0h)@QSJq?R-Eg&7c9mUO^_a<+L78~ zBcMXks^bJ}utGf1BJ{By#F%4RYaGm&_k^|Mv?b-XXcB(9oWRxf`qsRfsygmH=HWU5 z4|g=jek^VE4mhn>CJj!1N+W$dDJ41BbI>KyS`@RBH3hxo@a;8N4FoN&qwxs50m}Sj zXPbX~$+?>3)AIS|rq#^g+O<1);1$$Q-CV5o`O__z9Ztlpw`I0ZpPCQv>v`QRiPFtx z&WG*N+_BEr6+n{g(^Bwh{4{gtV@$rO$kRM#`pwE(!AH3EX|%b1n5og-PU@xCJWe6@ zS_&OEHdC?rri@t)G53Q1bNy_v_hhI0A^Gd>j3L&%f_|&LFdO~{vr8t=FBlXPTn%OP)g)XiP4agKin{dO@Yo?r2%WP}O)v+V! z89_6`m>F|Zn{s>cv74B)d+`OmsZcA$t29otW*X(#i#ex*NYWr{#Q3*vxciWsw&C%x zoS$9GIY>1(u?wkLHXT}Fk=7}XdFnw6M;YT`h8ioMzAJBdf2 z2!}8X0!OJq3E$cwfe!yXBC;JTf3rW;cqXaSo8#T(!K!|#?wtHho;L$zN4h*wG8gAr zoZ=okVMtykT^*`@^zEN3;A6~5S4y5rKVO>^uUvV(PkcLqCL zv5V{MWK|Cea_07%xAvMzN=XPAwsQ>KDAzbP0JN9gbl=`I2Ghgm=i17OQ5z%uk|W3u?r=7~xm&F&agM!#Ji;O~Ka^%a(Haew+YYh1ByiP37}GrHnL=Zz zem(=;E{rIM7R~V%vpwb5Jo4AKWVjw#lX7i_{B(&}Oqp!mop}s=fj#E$f1c9~{RQ~5 z09d=KqlNOVx^m>i6%x(HQC}lXbIZ1)R5~%6QY0SR7LDZjzB93_Afy6{4(Ml#wQFk! zvp=go+j&qzwf&ZuK&+$iSA-Y2q-DM!f`7|ruzw$H5bJs1Z_3&rLfRFk$vJqAYN%68 zp{2TUkl`wV4{2HjZxgY2RLCwDojc~)=QGBy`UEdkR zmvhRq{dS)i$&_;@wJ2?HyAjX=icu(3C8g9HLri#?Bnp8!WHv~>V@=PFVL_J&fa00S z=3YmAa_SXTQlI=iiL27}JZ$@X7xZ-7YA?#$*lDjxJ=rU@7i_yJ-Lc_+I?7yQ%CiZ5 zzl7hc5zuRXzihU*^h{5W{=>T8XXH!sz?VAF4dp}eO1!01J|N$YzaK0FAHbBuJJS73 z)Dz&>iqolx=attss7vZV{PGw9y!1aJVtN=r`X`@;o%0zWNk%B7RGbElAMPf@f{Mey z;iC*6VJOr<{W*opiMJ@>5;*LO*Y`NGWzCzs^Fn3nmip9l9Q+zF(RwK{%u{W4>ibpH zD{0^r)>+bfN-oC-eVGz2V=6p_t7nF+34(=6KuH3@@Pk_M zjLrCj(|cjT{v&N7)6v?+)eRBB;WH#s)$*^tsVhWaV$EOYG(^wCQ#Pu`=Bi6yeM-&B z5v!qpX?t*M8aQqr)H6X1_QCO-8s0N+;)&^af0o%>?v5@WEgW$Jg`!m#S;%3 z4?#b4bfr~^6|0qxk2cKLfW2Wd3&Y&)%Wu4&9i9#khZQbrSye$w7%SwX&>7}!grh1U ztr-oy^rhdvQ?s<2*5=b!wF@yw7V?ttu`q>0(Io~6$Djwm=IbA2X!4sm*G1!|$`$nz zF55?HJ(#Z+&5oMU{s=o_IAP=D&v|v#7-N;;c%U6b#T-})F0T8q0r313EUA!|tqcrO zLvzUjAwOMXCybn|e;)_w1*}Z*!M{|HATmU>!S8nTU9;4pLODXyC{s|=pCaePaUxgg zi=ZE&2A45=%#kKd4tVP3M3sl;DU9o-b=++jj(0{Ge!8S7fBVvYYGr)D;^DpMe)}$C z8T+G?g>H_Yk9kb60pN=S@!Ees`3sBUz>(B;KwpL?S4bQ2nOU3<%V)O>i*thYk!sVM z6ZDrmzc4><&+~BtdF@QD9471e$#gz$pm7;sJ zl+x-zb_@>!W6`))hhf5xMOah*Z>Fh9C_;JjYeXzy5|9o>B$BZ*&NLl`S%-r+uBq8M ztKxQSt3N3qDOQY}JgjAwU1zMSd%6UZer$IHjwo`qRw~-My#z+(;>Oi%=;_QaA&;t{ z-*2d0K~FcBivbKxJFNUDQ+$cl<1I*<7qG6kRAk`6WJ`k!E@8USTa+3N2h&@{A%q=5 zE!)t15Ra?kr+tC@oxvL(gfYuTQ=cQegZL`b4fn*)(`zw6hHKw1&%_Y zu)27$$0pU%siMOP31b_#@7Ds)=W_7w`@O>jus3wDc3QSaIO91=DJ3M!NsbW&QhqS< zR{HM@F_`9Yqc(U=xawB7`8woZl%%}{Vmg9KUSa%c1OI|n7u!N;CwN3we(slbE!;zK zz(nutGY4GUcY)E?@{Su(u)M3lrykP#H9`^1?SR>KEm1OyRXaI0A&px+VGR8Vr=GWOc(Wh$G@PY0lQ+a5jE4(&lRL&M|GFlA7mIiJC zWY4t?1$g^hhXcK)t>WTr+>f>1e82N%X`|Ws?rdH>=;d(N&3K|UXXjt6oe#%PuNCy! zUGDnKtMi(AiFWi{QLpXW_Z7LcBe?#MU3F;tOFd?PNU3N=37BRxw5JV{ToHHS*?5im zvVfynIE||SN?7Ihv<=OyB&IjMApxW^36s9%`V8tgu}r)b3GNrjYSk;E>WiOvm4=?T z<$Zl4rRTiuPI~&o{Oz|Z*It0=r;=?!3%9zi;Ob=ov|K0@l_vM|?QU*q{CBE2LBZ~W z?C{&2^J>lPeKb7qzSwuX>|tJCifoCqPgu^znp&meuUv-ZPYsowUlgu1$`dg_#(gEA* z)xy~8&zEPm8H|_QpXYr1TI%1u+Fj434f|Xzn*m?PM+L`)-1FrEEdv9)vLzDF=$8K+mJDG>{Cw*l0+-aqE4$H0U?_DdlXjjFMDVCp+x5JSs1ickj~PHJ zyrm8v@`Mk1xL{R3kBXSrN&QK=2oeg3nACv`cUO_nU4mw#s*xrg+EY2+l=~y7gw;QK z=eos=Ywd_lBOLdO;V%$bylBDneSt6;6@Rh@d%{lBkdC&n=;&|dg;vYF?~^2P^yWTq zOc1}USt1$EP6D>0iX!-Nx=9va%n?tmkhf4;TA5D$ePK|BN2thJaEgq4&>+|SH9dVg zT%&jwd>U)S-cBj>78m^)b|UHzg8(4Qga*Y**`pCFdr4()bfhxSNjg=SLg9Gc zO3&n^2OSUWy+c{Et6}i9Ie(b(jXVa#bDTFX)ab>|)rB%GFIhk0hSs-mxos#{tXNsG z?B{FbWm4I0)dDY!41ME3roOp`H7C}xnp zo>8(gjb$`;3)bZ0H_3M|8(U6rLFa`!n(DJX((#lAf=ae8T!dAAkKkIQKGXH4Ujl93 zSP2V&Fxov!1v&pD$=;Qur|{p`NM_qaTr7E{CWaZab1E9`Z*gDEKL zTFV%kLDXj@cxUXCyn%4tAkN;`^x`aE?8@&xoTlaI*0EY@N@_S6cwG&N+d$44MlKu2 z84W~&whw zy^3_H&Y^P9g=)y>BZ$7qfT;DA%}Th1ET;JO?b6bNsK!&A2Wnt$*P^VS^{4R9dTylk zD!4`=7+UYd|CHDm$tA#kxn!`nM}|etroysUdi67m%3qwHfOQwKK{IrE&`?M z8VrVMFc=&VRoyRX-3-o#)IV%w&+n`f`>PhPLN;hcBLmu~yD8cz4A4)z+H6OHDVa@{? z1bMCM0lrnAUt~SYeJY@e&V`F{N15X7%JP}9_8s1e6teXxewfR8b;SiYhfA6X5on+G zyOP{hu-(g=wrflwcfWTkvh)er;e5mel)I0?t(9UBo^1g%78~b8`C^i z-w6wuks$&d7ym?!x_cSTu1D|-j6kih?@2dL>{CL&vEY;3KYFzKvukKtsx^jS+R^#- zc&9b{!NwW%R92{@{19csju?WKds0?YsK&nR+SIdO2Nd*~=IxzY%Idg@TI1exz4$}FZo;r7sYka-?X1p)1~_3%Nit>k zQY+z&ZJT`1#?>&M^iOTN;Em;YR&02RvOB=i>ezdpY`LyC_mfQors}n$ZY)l6OAI+} zu^3xdoHu!LvzBn-*F!rtogMUpvc_2q5ZcOQ)AEN<>*?{GzVUo1)RK@BRDxwyC;eEe zp9JsH6IiLA?0``DwyzL{fc`MqJmT+5sT$nlaXb=l@6%@S(YKZ9S?lp9_~85Ekk8KN zro(dANgL4RcBtq8IChV-=e?=sFNv>~#>08gp_9Gh7A}uQ5;SKsw=#cUhz%iwP|A+2 zhh&qe@9wn^snmB#kLzx|Mg1#W5}^~1g?!P?x!@m z!b(wP^ixO0MF;jM78PdTe;-5`e5UPVS|D#+L!TILZ$M9xE77kXjLSgMF~9e-<Ah>?T|_<#hxO+3qcq*q<*Hr?mDn!YQCtCx6n-!m=I-*goRKJjuk0Uds(zoYG6 zlCl_X2_v>IYRAywzFw+NTke80l?B5&&2kw=N03~)Y4w(_-F5{^=^BuB40k8_I<~E6 zI-wA#oKuP4p;>zdcd(v8Ocsl)1R&6~R>6~c3Z2*hASM6Xe|**~=!xbnAL4Qy}JQ~6bk{#leC zDRq$p;sZoWW%rq){Bt-S6x4gK-A^&Hs-$kUeBZn*$ke>>lZre)a3zt#H9CBF#!d__ zJ`?dF=N4+BoD)+A#ivyCAclYbT%AvfVWupVfGF39V0u2hKO%jpNitR*rxxC1Muddj zT#d}($>|%=t>@}7LlWrQj&o5~r!VXi3uTH2qJHB@GsZ$t9~SBvqc`+7j!UVdUP;CU zw3!h-CfX=iIwV~#L{2EO)%#bQjGRiNh9N&dxOj1{rW(!( zqD_y;4XU*v;)GyZ$bCC89W|ybbt9JOwORwkz*iw)XscL9YOAj_?p1Ht`VNM(Z zPMm2Xa<%;QL|jPSD*cv_-8s2=3T#{X)_t0L3N7}PUAUkYvK`A|zeVGCRAlKY4`7uuHqch<0P z6F`8P@65V5(7jKbT^X2%N@YQ}t*R;iT|xhi(YS0u#}S+A>-VbmJbbf~`;Z-U(Aep?Wk8L9`HQ9sE{^xF!CQxlKsjbO7$B9e zKDKkTi%PPcY71>;J6oK5vGM{a&*N#|i+GF`yW9;H;qu>q$ft_qmFT$t!2Ri6KbZSU z$1p?W(`;|jMfK1?m*TTWq~+-~L(nxP`Ih~(hB(jqrCIMK-pd*F(uWZH?uB`fl?0?kw%yS(RqQ?*gBzPyT4E#BOitche|eO!j#% z4Q~~ZzdG&sXhJnRo~l>Cen2vm_P9K*(zUc${p|CNCEh7DLNW|?PhdkYh2S&~22K1l z3*k&co+FDAp16UJnU@8mYp8Y~>R?Z?G^38+K* zClY`5zAjcnr8hrXsczT@e~;zlZ}wRMKlo1Rn9BQrpg#M`Z2my*Az}MW&et--Ub4@Z zYLBGdDSq_ndA0i1t5yZdqlSd^7|v##lj;A$(nYGNPz~sbOQ!x2aKg6dn5*$XA$D?j;GlT5eI7sQ^uiTIRTyDZ@6z4;HHqB z$ij(HwF;KBw+X#~lKE#uuTqsZ0nL37m@lPyy&=pqp+TM@_*`L6euP-`pX8`FYO(lR zJ(H0~5gs;*wUb!e{gLOn?TzMi?3QnevEaz^GL(3A)ZH&kmn6^m3A$zC*-EJVWa~CC z3$yo`Lfmv{s-fc)mZ4{fk1e8;BCmq5_%Ni;C}@R;41Vy8%^x2~XS9 z1=`o>AJ87UmAj60ZQ-hjf_%nQ2f`ZrpR4Hb4p~-qKTlzE8(wYof8+Kno!2p`5sLUq85mdtYN=7$BW+CluHH0oIYjl|7+N^~A{jSy4)F2;&3lY4sI7Q5+q5&5LP zW~c5~7iOOdXxJV#hu&Q$|JpP2oT(m5N;<6Oj~y$U!j$LWhyvM};S9XUQ+%|6;THvx zaRMXgkm-_8a>gBu(&EI)rR^jT(QDNnzAI;%sq3Mn$Jz8-vPm+U#qF_8N?Dw`Ss)8~ z;0m^1*7Ot8{XMss%QF@LUAL(Z_7%Zj2!5$>&lvIs_NN1VW{|b1_A3qbWtps@KM~%s z9al$ug9St=8k&=&G*!f^Rcc8K6N)f?NYbXZLzgdQiD7C`rwyqlSN|GvR1#nGLGU^GMO6t)yCV=p)mVZ#%#t0y*CMnEP**KMuxbR3vdX3}TWbJ~D6IYW6&?^f@@)-QQl61}QT@V4E1aCs@Du z+sxC}o?jHFx9^URy1OSFx1FD<;vL^zt_I0IKjZPss`-Vk(VG4hRDi3w)9tw9b=TuI z78G>P?RGJlA@|n0_Zyw$?lxF%#;zpp=&R_P`vSitYiz znN6R$j0u0mYRyrEteXk^cHV!}^{h~zm)4Ec-E!;dNMG}$AKBgQTp-QR8ghwN=#I!q zZ(IG5tEmf3Rbv4JZyR|Djos12?ZiBom4g z(@JMga5Ptat)4BL+wj?n;EVW`l%!B*lWzGhrwNH+D7p%8{=XcPMX4TMXZ)FNq^X_E zEN3zOh!cn8{0#W6pbf%Z)zjlCdqnh?8kPq)7X6E#kJ{ih+ExN9zdcTr01p81TVp%% z&ka{HGOv!IL%#r-C?#TaJpr$fUy9{U@p8V#_F!Yw&u!eQ-83^cVbf6Qq|k@`?o(%E z^uO4~gxzLb5MRK$x!%t{kEXM_+g&}E<@mp+{UBPH3XYvdD`kV*QG_4TZ~6I3a=|E_ zdrG^ty=LUZ=hW%xP@A-#RlWz{HHU^H<+v@`G3Ko?4KsK$bd&kELEovz6csNtA2#*8 zbc2x<2^S?zBp_^PRp~9+=67q}#D~ zp##;vUSejQ0U^W^5uAfa7Xm8FP2tab+t7L#$DC9S?*yb@uag@aY$LIllOX~!_d`se zObsodSO{GKW0o<_%ACMSK{44I?)@EjkdhAHxS}-G>(>4qqxJU{NL0iAlOo?7kZ3y6lmF zjqK%7%geRjXT31~vS^zxS5wHc)kd*l&{isKP~Nn{QU!NE^Kx&r>*iwhGh9vUx~*4D z=}Rvom!ENsv^wiFZ1Y5CZbg@Q*Xnz3-U)^(X>4f{o2}k2amXS*!~<_MTGMsie}pWlOjAif^wd= zlbtuVWH1P7F*Ir08~ME7;f(Fv@bN&!4WE1IlXEd8YwCM8`y?$s=&@!rbVhjmW3q4! zu3pzBC);>Qka)Afc|(lSubMfj2Rk7=H_J=&{=)_0sfkXfG;aUfF8_D$iW6Grr>2!F z4h+9?F`Rkrsgcui_IJNSD^$0b-tp>+E~MTi=|3-{EhUfHSKNMQDYd#^YHuC;pS>W# zZA!T`eJgW`*LQQHY6Y0v_S2QJImR(J6kb@HO%j)iEa^Tphh&;M)8jW@CZ=O$detkP(PVo80hAdiA{o~;>+h);L?^4me^#uwaM#tXS z%l7I^wQ7|pXW1cQOD(mXj^Xy1miu}&%N9S^Zaj0J&e@+$oiNVK`w)Ln;zXl1&*a6? z%VYEL1HmZ`rA=z%3AOiTkTPb@GAudW{FnYq>H-tOmj$PIs+WTPmGy^LpbBwo_Z*cc zwQEm0Z7)=_;lAUq8ofI_j|IPJB-ZF1z1+P=Z_CPA1=vWjy3%=OeMpmeK~j5?c5Gf{ z!kqZUJ!1A!iGl7fEu1b2oX=m|IO}WHmSFd5>#4Mllx;ZSB9}=!X{IjiS^ZEx#jt*pSF}!)%lPK; zr|oo(zteg9Xv-l-Wv9w3?YWbQy;08(4oMEV550K)v4;%#@MtpQT-W=DVN6+I-;QXr z%;rj;pydW0pRYA}9I7q#ox0v1<$ZGU+~kgg<`Uo83lbe2LkUR{54JprPBIKGX9gZt zU=ux^G#!HLWj^jmAt&6a-~s}%7v~?-O}ONySnRlj}2Uov$u2}9X{-3P#$%5 z9jA8Ug~Qn+BNYy3EnLTba`eucdy)$$>@zR6@>+iSZA9S@mhPQusdBX^?5w=hn&12u zTw=d~jnPN=k=>bj9q*pc`h}M*Xk$4mFNu<^^I{NvC-L;cRaZ_uRPa-{>6n+bQ!~}? z)mzcRM@F;f97TUQb--S;{#1PQcFp>xh0}?SPFd{1n(Mb**z0%hhwFAXwtn&4np+|+ zQ5Um1^;x9t?OmDyyC)6pHrpzmSL)Eyt)CQ4C>?1oX;zszdh2jb=U`J&-6!5*)uPc? zbG%2KBD%k=ZMgB;HRBJ%ZG-AJ4@7!LPBjjH*9srleWoKVU7@%0XWrQ7w!vJzd*MkE zlFDg^TjIpxJoLwPCj z0fGsSoeQ&XTrOL+v*V9jtF|xIJVwhsOBOHmdj>VqKPN~%$$RL3i}#r%PNfT;J09;- zGp_V%+}2i7r1Y#+RYXw89`@S_dm|#_Gd3#rh{oTlOHO|7ye}eRO?Xg5NZ69AV~Uy* z|Jt@J_)c)qiN&^|$qw3W;*Li;mP*D*hJJ7&IHdQ z8r>M*?|(BoE@5o5PIuv4sCYw`$1ra}rH8MAb8Yl@{*rg2m({#$^e)Ie9I!%BT7~2Z ztycWb`{lybn~k)@IG#cepF+a@gvPmSHSVdVc)^1f@1yL~G81bSy=89e7bvPw*B3ci z?B4d|YQ#|inzvW(;1i?STmctRBspMcX2C!O)KO}`zB)z7++WQ(%*5}+;7u3G_319|k-dCjHz^)1x$#iQ z#_d+vMcL14>btk9rPRilWu>OLsJTjKCRG)0*ZpBIbp6h5zl>qM5DEPjgW#adrB1e2 z)8qAad^{?^b*r9|diS_dx$|v~OJL$?B6PcU)}y{uT3c;QQC8h>Rc)2Rm|)%mCzo1Xcu7e?uCGKxGsc6^dc zT@sTx%#>GuPHD)eQ20{8ffa}bn6GTQVjL5z`#)uI>L*-42mQeC=G`uJ>9 z$+SR{zNeN}4gC1`l$KVA7aPuGMF)|A(_43z(zU--E7;=I%Ow~tDcq#D9HlWsoH=usLTXnC-6 zu)S$hwBMWGi{F!uF9IGpnO}RnZF*KWVb^F^do|M2<2YX!ufem)HqU-CV3p8+Aa*>j zUgUbZWN2U2gpj_^jC5J9Q=iE1ajp(7vl3Bqjdq9JOacq{H|o8owZ^!9*E;pPrmg-s za!|@<{z!V#oOQSERO>q5smzQ#`kKO&)bOi5x7Y1Wm0}4ww3MsmywYg!n9lHEUsnb( zHIbH@L!Vr(J2la#HukZ}y3bH$Tl36P9ltsD@8Ui+zq#~YZBP44E_sMAT<~nuegRR{ zxZM#ZqW6C|y2Kx&>#|n%-HV+RU%n~w&wk0Oei`AZsW7pEw{_p08mP0c&R-Yjd}u_< z)^1*KqPySiviz*r@N|P%W$@IPV#Cu78>meKx29#MV{DbMuI@!?38yWa?CRbwEe&nh8@Oj20zLhj(gDk z$zGMT?M)`?$Q@CPL#dz`V-g1oqZq}6#%VBFaY{^e+zMeFLAf1qlbTG-{bkJiqQeZY zNS--T9Loe0FXJj)of2b&t}bKLOXC>nQh9E5skSh4iG3qht|iP2{~^z{u0%u`v{Ig% zdOvuPG^UN9hzh~MwP8#JMsRJEQFt;bi$ah#`t<=y;o1bF);P{+_lhx9tq+;rCY)K> zRL|5j6O3YWA#?R9&dfAlXMW+~Oz+cc%$aBSf7bGN)l5ta&OCZn!o;=W%=MNh+!Jj% zqD(`t9XGBE7iORrN?h!%zp$jPj*fqL(19?o5beMaAI7~^hWq_HMUjON&LL5RLomjJ zdV(A#dQevrMpd9MFO_{N;{SQW20_Arjf7C<^`MMC1U$hpg5QRr5XEm}XU z{{(|^4q(GT3>Zn`%;9f&z#$kwjB_xY-z$!iDAP0~Ljf3Yf&e1JaTu^MOQ&QQi2Zgx zfEcGZ00shK^U9Z9f`fp#C=##{6u6E+@xO8{`L$dGiDAs04>BMm0z(0qBucW9`{ni3 z1Nn{gkthU|m4s0MCJ9l0+5QI-Nn#wv{UZno<-icYHwwi;NE8Jyh(bsJ5(UEmBnl$_ zs;}#RV`Q5UEGC6vAQ%b(4<-lzAceyuvt?LDpTFoR#DVxBp%6;(R|16)1Y)vT5BwBC zIUElEc_@TqfQw7Fz5jRqD46<$)5p~gM;f}{O_{SU(*b8z(6@{ z-||rog*hBBYzhZ#FsK743={w40S!SYj6pz#VFUwh6!Oo_U-l9Ju}}m@fV~KYV*G(1 z5JA}kMil2K7RpweUv*d|#sC}36_{xn`3A8Nk^+j#UYdYnp(u$ls-xfVfI$R+3&mj| zP?R8GCYbdApu<`H;Exu=z$h?QDwsQ?-=HRjfahVau|sNOu`5b5EDDs|3djc z)WjhKTnK}O!rAuY4-qFYAk8=mG6`oF{$uYKYT_7(kbuEH!71{eo7uhWv;gu=kT}2t zg00v;4*s$i#Yh@3;(-361cm?ylN?Yj2#PN{_7IXq&3^`oLx0=ozi$;N$#xmAkfjM= zLog5w1(t~Q8<_~iUK4WgCJmz zVGt{7d{JW%26QII3c+7Q{5o1On8nF(CS>IJTN6W2oc(#QiM0-ZB4Df|U^$AS{6dJa z*9!m{N+Af-G$BLtSA`v(!0g4?ZsgAu#x@>kgMo&^aQ1r6pBEhednSDCWQ@IP@yh^4 zu#<;>GXZueM&N*0VXXY~cRWTyd>2BtlQ9wjh73lsg2sO^N#H=fNs4c3vHmES1P%r{ z3}G;d5sdrf2M2(32#f(qLtp~qhlG6jc+Cfso&6BbWKYR#0l>0X82-k@*h>jO7>bny zKCc)>u{;!+Hl{fkVUAi5n6bGrW`V(w8DVB_j-ng_u`nY|Ndxf>@c*|&WtX^)S)hlh zua`$aX!wsRIwmHtDPn>co0-67rsl@5shPP23YkF&Mv - +

Loco.rs Contributions

Rust