From 3cc77d96eb35512ec70f6e89b2d2d73cc0f680ea Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Fri, 7 Oct 2022 08:05:56 -0500 Subject: [PATCH] feat: Add tunnel by default (#4399) * feat: Add tunnel by default If an access URL is not specified, we will always tunnel. This is from community-member feedback who exclaimed that it's confusing having the default for `coder server` display a warning message, and I agree. There is very little (maybe none) in running `coder server` without tunnel and without an access URL, so this seems like overall a much better UX. * Update install.sh Co-authored-by: Ben Potter * Update docs/install/packages.md Co-authored-by: Ben Potter * Fix reset pass test * Fix e2e test Co-authored-by: Ben Potter --- README.md | 2 +- cli/resetpassword_test.go | 1 + cli/server.go | 48 +++++++++++------------- cli/server_test.go | 14 +++++++ coder.env | 9 +---- coderd/authorize.go | 2 +- coderd/csp.go | 2 +- coderd/workspaceagents.go | 4 +- docker-compose.yaml | 3 -- docs/admin/configure.md | 10 ++--- docs/images/quickstart/aws/aws7.png | Bin 54386 -> 0 bytes docs/images/quickstart/azure/azure7.png | Bin 54386 -> 0 bytes docs/install/binary.md | 2 +- docs/install/docker.md | 7 +--- docs/install/packages.md | 2 +- docs/quickstart.md | 2 - docs/quickstart/aws.md | 10 +---- docs/quickstart/azure.md | 10 +---- docs/quickstart/docker.md | 14 ++----- install.sh | 2 +- scripts/develop.sh | 2 +- site/e2e/playwright.config.ts | 2 +- 22 files changed, 60 insertions(+), 88 deletions(-) delete mode 100644 docs/images/quickstart/aws/aws7.png delete mode 100644 docs/images/quickstart/azure/azure7.png diff --git a/README.md b/README.md index be732373f7..157510b19f 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ Once installed, you can start a production deployment1 with a single ```sh # Automatically sets up an external access URL on *.try.coder.app -coder server --tunnel +coder server # Requires a PostgreSQL instance and external access URL coder server --postgres-url --access-url diff --git a/cli/resetpassword_test.go b/cli/resetpassword_test.go index 8521a28e16..1beade14e9 100644 --- a/cli/resetpassword_test.go +++ b/cli/resetpassword_test.go @@ -41,6 +41,7 @@ func TestResetPassword(t *testing.T) { serverCmd, cfg := clitest.New(t, "server", "--address", ":0", + "--access-url", "example.com", "--postgres-url", connectionURL, "--cache-dir", t.TempDir(), ) diff --git a/cli/server.go b/cli/server.go index 7fbef723a4..1d54f8936a 100644 --- a/cli/server.go +++ b/cli/server.go @@ -111,7 +111,6 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error)) tlsEnable bool tlsKeyFiles []string tlsMinVersion string - tunnel bool traceEnable bool secureAuthCookie bool sshKeygenAlgorithmRaw string @@ -243,26 +242,23 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error)) if tlsEnable { localURL.Scheme = "https" } - if accessURL == "" { - accessURL = localURL.String() - } var ( ctxTunnel, closeTunnel = context.WithCancel(ctx) - devTunnel *devtunnel.Tunnel - devTunnelErr <-chan error + tunnel *devtunnel.Tunnel + tunnelErr <-chan error ) defer closeTunnel() - // If we're attempting to tunnel in dev-mode, the access URL - // needs to be changed to use the tunnel. - if tunnel { - cmd.Printf("Opening tunnel so workspaces can connect to your deployment\n") - devTunnel, devTunnelErr, err = devtunnel.New(ctxTunnel, logger.Named("devtunnel")) + // If the access URL is empty, we attempt to run a reverse-proxy tunnel + // to make the initial setup really simple. + if accessURL == "" { + cmd.Printf("Opening tunnel so workspaces can connect to your deployment. For production scenarios, specify an external access URL\n") + tunnel, tunnelErr, err = devtunnel.New(ctxTunnel, logger.Named("devtunnel")) if err != nil { return xerrors.Errorf("create tunnel: %w", err) } - accessURL = devTunnel.URL + accessURL = tunnel.URL } accessURLParsed, err := parseURL(ctx, accessURL) @@ -288,11 +284,11 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error)) if isLocal { reason = "isn't externally reachable" } - cmd.Printf("%s The access URL %s %s, this may cause unexpected problems when creating workspaces. Generate a unique *.try.coder.app URL with:\n", cliui.Styles.Warn.Render("Warning:"), cliui.Styles.Field.Render(accessURLParsed.String()), reason) - cmd.Println(cliui.Styles.Code.Render(strings.Join(os.Args, " ") + " --tunnel")) + cmd.Printf("%s The access URL %s %s, this may cause unexpected problems when creating workspaces. Generate a unique *.try.coder.app URL by not specifying an access URL.\n", cliui.Styles.Warn.Render("Warning:"), cliui.Styles.Field.Render(accessURLParsed.String()), reason) } - cmd.Printf("View the Web UI: %s\n", accessURLParsed.String()) + // A newline is added before for visibility in terminal output. + cmd.Printf("\nView the Web UI: %s\n", accessURLParsed.String()) // Used for zero-trust instance identity with Google Cloud. googleTokenValidator, err := idtoken.NewValidator(ctx, option.WithoutAuthentication()) @@ -472,7 +468,7 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error)) OIDCIssuerURL: oidcIssuerURL, Prometheus: promEnabled, STUN: len(derpServerSTUNAddrs) != 0, - Tunnel: tunnel, + Tunnel: tunnel != nil, }) if err != nil { return xerrors.Errorf("create telemetry reporter: %w", err) @@ -569,17 +565,17 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error)) eg.Go(func() error { // Make sure to close the tunnel listener if we exit so the // errgroup doesn't wait forever! - if tunnel { - defer devTunnel.Listener.Close() + if tunnel != nil { + defer tunnel.Listener.Close() } return server.Serve(listener) }) - if tunnel { + if tunnel != nil { eg.Go(func() error { defer listener.Close() - return server.Serve(devTunnel.Listener) + return server.Serve(tunnel.Listener) }) } go func() { @@ -624,7 +620,7 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error)) _, _ = fmt.Fprintln(cmd.OutOrStdout(), cliui.Styles.Bold.Render( "Interrupt caught, gracefully exiting. Use ctrl+\\ to force quit", )) - case exitErr = <-devTunnelErr: + case exitErr = <-tunnelErr: if exitErr == nil { exitErr = xerrors.New("dev tunnel closed unexpectedly") } @@ -650,9 +646,9 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error)) // in-flight requests, give in-flight requests 5 seconds to // complete. cmd.Println("Shutting down API server...") - err = shutdownWithTimeout(server.Shutdown, 5*time.Second) + err = shutdownWithTimeout(server.Shutdown, 3*time.Second) if err != nil { - cmd.Printf("API server shutdown took longer than 5s: %s", err) + cmd.Printf("API server shutdown took longer than 3s: %s\n", err) } else { cmd.Printf("Gracefully shut down API server\n") } @@ -694,10 +690,10 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error)) cmd.Println("Done waiting for WebSocket connections") // Close tunnel after we no longer have in-flight connections. - if tunnel { + if tunnel != nil { cmd.Println("Waiting for tunnel to close...") closeTunnel() - <-devTunnelErr + <-tunnelErr cmd.Println("Done waiting for tunnel") } @@ -855,8 +851,6 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error)) "Paths to the private keys for each of the certificates. It requires a PEM-encoded file") cliflag.StringVarP(root.Flags(), &tlsMinVersion, "tls-min-version", "", "CODER_TLS_MIN_VERSION", "tls12", `Minimum supported version of TLS. Accepted values are "tls10", "tls11", "tls12" or "tls13"`) - cliflag.BoolVarP(root.Flags(), &tunnel, "tunnel", "", "CODER_TUNNEL", false, - "Workspaces must be able to reach the `access-url`. This overrides your access URL with a public access URL that tunnels your Coder deployment.") cliflag.BoolVarP(root.Flags(), &traceEnable, "trace", "", "CODER_TRACE", false, "Whether application tracing data is collected.") cliflag.BoolVarP(root.Flags(), &secureAuthCookie, "secure-auth-cookie", "", "CODER_SECURE_AUTH_COOKIE", false, diff --git a/cli/server_test.go b/cli/server_test.go index 6f4192f42c..fe71da9309 100644 --- a/cli/server_test.go +++ b/cli/server_test.go @@ -56,6 +56,7 @@ func TestServer(t *testing.T) { root, cfg := clitest.New(t, "server", "--address", ":0", + "--access-url", "example.com", "--postgres-url", connectionURL, "--cache-dir", t.TempDir(), ) @@ -87,6 +88,7 @@ func TestServer(t *testing.T) { root, cfg := clitest.New(t, "server", "--address", ":0", + "--access-url", "example.com", "--cache-dir", t.TempDir(), ) pty := ptytest.New(t) @@ -159,6 +161,7 @@ func TestServer(t *testing.T) { "server", "--in-memory", "--address", ":0", + "--access-url", "example.com", "--access-url", "foobarbaz.mydomain", "--cache-dir", t.TempDir(), ) @@ -189,6 +192,7 @@ func TestServer(t *testing.T) { "server", "--in-memory", "--address", ":0", + "--access-url", "example.com", "--access-url", "https://google.com", "--cache-dir", t.TempDir(), ) @@ -218,6 +222,7 @@ func TestServer(t *testing.T) { "server", "--in-memory", "--address", ":0", + "--access-url", "example.com", "--tls-enable", "--tls-min-version", "tls9", "--cache-dir", t.TempDir(), @@ -234,6 +239,7 @@ func TestServer(t *testing.T) { "server", "--in-memory", "--address", ":0", + "--access-url", "example.com", "--tls-enable", "--tls-client-auth", "something", "--cache-dir", t.TempDir(), @@ -290,6 +296,7 @@ func TestServer(t *testing.T) { "server", "--in-memory", "--address", ":0", + "--access-url", "example.com", "--cache-dir", t.TempDir(), } args = append(args, c.args...) @@ -310,6 +317,7 @@ func TestServer(t *testing.T) { "server", "--in-memory", "--address", ":0", + "--access-url", "example.com", "--tls-enable", "--tls-cert-file", certPath, "--tls-key-file", keyPath, @@ -349,6 +357,7 @@ func TestServer(t *testing.T) { "server", "--in-memory", "--address", ":0", + "--access-url", "example.com", "--tls-enable", "--tls-cert-file", cert1Path, "--tls-key-file", key1Path, @@ -432,6 +441,7 @@ func TestServer(t *testing.T) { "server", "--in-memory", "--address", ":0", + "--access-url", "example.com", "--provisioner-daemons", "1", "--cache-dir", t.TempDir(), ) @@ -458,6 +468,7 @@ func TestServer(t *testing.T) { "server", "--in-memory", "--address", ":0", + "--access-url", "example.com", "--trace=true", "--cache-dir", t.TempDir(), ) @@ -495,6 +506,7 @@ func TestServer(t *testing.T) { "server", "--in-memory", "--address", ":0", + "--access-url", "example.com", "--telemetry", "--telemetry-url", server.URL, "--cache-dir", t.TempDir(), @@ -525,6 +537,7 @@ func TestServer(t *testing.T) { "server", "--in-memory", "--address", ":0", + "--access-url", "example.com", "--provisioner-daemons", "1", "--prometheus-enable", "--prometheus-address", ":"+strconv.Itoa(randomPort), @@ -577,6 +590,7 @@ func TestServer(t *testing.T) { "server", "--in-memory", "--address", ":0", + "--access-url", "example.com", "--oauth2-github-client-id", "fake", "--oauth2-github-client-secret", "fake", "--oauth2-github-enterprise-base-url", fakeRedirect, diff --git a/coder.env b/coder.env index c7c880eb57..0c198649e0 100644 --- a/coder.env +++ b/coder.env @@ -1,11 +1,4 @@ -# Coder must be reachable from an external URL -# for users and workspaces to connect. - -# Option 1) Enable CODER_TUNNEL to generate a -# unique *. try.coder.com access URL -CODER_TUNNEL=false - -# Option 2) Set an access URL +# Coder must be reachable from an external URL for users and workspaces to connect. # e.g. https://coder.example.com CODER_ACCESS_URL= diff --git a/coderd/authorize.go b/coderd/authorize.go index c0b8eaba75..b23acbc2ba 100644 --- a/coderd/authorize.go +++ b/coderd/authorize.go @@ -119,7 +119,7 @@ func (api *API) checkAuthorization(rw http.ResponseWriter, r *http.Request) { return } - api.Logger.Warn(ctx, "check-auth", + api.Logger.Debug(ctx, "check-auth", slog.F("my_id", httpmw.APIKey(r).UserID), slog.F("got_id", auth.ID), slog.F("name", auth.Username), diff --git a/coderd/csp.go b/coderd/csp.go index 473cf6fd60..3971946380 100644 --- a/coderd/csp.go +++ b/coderd/csp.go @@ -34,7 +34,7 @@ func (api *API) logReportCSPViolations(rw http.ResponseWriter, r *http.Request) for k, v := range v.Report { fields = append(fields, slog.F(k, v)) } - api.Logger.Warn(ctx, "csp violation", fields...) + api.Logger.Debug(ctx, "csp violation", fields...) httpapi.Write(ctx, rw, http.StatusOK, "ok") } diff --git a/coderd/workspaceagents.go b/coderd/workspaceagents.go index f7301b9bd3..41d39938d9 100644 --- a/coderd/workspaceagents.go +++ b/coderd/workspaceagents.go @@ -311,7 +311,7 @@ func (api *API) dialWorkspaceAgentTailnet(r *http.Request, agentID uuid.UUID) (* conn, err := tailnet.NewConn(&tailnet.Options{ Addresses: []netip.Prefix{netip.PrefixFrom(tailnet.IP(), 128)}, DERPMap: derpMap, - Logger: api.Logger.Named("tailnet").Leveled(slog.LevelDebug), + Logger: api.Logger.Named("tailnet"), }) if err != nil { return nil, xerrors.Errorf("create tailnet conn: %w", err) @@ -453,7 +453,7 @@ func (api *API) workspaceAgentCoordinate(rw http.ResponseWriter, r *http.Request // Ignore all trace spans after this. ctx = trace.ContextWithSpan(ctx, tracing.NoopSpan) - api.Logger.Info(ctx, "accepting agent", slog.F("resource", resource), slog.F("agent", workspaceAgent)) + api.Logger.Info(ctx, "accepting agent", slog.F("agent", workspaceAgent)) defer conn.Close(websocket.StatusNormalClosure, "") diff --git a/docker-compose.yaml b/docker-compose.yaml index 0c6e169500..a8bab5a977 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -13,9 +13,6 @@ services: # that workspaces can reach. This cannot be localhost # or 127.0.0.1 for non-Docker templates! CODER_ACCESS_URL: "${CODER_ACCESS_URL}" - # Alternatively, you can enable CODER_TUNNEL for - # proof-of-concept deployments. - CODER_TUNNEL: "${CODER_TUNNEL:-false}" # If the coder user does not have write permissions on # the docker socket, you can uncomment the following # lines and set the group ID to one that has write diff --git a/docs/admin/configure.md b/docs/admin/configure.md index 63c6a44930..8e70475fe2 100644 --- a/docs/admin/configure.md +++ b/docs/admin/configure.md @@ -1,11 +1,6 @@ Coder server's primary configuration is done via environment variables. For a full list of the options, run `coder server --help` on the host. -## Tunnel - -For proof-of-concept deployments, you can set `CODER_TUNNEL=true` to run Coder on a unique `*.try.coder.app` URL. -This is a quick way to allow users and workspaces outside your LAN to connect to Coder. - ## Access URL `CODER_ACCESS_URL` is required if you are not using the tunnel. Set this to the external URL @@ -14,6 +9,11 @@ should not be localhost. > Access URL should be a external IP address or domain with DNS records pointing to Coder. +### Tunnel + +If an access URL is not specified, Coder will create +a publicly accessible URL to reverse proxy your deployment for simple setup. + ## Wildcard access URL `CODER_WILDCARD_ACCESS_URL` is necessary for [port forwarding](../networking/port-forwarding.md#dashboard) diff --git a/docs/images/quickstart/aws/aws7.png b/docs/images/quickstart/aws/aws7.png deleted file mode 100644 index 3d7b08f3da53dc96481703469c3bac01e7a93867..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54386 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 diff --git a/docs/images/quickstart/azure/azure7.png b/docs/images/quickstart/azure/azure7.png deleted file mode 100644 index 3d7b08f3da53dc96481703469c3bac01e7a93867..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54386 zcmc$`WmFv9x-E=*kU$^=4elP?gA?4{Em%Vn+}$05Lm)s1?(PJFYtY7mySshGes!Na z?iu&r*JD&yb=8tu_Q-tZ>M%ul$rmVZP@tfoUPw!cDMLZQK%k(YwUH2jJB;7LS%Dv7 zR`1^{O22>bzq#Li)wab2cpYNT8R^X1)krc0; zf%f$Y%0a?WLJj!axw5_%3SyzhkM0UMeLXG8*BjEwAvP-PD_ z2h)!qCd~fY0BVj`TI%0}buz3AkRH zeR^uQXJx5?zEBuPgc^j`8%**w13C{X+)Pv2Tuu&(4!A~wf`fho1rJ<71BW0q!Qa;s z&@@o6|G5tX1r=fi1@~tfdEor~i3N`5Jb#>Fy`O{XanogQ>A9zjd zZJCTr?TyWtTx~(mA4RCKe_ZGC>qlQc`|LQ*&NrF^NC31HS~wES;P{yv)olE-p+i>`eBK7R;gpI zfBtw+GgqsBYO(|W*({)e%+F7lS(#Xv|1KNI%KvkVbQ1h$xcFIl#1vG4Gcd{i^C<>z!Rd4k%prC}I zq{T#3U7`0g;azbg3Hl631Cido6^0SO3uRLA@Max<3b9zYo6Ss<&#kSk&8>~xNBjzo)zx|JbBlM&`$K$Ij_XYKxIeL= z$%NrTp|D6{#C(x3p~+%N;U=!vZ&Kh~{B!a@g#Gj2IhAl)Mw_@4Xfo-)vIxVy4242I zgoBZtd->m`QN&VdEah@^$<4t0UBQ2{N|C})G+-k!n92UTZeh4sC}g`P^nbk$kXjh# zC241-FNoIqzu#2YKfUbF>O#3-cG$T^H(LZT3C;+!f+SBzT?hH`O%vxA3P~K^{LJVh z$XY@U;>$n)N@|f)wzemu+$cZVR_&RDIy>Y;+r?~y=FP5b;8G$sBafu|i z+3(DKqN>{ori(3P7j&W3qN~P}|K~QEWK=_^1!E0D%z@`_4h2O9>?8`8dN3>W#CFvq#&UM4uOr zHmCwFu*CXJ!-z^P5w~3%LXSc1h2`=U&eRgU?(?5jAF^H_%+TeHUoR=Ab2hz!jQqwE8Dwh_|;7TGktCMgD9xnI1R|rOpA6J zTGFZ4lOr!ys}JQ!e>=ZsuoH;X$p2;_{_X5No?yICvwZv4lB}{SY0zGmSX?|7^o~}N zroYbOd6SSQviLn6MZ=2x_pONY53c=7Vr54H_+3m(ETXX^ozVL2?q)d2@#ta;pEVz{ zR2de*ra`$c=qj-eu`!)@)crNy*O0tyF_zX8zObJc-cf(IGFzor;WN#f{xN>`!9rz2 z*~(PUzu7b7R!cNJn#nzZ4f{fgNT`;JriZDP+m`99673krRg{XK25#ru+&KPAi#h*~Qs8YbR~&*9t+v}X4KF?U#V-xAs>E|{%3)XTN4hJlhhUb1OW++v?sBj|2OYGE@-xz9 zFDN=Qbv=T2&7wO($QlxU-}r++-W_IlqYV}K{a_5KoS8qGxlY-ONyM>JxRV0)87M4F zVw`A1tbfKvK3t!nPX1`B1}bzJfogRg^_8_DUOLL#JZYK8cQJ%<<%OU(VltDBr>*pg z@|6+7X0^@D{f^YSe}x;o3OPly+3io)upf$cFLW8`z;!MN(O_O%zZrKuGY5e;goyRU zdJWYfZtJI;tOQ+;T zV6Xh1Js*+xoR{tV__Suv#}EZt^HkI2PNMa|4RynT#$a9!w!l)NawCA5@U3p9zcMzE z657@kSadVsuH+(&yCM;}j=Gbu7aTGz;Cqb+MV=6;pW2yvAu_avX zN8kzimLY*relM`^jAWZ<>(B#uhV-!Uk{6>W^OE0SX+}Gn`Mm_*8bMBIm zLg|L#0+`k+3;VK0!M@$v!O?hG;Tj@0Sg;1_h8}W-TH11rO55`pl6+|Ct+6*~UtKn< zWWB^EiOu5Ly=^o96#fn@XAHT%ZmTUMd3nm4kg}4K*E3Tb%e+_2b$mQvi~nl+En<3_ z$J#OebV#LR!@P-g`vO@*e$)5CnrWZiYj?L^$@bzw`JFy0e*)@N7k%pmGAUgzAJB+| z5$-e`7s~yThs9~qQG|{+Gc)>6oiA`4nG<+f5LYPKg~uE%@7lJ~FGF~>E7vG>%8y*# zGHyE&(zh@YaVj3Jcr?0sB^iiRCYVQb@T%W@hflOo%8a3+B^Qhd-4qgieBG{!kCxg}E&Pz}&T^7IN<+9%=i-T} zI}7fi(RGUrO1-!(kyN44ERAH-yj7{f+f!?lx2JrouGwbSkrXasiF>3z=&U1Lr>rbX3JN8n}?wkMs}x#dsKx>or@*hAAyPWKf$!LS=gEeahK8u zQwvARp7-apN|ko zRn!b)P{C5h{Mz4B z{&tjFd~W+lui+&uRDg)&DQdWxX`mr z$o62qf}NlgI43fn&e)DK7Jm-%MJLPl1eFaJ_;fEr1?siHYdrFfNTzzp;QHozXFH60 z8()y5O~Y2Sa7Ki{KF;?BDPAe)8IccRbTBqklYHup!()Wjt)L74k#)_7Fk*uojA&8* zo+?=*m9w@ZE-E%#w;JzKPKR~|OJIO`;>Tn6H3nRH%xOj39U_Q&oxfpg1feY(cZOk< zhCCDT+SjJ}Tv9z7ttC(6*wzOg4c|TN8IiW8Krqh?L;4^=&-T| z(9Thq^H-JxJ<+cb(GfH*`6VJq6pn-tmQlo^<-YX_`anmd`CyD@r+HX^We|9L;GS5v zSZ2_}FW+XHw#3Tc2Gg=;KMNmZar<^zt5`Yu>8>g*o;}#B%RyU0HgT&w&Ro?0O!(eQKVOpr3hn1>bu0 z`un1CT-ak6`3j>CL60Q=n8X!e*NO}!6iQrlaB~ZYx(5Z7JI*uVcS?eo4+T-0eY8zE z1P~hErA~!B{nno}fr0ROiH~3eS?;+lS6b2Y+*mG;V4X#IN2RBCA3Qh+Qen2i*GN@7 z?)8JVdc=7YihPzUG}2v(XlV`#~-YDgd^ol@l`OrFr zIlJ?{1DDA3I5{56=5|2~369kH)hg2tOx#%~jSBm;G&uur9ns6KLDLY8lDTYA|J zKE+GxERsV?gsrc#Pw&(LYwwIV0q*L(^MS=cYEnC8v)4VD2lg?0wz8Xp0@7Eb02)4@ z6j*MMW^K6;VMZ;qX!61OwfJr8>S*hnZzQ5Z46OJyC%)uJ9x*@X&VDimY0XAs@xIIOKta54gg?Pn$R&j5m3-yR4-abQEjbClDeDipACR2pjX*a@t4V@*P}GqFkQxDqIgWy$st1Z0A*~lI`1s zjC_)|m&JNnQ8J7ENesF#9hKq0{>^GDn8&nQW09CruzFn47Am^@BDNCBv<;P!?Np_{ zPn`FZuMp#r!k9bt8Z}U9X1);fw|SE!ySy>`)K;e&*JDG{rnO!7iOhha&Ktja)svsEw94Uk7b732a=>Wi8lgBia+jn3q9Ro&AxMQgOL3*DVh?U`!K+(6WP5U z7*bcZj+GzRH#d+C?9w`lBRx1QvAs?kpCJK3b#!YSvrw`cahbhM%UwjzI%zoH)S1MxZ+cezsBwl}ZoHM1Zb*CWg# z4-8(wo04*=4cSS}F{bO0IB@=o*ptou;7n}0qjc{R+#aG=xx<450tb@j1_H~N9k+V3~I-(GhF5^ED`&UnO+)6^!0C9iCP_n+>gVpyaMyM7?=?9$&_nZGp5%z|np8ZzeD(_aRCv;45&u&j2sMlu2y71M~ zAjX)y=;Ei%|0z?n{h&zy>38J!O=dP5o<}fDO z-0%#Q3JKS-y*)S&M1_=S^^KuQ(fTVw*6wTf#m`P=c2hzc8%s{!HVhve(#+v24B1-O zx~@uD^fC~qoosFS#%~By8 zNlse)+Ru~kim8RGKVRuU;$|D6b|_YEHXZKKPd5*~D=hEYB|gGiqG^}H?k;&9O{cnd z1;5N7{GDthPN4aKRM!x^SX074A%4ey#-`NT#X@ah^+dd<3s&@?>2zjOji~zit*~co zdi1^_)-w0<9o0sDt-LTr=4q$>fp;H?Q99yNZ?PeULeY!sB0!@0^ToHm*;EOe#bKyT zK;UP&pZVSzSrA^dM%7!%C@OW{7^A7=3)GCu3rcu|dteE79$<%_Yy&bsZy3yKmAKc6Yfhhq2v9KXrjI(>!eUnOci| zWA5gM9CaMK??p$@-9I0aJJ}n962qb8<~Y(2a7pg9{hM9azAIW=A_@w?%0X#6j$@Fg zSoNhk;%wkqc|L|Fpt7uWVtHq1D}Upy?&=cb=FO;&+QffKt=Hmw8@4L_OK|5_sG285 z&KjlbI}3KW-SNgIvZq`(+2!|BTJ}_$#;@NCRofV|xn-V|N);HWI)4moIky?;2F8g` z^kaAv9JzS7(h(Fq4+nt{RBqBsM(STX@B|Ni0+{jhb7X;H*|M{}U)|*a@%71I`@p4r zT%f@W6`a?cQl9)QwTky>-EFE@>P{Y2rU#R~rH1xCyo6Zhn@;-fI3`hcmfp*&pxTXl ze?~RR>cNEM@{4CT4_xMRwuh}GGm+}Np=%|pq>N%KqvPS6k0WJCRy#KePSS2Ckv^BsXHl9g+qTe`m{`BMd?s)bv| z0u7&YA*}PV_Y|T~6QE4)zfd{vw8v1OL~ZSojaex>RgBVH!9ly(CBzreSlmqAi6CMuOZyDY>BgKyj0*!Op8@bYe)4^*$zP3)+fDLH)^Y~D} zWpFX`p$uNZ-JrdNsMRso-pIjmwK|jOwm^Nr?+ZzF7QU+l)?85Qo0e*d=9Q)j89;MpdvHpIIIYWIi*l^Qbm_1r=4(1)ltNMa1X3)`;S)Mu2 z!%=i`Xc%JunX9aTCkS}fZ6~`w57~7+@2}3^?Ymd_$OTkok$LOD6#>F~FG+P2S!cd* zv#@@dlGRqzz_3aGn^fy)&S8w6+oepkFCe);35dre6tBn+?F|ukGR_|jJjQ$bTBkzP zdM8i!o^@#Ms9tGPK{5+=C*wOb$zW7=*u!e;t0b4WkKAQ=%Yo1aW-@s`%AOvAjL3F4 zq6f**hNvY~up_o;ANfSR7h}w;#`HPlc~aHRtkr|AP)VvQO1Ik$>Dwpycuv3Pt9C}^ zm46C$*|gPMws?7Wa<&8^#+bU+XprEs8+~(UsZ{+XjgLd7cwxL}x=GOH3kCSc8+E_= zWtVl8_nYhqF#|le5KpXhf@pC2I4wLEv245l_}8SyptRQt2l2ZRs(KhZvp&;?Ked`L z0~r>P5n*36`~7bG`Z4>wfbv#}n=q|9NT-DLDu9M|kM=}1I{T9UTKrD0U!?rFimG9- zwiq$Vqke^|1El{{4I1PdqT7pA{Ht%X{^(otlKN%(tB)fE^*5~DP;nI%bC`KT_j$-`ctsjCV3Xh$%&#>!9qw>}~ytO-Qh4Z59g?h2Mcsumi#$m#>K^F9h>2s^ZU4`wIjMHK| zS#I>n#$Zr&bx=n8S=EVwv3DHV;N~Pkg|!h^wVeAvPun}esmcde@ROh;wC=3!EDO|L zs_H>^X_~_-gB@X@ecYHtLzA7RP(P)bK>lgMTA=`jw^Ei2x_i)Pp3bPNkwU#U-Gv66 z>q5aN2feU$KRg^kbx3dPG)1=oz4>8iD=@y;_CTdzs$G-w>PgTa*QOlaNfOsC0I>Eq zz0t}CvzpQOv)XYz1iX#*%I$s@D)pH${=D2`sVy0<&bu>Nv08S+<_hib30Uh)em3G;@SD>!vRN%c8;o)#0aYVrWG2W z?(BAd0ChPgt&t^mzeHFdB#%B=PYF7DyuQBG%gdy4C|)*aZ(B_kA)D)J+C!8-iDS)H zhMyaW`q4lc7f{VLfN-5(^*s+hX8PTY5ygV#7JT*VH8pN7E`I+A7KgluwD0JvxaN9T+5B4 z&Rw1Z&aXU2c0)hW>)v4t#t_&#mG5%m{+`7k%$NOsDUDiC!PL+RJ+kHfU^k;-_CVpI z{7Z#SsL^ZwZUt|($dnY>j<7RQDRL~wmAB6EGoji`i2ZU4e2WjL{@1xYx^FX@xuF5) z_Ehs!e^|m#lXOfNOfM$NO|WR##PlWYe(|NN@fTl(Tw3j@Hz-j;nKf{rTt&v9ZM{^(QMt}E!0Rh zS_HRVk(k?93sFpeGLKp5bq>4aD-aLi!{&Ok9AXU%@w+<-M9VkT(%N4iG&iE21F&7Yt&QT49iRmskX^ILwC*`Nv- z0;3|#F(m)_C_~P;7sgy|+QpKfH7fp0^%yhtH@b6>U-T7qGtBp20*z|`^_fz-tL%Bm zI8A$g|Kb{a&t_+!RrQpij3*}(=`dAm9AmE7V)aUJo;E1&C3^cSgqhh*nvcz`mJS7* zWAZjm56hhW9u|MD*F%(T`1 z>O_MxYA@7NTEK5)FHi9~#o+68M7z^qnqrPNzMw7KRxUjeN+y`^$E3528efxG3PaA_wBfT8Mizn%R=)${$ z%$mrfDcXZ{-$^)&U$@%0gwt6w6N#{3g594%$gUKf1@cXm%c|tXW+x6$VSvY?YjKGJ z7-$-7eSTlxz%H;=w&#T9D=(ow9N8Ln-W8qnJ9!8Y){SJrV2oHHH!3$aVN@UN9FI#^ z0Xw?*^=TY^9NAH~@J**%*`tAgwy|XMGDym!iv@c%R{F(OvibmBKFJ8JaX$`XHXOH$|rE-5d+F1<2bf8vs0S^h3=R;G+iGONB zRoKK*>H0)9es4Fv*HFMiIM&k2kRer0O@HdN#Ogr`hXh0l(M?;QVyoFysNy@>sJW%n@w)A@v|B|M5|eEZeVi`M^R|1aDsMf{?CSK|dHZ*#OBho0SgD_RvVb zzL}%W#iz24gS;(Lw)09h;7#VA zVFwaxH?dpjv&wgwND4)5Z5t7yi*bt`l-21trl)RpTSl`2=6*^Imb`f%oCrPVi{5%p z=OM@3Z13s;(e1C&bQ`rN3}h&q(Sg}w4vSt=S_+1)@U`9(J#$$;xbK=2*Oab-{7C5ch0M`DoV*=VELG{3 z=oI~jHR064Z|$O=dlld2#AWaUJ^_OzTj0~{SlCy@ao!#4WIJN6##)CwRibyV@~$me zh=ovN{3Dv9J07ZMI*LJd$FyppG0p}LcW^*p@I@YoI!#{2e$c`b*-obn?g!|yju)opDMJ2Pn+fag(=A0Xvm{2$iSsYU@{hZ?mIrSwU`9HAFRNhSWs>mez6RZI=fZ)qPiQ}72 zS3-UhMnZ#Hg4PqJ237?`Ny+U-k2Kw-x-ZqMGRF@5X7$}zi%feyoa@~ZCmUE#ZZ(?)E9apfrjS9*Ul=rL0? zFghV+lKnYYfD~q-Z&*N#GR&)Ju=Xrqpf&xhg(RaDy%?s~p*>W%hNEkk-Rz0C%oJu~hLp4( zJriCdKtZZ-|CZrT0!kL*2v%>9=QgoHGpfjeq+|PO_8%=Ewr?; zaVK^5>Cjk3e}V`$msXl`m$dHEaatU)KNZOeENKpH1H0KMj2>6y=kyqG_NWbVa?G&X zJQE?4f(Q?{2YDde0ZZ6!+7BX_I{EnS&n~aw%V(W%to;do2!%^IF`Hy{@6UTR8i$J-^?QFOFQ+q1uT#T4)~2v3>ifD|9kKo=LO)2RKB5w|fi~`qDHrkz zYc*_#4uK;`p@~D7xt^|i*5`H4w*r!rgzrANJF0WrydP*fZFhj#Qd(?H^YTxX=BFwr ztOD}UErgjOxXFhczgwj4Xl2(}HvwlIE)@R6rE`wbN80jv>Z70=VLWs(jOI@=UgMgC z!jlGG(u!z8WO+rHr=7Mnu>mP$n4@dBt%Pv*AWdg+1TpHVz z;O{LoV7XC)oDF+e=!IZ;fmZ-|NNm!GNDQ89q|(0GmD@UfRTAZqX8y#B6oSSRGMDx# zcW21la#c(e*-mx_71<7zNVM=T`W>JxIpAI9I6r+Em|--7tKK`W{z$FO80v6B#$-I@ zxah)S^k_%-<1iby`+;4f6vb``Q8M!x17Xl`CPMszS4My=meK2I*|x*Kol=2R$9)Ff z)5^k7Q$x{!s{TMSMX>k+2upIMVfI)N$3NJW*3G`W#Hv;};NtbA4l|xs#pNJ^k@Mbp zaYOg{w~CA03LjkZ$pJ67w0;`w%&+KJGd@0EU*F#Rm?rf;}NeK@gRbVr_2t%XVqIWRjR+)5&MD_r@Iih*lRe&u*jGn)dPJs4WbCU>o@B=tbu5{ZQ{bI5>cxEPOLf_id2XrN!!u zNwaqTd^o!C8b|(bbCZGz7+k&Hc3joHW$m*57Kwn8aD|NYMVBW+H}BIwi398WiCI}6 zxMiCa58u>65wkQ8yTiG(!-6;NKUe-pj!B7CM-fxvgM_3?3(nZ2=7>#xbbJSJ5DE^a zciC;JsjF5xt+0m+uC`b~-e-jEkH^7L-}BD0Zy47ZR8sDkpFU+gq@)Z#kUjV!i%%M9 zV`Zht4>sPJ!V1;NT3s67tWVBh+#@ao!w=NWZD6CsSn`VFrY&6qs#TY{4#loM62Eiw z2t0h7j@klxM9JUn@0&k-UNpVtHyw22~s&MRNkI? zDktLkzaj#wYbUuVlhBEMsJ0+jqe>H*qHd{>_V?2UpQpQFiGMF0RN(f=Z zF1(%vx6aZvF#gIO`GzKgW|r#lJ}rQw)PuzHik{Nf?(?v5^gPr?)!mRH~K{10u?kW>THN7K=`^h zR0r)f>f5}6pbr^GY1EYr&}m&rN(u%1{6W z3_T^2q~B?@z4!VyRg5oWi}_t3M(s&evUT91I zF^Gi~x(UZ+{>=uKSoSyGL+(g(1#^uN)!BIydwRfX46+D+6QFEG$DPRdFKYIx?c`P_ z%U-xm9qW9lSV#5Z7n`*DRrDuzenShk#!igTJj!Z-v-VKnpl@I$w|*8e>6;+y3&Nnk z#!6}qZV2VDCA%`Ntv@(U&?dJ=YFruYpptHvPCal|@@t_p4|G`JSw5JFXCuiWe^=~8YRvS;*b~zVCN_FTEb1;mSN-AtEOf* zo?b~`23QqHFiet;I~DLiuhZ$h)*iW47kpQKQcsnBHbpo^EW=UWyGE#21B*VqU-LrmIAsmGG1q5*vFxhx|)M$tmq`L5fKVjIfD*6xBK4RiSa_j=$`l z&%$mzur}jqD1OUJSSm4dyj7lKSjz^9F)D6~hKFirTdZP-9LZ}&Pw*yO?=!ZR@+ zNm#TD^q|FVuzcGy$%TkhqyZhyRYYcw4hCq5oV)x))hi>Kq*?GaPqs_=65Bxh;lrLv zE@@2~yVwYo>5e@2>jn|Qx?g!50hV?%Bm3f~-FT==3J!{ont)g>$&&)CTEG}iWjvWU z4%Q>TzJ%V&rq8_UbNd3Hj>o8FIVa$ZoU!2TE0>BTTR60UE2JIX3E#ZK{@SL|M9-xH z{=5BbB9#-(Pn~j2%eoJQ<|L)o(-(u2$BV^}&znyAbv6@~)2+d@7jzQQ} z5axPfLRi}R%8{7g(G2#8%+2lfX7yR08_3EYNk|>lj`-UNbD|cz2-w|nM$1vgk0vPf z4(%fs46#AGg_^L@?Vkj7SM}>PL#;cd)HGHt-Cq0*J~69IUVR8tWSkcZN?;cAgo%yTAe{2QIT|sIN%R!j`+RZ zYRQ`wx6(Hjt2Fs1;2R=z02m3G=Y$A|(v6QK+O z;2cw(C2f9Qg}+tOR|ddi_dd4g}R>D zO@YDm8p7(yq>C)b1fTkWHcmc=MY5PkVJ>4iHYXDlq*WIyL7vY|2BQ??>o~AJfamht zd4KybvkAu9eS7Ad`;J&lsbnpsQ;+I3xB)%dNlbyhaXtD{6l-X%O66npw zloY7k`f02}sstPwe;@H*=WWcME`pp+IByUWEO|dI)e&!%tD@}29DH#TSi5L^s=ojk z4-@m~c$9qxf_yBjOClqK@gZ>al)O%VnHs_almG}ID+hLRfLT_EsBX_)=_!B_tK1=* z!N~BxvjL}b{|K$dArW$DlJ=uB>xhW5X?J}C|M`g@0b|yAKmNhW46=Txp`$UbV*sAk zJ}=Pd!v>c5dydQ|PuV`2oHKO>WFFa9&oJRJ@8v5o2yy_xX*eZe80{i|m#`4e)OHI5 zn9PSiqn=jNs$2(C-mYRd^puT;XxQcd+*843fd2;x>i74x>&#^Mm>!q}I=c*{N@z1L zI6zY|J6GL+U&wt}&RJecnd3bM9hUnSQbY>V9}WOZroV_(@&B?WpVxrj zlmvjcecV&}i1DZ05B>aDxQYzGth7EMss;ZoNJs(PtM(ZsoOe&0fB*L!0cwaXd4|K( z7e$iZ{;lf)TU^Q(0Idq^i1RQ1c?+OU3i@ZHP0dBo>@R!$KaZ6O06eUyRI*6m@3r~7 zhv)y7*LFfZd?xCLQK@wnnu>s&KKXB9jf1XwC>xrdC;$Q~a=GzZ*JU5_=7-$Y3RIRG*f+htknk~W1Mh-`F!xX>xZ(3NXM1gT zXXMPq>63ak8*g+20fK@ZWXlNH3sl9yLz?$Fgm8=TtkwMy#+X=Al!Klt`4`t0-82rX z4nXuaYz_7D2sXNr=t~H()5<4CSn_%_gq{afb)rY_d;ygzkQ@~;-8M0Md59-x5swA`uR$U8L(+T&DNAJ+X;p%bZHDxj7lZx}AdIc) zr;*I)mkv3Q(~dI_4LECm%<9+c8_fd|R-c_1OztKSff&TY(y6Jp!&$LP{8Jta7;%#R zQ%Jr2vS_q1e9lG7m(ARhl(F1<8<~{}%6rcr($VC6u0%T1b2(h64nDI0z z=xku980+qyGDEWx5fCzHW%^miN~Kjcrt^rzdTlSBDL-o~QVl*UhCh$(dU*D`Q<|b= zpC2KYMEtcHBY@s}-}4^6da`+EjdY#J^z-3LUf=KHfhxeM%ram=(L$4&=OKQ&`{w** zt+4Lt4-8E2J?NON-axN4X)jWpPRRZ1!YT$ER-E4{*OG-e?f?MQj77X-^Z6`tz`Qg8=%e= zp|N2>+#5qrYeFIbC1+yovy319uB2yy$o&zaWQP^lX2hl|E5V|Q_>5GHy#*w~U*h3q z#=p?4MwnvQ-fE@3;?v6HKC$gq?5TlVH7 zo2G4li;|$VVrOuB=vXxc1FOpagtGLrTAx6sb%VFrFXk$gJl%SHhzU*%OkbaT9$;B5 zx_;~LFyw$GXMuqSK$DzKx~##il>O2Avs`AcGIXz~uXOIH(?+!0oU;BUKu_d4N>=Ph zIQ*l!Hh*s{ayz}@e352UyHDqJ|HWp3mw%}{qTbLAZ_;fJ2ssAy`aany*-*@5BSM-Wi4AyXf`@=9G&d*%9%gmLX)XY|P!2tDcRno{8AH zagLJZcKqmOvA;Q~ZN{AP{;G629mp;*{rk_Q=6j)mvQ@o+-j(GL!8-dLTh8L0NjRVg z{@OV2(0t}_@PSNpG_9h?imml(B(P>@;*<@y{(i}{l1k|9aruu(zf+hg zS&tZz)i-7vy112&S#-ETyI3RIx?+=a-Qr(KDpp^?rgc&4y#XOuMwwSWv4kqg>BK|R z^5^d0XvKd1S6_#T{tLd+_4^<2RWjAT;Hwu$|2us3%{99_3O@1w9lpvJjR8&n{=I%k z*E31}`E%R_?gqrUB%6{c7vL^$*6ZwP6INzul^ks+Q--oI~4z`}h0~ zefF0B;E3nzuJ7|ca2$vYVx>qj-h=)xK$h4aKo)+9R>?jux+t?Q*GmX@)W(?Sn%h_k z6BUC$_87J0mpr!P`z@V-cbOibT>p0yYaa{V3JHldpfSdVMDI1u+ck&iTK zSJoVrG5i+9-J|U6zMbsq)g)@;${Yy_<4#ogN`FnLXEWnvEYL#rkslHXpUwy{>a^jX z_dr%`v})>(o0Y`f2$~_t&=XlYADyFmoXpxDtwQ)y(@&3>NC2+VP4rLa>Kzg?6Qaoj zq%iDo!3Cm4Or#@A+84B}HiQwoMSEj5rSPv@nI^aAu|n;gzoQeU=eH85S1~VRQ@>FF z(bc~j&4*-(awsE^{{AM~n_uUD1GU2b0JV0pLR*~`LeP#lC+7rh(3fkKY0n#o4i#1S zAQyU~j`xi}y2A_u}i><)#0Q$_r~K4)$>*NR1m_iMH)+uNXNU{9o=iAg4PR z{sm~sbCi#h7XQZHGQV0BlFZ6(aT_ZKJ&e)vVB{B4V~4QliM_k73t#d!?kVgNKumWjIQyG{DQM=DBvIg4mxN$xw+i9>;9leTZSVXh%=> zFzjc)@$x>UE{l$^1vNgM8uS_6Rm?%kH9*CUIg4Pdtes4@*FZGrS<%{m?Gf2Ucnz>-@n1ToyXX2HRD@UrJ{AjnOdBsxx3t z#d_#mm-4cZM9VREhhal{>z}zuW{3fd&%yp7f`D^N_GS*mvRB#Y{}sDRUi$;P5*^K0 zxilm%ZWwN;>5O))(JHI(MHDxzXXJj`2L2U-Vdwe301`UhMHoHuMBA)oIP|ZopDL%m zuCwYuYjC)(Vd^aXAwK%ELH!RKcFOxK+bRdOSsem4UsD2o><2KxA<569DFt`dUCPG; z$!gJG`ml)}(8%&~&&Be&|FQ*uRv@=_;p!WmEIU~m-j^o@fHZD(4?={7?wO%Ig5EAAPEf`A9o3XK-Bg56+C~?x#XmlYc z1TjT@5fvuS>Z-8bDyJ%@scf< zY8B}1{9qmcx|rXM9KzX;l#hN5iO9M&n7?<@VZ*12p?;*R#&Lx-I$Wa>e9DT}0$DJe zkHE}7aUP+OpC<=W7F+=PBejR|$t%q^!5f0)V#-C56d$VRxYiG&4`0Qd#4O*Lr-A8+jj z5#1=STL1pFq_ure24alvTt~B%K5_8P{=EY+;P!OI{DO%?{CJOQHvM5NgLvK|IYW6{ z+GtZSU_QzhpgQ;gw%m^Oivy%*+M(8JOn}*eWak>e)sUGjCj@W~wyPd3Zth!pmp|I+ zMdv*=(5TL1B8fjX5`_TTDkE$lZoXwNyw+%ClLV{+uw_+*V zG1}We-h53uHe1q=Bpj~)kGQvvszL&e{uZ~Umxq-|A^Sd)u8L&lIC=b|z5$LvqNK!v= z$DC&iZ=*aeYD!3r0dLf!;?`P2zLl+t3xoAPNGLGo0SVbj|GWNrx05}vo-d&PuUOAL z`ck@Azh>$46^6IyTIF?Z+mot*gbQUawW-^4gC99!w4E$LmYp5xFWHVT3h7 z9L1==mIqR8p%ZB*FF3#AfCyM47VQZk>f>3p=1+2Gsu=$N3UCCq*C2BX;Je|k zZ`#T`jy}EV%|uXHQ<`0!nnpXT0*@b=Z#v?kaUFb*A|B@X>Q7xQ!h>w@p4DXYBLNY> zw=dh1<$=R|=TI%?E#Ae_7fh%(1U;zzBu^_pn*}s_oD!szxl%06i5{HvL6g)ra4ge4 zN)-rxx3ec|-fL^f@?2a9ALm1x_o(M)GW+-4x6~6`j-&HG^N*K#z}RDx;3=dx57*)*j%o(EP4Y09BE~HEPb!k8#Tl}UqX&!#ZTX!;dI7pdO`(dw|x{V!ZY+gv8lb8um)67zHE6+_nG;Q zdg_4+gTSHc>qMr)A`ZTQffseM7LE5ii+TAz-(Ghgk!UyeO!Fz?Jo>n&kT?Hj!sm^T zBlOzd%u-l>_wC`02}ZBA%`2j+h`9Fcrc29PLKQ|OuraXj0hfV z99c~AUvQDYOWfT&f-lG5YzwlT^iKr29D8s+i+ey%9$c-iPIoHY4IpH>Ok7AL8p$K2 z&V{(4DYEJLtYB9RWHVQp_Y_-PPP{ic*z!(-ybM}`IVTVSXT&>v(smzdILDP+i3Xj` zHeV#eU%JRapbbTh?`Ju{|MIr*51Ia3;e53D}~?UCL)B05v1` z*Cd3#|C4cD{b5{qA-YHOd=cIsIN?M#f#8#cz~W_{!vU4@058BY1o7No!BLyHVtc** z+uHj%irGXUNsd_od5==}25M3Ib(*b#PuYL!w&)`K=-@_y9zXf|+KyykSSTx~&FPo` z#V_vQbxJ#sLNiJ>-xi^O4mW=LSf`VJxhvxyh^iSFkXqaszva)bK;29Og&oNo zI~fZL)v@oucavhp*fiIXf?%x-*HbSzut^qYh3tiB2Bwx&V`D$v7GdkCb*XV?8S9s) zA3S3dFDff5?nSh0++KHmp?M5>0=6!uZ#xxN)I8T6g#pKKKHVNQ4hz`kPjB*xsLA=e zk1*@zdnya52Nq+deMT4nnx*3rm9ax_O96>fk>mYHZPTd7i@_8pyNjs^3Y~jsD$B&V zWj{=aT2t+{$|WS72jb!yvh-`?EbN9chz*G^Gxjbb?CddIfUL7?`m6$)E5J?Iqa=^o zKZgJmR?-=DWjuwyINKCV=>uo88TuNt&{>;D<1)Ai(>7IkZPOg&r5M89`%0iSY=qrq zKbdx*P#iiahGNGW$n3!7#A|8`QLw@2;R_3hRT%KQdfDGDF8A)-^{zY15PZwPkEF#` ze@KuzMbw);y5Q!z+hHpSHj?7)m0NMaSoK-W(-r{~`qy$5q@xxit_3^I7etFycJrSX z#%K7jBYssVm_7jCxvPIPxc%8Dz*Yb@Rb z#)l$UDlj#$e)B}6tr6Q78uE~TA#<+(AS!$4XtT4T7{AonWY7k5SE|31tu-SCZ1s?8h8oT>^r$ zp(ap|`n(U2RmHyzfKhPxqBq$v+B5s8;h<<^x#oJq9tLE~imk=|Y~0l=U44qj-A%*5 z@c;UA^}}GoR5~>l0R-h6@b)t&B-DNjRSy4~Hd5(_3-iE6{R!c!ern3t6vC@BdekV6 z-H#C0Oh`FCCnC19{8E7^&6@awh@!##ibMqahQ-)mSZdJ{WlM}7#=FL zODs?_cuUz7HO{gzZahvz6#-?dGxG&Z*sGEDH|*3k3g%q#qj)x7Uc`B|g*lF&#kFLY z__3DT?60?H+JC+bYZ_Dd?1Y_pgqc2nXc726kkJ2lGt9FM@3=XN&}&?6xQtZrbDy29 zkERu{4AIuC`f%`fZ;SbbipTKNq{CJVoTq*eiZjcsJa|wiL8<|DQrF2Qxu=J(Kb6^T zWWSIzCaOLfsZ`*}o8Kj@@B`qcKQ%{P<-0n3T~mV5x1?^%B#q!`?4xFrUw4aw)~_9f z8YcJ!IT5v2Yrrvol)ZJob_g4mn9Dwe)9(waBeLyE7t)o#KyP`P5rua8hYdkihlLCiFq7aQu@Vd1#aa(+kx$MF~=X@-x z{iKe|ZQ7U7Fp{IF=Rgi0_=P4F%}_;xR-e0)D)>jGXLr|`OSF$>GTt78^X7m-iB&g} za5_Ctrib2$rjhbC<-SO8@u2l|1fk{v-R|oT#S5Ht5pSQRUkfOm6;J`C{9RH&N9m4> zNVQcrU9Mn@9@7v6feXn}V3S2C5@>Yfn5DQ4SNwh zJW{t!!im;fFX=&Bz0Q|${C{>c&tVdL>g7+%2KBV$Xi?2K_~0yW&2B?idSsfv*DLNl zt;g@T6rx!tcOJEsnK+N{m9Q%WqRC>Wp=aj9(%27q0D{*jlCMzpp)gSoStq!oQzB>-OgoK4nga z<-(3q+2OT)sD2Uh+-InECQ(#LNIceL)dxfAQy5@QYa zg@7=RJq{CEU3;MqVRc|-#PUV6+mMN7;fQKoHT z`)W11|and?m^q~&oR^pchd8sx-q>{`ZV)S>3k zzV^SV+JJ}fOVwueOQjd4Q=b&H&BV;x5#lv#_>G`L22Sb&d-v z*En=?neG#EDB!_X+HD=XMLl&?I6<)9YtSD1-8^7afg~S7FNgpVeOALbi@D%jWyS zlnrJEx5Q)ZmshHv;AcyKG$jL_gS43AWc`q{mFoSlAsG)db?!{|Ik)O&D+DDQ+f!%R zihNDM&+faB8LBB7WrFJRU1q35OS&^5Ba)@rc_E-4o)y5VII{YnOl<~Feb0wRPJXug z+N==ek8}x8WvYY2`V=%i3L`_Axyt$tB2R>Agw!9Tw+)%vJ@LFldZ^uR@vFXVtF_ct zZ+ts5fx9=;OuU|Na(;B2h_V*S%D(=?lB2cp50~`qTP=LxlF&)lVSAm6?B=7+yywe8 z2GI7ngLl==#`sUGp4YH4_M2F|Fb+zR`97QsVgdQOF)U%=K-6N&NI%U085^r`d54U^ ztPGUDnwTzX5#5a%!nLTUgFVS4;4qB7tTx++0$4O>2fk4Yg?9d4?lm|pE9jxRKWKVe zbqSJqt;HQi#X7V|m``lJHBMNyh{cP&!stQRZd_5iN>I{3p-I-a<}zbDPX|}6uiPla zEOnilPBOjz53=>zg=Ik6Ln&f%BQg95Gix3#SyVY;=ET*!{{dUug98nCc+g$e2+S{x z=$MJ|xB&l;{>ZC_3)YaYn&j(X3RO;L1H4}2^@!t#uvHQX#+tqt6oArA9Y_pl7xbi+ zP(Y&L8T?3{JB#4tcAGNBY$>f{_CbPXt_EoUQEad5Ec0SXoLyb>NtFaBleQgzs->5Q zm-A!mjA@8qK&9ei?r+nhwX4lR`{G&Y)oj9`ZTAWikfH=HVN9*_0*EEk;_ZF4;!+wI z8m)2#oYytSoeMavo$F_e=oN}hA0QsTER8rv=e^Otnqcl(pkhxCl3jV2Idsx~s^Prn zH};NZSQ=7>WSc^B_%v&@UU`(40?}nv2D{`s4~Nx}y|dMlV2i@;&taZsha3EVSXLwO z;4FJ#B{CmKzhre0ttTRZVShl{MQi1Q77ij-1~AdpK8qEsUSFyM2b5G~RiB6+Ffbp4 zgaC@4gA)}Rz~$jbZ|+NEf-Nn{@GR}b%{uc#TSv02Wl=-!ZzOs!OPy6_aajQzu=3P= zItD^p)3M86KV#fdjwRIvGBad8dQ?-Ll#ob<;<~^Arw{l{54(#W!Jx?Dr5qh_7!@a_ zZAABphDSr{SJGmqx$%bry<+Q~l-iwSR@&VpNx}rXAobaO6^U%Y6os+LfV(DO2cqia z`|hlM^l72$Rp4)Jvljw1P+N454s{>`4#EDr5T7Vl@t}7jVnw9faOYENoYo;2#hUCawzrtbrs ze66H&Lujd>#1ph)h-BnIu-}$c_wVC=MNVjd_Zf1H+)dXzyOuFdHa~VW8kaA2J>(#` zdvZm5H**j>_uQdNiuSakK0W&7XUw#1hBt>wze}G_tqyWmlo5|B*TUKk~7Ks~7q;$nc^+DB`$D z;=)R(Qah1gJaLrM^2xuJ6PfHtJfP$3&s}}0rQLEqk|CdK ze=w6SZau=o?PWYiw6L~I8`x}gDJFmtn0p;TzGqlKRCHG3Qg?hqterfT^D&%aF8~}x zcoXc zToInK)p_Mup??4L1MVk3B{pyvXR`-MqxqY;!@zxudHirR<6U_x_8tXDU_;xxbA+=b z6@ZUSk0>-WICgHFka~BT+IXwS?&XL`q@Cn+UvFex9VbRqf0hD4@{g0i;3qk&m0)5H zH91%*r&eH?bq@-2?q3ekVSaY2S80Ro{ST*KfGt3>oal{Do6CjzuDxea{@s#<2bu6% zE^5H|$NHl?+W;>ttk8d9DiWMY&Rc^OgG%_0n=B!bg^gAVEkC+}iQhg`6t?YDojkq< z_iJ1mYFa!(GRf*zmUKLo!M$!oLhl-(y~YsQYX7hPIHnQ!U$iA#5-?a z^0s=6^%7*R#gnz$PnE*5H2$sJG6W?1|LHkx|MLInIhAkuzwn%rcml!0z7N^5p{9Q9 zjZv9NM4o_C*Vka@G0>gpYc2=WCwbl#l`J>_`fMN$3XVG=Vo%)(TMJ?j3uFpD*73LX zmCF-xtGM2pr(XEJWD(%Ad&6wg_*~_FY6dOi!>AA8yy8NHV5KVw1{{#9=w~~FcA!)l zVCR)&DEK+ku)j~dets67Rqh!%=QK+OvGq1|eMFV$hW|FdC6HFwcpj<6bAgy-N+>B=5+b6VrSv3M$|!spPH$g?HC<0Dt|)nU zu&13Q*x~s5Q_f+*7&9@hceT6`9Rh2R6Dq}q8x5y$7DM-lC5 z8u2w0Dff?G)y4mpUlj`b2yyjQaqQPUp~hRXZW+cJW93~$K*Ue3nLOw6YY3SU(g^-J zk3jqKm)I}9=fS#ack=%NF%Nl)x@jqa&GsR`jkD;rAqCVrMJ94eDQ>FawYHqHPE51q=5GEtR5N}@Xa4O_CGvK~zzF>NQsH5X{J3@aF z-C!Ocm5&WEt|s;qSjO#A9eZ&M?2}kBe?G~ysSm{7&ui?3Gid&-LyA0r$|D(w(%z`k zZ-Ce(UAq}cmAIMrk2oxXoRPZ0Q-tKtKLox}t{6uzvHwiel*EYQ){&j5h6SOyQy5Km z{lUQ2TQnPcjU`gD$Po`DM|X#g|Ca1AL&80Q2F+b4!XLyI+#L3rKrd`yI3uOfY$?f{ zPIx0$jMvMMcP(cn^np`L0!WM@{zQZHr$v=z|I+6{PW}rV#AW?UpLZ%2Nx=v;bJ54q zBK8@8ml}a~gIwJ5{Z`@gP)>IobT45wfehkwjb@dGf|+|AuTyvGp4HA+iQ+*lz~jB% zxVyA?#BY5QS+;yFT=Ue1sVRYMox-J2?=d2Ijm73e2jm(TM?`AF&}(9=A~!ij1%tgSZgGYmF$5GS(NhutxCEYR?-LJ2f$F?a7`n5 zB+j26Qt(l58RS1)q#S|udSmx58;53Fyu)lVUj(O}Q5as&cJuF^ZsWKB62a|2BWOa_ zD7#^ZBMRR@FVy1!wLXu6SIhbh+yL&NXeKLKuU}M!soB+D9QovR<#Y2!$~G6Zr-V63gs(Sk-7kxUeBvdbQQa&X78Ki1i}0O zN4H`3#t$$$XWHk>mIA?>C!!Rk+#B!ndu7tKa^Jn7_J;L-j=gCJ>+2N~-^3hB0S`KIdwomA%Q(?Q)qtUhUJK1o@$%f^%_6|F}RXIzU(Y%H_ z)u_vi?kZ$~)85$^^2<4VsC(02k9*&OT)W$jEyR!SQgnKB{b5YTIw!1YJ_!lEE!rv3 zTPYo4VrJ55c(vY-9F>Yd1_kr*0!3he=xYeiOr=iiIHPDT^e7TLj&WQ4&^@FO-r?Y$ z5{Vk4k|Y;S_Z#tU!h{5xOvU;DfCDW5w$l zF;z=HsY9}48X%cuI!kg8^_%$7bJpb%wv8k(f+OW>fQ-%b`n10Ks|2rrl?ChK`OXK! zHtIK1Dq6eF_DfX9VqXY%4o8UL$8>ayi+rv>A5hUsgZcb>HCy+ts(dS)kKX01pApVF zB=qCyc9Bz2C16tX^ea!!#4EX7hE!H;B3GDLS$W_ z%9BLPDamS`3v||a=5H5z5vhCJxo1}{_BfFAcY*aEBA<;GOtA|ta=XzapX~{)D3Ji+ zGU!mi%UhmoK?S7hdZplEV#l2C`NN%hICyvNUgEM75P_?9pCa0JAZ_91qu^N2ZZ|S` z_}FDH%Ye#z4!Bh3bzb7R=I8Je%9*>jk^0E+G?~y>=|p=rWSi3!$52<2#`FzEY)M!a z*NF_+bqp(AU$o^aq^dF;hb387a!dc1agp}jbX&ag5%8#6*6XHHhO4GUTY2>RbGb%( zX@a%6%V-)K#e+1-`?)8H`&MA{+Iqptyj3C6pJOTls(LRtHILpIX6DU&hTXnwkfr#l zX=~+^hz3>l#%{;jP<2N)n30s|hITR}7)Q?`un6@j$!v|1xpur!&OMq^%MTky6-95RlT>ItLs}d zi2QMZ%5<>BhCOSyzaRTb|(F=F;5a;i)a4Q1VzAEUB2OiE?kiWHu>x4HRvqwMBt zLhGw*WN0+Jqw;7~zxTQ))<$D7g&LMg6MIelUTzYk$&&b}j z*jO4gqGRBCnFS1dJ?Y~s>`H;<3Pq}VWuv~sDw~)pvf27se9a;~oh=aoju@;>^Gu6m zk3pG3OU2&QikERyV4S%%8hI4Qg$jmF+U=wwWilcoKeimTiB4y$n-qf&wI%6xRU|JpT>Li4^f|IFRu*}k^L|n#>8(rCkwX++*tTMY+EkPEB^~i>iElqq z|EG+Zl)Za&$I7CN86&xI4WQAeh>`b0}3Qs*Fwa!MU{T9Gf=R5=+G8m_rPh}2^A%dZ0<^e`y!UC^+~$SkwL=P z;-Rz4`H_^BFy0@&2~?xk#z=Tt(m%*af6iIJcky}#1ulHOfb@GD{#u@)$)Lc*P`Nai zKUcC}>lqX*HZ+2z7>w%gKK!dEBS1kT>_G{OMgCsbe>HC!f-s04v&QGov-&wdLIHmX z4@DOO`)3sV{2#=id^96laQ@>L!3Zx1K|w*?->(M*y8O8S4Y>YH3%if7ixfNZvBFCh zmXea~v5CEjy^EQ{gyPxD>8t6}CWp}3+1U`_m4<-%nC5Oh-e3Z_@obt;#H}*|va_?| zcy{K&$9MekZ9s3+yf@MB()pi_ptVR#2&`ig=)YZeMh#ps#svH9_kQu$P5?a+;8|Vd zTHXIz!^vQPw>~XooBf+8_VcgW$pM&UjSyP~#H#)MmN@br#}u1zQ=K80z8P(jd$KiW z5W&fQRgj<88OLW&z_(ao$dp5gchc9vu{88W@|KgT%kmQ_0hrIVed{W{mSia^bE5e@u^B=mS3Np61wSq6wz(=j}AWr z=n^7r@-F#_7`k7RvavCZl3615r_3X(Ple_$L4BWa3)E+X0>wlQq9zWurbV5s7didl z9uszVE;v)(>g{jA7JZbl*?xa;=S=ph33-f8VuSvgqn~%i%FwXmY3*0Jp5mVK0hk4; zc8S6U7AW;PBhdPK$v|_d*|yZAL=Xb1zZ~f^vVhW9TgmH}h*SWA{Wkx_}CEC zyrlH$jqp#UADEI0-5h{bYnNS#Kb1EWk3)wA!8~3q+SYi@$`_g5F*Ha1QC zkUQr2os@}TwnHrU#I3`Fk<7F0XqYVdPCbhke7-*qW(UsT>OPe8J2}C?O$I+DT)4yV zY&=9s?$yj;P$q$N%X1VS?~^q8y)6{?<+#m3i!4cVu_~;ogJ}r8Y$eU)^>U}9)>c?J zo3jP!?O-OahY6&AB@L<0gKKsy>IuETCqV5XK=s~`(;W?o2DEnSYMI5;&itT(y(fLD zD0pqfmfSF1MnyOgSt%*hc*12XKfb=qxOeS!ygR6|I>AJ6z7t20h#2;eZxt)luRqhYJiqwDV*6IFe>alORfm0phHzc7}Z~o!oDsxohfQ_IHa-ey_l5a6N#jLc59R z0!JQn9>a@tPhza6)ekImo<)74(sZHmYK;pM&)}r==s&>@qh%Zf6)5Z6jjyzw)9{RhS!>)K)8nGQ%QYe54#(rB;6({8jZu8&mNzUEEz6N zAdCymro|e>A2A@5(_`M4#AczJ&*uDFKG*qPw0*(H-;PAu`+lx}@I{-Qc1Ou4xjb`n zUtve4E4w*6Pun;K9nz_jnqZ%806fWGOk!c3DoqKrY<6WN72xg4WHl#(O>H(4?vD^Q zarZ+>?f7^;qxoon$`;;R^(E<^r~4_n`QD2sezr|7q(sN`EiQO&$}=`Wf{m|~K*bmH z^GgVsSXgKF*$#mff=``!le)_)7WJ&3E7P5%Bsc#MpEeG@+&+3OM%1aUTu%Bb!0&Lw zfhkn-L#wVz#*}SBakTM)*UJ@XQI1FuxPo-6(Tf+^$ch2oCES=j0q*ZILc*(Dq#iw_(K|Mt5jwA@7Zw zb(U45Z92I}$mqhWauHXl&91U34x<49v&W4a)o8MPGYq)oyYxVUGR5UC=Y3|#z+6a> zl{{`K7fp|{m3(_|oJ8zGCpYDEdE^o5w@8~L#fq9UC{|iTOANTb?7vuu8`u!WTk$f5 zHWdE)9AnFts=M+hM%vk~1~kJBbP?ykm{yyWb=9d-u5m++@Dr=N@@2=8xdM)?)hfj7 zX=V$d2d?`HsY{BMVfR#@oqPpkenZ$0{BajXtb#c@aGmXemXqBQ(qqluj+}+2%54s! zq!P$G``Dh>Z-l-hS|;g~Hw?)i%7j!DufRHbKgLNDxnFCLbRxlfmx1hYgLI=2zT~k< z>h8lQ_2Wj~(G-m&84wE+T>g8IVvFz{$#UH;Fa0(q_+1nC`Q=(T)>0{x+;LW02Q5v` zx&@qPvw(&I@ub#TIA2c4V*XTXOEDmRBY!ZNlEMtS2j9RRe>++6pcIj#TVlZi`p(Gv zI^uW=rXo@3AY4&~%_R*`?2a0mhnZ@W>Qew#S@BDcBL!tmfBj1O74T-pA&2r=Sqec1 zQZ2f<$^&W?>KelSJ!+NFQ!qfSOGi=nTSYajz?{{$6po5qBLG99f3 zLMT{&DpBSt%h5Uh*a?mB^hnt#!B-WqUj|KMvS8Oby7Ta?@1!_0M>fn za>X+aZyI;*VQk0;o6_UCr%Ug;o@i5vX5L>x>(FnkWDjp(Lc&e7(s9b8qlV{VaM;T$84JcZ*)!rBYg-tK0N6qTaCQ9@r{62oq>DHNU{4CB?5M0xou9qxnh4Z~;1IA>@siL2c?om{XdhULat_#YPhi_);GYrM{(F2m0Lc zmvGQ^G$YDbryZ0TXLlGCthI)ZUNhmcMt27g=jW24-ZHIJ7iv4ix`WF8$m!jgi={0= z1mo&gpP5NuHr>;#AAsub>X+w+FUAa4*?%giTfET!V<%LVbR@D1&3N1-W|R=tp4!ou zAq)ASBsO-xEqhOCG$EI<=9XL{D?{EyUdmD(KF6ChwN}Thzn&7dx>ReFP8$B7Qm92v zPFMvbwf-(MxU$3kF@bsRBSP|>n&rS6^%2X41oamtj}`MV0pBXPR7xCiFT6fGSmpUy zxE9JeYKkfrWSEWPHnC2|KUQ_`P!H&#*~r%APa*u&_PBB+@P+9+_y?(A|BQrHd{-h; zfCU2LI;_#uDG7^ZVvc>McjJ$1Dv!SwZ1Nk-kcCm>K!!mw%@w2^aOYu#U5lQffkAJ^ ztBB!$O!`LXv1{A<)nCQ+_i`92klb%wwSmmXc@GM8Fu&c+h6gUbzHCjnpn5LSt3+4R zAsj3*;pQ%dVEKksL&rN*CItJ_i~QKLt zLF1=b?y1dLZ;}QzRS;ZtQJc`g+L^(k{H{_R+2LqXpIf!0sFEa$ZxOuFVKUxOv+E>G zlUbJXhBaT8_q0RJe3{JqekKT20>LOYBrbJyu~h)#N6B{K%Q2a82k7_IObF|vKYM}`3bNurD@N@d?>Es2zgU6I* zO^bQdG9fBhT?9mE>+a%I(^l}5!v9^^6{N~ts6ey$)~GAD9s6G&PLM538K5Lv?v^i- zQz|_WtGp(}PUYqz?D$w>(tCDy-x|d}(ZT;Ug-Mzl8Axt3uD@#3cgP6CfHcZ7Vjp*D z<6Coy=M5_H23`}fldpdoe|j`VPpxu1iDD#aWdMmE4wVBla&&jlGb$U`2W0m|i6Qt< z=M;g9^pC|fH6Fx5Mv9GM!&{Sl>izJa#j4|@->+|yP zikxoYwA+LoLK=_Ji{={)q?JSd4S;zL1+5NFZgj)QPT z94%a|n!}z}#04%4C2cp>UUOK&^nY6DWL)E0`cBEqdBmOb&QW-qP|`1D4WXJPupTREE>svl0RBRuK@y|FSp!nqxjlzkceSWYV}nxY9714KP9ux`I$Y z)oWPmB%cq=1+6{J@~Ib@Uz1OZl#E+yIJy12yP1^@b4Z|mAVGRTfYWgtg$22RyX+S7mNx@w_x*YF5Zk^=Dt^2ojs0;b(bGz-p;N{M$q_HE9m$fhTYXitb8 zq~QWbziE?O6Cm`1@rarXF|N?ts!o%i$PLUc{kPHR$RZv6apW zWGucYFIh_Ae8N0GDTIMRO3uI!ncVoJ$_DDgAY-7v5^fJV?FqluW#KE9MF+CnvS+#1 z?)xL`Z)wNBJ&xYeNKI7bTDy>FzwQX5dZ{kyJ z0}-&;0_6!xmPLy}o?4rMRIMKl1ghCF7rA3*VyO?&ndE!#!4s~06QGjkYy z!7_qqZt!C~Kgal+U6*Y<2$alPS+YFxw|&2m)%Ms260B$ z$tYPc`SxMp(r%d%075qXYiw(hf;EQ&nk3Ca5(-Nm50^dM1KrArh4H7A-n5 ztO>e9dmJxImE)eWOWl3d0q%&|m=M5^2{Wn`cFSA11)u3gg&3E#Bk@5jE`=0 z3$of9voIC+g)@2L8$cJ5-u^NGpTL0s+-SMkhB+yvS&YBRPa=3hMg8MuW{%U_>m4nk zc*ZRs^tLOM`Ns&yvHpG}wQQnoJhx)Vr0|`^UNiM_h&ed!ber(*z(-f8GZUqm{+6Id z`Vu77C%H8Z_d?5()%a3yW5*gz>;^Npq2Hf|^@D7&EjOxRk z4EjraF}e@$Kj*?-R^lUq<#e`*7jZFxZE`|z0ox5aDXK~((G#$oE^E6yh-ynXJBNbp;eq$Vs1X8>Wxm#h~w`EPe}I8XkU06=MvQ(OJ0EiQI)-e z*O?}D8T=zno##4I+jm50K#@=yK9kX=&OfbI28CkSJNbFEj7ZjOe2?+@r(pI@jrIamUlt;+UEK54dLxpi#pfMo zY~WVBSs68^$LZfq4y=T%E9CjX{4`MKD7pw}a$2~)_Q2ghYaa}k9wi#=>{sKFut^cH zGDvSlBM^uJo)w`G0WC=IOkk#~`z^Wo`)9pc`rYgXo=b|LnexCCml4-e87sDsvn+ob ze>u0Hnu;r^YA!~1FO2@gtGutID2SE?ZB~V5B0rc;o$Td7shVY2bSGw=5r@#`j93eG zT3L6D(El(m zJs4Iy3H6X%kgXd2jKd(k$LFT6wv@GfvqaYS?;Pd*l#?}H7{rLfIty}G3BQQNVmOJ*v-IB zuE>JNRQd!qENXNnHVu>q`gb=TOC{`c9lPgY`j4RS;XPq3EHW_hgdeTvKR@}9$)=kC zsK#{buJaE6sW~6EuhuevYD^0&`{tka{|Qb^0707P=3Y+c&)XjUC=%LVJTN?&xTAmL zSAn-KvH)A~T~>W6!CxMC=x68?4{Y#-e)qq^9Wt0#3;z=zIup(@!Tc$i?rhn@mw9+| zBJ)M153mh&Hl!rU4M;D~Q@|6sA1dpz?MmSHmzq8`Dzd)*^5ap4kVgP@j#Z0qCLZ~U zSegc8Wqf=gW(q5bAJTqc#n60EO^!~2jxwa1(GHS{@J&P>nC}G39!F1GZ{(9X-E(*a zX1z9P8+P)^tk1_^=R0=4J$d@fw~fr_3t`8W8KUv_N=vsSyhBmAxG{iwxGq}o{hK_H zX^D5ieKS~!yfdOeXGU<(>+hG(9_OSblUSW6)12~INFZlaE3fiI4fR`~E?yj~3_MtB zwLm~d;fxNOJN{7+C2Fc7kzsEGWUknITJuK8Hr8(zEkK=j&FX#Q~+U25qUXnG^=)~Hsbs4?vC8Ero;{p zFMaqJ=epAC=1Gr~uicgLmo3=&W>5G5{;9Oh3^4EVVsOxcJU6SsBZ$yaF;_}@l=F79 zf48sZ(~xZYyV=axl5b-lK4ssZkYnO1?-$~zs(LxH>RuQq!u5 zZeXR>Y8)1sk-=)uRkJE+9{sYTMha}^ec}BZ5!Wn4txbMDtC#hK_dyfmjgRp3_H)IC zGipfT%&r;l58!c8xLGWDAak}F^eLs#>QXpfyh?S1IJe__>>$t$8%g#054cYZ&TN^( zyHA_s8|I?V>ht&yuZ90OCVimJ;Qnquq!WNOe_8 zW&tL~JqVwm_fKY=MwT5I!0x7^A3!zhg@$`oT;$Hn>E;Y0RWh5QDpi**;L zrZh_&S428|X8gmRS8K5ofH+8r!|CQ{JV{_I1sEsG!;tlYwX`&Qd+w#NCdiFUhg$S#rf{3ctJqSnzeI*Pbm|NvI(N=84mCzPXN?!ir}-I8yP_T78Xd zqriB#Es)lZ$-KR>@5*}V`_Z@#`$GJ^g@^1WsSH@4-W)GTU&&M2-gK|^uZhMGT*$<4eWCA=U z6Ug}1zR=AMC^R}{)}Hv-IhP%9oTFYHE4Z3Gmb^k6F{alNTA}AD8HQ>#l5| zh4)>d6hY`bsZU{k*fjuOE)O71iZ;>z4n1H8pm`PcenglJBqBEe@v^uzCj9#Lztc^- z_A^_j=M3M*QklPwP}i`wWiWmd-L!n-G-qWg;B8O*);8b^0;i}CAun-Ykz3 z6F;xDf2>8G&>?M&)h_Q7cxr}f<*~}6A% ze6r1xy^Nd8Z_snd7YVV>iROgX*2_)aGhuQ(DdlPWa&09sNC|58IS+6Uzy1mfUJO83y z!ScLD;bvJBs*c&bbhd#`pjJ0nkNtU#b%Jy?g>5@6Vh`byF^z&B$Xv^E0CE0Iyj?05 z^1}JaPrq=Q!t89_8tsHL`kbxak>u-1?M|X?sPc zyo|djBV~6x>hJ1V_-L*0$oi2qOs_iNDf?c)4_9Pgya6SOgf9K7;8%PAHLuHs(xfBA z-!(YDbp^);MJ$yjN&MuNTJ1FJyu13Xkhg~4Q2Q$3Aa3vFK?Z`{TMTOF=nP7)C0<(- z^u%}2^-vGnQ22^WE%kDt->O#*DyA-+(Q4v<3)_Sm2Q0jW@)wmvl+*h$YbHfP0G%C2 z>w_6L%HHv--N1JUjEClDbro<`3vLk&1uiTjK4L&ubap*xC~dfP=|!d66f(&gB9Kaa zvfNRP(OP@l>$fu1G2<^XnK-a%)QVo9=z3NwW%%qby>$r+&_s;M zp~Qzwu(%UXKa_C5SN(Y1MXc2BWH!w@Vug9^z62P0ffJNphTijqNy2Po9Ko^2v24RACJhT<6i&WNpT9;`h$$y>9#JktZA- zV0M*to8v6&(zwJ^q1yCOy{vR}O)M@ad!dtsCvc+AhroSB_OPU8&r!*F`s-_G_402F z7@GwZox$h(qGTJ4?6ZGe6~Ph$j47tEENE;q?POywWWpha6msJMKhXaXMh35~I-qH` zI2J}Dp;$U{v%D%~;BOJLHO8~Vl6hi^WZ4JHO{}lpM(#!}+GiWX8*a8pS(p>1ElD$1 z#Hrgt6ZfqBxaMWgVlaJ$xM`M2*r6GcCDA1gr|V04@|mmtQIkiSZ|+UT5xHtN%dE0L z2x*&kh_e?B16xqyR)?sMl_E4oPmjZ<QB8}-Q-h7A_v z7cE=NoVV4TPFsDp>&W?ML($9&G_!WDwIR(!PTqGTh26Wy9n}4Oo!X~XZI9_ZyT40aL-8;-GWhO8H*h$v$~Hmgwn4!Rimx++Xbj+)lfL$M`vY z`-*EipSC8_I5@nr;{-2e zH-J5~D!5BA;`3cpHr~x_L?2F0|Biu`&|X%+`l z9k*Y@=K!1BSD2zy%D3>0htfyJ)=zWtA{)Smk(*q)bCyJmxOF2 zHx|0EdX~-vtM-yvb5=^(ZG|o1Mgu_<9CKxi2S#F)w+$`*<~}%HlK*+lTNZ{6C7+mv ze|BJA@c{F#P7cMgn`>)l#4_Ia=q@&Ix2Si}n_m{X)BFxCNvGs(zDv>OZ2E5J;k%3O zHHwR>wE!SJ0;)hr>ID~W^*h~ez$vTrjOAfn46h-sEBSr^9_lG^o#ZbqiaB{6y`WMF zMw%`a1O?CLVdTUR5j9I&9|K2e8==A<%Jf)(;OF+^u&a}&;}ry%hB^vw?ti?EhOG_> z$>T4KKP5e{Fj@Jug%YZVoZHsgW}lLS_3vkY=q_Oj1Ovnfo5)7%rM_{eXcd_SFHF9q z-X7+t_?JUEh>iTdm z0@4f((g+BMAl;3CbP7m!#~>)(DJ>xlqJ$uwLo=k(-7$1`_u2U9^SsY{;=?)Dbw19X znZ5Vyz4n^5?*D!N76p0J!@8iJm5bzOEG!?Hp%H6Yw#`enp60E?j@$#*$_XWYB(O8g zcbP6%TJ`cg6t3-eL5y}8sW7k3)n0!0tRMnNA-{HbC}!(edCkqanHX5+Qt=hz4GpyL zi{UfHw$BFqC%4Ks__byC3N!Cyy%u`Xx{z^fKQ!Wy)znNFvp|u!c+kbxr+y zXNY!WMtU9MwZ;x7q_WOFLPhDFi*~6+YS7{0p{|!reslB7O9W@Ybz%YKn!tXagpTF` z^6Hfgd5YLBlei&m0o8SVMe;+tj>EnkkTfUZdq~@vhG-$I;I_k*6|58Xn9476}yg=IlO=hz6o{zb3rugolVa8q|(zBjJB6ghH z3>ngKDwh9A&-KuJ)&S=^l>`H7k)OHHX#Msc>-+-ZFKFJjD!+Kgml|NEgZa>2D2S=S zd_Nzy*a28MN-dx4UK8!$2>(mAo8&jb1}2UDQNUjiDDDFHM?sR!t`Pn}WCbkip*ZsJ z$;P-54T7+1p>u%tD{WV>^$%^S%5~8HQn^b&HJDMq+3_c|;p=1!2|Y*1D|b8a!Y%kI zaMpwYnWnQl{5m4t-70{9#wO-l`C zK&yXi0t|y>^yT19Ij{WIvyL(Sgh~SA;S^j@pz~_X1(hcp1^Cs{!}%|bhlQQ+b^;GQ zd;oRiso5QSm103Xc6!#F5H;4XMM(d8^Z=SY(LG?#>qCwv9T%H6;50CkQRIBxkr?WE ziv>q`a|*3wl8X3{{@LN1=hV4(&h2oKVBjwo(ytwS2n6J}wjo?K(4W7k`;OF?=6+?; zm~C|{yuUR`5kSH-x?kP1^cZ3EKhdx+DW!3M&?Ze?Jh8;@k^e6vU9{$X*7Uic=n0^& z{bQ|r6?2c}`)QXg`5*XPV5I~CK-$BVRa6rE)2IA8$ru_y+LJER&Qt!6T~I#!|8m;r zh{&3v`Eum@3#OE9Z60@sQ?l~^unnVq27wv}Ba`NvH==;D_Axa!m_#$T!WWRN+E`>= zhfKO30Gi8#gz()5^G&TO(~4B2#1$2fqal3O^dU~};?o!MnxUmY@zWT8~f_3wg zwR~c7BO1t_H|hjps5!-{0;=LY<3z}&@SN)bES7$IHV@Xe*67c14zRxnd3{P(Im&ga zKnmtywz|lZ`0UR^YY_L#g;Bem(Qcp4|LB%ceZAi{cENZbN%LyWg|$Z~O8lAmH?{&M z6XqmEuJ6CyHm3c`pSj?Gy5Kh2D(XjjaVM|5N>$}oI#}NXOG!)^wW9?q8Ut4%f;%Lz zg>BOd)gyqq!LYyn(MPQ7<9Df*{*54qAa$lCk9Xao*`iDfzje4uM<<}AJrFtIs)U{O zy<3?5ssRXQ^lxa=UCTs=CHxnREqI<63?_79x0v9TGy_%8<{An9d*fdr{coWS`p4*Z zgojm)5RNmm;ZfdlM*#BuJzsZ?P%)K3vK@;EbPRKDsmbPlt|F`P!r5Zqo&tO-2cIEE z4eRl<-9J3kZO-LRK;MmSFv2czbjTVM#kEM-n?*V#jG1)s}FIEqh^&Vem^ zg~F=B8bJi@dF<>sGkk*sC{LPEG{wO4{4mgKN(NiN9!}4IRo2Rzcp{OTP`o} z_{FDCrflpxFJL-Ts?PaYZTzw%e}&$qGso#Oo#l^xbb*ntO*?@R- z?S}&L0B!Nf!G!CRAJZusVgRl-%xUjl;5n&UhhJ>5I57 zbFH$bH)M+q`(npwiX%~!YclhoLtEaeFHy2^;#Pah#vD?4n#C1+-XyclHT{z)HgtXhv7KlWM#7(G|!{p9}f#!ll zr3gQgt{GU1l2KJK2hrqAs;so~MbM`4bzKk}T34KEX(RPD)Vc~FPCm1=x{_nS7=Myw zQalHS3q8)$PnJTRjf~SJgyb5t0&KtAp`Xisc38+h@m!Z$;uWZJY54rPzaqI~8uLQS594JM`iu zE!BIsjfa~+IiB_hb0MCA^U@m)5=D!(MT|9&oS?~)tM{7)kBKxu$RPApdlaF@J64>h z2^2*q&F&>+b!G>>t?pGsJMnPv8dTwYTqq@zNS8ALn&c=anyn&o&{ew7QT!+L5^5Pzcd#PB0D zbAJJ_J(unUG+Jw0^6^U6wk#S2Xw!c`nJR^?rbWs(rFG}Bpf1or5OGkB@@OFr%F5Fb zIZS@X`lUz;FDCLKi1g9Z_DMg6DU#Qb0F8=;_r*MM_Gh^>$(|wKrKpN+slAy+U9i`M zf--DT8i0GF1tewj!G#t)Yn>Lw(}%n-4?6**N~%{o!*Pc!nGya>*YA`nVNQmH zURXB=XmMMkc!wj*i0VIMKDY`ufk~>4)2YbO$csIMl=5XgU+L2aV`ZJX+72u8@OegP z5s@b{v#7mEoDwSZlSfyY5>gHQsq=(lBxMeFPS_KkG3Aaar9!7aM`_(Ve&I0LAH3Lv zArLvVCE=zki&ocgMoLOl_mVhkID@a8P+L^a~cdQUE*g#vn)q>_4@e*G-H1xUE zf(uBXWw+BAl&*o6K%V&4Q)W2HEiGvZG*s4ekn&c)OFf5jBz**9Zq6I-`*ftCy_L>{ z_B5B(qX#YiVg_f?7yGMy#-&;^!yg_eF0f{M4jIMim?!F4@~IXRK4%n%k}5UoJ3fUB zFJ&gTR$Hx23QF4DBn>%PArd)YY50*)T-K2#!T*e*^IwSw%6}{itls{zv&|5X32M8y zicZTvh94%UPfu4(=3#yI_?(>oT^qai`&Vi0xJo>2FD0PE<<%p4+94kzj+gVb9_B|} z#&+t>J3K*{aWgTIdCieg7MM9Etg9sKSbDoUhTFJbrc~awEj>k0^xGbO6o>lFyZa6i z=;wUonl27UTj0jY#e%-nxTG|_^z!4h?Px*5h!xEF6pSeA&GLzxyu%v?FyR*&L-jA` z4OcA%OgzT_ZhW5N3`-Vb%IZ#u5H@**=sX>Pd(KM* zEGK#MHKCd8sZExG^i|e|{7DMXf{q9m8S%4#e&L$=_2Yu%r-AQYwM*85X~s375n<0$ zm?$uLE{_9~+)yF6(G75}@Cq9<=i1mF!&JYT4Gh=&#;(1w*t;}1#IJsxkZ{kZvJk_i z%=+TXydM3~7h>E3b)Q8Osiw*OPZ3qgOFb7t^cQpLW>3)8K7W<2mlw?0EN}y?tryAh zv#kJ6?JFVBcuo=YUYwYpt;~CRzyp>ITlL_&=$Q`UnTc1UI8E+= zuWQxb3y56=2TQ#;s`k^nDEGBLnXj>ED!auZ&8XCqqjr&N5DIjXDPpI+p^VEt9v-=h zQRCSoZ+t*p?p_67hxGZu9Tpb)9IZ!w_~2fRNEr2oMdi{(jrRWO0$LH8z(k9f^L!6DgNY|@^I^f)A*aMKH9`%* z3^)ADhNT##9^yjCb(Wf=&V(~##j|)LA`7-2dqBvx=oD-k5fqX;@Wm%q!%9=d{xgwT zWbSWaRv^sPMuF#6lV}TAUC)ra3NAWTzI0;7n7F?Ft)kqs#QqP4#dD>%5F*?(`p=1X zgFmf%=A6BF*i1PIx6Ypt?dVi#a)#c4e_OPDenM1L$e+gD8r0W&P_W_k!6lxJVjx{S zrEihfIKnTWcJH0`Xh#MrjR-(p%FlRstZai?Sg$f+V~!}4qZoCZi`@4syBY|;@^<5q z!fsK0qs0ND)QxZ%#ne7GR6y=>ZF`Yy+jk>~D67KL=+RTRxQhO^CvEF8h7fzDIw{P=E%GaZ{NAyXYYp_LPBCJk!?3T0j42T;?s3zpd;T$dObYVWbzaX2zmxFE`;Bu`$h?5x zJu@KC+&6p{BY)I<^{sJyTI+-9!+m@gz}tJoZQwC@kzq4j?>8`TLpkK}_0lx=(q>e1OePGhHQjxshh3RhXqb zLx0kV-kgi_tq&8j7kC?|_|d8BaJ%?<^UsyaZH%d=d~OSwVFp{09MvHqx!h$wcDgj6 z7iKy30quD8O8uD1>6mxzwX~KQHYAaM=RgHHSXho4^!DQ5HlNeI9Lhn|CYgY>tz__`gZ@X`(6Ab$IFT|Vj{4C(5ZAc$C&+x z)5qEb9jeb>_15TRov=%QH7I6L-l{V^;@N~$-SAX0C@1D-BRYGW@{dt?Z*NbCn`mx} zQ|hfjyo>-j*@k1EjF7f(V<;p=(12K$N3{tg(^##kn0c2qZ*F2O@h*UobWncl)P5!0)>IUCSD7ri*%zEMf#y7F*)0se{srN&a^!d{$u0j~A%D(o zKD^WcA=M&9x$nTun*xb>%3r9t>ErA!h`n*Y)k8i5eV-O1a9Je105U*F-(-eSRuV7s zDm*nKW43xyon(p=hIC292GvI?&!ry}*s)KoBWVGnjve@LdlYDd{azraK%br^qo_;zL8Pvs zQmLX#EW*k)6{z?%`Ri&6;*({@8@MIMc+9&_?^KQI$E}3Ys0RUxh6=m0H-v2x87gq^ z_C5=f2)4CDE9%z$=h7jS;V1c-GOx@A{;>l%$OW z(jwU~xWFh};T?I@tIqMbh>I{x%E0?M1Ekk7Ly1CFh-pwrwW~Y;#64`kr<6+DPEpv6`H(8XNeVS2;%3e$&>@q6 z89^%7@*Rq^`xeCdnKxr~Vuan&LwiTvw4Z{M)*IK`LWQ38gYnKM%4A6wCG+Pg<>Ge* z(Gfw^;k}WxOH3n7jQ?2_hT!jufX-4Mt;rMBn%W?Yc21=f&t&fLeX#Qxb#2HFCob(m^%$xH* z-cvi5F@wM+(poDc9BkD`0D-s_+i-AD?*%U)AK znZju29#$f76DzzJ$wDm_Nw3X@>wT!Fd-nC{aD<_^eJQ>&xJ{<9)=e>&6T})ru6TMV z@p(0XS)gO+k$?Mm&k&8@c>=24!Xoq{%Hp9?Mwko9vt1-7Qvi=Q!~Gth5NIOQZ?Q>l#mfBNg8Xr`tT>cyVv@UjnlpWWR%r^KXO==o;&z0LOS z7xjUlq-~j%9k`%^MC1#i%a@Lpvr&0-iMAB`6au`Sy-GM<WrL^wO9`!ov$>|j zFoC`FTs8ai_vopuJym+9!#i=h8LK+xGP@aN7;I0JHaw-V`uyT?YQ7*m%9!M%ooRiT zHstj7f&@3G!c(T0J$nN|J?FMj_A!ivI8`gA!Gr3y1FL_beuu;+d3#b~+7xM;CGvh~ zqDgm6j!@o<;Luo^+T9$k&XGKvQ4DSIR2q<$TF8D6A?ev}9f!j3O5^2&#RGa$*nJry zz}G%Pc?UzTw4s^m|C@tbaZfRWr{t8z@(=4EOG4eS+KqXKIO1OALmcPk&m z1+*C>cmN$1|E@=-*~XR;F3~>1K^MX+F59!fmFuZVsG3GQWiFF6*Rxh)3M?{oG?M;8dxmNG9g7T#~pP+^*3x zhWd@m{mZmuWmHRIhv<+uTG(FYK=DhXxMJXKuSMfRFT9zp#aW5#Pyr+Zp_(AZ1!Dkb z=3It0J63SnjLT@SqGvbrXrXY+bXh~;R#;V3=sUdV)S&G#Ej?{JI$s4O$M zY=;1n`W(xbmZVU7g{uGo;4ys(CR6 z@;*QNLQF+H4DKqjSV_+As83((Q7?ZaKOByC7;U;U$+?qhPV-zdyi05^8>~-6(d3X0 zwX=&S_wfBR1awJPVKq0D(>!FpGJCQ?0ql{-Rc1{ZkdQl`@;*n?2CG7#UGwGJvuIjg zu^9ikFSV4PIoW4MiF2JYHwOK2)ypiO(!G-)Y>m&sWsg2UZkp$5K&&=MaQsqu%XnsJ z%w1I!%&Y51(vPC9KG0OSXJbZu9E`|@P7RH~!|Ag`vCDkMGnC+e!_xD8NOcCkcr2i3 zCPcUqb@)t;e%Y|ge06>@hi2IAkmf28g`>BZU>Sj1l0edOz$CpWP&oO7MM{K$0o1K= z=nr_q;Q``4-~6td<&CJ-(>m}+)7U`&i{a<1QQ8I+$;-idoEmYH9L%$YRMY#5`8?T@ zOnx1{L#LJ|#v_@)^P(nN`Vm3Z=Df?+E}Q)Map$@b;85H?xnrqf^~Z=xi}vGJEM&7e zYajDqf@jW;EsBS&)=$i6r)q~OJcGnnfsQ`(dvzW@Ur}oNJUJ9nO(kh+xp^k~^Gv<` zi98{uAy-HF!(@2*{+A9MB%d{Pa+@r4Mc5mUCnio8)^&j-f$IT(X+qYqV8S>keoDS-T zoQxjfL>(J?+}p;(av4wTQ7(w%{L#8ko0BB8U9EsZ9R<2p0V#@I((plE4KUQsmrnuy zVK#ga_PYRI!pd%i`J(^D`Ozno$ZWX>5C^0nMmoEx`DwN{!h{1p3i z2)hB_)390pk8Ln$u~>D5;0{LG)#X4Xs+{!T?)*|0783x=>M@4tYGoOX6p-o zlM`X8ZhhJn>vhy1*#yBd*M1_3T0hR@HieU+2;&Mn{oRN?v4hU232romo5dxu&4DryjqNxZQQKe_~hZ#pJ8r zX{7$l{k#1A!FL;}uc;{Zj2e~fC0{TriKQbQM(7B6hahlsS#7*-4z_(58>&B07nHxs zkwgtCl~e6*<&g1a*({~l?Ab;lA?v$pi*N-eC~`1X#>(%AYIlrwIt7etP_zU!sez;f z-fmOO%vGMgG-JwC6FN1%e7s9hi<}vb-8gp4oCIo_xMuC0{T5fDsFlOu_n6|<`?6pG6I%;w=NdNoq}B+uoEE)C{BqtdF7}}r-AaL?5__!= zohZg6T%Kl(gTPE-ImiVwQorv#NDeOkQKee>l>f*0iYUUC+cxtiG}GiG2Gao5seRkj zObipb8zK6ex%}#GRITTCBtvDl;=x}PfLO?PsgJyDm7YAcf&4Cu&SYd$OBnShakecu zy#)f zP<(|Vz0}WlL6-43>?dxb3o}P;9(uYn2+w?W1a1~2D5odcW2}8iUwbVbK?WtyYB86n zk_A71QB97dQ$I(VXIt2-eqCnbVLpW<_2QuV-A2;HX`ycD3#+kuGX$m}2^m6pneY2c z&Xhq7@{gJ3>=B?$5sYh{5o5b#0xz6HTY4ygsNA58bj_T+NUf|E%4vY!7h~IfYpB=r zbfVi*B`rF@MSfsz`(wQ1VOB-;XqTh{*qEl?GJaPOpP2;WG{cSxI*HPj)}%eLrVb@k`Ue3wLBZi^eB)q0XBq=4D@d z9XhWT;IaS6$#BwcaJL#OG9w2Nb;t0U?nhXzF2lvFMeOBobbR_3S}S~=(_0oke21i| zL+#vkn3G2e_5e$5MZvX!V7HSsO{krmKXtfNZc!j$=l)^m;qMSv0UAbOZoJf`?@v`U zRK{P;+-jsuXkwU0%AVKmeH-ZhY?s(-n?#Iur}fJGXWt2xeFNKeVaD?9Px2A*bR?*; z8T93_5QkPyJ_iKDyDsEN3o+OTkzzN!97z>exb70~koAPG{H1VWi|S8Llxa1074FOr z!a|R)e6*t$NZn;G!W*OqoMeVASB<+$V@{=yG~T8ex&ia?8om8qTc~6_rFM;&$5hC1 zat9v_esHJ3d||uA)=G6SE~izX*WupdzPZGA@X^jvi04}nT5_N#Z-8S5vfWHY3C8qv zb6>mfjh;Y2gf86?ln-a-VSB(u9R3W7D*lOzZQ{hKQCO?a#MrV$GRyJ>39_ML9>jLH zdcAn_qjA*!sP5+T4JfOwRY>G@TlHHI2z|^gnC6d~lB0Nc!uq`u#@>9GXDkNIvmjOX6G-NV_aX&W1GmEXXf!-nc)3@j z1l!K+XezFKHZf}GG`mFp=OY4vW}!;7tD@jT?D1k{<>c3@{8d$@hN^o4lc_H5$Y$eO zCflUOm9L1AYKs&jEXsmW9MY1yhU2b^C{quhF4QSpe)cv85va*oH>a;}xzV8X@^omU zZ6c~ubP1I)Tj)p1G56vqh(N(|wwWpdO|x|Gs?(VQ!aQIatZe}ZqGE2U!WRu8o@Ya= zT|ML2h&tW~d+GIYWFqXG_MsUr$TV8eG#4yo`4EvsY6HLq&`5k&%h~lhn@68||8Pif zV#Ii}812c2Y8|{j8~^xG+fJfcK#mD#_IU!>TBGUj4F!0!BJq?Da{x}XEpc%`XxfKK zSP^?A63K=f=GK%Vi{dg#r#;BTMdIhKD8K z@LZ9&?N1(l2nAddFGtCYOcCm8#G2{MbXS*Cd%^B!3{)XPvGl(VT}u=CFd--PfKsJ`p@m38Zrz;cz zyg;HA^uh4z)yqt!L%r^VCtpcd-LU5&o zm6$>v(Cr%;TT0Ndapmx~gf=Tb`Q!LF0IrC$fJn}h5T8n>>uj}JplLCe#|W+fv^|=Tqz!? zOwu1)@++nL590~rD)9j+lq{mnxGm4?{W#_!iA@{0P>cb9@5#KZT{> zs-JuPo5y67vo5`10Gey}q;k(TihdT0^s;<*KRvY(4iu>ufK>&bGD2Hj^{Bch9k#si z^pUsmMPL(#@4k;g$Sn?SkhL4>jE>7K7v}rq+>uCeeMIP0E}Xz~Akq4%1DAAGx1DD` zX>TjH9}6fqV;AVi?#%s@l`?u0BrxCT8>?izII%r)=WT>gqJby)KC=tv72)c!+oYQHo-FW!6wzRMR>-1!Sh<(nn{Vsuf(-#o(%_WdRLn++ip(Y4u=It;B^C-={#gf%$C;dbH#$^zde2{2WI%fd zDT$}pC-UJd@YVxy=$||9W%OS`qoS4&K+8Z^upk(`Obxu6vbY^o04QfJ%R^m z*7Ff}RYm~EanW3`IPQ&RbQKH}&82fIzNL@ACT$z~EGa)SQSWF$BsrJW zE8}foCQubN$e5B~azoW7IUu5-Z|sB-)pdDZUE-&wH6ZR$G!X=r1F|}A`d>E9h+f?j z!&l&x7|bOgGc1>&>t9sc(idQzY>8N^US`P0}5XaSs&HtWY} zo1ZM;{*_*|a1V+{e*uj)Q2sA~Mp%c}7*T6&0iJ1jvs8tOl3wAeZ$5F6K98J`37jiG z;+}kU^_*OBo+59e%_Yq0)c;2`OL|*hJN7dSI}D)})B|I@mftpxLu1*SjdxaXxTil| z-v6bqTSsNdO63CrnX*lO&(Nj+f}>`ZrY8e@%}0lD3md-h?^zTqWGHr7`>h{gw@^Qi zKleNa6-a;cEAFrh?*spTK~ z9X=^A004*ZdsBs05itr7KitPs=$S)K7$<}M!r*YR;sWR*V`~zU^|uB&nsY_aBiO=+ zZkH}2W+6mw^~*2wLOh)I<(l3M@VY?M%85u3c=~{mz^jE|YUqtW;>Dj1?3bU_S+?mT zz_@-i*Y}4nR8=E))}fT;`kH)ir(vz6Htn?DCa?LDlpH0@>IBKWpTo)#0(dw7H;5r4 zT=u^ZLpz#Pi7&|94A)>a`|EA^yVWBZz#=j{wx+IMGZ#rv8Q?wrrW2ihyu3fTjT5X4 zM~HlyiV>nZY<=D5bx=siD=t=PPQ)Lh?T^b$yL5|QV`D#|ePftL zMvbD&or(g5s~K?&s(t|D1Ph-GL%-1jju(2f;)tFKd5qdW@A0sIgdy{lg84r9ij@}S zsAu9l&TQ;IRuQJb0Wu`hyt-BvO{QNoB>d0L*A9#R!C-DOBc{I`^&?TB)gB$$KBMV^< zqtr1b643}^e1q{_>JqCHGbU(*%Q$0V;{jrTx0?K93kRg-v+lbWM6+CIBHM28K$8gi zlg#&RlLls#Yk!sgRSOP+6k=f~y}|darrgi=3ne%qkXwFk5Y=fvkXTSGb ztk0GUn*5Bx)@woyNU7fSMe42=@tq;SpCO5SBz9K=f;1N?vti&JI{2;mW*7>h-I3zM zV|3*Nz7c$T$QJ`6s0$VN^GxE9-A665CMlG1q^L{Fj`C0aUSMAm0`U+do%)b4q7|K7 zLAgYB?ZI`-aBWODZi>f%Gnh~+4RMRydRoz^xlVB;fLy_tx7-Cu^0nhf(M%hMRgw_1 zuQBUcMz~Sg)H6b+XyTQuWX;I{3miqX>C@MjSF=RpD$KymFPt@R4wRq#dCxMs{9TZ= zLSF_-B^xZpe*qJ8JtDzpThk~rGip`iv%@)$=;)-7jX}2d{`1DKM`m*5-CwfDg~Y1Xshs8I9Peg->Vv?Dd;k z7eyPDvcIKhHpPyMeZGKbM~6q)QKTpnmAOm~#^HR#{2M+-BLqAX+I)oki@M0qi`WMY zddY?$V!vZY5gP3Cbm<1^pS-?8l0?wO%iTedx@KmdnBHzcJOw#u7V?sCXufnnO|bBE51H>#Wpg`MNga95EB-!YLt z8MCyVc8CraR6?%$0l*E6hYdS`Vif_+(#KQybgtLnC6Bd&H?KcAnv^AAxZMc_Oip2{ z^P6vy+5sJ7_$Ovv5EAB1qM4~BRQFvoKIDi4hd9AGcw<%#Bx?jeaeN>~*56tO8nm(c zKo@SA5rI&R9Q;q~ptx@x`LgizW3_z6Ow2Yf%Uyy}1#w%_5-AC0YBBGcQ>LQ=#VdiO zXxmgBxsGO^VaPK;(QC;Q+nt}jyxTQIJ1>e?$?V(#BUw!^cy)7q<&!w&q=AkK2L zZ>xvKZpJfJJ6DFYZYSIntH`@(ghkNfB(%}czU?&Zd^P6QRcoZ?bWf=ZUZDLc>l;x@ zZI$mwM5Nl2rBH;fstB6Mplu(`drmkBAU`8`?~gC;Aq|#Y_&a7M@`M_g^Z%|D;(xFG z_TJln5qHh(OyEOR_Un`mo4vai0=$m8J>r`iEdk{vXe+mavasH?TuETP!21A_H@>#b zhdNf7z;qP=hEA}95M0q0U987jn%rqt;QyTj6xR9aw5=MZ5X;$MHOR0<=hT@~?0?TR zx~Y|fD1%92fdy!XK#6^7(4FOVeS&ps=8sxl^!#l_Ac|rptQBZ#<{SmnXolD^Gaw zkdw{{o3S=~&B?_}S+^vFjyCSE6QSX&XGehZ>n3R}dSS`LOz3RgZCInk2Z@XTds)&pqDu8nNSb zp+u}6uR$%|m>9~R6wW#@bD^3$d55n*sQHe+c6$#vG6Mn77ULnqRDg_Ce@Jj{90`+T zq@^&DzuWj8ssa@>pGHfBTt22T2Nk~&usy+tv(&LMSX%d>ft;v(iT%4a0{kOfX9(V5^Tj5>KT=M`Joh(NoSTi4w#n!-WN_gC%kBTK^iFc(BvbC%H>ZqOa!uX64oOi97%9S@x>veP;H$1;51mt^HFFEMx)__RrH$Wo;`==OeR|Oog4U68m`v&BnLz>Jr7V%*h<@1Nb$VDTp|~fb>fy z%g2!muf4Adv5t3UeS`Pr91*V7^R~hBZlrLdk91cStb^8k*$`DMvq#YZkA`$W-G|jb|A)4u|zAu^@3I^NT#U1Zo#p7tCq`l8V1M zFap~xWrAR{LG=bdlER-A(;T9t?VSODJmtB;0;0X~*^tAZVYV^vd>UbGsPc987cxoT zGk1Wm^1IlP**oan(7Qw~TVH5>9P;k-BzCAU?jtCnS!9{*mDl2KoTg?6dOC~Own&L| z-V`g)#tu9#^b%l$TZ&2zE>@Zo!rYHG-T}|WV&*^3MVyZUG@>#_t4gGsjHFI(p{h8W zvqP6*aKVDJR_pE>5g7bC2nQ8f3zLH*S!&B>Q$!Y4Uqk*61SUtFdjb8!CpBtwL*=4@!H#O*;YNUxD)5SUhGw08fs)?Rg|vSBZ#(8ddZ+l`Vg?Q_T!SA!EiM9&@C18?l^)lw+PNQ7 zdK<&j)4Vh)|nff;XlEF?d%o)HMjp}4}hvyz&`S`gIYaK zBQ+7uqP`)7rUud-9=-Eqv43J46jBYnSs)+!>Q$1;3>D7?tNX zvp?!9EQTf`b6x)K+I{Y!P$y93v3dTHKtFlL4~q(g>2m1%fv&ip!k~~a6Myfk4=K|j zbcu99wk+l5=VC4{i)BOwvf!^QQnEA@=}5o~M$hF3*AHw-=fE}q&6kO7*F(}y%e-6h z?k!BBq45@r>wQ{JV60LVZ$<|IFs8Q7d#GgWVgBa!$I-HP%0gF=ztKB@1r<(T>0?v? z16pJ2{SZYKut1v9DW;Q7RokMjbjSNFm)a|_2t0X$Q)M&BI5phClI=I0EU&ydx}`|3 z#Y5qao5{9+wtm2_S>Zw^;CV@^Rc(_6jErhhA`x4JtRu`6n=LR zo3n|efk?3Z&25T4M+SySV)3@ywom|Kayn0Fqf1JaDo^P8c9RdGq}TQfEp?xm$93Dr z)5$Kpht6DOH%YdcH?VzLm)0s{sgLLXilm_(fMw*9pFgH#oUVUFq4Z>~G59KcZ92H$ zTP9ts4yTn)OGr9n4p$}jZQxm^;r{i7?5P2v@nHVK@kg6C^;9$*czX5d14(CL5!sdf zr5n@<o5!yZGx@MAHDrQiz$AiMV`of7Cbbk(=^= zm>ArE##uW#@c56`^Ve4lxPZ-O)LH0%j{Gb97UE+EoYA}TO!hyQ=dZV$ZGg?alCK{B z^{Kyc&$EDfyJaSB{$D$p1U9EcM6*%;XAF<>VJ&cOW4%Fr|Fx5HU^5p9m8r;oX8A-A zoB(=PVG2gtpNsbUZ8KoAEtgo=Kl#32M_C6DVA|XyeE*O$e;uU<*gS0$5cd!1?ALAv z0N7Wx9hXzk-_ZD9J4w9XJc-Nz|L<${IR&^Wvo`DK*#G)LEcctsu~i=Z`&xn(X(%>MK*B@(;-Zsk{~8X`U=pt7@gLmx-}l9G6+OwbNmdjV z@_v#RiR${o6H;!0K9PO$uwR7}+VJvqiHsda#$2P{gQvCPcKQM6_{2U^dBk9M==}a> z8>S`K^1nD|_veQVc!`Q8(L_p>85gdjJFq%lR>QW3bC5Eg3N|mDSv`-B$3ll{D73^| z3c{|OIcJ&E>Ha~T{JIC{@hBF+s$fzY;2$vf%(E9^s!~}#qylVWQ!Oi0rq7%S)=&|2 z1yJWFh2Q@B0{b9a-~vaVQl=01_wB=i%LW=ABdyfNf3-*K`yvC}hcExt@c#aE^WAiz zILU(t4+0GDynE5mYRTnBk+CR6d>+6(MDX*0VZM5b@b_yyIOt8+1@`ZEk+F~;`tegH z{rNO9mJ1@n8RMGNukYS}i4qxk*T+Qc@7FMVteN6e3SiHF?b4T$5&|EC^3Q7x5pdI6 huYV5s|9%4KUN<^1Gro!Yz)yT2EurwTNX)?Re*n~pZ-f8< diff --git a/docs/install/binary.md b/docs/install/binary.md index fe360f1b0c..bde79b0422 100644 --- a/docs/install/binary.md +++ b/docs/install/binary.md @@ -15,7 +15,7 @@ Coder publishes self-contained .zip and .tar.gz archives in [GitHub releases](ht ```sh # Automatically sets up an external access URL on *.try.coder.app - coder server --tunnel + coder server # Requires a PostgreSQL instance and external access URL coder server --postgres-url --access-url diff --git a/docs/install/docker.md b/docs/install/docker.md index 13f0eb7437..565bdd2f59 100644 --- a/docs/install/docker.md +++ b/docs/install/docker.md @@ -4,7 +4,7 @@ You can install and run Coder using the official Docker images published on [Git Docker is required. See the [official installation documentation](https://docs.docker.com/install/). -## Run Coder with built-in database and tunnel (quick) +## Run Coder with the built-in database (quick) For proof-of-concept deployments, you can run a complete Coder instance with the following command: @@ -14,7 +14,6 @@ export CODER_DATA=$HOME/.config/coderv2-docker export DOCKER_GROUP=$(getent group docker | cut -d: -f3) mkdir -p $CODER_DATA docker run --rm -it \ - -e CODER_TUNNEL=true \ -v $CODER_DATA:/home/coder/.config \ -v /var/run/docker.sock:/var/run/docker.sock \ --group-add $DOCKER_GROUP \ @@ -68,7 +67,7 @@ an PostgreSQL container and volume. ```sh cd coder - CODER_TUNNEL=true docker-compose up + docker-compose up ``` For production deployments, we recommend setting an [access URL](../admin/configure.md#access-url): @@ -79,8 +78,6 @@ an PostgreSQL container and volume. CODER_ACCESS_URL=https://coder.example.com docker-compose up ``` - > Without `CODER_ACCESS_URL` or `CODER_TUNNEL` set, Coder will bind to `localhost:7080`. This will only work for Docker-based templates. - 4. Visit the web ui via the configured url. You can add `/login` to the base url to create the first user via the ui. 5. Follow the on-screen instructions log in and create your first template and workspace diff --git a/docs/install/packages.md b/docs/install/packages.md index d8e455411d..13a96e0b30 100644 --- a/docs/install/packages.md +++ b/docs/install/packages.md @@ -7,7 +7,7 @@ 1. Run Coder as a system service. ```sh - # Set up an access URL or enable CODER_TUNNEL + # Optional) Set up an access URL sudo vim /etc/coder.d/coder.env # To systemd to start Coder now and on reboot diff --git a/docs/quickstart.md b/docs/quickstart.md index ed59929380..98067a6361 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -12,8 +12,6 @@ Please [install Coder](../install) before proceeding with the steps below. 1. Run `coder login ` in a new terminal and follow the interactive instructions to create your owner user and password. -> If using `coder server --tunnel`, the Access URL appears in the terminal logs. - ## Templates To get started using templates, run the following command to generate a sample template: diff --git a/docs/quickstart/aws.md b/docs/quickstart/aws.md index 13a5bb8498..95e382fa5e 100644 --- a/docs/quickstart/aws.md +++ b/docs/quickstart/aws.md @@ -78,15 +78,7 @@ curl -fsSL https://coder.com/install.sh | sh ## Run Coder -First, edit the `coder.env` file to enable `CODER_TUNNEL` by setting the value to true with the following command: - -```sh -sudo vim /etc/coder.d/coder.env -``` - - - -Exit vim and run the following command to start Coder as a system level service: +Run the following command to start Coder as a system level service: ```sh sudo systemctl enable --now coder diff --git a/docs/quickstart/azure.md b/docs/quickstart/azure.md index 0b77406cf3..26e63ae8fd 100644 --- a/docs/quickstart/azure.md +++ b/docs/quickstart/azure.md @@ -49,15 +49,7 @@ curl -fsSL | sh ## Run Coder -First, edit the `coder.env` file to enable `CODER_TUNNEL` by setting the value to true with the following command: - -```sh -sudo vim /etc/coder.d/coder.env -``` - - - -Exit vim and run the following command to start Coder as a system level service: +Run the following command to start Coder as a system level service: ```sh sudo systemctl enable --now coder diff --git a/docs/quickstart/docker.md b/docs/quickstart/docker.md index 3f17877a2c..da19b4f3be 100644 --- a/docs/quickstart/docker.md +++ b/docs/quickstart/docker.md @@ -15,19 +15,13 @@ Coder with Docker has the following advantages: 1. [Install and launch Coder](../install) - Next, we export the `CODER_ADDRESS` and `CODER_ACCESS_URL` environment - variables. We can use localhost for the Access URL since the workspaces - all run on the same machine. `CODER_ADDRESS` is where coder server binds - while `CODER_ACCESS_URL` is where it's accessed. We use `:7080` to bind - to all interfaces. + The Coder server binds to port 3000 by default. Use `--address :` to customize it! ```bash - $ export CODER_ADDRESS=:7080 - $ export CODER_ACCESS_URL=http://localhost:7080 - $ coder server --address $CODER_ADDRESS --access-url $CODER_ACCESS_URL + $ coder server ``` -1. Run `coder login http://localhost:7080` in a new terminal and follow the +1. Run `coder login http://localhost:3000` in a new terminal and follow the interactive instructions to create your user. 1. Pull the "Docker" example template using the interactive `coder templates init`: @@ -38,7 +32,7 @@ Coder with Docker has the following advantages: ``` 1. Push up the template with `coder templates create` -1. Open the dashboard in your browser (http://localhost:7080) to create your +1. Open the dashboard in your browser (http://localhost:3000) to create your first workspace: diff --git a/install.sh b/install.sh index 9e0d7b0e74..bbecb4d598 100755 --- a/install.sh +++ b/install.sh @@ -121,7 +121,7 @@ $1 package has been installed. To run Coder as a system service: - # Set up an external access URL or enable CODER_TUNNEL + # Optional) Set up an external access URL $ sudo vim /etc/coder.d/coder.env # Use systemd to start Coder now and on reboot $ sudo systemctl enable --now coder diff --git a/scripts/develop.sh b/scripts/develop.sh index 0e001fcb66..a1ab8a884c 100755 --- a/scripts/develop.sh +++ b/scripts/develop.sh @@ -59,7 +59,7 @@ CODER_DEV_SHIM="${PROJECT_ROOT}/scripts/coder-dev.sh" # rather than leaving things in an inconsistent state. trap 'kill -TERM -$$' ERR cdroot - "${CODER_DEV_SHIM}" server --address 0.0.0.0:3000 --tunnel || kill -INT -$$ & + "${CODER_DEV_SHIM}" server --address 0.0.0.0:3000 || kill -INT -$$ & echo '== Waiting for Coder to become ready' timeout 60s bash -c 'until curl -s --fail http://localhost:3000 > /dev/null 2>&1; do sleep 0.5; done' diff --git a/site/e2e/playwright.config.ts b/site/e2e/playwright.config.ts index 5d7ef08ea9..e39c412640 100644 --- a/site/e2e/playwright.config.ts +++ b/site/e2e/playwright.config.ts @@ -24,7 +24,7 @@ const config: PlaywrightTestConfig = { command: `go run -tags embed ${path.join( __dirname, "../../enterprise/cmd/coder/main.go", - )} server --in-memory`, + )} server --in-memory --access-url 127.0.0.1:${basePort}`, port: basePort, timeout: 120 * 10000, reuseExistingServer: false,