From 1547258c0c18ae0b766fc3728343607d226670b0 Mon Sep 17 00:00:00 2001
From: Maurice <61554723+mauriceboe@users.noreply.github.com>
Date: Tue, 16 Jun 2026 16:59:25 +0200
Subject: [PATCH] docs(readme): refresh dashboard, costs and trip screenshots
(#1208)
* docs(readme): refresh dashboard, costs and trip screenshots
* docs(readme): correct outdated info (React 19, NestJS, 20 languages, Costs rename, passkeys, AirTrail, notifications)
---
README.md | 27 +++++++++++++++------------
docs/screenshots/budget.png | Bin 160383 -> 328394 bytes
docs/screenshots/dashboard.png | Bin 811503 -> 1932537 bytes
docs/screenshots/trip-iceland.png | Bin 352765 -> 2205087 bytes
4 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/README.md b/README.md
index 881e5c7d..37d4f99b 100644
--- a/README.md
+++ b/README.md
@@ -51,10 +51,10 @@ A self-hosted, real-time collaborative travel planner — with maps, budgets, pa
-
+
-
+
@@ -79,6 +79,7 @@ A self-hosted, real-time collaborative travel planner — with maps, budgets, pa
- **Drag & drop planner** — organise places into day plans with reordering and cross-day moves
- **Interactive map** — Leaflet or Mapbox GL with 3D buildings, terrain, photo markers, clustering, route visualization
- **Place search** — Google Places (photos, ratings, hours) or OpenStreetMap (free, no API key)
+- **Place import** — shared Google Maps / Naver Maps lists, plus GPX and KML/KMZ/GeoJSON map files
- **Day notes** — timestamped, icon-tagged notes with drag-and-drop reordering
- **Route optimisation** — auto-sort places and export to Google Maps
- **Weather forecasts** — 16-day via Open-Meteo (no key) + historical climate fallback
@@ -90,7 +91,7 @@ A self-hosted, real-time collaborative travel planner — with maps, budgets, pa
#### 🧳 Travel management
- **Reservations** — flights, accommodations, restaurants with status, confirmation numbers, files; import from booking confirmation emails and PDFs ([KDE Itinerary](https://invent.kde.org/pim/kitinerary))
-- **Budget tracking** — category-based expenses with pie chart, per-person / per-day splits, multi-currency
+- **Costs** — track and split trip expenses (Splitwise-style): per-person / per-day breakdowns, settle-up, multi-currency
- **Packing lists** — categories, templates, user assignment, progress tracking
- **Bag tracking** — optional weight tracking with iOS-style distribution
- **Document manager** — attach docs, tickets, PDFs to trips / places / reservations (≤ 50 MB each)
@@ -108,6 +109,7 @@ A self-hosted, real-time collaborative travel planner — with maps, budgets, pa
- **Invite links** — one-time or reusable links with expiry
- **SSO (OIDC)** — Google, Apple, Authentik, Keycloak, or any OIDC provider
- **2FA** — TOTP + backup codes
+- **Passkeys** — passwordless WebAuthn login (fingerprint / face / PIN / security key), admin-toggleable
- **Collab suite** — group chat, shared notes, polls, day check-ins
@@ -128,13 +130,13 @@ A self-hosted, real-time collaborative travel planner — with maps, budgets, pa
#### 🧩 Addons (admin-toggleable)
- **Lists** — packing lists + to-dos with templates, member assignments, optional bag tracking
-- **Budget** — expense tracker with splits, pie chart, multi-currency
+- **Costs** — expense tracker with splits and settle-up (who owes whom), multi-currency
- **Documents** — file attachments on trips, places, and reservations
- **Collab** — chat, notes, polls, day-by-day attendance
- **Vacay** — personal vacation planner with calendar, 100+ country holidays, carry-over tracking
- **Atlas** — world map of visited countries, bucket list, travel stats, streak tracking, liquid-glass UI
- **Journey** — magazine-style travel journal with entries, photos (Immich/Synology), maps, moods
-- **Naver List Import** — one-click import from shared Naver Maps lists
+- **AirTrail** — connect a self-hosted AirTrail instance to import and sync flights into reservations
- **MCP** — expose TREK to AI assistants via OAuth 2.1
@@ -156,8 +158,9 @@ A self-hosted, real-time collaborative travel planner — with maps, budgets, pa
#### ⚙️ Admin & customisation
- **Dashboard views** — card grid or compact list · **Dark mode** — full theme with matching status bar
-- **15 languages** — EN, DE, ES, FR, IT, NL, HU, RU, ZH, ZH-TW, PL, CS, AR (RTL), BR, ID
+- **20 languages** — EN, DE, ES, FR, IT, NL, HU, RU, ZH, ZH-TW, PL, CS, AR (RTL), BR, ID, TR, JA, KO, UK, GR
- **Admin panel** — users, invites, packing templates, categories, addons, API keys, backups, GitHub history
+- **Notifications** — per-user preferences across email (SMTP), webhook, ntfy, and an in-app notification center
- **Auto-backups** — scheduled with configurable retention · **Units** — °C/°F, 12h/24h, map tile sources, default coordinates
@@ -191,9 +194,9 @@ Open `http://localhost:3000`. On first boot TREK seeds an admin account — if y

-
+

-
+



@@ -202,7 +205,7 @@ Open `http://localhost:3000`. On first boot TREK seeds an admin account — if y
-Real-time sync via WebSocket (`ws`). State with Zustand. Auth via JWT + OAuth 2.1 + OIDC + TOTP MFA. Weather via Open-Meteo (no key required). Maps with Leaflet and Mapbox GL.
+Real-time sync via WebSocket (`ws`). Backend on NestJS 11. State with Zustand. Auth via JWT + OAuth 2.1 + OIDC + Passkeys (WebAuthn) + TOTP MFA. Weather via Open-Meteo (no key required). Maps with Leaflet and Mapbox GL.
@@ -263,7 +266,7 @@ Then:
docker compose up -d
```
-**HTTPS notes:** `FORCE_HTTPS=true` is optional — it adds a 301 redirect, HSTS, CSP upgrade-insecure-requests, and forces the `secure` cookie flag. Only use it behind a TLS-terminating reverse proxy. `TRUST_PROXY=1` tells Express how many proxies sit in front so real client IPs and `X-Forwarded-Proto` work.
+**HTTPS notes:** `FORCE_HTTPS=true` is optional — it adds a 301 redirect, HSTS, CSP upgrade-insecure-requests, and forces the `secure` cookie flag. Only use it behind a TLS-terminating reverse proxy. `TRUST_PROXY=1` tells the server how many proxies sit in front so real client IPs and `X-Forwarded-Proto` work.
@@ -400,12 +403,12 @@ Caddy handles TLS and WebSockets automatically.
| `ENCRYPTION_KEY` | At-rest encryption key for stored secrets (API keys, MFA, SMTP, OIDC). Recommended: generate with `openssl rand -hex 32`. If unset, falls back to `data/.jwt_secret` (existing installs) or auto-generates a key (fresh installs). | Auto |
| `TZ` | Timezone for logs, reminders and cron jobs (e.g. `Europe/Berlin`) | `UTC` |
| `LOG_LEVEL` | `info` = concise user actions, `debug` = verbose details | `info` |
-| `DEFAULT_LANGUAGE` | Default language on the login page for users with no saved preference. Browser/OS language is auto-detected first; this is the fallback. Supported: `de`, `en`, `es`, `fr`, `hu`, `nl`, `br`, `cs`, `pl`, `ru`, `zh`, `zh-TW`, `it`, `ar` | `en` |
+| `DEFAULT_LANGUAGE` | Default language on the login page for users with no saved preference. Browser/OS language is auto-detected first; this is the fallback. Supported: `de`, `en`, `es`, `fr`, `hu`, `nl`, `br`, `cs`, `pl`, `ru`, `zh`, `zh-TW`, `it`, `ar`, `id`, `tr`, `ja`, `ko`, `uk`, `gr` | `en` |
| `ALLOWED_ORIGINS` | Comma-separated origins for CORS and email links | same-origin |
| `FORCE_HTTPS` | Optional. When `true`: 301-redirects HTTP to HTTPS, sends HSTS, adds CSP `upgrade-insecure-requests`, forces the session cookie `secure` flag. Useful behind a TLS-terminating reverse proxy. Requires `TRUST_PROXY`. | `false` |
| `HSTS_INCLUDE_SUBDOMAINS` | When `true`: adds the `includeSubDomains` directive to the HSTS header, extending HTTPS enforcement to all subdomains. Only effective when HSTS is active (`FORCE_HTTPS=true` or `NODE_ENV=production`). Leave `false` if you run other services on sibling subdomains over plain HTTP. | `false` |
| `COOKIE_SECURE` | Controls the `secure` flag on the `trek_session` cookie. Auto-derived: on when `NODE_ENV=production` or `FORCE_HTTPS=true`. Escape hatch: set `false` to allow session cookies over plain HTTP. Not recommended in production. | auto |
-| `TRUST_PROXY` | Number of trusted reverse proxies. Tells Express to read client IP from `X-Forwarded-For` and protocol from `X-Forwarded-Proto`. Defaults to `1` in production; off in dev unless set. | `1` |
+| `TRUST_PROXY` | Number of trusted reverse proxies. Tells the server to read client IP from `X-Forwarded-For` and protocol from `X-Forwarded-Proto`. Defaults to `1` in production; off in dev unless set. | `1` |
| `ALLOW_INTERNAL_NETWORK` | Allow outbound requests to private/RFC-1918 IPs (e.g. Immich on your LAN). Loopback and link-local addresses remain blocked. | `false` |
| `APP_URL` | Public base URL of this instance (e.g. `https://trek.example.com`). Required when OIDC is enabled; used as base for email notification links. | — |
| **OIDC / SSO** | | |
diff --git a/docs/screenshots/budget.png b/docs/screenshots/budget.png
index e599246a621e869c91560b99c8f7dbaecfefa700..efd0c9c86c83450458bafa12bffaff47c5ed04ff 100644
GIT binary patch
literal 328394
zcmdqJhg(zW7B!B26onZTRO%qTiPAd?(yKt|MY@D0y@L%HK|qiqy|)C2)BvHVNS97P
z2m$F3dI=@8?>#g3&fNKxf8fjW}@$N|+NxsKUW
zjI|(_lbc&Li|LU^BzFi{2-iPo&n_(~Yf%)hoaRNzd;J3`7%BwTKJ~s>`jV=&|SXCwi_Dsvp
zy2ajPWJI|%9%`i3Jzg5@l@_5m7jl=yJA_sysJ=|sIwmHj_4+@D%}nhA^M>ovk+yZ2
z`BjC9u>xJ+AQ>NH|A695;`r{Wga_`$OVUvU-#fX5xoy72KBsdR;fK5QtxTVC1&sFmqwtYOWwm~_8+L&Fli
znZ66#o16UwjKR4KcnobA*;@@a{pue-46KUULn-LtJpa0SuP`}j+lsPx+TX!K!B5>!
zc&TbTl`Ze*u|IQ*^>=n&}*~_
z=tvr&PEjcC{O9pISPaGt3=3%ZoqLp&lpo5=%Oh=m#{Osw41-S6>LA;PkYs1*M-^gO
zi{&;*6Zh=Fq?q{nk9w?*!Bi9Pbz|tMsPb4<6KcBu=VX->qcgOtxTqp+;@l)%YD}DI
z?`s*Oodgp2l5N#f;G`kWR{qlG99n$*NXKA&RbuNiMWd
zBTc-ON#qg*omPoa)w{W~t&z0)Pkjd&gO8qohjUc~80*B)Zri~g{Nc^(bh%?y2->iJ
zE+OvBEhO`3H9dyPo8RoW_^;R<0&=`HiauHg%k`VH(9PZ!zX=uDlg|b|27llTdVR~<}x5{l)8&;&|RQE|x
zP-Ck_>Z4kUj=Tc9cH0UJR%7L*E2&JF?8ZuPbp;m9p|#iq9z(a5uvv{3cKF0}6RUCq#e_fQb6R$zJiomH+X6BWb
ze(-%QSX9jh`Tc^yA}5L6XJd@p9$eB-VsBE@6dOCQ6zTDndP$7%QX_4Tsva(jIO*8t
z%TG+0!N+Q{oNJ51xI)9`BoN>ekDAm|O7Q+xaq;o2GBV~>nCd*|HJrL_#i-L-HNF4N
z;f`3iW_#@^S+ER|5Y$lT<;+J(N#pf*Ldp!_T>6Ba2rTnEo#Cr;T1c-q8f?8roEC^K
zdeorQos2ffnLITS*SF@VBtDG&z`>x_{Djmy5jS}##pe-Km}h@9$({u;ala7
zR#O#|IhCm`5cCZU{&@B3Y-IDoT!v@L4t{^~X2$!%&flnDNLwLR)&lqu-{4Mfox1Nf
zKQDFUf$b~3(i45*6w^mkZfn6a3G}2R$)T8-YDdSM*r%N!`4^Q0dgh
zfS2~EalU>3akR`~-5QOstjG>y_GXh>3_gf-C}Tpid0CmX)8(2hCMO`V}
zKvQ1?{*3Ocp-+^gzQiZh#RX-7O6vofkg$+K-$8}eDNExf`xJhD0pd62*I2ZET%G4y
zrq@VyUrY{rr5n)?hNQ{jis!!L&HY3%I<0TML;_pxYXw6Yjfw^sers(d3~I^c-W1t-|TtW|F;yL6#k>wEtk+lUk&nq7jx9hwI?wv)S;8ZN`UcPb;8N7p&0t9LG{rcm%m(rE^Anfj
zn&QC!AEEaKGbNn$+ICA|oRVrO=(VAa{l`_#qq-9l6Jym@(FrB{iZJBk#gGDqA@#tz
zBIAW!aaVq`2W4R_%3$z+S5B^Yn&h=MQJ}}0yqMG$RwRdU@Nh!rkCi(mQZP!D)_KB<
zEPVve`q@faa&wI@03DkV1cLf6fkHw$gmX^Pz2y!eyU
z#yGX>-srN7{q7Jvx@twHVhH2FYSq8BJ_u(so=z0!UDctz1WHL)t~_RIh)G`_=H8z71CR*csw;z^Fe+^P(Gh$Bgj
z?HaAH8na^5cN~=G#61Z$-MolA)kJE)3@lP#M5Ey;*zzhW%JHaZLoAZ|c)FBBR_+xx
z%Zc0b8BV1EV~#2arG)ty6oNcG*q_6`H7}N?vHCWu|Az}ZA^r&?0lGd^ZA5%b(vnww
zOPAjAVMfqM@xI@8Z=yj
z_w&qxx0#RcTZBi^NjXctNqO^)1;o`tc>FI_&xS=&W+)9_*e_SL{QN?T^-@^uk6WGG
z#M20)RXN~9S(R-o45cuhaTyt?-8Kg8{Fb{Z-KBDhQC*I^dJ9obTM60M$ge#i!eQ1R
zSH~u^&3UCtFnFs((hPUiKI?$xxv@4J9a;Gi%9yscS%1IuH$qD7D8={3=7J#Vj@;{R
zSfxqK1$mHD8LTvAvl0$rCw$focFiJ(1q#2_7WSbE2lj^jog6=(ANWo$@ha;UxQ!8y
z^PwmmMR!uu<2}mYN9c*;PYR94WtJ2*b{9={Tj=_@b0$Vgyk&|H!b$YZsVO>~k)MOi3uii??LxY;c
zYAMxZVS2;Pe6WF1x`eMOCG$hU^mfmbssApOePe%&75mPY0&|C!NeBFdh}j)tW3}@n
zYr!BV00JdA@1^)B>kgkAq6v{`nc>Ed=j8PZCAY3x$FV-mXwmR7WQAjPHVI-r=14oP3Cv&!HtqZP#gk4
zk=S$EI5ZY4;xIG6>fH69)DW$F8o2I$jIoG-!lu&m3neDoD23pSkYShc1d(2jHS7AI
zef#k0^)aNaI!gQL(-*Ft@@S8x13tUMR$7--0c-ssR>O!cDs73xQd11U@!EAOD=Q(l
z+4j5i+)WVL!$-Y)Hx$d-g4yTd8qr3An(oRq&e40G3gBdqjsoy-iZHpRqmu&ZQv&z)2!iDOg1+%ssqcW
zD9wMDlUqWy6Maf~BmddfkfFHW${SEIR$2@S2l9KR?#`R>+{{-XBK%If6L*4prKfiV
ztR*V&2|7KM2668{vM@4M02DZnW#wcMRXTHWqN1S@&pOCeF>2f^DXqrXu#GU@=w9-m
zuGv>pQcGyDgjI3<*4f!Pu$$&z<+rNfG*PW;>*5j;da=t<7_<5h*YH!&d@^B;i9}e?%`(}&AsrG>^bOUqB2Aca}SKG
zS3M-W+}y(F`HV_Yji-juk_X{nvWE5%eq*2PQy2nCF!dv+(AHCam}dP(C=WG~W*C(N
zL!M$kwVCyOW#uNPYm3LXgW)Fx3qR|8Cq}ci=x$W$5f9$RjKOC`%be=<)(1?jGuhkU
zQBm#kZ4yt(?!nOA^H*BazBCJt2fn$exY)6(-E;tJTd_1Ud8!Krhk?eg00LtS3|@%}
zjazY`HYm_TNgXq>D_^3d$L`3?0~jyv>mDZKfr8%01-m-(&XC+=OZOE{y3>?qtH3;;
z8&oRiUb}dc|1?oqppA`q_uaRCVeHiM{A?VKe$516D!-n#g>sN|?$Ybj?m4Yw>i=*n
zX8khNKJcZv&6+<+x53CJ>E84uQ1gv+3N3pAn2FGPt5pRTQ$2fn+5Jb%
zts?Qu;_2Y&M3AA#4&iPDHors1ZtmFSQsVxb$DV6H^m?TZGT|d!LEch)e40`Ri@ye*
zOwp1yN)oZ%57BNdtN@
zudgLb3Kjw1rAeegG;!~%z0uJKsxHee4wM66Whj{G=kwyc?Z>}O&Mhq!Eo1~3bS<2e
z!pQRpulrFPtgO6zWOg3Y-;_=9g)bYAW_j_Wr);CE6oG>C5~~v!bCI2Q17Bs>;60U_
zq#5)&wn&b)1oz2M=9r(D8ePk?Z--|Ckh+FfjD|Y-##IU9bMaf5kB;5#9s{fs_x}0(
zdP!F-tp5=ErPsKszL!CLD`BX8C5!fKJyzs%@x_UBUyJWBG$#(D8;^V{C+-}?24!sI83{TRqk=yc
z9z-N87r00dE3Vg%z{dMpQIi=POtJ
z?Y*joGIlvfX84Z<1^732X5tZYeerV^v)|E_KMbwWliVCe!8rJ(SrNN7Mh#D=P5r>~
zp(A&B%rwWrNU+2EvHf5IJxJ}IRv8=z^TsM=vQJ;EHEi4Be_)WH?7y*S7{zleKF3Ed
z@mm4r;&`sYwdLAKa~0JDp8jZ=6N43AHa3OMRW>_10cZIsaSaQLiWp|aI(j~S{_=-P
zy!`wFPG%9*yjRZ8n&2laEiG@}xbflEjytDgkv_BjLhVs@cJ>ZPU^Q5kPEZ8o<>q(v
zjwlN8eHEVp5vo&yF+K2rxBJN9WvR2Sc{5|3Vo+ma`RIyKlRZX_?SnI>HW8uU<$Kl4
z%#1LYQ$aHnG4!@ZCtU3LkJTD_9C~;ajn9O`?rtS;@J98FRKc1rdV<|OyS$u(b6zWX
z|MN1QqJdT^_5I>wvncSeWDK!j-uDCv{JB_H-uT(<|zi51xzCk*s#_va+!uN3r^I
z#~LOHB}a-D7Fjf#?SX!C2W>-jFdYDjNKT{`*>e?t11&N)k7c(sKd;r?qzdZA(k$j3
zLaXkfs5%AsiSj;Z#
z;>2O0^P782D6$Kt85N6un0rb
zW=5J+bhsXX#OZ#HAHO!sRk;zxSy?gOIPM5gC0`M|>E@|*$nHG~i=(8CYU}8gyRt3m
zZuR?zTsG-+8iOy2zoj#TZ}2ZwUnw}}5;MV2$Mm^a<79$AC6{0(MkJ#wibN%@{n9zw
ztEl}6P}j=d7fFShFVG18q@nIf;}JuhYkPjShn5u2a8dZWxqLI{Gp1mnn&C@FA{+4M
z>RQs)2THm;;eJGzFPi)O#b=+pMcSv@wbA!Riu5AkzE)U-?lAqai#AAm#+NW(hrlJF
z$A1W*?tEBwh5o>Kt<`2`IxSF?#3v+VQ6Wce(ZorBEj7<$z@&^YM_0Sn=+-zg)w%?w
z<_awfceJ$?S5{taAb$Db?p*3w6w%zr6^nOG4n9e?-~
zy#FpUGr1{)kg#y|!%sc!HQy1rcQ2jkZ39FDs0pa9U(W>#ymgA48ZefiQZ9r=u)#-*
z%fJa#1}>zJQ$!f5X!iCM>0I90+2{jFoB#@(UR<~%t?6R?R&@;MBI>|jkPsA`1_*+(taV}4Xy-){Qz6x
z3gtCVWbII)8I0=exh-c#$pBqtWzKRVC(;(?GR^VHf-g>AMom{iAs?`%v%Dh4dLp#FVQi6VKDr!!JDH^-&NWa(_$xeVN((|rW6zj1e)quz6^3u)r|un3a9?@9O6jEq9ho;!xI
zm*=}K#=7x7F!~|vJYG}(`xsDkuDrWtBXDu_9;?-l?y40BM@Pqrgr*>f{h|?e{0M4&
zy`MFp?C0r=Da{q712x7`F31FMyXcU-P5*pSH0Yq}@0)nub+GT)5*n-Z
zH=mHiG-uIccHvOjm9iYn?&C*&Obq7C&CgrzS`T`%@}(I*dIZOdWx7m+6gnuwkllJe
zgY|0?EQ!R;4u_fL*tE0~nFXF<0Dq}yt`~=e;peJN99}dv)i>1ZVr)GR4$^~8H+FV(
ziHP_)5Am*}5U#)T!E?^>;7R&q(zd=)!?U{llcV^xruC@$GKkK+#n@2fU}R<>M*|pd
zBEhR+B6ypsJ4x8=_4*ng5{r1-)U5?Ks&n;=@$vKPTv=sMiD3Z(j2eSo_(iI<$K%Ri
z&pob~=k37(jwcUHqZ$Ll)<(_BZ_(t}84|Vw9c3-Q{AzG0%!>t7C#WhwZ7bbjob-J6
zC=X(or0FFz{Bx|x0}70(Q+es0-Ap)?;6hq_K3bWu^-X5M3>FCx`L^#X+kVjP!s$eZ
z?l1Lg$@sRjq_F6p6Hn1m>ArXLO99=QXVdsYGdC}d`}d@9oJpFfUw!XUBVp3Ej2AAZ
zQk2cxeOJEe9b~9)pjBFYe%3=w&W(~1qY9`jNMjUEQAai2KT0(|5h~(){5bD945cUE
zrtz)AvI+qZ30)Kqy@Z*M@mH%hjW82QNy(eHf6dIzy$LpRUAIIEgQ;tFq8dtD-3|?+#JGMR?ovZX%(#96)6nwS~c-NJ{>y9ZI
zpTt6I&os&tD2W%Mo@j6JRT(u9S}u3oIXEC8%&gUIY;5d7*Z@>%2gn1`(za6D`}ZRc
zCfjAvw1+n*sCV4{0Ng-cM!T!JgA=aks
zCaO7h)KO1MD|0}AACTosGj()Q3vC=jSss
zS}~@@6b|yPjixK%n8|@WRj|fJWY2lr>Z}@qw`}x9ln=oz0P9S_AkC(H>}cK-16&
z6>}r8`FY$Uom0z>4fQ>tuG{pX?p%0gge19w73py&Z4z_F6#)
zzjzSTfG`w4@@fchu3x58PksA$2%%fV4(0cD*4Bhvm-n*@bS8<)wrIlwQ6_b>o``
z+|fYe$JgN#!K8YS6i|^V-tB-cETMtncmGMV?`IA(*pR1E(S_hy!~1|R#t^*bNo3sl
zqw&<-lk&f+3;jyF?~CpU6+m%>iB-
z^&zYy7wilys4%u$!8{O&ls6*kD=l98dFp})@3j&&Jb7B&i^`0$LcMzV02-pJX>A7x-CKOG{3C#yHcUg;S)OHm^9N9I3BK4Bp
z^W&)9wFq9J$&L(^#x(+5J>T@ws$CF%EOmgS7G~*W2wz<;Sv#>6+TM&qg%v#{E9Ho-
zNJ~zD!!pB^&%OSRc*<|@;M3n!;iAQ-Eriq`jJs1oUaalCvwsaI-{_@aOgg=45AYG016a
zf1%7s60n1VPhGhzws*R5%jf3{U67{b*Eu|n*rV_$tp7o;EUIvEw&RI~zg
z2g<9z$^q4757I&w72gV%I;I*+BB{{_&a33H-{UA0#^=gR|~(xgk>QA?j=|WT^8oz
zuFm9yDYn*10$pNpT&JR{Is$}EsG5VgHc*~pw_pxc0azI@7Ipb8wTVwlfIMBj_M;>X
zlT+n$FgaG?-DKNqo(*)B7-nu&W(J1rR()(D3$J0B(V-OuLQ$7pez-Ko`zj#hd?OOL
zA8-Pi>K*XVOobQ2K%=9_0z^I9?hMZXt(5>KSFM|%`hcBSV<4)c^$
zh*o}y&6|mG6l0}#vv!DV$$G=H$7(E4o)?+GBaf?yi$~p4W-m`2d)hHT6CvloOJRzu
zNEG*~@41hBei9UPg#wXz2Q1WV8>DWQY$jNwl}|UXH0*8aZ&7aO%gSm`9Ll*aWPr_H
zOP+u*{Gb5G*1yFCVp@Ufx3D|G%(>n$qt@oyAfv3k&R{xTu4G4x`4s?OnxT>swnzfE
zB+m~~6R!C1+18d7j>IJU{vDYGhw0g*WKrMz{O=!mDL*JfXlTT2kjKRgBg{+u`Cejn
zYN|+C=VV}Uucl%w4A9J2
zjV}h$1i*xKSe7AR+eqT9l^ih1uqY$6n6xynF=khn7;`W^Fr*c683FzoYfw6vo^#P|
zqOD8Y6bj-Lqchyv-qr!wNQjUZ2Wt9S{iP=yfp<$44H3qkh;IG0eCLsm#Z(ocoV8_Wjs#_R`1FuP3MSssz>C9+-o!X
zc;)38i1;Ifri<0S5hG84A0Vo(kdyZZoB3(ubHr)9Ij_68@Ja1`lcRawbuBg*>mc&1
zKQ!S67@?^&FtM1L;p*a1JY0;^&F!wz
zG#sf5^hdMm^nOdiJ-H_(VOKPCwLpMxe;z^m`uS)qf2zjl6|qJK9$s9LT7k~0#7&f;
z{$61e>FEwPh-5>-lgGN=R~di?kWpytLMZv-O%&1K+dbN1x!-60GEvOOn2xPrTaA0q
z%&%f$p_mm9(ly|R3SIYOl|i`E^Qz`Le=$|ymst<-_~e9pb3vcd9Zu%>fjE;{F8?gM>(tiTeq?9aRDLL7<8ode0;`4)-Jsxni8^o4!Wf04XXK*0CbsqF+%^L@*;24z6!K2y0Cu1
zK7`;VFqKGJ?RUpB#pD8Mnb+NP_V+4GY0mV_Oyry@o1~=4=}|+c!M$<-NkK8eEm|WR
zv-PkgEm{?+>j4UD&o~D#|3Ipz`t>IY7^>v`z9g%$U4Z?vA7gB26}
ze9wHqSvPUHOLbsC5x~3VYy3ofTwY$D>X&`s^?=W|#{dx>iQ6O$73uu0rGGO-YB=`i
zbL*wW%@1J4wMvrZ%_$GHH#Ro3l%D^3=6`&MU^|r>(f*%wjr{m?1rmv8y6R#
z;oiT`ynZc%bI%{U@u`oTqFot47sGh2(8PT!9$tXr0H;{Mstl@sEI{Ph8SLGC$(|{0
zuUxm?;owD}vn$nJZJ%4u){l$wv%$W=ISVA*DOCb7AT
zb7Sb*dZyZ~_S*~sG~yo5ViK&SK9FCImRC?P>pM9Bm}E9pW;x`(bWir1z3{J9LkKWg
z2w0>f2LEwl5pWVJ78Xp9(E&1rR4k;eF^v4>`|+qHZ&w}w71a`?
znG~2u4MJ6%G*gFYp2={3*xEgETQpp;~U`XA$GI1+dP)Km7W
z0F~G+s$1CDP*=xW<(E&>nXvKcSE%TMtVmB#(j{O)VRf3r;NMRb;6q5w4A(ouTbVBF
z98ib=u>i7&fKSZCxn-%ubNNkgwt*!#{kDx!Kb{Nr&c@`6nnuB(JFH1!@?9e{V2
zel80-+Ehg27MO*2O#w^-%-USF&AtEbH?kL7Q;VBA2)(>);6066DDil!slxUT~kYK$gE?zvtl(orgcLGT;*UH+*bX249H%%b>g~I
z^-{VG6gX|GMnPP%;W?M68@+}n;!sTpaQ&@W)=qsPnVW_1M^@gqW5RjGg<-
ztlHkqxx?{wRgFhms{b+xYXAedb(sMbHH{;kENA@tk38n)j0cAYG+{5grh#*LWWhYZ
zg69_QMzl<6L3+SfgNs*wXZa`Xk&%VZed{dw3)l3~@W`rR@K&i`#}j>0L7iD{zQwu(EJ}
zo=m*w#(~uE2Bh!QvN-iJc?rLgkUbu9DChW}5aM^!#7o;YFw~ww+fN1%2
z39J1LTpFv8sjUm&SvRtW|9Yp%AMey6v?cazxM|SRCo_%0OcI#?3_@B!Hzh>6|dsfKEIMDyQ
z4xx8<^8UY$6Y;O%0f!mC`>)CUzvM9dEp2TQ|7w+hhU1)$t!=(eY--P-VeL_{wDC1)
zkp6zW=xVX%zoY6b^r6E;oTWhE{L~fXKl>Vbo0d^3FOOZh0gr~&uRT78YT@FPe}5YK
z-9{qN3c*vP;DUU_c7U2%}2A$A5
zLK=UK8AsyZTY2AI(g55bIofOcl7?e
z60NnQ6)%hqPYKjq1s<7k2Gwp=69+#9RGqN?#Gxu=9?zLx9u$1u!{u
z07qBGGPnNsMob(mk4F-NQIW&I57)|MVof9{5b*t|{wII6LdB{6-C$$l)qiN^dCIKm
zFtXMF-g-B(6rRc0c=DLItUwd?*LidbQd<3YE#0fqYz@f4`)5bmn8;%G9xs1*FnPP{
zulLz7{M|K`h}}u55VBjlE0)IN=PCv)jonEYr9rzMVT!+w6lee6Q+RQm8u+=&-Uxge
zbtE~icmvKvfMSYYNnLf&&Z_A{x2?c`KVry+!S@9Bo(JFdg5Pt-QqLP
zk+J2CV*yLmn7BMVTt_qpj{aPL3-N*eGFX%`t_CMo+jIK0XIpGL(S9PE3SnAN7b+7F
z4ZH^E&961-E}Fd&r$^M-7Z}FAaG1lpIZI{HI-G%cfjOJz;2(Bo!U?^c_wPUSzFK2A
zQt5aPq~pB2Jco&|tVT7W3+}s?OIT(VV2e^wQyD%AQH^Y7T_Z)U3K2)vBj>IQ%%@!T
z9pO8GsGohgJ?bT+JdU0n26o_cMLT+7qz|SQLA#m#1|D4mi$J3G9cV}VRf9|=&?CGe
zyIMOZ=V-Qx=b=jr^z)EL?Fl93&fWyXAqQZ#K#7hpF0g&MSDW2gX&|@@_&;UkL4jyW
z9VMl{3sTX5p&NW-ZU^xtbxWbntrpM(KfLq!FJRD_c{Ei621zU}7H^R_ij&}b|C?u^
zf1aK7Y{-mBI8Cg3h(4fU@dO42HX(-rC2z`l<;F(oTRRu5eK)(-gW=8jt9~aPmuAyY
z662&uoFHiL0TdVmxX^iQG%y!?&jb%jd5;$h%P+1hkg|8x_Ros6oq(l4YEyHwR!
zd}HZ%K29}5^%&`WrY?uOm6SxLP0F5>WqzxeMvIYm6(~J4Z(h582>@=Q3m^W231n)~@3(e$#
z&Zd{B;WW4Iy{7dB^sRtu_a*~P_7o*PC*4#60qa6iF=pfftr;r(Hetjnc5#J6E6O7I
z3I&87>sOzT++SOHCE{XZ^HUDJ5}PtyCcIX@DX;#ZDoMwSgWj)C^>r+e4q%GSEQMo>
zZ6!_4P&Lb9q3brC1TL#DK+nz)_pH&|n-tM{GJ@85eKBUs)>o93jn&~e-wCV&EFhh3
zhjpbgvK^HI{sLM=7Fk~|RPXFu1-?UUuIuZwRt_UB{h$$I2(&fKSdeq9n7EAOhX4Rj
z>2i7oQW+DvX}bou$4x0Cx;!U==2>Nrum9cbpAPILU^$US?S!sj2hm9;Q3cW_Ci3|z3
zh*T}8Mwp|#V$Qm8g*0u8x!+nsiIIc&Q`-fks`c|-!{JX_l+SqGW{b9`{
z!dPt%m)_OEm#@R{ty>P*@+5K3X9dM8D`(q$o-axvZZqWX@1GBpS-XXPkY+WxZGn~;
zs&r)*a`CEiU3>*Cn5t!T;c68xXlGij?`(%%CptC*`s;(r0I8K7-!v@$7wV4Z>j_VE34tP-xdK>@T3a#Hw
zYfRj4@pvzfKbT*>4E&~0RAW_Ej7smjlo5pNNgG21H<@WW>m$sA4s+V+WqO93IHZ}L
zWCT3WICJKNW^<##sBSvrtf@F?^%Au2qL?@IQB?EE5L$8`V`o
zu!rwWq#m3EH3F9q1~3?gvp?JBb_P*{RiJ^+rSasQao`+*n9Oe#W#)VG0IgvHUGi?2
zIs7MZP3eRUJ0GTYC5flZu4lRpUNaSPSi24@d`_yB@RQV#ITe=!p2@gDUy^ry;DXsI
z{uWX(6rTq=gXTOM3JZ)NEh!;F9FgJ$6~kV~eDn#TRUTEM2J8M{59-(CJ@{
zuk(11ijD?dK&&a{eK`$ufX3Dn;At;up-8;hHpq9P*rb*W
z=egCT+8f!Y+A9SJ3d1fhe9xUYOtq(K;9<+DE=KPfV6ot{ia`Y7&!MWt~$@rVYkTsWLOz7u&s@FsAosn29Jwuv3KBeipwPLdF+J8t1X%m;<
zDmxS3ykP-=!k~CAg4{o&164@h4y|KfLUBc7fil!&Aha5N02)Bza{0a0x99z>bW2p;
zFx++vGj90QOQ$dLaKwMS*4oBq3A5Q`Kaze7QI1mCrS6Am*0x4FEohnL_Wm1nMVk7a
z(RCV~ru^PS8CoH`DSjYvDAhKN0BRZ*=2ZejpC`o&Wuha6@(rPXV)nS8|J-gNbA_C|
z+c3SDgMLQEC_pw_`V{^Ov}F~1>iZQm6d6>(bqA+ykVMe4*}4=9Ss0fV%S44RBred)
zrw=;9b!@+50YG`D<4RFvzeI8xa|DS17-@b77SWb(3if8u(DGTT^@b#`4uP(L1Q&l4L>xtv^ShY$kBD
z@>X&nG2O2Ob}@9AjLOP;XYYp%s)A
zW?b2Y0EQD&HJrCP5<7S9oNkkbldq2t2j~jnO%~G2x#$U*JV0j=9E4efSxGslMU3@@
z3Xx#pErWJUn~F3FY`g+UZud4SFymhCe33r;(pHAxg(sGl<in
z_9l)=(*tZ`xNuVJwJ}%X=9(ldOeT2bksh-&2`QDkq
z$251&D+@;i{R8M-K
z5Ac^TL$xkK_kmhi6rD(d=VH4nASn~PaYP1cYQMEppDDMaZ_1$QFq;O8gwn+Y+1HR=
z8ss$MCI&TsVHU8JKs(Rp6jXx|;||zcmZ4G`jg`^&YOJTz#cM_KGq
zK$cxlSOcm>%z{F>v$JRTwcJ|YABt;(&=F4410O^CFF@APEYrDV@{|C&4B!)$F}ULi
zU`Zc!^iod~(}ePp6-{tYG8T#O*S!S%az(b02
z>Et94+OR>X_vOt4wkyCE_48b20scvl9-d8P$MdH&5H~(ycG{1<9exC!BZ7vr>@gvv
z0|29>g~@J^D3a07Lx4XH3tZ)XUf+)Y96vCQP$C2`gZ9LO&dxoWC(bXPP0z~2eT*wE
zO~WN7m8$OH@#cYk^XI*Tj*m6FO=~3A_hc5MjBip?XG8vCqhe@-*B!Jnw93VObWcmP
zWvp;sp=XsbHxCI5Bdp2_1DiJr-g(0;
zDHz4!JZb2hwkU_WNr#AfdU2DT!&1`^2Sf3BQ$^{O;7e4jo(g$=AHt
z+(+KK`by8=Yinx@5lSdwIYFv;uLZ5uQH*AKdO86V=_2?(o$h3_lFy&Xz^z3BNiFEQ
z-8wT83Ad@DqVWWD0IX18#>^%a4|m&?VgY&gq$G5t(0}sf!Z_OggF>jHktFNEQK~Aq
z(MD^4z#~xRk>24_)+1wBy1S%$!nJrQ&;^K+(dz)_SD&P
zb=)jk`o0o+a#$Z22#h}Y#Ir2*#aIFUNgsqf591~?0)EC1>T-bnvNLk>G4;K#{Rr?r
zKxrSO);XR)8h0hIGa%DWT`68jd(E!p@L3T`mEIb|>q+
zkpYJSB__w9{3y()J$y{{%O?XTVR}&?T@X+R!+8zBkg?SY3}U*g$yoe6Mi-^m;xyXT
zo{WWV&*6nJH5^@glsv$(`_sb4+LqAV+vtu1-abxclEv4XXwsg{F`M#O1}?sY1u|}~
z0GHoJ`vG?_F#JOI5CN_9#v|0A)S~XDspUPFVh+(&2|dN;=mfBh08Ed~{X=C6!eY#d
z(ZEt7bJKqVYQ7)h?v=^6*t-^&SYS8NSmmIn|JttrbH~@$x5zkg7kDnPzyk#&`%+WT
zf(S~bhB{9Ve|#nIlmQ?Cv(zpJ&MOMS?cg4P&21tK7@BRW#suvNJfKU9b)9@YF~eUM
z#y8C$d+RGUa)p?v003xF-}`ZhYB&wtO*3|y_?ntWCF8qZRj*+y57KQvFwa4@HK2VtY&Yc0#ycdAFRIXKZXIr?K
z*~^A-SHwns7t<7W9?kDpqzm16bWu>0y-=>I639xnYn;>LBDNAgKN<83AQsHY6t+`
z&`XJvr$d`J*gZXSNHhnXI(1d%nlo9dc?sP#P#Ok}I8p%MWDrO7XR2JgD2Pj=hO4+r
zU9jzg4pu2aqpia?<_nl4>W~bkpMk;vOaCACzB(+bwS9LG1(gkKMWw+)q(!<>HnI@`
z6#>aXknU~
z1K)A!10UeGvO)3vPK{QHBq0He*F2rPJ~kj7nCQ1kgu}1vX1+rv09GFug&P`<
z`PW!1xMMlgIW=QIRhVqrz8vXt+~l+IV<+hxni1m^dslw6`x0yHT|jO=&K^h+OWncZ
zybt1foi6?Mo1Kn058~s;mR3hzKR*%=yYI{ej9N+(F54sQP;6ejf=?buapi6(sYLX%
zaSOgq3$RnM^S}HM*km9RdFoqv>!*3ktEo$*v=MPPpAi(mu}g4v42!x(a@;UiT_SSSsah0N4~yL2T2H*07)$t&@}d299URb0Hg2Mc#?KU387JA
zg-s2?nZ%9{04-<7*`065?WChlFP!NiJCMH6PBuE0*js$+o^{@Td1BOkKJ@g2nRtL`
zTUK$<73%XgMWYG8E+CWv9$qC$LIw1J6nRW9_)Cx*nQ{tK9Y>vQ-6lZf(xcYg{3z)m
zPSsn+<}=8xt^o-}vdvn)ZR5#vjBD`_$Pw+3V{4C(c!HGB*sppBc@Q8n?ETsQvVC=O
zW2~^K&5*Y?i6FHTeXKtOkU9|+j+o8Kd!Wyi&8iH4ca`ozN@E-v1_vL;M81jaGtsOp
zh($NeA=UXMpAqrIdRFfuO#&toM14usOwL+A0E-uXdM3aixh716>4`(Y9i>BLjNr1b
z06fFn#&7-e?gMv_-LJp(`WesB*ZV!jfwT)al8KFxB*qP;nhY#?mAn{mri}IupmO@v
zn+F5`D%H+?1-S)L8(3*O^wL^K1VFaC0%Wg&c46twenh*4`s2@@dF(*?Ku*o-SQtwS
z(hbnTmYr+NN3a%Pi0gu(24)w`%1E-_^mF0~f^)=rX5HPc;XS!u+ylhamuf>Xk@I*q
z2Oz*#NqcHncwGU&!o-*pF0mm`33v4+qQwCD*{EIzGW$WGn&&O8FmbRb0D!yXGZuhx
zL{GR-Mw{
zvH&xd1M@?jlLfnC9llPu;|<5`w;Ecx7XwOnh}uRFPT0ctQivE4@q54!{*{{QekhLT
zmDh79yGzvmr50Njf+B_*z#fLb>51STx+mFdXI5>GXNQFJru2V$!5rFJw^~f1E$A7f
z!F?tN^~U>w(f88BqaUNC3>ay3&bN(^_}~bHgswV``7#ot2Z|ddgV=VlX<*=U^5HIcQX|D$dXbeD
z*W6H|vnmNAh3XohBum94{#niRVmFY(aDw@szII+zQ?{@2gSSty_6z;oRnJh5V#@?a
z=ZardE&gFi!2LNfv2!aO
z{dJim7E}hN(PIvRCabQt@%V-&oVG=
zF#`ok0Dr$owoGCSBu-}@JDEI`=^WG*0Hm3m~`DAHm5wFYDiQ4XY%-Ly92^?V)M
z&e4FC3sP$^jg6H0yq&S+1#D?xYPH(uD4wdlcZ>k3>PukgR`5GrgviS3YT+Z-Lp2as
z#&JWluER>Wh8~G!VKe15WqEJqyXln%eHL9c2Cj_78Xt%$_xjj65d)Z{b$kvS;)u7k
zG2U4DP=JSaxvUPPu@wh(MD>~;kVL#s
zF@K4Ny1gvY7FNU6MFxG6%FFK2G>2LBAIyAnr;*xkGEjV3ou@*qi4s>Ve*PB#njV#~
zZ7d+IAG17;LlC8F&D0@30$E|1y}i!>5WTt4K{?G592gjQ&T$}pVMj+de&f`9sLs7i
zoI8y}(u=>Q*cv!C5F;|tns>m%=o(O$$|;1IpFt@qygONd9S^Z~i$54;KeOyNJUu-v
z@J4FXSvG}&EX;Z9L=i+4skIdGo9ppUHbEO*8`nkG*7kTP4T5knl6HkR2!ya3KZ;|c
zqSb!oUEg~zwbX6_H=bk^EVG($Y&;`m1h1`6wI+T+|E4h<-Tmx>c%Y
zX(*wM+Tu4}`#j3O*d6z$|4!GRz5?sob(R|ieLAii)8UPy4gOq*ivw!t?V7IrhI4h+
zg66tVxQ8w@LrE80Vi+7EUDFnyii&PuwaxVmHZWN+mKPzNb
zx{%188l^}O=)_NK6@hcFb*AT95D{xh>o@=-0pGiYQ8W*j;Ag{N&lq9P0--|glU86gXRuSUJv~i@t39)`i@)_5eh{qyd2hpfXy+mI=va*ot
z^UIpg#kN2vCg?4>Lav-9t_17V|8gvi*9P^N7Y8|^!@yF2D2JHUf3c6|-#lI~M~@sM
z%$gTs&)#l{^61CWEY%i4OV0I-$-lZhMw9^0Wn4}Yvy2=qnq3gq*Jew*BfD~$ryu0d
zd^a@_`qo6CZgIGLvd&0##_<3&(sh6q*guWzS7L>h1GhRLk5R;(9K6CwdxwDzx$$K5
z)nmhN_pst}2RDj=fP|}JWmb8AkDsd|V!2YOJKIZD5)cJ6@NkXyJ6k0(InREus@==e
zitYg3G&S}XBmkj0o6UuSqALkVj5YwcWq}^ldMa9{!`grg0L$m+uV1=Q3`>akH9EP6QL>wB68+k^Ca?Z#>#{FDYpG#_C`qU6HZbPp`KM?N_d%
z2lmB0PW^M2R#$UlmaYMJHT5W`IfH)3nG7F2=Be^Wh4KBI`;DucFQsI_9L4KETU%L+
zqLfdCUIj~DA;5Nd^pC2EO<$y658OQnndv^M#R;T=L~&IN<2@G>iAt*xZRHefphmHN
z34QquVx7k!yPVI+rxv%5WChuedw!XaqU?-rGu#0u7MY1&<)iy~1i7#PkpMvSOr
zO!x+u^2-mq02=|!n5hy~>cE$*qn=~^Q*g(^X`uqXhf}R
zB;vL3<==k$ap!n8I{>|D(OC>97MF;)BM_#8s*?BAx#wfhu_xeyMB^W#%N)@i5ZnzV
z%q*g%)gg|8@)Fe`5f4+R+}Hq)et^iI4-oj0?${O~Y^G<>wSbEhlo}|OQ~*$C5=}72
zW^mmuCYz(l9(kI_Dga#h*{elSX|=3!mih8+}@Kby?v`
zAlzvQDn+~iwl2U0V-U<2l^}0!PnFEJ)Dap2_a9pwqgTz#?4&?wB+8`VE?GDDbcz78
z5!g-SdG4&S^OdChFz#be7h3q)OjMuNgLQGVAzR$(B#&6a>SS$HxMF%S7))Mc84_n*
z09YQDSuqDph7OMGfWrFO5(L40)b1mf-NNO#6jh*uBg(KmZG>&7wG3)yukSS+0!#q7
z`&|d#0#ZNuiLQMhd=#&;Es{7pj-9p{0}gqDrp*tHO^rdNNo3`MFK<9xUlN@X?MNRf
z3dHHS1s%n~_u*2ODH?hH!SS1Me(%x9VVRgHhdPREfWd;|uF%6P#*!6)^rcWC_(ELZaDVL43uzgLZMJ1A`Oa?LBSH)
zs+~T${=ts@2mDZPAc?H5<-xrk_8u6^_VEd7ah6hx8SsyCIGen;I+Y~p9EYE-QIBnD
zJzOJwzb~GuQFJx4lci39_#0G55wX7z%d1q@I{BbIJ6hv7iA4pRhuEV{065T&gFMtx
z|Dq=dK|rDCC3rx@*_Oz{sU+A4vwV9FbSrho{W?yjJ1;BhkG95$OM&BD1TjwUWNAaJGC_}`qg5PSb6U1CODPks~)Kv%tfJ^)i(`qTwr
zJ#~{DHa^L*Tsr6h{v{fQo*yl@+MMuc|m=Hx~=2hHIOL3#{~Xuv9W(!&TdIGGZZ
zu10YInD%S2@qy|6n@zK#uWkcODZC+DEtm@?OF_#E!VvK69!EZQD6TzCCmnM}Lqx`HKa*JPgX4M4Zrw
zp7v*g?Y%s(LYd;;oxbF&bptNwt+4#Eo`hp%04L_()Y7~EqLyadP3W5eV)ffM$>+WT
z*FtpLE;&fsNf&?TegA}#aqZJQ_3sgXdFd@*{)cC(URj`ict}It)A}A(+>ioL4dPFQ
z+9RADw|*`4z7IoT&VNff>?Y7VSF&>zB(1m?uX=d2wQfw`>3;n;i}v8}FdYJ^*#Z(k
zbkmPV9!t&5fD?NzTvGHkG2H?B>c!uGomDo`6rfWof3df~Z+HV2I~NZZKLB&zVB6T#
zRBNUumkt0|j7VpDb3C2RseU`;uh0XseD2?OpWWT1wg=*({6?G)v4U<1US&R9>c`?S
zCyidGCx&jJ|9TbKKd({&^>yT6T|II*N!;DZw{(5MWu|BJsY
zTl+UT5tJnI<6>j8Y3$jFp|3TvOb1!D{bOehC+@J62g3JQ^D=-v0%qs+p4L`5&;c$}
zQ>&vlMx4}fbrzF{7DDhdPGT$sAmFZ{p`jYazaHa1yEDipMuPFW6mu>6%NI^SI;@{A
z2C=MIDpnvj7+_2QZzY;4pjHck$v1!>4YkyNox!gCf7c&KhWv+FJn_G}DgJNi7z2Grz4FYA$^X2m{aYMt^6V-p
z4u$SD)BmWDh$qMh0ba-aasO`0zfamtUO#QZ{oisJ2qXsjKd=4&=6)9cPj1rj|KHT#
zef$63t}Jm~hK{2DCGPR%ikt>6@qM4U1LY>PTtG-jpPP}gx4Rn?m|HCgZ&)%uimeV$
zx9?^X@|<~G^tw!2r^-fit6A>p(`Oo00!UHHn!5nVzI=&N<84ur#mv`F#fZlDXGc44
zQZx#-X6k2O|Mx6aYz4~gqaoKO9u6(9TgQc$q&L9(_V)o6{a*g8yB_$`i){%{Yzu4g
zBzAv8zCEId2!}<0Ql$Nvd}LBmP8pPtk$z7_Bue9$KVP)_&qu?cZ+(0YhzMVvqAf7X;DpB3r|>UfF^LqoOB__
zRA)?N7J0L;t_t#I?>o%=`$pzk-sarvzROM`c1_EnMN!O{vn9?;B@t&wcAO_#HCg_~%_@yair)
z*&VEEcCXnQ3;!sa_`}EZUIQ?JLYdIDl4mD`r#mTF=IN{?O$5@yhux0^*X0+
z8J&-I@pC1aq4tB#SeGMndG|2fwH*Ja)K$48~5S_aY~FdK@&VOW(GHv)NK(pt6uR
z3>oJy_^<`l)zuTP$%6Wj$gkXit*@nX
zd3357m1JwxC-qU;_wL3gM&&hKZvJ5ItJE~cC+m0pU2LMm-eiq~N>)Sdwbg(0j=X7G
z-1Q9?yE4zaxhKb_s$*9e%E+nd|8=I@;7m#PZCM3+_|L^hzziZ9ynDN!@tihMuL^b-
z2D|^$`{ova@+m4%A^)RdMhJ+QpS!rkm3gTse(LJD`rIbAY7AoxJFZ4PTrSnRe(kCa
z(>c3HVzay{@3!d?q)HV5P2x(s_)n8Sp5u)r%0t;QrZ}xjj(b?5%D-fDJ`intO=kD$
zJXzrPs5lGmbnq(OOHa@K<5ds{ZTPQMpYUj5em6_7#1KY!_!BH7@*v`A|P
zv|qvYDtuaXuYzyzjpisP13>Q1uIZ|6a|yjfKGmdml@n8c`JWFz^h=Fgfv(ixYqI{HPj|{Lf66oGPFEk9)Fd{g
z%T^PW(R$Q4+!aygA$=wPRAQm1LB1c4QiIbUAt)rHCI6OS7oEkjCF0Zm0a4!ZKsd*TF9<=T_V>479?W%dJ#oXb?6`l_B-HJP)#>5PZ;l>y5
z2%7KPg3&tdyvn>WT$Xj00}q#pZ8Qjeb}#o??V=d0zt;NUx)ZIKTEF$OO9I83cafL&
zX!Kp2>!NLvx0`oAwt;k+rN&xN*z6BHJygW3kJ#K4c3wPoV|0~lXCbv=FTFbY^er;I&ddoHKg7zg*4nuj_y(OZmJv1CiQM5wqAFwE!xp9EUxm^qp_{hZ1%r;g;{gU0#s7H
zSXZm05gQbPe8g*{?4(j%(@<=mOW5i?Hq|5-8`BNnmGze#SLoipdF(o+!r^K@itVXf
zan6<)+MWt?v|Ok%@9obIP|)$>2v#VtO}#i`6M^w4(opk;CS*sO{^qJ3dzCgf+TLC~
z(Se@#!$4~kyW>EXMe3n-h<(Lj-G4TRW-&0iUOzQW8%{!~mL#aZ4SUN&Kf$pofpVD!
z&Z;VPRp!bgJJ^sF76BDr&ava!aPv=ZmVS(@6zK6hp6+B349VcGUCxmPw!SFe^tpTI
zN$a~kCqa8!{&+7p4EOP+D#5-UfJ>>apPI0w9YyJ<)hHIss>dzFJ
zvG!@eXLu|pX&!J=5YJK{gqwazKL7;Xn`|qtEu2_
zTs`_E&`4;BQ*m?EqP9>;ca#%{A8MR(58sUI*Bdd~tv@q+ZNyr8YOj8Axzu8XR_6ZdGT2tF5wA($#lQA`
z=kP?$C*k!R%r1r6GHAZiiC@3keN`ppY*TK`(5j_2(vw~hHNJvIAuQWYG>VSr%n608oU@H
zHz~b$Xw-crmyJ~hobcqe(!!URN}08Gq{Q`2{PUM&1<;`&F_@Egt_}jOznuc>H}6Bi
zlmy~RhRWbNPF5)KqEj4?)Od^NX2n9kNP+j}5QB_qtl^POmsm&DMABZfl*LYx-GEL~
zwOiFFcUn<4bQUH)MSEItZ*_Fl+Z!>NmoA+g>FC*a9G-tv#Aoi%*jZ`c5$G>n>^OtC
zD|O)BZ%?Z_XzDtXbqq^Sm4KzX@Zg`=&S;kkq+?LV!G@!%VlBR&4C0(_T!gMm
zoF2%3%Dk==4R+$r@(3TH6i)Fv2aj0MsN>R{B`T)0!_u?k&8%b7lA-E5DtyTvtE45C
z-C=^QGdo*aQNyyDLf*81L3?h@mV~FJytVSSz)mv_$6WCqM$9HB
zl^;<^xqI$>%g5P_X5E2}?3DZKsNB6@WSEy!X_M*OV3^0L8TZ90yZ&gpQIYZ6mm?{U
z)ns=6sr|AXoS5do(oziXvp$TF4NlnGrO;k>@+iEpd=vsdY7Q-6{rOx^0r6GGp%6x>
z7n~L5o@c&uwMbdWX@P!4{K#ydRM|1U)2hJ4`S!5)5;engU*(r2Bkj+k
zIH%}M7iD-F;(f7^zkbOg1LK!OjwmMkq|>)UQ*4HM;hE7-_*D9<7yb8ye+9Xk8~$lS
zN^!g+#nbhn%eU8ua;xuleUp9?M#_FrSJO3ei?^gcS(e{yuJew&r<#)2
z1>51+LUuE8a2!vsf>PoD_@e7_w!i4FhC?!{ZNa+=(UUT2snk1k!EvN
zC(iMVf4TJj*}$hH$vsbRJD8eKJ(?isKEjeJc_ZEx#+$00!ZL+!Y+lP;RT`p9PtkG6<*?Be2jC
zAKc-PF-zsl*U0h!9X5@@r2(qcIa88$%A&blg*(KDOq_i+H8j>99NJq_vz8>uaIXwrR?F8~
zk1f7;BgbF|A
zVaJo0EpHPtlidSpUg_2HqnX*t##u+Iv;*;AXDXQm8c}T13)!KpnmtBnrzE_)->Ag<
zn0)vAPTh98S#-aqO$&-Z-9#?!3y;b@c3^2im*dZG;Vv=xw6WVY@yZSviOhX&NH3Gx
z?Kx@Zvu$w=oA|k@>#uH0()9apWn2rBNi(t(Pv+rwW}A!>|1EVtB!T{Hk0Ag9e59Nn<}}HbQj?;YY0oa7|H64p^>oQXBLwe
zL+ErVrg-*+Q56E-d2MTLcv^jZ!}6^0^uSs3jr7@-gLurDLR`k}`i_Ye%+qWdy61sr
z&zWyq$#y0eKGUhB%5(bcGdm4|z^pxZ!``^Q6R_uOih?bu55Jky$lB$T=u)u{oX-e&
zLpKhSiYs;a=NNEx*yva;yyJ^eSjU%7S$^5UWpe@MH77Sb-S)50
zl@#CaKd8ahMBC%8?#ZWDL#QMsuoTxIMF@B+-tsC$`FKuPYslWOiFeYgs9RkHQj9U3>;7o5p$|UXlLTi7AWIbI;=1&!m
zPp9U_@gB7KXlJ>Lw?6#-_@7TRdQJo9#2}*QY3`9W9VFoLqwPj-vqSP9
zA!R3%Qc8Q>N~%VCg-T^>0Rj)MD%YG=l=tQE)GN1p_t;b<_dIJZiA!vEaSS_8l|1x;
z+%$v)vL$VFMPF<5gXW5A`=3HFZ-iD-1uh_b=*>j&@vjeG(%g^%#^ViktR~FjOm1HH
zR1n-o0!c~cEdt@yhJ)cOZ3iX7^RdR@g2zLpBEHu}(nB0=HycAu|4b-hK|lJ9-1i8v
z7^&prhe#TUqw}8Q_|xj1>)P=H%Wh1s2YJOptO7nH9cRdE16vZRut6FaIxTzk6+=5k
z5C*HGSk)i>0MZbEN)Avb|+A}Hv7DiK2c|Q+xdK*;^qqi
z#mzjbjm8qL&3jO6-1M>ytrxm2e7pwMN!=Bw5Nad!2F(?Jg&d%}??*vaX%5+tlJNdFL2ys`fUqu{W|RBXAF;
zUAq-U7Z23zT3}PY@h)Oy@m`yBRz-ZjYe)q#!W=FXcU!vR)u1DbTkb2A2?CA`jo4W8
z1p7Y96;m~6!xdMl?1A2Sf1L*?6h!*L71rqvCm}fco^LfjiZOT569GF{2+7!{lypU*
zPmW+%2=(fg#@J}XWuEm5i`jGpeys!-K3>to`zaDQD=&+8)3+!flS3#LZNkYNU30=!
zh1Q=5&SST^lVEpLD6OJDnU-`I@9=e&iK0cQ4SzyWtzWy=5owz;?g2VhA9Pj>)B3!d
z`w*qb#;}&eT;_9g>XKDI@Zp{al+n*})x}fOlIAiAA;UHm#s`Gr9e0|ah+?YLRI#2T
zfwc`wkKSMcP@8X7U2P!XP~?ybDMarM6MKElMC#JkJ^gMxd`!*L`P@GycN3rd&Vmb~s_
zlVhI=W`5EgA|UN0s)8`%jXOujzjt}c6@3k3(qyzmyBo+}+EmbdlG^Z+Vip2!o+WQ>7XU97@n+>Dr#|5*F?%&v{wL2$mKPqCsbLeO{by6}P7r&jU
zC-aeyN!!6IToZqyj_s+H=@{_YGfELVE!3Z)o-2p=>OGi(a+mI>*Q_3~E&_X`IpF5l
z$pgbPYQ*;u^qNex?rN@Y{ekeor=`Qgr=`7~8@@n}lKWh&hnQ(4m%rPLy->5)56j3V
z$Xb>6klW4SS(~WdLmKwkb&uI`0>B1zrpZxN@?Gct0G%Z_(V
z2&g|_io;duWB7XTA)9
zO=a5l+LJBk^Cr_?7pT-$dEo^8W0`SMli3eiG@S-*z{CeVnY_zZ56{cm`8`Eg{RZE(
zpUl+I<%+4G*>06LG&%DXaEJl9U{YwmFFRk`l4^Qr58=m0M_S1M`EaRFiQLdi^7*qPI4}C~IYF9yEZn&IHpN=2VIr9khdDGac=DrH83^VP1rWIuxHZR4kZ
zr*5`a5I(1bYWKP%K5r1>wWmMjJqCY0_<(Gs)7ozZ!+NRl78VM6oOE%JB2mp$P$}6zLtGJ9k>eGUbbfo^Ngj{O76<
z#=eypc9tOZ0qlvp@S*8(?T+3}Q**k&5?tA(fms-riE{G0z53BCK&!G})*?6Rwcn4<
zDOo7MK8%W6I@)Lj#4$jG51NKKha5
zQB-3oS4i`vbQPHC%x;%jZ@-%=?@kpo@is{g>^ICLDl6S%jU3{OS;aG(FeYx7&D!sA
z)|Mf=TS8z9B$c~cX-asLl206-jV4|D)eZ1rZ^xYTU49JAAL#yjs
ze={$Y;m17i@gc};ziXskC`2Hrd(s=J37*)ClI{m!8URDt*5W%%i5<>q96iUQv7Wv4
zEt(LWDgWBvT~pt`od*minNwEmDm8CMJmMjRqmL)EijOU${@L>N1XEYpXJteDC;fc3
z4};skO=^*^7kVVT7;pY6RS+5%XxBbbzAJn1JJUXzb6U4
zMw1DWVSdVJpR3v$X0}Cb@cp@4{7BRNl(Wukx838}PO;pScQpMepP*6|7t3Y74jimS
zNM!L_n3f>kkbj4AP}#Br3uyR=ymRRI8|3)qdYB96+rF81>3!`{o;K~%zFHBkGaPhp
zP^_NqMJG{u-tdJ?9s6Z@HMJ(aBAx`6U>RGxbA$kNm!u*HGN
zPpk(!J)8uR0Qs8Q71%I88IAPT_EpV&_h9POcLLkyTs!U%B_wN;x9fzFLR!co14%{e
z&c}-ecs9|^uLDRIXEcm{q0hA0*kO9resqLhVt`~lCE!`JF(N$(zDZIc@@C#zb8bPE
zHKeS5`~A==*$q0EPlt}d|6{B)c%B@Zs*ie7zAT{+Xj^#Dgyf~j!}~FE
z2Jcf`DP&IORr&FysyUNNe291P`aWzUGT_Grav5wsmD)!wRzk*vK{guYwy|zxhu!O(
zJLy2opDwSsElRUi*Qb-{P=5Gn3U
znxwyOZ1-)$wVR5T0y|^gJbNi*l=;Tkg((@_{S=Rh^u6JIlZq-*G;-&iH#<|f76L&-
z4c+6<$iY@y2@l<_Jv2GQjOHxaS=_bIir^tSh^v5MS;!|GD(
zQ2fF+fqzw9TjU&s49)8Mw0-tU@n?tB3Ch;T!WqYPa?rgbl;b?9@yMGn
zW$H>sZE)m=F_fwwk($?810cIsLEgo
zKgIO3FYYw20^Jnq7h#`3u$gL8?L}fT@wFv+plpn+xCe7dD?H$mfc>hHQrSt#@%$ux
z?ws$F@e2X$i~FYN3B63q5|aN&1&IOS;ISAATf%muTdH9!zc8%85C~qE^2*|7)R@f{^4@BkN}aESar}9
z`E_iHz7#gGz}^g#8JhC8S!Qs|-SIy8aj3U-Dd6YOZ2aWUuf(n{rQf=(uoIkmbg@!(
z{#@M;s4L-hM3appb%#q>#U-Xkb@ehRj|ppcQ|ve5?XtLKEwzGO
zAsGbO1n*3Ufr3>z{8VfhgM;7DxiL4-E;-8Dgxx(_=jqmwn7;q@UUU*Y@0)e=B%mpC1}(MIoB_9g$4
z(u)4O%_K+$%c6|cjNnNKVf^QjK9`U8;EM$B9{B4A1lk&dZvXtVP|3rK)oZJJ^fX{v
zJT`2`>e!!}4m6dJ5};%o_FGz}=y!*7ONcL#@{6|5gG`|43=kShct
zVOz;_yFN5!>n3}BcOvtGujhByB%TVoTWhif<~JEsFVmciQ+O
zT={ib!zC^o{1uY{7zoz;Tqc
zYQOxo)eFQ#vHp>&_6S9Dlc#Dd6peR#=!am&lRjeXE(RSW~%4`lXb)XKm#~TOU)=s&b;lG-!pGxD#T73VxP0t2&HD~RSB&ZBr_&?PSmm-l-7v
zYMD6c8eTdl1(BU5->qdVX^UsyIyXmpvXCONS9$5E`eHIZK*#5W3-)13pbXrg7+SmQ
z!1M{Rn8tyAFn;WBD7?i1mP#8vvV2v8k9jmOu6@!VwvN&DfkHr`-7g1KOp0qUcKUv
zeD=#OxeiFv=faMxblqVV2LlPzsp0G2ZeN7h39866>-0!3MT;sMN_$?SVjcPTGfO($
z{b=`u8pW87ydXY_{8<7$^|r1*OY*_PQ3}b3{l39V20KZ@y8A~Sy;{b2^21f*DD68$&?d&(NH0!E1R=hKouiq>!UYkNBoAJN?2}
zzQ*B;={5%)B70j(F1Nl)k1;w91Zd-{2R|vR^kU`}4zZl+cnBKgWQWal|oV1wjV1Zo@t3-%U3oZ=XDp$(T
zH_&PNcrbNr!yfR~^mJII1c?m|2EQbMNTm7&FCXisH=JYlc4G}m7VU#yVX)dJPZJ=64IPl
zo|{3^)UuA5+a1c8f44qlcb4f1a7DoI9>q9l`>!#yfi*K7T$(v-B%
zWatA?jt_102S1EnGF=osR%qUxC3@xZaif6#qihd_z#z
zt{uMX6EkS^TcgXgU`U%quY@(VNVQ`)l00z03&ItL@*Qfl`{QUK2ei2s4WwcwsQhT6
zGeih|KSaXm-qx!Y!Q=xOA!i2O1n~=tN1}A`GM6&uuk|J+?WNvbzg<6980gb9Wqr!%
zBaXlC_4f0uO6#^#@BA5DCZOb8Q{QZREcFDR_oizzzkp5CY}|Ap(!`4?OHMWD+p1;5
z=H{{Vg)ts4svf8Zm53@15chwzB^46e-iKxTIr4r^J+@f%-`F5jJ2
zWrqdW#=|fqykg5Y1sBvM@t95fRurpzk00$~#e14u=TCYnry%9&dST|da!+@!a>%|T
zamcP6l`f0q?VL*no78t4eOGa40=rAMTu=x(r|)^~cpCG&{$%MLs*{E6lYIr8)Yy~x
zaf0gw6=^$#xk?55o`K>{p74sfrV{TX};NZa>CjQhu)$mQAMCZQo2
zKRsbQ4fQOBed@T4aeRfebM75iV_1021!1XnJEo&7`IC_fxd$ypmie9Ey9D+ElXC-L
zXIHXzvy)M6Azd>qm3920^Q*J2^|kH8i={m*EtR<;Xng0)$5s=^k
z*}pgx@mlp;7hP#29zAx;WaXPFjJ?~kw27OaFH2W=TN8vceHN~}tyLu^R1^|mCmvhg
z-F$mNj%5a)a4b73`Qy{x)MFow
zN-AfCN_0QCJFbF19vfcjb?u|>6Kk=VBq?vQ-npJoVJW4ZUP~)7kQy8qmv{%=iK7!q
z6}v%c*3yCm=R>9kV#oD@aJ((v)VQncTY9J!VN~S3VU+jfV(%?!uP)pd?T=4Vc9Y5Z
zEgkOsu<5L`=4VhnWiw&U9k||M(6Q}m*ztC5@7JkVnu1&m+LjVeTJLDim9jwJ@A5AH
zII#QZ&8?GuO5u|iz9@vOs`Kx3@L~5bLv83I%<5=1^(znJ@xvwbw+LNL&tsk|M;mKe%D*JcgeCb-FwwOPKF(s|^XoZjc6Y)aC=CBFW1zEvxgO%a)N<8r~HKdNq^
zD#lZb$*7t~FRTnpRb*ygpnGZEK;@|)>u+`U{gH;C2q`79Ur1Z6
zD+vHs1Yj@vTkb-53d=ql{r*JoRj^JNkU3^%mA`A2Ggc@wbn3J`izaw*r+M#)P3y%L
z1yXl@R={6|n4NVykDu%_?om0otco1ad~GD>Tyv7?yZq{h?b^+)T_lPG(ujpQ?m7gY
z(rZ@l_HR3x`rHuK|HCvK10vvoa%}{%G<9#$o_6v8a}JaO**MUXFDkx15eUf2q_8#6
z(G<>f{_{@Vsj=F@|BmHp&zNfmG0)J9Qx%j9)iH2slfC)F4>hk1UPRwYk&5K0DDDUv
zDavEjZ#{O}E;7@vB|#&p6uj*YLN)DiZT1PcExKN}wMSm&BJ|W|-y3o;ZU^Z2GG`+<
z#x!mh25VRS|Ha;$$3xw|@53ZSmLka#$yU>iB!rBRJ^NU)N7;b`p*3yRl}=
zo_)){3}Z`Knqer6Wo*Aob>E-Q=e|F`znAzgPHAZc1+(-8R4k383Tb*B4V-sC=?4q6TTssMi{
zRZ8Gbtu+z-k9q$oj)%kF)rPfJz9$>IigF15SX>scSZ*Vij8K^IBI_4!d@edx{4uCc
zmkKL&MuK{V&08d_J-Bj~maNl8f_
zd*C~VOAh)#3Gw!Od_uR#D65uY;_`&sq{H`5v!4V`INEwmUlt?MFMCfR%ffu!`ucVQ
z*F)!$2k_HlBBB=KmD6P<;l(!Vj;Xb#e_!6rrTewEq(RiPHHN-Sp>?%3cGLdC$l0a=
z2l;QZ)vWN95Rd(k91z@wT;wZ_0;>tzhST**r}$zfS9&tYsV@dqAZG`s!TPqMN7u{-
z1|HPZTJ9it*2rr1{_%8P$%n44;~z>@-RZRu;VhE_jYVqidXHvHy_flAD)qf4H{fLg
zF)Y^~U&oSxSx!POZ*TX5&PJs%Z`{kQ*{#J{PfvZ;Mcq`+{pfcC76*GpHs#M06V>VRN}3|d#F
zhU~64%Ig0}D8>F8slM06MJm(k;Th1oiVx6}qUjbEEMz0`v#_tZ>a5QksutYCANE*H
zI#e}jrreTochdE016y)os)Ty1=zci$vf(Cp7}2uhJptEE)RNm$rpLEy&-R%9n|>da
z{OI#%4*e>(@Kv77>&s(BP2faA7xxEhk_#uN#}D;x)cPvt2aE|ZlP
zIY}SrQWG>DWGB0lxyN!E-kfx-r3M#4t1~N`;C@5{ejo2pO?#b0%--)xvEj-j*RQH%
z>Rl^n9Vk>tJ@S7>cwBY7KXl_G#VmhUYMt+D21?5YS@dFc2xmBS?w5HnkWn*5TzR#b
z)=b4Bat=6Rb*5E2&$qNO`ZBZxQIAe1CYe+y(#)hI@O*sMzDo}9gfm*4y=!&h;5yMK
zjn;HHQ=qK+9|a?G>B23KQv?+CM{L|Ru;@4L*FPl%m*0le3n_V%zdPMJaOTB0$`Een
z_^ooi^Js3wteQxdrxn(xOL(7NMit0-8(s^dnPm>BnG;}=nF+VopM4IZTzdMW7ZqEj
zXO;be9b%KgYxp0$W|L|eF)QDArTM#q0>Dx(eQ;y(YYg_IB}vc`?(Afti+(#P5+Il0
zG3p1)gC7XpJucgpbJdI{BgXaK(X2%F_J)zvcBs^%BB@GdwEr`Fz~~oPkDbIZ0)9{*FV`l_z>U`6!zq)SQ@AsYq_qX4MferqJJ|LP3;gt
zeXwr-V;|e-I5Zu&c~$LbO6kMHt+pEPvO!+PE{eisR5~b|n`
zO_`ZdKo3$~55x;hQO_g#Xh0EtMQEyDb5CwU-NeXkX8kk5e9>c7X0koD;8&j)2GPhG
zgMg&;j31n7I13_L8pIwI^Nl(~UvuHe*_r*>1pEQJ`9k+`Y}6whs;0?6JdB!b(<9+t
z(eFx19VA6SPKOsRYl@m(BBLtk@P9@!*ywkWfEs-gP3?&qn3#ALvE}CCQf^^k$Rbi%
zkq$pjPug~W>43dYH2OZOv8r8f{>e6`RkF0CmuoD`3!S8oh)Fc1tgn+%U3ghTOacTW
zDY*DV^S70iyMP|qPmKqSQ7;dcmQs_D(;g?v%XGz*8P0oiUMX0&BRb~uLP^9)}-&K^peD{C=
z)>(WLbo&Pc+K+(u!+%}|4qO&nrBMExFX#8=!_XI@^Z)%vf%c`3
zqgnq}w0~bl@tx=YzuoYCTeIBLKX3lG|GHBDgJQ(rYUl6E&hw`kyUzZt2K~OAFrT|D
z_TPWRVfcp;m%`s}^S=-GzdQH$DEt3QSRRx7Yc*xXnwXWJXAR6EsFmPs6oDW8ht?}p#jVS;5qSy>#1zuy9o&Me9XR%mwsj;*J)qJGc)!E
z&pHmbxRQ7Gob}hgsCeKi9(mX;C>Iz{KHu7MgL^%J5T*MIWIW#@9%|7!!?E5RB2e^v
zOZaSeae-Ti%Zq(tE+`mP2D>c`@Ib|&|r9qTHh#igg1@h(yJH~wU_Cc{V?f0
zHjbOm-XkIw>*C!DYiyJro$0JXP{t^_-Rjcb3+#S?6B=QWobwJEpn7^U;W44ys1UxH
zN{L1V-5rC<2GD*O+kDh?l2YTT+lz8mTe7AlS>d?h!Zm5H_a^OnOdJV~x;l{s#G)iR
z?~z4ulP=+yGYtI*FeP(`SEvG0`Q7ylrTNL;Ix(?^H#UX2P2(H
zr5&qlE#sx^AA{TBXCzij0vc-6*MD{&4WRodE4%2hj7qC_B@q{&6ny;o5`gV9t|Vls
zen+6tqu4bYeP3QaD*j!fW{hDF2AH@6*qCP#5pLy9Q!m3E9IWjo{SObY8hTQvNXVUD
z_#R+4vkXt}Pu=-hkrZ8La49S%#sua=50qrWQ6ueVj8(F#pHhDP_Qlw((xCG?3rM54
zCV}S@?%dB;|4;+g#ebfUBoM2q`T~(nf4mph==AqWg0N@VN1>@Rk10&$NpZELPR}V!
z6O|=zWMnnmRWD{5KrqV>G$?$FAe=&Xcy?pb_K~)8gI>=y8n|I}xq?QQ{cxxAQ{mf}
zIBinWnt1Paog~He^k+x8g=^eZ4^a0g#PrnIJ*Si3E6PoUM}6K%%cOikwqjD#==-Gg
z)RoFpd|7lFqdAN*eWrPanK?c)mv0)=hK!SAHK~=ZZN*euuq8FTleL%Xt+Syn_zf
zSHn3YcNkf{KRsL#_j(PTvKj~Y>R>IBC3^c*8pS!iJaxA9{(L_T5jlH`4XugI`7
zpG=YY3S<6>&omCRVC%29uQlx>a|cdiHNzqOK{BE1<=M**II)CH>AD>9GrRbx%^|#^
z&F77#Oitb}BmGG)WoZv{+1{gua~Qi^?d@9#Z!A;GNDM(=*CZQ+(f$p6!tWa%QI8cG
zlWZKUq8o)Rle@0R_8mED5_ay-03+ut*Y=@r8(cUo0Rc51}FGJ
z2X2n?8X1$~PDj7HbLHqg#KlJ3c+ipiKD%V56XT
z70R8uwNBSmj}L6Q!91W0K&;sbbdtuAwvfyWCrX*!Hv`ITgLI&~m#9(RDW#P_|o*
zi#t>hL1_
zlwSdK#12yyIzLuy99~JycR}3V&R+Pn>C;~cJ)~V=SW9Mystb4)5M=g!V2<#(IOxyi
znz*^S&`%w2{Di^x5LrDFpWFZ*n-54|@;!b?-jXebHIy8d~y_BD?{?xx$`O1+NcHzFqAYu#}IFGB#
zoEyzpQL`;d&-2=R&Z~GI_Kd54XCbCfDr>!=ZR5yy5wo-SVrh>PZ$Oy3Tph6$u0LBx
z=}JOwrr#p+4b|8Peenxmhk9MyT+CEAAmvpKt)GJ&1{xjxp;>xO{nWoGpuHCXy%c11
z_~Ukie;jNWWgASE7O`gDlR($Z!f|tjb<$4-J@dm{oU7&yE2n*4S!C$>uKmUDh
z|9F8_UnfS5Nbfy{Q(EU|kl{2RUc!aujkKJ}RmZAqZZZ=W(xtllSh4lhz9VZ6p`JI@
z;SS4JH!Ekm!+quxfFAL*b#z+~-kz?(`&4)?{i&VLB*|$2=H_qUYSWEn<^F)t7BbNf
zHIM;_L9>j!Z1O?o1(y0A$J)DgyrLKKI6cq!5{X>H4x%QqD?X-|!wwBD)|Xt;Q5?M%
zXHvsb;~8K!Hj&iylViG4jvV
z1`oVUCS!jLK;b#XxjX#B4c824gaZI7Ai6PQrz=#i#20wk9ODo*_LYfAimgk%3HBga
zFY**A)KMGglB_SW|U3aeP25tA(AAN->Jojm3ihSz31y-9%#5d^+I6Wfx=@F&a3
zbRS5R5}n$tJ!*G9oLyM#;cVKY(Nu&}bO&~bp=$lkrs_q=(DxfiXed%7QCXGhWDC^
z^MZ=aFED+i)2VnxA#@}I;g!Mb^9xN^DF$Esg{BZ8%Ee+GHB^HkPeN+9{b>-)Q8N9(
z5Xd>^5^qd|7q@W41>z7n8+a*nRB_2v?$MLDB6WbKg~w!OXW~J9kKqu-A2P^v!TRqM
zTH!G1up__O10L``4#mu~8QBzlE>xv2p8={6jB$n29YKjt_?49JLu_WpgWP8vWe#-f
zmre`(Ymo+7elOCeHRJ5Y)#bMWSvMMPLb87HzOFBj>f7btAf}`^yUVXl@8jq&l)EH~
zGw5K(Je!nv$y;|u=R(0lRGnci`EWi@U1p)@VSf+Bs>H_U7sNt8xa7Dj{(`MirlZ;U3pjk6!`02j`CN=c4!Eih&{gpdEF*BFx
zWD4ylOs%Sc9Mk2+Wcn!3?9f0*@;%uU6|AeMrbf)=)VcCF2zfe~$DP?35>HkSMB
zo|&Xp?g^zC^pb7dcFXR2i6a+*z9T}Fmg#wJ*uad0>Yl!=>E&aFb{KQ@`m^`2l*g_h
z_lUa;$xe-CASi`Zd5;(EIPV@%k8(ou;dkoi=#I&V`{|jJ^bI0$UJvC};33H-LaD;S
zVX5%Qfs6RF<&hh&hh=y5Mw>J6C)0dXa=A1tKHNP-GXgHXDlI<*Sh4!c7z#>se2OXu
zjyVk^W6F21RIaF#++kbBAaXAOmaN1;Nj+Zg;&<@nixBN@ywx+~mHN&?0yueb#GrRLO9zL?_oww>J^JJ;GAOxKJ;Kn
z7A+Nb_ZMvycnI=Nx5$H}rE;1WG#cMp5>Ngsq=s3bqPI69m!33RHTsADtX8eF(L8V_
zhH}~{HnoPk$Mq_AU1y+yM`kx}ls~#CN(wNF^6m*VFQ`=-t~=(SF7XADebUWS8CouT
z3TvR+^4V!+1=Q@U4E>cNt&~sJ&xDCbVJGa9g-LD@<9c#G^HFx4S~|~gB}GH50Pa;D
zID0d2y?=1(#0RFM;o)E<}1)ORImt3
zy;t-UI!<-m_L~M3+l_ndmw%z&Cf!(7K~qhIouJF4Jls0=<6n{GE3&;5^i>^7qAs;z
zKXrB|rUV=Rv`J297oz9Z5r6OMFWS#|Sq#v_M>^kzTx!y%mES|X?sOUMWp-=gNDxv+
zKS^tih;-MiMgg1Vx$mB{(aU#!JOiwRq{Y1|6%LB+
zx%M3!1Le~L4Ffro(jFBxltY;(LAGn++)&ZkSKn;DQKSrQKAIMmrpSQnfp|}qr-HI8
zV=cK}``u><>(5oc8b>VR2fqoaHIt+>Fw-;;KMGq429*j{&sF%&3#Og-c!l&JY=tB<
z`MOde3^MLCTmPiPp>b5tQA8$mo`8wyZ6Z`4HANp2HGccGPMPsS9-Y@ms9F8-c6!UQ
zk~C7HzgdOo_`4Jq{@O2)+XtV@a>t7$ujQs{m0}&EI87pTor_C!KS^$+c&ybHM=1|O
zM@GcFsD4ya;;x1GR&yJFK(#5ieYzl#`eSOtnOa1QSG)crG4*1URua-9yg)3V(Np6r5c`w5-<5Ze*{&9Xf@er`#n$f125|rz1n;CWBOn-ydoYpE9d5a_Sgow!x8MZ@`fU%dr}71D3+^I_sk|
z`FgZM(X2Y9_=NV!YRkOp#5_-G5p`S=A@Y7U!l$jpQz!E7VP%)_(3<%s@A
z@*;I4vOPqDja0{S%$?(XZL(+IeMQt~zhiy^C3m+igy2gocA=SC!GY@Y#V~WbH5+k1
zQ1pdUIWtxGorj@@s$M3>Mncc_p_ekC+%QWPZ|OZ|4UVY`mzkWEa|;!^Rg$KhPcFLZ
z3l?WZo%k55E*Y=}KT@zfQUAKPA=an^)KTMu^Oa6hOb3K*R4~P_F0MYTFM_6Sw46#d
z*eUXmgbdpvdE&1vt{P`eVM#XFclTK=Go@O!KQqEQe-mdxjXU|K*pZi_BG#ZPD%s2v
zN7wc0#d>iO9ryhdnPC+g_P$~S=!@@GQz%_5r$y!XXN%hou*s1PH6$oYQavMNy7?+O
zxn$^^$P{Uq;KC0CZt&+kdu&d!tEWSeAxfznIYyFu^7*c=wlpuyq}HQ4S+&`nHtnqI
z31W7ik3z5ksJ~G*T(8_N_vH(0ny`fo8g)l~OvO8ZSunv#IPUtGlf2As{O|`hB`4to
zKL&}I`eK`&11d0>mH5wiXOT3%UgUc+GfX>5uRw&RiDx)dTPQ9cPGdglQ{`<77
zHP8zF)N3xq+srcX1tX-t?`o(nxGcXw^SoBktuH?ol*nA=1d7##YfJ?2zWqprz~`Z#
z-eU*J6;ZM_)|&U*FW<)PnFHA7P1xQfN;k(VH6D$oFp5wItKU8+y1xRMuJ6LQ0^dWW
z;~l#mTl=b(J}_|jS!FZhH?|UcG^8HhI#vdPYyQOr*WTv=OxpB|{CxVzH(7AT{iO_6
z<<SK*H5
z9;{NMz6=CNVM(Vp1J8Hihc70^0A;0`{?BlFeLT&X463N9ot#@D`$eV+{E1lSmT=J{
zQOI@EAjDb@BqVW1zqh`;UxP&mlclmp6_*W9RniyJYkz$>zH}u9B8ro(+Ijc5U_@WK
zx10N|T?xh+7IrIYt82eP-S!4*oF&e1J-2=$p~%#ygoeqMKPa)%135Ic4b0Lz_wXb+
zG`c!cU(0E8FScwmG|p~t{Hm|6I#;h!yS*9tpfuArDflUVp-cSS=m$_+&wS4sd8zXR
zaC4g*FHx^H`F|H==yY}XyU(fxN2{XDoTeZZAr&T(?N~n^>Nh=+jNgT
zL(vIWQ#1q$82dbJ(B48QsBT^WpaT$JMOoLg6-ys@OggUTcif!m6J97p)V?*yZd%0E
zg<$}RJHey3w1JRNDB{c6O2)^?qF{(0U0$uwx9;2;!TPcIm-RY^r!y8=mvF-1Ihhz<
zQ@e%;6u40(CLsfs_3(p;PSd?8WqV_Gr%#|303Lnk@~ybEcj|q7nGCpVUA~RrF>CEA
z1d0TKfIv5t&!W9+RDpjf>{|%4pD7B_!{>fWXh3%XZE>H_=o>oIX$ekx0LrADu1MOG
zoanzoKXRbl=W39{dB(8qAJW{xPL$9Gb
zu9Wcv{S_5Fg`OU$?ooA*{562+pfT)n%*!0*PS~-JX-Iy_K$DNK@Xz%C?XT*y>h(E0
z?K}m`n-f3e_E=S^IY9^Mq5waM`+9p}Q{zyl;=8q^^p#mU2*t<+{^-UnQoy~uqoT|E
z2R_rMKYadtYr#reu~z;{dQKB>9ng0Fq8Cs_P%5-u$dI@ROq({|GC!H{0xCY64g3e?dFBi*rl-X&52T{?K|HTZF+97_e~l!6x1OF
z@Sw#p*}Wq55A!ROHe#>lO;y3NL?su*|Im>?1$xR+PP>o2fJAFSJiGVe%no&6-$?Pf
z@^MzOX>y(h!}yZ3u5iMonPHNb`(BD(7_ZE7UMcpGkHCHs8tG&GZgu8iUH#LzRkV*(
z6?&$IIDm{6I6{6&6VTSwCfR|R8fkZTmcNAS*_<3H(N9OS_lW;i+=yL@A?2w%V87s(a>DkHd;`ZzkEL@dz4)w*_}l=Fgk2waw&Cl}Dc8
zcvW6yrPR35B}hMWp??yi(zro9+RvdE{8;iigtv$FOK72J^*Jqx>T$z(&B#>w8t9OD
zN?zypWaU@wi3t>Ov7m&^U*#)fduyBF0dak7f{o650*{&L8_E8%XCGH;;gr;)?^CH9
zd&z{}Ne7z>Plt*Wzt(ddfWBJE_>8*iBdz){yZ)dI(LHf?|58KtatzW$Xu8rQpGLaE
zf&hKLYnzfMc1*a0MpI(76IFEKnKtb9B0)ONZIY
z6iN~2;}F@`7^N)xE~i{WlFrs5vn~fjKG3cQtX{f9EbLM;qQ?~XR^H?@-oR?hJlZN{
zEH93r#Dr(TBhX$i0r4HTmwXRvf4P~^pe$K%xI07o&B6YS+|#%|8W)#Ji#xOjNWtII
zN%jLEu7iIBGwd|rn)$PPd)Sl8DeFUr`&&bnAfLMr&-M%iB7yI
z3u_;N=G~B7RvjooI~&uR>Pu$8@2Cc$6O96FEwbx!d?m}97xUoRms`9cSFN33VL(`C
zHkuiNxIOj6=Vr&f+8Qda61wq7W#MFbX!+53KPfZ)`1jw$f(X6KXIZ{@xU&AjV+kkX3no1pUs
zHFn_a5O;jFO-dn;WHEoy+dIDOQJN`qkh1XlR5*3+8Aqz9dAZ0rGZCCdG}r%S$tJF7C&&Ds=Ib6
zg(k8?Erc(&maF|;Y_11i%5)GXM`;ZTCh*_uMmS}S>$UJDk`e-K}|yU60%or
zWXcuV`1XQL3ae}~5>twMEA2G8i12m%X3*+cYiVJb7xs3OCu}1dS#q4H0ucNFR2JkZ
zoXZcRhgZz6=D`)B6S81Y;%{p!^5ToPUX0qs>hZi)^wSBtS}@N;ibumOn*R4zdgygC{A
z2Z6FXhlonr-nK$Nd_yAyj?F5D*djpvb8oX%MJL_Xm(}k6X@XgI~a;+9r
z_VlZhV+{#G*l6fAh5Cpq%7lCW)&O{WqVoS|`Tv!zYJ_Ga^iB<%@->FL(Rs3OlxO~%
zGQ0_u51%3pX4}^U_C*ix1;})Tr(4Xj_3W|N2UxOx^#HV5qGm+mXi@Acf6JdDi@n(9
z$WjouK*K{uZ8>GYX{(sCMw$D281JJEdu=qkduXWX_-_Z_7UsA;`@)cw^R_OBYxOsy
zVZ5R+I8HK3Gze7it(fR3`n6gBSSXPhYFQtBZRe2v4*d}|DcLMJ%kB^;%dJ&+sKVFS
z-glqENE-Zk+(@tLr(9|A27#olsj3=gBy6>0J;mj;gnRgYv{i9W|6sp`8O4dgQIRx!
zK!o{JC}=|s>(6uRfbG$wP1NhQ${pd@8d}MqpO`qO5jfHVdRgnZGENWa%-MS|>X;&J
znJjMX1A=)sjKh6f7Pkw
zwQXhlQ08Jj8$nPhzgMnq-f}NX$