From 3c9dca7befda7ff6caa86253f3c70b7599e69643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B3=A20668000637?= Date: Mon, 2 Mar 2026 14:29:51 +0800 Subject: [PATCH] function: picoclaw node, can link with gateway and execute system command --- .gitignore | 6 +- cmd/picoclaw-node/Makefile | 177 +++++++++ cmd/picoclaw-node/README.md | 107 ++++++ cmd/picoclaw-node/camera_mock.jpg | Bin 0 -> 264755 bytes cmd/picoclaw-node/config.json.example | 27 ++ cmd/picoclaw-node/config/config.go | 174 +++++++++ cmd/picoclaw-node/gateway/protocol.go | 93 +++++ cmd/picoclaw-node/gateway/session.go | 303 +++++++++++++++ cmd/picoclaw-node/go.mod | 7 + cmd/picoclaw-node/go.sum | 4 + cmd/picoclaw-node/infra/auth.go | 35 ++ cmd/picoclaw-node/infra/device_identity.go | 57 +++ cmd/picoclaw-node/main.go | 153 ++++++++ .../node/handlers/camera_snap.go | 85 +++++ cmd/picoclaw-node/node/handlers/file_save.go | 133 +++++++ cmd/picoclaw-node/node/handlers/handler.go | 8 + cmd/picoclaw-node/node/handlers/system_run.go | 360 ++++++++++++++++++ cmd/picoclaw-node/node/invoke_dispatcher.go | 46 +++ 18 files changed, 1774 insertions(+), 1 deletion(-) create mode 100644 cmd/picoclaw-node/Makefile create mode 100644 cmd/picoclaw-node/README.md create mode 100644 cmd/picoclaw-node/camera_mock.jpg create mode 100644 cmd/picoclaw-node/config.json.example create mode 100644 cmd/picoclaw-node/config/config.go create mode 100644 cmd/picoclaw-node/gateway/protocol.go create mode 100644 cmd/picoclaw-node/gateway/session.go create mode 100644 cmd/picoclaw-node/go.mod create mode 100644 cmd/picoclaw-node/go.sum create mode 100644 cmd/picoclaw-node/infra/auth.go create mode 100644 cmd/picoclaw-node/infra/device_identity.go create mode 100644 cmd/picoclaw-node/main.go create mode 100644 cmd/picoclaw-node/node/handlers/camera_snap.go create mode 100644 cmd/picoclaw-node/node/handlers/file_save.go create mode 100644 cmd/picoclaw-node/node/handlers/handler.go create mode 100644 cmd/picoclaw-node/node/handlers/system_run.go create mode 100644 cmd/picoclaw-node/node/invoke_dispatcher.go diff --git a/.gitignore b/.gitignore index 379d4ae89..27cdf5741 100644 --- a/.gitignore +++ b/.gitignore @@ -50,4 +50,8 @@ dist/ # cursor .cursorindexingignore -.specstory/ \ No newline at end of file +.specstory/ + + +# picoclaw-node +cmd/picoclaw-node/config.json \ No newline at end of file diff --git a/cmd/picoclaw-node/Makefile b/cmd/picoclaw-node/Makefile new file mode 100644 index 000000000..efe819ff6 --- /dev/null +++ b/cmd/picoclaw-node/Makefile @@ -0,0 +1,177 @@ +.PHONY: all build install uninstall clean help test + +# Build variables +BINARY_NAME=picoclaw-node +BUILD_DIR=build + +# Version +VERSION?=$(shell git describe --tags --always --dirty 2>/dev/null || echo "dev") +LDFLAGS=-ldflags "-s -w" + +# Go variables +GO?=CGO_ENABLED=0 go +GOFLAGS?=-v + +# Golangci-lint +GOLANGCI_LINT?=golangci-lint + +# Installation +INSTALL_PREFIX?=$(HOME)/.local +INSTALL_BIN_DIR=$(INSTALL_PREFIX)/bin +INSTALL_TMP_SUFFIX=.new + +# Data dir (config, identity, etc.) +OPENCLAW_HOME?=$(HOME)/.openclaw + +# OS detection +UNAME_S:=Linux +UNAME_M:=aarch64 + +# Platform-specific settings +ifeq ($(UNAME_S),Linux) + PLATFORM=linux + ifeq ($(UNAME_M),x86_64) + ARCH=amd64 + else ifeq ($(UNAME_M),aarch64) + ARCH=arm64 + else ifeq ($(UNAME_M),loongarch64) + ARCH=loong64 + else ifeq ($(UNAME_M),riscv64) + ARCH=riscv64 + else ifeq ($(UNAME_M),armv7l) + ARCH=arm + else + ARCH=$(UNAME_M) + endif +else ifeq ($(UNAME_S),Darwin) + PLATFORM=darwin + ifeq ($(UNAME_M),x86_64) + ARCH=amd64 + else ifeq ($(UNAME_M),arm64) + ARCH=arm64 + else + ARCH=$(UNAME_M) + endif +else + PLATFORM=$(UNAME_S) + ARCH=$(UNAME_M) +endif + +BINARY_PATH=$(BUILD_DIR)/$(BINARY_NAME)-$(PLATFORM)-$(ARCH) + +# Default target +all: build + +## build: Build the go_node binary for current platform +build: + @echo "Building $(BINARY_NAME) for $(PLATFORM)/$(ARCH)..." + @mkdir -p $(BUILD_DIR) + GOOS=$(PLATFORM) GOARCH=$(ARCH) $(GO) build $(GOFLAGS) $(LDFLAGS) -o $(BINARY_PATH) . + @echo "Build complete: $(BINARY_PATH)" + @ln -sf $(BINARY_NAME)-$(PLATFORM)-$(ARCH) $(BUILD_DIR)/$(BINARY_NAME) + +## build-all: Build go_node for all platforms +build-all: + @echo "Building for multiple platforms..." + @mkdir -p $(BUILD_DIR) + GOOS=linux GOARCH=amd64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-amd64 . + GOOS=linux GOARCH=arm64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-arm64 . + GOOS=linux GOARCH=loong64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-loong64 . + GOOS=linux GOARCH=riscv64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-riscv64 . + GOOS=darwin GOARCH=arm64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-arm64 . + GOOS=darwin GOARCH=amd64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-amd64 . + GOOS=windows GOARCH=amd64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-windows-amd64.exe . + @echo "All builds complete" + +## install: Install go_node to system +install: build + @echo "Installing $(BINARY_NAME)..." + @mkdir -p $(INSTALL_BIN_DIR) + @cp $(BUILD_DIR)/$(BINARY_NAME) $(INSTALL_BIN_DIR)/$(BINARY_NAME)$(INSTALL_TMP_SUFFIX) + @chmod +x $(INSTALL_BIN_DIR)/$(BINARY_NAME)$(INSTALL_TMP_SUFFIX) + @mv -f $(INSTALL_BIN_DIR)/$(BINARY_NAME)$(INSTALL_TMP_SUFFIX) $(INSTALL_BIN_DIR)/$(BINARY_NAME) + @echo "Installed binary to $(INSTALL_BIN_DIR)/$(BINARY_NAME)" + @echo "Installation complete!" + +## uninstall: Remove go_node from system +uninstall: + @echo "Uninstalling $(BINARY_NAME)..." + @rm -f $(INSTALL_BIN_DIR)/$(BINARY_NAME) + @echo "Removed binary from $(INSTALL_BIN_DIR)/$(BINARY_NAME)" + @echo "Note: Only the executable has been deleted." + @echo "To remove config and identity, run 'make uninstall-all'" + +## uninstall-all: Remove go_node and all data (~/.openclaw) +uninstall-all: + @echo "Removing $(OPENCLAW_HOME)..." + @rm -rf $(OPENCLAW_HOME) + @make uninstall + @echo "Complete uninstallation done!" + +## clean: Remove build artifacts +clean: + @echo "Cleaning build artifacts..." + @rm -rf $(BUILD_DIR) + @echo "Clean complete" + +## vet: Run go vet for static analysis +vet: + @$(GO) vet ./... + +## test: Test Go code +test: + @$(GO) test ./... + +## fmt: Format Go code +fmt: + @go fmt ./... + +## lint: Run linters +lint: + @$(GOLANGCI_LINT) run + +## fix: Fix linting issues +fix: + @$(GOLANGCI_LINT) run --fix + +## deps: Download dependencies +deps: + @$(GO) mod download + @$(GO) mod verify + +## update-deps: Update dependencies +update-deps: + @$(GO) get -u ./... + @$(GO) mod tidy + +## check: Run vet, fmt, and test +check: deps fmt vet test + +## run: Build and run go_node +run: build + @$(BUILD_DIR)/$(BINARY_NAME) $(ARGS) + +## help: Show this help message +help: + @echo "go_node Makefile" + @echo "" + @echo "Usage:" + @echo " make [target]" + @echo "" + @echo "Targets:" + @grep -E '^## ' $(MAKEFILE_LIST) | sort | awk -F': ' '{printf " %-16s %s\n", substr($$1, 4), $$2}' + @echo "" + @echo "Examples:" + @echo " make build # Build for current platform" + @echo " make install # Install to ~/.local/bin" + @echo " make uninstall # Remove binary" + @echo "" + @echo "Environment Variables:" + @echo " INSTALL_PREFIX # Installation prefix (default: ~/.local)" + @echo " OPENCLAW_HOME # Data dir (default: ~/.openclaw)" + @echo " VERSION # Version string (default: git describe)" + @echo "" + @echo "Current Configuration:" + @echo " Platform: $(PLATFORM)/$(ARCH)" + @echo " Binary: $(BINARY_PATH)" + @echo " Install Prefix: $(INSTALL_PREFIX)" diff --git a/cmd/picoclaw-node/README.md b/cmd/picoclaw-node/README.md new file mode 100644 index 000000000..8e2b7a883 --- /dev/null +++ b/cmd/picoclaw-node/README.md @@ -0,0 +1,107 @@ +# go_node + +Go 实现的 OpenClaw node 节点,与 Android node 架构一致,通过 WebSocket 连接 Gateway,仅实现 `system.run`(执行 shell 命令)。 + +## 架构 + +- **GatewaySession**:WebSocket 连接、connect 握手、RPC 协议、`node.invoke.request` 事件处理 +- **InvokeDispatcher**:仅支持 `system.run` 命令,执行 shell 并返回 stdout/stderr +- **DeviceIdentity**:Ed25519 设备身份、connect 时 device 签名 + +## 配置文件 + +配置通过 JSON 文件管理,支持以下路径(按优先级): +- `-config` 参数指定的路径 +- 当前目录 `config.json` +- `~/.openclaw/go_node.json` + +### 配置示例 + +```json +{ + "gateway": { + "host": "127.0.0.1", + "port": 18789, + "tls": false, + "token": "your-gateway-token", + "password": "" + }, + "node": { + "displayName": "my-node", + "nodeId": "my-node" + }, + "reconnect": { + "maxRetries": 0, + "retryIntervalMs": 5000 + }, + "exec": { + "workDir": "/tmp/go_node_work", + "allowedCommands": ["ls", "echo", "cat"], + "allowAllCommands": false + } +} +``` + +| 字段 | 说明 | 默认 | +|------|------|------| +| gateway.host | Gateway 地址 | 127.0.0.1 | +| gateway.port | Gateway 端口 | 18789 | +| gateway.tls | 是否使用 WSS | false | +| gateway.token | Gateway 令牌 | - | +| gateway.password | Gateway 密码 | - | +| node.displayName | 节点显示名 | hostname | +| node.nodeId | 节点 ID | 同 displayName | +| reconnect.maxRetries | 最大重连次数(0=无限) | 0 | +| reconnect.retryIntervalMs | 重连间隔(毫秒) | 5000 | +| exec.workDir | 工作目录,命令仅在此目录及子目录下执行,空=不限制 | - | +| exec.allowedCommands | 可执行命令白名单(按 argv[0] 的 basename),空=允许所有 | - | +| exec.allowAllCommands | 为 true 时忽略白名单,允许执行任意命令(含 rawCommand) | false | + +**安全说明**: +- `workDir` 非空时:`params.cwd` 必须在 workDir 下(相对路径或绝对路径均校验) +- `allowedCommands` 非空时:仅白名单中的命令可执行,且禁用 rawCommand(只支持 command 数组) +- `allowAllCommands: true` 时: bypass 白名单,允许任意命令和 rawCommand;适用于完全信任的节点环境 + +> 注意:go_node 使用 client ID `node-host`,与 openclaw node-host 相同,以便通过 gateway 的 client ID 校验。 + +## 构建 + +```bash +go build -o go_node . +``` + +## 运行 + +```bash +# 生成示例配置 +./go_node -init-config +# 或指定路径 +./go_node -init-config -config ~/.openclaw/go_node.json + +# 使用默认 config.json 运行 +./go_node + +# 指定配置文件 +./go_node -config /path/to/config.json +``` + +## system.run 参数 + +与 openclaw node-host 兼容,paramsJSON 示例: + +```json +{ + "command": ["echo", "hello"], + "cwd": "/tmp", + "env": {"KEY": "value"}, + "timeoutMs": 30000 +} +``` + +或使用 rawCommand(shell -c): + +```json +{ + "rawCommand": "echo hello | wc -c" +} +``` diff --git a/cmd/picoclaw-node/camera_mock.jpg b/cmd/picoclaw-node/camera_mock.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f20f05d1554efc4b41ec48183dbb29a7ff0ab513 GIT binary patch literal 264755 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%0DC^wW7^ zjMFR|F@>2v4rTvpb7U-vQJj&rv9U25{<;$~x)e#G!NP3(Hqa0>JRkJq=6ZQ#;BbU& zau&+{#4y$roUq8x+*N}b5>=eIo!c8DxnfVmZ zQpF9wdG20ajhLVBFP8JIucAYCB0(khtIwb>lW3QK6%lk5&+~O&SgzfQYrF|Tn`^Jn zQIN5sLgcXf;`=Jud@2g@7d^qzSW=XIZ|;{wWg!)ckBzqyHT*~_l>k?sJh-eZ)W7<0 zzn$Iq^5BDQz|fs3ne$iEffe*=rZ+0<972?3@T0*nq_KzBC0s`pbqmdW00eM|Nz~G4 zvvzEG%xFQKm1#mP*@)xQ5D&m-jIC*)4)j%odhV1u#X;drQ2JjLcDar6RMYEF?42Z;+-r zMB-><(LY+E=28G?d*CI##pLAVM9?+6I~Yx7%y1}`sQE(9`?~OtSMlCU657tmJR^*~ z&lFl05doY!vTts0O^l7#+uZ7EYJ5W_$_w$LzfM)Zom%wRPB)7<_|)Qj6ewOyS`D01 zH+)=ejE%Lcss-FG4P%?rf#L3J85wfg_B)=O+uW+7-(PIO zpS{mG!<9k9pVhMTYjXg<;0*L-wM6Ej=7ky_<=4g4(7!YP@6Y+4^YinqONx>IUBnj_ z-hXk|#O*g^VGb;?B5I3ja{PHPYg9(%aqrf_pY&`+&`>HT+5$gZQb&3rc8!LAVYrw zeIVSwtcKzZQv~?I4!t`fbZ_e4fCnjsgKrMDAS_4?+pB)_Ef+d@S$G3Ot*yp>NXY;u z8ZQkbf12#NVa_1rdumUrCv~R*2`=|e(2rCHXI+_1wCxPmfrREduOIoNdxlys{(q&d z!ltNX*wU)nu;2tBQCJ)l;feIc=@5i~5Gx2lCJDB56}o*MUKo7&?=)pQ9?&Z1stWJv zHXRt;zZ{Fz)b@O=Y4`B5yZCeQI53)=Z~rTghS#d9qZu8cB!U-lkOM`cq41AxJY}Q3 z#Z|i9_07pjZ@$P#EkHEw?-xZxHdDedTceax z?)kYX2}ymQh^woib%;+#+8Anchqntcu%b}Y9y%P zLXbW(u%vQBnjVu-q4fYMKk<8S*R#~akw4bPr_YhMz_dBazH+)83n?6b=DUjhLNonn z1U-=<5b07&!V5~z%={eQ!{ZoT(O@Y4Q}hb^R&j^00fRS?xDMn`7^21jV6*?@@^MT~ z$chEn@7&dWBRZ-Yg0Z8>=Dw!$Z}etTXk9G={c7JMD~oJeX(e^sZ`}VY?Kt%PnSo*= z?T;?A>IjMYcF?*H*V@X8z=Nx^mz%@@Jp)6>y|wxQNdtr|Hci-s~fRp-6rhW%y9~SQXI} zC1>_h29utW7b_I2PB*ZP)m;lPg3EM(+T>h z@6>L59wV}!Ck56jQLiGTVo>UC83&*9F5;(D4MeZEi(?+r1&G3`b=ovFJ=K$p&`HYk z)+Lvv8Ta``2^xy8$wjfD2K4#r7LyYbjg5`KiUbI&$=|*LQDuD~T%k&NxPSOi;$QG3 zR!RR~MBmBDyBtLSlv34N|bvQrW7yq2Km!wUOr25TN$Z< zLWM=uf*}(O3^$m-T6tS8as6lWab{))=q}2!oi}_$o}-ai^4W~_ezQy+roAJ@JL7dB zGuS+t{{i0$uM<-8v+CnY$b(0#$Myvm+xY70>Lu`%M$n*=ro!i;hVth}yGb;eelz?b zUy$|Q^>EykWTFMaqqUN$v95oJTX-Kj{HQPcOR8fhF1NJG{88^xe zIc%Ye1L=3@R<#nE^mjc7xiAJ!G%>e?FI7MUWhG#BO;<*^2$a#cCBZ;(OTs`6Sj9^n z9nJf%v&1yhY2l#jJNtwhg$WaDaA>3nO1#du=icFv-hhCJizwQw-{pswv+YaWhY^KA zL3f+B;4%ERlHVuKD$0eW4tX!t%+v!b4RehD>c@&o-~M*U8UE(*QT4^eCzDsKJBr0H#>3jn)$DrD$jsKZ7zHuy8_0)Jkd~$e%DU)66b-J&1C;Y zk@s0DS+gdeSMOfB+$~yK+i-8an!rH)RL=NKyTVXy*UPq|^p~N0rkPXZC%dul>d4gb zKN=caI>@2M9UU$2AMl02{3Y+Mu?>{D)mQQ9-JG?FRz`<`lUg>U|pME*iOK^7(mb z6R$0-cJ9v4O#yhq@$npwrnb8F#xHz~v$C?=^&DSGb-AZ~Bh!12n~g_8x<{FO4l8*; zmsX-+*Qk1!LTC8v}bELL{eUJtg>-l1)X+cLo1J)hMjW3*0a>H9|t*p%Ud3-v! zbHZV-A^rTt{d{+4YgHeCA$X{pH;Np%v`}8i4NL{fKLmexQ&-J>QCf&9UixWYbL9SlnjA^kMDv*9h{%$3lwY?lU`}!{$!u6yZll47bDB_%kl4xqdzQ!Q z`Z7Cx_XV>JYknU_5Le3WQ>CEj=?$pcusO^6s(6lvdtFY?Qp-&!#MRlx$H%w4 zwBFM3ufC?HrlaHe-*7-erIfPgNsS||X6F4jWyOLd{JPoHXdSz-PquRVl2*#d3cit| zf(XjnK>urWOf*&uC*uU;?(S)IW#tzg_h>M)y_|SvOJz~F%WMv%bRSiA#K)8>iiIjE zVe`=uTJrM0D$N5R2eAHSiK#MC2+NRXA?eKqY1_)Z9&0LfO7K0xQP&I)9hlx$?BOU`NH3kxH_$N;ds_bGwbctZZhO9T^LR zh#jYbhmerT1j!@cR4oP53W^T1b6^f3k{L}9SY)s-wA4C^s^J=$h0!Zy?MyWDie|Oa zPdbccq%4#(6E3?c^gGh~-5B=tXf^4z=HP<*#6TbO zTNj`hQ-IExBR~C!HPGGK+WD#fux?NeH?IWDDim|PK&c!Y%C(~nn7Ip&0>A10Gv2=Y zmh2o#{Pfnay8UJ1<=@65pm4ujlRjQavDVervJ5#y5hKhmA(aa7^RKV2R+O3B+1Ytn zeV%mK4V@|S@NnO$ZtwP5)|cTHfK z{}(?OADPIfQK|AzqrIC`gg8JJ2co-C`f+*Scs5Q;K&8nfPCq-Vg~V{qo5a@gDPMeG z*NweYR!+|4)>%$YF6i!VW((Nl*IHfT#~em^R*KtkdC)U@l%-ZlnaoRJv!n$~I}}32 zu9rLNxMB1~_$;ciuG|EjD=YkbTxRBz%=}vJEsy$UdU}4TN_^B5@D;d#0`wkR83>tr zEeFox7dmu41u+Q;iwu0HWl4UA5*PJ@HdAVUW;YxS$GR0PI`46oUSwX6N!W(P%%O0| zvw(+s=4D<0DlNd=CiG-tGggVm(humPzF-jzqstppvsPOEg^duxHyM#v^E((&hK*44 zfQEuBlhnFqLW7D1>QTk{Wp%NXhJLmg`~a{<0E*{I6}GsjDBgJ^qYCcd$GF<9@% zDyuu&e9pA}6FH;A1lgC_T_`Ao4T}rlYN-Z)5x0TE3v(a6IeKncnS>VmvDdlGn)v4) zOLVo5oO{{us-LVW4c4(yC<)Dc`L*)u6?~;iX6Z(%BUhzNYbQiITvP?=E=mJ4NoN!<+}PGc3#-S%C~V>B#i&{`MaE_1ncNqcG{PawM zx6Pw0>3eS4xW_0A4zPsye3-Y{5TVgqsF1PAXEJl#LnhF##M`-0>TJxY@PGtn)S`l% zlEa|_e^DNp+4ZbL<@Ulc|F_QNPb~5LpJACuQAHnsFgfznulfuSTEoB1$Jx{M=i!hT zXC@*qoR52X*Owz(hgXX(XX7O(kSP#>yndz>5?2>9G>GbEV!@u)(`xR!>PPGzt6vxI zG%w#olFhz*PJX%eNt8-D{RIK_?Ck6SAe4*E=giclvkgzq+jF7Tb^|FV|FU-d#*)Ft zA8$P%WO_4+3M>l`DSO=bX)u27yZSq87rqYH#%KMDYr3E4Z4{huDPFU&qgJyIh7)bD zb$eJ5R((OKIx70aA-2$%qV-nv`(+l%+IR#-`uNq7zWw_~pZljjTeAVEE{i&qfCrbN z6KM|q|6TyH^`iGwfgq(;bv^Y$;1xet`2z)SY!&8uxl~E6R8oY*|G#U#S%?;Jm2x2RcSwuorgm`#c ze*qn-zcz3ZA8yZH0Ha`*j;n7dIZ`Me2D12Vb3;lTGxB8)npMs3E+Hv9QUz`jCN!s8 z^x%7jPkBfqc8H%{K`UJtApFW@`n*>({}$;plh#E#OYf=P##XCL@av z-%EXayO*8a51{pZG_i2&)Uv<(pL2RD?K9~C@p34M2kClrV;NMzfaZEfnmYa|AfWDQ zRF1Uz-P^2n4<=5t!}J#OLqc=Las1{B&4}1;Vj9+g9k;9<>)6zpow^-cuCZ{6PosY0 z8TgJ1ga(A<(1ry>eJwf68_tdA$NWye#Nm`2T za`pfYK3?Gsy=h$_p#lr@Wp{V?`uh6d>}(zlAh@+ZZnb)rgnSxnXjA=cVT|x}wKZ_We5rnka&q&k;9(wWA+c@5=O+0r# zUaSoUU}+Z+q$K*hEKZUN&|T91L!o2jcRl;y0J(_5BLA1dE)&WOz+hU;XxZ2F0@F($F!Q~p#4>VKY^#33&=CJ0J! zD|O6^8&{y@{I6FLhFa%WpV#(}i3%SA7%E@LQs#c=?+*{wWjEbal`r!QS3Ed6JDX7Z zG~ZkT?K1fkdo8jv7r&SpH$Mv%FGo9FJ0p}YcXqwpOA$3l>VG@xOf-44XL^YcxF@Q( z*xz?`xYEMu0WR7RiHU8t)0}Wz(Ny)OejJwijOONgk87UbE@EMD!#$x0m>Irds-=?W z@9E~{mR2;l)HW0hON}ML6dPf|PXdlVs&uR)CQ;04yC@4q+Jy35Y4#VTr`vd`q3E$H zGf3eRVq^ApZWlKvlc*0Xx9|W?3&w1IZv@N~iZ^7jH3jnv7z7bD%<#hb6kpo>Bu9y5 zyZ}@5!d%t?8bRDp-AV_baVzAZ)x*PM>~VkdvAp5B85PU(+#CrzB7(X{iK-yW@?t?) zhGc-JVIme%A5ScY!;gntmIGrpEaz(qPPpE>w08mQjW*x7_}c{3b-bSbU9f`iqRR-m z30L5uVHNpKnLL)0R_}7^Wx_(qy2xSj4V0-4v?~TO=^}#lueFB2GeSH{%AazWQS>fk zLZOE!glBT=*_Kv5=ji>Wjb;?8d#C6YQOj%)IqW}vr1QPvf4Qss|o8y#kZX3)${Q7$8ts;zBWz~G>Rg;*dzOMF81`PZ=YN3 znLwe^LWuPb>E8auk?PrOCyKmNr87QB&DO6%Y0;H@K-bj>aQ>Y#314BuTeVJ_Y>ZqdY!F<2tv}5vhX(6=ITv`A17ZpU24BB@Ga=m|HFQf+ z=2oygg!q>zduO=fmBYOtXI}!v4M>G`chLq6ht(}g#w=$r2=s@lY$jr&Z$=b#D)>BZ zj)9od6Wbg0X&81FD3VsqS4Z6uiD~A6{zQXTt%yGL>K1r5T6uxdzZ{^0w_ljE5jKy_ z&)_4BHW}423j3~ydU_RIhXkORP?J+ObSn;1P_X(u{H87zYk0k_1cFxl4RH8Z9$)n2TiMjR$0$Z7ftVQvQyQVw1^P zHWk&$0YdJ=7+(hM{6R$(9!;m%V7%8*>33%SKg8jpdE!XWUHZ{C%2Nri!U0sqY>h4Y z7LgU9wLcs4{lFjuHZN6SkRu;LgJ8)`lRm7HG1oPgMqq&eiu#fIfkFh92WWA8j4Wdr zwBdPUmkM7Co>2v5X&u-@Q(vhVR5HbpacSKcWAivj-O}z}Zhqv@k6GU*h)eDHN$r(3(sjd}jEo+Nf zkL!rpUA)^3e!i|^9BP;is6S$IkH=##FQdKezLRNpajf-n{Ub7@>8zyX8!YC41-zRk zXUVK?!%=5`<2g;zQG)zIxQ(NAvYnv^jtWqrYb^YRl_&{AkE4I0Du)s2VgXMe@BH_P z{6==$)c}8um6cU#@!HTnnEv-Gu)|+7QuQ~$9^@9+40vnvXt3+QOkU;DqwRs_@bfuv zwiy_!8=IPLIBp~7zg2&GM=D@HK>b%nU}26s6(n3BPD5`s*!?c%*LIEcC|N{k0~R2V z0u<(tVMj+60OW6|PWnT6SqV}kyo)-up;{gKf)_=|THF`QPVGse{@z@J;bBmW=)jVvEaZJ=OJqhP*1XxSKkeOg3;#i)XG-v+ofvp$~un-Tr=(Rh2j-2)3U zjsGe*$D+v}Gr@r8W-?)3R%Y3-y|IT5M<<<@RV8ZdwL@-Msf`=Y%%i)`^(VUP zHz*s1jkl7|S_BQxLvyr0+*OpRfyx#XW%8p${w%NiJ76?M%}+We?MX85E7zDmGWvLhUJfZ$h>VbJhi^eU~MSCS((V;U%`YKtbUPOCCny z7~E+eC26xl*PCTk=8N|h1)hKUIJYfcv)wuyI2lxOvLYm!Q#oa7?&2F%97&=S3FX7^ zBBq7G%)#oU`II!mLF&a@dGq8>$lsmbEYh}#8Poiv2inR!)}eY$vnSV@n-w$>fOCR% zu+Rbc)nb3{%hF7p7&NqZy4ZU=J9{XsX^tm&JGq%zIT*M*Q-_QDbWNnvl{OR0=vvHG zmWERz`In{9?jhBrs_9P%!{$>i`6bYCL1aQ)P{<_*_xmHE^83^T&ati;;SqlJJ6YvV zBU|^+n-6ON0kc=nIaQ~mXtjmkuFeG7(mnXkGUD;c;jFU>JoUJ^9E56e!UfE7hV*fB z3|f;PRyaEvUwjQ7oA}j!rLhildnC*EfYG6GUup$9d>-vQZjTR(IBeG_)-!}$HPt-o z?oNB>{_=@L282Xk{Xjd$7bPfJi2cbtJr`F5EW>~nY@0u+i5ijs#+j~=$?b#bhnEiL zHZLo11y#z$(~BIoOz5EsTU?e^IOa+Oq9V*E)zf{RX1&pNP}dXjli^3GQ=Jw`B7)%5Vn?Feb;6xP_wMeeu?OFK7!%2n7YK6x(rF zFND@imIr7Wog33rOIouo)@bQbx_22=IONo2NFgSJC;s{)CniD-HF#BI5d5buHb(Gc zGUr2xn2AXU;Pwox|M~Z^m-EbI&zJ-|IMVB4%9l?Xz7uDRMhIr58aSCYo;}Cq!;tIn z-6qn?7e7oQWvq+*${Swh?@rAq{~^y{@tupK-46#xTPH88vR-c=bNkDuf&1lULe>Cy zU@$u;_=(v1^oKH`_|q_6Bk6;W&+nABu7AO6ZKFlHXugPntEm+M^Fq#;(T%s!A!VWp z$^k+Zr`qiq+8R1OPxtKH`6cS8i%jpxefI{4bfsp#fV{q2%*jNBD}mBgF=IQ^~_zwe~ zo&zNz;JZWc%}%??`28=;Uz}%#s==6N9LtVjK=rLCsLiA8P^#5HzV48*K~0=?wM>x90{vE@8F#Ngyy*JaaK3M zsOXF}J1#6P3;C`zss*!5J%iONmg~~r57-TQ&&?vfBBwrGd|G>IkB_fA8g+Obkh-+4 z^E}M>?d#VJ6Qn6q>~iPLQrH;x;exVIggA>*UmS&kHyk9OQWjE-vJ+tw#k#Y%IQ%-- zPl*mO379IbtZZm&X=4g&NywO%kG|2+@ZtXQ#fo{5AKTwT$W3PV&!;Q2tYzNYd8`_s)6vNBw;^I5W zcs1p6^dA_skZBgtctaKxN1R56k2hJ~;^WxX+1}~k<+72UwdDTdt!MXR<>UtSNtT2> zJQd?e=(9w!M!_z=K8di_-b+9JYt00F5p)i8ML!{Qm56eGnn_l!|>h>Co?@#p>oq?(j;dO~(u z(@0z>xw&Kn#NDdTwItVq4QEUe0MRG3?nEt>(#Do25<7%mY;8XQ$E*JSyOSrYrtPmA zZO^-FD@)C8tZ&H4a;O+$>xcg&k(ud6x>2*SQV4iaD|;apTPm&UXg=!vFoh-DVMapK zUc(ZG(_Qw%)6+MHhwq*b)}PkaY*pg|ldH9>Y^*vwnKzsuR1~^pC4G>z8U&Cpg2wsp zy(~f{jVuxAEMEV;kAHyB%H^a0t33;0=+eKVWiTUC0Bs;yY1n*h9EnKskhL{q6V_z( zq)o7pudV!A?eJlG&`#96$<>uH^?_UI4}+3mL$JbdzWzjpZIPO22)r3%JeKQ%w_xl2 zuG9!EelcAUN=_h(uC8g93~y%iU&wM~-Rm-ia5P$@2*{LDT2B(_JhUX#jSfdWfVy-V zV;+WwfUCm#Z%`TUWqaevSo)N8dkLQ@IJB@@Whf;z?%etOXM1aFUES<~Bfsarnx8*S z4J3DsmnnJSp?5z9*@X-0F-|}bVVE$|oa`X;h5(->;3@KS%nKwsYvf2?46l_}XehX| z0tc5#Gz<|GDo}w$51A_~s7T)k zWMl!M!gHaMbS_s`C~BZX5*PYo*)oMR-*)8QRVP7okn>&{Ad-7^E5GfSJ#m)Wpp8up zE1@A_g~sK*`i3Z|qVhEd%Jh-=?u8e5qICuTmk{GkJQwon*O*yE)cAQ1V5BW zrWf}xH#=F}d$-@3=`-u2Y>`t(cH#6Qr2M0W3JsU;-cMd{+q$^i?(gq!?!sZa+2b#V zF+i&dw?M}q<-~z|UAXczq_Z(pRKw?T?}1UrjT5;U90ZH(pSp4^8L2BjI&EJtp`@)hI=aZV$Zt!^`QfyR&o=+|iXfC}TF&b&zV{P; z%zO3ORL#>y!W3=N=_wJm50hGWmHLjErILCkFP1(gCh{uYJzw}%Lx+GX!~OEelq*x;Tevn8o7Dp(4y=R6zz(UuK5V+-(?tfWYg3a;!z_k%D6kDEd$Z+lb#Q z-?H!$@;KlzW2WXa1YxMda`6okn7{$J9VPlD!diL zi9d9iU|WGe5apU}RO~4a3LksBi`I?joBLg3J-yB9m;37CqN1`gNt|!+D|=6CFCHO` z3UYkuU{<4K)pj{-Nt17!oi9&Kq`)y3=$rWnFo55T0_6v93lW*kN2qj-OMKl7nd1jV zLJ6sS7pR}iOY$hN%T+NBA?7OJh9C&#fF9ec1RD4c&dp$~#ix}ci4EF_EVT?eDNfJh z+oKt$mNC&L`tZDCenvE%q@b%~VyD)%T6$gy@faF}jhPPY`~sOzX=-`PoHem#)kKN} z3M@5z*8*8OXQao+r_blVI=z6__s(aV7kf9mLbeEI$pqb0e-w;?`Gu7iHebyL&(w1B zbR_Yj$|%v=@#P&^tm#yQi!OYAU&PC?H;o)H&pxxZSAb&A^3ZEUm zr>V6ls_>^vr!#HhacPh=gC7;7%ZaY|mc;(~2B6BEWe{rtP4!F_-T(PTbRKuI$0sKj zoyGw|8?c0m73zcjN&Z=Rzb(YTN|tv^!2O~We2l|+ViK%=U}@$0{Ca`h*P$a)b;0~y zjLUyb7GIj%F5W|O%0lG-U1OaA2sGYIVG*s=*urOsi11g_3xa7V8I*!7wTytQ&i;e@ zDQ{YB9-3|fA03{=85|m>0GngO$JEzKhg~qMf`vrs#ns)XS&Y?zR1`WT%E?9mB4HXK zh5O(TG5E95r?FB(inLqy_)`CFOQW(Pb3*@qurAp2m3Wj|FBc^0->uIB5t5Wrb|U&T zew;Y04Br`Wv)#lfU#DY{YPWeVo!kg(eMnQ2ALbbj9qJQr)<-rb#9^i^BJlLa9(zCWDpt;^30;GMdTib_mOtkoz9RGn8xWfz}shkQy@4Ut#5wpIP;iWsDr zH-IlgH_MY2PAlRljye2*7~2KC`_5apCR@zOOm5BcH>7FLB&NwE@M-VLq4RlL=cc6& z)H5L{tdKA*7?;A*K}v4Mr1qUsCJwKVno6271w%xyw~Z1_fenL`nnaGB2|n0W;QJ)x zgwubH+_I>aWtB)k)D|su`d(l2=+C8OGORER00a3QnR)YInt|| zk}U2%Fox{R_q|^XdQ42ccD2zz=+}Og6&C3mnQN72BdHVl+S zY9nA4lRuSS#W% z1EN=ZOoXsIX(a7w~TTNxJYhbX=%9Bs8EKBtjNutec~1 ze53H{BIs(JcPpB41UR+o0=idNT2g4}4?VQ^!Zz@Dy z0N}i{rUmUbSA_B1>@ADhRce2XoY#Z4!G=0lR0F+oW(i#bYk?f3e}3f=e8(~Rn;C8@ zKTjGH?fq!?aC%x*R(5x1LPV5qlk~1di&R)%Wg^zh;U7}T^%C>pD+k~0)Ev3$uL!d+ z>fR*HlFH8?V8e=i;FKIIS_bn|WXkW`Ecez%?ruIFu8y|$uDFNpQ)jpCI5uD3Hmz66 z%F5!jK>SOM6D3*e|26+MA@W8vr#NM<%ezZSvw)ljCq%>;&V6P_4LF@r>=bP2Ne3|R)Gz?tMUS^H?%&?nyIHpV1330R)#tbLg|&PY#t zkNHVHGb82AXnv8qUvHp|8IS9UQKB_)iDsgB%QvwrO~pwps0#8o-!AvgX|{} zPGtmKdm>iTAPGe3>vsKcDMdme9#J*J*RVmsvFNa0KO8#Fvoe^|ZK7BG2H(@{nS8f4 z=dt1e!^zSp>KIc%`0UFD~EEjF1>R$x39;C zpNE0}Wl2Rs@Aph2=<^Qu~X;!AaS9rA(|ii5-R%gA8$EJbT3P z4qyNEyhHxrzBgL?H=09rIPCu7EK)^h!E0wWBYS zHLG`opbD3+UU&)n74;zY8)W|;6>`tEpZA;plLSci4-ZEcTAKigz4E{hKUF+3`UdU) zy#O!_%6P+6c6uJQZ&bX~;9)H5?E0uU(5%V22CEPR#0TuHMKJ9=W>)OnTT+`d7c4nU zxoA@BYAY_!i^sd=)~M@ic9nRZnr->TW)plNQKdoY2{4C(iiK4^vY=G%EBx=Gh*VBx z)D#`2mu?^sbHfK*cn)0pm`i^P5g|b{Qcu`i$~$F-za$*4ol%VtBcT0qlkM%{ZvPdP z03F5K__CML`^Wj^{NKNh;OVeFeC%SmJZ=MHd8tC}Y~+@)*aR(g>tBvaMHMA!{WR=J z!{9i0SZ-B7pZb=3ULU@SOkN;FW)3M22CXy|cHkJ2mQj|*6I(|rqbs4H;TVexk6N*K zYe5do>E$uZ4U5{jk8$JIWXWIQuVawjzc;vfF&~&3Vbqd4lz}&BVD6rfd)nR#uS# zCrl~DAscDAdEB~s+CM&QJT2sYW@NOnww9H3hE!Bp$XfwjTv9fcs2uZuixI2x6N#02 ze-gYYQP+aVI{x|5^7H4fl@(rIe%c6qD=RB60|RsOGEDN|SX<2#^SNTjd88Z#b=}R6 z#=_Zz?8I6!S%CcH_BUoKWjWA<0+cE%Gt;Zn!`9v&+u-=xz5LTBpT7}0 z|9Vmj%i_HedM$%55AeKM+zGxX9WE)x!)2s~9;};8yS}Jz)%;K~dk}pU5zG9kVt5Nm zCf>{X>i687hYgpP=iRxFH$b9!o<46BAnVuu@w2hEzJ-UG-Ath-oIoN_2(XP%oA3wX z!w}t|aWsVHVb~(EG&Fadj;e*~m}yk$qJ5Ich8a$UZ>6IMr%*tq{@A6tbQ~qe_=+0X z#lMGs7>EfTCG7ud566#q#``M(2d}mn>1|PHTW&X+GP5o}1^~cv&T4R9Sk_vgi-`6sX z|48nBD`E;s(JHL%q-%1I_>&KN-ek6S`;(Tr>avjUQmHx8Tf@D!K-=4k(_2*3!NsPy zt+_F_=leyU#vg4zf7bt^m6~35OMdi&o%@F>l>K#p){u8~Q#bpD#S%g#BIm~HxMg2A z#mC35WoAZ1L^L-y>pXA0W85`~-++$ih2Cll_t{Mf-0{k6k?1*2S_K*vedc7om+g@I zEBX9?G@XT4RQFyAuI|u2I?vn0KmF{k7>F$Pm-n-Us&0jF< zob!!m@BP`kn|_x5cOL$G7Z-p9^P*?P-KD->LM0$Q3<@nKD6-%Rg7;Tdd<>4#rOb%3 z>YFv1TnFASfb-tXos*iXt*7@_dmUgfv#~{LpuCBJ5Ab6NISN&#{apo;S3;*x{8g9V z+EfT*wZla>1iS?Q-@D7rBiP#6Y06*#r2T*c`NP9QKHXs(CpO$rIz|HVGnS zW7Xu}#XM-O*+=A`vJ=OtrJwlhQ9kB#HYB3Qi$$rxFNR{8K<%(30C$75eewpoE*!bO zzCJODo_|NF$xk)K@!8;XxifG5;PB1dvuO7Ij@976S^EASvWH>FuZ*G!OsCsgg`ql^ zR7a#Kn8(ZsvJD*Tc+>09BUj$gkNh7Z?hL`1E)puP{6FmEM@PrK)B zC|t4yQl&daiF|vE*drGPQ@CeZ&yOE06>F0Z`=nCtOWQHikG zx$-j8Gl06kx-efnNJ}d|0y8cIp7K_>P*Y9j*d!`^AY6)eU_eR=yK`;%aryC4_vdl0 zb%I%PNIAO#i8!BjPKC_iU^V1q$kKx1M>#48%uB&xVz$7+@G*K%i}Vg7MiCvI1u)_< zt^0WhJ=vi{L`1Qal!q44C1I!dlNFvmw|o+fd!FHEq;gjlGcD}63q?(kG6knC1}kG~ zkJ1Meq^6g^Xb2C*pZ(=Wb-TN5a&Ka)8i&($e_T4;ZJ+B~=ycFhmkE-A{{@j=0P#$T zl#@3%z>-`BC$gNbY2IBKh!KnFBdJ{tj)qt$OM%Ld+RDn}4i~Y|7(?(xF-Powh=@)~ zt1~}hk~V6h;J`Ot|1}m;8SF$qb)-W@<$uVgVEsS65<|5S~TA!wj^x3`8B z)iQXI;eJsnsz@`?hB8O!RhHjmLFCbyn_IXs_`O)g;pX;e@9aut^Sel*48%d$Dq7xGR`r_s+W_>jka7Us3AbrMqIv*Tmb^52Jt8SZCmfR~%x zM1NtN2ko2Y=ZB@5T<4hd2@DPegiqqA#73vGPCZYrn}E~oVsq|f>?k6wDEfx$%Mn{* zVyrucMSn;xC2r7hbZl+Yj<{d|mqI>F7+De{aaqxMy-_ONkhf#mvQq>rna=ppPRFOh z5JZo&;H?6jaLbgpyJn$GN7D5WnDOhiiYg$$Fd^g*5rsOZ{;SJO2e$Ws_taF2D%30y zgw#r`k%UEm{L4p@&qc9JP+7!(BG6!2v&gTm(-VooTWNctVg_WPV`r3La8UlX|li+RSibOd74FFe*8> zC}nt61wtG#MRs=fv%}r<>8r@7^7i>@8JC8GT~)=W&k7Ur0>wR&p|DQ&aKJpGD~3^tb(=pWeHH+MIO>Z-QYQzrk1 zk-ol#EC&`mRNa9L=qE%QykXt)mj^LoA)s+^`8VX3^uI-xE2CVgfpBl{71HXeC@XVY zQ(s#budfL(MKM?=o4$x{oRXCgzWb7oTrzI8Ip+n9*4uz4dX*Nzd~98obB^3j(v^5Y*J* z!{=pY*iFW#SP8gLg<$mjAR)-_&e9?(zOH$my~9|my~~aez|E?&`)CqTGR)Hc52u#; z84}1P%&ewP$?>h&=WqAQx)3np_VH*b4PU@1@7r_feyq9ian@;#WQf89KvfE=^%l~# zI)^8hg?2gx)3Wmm&m7 z7(7n#di$=iOjYhp7*&FP;uP`5FCH`IUkq1tSA6*RxX4*U@Cw8!Xo{lr3Hw-t7D|ec z|Asl{_!}Mf+08mtT(h4BJ-ZnCUqKL2VG}zpF&&u}GdFQn%pyb&M+y&Lw|`^C zLr;01vgY70s;DHAzdpm>E%{1o#&t)FAu5YP7?oB9jwtXHhp$&ohHL;s?x*lGrkL1Y zcHhj+k51YxC$i`AXwN4Rg)E) zTqG)Bl6)P%?C)Q_xBKneftO(N;p;zTnyQ8^(x41SIsPV7A^EzDdzc`APER@L-NV!>)p@Z;gu#VgF{ z`{eh@nrjuGm_A4Zs-P;153$2Q0ib6pKD2j~Dn3{$z>UL#3yvVDL`6AlEa!xxkVWq9 z0cQ^4I}c5~Jt!NBge>neyM&Oi-MwTL^z_uv$Wkzeuau*2Z4F-mU5I;t zHVw(g0|h~(Wd*mmS(fOgpF8%^!1S@7OaCB(^8bv@)zNU$!UQLe7YfM0%i$DQZAiii zD=EDll=#pW62JMV5s{9hH@5NwOzLURlt&P?5KfYWy_81|oVnk9K65Bt`Pkmc-QwTU znMvk%ak%q1-+vux3EoFlnJo;99|^sWHDtAk`!d6pBDb8=S3}1~9&$AjyW;%>jBC}@ z)V`3e3HiVN<)O_hrWrmrG{Jx5xm{7c^89+R)OT8#wz|4%K%7H-N(xN;#sxFJEa@5Q z>QYc7DQoo9ebVXW$iyeVLeDp$(CGPhN&N$@DAi^%1ofB2VJ3zQO+Pz>tn6w!jqI8- zFxi&Z)0i7OSv`0dXkS_3ovmVPtf@PuZM$)z3vN5=P|u4Y5Un^`9)MbFQB?ugQ5a=p zENSGTokZ5qfeu-5WYrWpue#Byv7}3}m_^!B!QF#=v(LoeM(aH!*KxH@*Vj-#kFOdj z3mDXg@7(lp$;r)Rm4;BtWE;cdu%SL(&4c{pj?FjETeLI znOU!_G4ZA;!5pGJ_L*hm4Hz4d9aX$?Wn!RaFR`fVw$>8Yr0|wJ7ItI zeZ2uOE@0f#N}hZq*<6SwXs8^{W3gcrv51=D2-6rP=Mk+4I?Y)>B{|Mo*Q0k|^wg+) za+lwni%cmWDR-&fqtTD}R-tOIA1EKJe$q*qKT?$M$^@oAni8)5I!r@;jL7o(y0ZRq z-xJF+ynOh${yesR?bQh`PNy2aI+@zbdzxtbPykd99hV57WPdR-bHAMe|t z#;Lh+JDOOSFSgu0)D@>DxXw&g#!{gwQBjaV`*=x@{|_Vr=y$sEtz`J~$RrgkLGV#3 zhswcbnpVt7x#W^$QFt&>X`LGzn-0pWSTM#q9_wOFkDJGLZ@8+RM0vttWaIA8LF^x) z+d<#+&n1ipQ)mAW^PK_xMG+{l7BnUd?eu>>;ibk$q?X8=qx3Gq`-SwU{ye~hmI!~6 z|95%#82-{zkXXNYQq;Sd!BxHXa^Qbu;@9)565w(;O10YY%Ld9HuB`lDf)C9{;I(D+M%JzP|?UmU~Fb&*y`Qy6@fQ?+^{>}I1 z{vI#siE848HjfKUH(ptAqC$q+T0a!eA z@p38?0XL4YxbRa$li5#_GDeHV%^?jx%2=tr6FeUBe+DX{&2_VjSt#|p9RIwe{8N}V zGKwhZn}_J{yRyEv#KX^9nx`hOAkBhyQReS^XJT*-fm8}_nm|BW}|4_ z=pVR3VUrkw-F%A@0^8JUJmE^?QcV^R1v~o`9(B4dq*J+~21}yU+W+j|<(6)lpt$d? zaV49O(hnygZBz{2iX#G$-YlM|#+-^tIx36gEU(sAYVG%JT5vMfX7yO{5zr~`Ln?mt zW~yuAPhRLzL*+-xOT?%^lF?u;*1hM@8Ms^7``Y{YkwA#~-1KZTaI*WA=Z4ZIbSxm) zb2vTcbRW{z6yV~CN?@YCyzx`&*_9sz(sQJkoE9U1`LFKJYuel0U0Zzp-El?rbanL% z4E(Nk6?Bqo30RGzrg$tZgd}#*(W1kl%w$|?QeMMh+-~+IO6FC|u{s4LRH|I!)@e}~ z5RU$+Lf6m)Lg|*ScD`jkA)s~C!$Y`iX%h$w^zZint>=MLju)-Bg&GExrS>JqL<@e2 zo5l2x@z$^}^M2;vHl5ZDZ=jmqFM89`Ae2al&!N`uv*Dz}L1iH$_sC~0D_6l_8uwdV zY42(;_%oorz?HIUaCg#vcl1#XyR!-^tMNp$6GlKVBQ!i8%Z8{Lyrdj$z39tE?e{98 z@TAX&V=;;H!&HZ5{$`^MD@Zqy3lZk=A*2SOSI0hLAB?4?~7bAd2gW7C^>{56Rg-MU?nG|$6H*- z*Z=C}5Rp1M`n$V$@5sOIzw83fW%in#eC}Ho8$BX}%$0`gvDH)uDn7pnh=N6@gyr(j zl;FPP$MRZ-=pki|>n@bv9}Lg}S6_O10BQX7;?3F9Q%CFO@91o`|H}~&T#JZ^5T8r9 z7>(;j7b3plGS7TIyY0#GuWN+x7q`cl4vyYRK&-E+WZC{w&XZBPmXn_m#rL%~2fygG z9w|)?kTw&xzp}!&ceK28yET)Nk_dB{;2wr6j(u^|Tzf7z924>vfz}=l_(_D2cxK*v zA1h{L_?G2NpT_VQ-ZCi-?0Mc4F)Y2Uhi@xl!qFuO;JhCC)m*LK{(jZL71eR$WlMZ{ z^?lp@+QwDe*zoA(Tg1n;%8|(1`&vWpsy64$+Rr4gdt!>p^046+k9+Rv%bq8h zTcbDj{O93Ra*ugzUPvtZqL*r@ZL)MB2BFA9o@iK_a=dd$b=&BMp9(cj0%(@$0Sul5%M9UcD%pZBI{zsT8- zjd<=*SvY?Q)Qd~PT4()h^A0n?%Ps!P&0c{Ebn&&qL#8CZIB#dcedUaakA&~#;}zr) z=;js_Btb>2XTyH??j4{+C3YHI)`*sfFy7@_nf20br6z7CiVY-b*3cNECqpBkcmz#C z8s>_s3Y4h^!!fj%u|KnQy@(Y;6PA-LNWU+_wf#e0)AIWIwXVC{-`m&I-CgT?xb?v@ zBZKhh=*Wf!KOFFrNHa#{M`$T)AjdINmUzfdRV!FN<2(ot!!~Pr`yBdDO-Hu|;G`0EC#cQQ}0KDcF2BUDo5D<(6 zH8o2Hbm$UwF7?_aBDWNoe@Om|APxlUa%zcoYBdpw%P;CD23uG$BWsi=P_W0Pqi!~; z)-&bVvJ3 zz;cKAXZg9lva%TvpvZ#gjQPQ`zcD!HT&?%6tu~|oM7tr8D5b=7W^@<)qin(a^U&9~ z);9!P10p-q{cmqib^+8UQGHmMfT!SQi&1Y%Lu-w-wJI7Kn6!d?2riCkjBCMfRUIM% zDsYEdA*Q4>15;Umo8{iD6}r8%!v(Bz^=wS3JpEwZ;86AaM!FpF_X^*vU4M_aHkGV< zS)OcQ#;28q;WSUHk;3$kopO`)Cw&6p5YV$Gx`1-`gK+^1GA%8w<=zv^tcHeww_r0s z1L^1hRISRgZ(xf`0n@lH)@(D<)a_=*#v+JN3)@qQ}Ffd0=jy;+)&GMFYzUGAs2U zg!K2sWmf-3P)qRhz7y3-L z?;id$JUm=$VZkroR$epooZE>w-O!`6rHhqMNUj)%ap%^YuaCiA~W$eenPy~dkKn9VA1|Az?yI(j~LEb0DTvI$H zXaV9!vB*^X;y|6BA=2pY>gwd=Uq!z%Ak5mxSgNpJYc5Z5F>h<+?`-C35!{_0$=LsXS+JLqsKJ7ag z@&z@5_X&g9=EQROlOT1d8yaZaVM@paFBK-eZhIP~%A}>OZFz-{TcEwIvr{8paR88& zy57$7jy>kUpyI$Up11csp`j*fDj1x5d87n6;- z4(!I<%f|V=ho$A+?XHEJg_o(RskODWn+30CBODI41a`zI>U3ddf;oI|FJZRnB5lLP zgGmEK45UC%U5vOGN1h5pmkXOh@5d@z|#%-vNN<7=9H|kEJpBWLoAmyhFN|c4-RkV`_Gw~N7pn3 z+Qg?pp$}Ts$?Fw@{tv?_ALLO=bprGMp~<7du*$@i!Z|RGgMS2d)xuAv(in|)G4R5R zKR3VKu7B$C%4)i}Mr5!DDJXIX!s%_Y8TBME{N0E>w_ z^b4qJO3FJzMGPJp83AGj%SElG|MLRW&&<%V3J5fI)z$%D`OyuCrQgT~K5YBAVoai# zJ1IghQ6@CLPpkf32FKdoku)fXO1ugxI)fo_ddb=I*$Vk{k6t>xEfqz03`644(^GwY zBtV@8mejVg-*yLM8PQ`vt-+G`Z%)z9NY&d`T>AR2Z7irj?DA~8cxg0MCZj(}zVQdU zhC_4^|tx9vm{`^k-x(d6zsv$BuPL#pK1kKS1YexZXrN1z zRnEq!R$`LlO(B67ASPk{xp_Fb0OsQd2l^a^L-jZ1PfzY`O#&F_71uqIar!oYQPa2crNSmU56HJjYaHu z<;#A*bCke@@NhU68zYGsN87W6DNEt+H%5TfKVICDuQL=P|93 zfz8@g5`I+~XlnZE?|*jvPn!xz7`+{8b$bCjmHmzR(2Jug7M2zX!)&F!^-1l-EQ$7dQRmqyJhN2505_U{XlDUPq0w7Nsi z7PDj_n1?JhK8UO@>=WIT4lF33sknYZ8wKo4v66*QT2R( z*WJ-t+tBrR*q7NKDCQs>BRht@shLb|-x@Ixq$`&~j7WtuY?ra`LIH~(^~vSIQWYZn zeaTUR!HPo1$@*Pr?|-q{&{|)7YIOx${{~U5 z%g2vRfom*&~k6(aauob8r0IWMXuLs?L0=MtVTL#o(vhV4Y z*qn7r%e!VWJCqI_%F>Gm{ToSDQ^V~mF8&_}TWZQ0RpcxD4QH3ZFA&PEmi!qt2v6 zEY6Ce#^}!mKrM!o2ux>xC23ERvv6SltutX4l?|XEucau%=e00uoE+~+29w4q%wfMv zqoBVUJ9)wIM&cW=ybCVFZfzRu{QC9a1^^^vq*UX}aI7tG5E7K&gKFu`6xr%2EK*u` zkThp_*OMirl{7R8!gSTu71DJp@t`yz)ZpaO2d4Z&R$kbA6-h-7y8vX}+0o8Vl}6Hw zArB~K`MF!{_55)#J2e`jm*I;Jh*wMRia?x6N z`SW2l0{QTpPu{LiR1aPdGOreVgm%FV_4_phM7G-HEfDg>Ti!`$`X`yX>l#Y_t+kA_ zA3t-!? zXcA+Rz+~?m_9z8-HtXoomeR8HS4EPM%Ij4*C5A@lmw|Ua{3?Nvk zWvTXwsos_J-61Hw_)|U4$^QuNS?MyG0@S+6-h`>f44WwMXvk2MFL4%gKDh>4j#zSvc^D}O+Z5Dy7U_u zN3@sd9(OyJ3dfL=f&%3bW>vj<;l%A-NzV+65lGCE=0iX;lwd1$lr>QOA%=zc$WBKw z+Q$8>=gof}=8^i5r=h`w+hR+%_0IL>^$b5Y?54639L~&I2C@XRC07DT(LTJag#ZOu zP@z$3=an6I35s~3x;OzRy!1FcGtnnx2x;a<{$VJ?Z(U^(>^i*fMuWlPhO{@B!jvt^ zZB`w#2EOufn$FYals~>{D}~Lit{So9eN0=MzU;NGzMap#l{NIjG1R7pape9t41b%P z8G?7pO;2_?M1?F@X3l6_7_^L9R$;;q5G-m4cZl4Z;JvV~&>C^? z)a8kU0$(PbsQ^ik(N@{&gb)5uE0b&%YzG2CMpzF85q_9YIgeu{9{dPmPL1j(`Tew( z!KEL(U-oIB#Jf(Lm6+Z#^>(q`*JYzv%LHx z2=J(_EG;2p3Xk)^YMhY;!Yc=@O{fJ7L2i)1904&>nEjhpPQIQO4?q$7QTh1nEHK{( za725%yW+h(;h@9(*6h`2_&Cae#VxLg4-Uv2ptDXfaZ&S2a~%RT<>4)I2zt_l{lX7& z6;+nveZBR&x6O_FGa+IFL;ZJ~&%@LGfDz{QRDG#7@%xB0!7qc~mKZARguX6#)?w#C z!nYEGsoNC$c=<16qENsBB(GvpNVMZBB72*AmrcijuFwp30$1|g!!q;g?(XI78Y3KO zueqnKtS@-4*;cOniI45dF|+b_M2>>egTxnMz42 zvI8dt>`fp%qum{*r1DwTU2fTixc;EY$5tQ|{MR{f7#S1@qLVI1cb|@hqv-x{k;w`N zA58~E!36FbQ??vb^?W31z-l- zM~D299xM!vplO1YblnKkD=aNX8%zR$CmBs@zrz%5oLdUt%8&LgQKr4q1%a?+x#C%h zG2;UyFqsTeJ#1=?u@`Y`5}$vHO4jGl@7~-1M95u?Hp48G% zch^Sk9PCfdx-$+H%b_mgC9$84%nB(gtC%11$&$tu6BMsz=^r=MDez+v{osr>5J~rs z65{MsE7-XydMKe36t5?5w@jVt&T-iJK-{k3Jvn;3xCL^@-miY#tniig387~XPd7m# zbS}>MbzhI}+D7yM3K9fZENLo&k$z&)apd_8;yk>APc_o-EvaIVoBR_*zSA#L{Q7P; z>|kF$Q$GXvg3B{jh93Z#C)!HsHQ3S>g;CP9;5^BYX@8GU=TE z4W=mH>eNC&1mAoCVX7!}Sm`4@i%QhV+x#kHl)^Ryy6rMb>E*)YmGUqtqo~&8^dlM( zu%N=msz#9D0bSh8g^eO?+8CJeF^ z1hE4PcdCc+L7t2|{h4{}b06e~JxQq89=?6ruZ` z(hAPRSe}On&}W&1UOYUW7IXA7*H_m40kA0xTbTzTJ0&F5R z_HprNDT}Qj+&LtTMAkngPTU9xd8#cf2X8NX1-}n=OgYl@4cArybL4WEmHA3Q6{Jo$ z=prF2QuKES( z!Kknw2T5#fnz-*M!Q7=is0m)Ggbt(01&mlxun^%%9~;X)e9VU5?(XCCA=B5iMDJ7x zXKHdNBEsmSsww`)f#`OwaS)W@iQX|}1Z=HmrPKe6o-4zXr|Fsc`>a>ZhntKFYnCY9 zlPxL!C+=e;o}sWRQBd;ij)yX##V%+dEGs{%AAcZIEkrvch_Nl&!VwM+y~_#B8tFH3 zYL65N3}!^a5d;P%3rQGbUuMel_cU1fz~Yp)hjbz)w)!*Tc0|ssYOL=Kvyi~k*b@ey z_m?b1orNZ06q_F&)qa`gQn#qWHuh)&Tst)U)7e?~*ecTW0*|1&^*hwS9GWKRv?`%33!RTS`kico=fJ<}T?^d^lKJyWQQr z-JP9Hg5tqma6%PjJ&<@LVlWl3Y)*QAr8svBS0o?DomBVGgW>TxXu7ZfCxk9_<*GPc^;iE-B6nXTTGF7MTOYQ~D_oRD{?p*|~B zE*;D#oS?)o$fV)~yJ_l#TuG|j>4m&xqXLz;D=IVSC@=G3{c6QKT(TI?h+I6W3t?ej%?x_3+IQ?HxznC&OJBYZxo-2d|)!?yva2!lFq@_wO$+|oOp8v zI`TBwYVUXc5Z1iDJ{BY0p8Wkn|Fh#t%|JRZUJs(gM1?k49a6X)Nx0~gdq>_Iq_D39 z!(j|UU>289h8M*QNE-?;Db|hNUkQ;2SmO!_6On-8Qzdmt)>Hl3*Aj&x`{%{XFDN9$ z$5&of=I^eCLE1E*vVP(K*!1vvN_roNdM%J_P{hilaq<)NL}2Wx<1oz%bYR;8tkfGs z4_bHC3zR8CpyN6r`^UCTUij~H@l`3rK91(J7BicvV3KbtOM(#d%nljS!fkxK{9Yes zhMc&~3Ww2Xdct>#ihx<`SmRFf3>!k+x5TnC-YiA2=0jiXs3+^8T2P!qVSkxTd>fZ& zw6dYz6>xm;Gh99|U+|pI9@5d&WT-htt1wtyBk>UgNWe+?Tu&C7nMXnf0PD%k&BD^w z(%swAqPSqAtX8ZypU#fM0;R2xN%gxUn{9OJ?nn>*9+Cyzhi8A07_ zUPHnmIuqY=cMRqdk zyf9c0svw&klZXZ*Swbr%{w}L@c#r^y5|3SC!~VdPSE70^lMoeAcw0G`Rl{v}Zw*+` z3~*4(!5-A=reK^7cOXR@UC_MywDPNG_R;GzZu`4`ie) z910CsB1g=Zg_}`N4z}@e@pt$1{O08~-`&m8)Lq;3dNL3z_YNSte4h(yy=|lbL8J`b zl;3#Hjpi7BThvYU;8S^Kc8gMSng1F?S2Bv40&A6^@fq$ep%VD=(m2ScCxmbR{CZ#K&Dum9*i^q|0;f1IpCxT@Sa^ev?p zz!rX3J=bEl4{4&ZS+L_I`uB|I2k)ovKJOINY0lL$V1YAJDIIJI7`zpTj8^_J z#_{xRJ$U=*NKVb^=ZdM=U98s4OV6K`hfa6Ga>66W-S@s4gh!d&2rR$A`x0O^RekSV zcIL+L^Q(8i)0OvvIg$}&Bj`vX$t}5Oq{C)|=FJ-)%Fe!un;n=L~>3u(WnTlG8$~Eh^gmyW^wW*GrpDgk~pH~und|Y z#91(o8Oqs<(Yc48-!pI~_UkrG?z`=ucRv#v?atB?BVVK9m4E0j91=Hy*#od)gX(w< ziAJ!I(#m0A6_B_nQ@yh+c`L1aq*n>w{?_^Z=4RD?DnLZT zAQiN$s+Q<8(1T9yp(!bWJ@VIkBL{He&I@4(F>y=ciN`*1_RFmlWV)-{{#kJ$ed}YT z@hM%yKmt%~z;Lr?$c!70z*KY3vYCq$n3eOHhl|_)8kCd?T-cp|-ckFYyXPYNLh56Vpv7%2fw=r7O2|$%PJ>K&Ac=yDzOsk}PX9$C5zJZ3%+8GIr&Nbn+Uqkh zGMzdwot>Pd<%51=G8l++Tkdi2&VQtQLu#?+fUunQH9 zfcHBE(H$o~1AAeNV^y_f>*DI_(}>WkpPQdU*$SZ$|Km`w@}+b@pU>}4+c0wCrM5OO zyv^*o!lDVv4Fx!?Xu2%xxlvZbf^Y%Lc#(+s_B&@)Rp=8+vEzyZ?p(QmYV-25`;lpH zecZjBShylHx)x#2W#CfN4w-|AE(Casy$;h>e!>7r z2TiD+9iF}dkb}eB!`;`mG6r>hU5}^o^=B_nPtRhmP|*DHg@+ziIGgefZr&{xZoz8# z^VlzYoUc~0Th)wj3+Xg*_&$e1!<5L@TK{4tg(a4*&`G6kXC5Agb{=Z7aU4u4D7aQA#?S(;qW1hAlJc={*o5)EK({UQn^MRzT-?LA=&qa=Q^wVLdx=N^t zFJT=uuV6PXcWZ~22aYJ)+{yJC>RDCwf1uM3>o19pnwnYwPYZKW_shaJE~5nayAgky zj^b+fmKW=l>1X_um*%&gx0L>wI@RtP>#V0SLL( zt-nNUz_E_#Cz%zL=ROu|Q3T8@ZcHVZ>x__D{V%lN$q@GuNS z_B|d=d|t1#y{%PHkf*D&trcKJWv#9)J=|Zs94-?O%r6rJrpAwKK09ZAqnk706v*lT zpZ-LdMpYAYNp9%NO+>OULTFm}V=iYycON2S800)2X^a6X_DMw*A|+kTG*0$`0`&|FlK?@YP*1z)bWE%!3r0n>|yzW)C4=_vr3?o3OE z0a;cCiRNd64=5-CA3i5BY%W-{8`v}LER-K6&>RP(toO>}CMlIJR3(lWM12DIlJyuF;Y!LZ)ncGGYz77s&KRVN}iknHjSAqp(dEGPdOD z85Ha)CN5kyqtLFb8}yM&u)DR5r*l8YaAmXQ{qmyT7k$I$-R&m|i8OKqRebdhxnFpY z(K;$W9%ZG0ht}BJG`Odt&cA*_X8$^$uWtfXC4P{7B*r5X6GvfB-v9zso12@f=Ohr? z#9FWB2IjldmnYx@JosFW$ZUpy%!)w3K$FjWko!0TVSQy`Y~k4cBi;P2_I@xa6@GnW z+zc*R)!r`IL8-e08ZbjSb7Mzq z&xp9=Ue@%ss)!Pi1AF8~pY}|jMK8npyNXWkI^~hKl~Ya=NNiI6USM@~6*@Y4Rdw~_ zOIMjg)o1^^NWc`h=dISM>l0usOpDn`A{`}CV*E~;AaQ1;V?dJ6gM+b6G;Q?4lYzrnSLyUs5yNM88=D-Yu z7uUb+t=|oBZ61z2H6XTzn{t#_mm`fx78a&9$LKV-_y7JqAG>lBY47!VJ0gvIlzRfO zHI<)~zVUsAuhxrVWDX%B7ZDG&s17@YQ1rMk=e!9m%jM0J)cXAGS`Kg0gdOSuSIeLU z7o}esZ;e-<3K5g83tYE;aVz%H#UOQLdRYWOniXeuj;D6+?fQl~m5lWidC+`1XbCJE zEJw!99!jHsVe!1)?%umbZq2vT_1CO#8vE>CXjON5=*S9GdzS14WMFjMMo_G@bl68p z+Y{ixa4~f;*N02?iRrW7(`yfa!Xb3)Qbl&3Fp@$mUzs%L=Hw-+2wfkXC~jPv1UN6T*XXr`n=fT%uPkZ z4rPa>i}fy{^_d^KMJ+0dSk4tE?+1<8%173Ay@UKN@KTl%)?+3R_V6LfG+ZYpAzoek z3vI5d(oEJ`J2`U%6#kC1+VMao^%l^Y=hTK}G&y9tI47MXf2uzn zbYan9mcqWLgnYp?zlJIT7#&_dJ|P|f5~cq6`KBt7L*Oz3$f#MBHxA8kzu_pb_6D;nCLcg4Hpn%vgE4y7>5c4~6*C*VK79%#R)~UeW)Wx!sPfot_>(s#Y&tF|6sx zUR?c=;RcwAe(-rV*9kQ7Eu9F4!|TtwROm?_o>)z&h9es>AefUGHGW}kkJ(=-j-MwtQ(!Crddq%>adP0l(gdPikE9%&P zeWM6i+`#LVnM-NhO7p?SCpq~i|1DY1eD~VKd}`sj#{TmMr1v5$JTP@uYW5x1qsOz6 zC0i+tqEMC6$x0{vU{KeP^{*TTfv&%pQ))1 zTVtU#b!tLe`)SlaQ1*fz!=}|P*E2UX{Zpl`3KNxUUJAhVb8&xvet&;|d;5N>s-of< zfb;7c8e-&`h*p#_@I3gg|IZ6>&o`X3g=h%s@a==UoD;N2VTPDXFcoeKjnI!V4yv0* zu@t9o#O9!*Pbh}HJY8)6^6su_Ie)44!-YLRWDs{653NEp)gcQ~l?mz}pG#3f!qDKz znC^D3@z)&L{UI3o&v$9ob-0d=q<#J6>CNM-GpAc4=Katw-S)b=x~8U^%?u0)hw*&l!;OMcjv)B9B_a9P#(_csP_ogOF3Q@<7n~=ezE!Aa^W1~Ku5G}^( z5Zi0!nG_MZP2fJySq6^#nSV7Y;UxM&G@#bnG|T3OB-y#n?u(AhPg;GXKoqYbu)A|Z;mz9 zit+sW`G-6@jVJ1^UaBAG(l4z)KMh_Qm-;cQQps=)|Rz|ucd_OzMvWn4DvaFv6G!01^GvKR1O^D9GKS`SI%@iyuo0a zB}^^Py4f7Y`(4)$jNHX;awF4rUuIf4z7Y&*PZ=@y6GxpK`7iOsTbW6)@0i}RKS`)) z+oFL|d3P|WY)g!ftqnix{5*-p;}hw@cK)FC0l3%!>mY0C-iPO92C(y<)XkKP445@kKD#wd)e z*-~=&63}a{FdcPqet2F_Ty?Q&mAU*+cGWHm{@hQid%ys){dL=eUoxPtsL1g3G6gsk zuO29#90^O)edB-Q2$Yh>B1J#YLAIqk4u+9cCxE)@2? z^q~Cru++{$D|KI9UVyJj94l!+Lt!BCKIKE#+w1o9_K2ovwyPAp#RiH9#dWQi> zr%C`{C+LH6Lpr*N=%>hhIuuh>6_omM;?hNxWqn41l#Aou6zecb$ay>*;V5(RQKHb3a$TDNns z8yy`j34+R($p#ChOn#Aq$q^Ij1d$2j^rN)?kzTQoSoDrJB3f3%O8$0>%$Xq?%=rN~ ztsmJ0)@iaFQMBo+dM6kwg2E*5SJ^#x8G4LRR(6)gjhQM&$Ca5CP|XEQJzQMM=}=%R z4sBRTQgCLJdy!gVKZK;R45Clsh4C!$387b7&pr2^{p|hOks%D$IEyeO zX67RNc3wQUrY(u_!R$`<#wGJ2h3}g z;+5XRL7Ax)!n<4?YI?6NNsnqbXqBh@ZYnPnlS5@?hCTSl^A8D4B1m80wZvn5%X7aC zGnT9j1~a6x*VNks5u8O$v`$oUaR2z&E>R)ZiwDonHCbAF0Gu?!R(yqeobvVNU+Gk0 zBi}0Eo%Bbv4PCrcPA&n+vPv#c7yfJ6Tb71{O)@2bMpbx zz=0;QgRU2twhwLDWZA0@uXEzj(`=YLH3i@Q&FG=2Ld$;t93~sjgTFaMWEQNEp57U^q1qH<?BnrB}3VE<4WFG{9C1|M;}Trh=Nk6zkT&KZn92-A~){1R;BxWJ4sfq$%1cF)3?s& zvfpPDm1xlnN(|I07no9s8Q?fK6_QxKqG)y$` zyn+l@p(VjR)zTLos^q_?8%LZ7-aiD4Jvfr2hv@NOg^((nu%1WGs!0w?12(v(e3fhi8t>YxdVn7ANkC5%XKQg4L+ z@ax1MF_j^b&As=NI8+9St(>=I<@BKavkK z*58PS;hSV$#Q3p*s+wPpeN`r?FbR~|l*1ta4OLMNcUE`0GF-@!;rbo{6vMUV_C3R8 zMJnD9CiOIW5L8&8E*Bofw5J>;+|!09lR%7Ipz+;46%8ALqTc03@lH}6OwOo6Hi`S$ zQCQ2=aYS^*BppW}6?I>gY(~bMzC^nqcSUF?x@UI6Y%J%`7}@*X?_4N&_L8VLb0^s0 zY}64O9%oDzlNn!5K7v%yEPA1Eb%Fs?KXGy<1t`L1#lN3@dgfR`q&hg1a!-i}YOYrN zg8sX)T;a}*7MFh*HcO!Nu_-4-l6}Ds7_R7rp9<|tg?5xt-V`fYFGzYMTFOyViN)5I z+?aGGeOH{O^`Pud8%Pqs(wK_Js%-MO)uo`w6~mHS-D}dnJoE}Fz$B}l8NFEg$L>^# z)cGD}-fRkqA;7ZJZg{i3tOH4LRN0}o+g8JnV1FI8i{rYXfAyJ8?G}oiev%Ony+J#j)1|* zr!}KndlZ@YBR!jPn^zf#WFxJCxAauP2S8`t1r=!qCkVvdS*yjci8~z4ku_Gnl3#`? zPLa$yq6$iZcZ~W-D`6^+($w$&eYrY$1{hE`PS$7%Aney*)07xz;)tuw&GX0I$J5I{ z_2w3??)DbGuJ-mdjEYnE9Wo{?@<)E4J0e#YjQtseA|iPr^3O*wibR<^@Nelr-jOp zXwyjL>MHCS)3SdPJrQt1h)kYRffW3wiaKQxm)x#FKi4M>IagA!g7WEG-78XcBXk+N zpCXzkZL7!DyqCp;A(dIpdwWd_nHs#hZcuqV+cV`U@CmLBQ7HSiY%qMGK3IjlOm5&$ z&7iCYFI6yGokS>lywu)`)RgRRYXmBIrJ|@rK8jUBL{F!ieXpu0hye%_KC(cP+8R=8dpGJi8%CWPGoM_3n1#axcCM5`xh6q9gMyl3Iukxw<Xb=<7!AnTjr z5`vg8W& zt8t)nHsq-T5Evx%3=MObW8tFIR<=@Sg=KA=TYHY>>5YWAE)&tW5SnZn$#a5t$r*3? z#E~n`vBS9(h;cq@P%u}6fiKti(CPlWt-ZZH(^J7WYs+WhrQjl(%l4cnC#s8a%l+pZSauNrZIO1BHZ1#;kNO} z!(=_whxq+dZfYUO0Jp(Ew^!pWS(DTNyggOWgYSB*HSV`@if)B z6L*$}#-sP+$D1DP3Zt$R$T{f>d8x0EyG^VfTCT&8#YM%9jSb23$pIGCock)%2ypj3 zPo6K2mRpJ#K?POx$-}fBTYP>RV?1mbXBtSPYm>7E_3RNBcKp91Av0O>y{}hCJR$Dg zn}nxX7of^Nzhdn9yvTFj=I6bo#6h_U{o6aM?db3AeG~r@eRP#ti2##Ff~8_t3cun{ zBpz17@GchINqTE~uBGt}OragD%mFgq`5d(tlaU__!O-u_U!J&H z{y_LeEXR25*~{%0B^HRn42Cn<@hY&P>FMaf6M&ulSMv!PQCe`)n;fkI&pufBnwS5< zCv3mjr^%0N;;*u+npgrgX5L2h`zAu&ApDe~(~sKWWBVa{Ia5DnwmT|#45Q#am3?ha zhv>owjNdGzu>`=1{5g;Hl?RHWa#KhtAZ6W#kbTBv32>him6R!=W$RM3>A z6YBW)k4sQKu5nM}{Sb^GlpwfBm5aB#yNkDnkDF-w2}ft{`hT;7i}iM+91iWOswAHx z=l6)aMp$;HJ^P_n8u?D<5C!Cz4}@k%AEUk~6=j%3{iP+;1Y<9>tqN>B0gK>hZu;tK z4tR>KdG(ER0AP+IP^p!^{TkFQa$Y>ZTwA(1vq_aYEK5?o($svcq^g#EQk8v@qn5+5_T;cRD?87-sj&fQ zDXDMP%_vGjhi7XOg?3Bo>{29|u?h_xNV&w(hM*jZ4Y!6$vo}SpY@B6RmPVo@Nh^L~ zzD1x=k)oUNM+tjS55e^hs+gco-cIO3fN1TEJMjXz4In<&+ICbOTJ=`=<k zFjf0Ai2!i`JlE;%rTztAkV^{eNyJ%vYw2u#`ung|8s6mUnCvS)!W_fSgH;<=?+!DE zXw;A&O3QBY?!ojKWc@%#gjYdlA2jgwB10IF>}9`8DqmZ9Nz#7&*H2?AW2{Y;mneiY zPm>fPOFUR0s6=!{2-ZepQVi~pg=s_!eu_c}p3tXDf)$`L?0p%bY6|XWtNp{O?w^{* zSS6{;v#WuJL?s!!@$%U9s3!Lr5csSB*YjWd8^A0L%!~jX=nU^ZCA;{zlBTG`B(H{X zC_kcik>o;iGaRn~?eI$urGhKy|XP5@L1o{sCS74@;Qm| z1xr?Bjmk8TlI$=2N{aK%1$?h)YQBTD}2pem~w zy<%)~;%Q?!-Zs11ajpHUyOGVW1Fe8eo8$?K=W%os4pa#>+mEI;8mu-fVx>o~M%C{3 zZS2U(>jM5p`=jk5a(()z05-WLWx_3>tLez+7DGM!xf1uV^Lht0KkfmChE+Hh!A^`6 z=RU&Q!u|;Ow*mttY6)~hqLwJA`jXUw)e|@st!F7HVn@1(0T*2yErd1#1QKLYO4!cL zG+LHR+1Sy$aW!b7eAU30x_eQ}jZgyN*5fiDDF zHuQSx9cT(EGP!a2cwrLXhMKQXq0ayO6JCETcY+3e{3+)f6GNlCyxi-$E14+h;*b$yK2pZ{J=5BHCkywy^`Sko~VadPz88d&-@-{y%Ktpx203ef!QL|u6?VQbnjHnqm# zvrKFg`3HkrgYkQ=|89qu{oLBSso6Y_Hnv$pS_@OtT14b{YSuOK&yb89*Iy(8u?3Ep zjkB~{bHia>V+#tOIk7I%Uy*zuq92|}* z!(eM7D6a-(uKn=L1O>E-H0??{^0IF2mmkMuxe7o0>nBJI!9d^+y$Fu{g-PX^;3P_F z5{n}DSq@l+I8V=RO--%!mw@G}fhF3}(lW=jw(8vzF~UL>cLW$$Tc1BI;!DvOZt2ob zT>j|d4>Mp~Drwlzo#CDGD7Oskjk-1xIHLm&<_=OUrBd&P)jW0YZf-mt?r%6dIa11M zSrgB{{^8M-o}OOjqZNUHhTK#b6S?SH9bB$yu%}v+4b-j7f~erqLA8!SSosyCb(P5+ z#ykHMX+O)FldHp|h-AV-JQ+zsqdtyI%zBA-c6CX#H4AmMlgC6$s_{sfBbXEN|X)wORv|&5*47q}0&7LdS~*0W__B4k^^+q9 zwl9-x<5IyB7zjQm8U-K>yXy$9+0D*C}60z?kl+S(NO7^8qh_d&K}XJ&3L-+cPPeFxaYtr|YM`KmZ09g-#a`QF8kuH zbv5dEuS*|GYo|9k;3ct_76EI(AC{Y)A9&;7>uymAgl0zYZFaPB*s!&Wbw4P^$;_s6 zz8e4jgPz@X%bV_dd@qAU;D_?As;JJTrHGF+nowjSWlYs7|Fi2iGo8^TJ!-Z`zdwvz z^g^WR_nfDsG%ojte0w3Hq>IJH7sb&t4}THeEqy!kz^@lv^X&>(yu)^mL)Vv=;(sqV z$lJ8q$oIv|6_5Ta?(HpZYkR0V2ZntBn4rx!8~B4E+;8J$N@@WcN0DF|_1zQ8GF20& zG8`_C-KrY*(H}YV7885a_^2OIT_c92rLA2;P`p)4*pD1rt}`#+$g8WR0l3fKzG3Z# z=8>5O!r^HB0bG#B&yAK0JAnZKy=f0)mDVI&+xpm^Bh#m6`@4tx=lcL5zE*BR#~n5~ zIq47dkNR5qdR(&w>DzYPsD6yXOf=P&cj*%z-eN zO`RgGS_C?|`FS`8h<(*`6OmcmQ{j03PwM4)q~do8K88ih7upa|R1}7IMZO{!s)-&c z1IrEJsDD?u$%(oVnZU)kqbbrSJ)(;2wB98lE+!@}Lb0+EI@HtC)3pBlAL`)x$N;bd zk;S6G5@T+)%%B*xlF`M z7{y4HhA}cmtYT5!a1lLoadEJG@Zlv9y0dK=cs6?STR>oE=QY}tkU*_0UFdy*J^^)= zrz+`Y$nV@mwbv?H0|_QmyE*4Hh$u~M#mzn` zSYN??4*@S58~3}1m(HiVwvIJ?c57p*C!H@Ifq`Ai2O}jYFz5HMej$4LzSb;SrJi@p z7#jW`rkiHB6Kn|pY`B+&l@P33`#Cc`z%<+KPo#bRX?@pMX=pO2i)oUFc)Uz ztq~@fWjp}wJH$Nip*s9!T)0dvh%ki>H!>=YKdC_?l5}|3pL>(DFa9MLXFos5hxyK| z?q$ZgCV$QzR^b!jYizo-d{KKwdYM~)awQ-RX1?DwLYLaV=0TK#fBoa-ZZLUf=HhcV4a5#G1K8O+*nRO7ra;qsrUuK|`6X%B zo>i%B>P34LS@+_ivs;51^$y;fbCM|h4F-V{BO%dVtYO+3v~XFJg(9A}@xY@47#dGb z9{!z?pl<`t(xxU)4-bGaifH+Uz870tF)V-KD1RZ3jn!YV@uoDN)Ag0W&IRWYiQ|Gc z0oRJNw#UdXp}-d>S2q_oXJ@WVWhia^9nf+1bb9vh{$BWX2_s}9mnDg^cF{Z-9~snX zy3|f;`6=slj12#uUv=D>@0ZC=Sqo6qZoD6gPw(F(xDh9sGz5UTp0hDo%Tn;ig*>|gXI5t0VX*D1t0waoUd*L z%Uo>S&3%DI@DWf!XO4;}sJo};OF-^%O7bZV8mjH=6ie@tO_Vl{5vOn+cm_y9Kq>6Z zU~Jt+|6|4qG^QvY0t^TFln%457pH)L000*r7${N6Tw>;LexcKK4>ayBX9{S6Q#pV7 zfzjM@lLWH$Sc&dl?&@j{|*d6%jIQ*`pSZo$TryRn^qg9-f}-UkV`Z zu<&ZY)-Ra~r_fpbH9Jpi60RN4xGb?VIv(%hEh+N$UbEuqGR@qitI3?; zweFV|S)Pi`-P`?(v%P=+5Z|y1Qy`xl{54%MG0X{kk)s6GmQTl9pI;z}yjfJ6;w0h5BD9`NRN5yF*C3*aq5A}eJ1m`k6a*NNMr*MH$zOHYd~-c1CC0|a zJObg)cIQU)G2sjZHdA@zZyGyaaXhZr=~vp3h`{T1K6BBFC z&uc3ytc93mU;>zXP0<(_Qx43PuF&`+tOx@|`YMd_>d-Hsh0cZGK#;TahY+1BsF?1Q zHaHRi0^QNRn4SDyXRXGUf=3z_7xj@|66QRSY7uNWi?C6;e57398n`YYCMF^(;!hrL z4cA|@l=qjK zRckumJBkTa11=N|WP&g4BTQVEYbgT@4+jL-Q!FBU?#1ml^wyVQVRj+bQnfU;*l5J0 zptA6CcxI%CVVZVCpEILM1`+?z*Z?Q#JOnOvSVc!`$t_9eJegv|Zy^`^0Rr@C1Z^gy z3SPfgMwg!up)&or3_Or^fu5Ile>T0;V=FlwE&tn``GFVm_70I7cjXW@atYz(tARq+ zGIRCzn>C)a64^c_ELGHa2xo|UE$2Y_x73_aRa!|^C=BU)_HVa8Q8$pGNj{$^|Fx~h zN+KCE2oiWZBolV&ASf#F-__MA`0i^V$>!0<{`UMlP%e3S8B^i2BPCWmX@f`Woz>Jg zs?7~UKK)9M^v9e1a^`KPSrS}xwz08tcv8aq!%~G!GI-gBqqhx&tt9wKniP~^eNv!v z2^k<^s3>yy9Gl&n&pR=d(P1Fnr4dgK3~p(W+4?qxg<6Dif3@urMHb z&Yc1t-}CeH=iBYS+e_lJj@y=94>RkBU+h!*5GN<}ZSA-EgyX&Uqf7Za_8#jil}R=N<4=@GAlHJjnJWDf ze(hm26h$VBP-_xgqC_k%jTvmruj8%w2+2BbX!=kh3ro~7v_qmd5E?5JZExLI=20?# zDJcj4osoC@$~R6eU3YgcDtzS+Dr)!1TNfSAHHW$dBn-nr*c}XJM3o`jIEKS$5e3TO za>{RDLDtL&W!3|IOU-zN?hIo&dYRzxB6pGeASxZ~M(f`$3|9;J2ad@c90HFam6CmE zJ}fp&iI58Hr^}8@J;i`0a@ge*at8hhg4L zqSkH1`0b)!9K(noZ6B-Sseolo@>Bqg#tZfYR%B#3!qcw?TU@#TqfBD>FUz8}mSAF7e z&`w4>hLzTgC)9qot`qm$`~HkMQXsZ|la4tx{$VxV@og0CZpIJ^``|@&^l0_L!H%9x zz@Mld$778QcKYAW`274HT`$oRLV}`#3+sruqXv#q;!3185W6gcM$h+_5ie&aFARNg zUrUGCv!l#u%Sx&o(BMH-VK{2>z-OsIy3W6cwnaOB@>i2_YJkq@RNwR&4o`V{{Z}~* z!8+lr-g-)%F6fQvK^AAyXnY?xX)ROxHn9>+1zy2SRZv77#;6H^Ki$!&5d;?Z3Hc%p z%~h*2;bFKrl1S*t^EL(IGkf;6jsUF)7!z}v2)^^kBWL&oB}h;qLCPUb%k&ydi5{@0 z{prDiQY71s$(l(w7?%-jG$GF|43UE#k~BwtpCiM^$Kw%_8;i^ITejUJ@{2pfLnd|X zsce?z#SzYE)VMYtRtK?_Y7@#-k>v^EkxPi1JpL`Oj*gc35~_eehBfk3Tzu1YfBeU3 z-KszVzp9F#iXLf9K~8R=Z#vc$(d^gR%C^%8tLNyCdR;r`rG%+-mwsir&v1&s#U#&H zg)HcvE9Ks(jvP*JRQU6-zpLMleP2U)4^46J3DbsU@bv2MsLFciVFV%9Gb&1AmBC<7 zmosW6?6nLtpM=PLuIJjTs)4xvP1D4Bhlsc^DfVY;sv=88D$v5^8X3qEJp7{{u=!*J zP@!~$;dLUpb4cBaad)PAf0f;y9@8J4#%aYi4y*Qd!bzIHssFRZ$wQA1^BJE1rp&^M zQ_B8mrzwfXkwIE>qb6>^BS}LmIdbVRrW`!|fYb^<=gjkazT5+F{Oo^zqv-l5VCpGb zw4Sax9s|s`+rPWJ^(1yFwLuwFd?~e6`@u_0_Zu$vp3U~dW2pM0hVKZ$F7xwAbS4A%f4X4s8XbcGOqwdg&%Bk4Y|ptclhLwuVF- zC~dPjdJ`yxcsx|xU?KRvn5fz0E1ZD|;OW*G`uv zvE{Y9cCC&^08is#qrIhO&Pjj*uDW<$szG5+KP+EynhK^@B|i9;DP(e6(-8 z-M_??anr#cu{-~k+kIeK8T>6UL#6l%8Kq^62*w&=>2-1WxL2+wAfOiAzan&^i1c%K zrkQc%sWLU`(4K2_>@CPK0|SlHm<*&EWjtdx7O%{n zZBK3OTxk`zk+0`KO)y_FqWoyrl*E=)0#P~uy>M&$NvmHatnq(v6 zfV;hoi(ap!nCNeAWFoeoG~yYY(xbp{b0`j9#uwNA{zWrNO5r)ypJaNIVJ*j1%@P7g zY28;ZZKZtl)OoNg0AL2dIm*v~bK%9s{r&xL_jK3&#riQNIiW=&6%3ZDsi`!p^>*~4 zz}hjzw0Gr~RgZ?fQgy{V!m;@(l3pK0A_eE|VQev7sHz<8PLu{qi1N=M3|hTwyF^?r z@z}xmn|Kp(|CX)}BUa*|`o_j9;DGV`cv&YP!0%GTs6`FpEK8e-{Q>G|{RKCYbFrm< z*Gnixnrd|+I%4*-Dv4GJQ;$w>zYl5))8J7@o+dF<{G>le-A5v=NdL>atpEs?4``R` zC&8=etsROHcpiS(&3w7X@K1JP9qqpNiTPT)ZBZo+FP>i7e%6Soa7 zXH!bN^v)fH1{19nYI7-EX2s-3T3cD|{JGqGe6+K&`po@MJrwP`s>#P>GY^&m&8N|$ zmoA&9H58;{={vC29F=uh`VRs*pkto48DH(dM(jes>9v; zNQAw`1%c3x7uLYD@XgS7Z5+5+Z5qQ&siQv8PW8Fx)`kKDFfmb4_?V*AH?$A@o)HfZ zzCeIXgQ}0vTwB8iE=p&91Es5^Pc&2|PP8O=m!4gW7ipMS9o9MI84@PQxy7qqHpknC z)y2(;WM?4wvlJf*F0Z*Ie@+A+&y37O_J^S61uuSD&Qr*+hj5Y{kb0N@sT{fhcN9(< zjW!?61Dn@RzQcF&<6V|0Bp5}79J~n4K#cs@;pF)Y=f%nQVfRsAh$Pb5NN4)vk<-EE z)8h2vqN!~MCv&J71~XA)VwTW|Ym($N@1*LW#TuA`Tlf7=LkQU-Dd)IVanP^CD+^;9 z9tS#!tlzG621y$ zZa;M=#T%*p(YknVE%KAWOp(BaeJinhe?5sk zXm8_=i;X_c)YEF`^l5Qzc-qOo4~14X>5b=?bz#c{p#+n#tQC7lif%PTHzWQELHB^H zo+~vIfX686O{!Kt(`^bg#+_%cKlcM|tWJVsIK{QL5p+0f+(y`9I>P4feQNg$f-ATIZXEUlkRZA1pr}!*)qWWfrDo>q>eJ&syxU@mf{gLH6!SDyhpXDp*lSX&^LK zekpxPc0WTFzJA_3L!-47!}a)H)`*I-)(m3X(36SvE)fw|5whax)=IM^`pz)+Hw7R@ zNKz6+mqjS6PI?YX+U&Bu8pTyMcE-HJc7G{hZ*4({~NJiUa6v*b`V_we9lqPj>P zX29Vj$It3w zv=P1B--e}v_nqce&TcsT%Y|P1wl*hPk||9qqmq5>wcPb5lgZnGJAHbj$kXun$B~}S z!+_}@BT-+Vra`X`^w|Sj@6R@7F8;Z4|C(k z$W^t{3YE zGz=CZG;68LV*DRoB|(ZXSP}@4xih<)^V9~CvpIlLa8K$m8)~jy(+Z#$4H)*9pG?B1 z(d#WH#AqP>vwtMpC~&00vnJSjSdGwgt+|TiITH-gz~{3WedLLiS=MP@0%YGW(O;n( zWQ4J|Vie4)cu^E!F`2RCN%G2EGDQtZ_T17)j;m|0DjlHw+L2my5&!Vss{SI8S5b7j-M80Dc7 zxY>YN#lZYg89J|C!v>G`sNic!T(pJ4NhyJv)L4PEQk-s30lAmuM0X2~#~M%K8%`~a zloG|TI0~V6ao%{hvsWbo64;#lOOlL)7u@E2zcmXyTd}P{*eg10N(gTXl4w+!xVUWV zE@wK*rB1W;v&&FWY>|k_>`+6bCJeS~YX&~hGNUWZh3sFL0otLnxAPq@Kooz?-FnQSn;%{qfd71qr3R=$t z%D=(uob_8?yZPBC^5>cpdi+;c19yej+~Z5)8J2BY{?j~;Y|=#stb2ZzJm%7TGLpy$ zR68UKCK4R%KoYgKc7IQ_zd2))dcMuT7U;Oy+1WvTC|8-unYU(ICem;8tr;7-JTGUt z&TzP-oF74a?`Jd^9$R6Lf=kyfeAxf)bHvRXUu_4B&>WZyW@rc$s)Ec&Drb&}CFMwI z)%DW5({|R;qy6D{wp<1_Il#DgyL)?inUY&g%$P*00H+>E(Nt#Y&(NlO$E&Hx6j@nh zLty(VLSDWlrXS0cet!Yb71{3~1lA-4Hft8sz!_KBI?jceqFYL zTt9QT{#asdgF#YBL3A20JQP~%oWWO$_;^!4SwNalP9Xg9x-y`d(!^xN#Q*LaTJWel z`IirPAN9k}kcQ?x1mYw*B}B!6?fh)5p9Ec6OIz_*(iTGKcL!AW#((Td7ZcI^#)*2h z`H78;6|Oye=wT!yXhl>Uh!XDoJ#+q%p^;k`~ z5ZXhaVf5S5-G~D>5%&vqzO&DXwDg!L zMfP`5<6kO$^vi5?v@AySv#=@KEK2(}$wf}Y@TnVEL?JGj@Qe(2%h&R_=%TSQnniw z|E*r_94u!?SNm|g#(gF$rVMzxX zCdHT%#b0675@GXHuJH%~g%jy~3$ozG-O<|K+T0pIs`eAxX-JC2P#JTQ%s?dYtQTnR zeF(~aC8aK%3z;9cBOsu6nNZ+JkAfG-!+#wMqfphj&Hwae7BfRZsjNll8wc)ChYk#*$6|pJg3S>siZYq0oO4034ueA2 zEc2J{w28Et`vdYjU$e}W;q003pgW?!^uIQQ+7>IqGFRXc6`_rMvVm9m;zrNU1o*F} zsS|_-$JTrY{!s9I4S7@KIUzJyW1t_zM;d4?pBY0;!Jp))9LAQ~TjC#wl_8>r7egnV z{7Zn-l?fT5u3|}#0w2;NC(>3atd<2Q=;2iSW+kyvph~K&L_iSispvz3>($ixzgvz@ z&kXzt?E|_Ptg8&m2=giP9NFvMo>11-)@mvjyEyszJ^rl=XliU~Xz55zDj`fBbM0?T zrsE)yGE1ymr=l6cu37Ccz9nUON^fG}H#j$ZI{bC4LH1-H_C9^T^sk-RPTWU|q9AjA zPP~8La6=L{uQ#sG&dvZ!fqsebY~ia=1e{kM;sK9dUS5LauUw&Dl1M3)u^a5-gAq~D zN#wJXX%NhQhhDk2%@_r&51(vw>&ze3G~BtXVUN4SBtyTtBYMwu{@Uv4rxn<)poO{w zfVQjAq`j`3Je}|Ik54GeW|(*yN(rk3eMuGWtk(TkBm@`M)|jHGL5hm(^r_aCaU>cp ziFp0Wn#UX`t%0N&e7wf--I!&v^`jjwRYmj$RyZbY7dTi$t2zp_HpVfDnL`ITv7ipT1L5nH|x5*^@ZK(N;*bZ(c zl%6#?nu0Cn6d|L&m(7%&>5*e@_IpL&4N)#H*EtxUG}7hL9$x)X5hP2xVCbRep z<10;hBc-LNL@jQRR+rYzhw#1sTIUE_H^IPhp7KlaE<3fjn()QY<>)}5FdyvYz8Nis z;-`(PCP=Pd^q_DBxSImo+l!5=j7+&pxDAQG$9~WBB~Ht z+Z{@lFCZ0mm%i1z?qr0 z8Qkec^$|(Vv|tUF0#asCM?~#XYw7h{(LPgZUQG(g>CQ%GskJQ_VLQi(EehUJeRlkJ z@8W99OE{HNuCy^Wae29>YR~UH=*q8{al-S*D1v!TRaM0R$-7*rj5a|sugMf77mM^K zYKR#Urx~gtnjn>QpJp~|iMfL>HCn+CKTBUru;p@#bylCyE~v1w!hkyllt9J)EjP5l zGN|j}_X`~noyg$WVV{Ue3L?-c4a~5-dCrhuhr1q5B@A&TOOCOd3FY%Z@Vrrxo80P< z;0Z|u!LBRUcECn93>yk^^LKZ@+uPqif4(@f=QQZ`IzK)nAB&FG$K!ND+(a^G3a3L_ zJ&z3=lZ*=pgg!nV=e5N1rJFAYMszC%vu)_PspHMzA;2c_@;7H2pel;Vz_YLVrL@3j zzrFJR9aJZ1`BF^RJ>PFAts%9v<CLu@7@*3b0_PgvhX+G- zl;6RcX`}Brt)kd0VB!KJ7Sr$VsemF#WE)nQ?6+Ryc3>e`$WgB2@{ey^Lvw$R<-v%4 zMi?iavzJrRDpf&f%aU?ml~C|@x-9un>n)xz(0MEh^%1ehICCf5OxwH>K~asL`cR}3 zUOo@CSO-Bd=(C2rd!;Bi!%k=7C5-*3XQ76n%t>Vac zd_Mgb-=v1)*wIG;`quCKHXGY3c6bF%jdD%&T)xKq`N~#p z^KpOb&Cy)#ltj$;VkN`i;F7ek{kiZiVL-M7k?9d4L1C^)d7^SN(D&h9o)2Em?!M0M zWc&T5=H|Slk@6k7V}k_Mz4HV2cWuQNHw@Wi25Y_=S7@|G39|~nis0TSd`-jrRs`AQ zra>7Gk8bGwk_pPA(oo&)B5Y2J72Jw%y0yO&JQwXM3z>OU>EZGtH|kI=MTi1zKcSW~ za}IR%<#hd7XVznEytIm?k_FwJV!x`2B{k(&iGE){L|F?9;`|jYSwD1pRZ!n-hx_jj zYWzf3@$@WkLH#Btm<}njalDMLu!$Dz?E13W{QyX!_LBvM>#O4(H*noFI`!!Z8v7rV z_%ukeb0h|DmWqyAlnSUBdZbWuw_TTiAa^LPH(}Xj*0fr*oY&9icx@u!70pT*`L_V} z#EyvEM@QKl zE{6XSsj4!4c>2nwvOD4g7`}cv^efglNq^PJmGYysbuQ|xA@A^<)?~8c`NP;pOUN%? zaINs?CfIFVjy)=&4u}qCS9|yFgNwKC)84+BXidz>hdq9Nf&HM1VXtSmwqq|x+k?rM z?cYGDltBQLHfTE2MqiLVxin#s`zOEM8!n=Hg3pe{HodHK^pI6^9&ThV9^R;5oaySv zlG<8x1=uh3djC4UX?(H+Nt&v{3itB)5Lj`Qtn-U$kwLF}SusVpFA@q^7cp?uNx#rQ zcrdrNQ$olqGCxxCz!s;`&|z!?g4sIJR6OXZrHfx$TiRVDdt2boWH^K1!n_1-mbP{dMbyn`~@i}W) zw8W#EyR(pqHt6RBtYU5^)U~;-E%5RgnBASAZ2f#dNMe_E;vyjl$?7BjgkKm1*}znR z29XDVf^6O`p?0)BR%2J5SaiAk)M+hUU2eRiaH%8vzFm1S|6uUv{J7&W;h3vqA=pmO z(ni08iN&|3dD&6v?#{uKW;*kVn=6v5AqpQXMErfPD4;d)`SIUQ+e3Lv5hY=*Q}K9B zznwUM8136P^}P7!c>)aMf7~=BET<@a0byyt2xoEiplA!Mz8oFpL5qwe&YnBzIAD-+ zqXyz9V;azBlrn4eEm~AwbQu~X7i^r*m75zuLG(&*qW{fFaql&hhJgDbFv;=oP9+{! zUsfzAwR;bgF@pG=5{PF&KXVerLg11#5FJ99)XkQvT7c46TRZUY%uE>b!luSaPVV!1 z;LFp*wQ58>9Nt%D%xZbzO|-$=cjs3NaR>TMTB~FlVaP-~E;X5iLNpLCU_2F)mkNFb}H(cDA|f+Q`8&@7+`7BOZCX?8m+ z506c8ar&}QO>d2F?L>3@JM+@`U07?5cDOP;J?$BIUVRk$RCKD$3Q01P`>Te+{L3Bh z{{WLgY`(W^V96lb*_94-llgXj&X4#x=WgY}&0Bgp*x3o}+`X^7>np?B8X_3v_BAF# zUseJ)*EgR(eR`ZeOG>^dB*bbquc~S|T6_Qg^z8h6Yip~4au9-uvj*D;NnTCD?$Ta3 zDYgWc1IS7TZDr)%eNNXK)3-q@FZ0z`TMuac_Vd5x9P(I6@V|1bo78zPPx#dYVqz57*W=0HLmDX+EiE&ufJ{JUssJ;ltkE-eBk)bBHmgJ5&`+ z$y9q7eQ352>#Xyu4Wpj}`R9#ad`!s&AMc5vUPEL+b|MD;Pj*mtg!<1r-vC$-FKyW7I)>i4$Hj;b`5L1Lw&bJ9g|))cXN|EkgWsb$#>YcKkR^)iX0G z;>Pyohadj*!^e+1J3C2cQU_;fYIUs5jBt4yb1aN)5g_kH%eLV*)33cPjk9|3&##Jq z>JaQfWK|oYw|@avSplQDa!>+*Dokhd%gfIf7uS>V+|_w+Vkba5L1TN z>5hJ?q5rT}KEAKq+n@7uzw+Lde{Ig^-~aFbV^@^%EeK0NHRBHrzzSo`9X;e6Fiqz3 z*>v{h;^O}9ZZe)!i$zfs+dEqy-k%>H9j>o$43LAQ1V&^r)Mn%+-t#5DFG3oQIIb7e{ z+1}YjqoODX(G!*IO7`r`d1fXCD7t=F$r^naEoRKLnGp~vu!5&9OPA5+YG#fZ8>~3C z)kDk77GOph>X9F(CT!(zx(97dWQj|Y*@3hGEHj4W*bPxs2&oGj2)M2JCPYJIiAqFF zl=5OGr(6h79p(1+_Uh{D?&&F`!yUq6`c#K{ZFBS8+45vd^n3@T+yw#gcu4r9F|#ZUNgjho0cqq>sw_x##|KH@urI-Q#lrnOq;Bg?by90*C<;FuR2sGAGkTwRpI`y}h`c zjGrgfTtxQv_C9=g_p4w1YHMq&jx{j?fS@iy2Ka)+NN5dn12~seBv7#-z|;H~6#$cK zo~Sj@pGHqG@8WsyNYcZ39J#n$i>BgW~!;K zr=bceQd3>mbyZhDmDplFzq!3hDXt+7#6pPkSOXxt(k9c{WU8u+j7W>=V|6)IqN4Bs z8LnVvfGk8{s+y8BaNaRH84S57%CdA0y+h|60F;acyMgm--sk!kW-%`!MygGk?lz5V zbxw|w0)i$@z-6u}wRu3WWptU*)s*>+`aK*?`5#b$a_U3D2vJm9I|k4oNU}{NLop@f zB3gdvP- zCHVP8*gyG|uUMN(1L#GUy;4V>5rm{>){p`b`88o2&n6F7x0jcfcaQg`Hd|IfJ>Eaw+>P(<$J0rSaeXxU z@czSJ9vvPW9F%3*a2&?yi8Ta5>i5C)zp{&@R-dS?2m!i17CX`JEGK1|304tbyS}K= zlmyKKF)$=BfCQR^a^lPgjSvZa!5hO7ItCo7>iGHj{^oIdb6-s-UTR9u^QUTibL;Hm z@%g*+-Q8U>!T^iKJcKY^q!2@0hp1r@Dpjqkx|(YUp{^@4#kPrx$!ETXFqkUlK0M4) zgldX0B{U(RvV?}q28qbAW5=Fd?#3&e4ZL~pnBAZ#*fAJ7B*4s-gKR}+G;-RI#TuAu zG()0{Y|D4gI_gqq-xNA2lCmdPfVoQQ@%Z`6m;d|v?lGq1EIKlgdN!GFY;K;OzdJua z-`?IXy#ugB7Gv_s5DYYDY;$mz98U+_%*5D@3H+4J-C^7^Mwm!B80c7wHHG2GZblrWn--9A3V(P;hr_}$t0+1~D6 zF)G9)#;7SdGnd^@GnA#O&f5!Iagxxp_-b#_B>z7gj)@z*x&e%a1~#A1AD`}Tu5KP~ zZlCTRf~C^?^W)P$`^|6mkBBD%u9aJ4&#ywf(X)R#sB~qf>8^IRmgzljv(1A0cNbUSW-w0B19U^Dq$BzGKYaU zo=he;cbE4UxA*t=^Vyt0O;S-5C&z~$zWcNNqeE8~3|VSj*~}3X!!@ws0X1O)$sfwy|%#u>-80C1WBa^GK2wM-`suq z^!fAC)02_s_3gFIJy%t;>hbpOdg%Sm?)IPk_RmkxPB%9;Jh7_A7$u0QvKb><63h26 zpO`g`5#2fD``MW}QGx6^Wc4lpBtir2T4KMtk2H<+?ZfRZzcCBYgtMyJFX?`Lm*^a7 zX{&9o?sI>$!T;kw{5v74>-u@}d~>i&SZES4hP7eU6>)_gkezX-AyNu+CqCyKd7gfnFlqhBS zjF=KLmxEF>3MSVLxoLuvq;(Y+)uL`lze9*o1?oC17K;!<)=5Y)MU@~DQ(_=Tj);&* zJs6nxg~Gs)b8`$LG7}+*RjN^~4v>VXpn|DT8aW59FhugcaD&1#j#vlmHwJ6QSU=Ck z7dKxnZzf4-G%!YYKVL{3?QQSAKioe%JUBRJ$8|mSwTz5vZA$$J#@H~vUv<*OStphGga6QPeW?C1QR62HIwk1IHZEz|YTQ{GUkgla0 zXx+S}p7Q2fXKH1crJpKlPQjK})PKwJ$f)RDLQ4Sb2Gt_n-acO6UfkZR~Cx>>qyo@L_j%7XcWlkvt;JXG>idiWV1h>7t{oQxp z9i5((!$IK-5dmx}cOEI{t&=3B*G8?M25sFAd;cY;G#FSMF^Kl8S#TjBFTY^B=!Yq`tLkL7-m`T6tIB#xLqF75^*CEEa zG)<#*RWGW=d_K>1F-h(%Au}-uhDp&Ytr-rPkXVov)gq{k%E4&ps(SJ`&ZvE5bnC-p zIM~=x5ly11-g)mG8hXcrHF5>F!ch65(H#fJp56{mF zF!rN?b1v4Qnm@$FbZs=;JvcZ%Jv%-+8Vm*=DT~j0AgM#{=oU(^jhY$h3)B2_qvuFk z2e0jzpZjj+AIqpMpWs(P)34(6Y}dYmsK@j3;OxqrBOo;^;dQ%Pyy{odZ*>FLSA(ee7`hA)a3V~J>HqJn0Gs3MKKt!8FS z-P~A>((Hyd=dhJLcWldY$d2eX5GuNx710I+C+L`-A~DT(tA z%zRJIy!{kbKou2Lfn-22m`HZ{XtqcX(IBNTn>{@~KaOvyjKz=%3r-qmi#T~qWHMkg zPf~hvj@gxkijV>Lp%UjV#To)+#o{3VHD@Wu(k%M9K&Ux>hBc^gd?A%~b7EGDt zkX1`lCN?mjGRCB;KoKc1_)NM;2BZce-Zc$Orf3Gl4L6!K#vj+7R88Dd)-MMUTt zPDrf5)$|dtZ%Qh;kuy*FHZ|F|w$Y?b_V(C5T8lu)2w9lj6pe{7Q-MQn!}OWZ;o;%o z{{Hgf`Zg$<_rtX{4=zln^ZBEi?QCsr@9(^Se}1sNi_X=IE*XiL25Y{}Ec-8J3PzMk zoSFrj1+5!Ove+pXH&=lj`$KOAT7x%gfq3mZy5ClVV3wLF)Y%GK9+~wYmfEIf%Uun- zAIt1IIN}WOdZi`!m9%Dq1O4Cr?td8#hYiycTFwyl&$SY$C`s2q5MG5KV3T9Imgg?(ZKK&*S-Y7V26xZElS|eE4v7cDA>@Qx-*@ zWFa)9tO%XI(6$h+x~Q+DkfHZ3YjFe6tLXpi#s1TCuBzG)5+F(vcC0;z9580=y8*VY z4~RKLk60R8LM1F`)B5J(?#unnV>QEC*d)a1Z2A;KwXwBzba-@lc(!+N2!vrar;w_; zjv-)3bzN6gHCfb)D%7ElAuOteHYS*za~U;4OwN1fy$!bVWF-S`kklAukr6gPj-5jy zQy~K99Rl(Iin0KJ64S8st{8DKWXD5Su$W)-TyPdw$EL3Byv#sbh*eXMGSDJFFf<{s zwk@Q+Pi@JcdWw#Uomp$0yHz=d{)3BMd-9UP$a*v#jXA@M$?@6A>1k0EqQXeB2#63(odO#uwVQrhM(gHY zS1E2zsKeil?K^V5tVVyz^+?LixI5 zkyCFD9L;94HYAkJ$?D$RX+Ae@?Jupv{>txLw7e%s>#x0fSNC;G3WHzzaG`>I3E->A zk|8u0_NXd&9i>R+^fpYla4|+{tgm zreX`o%zH)GtoMy=r>pZUD?=MmL?A^Z1XUISHCc9XJ46H{HSAbtdB6bl^ft?PO*ovp2{9UY(k7k~AaTib(TV-(R?3F_oTX>%wDX6sW0V;5Y41;ghfF_siMjj zh&TgPu-Z=}I|6hD7{xR?&q)#yrc@)6_ij|Kd0+UVC<<4U?3{DVz5r(S&N(JV%#~zo zDS06^K;!_{c`u_>ePae>`Dng6U8AXD_9Y!)IiJmLF0O7aZ!fQ|MN+x5Nn7RiV1My6 z8IS*fNSnL+-~Y|OK0G|wUf(3bgteM2QUFzt45o}!A~6CREE?X27y0;ZV>)U*PBuUs{0>1TIGWkCK+kgM}nT=dc5fzhoMKVif zku0GV5JA)-WvQ*K7H7a1r63mIYy}OZBS%bKD6K};bhL>|28(sALYXNtA84&s3pTF4 znW;f?&WQ+_0|n=tnxQWe*sNMSJx#B#Z!Rw{A;q|ur<6vc(c#(g(c$6A$*CU>tnK+Q zNv4X_cBeJFT2o{d?UtI;#Dy&KS5mBx-x*Vzl03e{b#=AjPjjGB_?3#+OBvZkx4;W2j zj3I=yNU@GpRfQ0$P|fG_YEh+@g(iyTl8B0SVlnJXVn;;4oSY+OcFqb1W+>)Fyh$#G z&*L=42xjC9&ZwIp@o=%(|t_z^tzD-un%&9=Rk&=W~V2d!N$*YDSi_c!r6v z03xbLsRWKHlcZWW2M967LE#cYWFRcVB8(p&ZmzFxuO6qfd07-VSZC+b{5e+hMP03J zjCN0s4o^?^4-U$5fTGUw4VQ!w#hd|W6}sFO-p&tgJsQe@fab+zA+DQ9eV47@mH9I4 zgJo6I`r1i&?0ys$dWwWk|gdGJ{do~DWAkFRWj2clkh54wZ z1_w0sOsd%UKIqp0U0v7Lw^xskH{n|pij-o4w~+uPk*?_y+YxIZz=ZuRpI-3;TFOD=o( zc}slZiY|i%%q)c&Mw9*4j3Ve91ZZwMXHI+sG-#Shx)e`Rh+^7un^bk3Qqnr4I%}w> zD$1g&s;ZiYDut+-8yf+@5HW!uJMSC}oDu_gG%isw7mO(d`U0qNr(3zkZih?FU zB_cu^Qnr0eh4W=m_`)*}xiC}j3m!5#cFr+TUNX*kU(y}G=+yAMWGjJO!0 zJYyJFagN2>X!q#o?0kP`YjbnM`$DwNin`Qr7@(?nP*!jXiqdD|ZEtwHWIzeNDW3SH z@y|DEzgSWE_R%+LZ$B`vufDdt0qDzb!*}2RAmB1dq;U}m%riP>q|&Ga9L6eo(qSQ9PAAjL z%gfLAchf~x6a}f)Y?XmQE5(;jh zfJ{t8xqh0#dxmCeVBpO`i@wIJw5AXgQc5B+4-#XX&t}zPnnDagLrAm5q%nyxYNLv3 z2@wblk)2~e55&G8?=j<{2$`6eYi4Da^U9PA5k)oP+(K{yYz9n@9jI1eUOi7CX|b_U z?j7>x;q3?e&2#JTbxmnUZ>r&3iW@+?4-&W;P`pcyM zVlxT*XcBDggf*U8S41|mPO2?4c;mnOU;nPE=GCIA>T0$a&*t_2%iEjoSduL1VYaw? z#5pJTs?4mc>gs#v&TxotsZn2zPUHTR!`2yXo3ayOc$Q2or9YD(0H2{nB04GqU!5 z-!pSw_@{aieT*r_K1J&a zR50e)r_P}0Kf(B960B^bF~YO16H1bb0M%}=iGtgK*Y?Bh>6Wng3<;A0KlsR z8_Lm2?@lYV#sET~2sl{u=3$74k}9bPp%4rW917&9jP1bXM@X1ei>h_b=QM8HmY-8o zZ;S&P(=7%t5l3<%?iyq3uY_T`b}|m;=(+j*=Vv~DsrlJ(kdo2T_t)3r@*F~!uY##P^F&eo1K@2>vic75A*isl@WTU1|v|A#L> z{BU%1RM)lSY^EZz+wELwvO5gWZ(3tT3F6Bp^}lk7*&M|D|L2ims3A^Bf=n(D@zXBe z-rincU*Gp#Hl#kgB$9Vs+v0Nh>HPG+`Y-?L@bGZ4S{PYMF{dn1z>G=x zC8ys$Ape=iB#XZ~p1&3uKxW2~_2jK`oP*A^@GnBbv0(~RAcFuRByKM(%`@+t4z-_% z3`XVtG47OuazOTdl$>DmxV^i+`T6?te)ANXw(A;N)r*q@-T7v_Y1TV0;2oQ8cbXLn z=!0CShrP?yK&8;lf+HpdLll9W)$-OvAPJcw5R^9cYM1~NR6&%~u<}TVRFQMud3IJ+ zT-B9lx58!Vf=6uV2!q3tD=C-`8Mc2mC6!EtZfjsZAcKJy-V{L)m4L8lxGbt@Vn$|W z$OV@4dSm`i5s2S#OeXvsi!9`J|jEIC}eF9)pMzexdH-QD?@^E>26bffP zA~I27KrhJ7l+x4FQ*LAK)4FT#x0-fIx4nq;`j|`+S%7-W;Cpc!MK%L+jx9pmSj>Ul z4wDFku*w3R)PAw}-5>tq^Y72=y_FC+flRamGysz9h@p5gW;RRNPWIaPftB)L8{<$V zZD0fd_;xbJEC_(T*nf(nLG+pl;?>sis}u9R-vEFX&ITKZ@y!enl?jMUwM%;UwE6kx zpKovP2s|;Tl$zZmSgyQ3K0W*T<@cwjXH^xDKvi-U%~3^7#S_uUvj8LIk&T!xDr{!Y zBlb&={c78s>k%C3f`8*s6f$@i=s#c4=gJqu*woP~QB$AHy z>)-u&{=?TF!_n`S0i8xvRk0XjA5+t%uIu`~)7YmJ``D+XZ7*%tshVgK$vKOe31|W{ z01spQ&jlnxcF0}>nIi#1s?|s`P@m(b-$J8mrd}jV%AmcmDT1LfF*CDstqGU$j)(c285ZBoioG2b+}Av8s;Gu07GYW#1Ul*V1*zC3)cb` zF}D#JSOTd4pf*+~<8To^x06I0sUHDMB)^E=&V)xzWh&45-~R2tnac`|RlDN_HuZeY zMnz5#jBN<|qNc&BByTum9H=5Qi!t^o_bIFRuFIP!yWMWH+1y_Kyxwj1KOB)s-aNH! zi-_*%6C#O<2U`XYh+W_Bz%Y0rT#)m`K6qdGYFQoC%Y_Sd;NYDP0oeeuH*^Xy=Ylmb zQq@dZ-K_1Yz|dCjMOns3L##kZ1@HRY^IXPI0nX8t_t;mh&I4+jSa%mg_Whx%Dlzt>M> z774cbyOc>U2I=cZ9M!=q%$#Q%i5`~opAkQ^f}Xc% zskt6}s}o;1`@lG~Tem5z+X@gN5i3ztBf`78`@3)VH&>UN?Jl9Z<)RF3Y<79Og(L?@ zd*`1%U0ht893Sql7S6dsQZ^2g!qC`>fIZ@~msH+mbi-AJN(1?vQ;bO@gF$TDzO+!x zxr_a7yKDQli!tS_k}Z!!+DJpkBP6i8v?De~@C4q0y+_CB8JLLO!iAdsV&R>4Ap|C6w%|Q`FV2_OUK+Sz^ArF{X_~#7-nLA!sg{S{=h@3`}Ls82~^g$OO)S;JK*iS;$^( zp+(SDl?}P9U__jB-ze6I0%W3=6(kSLqKoAsC`#s(H`}NC>zk{#Yf<_D`RV48&`ytz z|MD;Y^6czP`n20Mj}H%Rmt&OmX4C9;71zcY(Gnw9b#}2;$xK(y83N0wsx>m?u&6^- z?X6Z-Rn>J(6*=a;uw433;tK}Q!^Tj}fNcmm0053Cb1J|w zIfTkX0QRlo-DY$7r=PE`uG+S()#W~QeWxiq#G|95Km6gx(;xrkYPBpR*HW78x4+$pdv)^(@i+hQmo2zgc$)c9bl(`Y8HtvR$Q%-q zk#JPP&F1O)`tjS(xA%9q23D=Os%n22`mSByeY0Nn>+tpB?80Hlajt~ zMI@#4+=N9H3c?0Jv>(D*GUk59e@~!8Ht9# zJfKug9VvmCLf35b){+pSh)5Qb3?qkt36XQoc^A-mS5?6UcELgw2x;LC3-1g$ZsUS@+;XsXI?$WfS?X5rx3J7>Jx?QU*v?jN77Z*JF5ZHifApHf<_Rv$ke zo&VJzPA@*~?eDXZsHB)|uRpsu^6p2p!FDC0q_FGTr`^`N*tgx&(^Io;Q?gy$Jhi*r z+gOt9viE&b@NvCq%m4`?i{*@>#GF^&Igdz-5JK>ET_4nb70j`#>Po;n$IQeM$qbQH z%_PH!RVhd%0-y;2WMeWEi*E}61K9&2qL!iyFdG1b>=+TU2m;d>o@3@j4!pa1e7e57 zdANIQ9vjH2n6gOfI^q8KSw9o{=$-3`ao{`~V_xE4lyc)5_D z>EX}}hO!|sVlMr(wGcD;5Fy;(-(Ox{-fiygAMU%hT~wj2!pVo~>G7$(*=-~r931{| z^5Mhp{_J;u`Gz08u3u z+va&S8TO)s`^gLl*#Hf=fNu~IC^I_e5C{wb7K5h-0Elb|1{u|mnd)N5Yl>2ehf<1d z*Y|x&sZCl)6H<&hrP%i|rfu7+mMS|_utH>5(2<^)xB?>2PRT2gbDkY%=Z0xY**ZvB zW0R6LB9c>-&WsqCkWdXICMLw%5DAF_IcCSsvGbK*I%ek_JFOR$_kIy755-4jKr7Ri zNR*Tc?Td+1U^PlcYWTnZ?f*O%Bb;y*;|~RGWM(Q_qE1MJ=t_<@yMi?0jNC-Izq`A+ zzTVtkH%-&`eT-36_xAQaeL6osKmGXe<8rwyCU*fVO|8WzFJ=-@o54>QuwXBVyCdO<8> zqe2=)G_V=lw5SFbo=eQ1iAo3ZLN$tNr5!O5fmzBqiKQ$t#$pw=ZJTqBDYi}9wrz|l zMM*j3oKxv!Y$eV)1lWWT5rHW9J#%cOyaSYpymO^m2@w-uDw#0=mq{gy2x|fpQ!^xB zSIpkZp%oe$$BZ1)oyR@zJ2@o z{^@Dgw$k({;vB42tFK?be);m{>Q)0aNiFJrPUe ze8Y$+2&@)M+Q3`}P*Nb~#le1|-mfY^#JaBcoUfojR*0OGdg*K|NGhtRj#&{QplV7{ z?{04Y;p*qRryC+tQSKo2ead-tvi$hvEr}dw{{d9ME zmttaep>pP>B5t;i8gmuG(ed#Q|Lo7s&Q6bxj=c9pMXIXC1~j8~h@fKved3Qb(9#Iw zd!G1z!t1}iPth2IQd5FiApyLMQI1S#V4#R&D|mGy#9hms010}v0;nE{$+^aDw|FYwf zh;fc{RzoHiddrK0Jym_YUq9VG{q)n%ec#<}?hAr{L3~m#&;I<+fB4;xRqglp_lc`*~kb>eX*5V%W1Y=%?j9*zXAZ0;#rs)f|(Mr3|SPLScVM1OiOH5iOeHA zCdH4-{ZAJkz?h-r=^>l+(#IH6%CX_DYqq=fuHEgLwrSSQuFbJ8Y9b3l<#AP`!~Ui< z+cCRU&@T33BJ7l$bDj{H%##JirLXF$+CSW5$B5iLZZ@~~KV4nzb}bqP2QfDZ2t#%9 z`P1(%K3{ygSX31wnj}fl`a}SMSq$2yan3>6RYg?4(NQh76%8GVaEzl4i$o0x$JEuV%EDf+KpYE5V76)fMjiL!v@uBd z>Xb=+3zq719E1uH5hGQM$O@9>_TlOB`ts`XYPac($yXsbj{%#eS>JD%?CkX8Kl`h{ zI{A2fd~#fc3IQdFX--khtfcVJluQ}0n8%J-RSN>T1VL=Xc+W+8zE#^;PBR}OnC(fg zwE1MpO?Lycfm|B^Ri1s-H%biv!9Y|A3zKTeGYTP>T44kMRW)*0_*RUE(oijS9ilOU zK?cLI$iYCRpa%x1Jfvrr*US+(0uAUE)#9j{wp#!IM`Yj>068nflvETk7d=J+_xuSKq$<+_Y`#V&0{cA|f4sSbqKb!^OqLa=BbA7G;P_4Xv4( z$t02ktMqK1CLrs4KIZAIUzK|sqi^q`M(6i=>5jqkCj)g>G2>BHo%5!~;A4z2#y0j% z({8t$W*0Y`zI1YFH@j>a!OXKVx)4-kuiEpARm_I9OZ{$reYs%r-Vvgyk#kh-wdQlq z%bJcp9G-kUrr_(kX6HOnK&wy@rBf{r9TdW(7JvEJaWjtRRCBa=RJsu$u^LLq^`CS`aM@ox#OvpF2O5Z;SVSrvwg-`+nKuAdB$c2*4 z2t2~F016`?Aw6uGoD;L#b&aUT7`wLX`drc@sg0?Zmr9K*HS^93sDN#^+w1G=%e%|R zhiys-F{iGp>-xiolhd;gKYsnXTCIk1U)3_KrBH9uTxK$>D}-rQ-m0zn$iDq>e!LCh zygzd9!I9_3q~_d2(^_c$ofA<3Mnob+9oVl7hGJ+$bf&#fm)tJ)P1m$tcYSqzbN6un zxb=%Y@R_8qE%#5`oP_ok;%LE$VX4&tC^<=pk}YYUI+LEwxw>MmNIj#ks=_$2w^&vo zR3We@bTR+}P)a>usnb+dBm@SL3;;NCVV73c(`b)F@heJgIuoZrPvO}t*(1ft?3%_E zpOGW)D79(WC*Ar_rPS1*AAfdSIqy?UkK4`V?e({B-_}o$n$$0A^iERNK1v%+W$$GF z%MU-Cot=I9c)F+^}h~9ZOA2QP8yczT1!}3WfD4fgx6rFs7 zrkeJZ*P8C_v;Bfndxh73rPOeS@1I+R@2;2m&i8r*ezQ_TAQ+VzKg*7lmgxeI7u{vWZAOlI8Q0bkSs5)Yl{Ce_>g8Zli}SSx`p{~K4f##eLjD$ zK17&-FULb6Py7*x!%`%i;z2pYI=^BI0JfX*O-_yUo*myW6EKP1at_ zX{JS0Rn8ewB=YQnmu=kS1_1sv&U10l=G`?0cINf)SV%hnHDI3gwY1Dl&N=yc3bf$EWN2Z$JI?^LD!t0Q9t|>c!r{ zcKx_pKVg!i{iCx_Kb(EJ_;B{IUNI4+lt83ycL0`iBphQ>h=u>uhKvdh;qyUQY5r<2 z?OB88E`4a0U!7LoH0S(wqn-YqT*zr@%+d3ccANe?H^cFb>pIW%JrAiB06LV;9%fdw zp^b3p>A~LB%k$s9^MZqaJavgc#CJ9b0|8L9A?5h|u^Ff-fDL3MprkhHlcCT}6xkIY z+!=wHfNANfge;2d^!RxB9~>=KSNFF+|A#-VA0C@cmtty~1{fCmi;Ig-U%q@f{dB%q zEXK5kMu~C8NK2+e0@@}S&2A_#92sn04$8YnQFD{U^jj{OPJ6f0wU~}^1i*2>!f`tp zAU|MWGA%PhfT512(3vO^N7bRFCjzFv(ft4X$A5o$e%A$Rj8KBg(HUuh)98uP*uS! z;5fdb09JUQR5Jh=fLAG7wi;N`C1yxiqT*xM22?E}DGShiF1n*v1 zf8$X^3dv9v0G(s!M3l&{xBcbM|8RT#?e_LI$LOmNs!(~?$JjpYVt(3Nu1?QCeEs_4 z>FH^xY8NUIK{M!EF)JR#^sJ$8pz#;-VR(A;i<`EW0WbBgUUDrK4JzU*9T;JYr zyJ)KT&;R_-HqEv$0x$QE&(6-ie*Jp<>4RGaRaFtl>b*}X!4%gt;E{n)QFUzQjAPch zct-er&wT1pFh^JGNCov)zTcX4FMj*3QXAP?%)oSjZcklQ;H76Ye8hfOU}lOGya#|T z>w4W>UEV!DZ6CIeIkhT%R@*+U8Svon;Pm|b^z`)f+Q` z^>T4?dVY5C^~X=2_ZO=Ok(qMNU;?JjImwyqbz>?5X?trWV=l&W>R(&jAO3&CVA6YKagP-#srbg++i4lXmdRX zGr#!VC!D_M)wfJW$@g^PFCPY=Q>Xz|Rh)Avn~jttKpqkMzJGe!TwUM(boKLkw-rTP z>@8M@&I1A9U;VTH;^_3~hd=w>$>~QX1dx<_10A1mV!piKX(@Y&E$q2xxV7aV_@?hJ3V8x5wfA<=Uw06cq|GIrLOOk^U&aRM?Z z6SL!-(YXo{`xtMx?e+Eb!^7ilw~I07tWk0&ofG+Ru>a}e{Njf%i~UvYtBRdSRy7l0 zb~&eM`2ymU5-jB%gQBnx;vT3#J$l$=A+@5Q6uvI2}mblrFidENKjPDuC2=UDx%ZX6M{u zv8d}1JbULIaZOM-=0y>ZR8>@r)fqTLASg}@1A68Rn$5(_0eT<+6(}%xARGkLp=Hgb zr4}0lV$Ru!O7zfxyCgR^x0hF!H;)f(--jwV5Rce5eYfjG3@hIIbo#@^>BXn>{rv;y zya}i%s0K9v5Ru?Hr+x_aGEHdyLC>nuJD$PJ+EOE?G0Qp5?MM!8v+T;$a+Pe7TbqP; z?te@-pX;FMx6|jZl)_xo;n+rgo>qPp?Rs_$pFf)TGprQMniKY7){Br;ZTwM zJ)>-HLrrsU0};ZD37Zrg1CB!WoZgzB`Bn~|t#Rgw*m~kWQ7gHX;mpa{92l_;qF<(% z%ySlxe)BZfY z5fQ0Qg~8M7Akk~^;5-UTI?^-`W*wRuqQk*o0u=!O0?d8f?zT`{*}SXK zxQIc?w}`PAI|Nl!lCP*Q001BWNkl_C|p8fFo^z{6A@1SxnK|;cm5+hCx2WTvVQ_Ce0 zTt;t_##!R>yVgWmqEpXy8p&nOQetTYX4}p zM`2kl{Br3Xk;wq^^O}p_6eSOlYd}AW&IH=U}CX&#@Rt}buan|0s!5;Gd47-Q@L%i-bS4?lc4IQwvL zbX0|qvzk$i5fLjDRbl6{>ST*eO6_}kZJx{;y|C9WSWbL(;hZEA@=$hOYA(%;iA4rJ zhiocEKmj0&^PZX0(5eL;6C>oDV;@<$bWz!*ylvXuZWsHm-)?rhrtNwu!e>UvE>u(n z3|@ekD1=IKHn4;s1Xe0%5l}M|vg6?VGSrK@uBvLqO2N}26bf!aB80_QMa05@q@H$7 z*RGrE>+9?5>&MN`3_=Lrk*3(k*moUyw|}sI@%i(?$J3M3(<)Se01{aYvx+4m%%${w z5~Oir48*K7bwl^wj`((_o=1M%gG-G66(-}=w7ykpYT4!%`Y(Rbdy??}G5M`?L*aW$ z&1UhOchMMb3>FDIqx{}|!pUQOPLJr|1ii8lU-`=~9{ydWR$BT22*6f#yWQU0+}vNU zA2;hRC+7o)I_#|kR8y1MZEiQtaJk(7{Q1kLi%O{FEhE`qf~5N zbY_?`Iae*0i^X!eT7)H@)YVB9&`~l-=&~qNrmU=>?9hZv5Y0+%%fQjls1i%TB!U5E zAW|bOl*xtQ2ZkIBfEyjPX)`o6{~U31gP)J|oIV?!N&^KND*lX1t0f@dtg4JzvI8_% zXK-xL_ucKy?bXA>{chK^Eh5rptEzn;(b4gTlOKQl@%;SUSH$eJkcyAOib#c(6jK%z zq8GFs`0Ov}01uW7rKk+&=D_eHB2N3kB%RD`HZQa+aSF4s8pd(Sa1T2h6)Ha++yTR( zljubF2LQ%gzRpCz6b8>F5D^TlFvC5GxHy#{rlK+SZ5Ow@cK!6U-E1Z1uIskDZB`S2 zj35L^9GnmAC{$D`>KsULfG%aN0kan7Bgv^p$IiK<<=!&5RqX-d-R<4>p;ijfXYzcL7lAfYeZ$mf!ylaGC|*6x6f~cPV$xi5h&;^hIF8k*PlXJ@ z9Az2vOoS;jhtTCHqFvYB-rn5a+}u7r#bgkcuv}Il1QY1nZnx>$7QyxpmLETU{QUXT zhm-R~wU2}%S+zk#0Hl=A4FCK8;eWhcZ<_nZxNEQ5wGVz-FTD@M-mwETVpumRK>&7( z+O51EuB!dRy((07Rl(khK`OQykdmp2s3rn8pog_I;WYq2c5193mP)Jv3B6}u*h29| zM7d}ajYGgSDP+;&;mdQiurCh3;&T~rBqSnJ17jm{b=66J+U{;{@9rKS>K^>?IC!5}nC3n7Yg&fE$;$OyWHn&IX`U_2RSC+H(=Om7ur*5TPr@t!Zq?iekBs zO|xset{ut%o2HGsrrB<`ec#2TB8=$R2O@OdQ$@V=%cFys(!@P=e{8f|-%)|e04{FrR9xt;Dx|L^Z(R%gfCCbzREnbkarq>&vH zaTc?Nmod0^H7_x|qtt%!m?LC;Gy+7Jhwi-MoZFk$;Y%uqG`-_hkr=LH6K0G=)TM>sMDcw`sS%;5AR-~F4k1f7aiW>37D8%-kyJJ5*e}2cC8$#0$xXlg_U-cW z+qXV8y+*9O42ecO{RjD5XpJ#666fp<(vS39J3FL zMO{^)s(rm!RCOJ^cg}h5y+b$Fu@`Dg6#j>**h>)aI`?m%ZPn)abba z7s!};lgIUXvtHj^U*Fx`brBUT?62J39sxlc<8~X{C)IB6pgP{W_;h}L@#S>6zX0Tv z5+a5IIx;{I1ht_P@r#5c{@Z`|Zw7~jsC33C&yGmUgh*K{k=!=B-Db1f?e6X$H=AwW zr7RLt%w*pC5WM+C=Gx41&UJ1D)UOr`zgIc8+;e-YaJXL|?;Y${3uUT3dq|WMY1ujm zH4zgIxJMmp5y#btT-;M6Kob!HV@2O<2JeJ8il&tAA0GeTtJ{aGo49QdF^j~MQZ$`a zKos5I$CnfdNoi@2?rtgRUP2lKX{4nQk?!u!rTd|~yQM*5g{2#oc;|od&IQ*yyN8)` ze&6_vnSQVB_Vo8?^K`zwxZdqU30D|a{TBx}D6MplaAhs{z4tR61^q3N%uhJL6!CI*b#3tffyY}dRc5zPv=(Z0 z^#^SU?Ct@4E~!!@X;`~)So;REAi$+U9NHG;!S^zM2mWU?qyF9<%=y_b zDgjQ-EFB!vc?AZuu~ejBR3i#?m!-NJ;c7-BT`Pckg88@@Eq>O+^)M8t@0?W~t$S>2VfIWK zi30bVQ}XK5n+B#k!H(_qG;ezdu0Jm#Vd-#sBONEAoE8FxJPGU11YA;@KwON6 zEZ1fC|M`tFGea}mjoR^{Qk@01JMV~nW=kEE+q2-EgO}&$=K$~a@0BcAmk&j2JRvX6 zdF{NX-}b{7L9!k@IKk^_>?`RI+TV(;WM!RRatK5kkw*$(uuIyE&I?RF+5ic*#?2d; zLknQ&`8tg8eIhafB*r7MlqKtpr7C)2W2p0TfBtXV)VUTt^z&yh*d`24oD#&S|0%R> z1NYRz7~|4NC3>bECFq-;nEle$spHGe8o++GYFH_=nJ~(a<79XD8>DOT%jI& zYS{fkOCD+13TLciCFNLjta6XboE?=;`oIMk^%c^{l7~@)aF0A z=4`Gk_l|SEnPBDP-1TG{|NQaJ$O*&B`{Bf(UtL&EImx16?lDY^=Crvzbn3 zo9W(Q=br^^KZdTdaO9O3t{>$9*io-Jft|8fnjlqD%;t#!^FO2 z&pY)HB7_PYDMrphX6>*MW(xa1oD6*GtB%w`Xr(gB!F1QCMqhaIzLK^{hy}c0^faz; zm4_t;-~fJ25ams#{+E<2!V0@maU; z+E@p&i^r=&Zn!#1UlvD>dF`%}Jk(mp^Q*BXvW*S1`~<~;NALBNG~tJc3>&>)4HSXX zNP7HHx=vu3JExc1nw@A(pLgqlO!^mmwY+JcIAv*c>wWw5@-i_edO!^N87d7nneY?u zhAv<H6lG9@yHFw+I);1y!JfRQE+Tg-Q{6!dlNnX6JCk2l)k5 z8dmH*C)*q{P5=ji!||gwRbosX`Zmc5e!XWkga`!Y%F;a1P8|9m&)?sdrH7^=1!f}x zzkdP-4@awj^Q+F&zgJI4j)rp|n*3sAmOiRCG73UQ8Yf(n_^J5|SAz@N`l(*iXa6>a z2d<=8MZWKduXt!w%z%nm785A+r#^f`4ajflw!{Kqh)FpFM(y!uv9n(TQ|3n*{C5U4 zV&Y=2m%C>Y*&nKJ@16=$^oZSXwabYl=>~Y;v1bH{2@H^hqCTkbjn_WD+z$s}S$OsE z((o&NSFVZK<&27sM?l@2x*Y#@m6X;Km@el0AiwZP=NGlSyu7B;vc|V|QnJFo(LDaP zqBiN*c84^bwvl#qw2JbFzJk@7#r?>{{$lL^ab|T>vu$h`2h$5|n_3J3IOxvb@zGH1 zH*h#6g~fq=h&~en9pV+Cwl+AYoo4D;FnkLOOYhSpmKigd(q73=<}9||JS=sF4@lFZ zH4d5jy=O&{R%I8LzGrYo5dZCSRz;4d$csw%VqJn&!r5q7X6R4Z%dfgPu3j*4kAJ^f z(f>;z$EbXTR;*>hhpQbrJ$)+1gqC?#yw{uCvt1qC-P|r8#vcYtcY*6!8h4cGr(DMO zTd%;lLv`X`!Q0Mxe~`C>&e)4;YK#?~5s`6Vpnp74%!cJ*40CsN4r{;-&+|_@ww$!F zH#;;qw7_1tO6efRBv{gD`L_q;!SweiZx|RjEl{-a<5}nSDrsWWsmOj_e3ix^Ph>0EF##as_2z+KDPk@Ab3@`ToKwnUNOD~ z&nzwdDEW6V-{9nzCu9^#K)KX<*q0!l1+=PqKLV$-`~GlORoQ%}q0(71IAw3ov>Ml6 z^bmZ@>pUz5g`7xX(Dv5z$!m~P7QvJ3{rc07O?FTTkn+JL5u^|7O^DtQ=<%XNQ_zO9 zN6vW6^KZ<1KfC$(tnod!DHyo<{?I<-;)@m&Z(C<(Vhw6Tw|2U>J+DR|-|b)Q-Q0YE z1mB9@$t1ZH9BZglAx$F4IkBXEIetjt)3fb<3`(q=7!Ed_xgJbwAQ@Skz(MUR*6qLd zkpIZ^w3z*LQq)mTxYZfFIkT#)R$x)CrPG89!;V>)@X6KcUTa#$hUHeD-cN|biFNBIFtRn;kp0AT<=E-viRi=aW>6R7>4^o-=^+CNum6QTkiAOkqxL_5#u zNuXzZFH{y0eYn3M5%m_F6eydx!r)1vLf3*-KxA62cJORBn&+LgYTs~xcfk?{yQcM{ zX3^5a{@DDvqvlL}V=8AZH~itCzSoQajQ<|Q%ct!=QTql1n#%rP+ut@f1njAN*O=^z zUWOr3@`$5?)+PS>5UCexH%g65ikDB`5D7t-;-kCRgpxtBAQS>S?u&Sc6$R zw+9EOx3>qEj_oj-vKkf>HotQr`gl5(%*;((azDKse_@G703vZ+2Vtf`9F4OW6<2%z zU!tZDHO0Kl^lUk*g~Oq1fxRs{SJcqf%cRL}qyRF@@6Ta^aJ500s=fx z)?%8WGOAf+);bFf*{_^bR($Gi15G5JZ`-T?*Tm=75n#Agx*jp`pF@)qrw1N06v=9G z1y7K&<1WV!D`r-N)5=}w8;|=}M}3ZWw~)a(pBBBgK^oQ%sWV|LXsvj4WVDa|@}EVQ zH&X!T2lS$8L0iT~eIikl?0~#(JML$g%zIRH<-+g)=PzaFG@BC2YyW+S_N1uVIgH;_ z5`C^`pZ_+AB6!2e{uEOfL|ZUtQB8%>P$5HC`ZRNVNQ_y9|C zXt_SBu(*&AP(mX9>gMLQm&G&N8_vH!*Blr2S%;fV78eyH-CT#v{zg53 z@LwA7y`Y*SVPx??CO;@arZvX(uE4ySViYe5_r&bT0(J3Q{~&16P$7vZZk17LqSDs< zi}i=nKFKT>VtRefhhj*&aST3mFnE3Onwi)GG>(9 zo3S*P({jJ#wV3b}A9yIhTkZ1Qgn$2gw2vsr7&k~z=&DL(6}c&b>u$5!_r{YL>$^Qf zpbLLugG?Z$ue(Xrbbb3GHsES``mIQUS6*9|ktVYR`hy?-ZnEEnp^SMra67$TQ98m> zKDr3;IF6nt{m+jFryiXfMMkOS6GBk&k}jfINcI2lYA;U@yTgD7rypWGkmk{Dr0m?V zY2UKuF%NuP*bPImyv(N0Ed};%0TiSHysqdN~$qDYFtDK5#Fv>(+SQvqz5(6ES z1^VRO>7`fm>gMU=>bJog?FnrCK#5;s+Erd_hl+f_&pY!E53wdOsxcB-z90~oda`is zo>gxekAB+W&38h~jGz!#mj4X7^9@EqiB?9|MB)0#1Tk(EVw zyM&Za@weKJPU*q3(H$b?HX152XdW!O)n_fiUfLvT_mEWskv%|I~}^S*2^nQD|K()pLk3B5@W!6X7+ zAPr+0KtZS~v|z+>j>7yjWY}m-HKq|91mY3qf|+*%ezH3?&#luOish=WL_rmZY}s%6 z(p=ZG$2rZ_6n27$z$m$ucVPyepq>; zOZ$F0omlNu-(08_6mZx5QUR^$6%D7F{G$0Hb3RLE;JUkq(9PaGoU#WuXzc$S6E`vhQbRXJ1Fh(^S zC6%390F48<94IM)X*30o-dH+<-?={^_b4u!g87VCAV10J*j$dWZ*MCGcU)@3^}Y`( z>7Ib!>$5AW1d1Ul6lIY+AFk@q2wIg0VXOSq_Rn$TNq={gM9pJC+f4Nj#*sfX zV=+ZXdVS)}+tgp-4=kB76_jpK>&+;yV^CI{tWyzvEL19x1o-pv>v*?*9i5%6-5u>O z9?6;z$Zza%_211ltG@G90$C?N>H=O4L)8NAozHgbOxPrQacz|S*1%wtl2)hjyDoGX zrn#y5>Q+}!_n*vx3zkV)8SAqjH0PSBDiTi?$*ZCe5J#OLM-D=5V~{3~OIA~D?9ZRc zRKl_JTqTU=3G|W2kIiTB5}UT0l9eWy(bl!!@@A^IOz~bywsiIAha_LSCL9ay>1`s2 zz16W{jnHkUC3RE+9zBNCrXCCbbOlOC8-yrw(ENR0pU+uGVxH0^i|*S-ke69-&j;>s zeP!Mdo!KZiG;?#t+iY}wxu_w}SlBRpt<-55)*kwGCC$tE-)%}xQo%^I!Q4=5j?OI(m8k@ZMZa8Xi z-PCbKw>h*bA^*G6g#rRZr(pN}(@LFPJ0VU2ofa*FY4Z--qBdH%;(KG~32sE?ri=ap zMafNguYY)}-|8`cd#JuKMooK#6=}25LEu)qe=TKtG#PONb-!FE!$+l zUqkoi(%Q+r-caz3CIVjg5lu!pC`mrvi`|T@TzY@RD;8D1Hx1PEr&SL(vpmV)wy-xd z$5oiuIl7#X)cYi9U}8b$lf7Pma^*C}k39b8S8JaJV}lerl@V0WSThwL@w?55g0_4E z`Ho%;>?eF=u+c_wLA@+39Wvfu+};`)M9XiRJI6LETo0y0zdjE{h^;548{z1-efd`N zKC!*E6)V>-j4|*1nNSyF|7mEuC^~vJ|4a?u|8N0R4?gVwdH1X3ow8A#EBbr+u;)mR zU*3E5f5g@|HeNj3I~y{SnZh)vWRQS3wSwjx0aiT<@}fMG!1oZkyg(8TpYoXu)+XiY z#9mKfgGt&+N^>iE5QtOjFNJ#uvSCqZoTlRang5-Dho)`c*}f?gIdhrCE(`r!;Lyjf zZ(Dmmo1x1k607;$U9XeB3+?wmlRopK1mH`mNMY|5$AB}v`1+QKkQZgZJ7-w-2j zf-RXkDctJs#8WG;v|Dd$42I}f#D*t|EOc;C`ns1XqeLM0a04R{f-ZI(RbmY&hXGMzI3uO$4=KQ%FQX@B! zV`$Ie1Td^2e>yA$3{R8B1qPW^E`*joC0J%0VqZ%?!8yb>qd9q|qeF*FvjgF@RJ#s| zNh=w&eXZKA?4R0;ED_d|yvF!O&rV}ZanfDRW>-GMq}y@q=g|6XVfWA6)!AfR9j-Ti zJcIiabK{|ca5!rb8=O<@9me=XN@>=Zuhjoh5#U)X;{3YxLsZ>U_g3lEvs3!UVpoOL zTRLC9La7P;DOr)AL*^F4H|Sa+PKT_kd*j#%KW#sHg#4*ohYaQGQlfL~BuUB))S7`5 zBQ)Z^mT(i`g81wYirWZ4UFYV$3IC1oI7Vrx3>4apdgJDMav`S$@sv>UxW;uh^gvs4 z9X$|gWa&6jIBDs$#d4y@?=HLXLns*s8!LOt)0(Aua^>Q{;%qlxopCeLv#ma<`*HLughb&oXlF?g7SQ97qVE1@yd1_N zLsMHAUHJ(tgMueH(CiR1yxS!P$C-k<&Nn_k%)&p(_+u7sQK`#%{=XL>*sz{04NW6* zuHN0Y!VF&9%+&RCaeeigh-#U*cAe+`PUrUTWI#c6FN zz^Pjm9hnfJwoi5@jX*;zoD`HLU+R7o!%oGx#hm)$RwyN7=MXjfCC4+~l6)7h%_xnV zCg^qi>;+67-&!VFs4qU>Lr)FE(Ex)m>v#I(7E4Y7{C$P8GHz=nDBf`m1+QcO42h90 zTfSM`07Tf0#f^={Nk06~3b-_KmI%liGX%8er~FvKGTWa~DrupMl|`GQG|UsoDH#tN z-+d`3ZSwR}W0?%8kjFO2u0G0W4wS`#oA;HyG6`po6cF+ zZeOkJF!3vFmvh?ZR}ia~GAlT+@46rSJ$vTrxLjtc7GJeJV~h??_$6X{ z-+sX)5=Bwt*DfKZBQ2LmQ9Rj*d7RQ5$8UL>{0|#xrik+Wo&{ON%Jd>rLue%VJ4QSW zM{z7r0)EgnLz%$*P?wf1=PbO8S*0|pBYd}Yep;Oao5ybU(4h0lfqF>L<#*v6IV_gZ zqS;1K4LX}0=&N;r$3?B6=*8pwTT26}#LXQDB%OCkZrw?50V9F6gCD|t4p98J86_u$ zA^AeW(l;JeLoN${ZhCX^8B=0Z6#fxoGLlMXWsVQ?4s3%pF=ybxpfVI9`w_iycNHtMXqc}>MN>XDi zk@r!oVK5a57d=ptkp@UpO?P7?)+J&%YbkPB<3yqMlE9cj=bMz7r_fw~FF*go42IvJ zz)c@YY312H0lJeYBa3vzr_wcSJa`GoFnCui}B6$fHv$Ai6 z_k|t^oDnLE|1P<2WCvYqe7;9~8dDYDAU&|Q>>{{AL!Yg)|6_^f<0>ri@}xA+3(U=- z;?!ugsbtM1tSc$(R1Y|;u19MGg<*^kv-Oml8>@!R|1v9J8&8CIPJz;yvb zYHMp3*OLCOc@!7wT-{&3H=elh>2&WvrcpaKE9{?b_#<51o^}WPyp<^ihXt|?vPzWal1;q-y#eJF z5so6fja_()Z2D7>i9XuuUH@cGmJ|Vvxdk2?)!)~L?iY6EZzjA6jDcp-Uz(9bn}S74w9jvVLJ3GZnfC z$!trO`h*@08;(n`HF%$p76FP-=&|A4!gc8G12z!;gXdD*sZGz`ZC5g3NDsE!JT{|% zc8`x9j~)+hUrt{hU*2WE4=Z#b;sPXePfVkWuNMQ$>uzHTM2+KaIb zSnQ$vuxJe^Ss=D~2Q61;P}C>24BRSUGq^N1B%BaPUY%%czXlR4PaeqU)7rK+fHuvY zOG#6Z##~&4-bbE*sRDnzf4YG!LrY7$U<-OMblntd#=%WsGvcw@l=r3PDD&jzd87XZ z+vEtg5nVOp0H7(iLwm8i#Ik`W1-#2C#C5r;>&`69FBKkuuPdV*W}Aj?mrZ*xP?Vwq z{-XI_AweAnKU7?fauFLXFF_lRy4K7pq{)&&Hwg?*0T0Spg5Os&hGBf=6XF{QEEpw2 z(TO`Y>qR*Whmhj)#8MN;JW0H?1Z4gvBdOsa+SPUXdOs{7PI+6}e6p$|)%fcj7ag(| zL3<`_Ei|+OPNqxbZiECX+3RdslE<5=3o6)R8liD3!T zboBn4uDPUB})^J zm%n`P8WVw9STf>BI;t1GGn1nR1$zGlb8ky6wi@GtfB%kC`h1h&ph0XG9UVM5<7vjp zWPY3-;$mdC(|9#pO2jei;8@#Mu=jjnDcCZR)eM6Hawt4><2l+Oxw^4+CnDT70Tn2+ z=EYx*Dq&FxmJ&RCXQfCgSHWN8g_<61 zXZvblI1b53G#A!+*5kvr8k92XZ=h zi@Oubj`TGiqdLN^gxw2U3N^(E1y9`Oc5xvHI-MAI&d7JV&i`cLp10v6NU-Ug%U>eqx(dqxZOo zUtgMw`6munSxA~6lYEyNlNDk@5~wgqUR}7^zN!I5*X~=D`;<`)ixlq?v96WeHz`h1 zSFrwRX6Wnu>-n98SoaGs{qyznyAdz@$9YX%j@?UaP;&%0z&yJjb{=11RKn9nO?eg_ zP&)=DJ~T73NY5~xC_dH|_%tJGyI0cqvn)}@dPOow>e-)BMu#~W?ksm1eQ_8nY4TIerJ?;Pl`h^?xh-4~Gj5==4fg)`&Vq$86_p~?O_KT`@t-b!R_t!6<8R-&5<0j8=PS>y2%xjw{S}T zAOE$lRSUFlsDiOn`IC(Q$zHN_AmL4E_+@kVp-IkvMd###euyu@v5T=7z{x0qwdFfx zIud6z3*}~3+qt9B;8{c^Xv&##Ra7*TxQ3w33XV^?hy2DxQ=-429xUSul83_S;=j;a zpy7P@SzN%10XPOZeS!ttE~o#c9r~fzWw_YBu?RGT8EtKzc!=!Uvv6S{ zB&LNYu5#uNR4!mD+;X^JciN0GC2~X##d3GJIeeuNe`=&7Ba|T9N4+2moN%fblqg?d zzlw-skob)t!Tog``rf0^Llq+UspZmAcHoN$329ORVxW8VN9G7b&?5r{HZ&J748nGo zwLDdSnY2Rm)_Sr1wwg+{j-|Wg^}&I9g!F=?!SZxW?tU1cUO1h7WI^R0;mu=@5@y&* zn~S?;#H#QBT@vT;*{)1IP+bA^T3L5N%gL*k z!b+?oH7fs1_WpK?0D94aj2r3^&MY~?)2mE5eST3AtxS+8WOvs$Jf=H z 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�oJYRilB%kMtj{PE9M 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 literal 0 HcmV?d00001 diff --git a/cmd/picoclaw-node/config.json.example b/cmd/picoclaw-node/config.json.example new file mode 100644 index 000000000..20cc3034c --- /dev/null +++ b/cmd/picoclaw-node/config.json.example @@ -0,0 +1,27 @@ +{ + "gateway": { + "host": "127.0.0.1", + "port": 18790, + "tls": false, + "token": "", + "password": "" + }, + "node": { + "displayName": "my_device", + "nodeId": "my_device" + }, + "reconnect": { + "maxRetries": 0, + "retryIntervalMs": 5000 + }, + "exec": { + "workDir": "", + "allowedCommands": null, + "allowAllCommands": true + }, + "identity": { + "deviceId": "", + "publicKeyB64": "", + "privateKeyB64": "" + } +} \ No newline at end of file diff --git a/cmd/picoclaw-node/config/config.go b/cmd/picoclaw-node/config/config.go new file mode 100644 index 000000000..096626d6c --- /dev/null +++ b/cmd/picoclaw-node/config/config.go @@ -0,0 +1,174 @@ +package config + +import ( + "encoding/base64" + "encoding/json" + "fmt" + "os" + "path/filepath" + + "github.com/openclaw/go_node/infra" +) + +// Config holds gateway and node settings +type Config struct { + Gateway GatewayConfig `json:"gateway"` + Node NodeConfig `json:"node"` + Reconnect ReconnectConfig `json:"reconnect"` + Exec ExecConfig `json:"exec"` + Identity IdentityConfig `json:"identity,omitempty"` +} + +// ExecConfig holds security settings for system.run and camera mock +type ExecConfig struct { + WorkDir string `json:"workDir"` // base dir, commands run under this only + AllowedCommands []string `json:"allowedCommands"` // allowed executable names, empty = allow all + AllowAllCommands bool `json:"allowAllCommands"` // when true, bypass allowedCommands check and allow any command (including rawCommand) + CameraMockPath string `json:"cameraMockPath"` // fixed path for camera.snap mock image (default: workDir/camera_mock.jpg) +} + +// ReconnectConfig holds auto-reconnect settings +type ReconnectConfig struct { + MaxRetries int `json:"maxRetries"` // 0 = unlimited + RetryIntervalMs int `json:"retryIntervalMs"` // milliseconds between retries +} + +// GatewayConfig holds gateway connection settings +type GatewayConfig struct { + Host string `json:"host"` + Port int `json:"port"` + TLS bool `json:"tls"` + Token string `json:"token"` + Password string `json:"password"` +} + +// NodeConfig holds node identity settings +type NodeConfig struct { + DisplayName string `json:"displayName"` + NodeID string `json:"nodeId"` +} + +// IdentityConfig holds device identity (Ed25519 keypair) persisted in config.json +type IdentityConfig struct { + DeviceID string `json:"deviceId,omitempty"` + PublicKeyB64 string `json:"publicKeyB64,omitempty"` + PrivateKeyB64 string `json:"privateKeyB64,omitempty"` +} + +// Load loads config from JSON file. Path can be absolute or relative. +// If path is empty, tries: ./config.json, ~/.openclaw/go_node.json +func Load(path string) (*Config, error) { + if path == "" { + for _, p := range defaultConfigPaths() { + if _, err := os.Stat(p); err == nil { + path = p + break + } + } + } + if path == "" { + return defaultConfig(), nil + } + + data, err := os.ReadFile(path) + if err != nil { + return nil, fmt.Errorf("read config %s: %w", path, err) + } + + var cfg Config + if err := json.Unmarshal(data, &cfg); err != nil { + return nil, fmt.Errorf("parse config %s: %w", path, err) + } + + cfg.applyDefaults() + return &cfg, nil +} + +func defaultConfigPaths() []string { + home, _ := os.UserHomeDir() + return []string{ + "config.json", + filepath.Join(home, ".openclaw", "go_node.json"), + } +} + +func defaultConfig() *Config { + displayName, _ := os.Hostname() + return &Config{ + Gateway: GatewayConfig{ + Host: "127.0.0.1", + Port: 18789, + TLS: false, + }, + Node: NodeConfig{ + DisplayName: displayName, + NodeID: displayName, + }, + Reconnect: ReconnectConfig{ + MaxRetries: 0, + RetryIntervalMs: 5000, + }, + Exec: ExecConfig{ + WorkDir: "", + AllowedCommands: nil, + }, + } +} + +func (c *Config) applyDefaults() { + g := &c.Gateway + if g.Host == "" { + g.Host = "127.0.0.1" + } + if g.Port <= 0 { + g.Port = 18789 + } + if c.Node.DisplayName == "" { + c.Node.DisplayName, _ = os.Hostname() + } + if c.Node.NodeID == "" { + c.Node.NodeID = c.Node.DisplayName + } + r := &c.Reconnect + if r.RetryIntervalMs <= 0 { + r.RetryIntervalMs = 5000 + } + e := &c.Exec + if e.WorkDir != "" { + abs, err := filepath.Abs(e.WorkDir) + if err == nil { + e.WorkDir = abs + } + } +} + +// WebSocketURL returns the gateway WebSocket URL +func (c *Config) WebSocketURL() string { + scheme := "ws" + if c.Gateway.TLS { + scheme = "wss" + } + return fmt.Sprintf("%s://%s:%d", scheme, c.Gateway.Host, c.Gateway.Port) +} + +// Example writes an example config to path +func Example(path string) error { + cfg := defaultConfig() + cfg.Gateway.Token = "" + if ident, err := infra.GenerateDeviceIdentity(); err == nil { + cfg.Identity = IdentityConfig{ + DeviceID: ident.DeviceID, + PublicKeyB64: base64.StdEncoding.EncodeToString(ident.PublicKeyRaw), + PrivateKeyB64: base64.StdEncoding.EncodeToString(ident.PrivateKey), + } + } + data, err := json.MarshalIndent(cfg, "", " ") + if err != nil { + return err + } + dir := filepath.Dir(path) + if dir != "." { + _ = os.MkdirAll(dir, 0755) + } + return os.WriteFile(path, data, 0600) +} diff --git a/cmd/picoclaw-node/gateway/protocol.go b/cmd/picoclaw-node/gateway/protocol.go new file mode 100644 index 000000000..25d8c28b5 --- /dev/null +++ b/cmd/picoclaw-node/gateway/protocol.go @@ -0,0 +1,93 @@ +package gateway + +import "encoding/json" + +// Protocol version (see openclaw src/gateway/protocol/schema.ts) +const ProtocolVersion = 3 + +// Frame types +const ( + FrameTypeReq = "req" + FrameTypeRes = "res" + FrameTypeEvent = "event" +) + +// Events +const ( + EventConnectChallenge = "connect.challenge" + EventNodeInvokeReq = "node.invoke.request" +) + +// Methods +const ( + MethodConnect = "connect" + MethodNodeEvent = "node.event" + MethodNodeInvokeRes = "node.invoke.result" +) + +// ConnectParams for node role +type ConnectParams struct { + MinProtocol int `json:"minProtocol"` + MaxProtocol int `json:"maxProtocol"` + Client ClientInfo `json:"client"` + Role string `json:"role"` + Scopes []string `json:"scopes,omitempty"` + Caps []string `json:"caps,omitempty"` + Commands []string `json:"commands,omitempty"` + Permissions map[string]bool `json:"permissions,omitempty"` + Auth *AuthParams `json:"auth,omitempty"` + Device *DeviceAuth `json:"device,omitempty"` + Locale string `json:"locale"` + UserAgent string `json:"userAgent,omitempty"` +} + +type ClientInfo struct { + ID string `json:"id"` + DisplayName *string `json:"displayName,omitempty"` + Version string `json:"version"` + Platform string `json:"platform"` + Mode string `json:"mode"` + InstanceID *string `json:"instanceId,omitempty"` + DeviceFamily *string `json:"deviceFamily,omitempty"` + ModelIdentifier *string `json:"modelIdentifier,omitempty"` +} + +type AuthParams struct { + Token string `json:"token,omitempty"` + Password string `json:"password,omitempty"` +} + +type DeviceAuth struct { + ID string `json:"id"` + PublicKey string `json:"publicKey"` + Signature string `json:"signature"` + SignedAt int64 `json:"signedAt"` + Nonce string `json:"nonce"` +} + +type RequestFrame struct { + Type string `json:"type"` + ID string `json:"id"` + Method string `json:"method"` + Params json.RawMessage `json:"params,omitempty"` +} + +type ResponseFrame struct { + Type string `json:"type"` + ID string `json:"id"` + OK bool `json:"ok"` + Payload json.RawMessage `json:"payload,omitempty"` + Error *ErrorShape `json:"error,omitempty"` +} + +type EventFrame struct { + Type string `json:"type"` + Event string `json:"event"` + Payload json.RawMessage `json:"payload,omitempty"` + Seq *int64 `json:"seq,omitempty"` +} + +type ErrorShape struct { + Code string `json:"code"` + Message string `json:"message"` +} diff --git a/cmd/picoclaw-node/gateway/session.go b/cmd/picoclaw-node/gateway/session.go new file mode 100644 index 000000000..7892047a2 --- /dev/null +++ b/cmd/picoclaw-node/gateway/session.go @@ -0,0 +1,303 @@ +package gateway + +import ( + "context" + crand "crypto/rand" + "encoding/hex" + "encoding/json" + "log" + "net/http" + "sync" + "time" + + "github.com/gorilla/websocket" + "github.com/openclaw/go_node/infra" +) + +// InvokeRequest is the payload of node.invoke.request event +type InvokeRequest struct { + ID string `json:"id"` + NodeID string `json:"nodeId"` + Command string `json:"command"` + ParamsJSON string `json:"paramsJSON,omitempty"` + TimeoutMs *int64 `json:"timeoutMs,omitempty"` +} + +// InvokeResult is sent via node.invoke.result +type InvokeResult struct { + OK bool `json:"ok"` + Payload interface{} `json:"payload,omitempty"` + PayloadJSON string `json:"payloadJSON,omitempty"` + Error *ErrorShape `json:"error,omitempty"` +} + +// OnInvoke is called when node.invoke.request is received +type OnInvoke func(req InvokeRequest) InvokeResult + +// Session connects to the gateway as a node role and handles node.invoke.request +type Session struct { + url string + token string + password string + opts ConnectOptions + identity *infra.DeviceIdentity + onInvoke OnInvoke + conn *websocket.Conn + writeMu sync.Mutex + pending map[string]chan json.RawMessage + pendingMu sync.Mutex + connectNonce string +} + +// ConnectOptions for node role +type ConnectOptions struct { + Client ClientInfo + Role string // "node" + Scopes []string + Caps []string + Commands []string + Locale string + UserAgent string +} + +// NewSession creates a new node session +func NewSession(url, token, password string, opts ConnectOptions, identity *infra.DeviceIdentity, onInvoke OnInvoke) *Session { + return &Session{ + url: url, + token: token, + password: password, + opts: opts, + identity: identity, + onInvoke: onInvoke, + pending: make(map[string]chan json.RawMessage), + } +} + +// Run connects to the gateway and processes messages until ctx is done +func (s *Session) Run(ctx context.Context) error { + headers := http.Header{} + headers.Set("Origin", s.url) + if s.url[:5] == "wss:" { + headers.Set("Origin", "https"+s.url[3:]) + } + conn, _, err := websocket.DefaultDialer.Dial(s.url, headers) + if err != nil { + return err + } + defer conn.Close() + s.conn = conn + + ctx, cancel := context.WithCancel(ctx) + defer cancel() + + go func() { + <-ctx.Done() + conn.Close() + }() + + for { + _, data, err := conn.ReadMessage() + if err != nil { + return err + } + var raw map[string]json.RawMessage + if err := json.Unmarshal(data, &raw); err != nil { + continue + } + typ, _ := raw["type"] + var typStr string + _ = json.Unmarshal(typ, &typStr) + + switch typStr { + case FrameTypeEvent: + s.handleEvent(data) + case FrameTypeRes: + s.handleResponse(data) + } + } +} + +func (s *Session) handleEvent(data []byte) { + var evt EventFrame + if err := json.Unmarshal(data, &evt); err != nil { + return + } + if evt.Event == EventConnectChallenge { + var payload struct { + Nonce string `json:"nonce"` + } + _ = json.Unmarshal(evt.Payload, &payload) + s.connectNonce = payload.Nonce + if s.connectNonce != "" { + s.sendConnect() + } + return + } + if evt.Event == EventNodeInvokeReq && s.onInvoke != nil { + var req struct { + ID string `json:"id"` + NodeID string `json:"nodeId"` + Command string `json:"command"` + ParamsJSON string `json:"paramsJSON"` + Params json.RawMessage `json:"params"` + TimeoutMs *int64 `json:"timeoutMs"` + } + _ = json.Unmarshal(evt.Payload, &req) + paramsJSON := req.ParamsJSON + if paramsJSON == "" && len(req.Params) > 0 { + paramsJSON = string(req.Params) + } + invReq := InvokeRequest{ + ID: req.ID, + NodeID: req.NodeID, + Command: req.Command, + ParamsJSON: paramsJSON, + TimeoutMs: req.TimeoutMs, + } + result := s.onInvoke(invReq) + s.sendInvokeResult(invReq.ID, invReq.NodeID, result) + } +} + +func (s *Session) handleResponse(data []byte) { + var res struct { + ID json.RawMessage `json:"id"` + } + _ = json.Unmarshal(data, &res) + var idStr string + if err := json.Unmarshal(res.ID, &idStr); err != nil { + return + } + s.pendingMu.Lock() + ch := s.pending[idStr] + delete(s.pending, idStr) + s.pendingMu.Unlock() + if ch != nil { + select { + case ch <- data: + default: + } + } +} + +func (s *Session) sendConnect() { + auth := &AuthParams{} + if s.token != "" { + auth.Token = s.token + } else if s.password != "" { + auth.Password = s.password + } + + device := (*DeviceAuth)(nil) + if s.connectNonce != "" && s.identity != nil { + signedAtMs := time.Now().UnixMilli() + payload := infra.BuildDeviceAuthPayload(struct { + DeviceID string + ClientID string + ClientMode string + Role string + Scopes []string + SignedAtMs int64 + Token string + Nonce string + }{ + s.identity.DeviceID, + s.opts.Client.ID, + s.opts.Client.Mode, + s.opts.Role, + s.opts.Scopes, + signedAtMs, + s.token, + s.connectNonce, + }) + sig := infra.SignDevicePayload(s.identity, payload) + device = &DeviceAuth{ + ID: s.identity.DeviceID, + PublicKey: infra.PublicKeyBase64URL(s.identity), + Signature: sig, + SignedAt: signedAtMs, + Nonce: s.connectNonce, + } + } + + params := ConnectParams{ + MinProtocol: ProtocolVersion, + MaxProtocol: ProtocolVersion, + Client: s.opts.Client, + Role: s.opts.Role, + Scopes: s.opts.Scopes, + Caps: s.opts.Caps, + Commands: s.opts.Commands, + Auth: auth, + Device: device, + Locale: s.opts.Locale, + UserAgent: s.opts.UserAgent, + } + paramsB, _ := json.Marshal(params) + req := map[string]interface{}{ + "type": FrameTypeReq, + "id": genID(), + "method": MethodConnect, + "params": json.RawMessage(paramsB), + } + _ = s.request(req, 15*time.Second) + log.Printf("go_node: connect sent") +} + +func (s *Session) sendInvokeResult(id, nodeID string, result InvokeResult) { + params := map[string]interface{}{ + "id": id, + "nodeId": nodeID, + "ok": result.OK, + } + if result.Payload != nil { + params["payload"] = result.Payload + } + if result.PayloadJSON != "" { + params["payloadJSON"] = result.PayloadJSON + } + if result.Error != nil { + params["error"] = result.Error + } + req := map[string]interface{}{ + "type": FrameTypeReq, + "id": genID(), + "method": MethodNodeInvokeRes, + "params": params, + } + if err := s.request(req, 15*time.Second); err != nil { + log.Printf("go_node: node.invoke.result failed: %v", err) + } +} + +func (s *Session) request(req map[string]interface{}, timeout time.Duration) error { + id, _ := req["id"].(string) + ch := make(chan json.RawMessage, 1) + s.pendingMu.Lock() + s.pending[id] = ch + s.pendingMu.Unlock() + defer func() { + s.pendingMu.Lock() + delete(s.pending, id) + s.pendingMu.Unlock() + }() + + s.writeMu.Lock() + err := s.conn.WriteJSON(req) + s.writeMu.Unlock() + if err != nil { + return err + } + select { + case <-time.After(timeout): + return nil + case <-ch: + return nil + } +} + +func genID() string { + b := make([]byte, 8) + crand.Read(b) + return "go-node-" + hex.EncodeToString(b) +} diff --git a/cmd/picoclaw-node/go.mod b/cmd/picoclaw-node/go.mod new file mode 100644 index 000000000..0ca01c486 --- /dev/null +++ b/cmd/picoclaw-node/go.mod @@ -0,0 +1,7 @@ +module github.com/openclaw/go_node + +go 1.21 + +require github.com/gorilla/websocket v1.5.1 + +require golang.org/x/net v0.17.0 // indirect diff --git a/cmd/picoclaw-node/go.sum b/cmd/picoclaw-node/go.sum new file mode 100644 index 000000000..272772f06 --- /dev/null +++ b/cmd/picoclaw-node/go.sum @@ -0,0 +1,4 @@ +github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= +github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= diff --git a/cmd/picoclaw-node/infra/auth.go b/cmd/picoclaw-node/infra/auth.go new file mode 100644 index 000000000..37bcec316 --- /dev/null +++ b/cmd/picoclaw-node/infra/auth.go @@ -0,0 +1,35 @@ +package infra + +import ( + "fmt" + "strings" +) + +// BuildDeviceAuthPayload builds the string that gets signed for connect device auth +// Format: v2|deviceId|clientId|clientMode|role|scopes|signedAtMs|token|nonce +func BuildDeviceAuthPayload(params struct { + DeviceID string + ClientID string + ClientMode string + Role string + Scopes []string + SignedAtMs int64 + Token string + Nonce string +}) string { + scopes := strings.Join(params.Scopes, ",") + if params.Token == "" && params.Nonce == "" { + return "" + } + return strings.Join([]string{ + "v2", + params.DeviceID, + params.ClientID, + params.ClientMode, + params.Role, + scopes, + fmt.Sprintf("%d", params.SignedAtMs), + params.Token, + params.Nonce, + }, "|") +} diff --git a/cmd/picoclaw-node/infra/device_identity.go b/cmd/picoclaw-node/infra/device_identity.go new file mode 100644 index 000000000..a27ee233f --- /dev/null +++ b/cmd/picoclaw-node/infra/device_identity.go @@ -0,0 +1,57 @@ +package infra + +import ( + "crypto/ed25519" + "crypto/sha256" + "encoding/base64" +) + +// DeviceIdentity holds Ed25519 keypair and derived device ID +type DeviceIdentity struct { + DeviceID string + PublicKeyRaw []byte // raw 32-byte Ed25519 public key + PrivateKey ed25519.PrivateKey +} + +// GenerateDeviceIdentity generates a new device identity (no file I/O; suitable for embedded) +func GenerateDeviceIdentity() (*DeviceIdentity, error) { + pub, priv, err := ed25519.GenerateKey(nil) + if err != nil { + return nil, err + } + return &DeviceIdentity{ + DeviceID: fingerprintPublicKey(pub), + PublicKeyRaw: pub, + PrivateKey: priv, + }, nil +} + +func fingerprintPublicKey(pub ed25519.PublicKey) string { + h := sha256.Sum256(pub) + return encodeHex(h[:]) +} + +func encodeHex(b []byte) string { + const hex = "0123456789abcdef" + out := make([]byte, len(b)*2) + for i, v := range b { + out[i*2] = hex[v>>4] + out[i*2+1] = hex[v&0xf] + } + return string(out) +} + +// SignDevicePayload signs the auth payload string with Ed25519, returns base64url signature +func SignDevicePayload(ident *DeviceIdentity, payload string) string { + sig := ed25519.Sign(ident.PrivateKey, []byte(payload)) + return base64URLEncode(sig) +} + +// PublicKeyBase64URL returns raw public key as base64url +func PublicKeyBase64URL(ident *DeviceIdentity) string { + return base64URLEncode(ident.PublicKeyRaw) +} + +func base64URLEncode(b []byte) string { + return base64.RawURLEncoding.EncodeToString(b) +} diff --git a/cmd/picoclaw-node/main.go b/cmd/picoclaw-node/main.go new file mode 100644 index 000000000..dc04aa187 --- /dev/null +++ b/cmd/picoclaw-node/main.go @@ -0,0 +1,153 @@ +package main + +import ( + "context" + "crypto/ed25519" + "encoding/base64" + "flag" + "log" + "os" + "os/signal" + "runtime" + "strings" + "time" + + "github.com/openclaw/go_node/config" + "github.com/openclaw/go_node/gateway" + "github.com/openclaw/go_node/infra" + "github.com/openclaw/go_node/node" +) + +const version = "0.1.0" + +func main() { + configPath := flag.String("config", "", "path to config.json (default: config.json, ~/.openclaw/go_node.json)") + initConfig := flag.Bool("init-config", false, "write example config.json and exit") + flag.Parse() + + if *initConfig { + path := strings.TrimSpace(*configPath) + if path == "" { + path = "config.json" + } + if err := config.Example(path); err != nil { + log.Fatalf("init config: %v", err) + } + log.Printf("wrote example config to %s", path) + return + } + + cfg, err := config.Load(strings.TrimSpace(*configPath)) + if err != nil { + log.Fatalf("load config: %v", err) + } + + identity, err := identityFromConfig(cfg) + if err != nil { + log.Fatalf("load device identity: %v", err) + } + + invokeDispatcher := node.NewInvokeDispatcher(cfg.Exec) + opts := gateway.ConnectOptions{ + Client: gateway.ClientInfo{ + ID: "node-host", + Version: version, + Platform: runtime.GOOS, + Mode: "node", + }, + Role: "node", + Scopes: []string{}, + Caps: []string{"system", "file", "camera"}, + Commands: []string{"system.run", "file.save", "camera.snap"}, + Locale: "en-US", + UserAgent: "OpenClawGoNode/" + version + " (" + runtime.GOOS + "; " + runtime.Version() + ")", + } + if cfg.Node.DisplayName != "" { + opts.Client.DisplayName = &cfg.Node.DisplayName + } + if cfg.Node.NodeID != "" { + opts.Client.InstanceID = &cfg.Node.NodeID + } + + onInvoke := func(req gateway.InvokeRequest) gateway.InvokeResult { + return invokeDispatcher.HandleInvoke(req) + } + + sess := gateway.NewSession( + cfg.WebSocketURL(), + cfg.Gateway.Token, + cfg.Gateway.Password, + opts, + identity, + onInvoke, + ) + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + sigCh := make(chan os.Signal, 1) + signal.Notify(sigCh, os.Interrupt) + go func() { + <-sigCh + log.Println("shutting down...") + cancel() + }() + + interval := time.Duration(cfg.Reconnect.RetryIntervalMs) * time.Millisecond + if interval <= 0 { + interval = 5 * time.Second + } + var attempt int +reconnect: + for { + if ctx.Err() != nil { + break reconnect + } + if attempt > 0 { + log.Printf("go_node: reconnect attempt %d", attempt) + } else { + log.Printf("go_node: connecting to %s as node %q", cfg.WebSocketURL(), cfg.Node.DisplayName) + } + err := sess.Run(ctx) + if ctx.Err() != nil { + break reconnect + } + attempt++ + if cfg.Reconnect.MaxRetries > 0 && attempt > cfg.Reconnect.MaxRetries { + log.Fatalf("go_node: max retries (%d) reached, last error: %v", cfg.Reconnect.MaxRetries, err) + } + log.Printf("go_node: connection lost: %v, retrying in %v", err, interval) + select { + case <-time.After(interval): + continue + case <-ctx.Done(): + break reconnect + } + } + log.Println("go_node: exited") +} + +// identityFromConfig builds a DeviceIdentity from cfg.Identity. +// If identity information is missing or invalid, it falls back to generating +// a fresh in-memory identity (not persisted). +func identityFromConfig(cfg *config.Config) (*infra.DeviceIdentity, error) { + idCfg := cfg.Identity + if idCfg.DeviceID == "" || idCfg.PublicKeyB64 == "" || idCfg.PrivateKeyB64 == "" { + return infra.GenerateDeviceIdentity() + } + + pubRaw, err := base64.StdEncoding.DecodeString(idCfg.PublicKeyB64) + if err != nil || len(pubRaw) != ed25519.PublicKeySize { + return infra.GenerateDeviceIdentity() + } + privRaw, err := base64.StdEncoding.DecodeString(idCfg.PrivateKeyB64) + if err != nil || len(privRaw) != ed25519.PrivateKeySize { + return infra.GenerateDeviceIdentity() + } + + return &infra.DeviceIdentity{ + DeviceID: idCfg.DeviceID, + PublicKeyRaw: pubRaw, + PrivateKey: ed25519.PrivateKey(privRaw), + }, nil +} diff --git a/cmd/picoclaw-node/node/handlers/camera_snap.go b/cmd/picoclaw-node/node/handlers/camera_snap.go new file mode 100644 index 000000000..ca3ef77ad --- /dev/null +++ b/cmd/picoclaw-node/node/handlers/camera_snap.go @@ -0,0 +1,85 @@ +package handlers + +import ( + "encoding/base64" + "encoding/json" + "fmt" + "image" + _ "image/gif" + _ "image/jpeg" + _ "image/png" + "log" + "os" + "path/filepath" + "strings" + + "github.com/openclaw/go_node/config" + "github.com/openclaw/go_node/gateway" +) + +// CameraSnapHandler handles camera.snap command: mock by reading a fixed image file and returning base64 +type CameraSnapHandler struct { + cfg config.ExecConfig +} + +// NewCameraSnapHandler creates a mock handler that reads from a fixed path +func NewCameraSnapHandler(cfg config.ExecConfig) *CameraSnapHandler { + return &CameraSnapHandler{cfg: cfg} +} + +// Handle reads the mock image from fixed path, base64-encodes, and returns camera.snap payload +func (h *CameraSnapHandler) Handle(req gateway.InvokeRequest) gateway.InvokeResult { + path := h.mockPath() + data, err := os.ReadFile(path) + if err != nil { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "UNAVAILABLE", + Message: fmt.Sprintf("camera.snap mock: read file %s: %v", path, err), + }, + } + } + + width, height := 0, 0 + if cfg, _, err := image.DecodeConfig(strings.NewReader(string(data))); err == nil { + width, height = cfg.Width, cfg.Height + } + + ext := strings.ToLower(strings.TrimPrefix(filepath.Ext(path), ".")) + if ext == "" { + ext = "jpg" + } + if ext == "jpeg" { + ext = "jpg" + } + + b64 := base64.StdEncoding.EncodeToString(data) + log.Printf("go_node: camera.snap mock path=%s bytes=%d width=%d height=%d", path, len(data), width, height) + + out := map[string]any{ + "format": ext, + "base64": b64, + "width": width, + "height": height, + } + payload, _ := json.Marshal(out) + return gateway.InvokeResult{ + OK: true, + PayloadJSON: string(payload), + } +} + +func (h *CameraSnapHandler) mockPath() string { + if p := strings.TrimSpace(h.cfg.CameraMockPath); p != "" { + return p + } + workDir := strings.TrimSpace(h.cfg.WorkDir) + if workDir == "" { + workDir, _ = os.Getwd() + } + if workDir == "" { + return "camera_mock.jpg" + } + return filepath.Join(workDir, "camera_mock.jpg") +} diff --git a/cmd/picoclaw-node/node/handlers/file_save.go b/cmd/picoclaw-node/node/handlers/file_save.go new file mode 100644 index 000000000..2324cbb72 --- /dev/null +++ b/cmd/picoclaw-node/node/handlers/file_save.go @@ -0,0 +1,133 @@ +package handlers + +import ( + "encoding/base64" + "encoding/json" + "log" + "os" + "path/filepath" + "strings" + + "github.com/openclaw/go_node/config" + "github.com/openclaw/go_node/gateway" +) + +// FileSaveParams holds params for file.save (from picoclaw nodes tool) +type FileSaveParams struct { + Base64 string `json:"base64"` + Format string `json:"format"` + Filename string `json:"filename"` +} + +// FileSaveHandler handles file.save command: save base64-encoded image to local disk +type FileSaveHandler struct { + cfg config.ExecConfig +} + +// NewFileSaveHandler creates a handler that saves files under exec.workDir/saved +func NewFileSaveHandler(cfg config.ExecConfig) *FileSaveHandler { + return &FileSaveHandler{cfg: cfg} +} + +// Handle decodes base64 image and saves to local directory +func (h *FileSaveHandler) Handle(req gateway.InvokeRequest) gateway.InvokeResult { + var params FileSaveParams + paramsJSON := strings.TrimSpace(req.ParamsJSON) + if paramsJSON == "" { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "INVALID_REQUEST", + Message: "paramsJSON required", + }, + } + } + if err := json.Unmarshal([]byte(paramsJSON), ¶ms); err != nil { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "INVALID_REQUEST", + Message: "invalid paramsJSON: " + err.Error(), + }, + } + } + + if params.Base64 == "" { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "INVALID_REQUEST", + Message: "base64 required", + }, + } + } + + data, err := base64.StdEncoding.DecodeString(params.Base64) + if err != nil { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "INVALID_REQUEST", + Message: "base64 decode failed: " + err.Error(), + }, + } + } + + filename := strings.TrimSpace(params.Filename) + if filename == "" { + ext := strings.TrimSpace(strings.ToLower(params.Format)) + if ext == "" { + ext = "bin" + } + filename = "file." + ext + } + + // Sanitize filename: remove path traversal and dangerous chars + filename = filepath.Base(filename) + if filename == "" || filename == "." { + filename = "file.bin" + } + + saveDir := h.saveDir() + if err := os.MkdirAll(saveDir, 0o755); err != nil { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "UNAVAILABLE", + Message: "mkdir failed: " + err.Error(), + }, + } + } + + outPath := filepath.Join(saveDir, filename) + if err := os.WriteFile(outPath, data, 0o644); err != nil { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "UNAVAILABLE", + Message: "write file failed: " + err.Error(), + }, + } + } + + absPath, _ := filepath.Abs(outPath) + log.Printf("go_node: file.save path=%s bytes=%d", absPath, len(data)) + + payload, _ := json.Marshal(map[string]any{ + "path": absPath, + "bytes": len(data), + "format": params.Format, + }) + return gateway.InvokeResult{ + OK: true, + PayloadJSON: string(payload), + } +} + +func (h *FileSaveHandler) saveDir() string { + workDir := strings.TrimSpace(h.cfg.WorkDir) + if workDir == "" { + return filepath.Join(os.TempDir(), "go_node_saved") + } + return filepath.Join(workDir, "saved") +} diff --git a/cmd/picoclaw-node/node/handlers/handler.go b/cmd/picoclaw-node/node/handlers/handler.go new file mode 100644 index 000000000..02178b65c --- /dev/null +++ b/cmd/picoclaw-node/node/handlers/handler.go @@ -0,0 +1,8 @@ +package handlers + +import "github.com/openclaw/go_node/gateway" + +// Handler handles a specific invoke command +type Handler interface { + Handle(req gateway.InvokeRequest) gateway.InvokeResult +} diff --git a/cmd/picoclaw-node/node/handlers/system_run.go b/cmd/picoclaw-node/node/handlers/system_run.go new file mode 100644 index 000000000..e5fc89e49 --- /dev/null +++ b/cmd/picoclaw-node/node/handlers/system_run.go @@ -0,0 +1,360 @@ +package handlers + +import ( + "bytes" + "encoding/json" + "log" + "os" + "os/exec" + "path/filepath" + "runtime" + "strings" + "time" + + "github.com/openclaw/go_node/config" + "github.com/openclaw/go_node/gateway" +) + +const outputCap = 200_000 // max combined stdout+stderr bytes + +// SystemRunParams matches openclaw node-host invoke-types SystemRunParams +type SystemRunParams struct { + Command []string `json:"command"` + RawCommand *string `json:"rawCommand,omitempty"` + CWD *string `json:"cwd,omitempty"` + Env map[string]string `json:"env,omitempty"` + TimeoutMs *int64 `json:"timeoutMs,omitempty"` +} + +// RunResult matches openclaw invoke-types RunResult +type RunResult struct { + ExitCode *int `json:"exitCode,omitempty"` + TimedOut bool `json:"timedOut"` + Success bool `json:"success"` + Stdout string `json:"stdout"` + Stderr string `json:"stderr"` + Error string `json:"error,omitempty"` + Truncated bool `json:"truncated"` +} + +// SystemRunHandler handles system.run command +type SystemRunHandler struct { + cfg config.ExecConfig +} + +// NewSystemRunHandler creates a handler with exec security config +func NewSystemRunHandler(cfg config.ExecConfig) *SystemRunHandler { + return &SystemRunHandler{cfg: cfg} +} + +// Handle executes shell command and returns result +func (h *SystemRunHandler) Handle(req gateway.InvokeRequest) gateway.InvokeResult { + var params SystemRunParams + paramsJSON := strings.TrimSpace(req.ParamsJSON) + if paramsJSON == "" { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "INVALID_REQUEST", + Message: "paramsJSON required", + }, + } + } + if err := json.Unmarshal([]byte(paramsJSON), ¶ms); err != nil { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "INVALID_REQUEST", + Message: "invalid paramsJSON: " + err.Error(), + }, + } + } + + argv := params.Command + if len(argv) == 0 && params.RawCommand != nil { + if !h.cfg.AllowAllCommands && len(h.cfg.AllowedCommands) > 0 { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "RAW_COMMAND_NOT_ALLOWED", + Message: "RAW_COMMAND_NOT_ALLOWED: rawCommand disabled when allowedCommands is set (unless allowAllCommands=true)", + }, + } + } + raw := strings.TrimSpace(*params.RawCommand) + if raw == "" { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "INVALID_REQUEST", + Message: "command required", + }, + } + } + shell, args := shellExec() + argv = append([]string{shell}, append(args, raw)...) + } + if len(argv) == 0 { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "INVALID_REQUEST", + Message: "command required", + }, + } + } + + if errRes := h.checkAllowed(argv[0]); errRes != nil { + return *errRes + } + + cwd, errRes := h.resolveCWD(params.CWD) + if errRes != nil { + return *errRes + } + + log.Printf("go_node: system.run argv=%v cwd=%s", argv, cwd) + + timeoutMs := int64(60_000) + if params.TimeoutMs != nil && *params.TimeoutMs > 0 { + timeoutMs = *params.TimeoutMs + } + + result := runCommand(argv, &cwd, params.Env, timeoutMs) + payload, _ := json.Marshal(result) + return gateway.InvokeResult{ + OK: result.Success, + PayloadJSON: string(payload), + } +} + +func (h *SystemRunHandler) checkAllowed(cmd string) *gateway.InvokeResult { + if h.cfg.AllowAllCommands || len(h.cfg.AllowedCommands) == 0 { + return nil // ok, allow all + } + name := filepath.Base(strings.TrimSpace(cmd)) + for _, allowed := range h.cfg.AllowedCommands { + if name == strings.TrimSpace(allowed) { + return nil // ok + } + } + return &gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "COMMAND_NOT_ALLOWED", + Message: "COMMAND_NOT_ALLOWED: " + name + " is not in allowedCommands", + }, + } +} + +func (h *SystemRunHandler) resolveCWD(paramCWD *string) (string, *gateway.InvokeResult) { + workDir := strings.TrimSpace(h.cfg.WorkDir) + if workDir == "" { + if paramCWD != nil && strings.TrimSpace(*paramCWD) != "" { + abs, err := filepath.Abs(*paramCWD) + if err != nil { + return "", &gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "INVALID_REQUEST", + Message: "invalid cwd: " + err.Error(), + }, + } + } + return abs, nil + } + wd, _ := os.Getwd() + return wd, nil + } + if paramCWD == nil || strings.TrimSpace(*paramCWD) == "" { + if fi, err := os.Stat(workDir); err != nil || !fi.IsDir() { + return "", &gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "WORKDIR_INVALID", + Message: "WORKDIR_INVALID: exec.workDir must be an existing directory: " + workDir, + }, + } + } + return workDir, nil + } + if fi, err := os.Stat(workDir); err != nil || !fi.IsDir() { + return "", &gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "WORKDIR_INVALID", + Message: "WORKDIR_INVALID: exec.workDir must be an existing directory: " + workDir, + }, + } + } + req := strings.TrimSpace(*paramCWD) + var abs string + if filepath.IsAbs(req) { + abs = req + } else { + abs = filepath.Join(workDir, req) + } + abs, err := filepath.Abs(abs) + if err != nil { + return "", &gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "INVALID_REQUEST", + Message: "invalid cwd: " + err.Error(), + }, + } + } + rel, err := filepath.Rel(workDir, abs) + if err != nil || strings.HasPrefix(rel, "..") { + return "", &gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "CWD_OUTSIDE_WORKDIR", + Message: "CWD_OUTSIDE_WORKDIR: cwd must be under workDir " + workDir, + }, + } + } + return abs, nil +} + +func shellExec() (shell string, args []string) { + if runtime.GOOS == "windows" { + return "cmd.exe", []string{"/c"} + } + return "/bin/sh", []string{"-c"} +} + +func runCommand(argv []string, cwd *string, env map[string]string, timeoutMs int64) RunResult { + cmd := exec.Command(argv[0], argv[1:]...) + if cwd != nil && *cwd != "" { + cmd.Dir = *cwd + } + if len(env) > 0 { + cmd.Env = envToSlice(env) + } + + var stdout, stderr bytes.Buffer + stdoutCap := &capWriter{w: &stdout, max: outputCap} + stderrCap := &capWriter{w: &stderr, max: outputCap} + cmd.Stdout = stdoutCap + cmd.Stderr = stderrCap + + err := cmd.Start() + if err != nil { + return RunResult{ + Success: false, + Stdout: stdout.String(), + Stderr: stderr.String(), + Error: err.Error(), + } + } + + timeout := time.Duration(timeoutMs) * time.Millisecond + done := make(chan error, 1) + go func() { done <- cmd.Wait() }() + + select { + case waitErr := <-done: + if waitErr != nil { + if exitErr, ok := waitErr.(*exec.ExitError); ok { + code := exitErr.ExitCode() + return RunResult{ + ExitCode: &code, + TimedOut: false, + Success: false, + Stdout: truncateOutput(stdout.String(), outputCap), + Stderr: truncateOutput(stderr.String(), outputCap), + Truncated: stdoutCap.truncated || stderrCap.truncated, + } + } + return RunResult{ + Success: false, + Stdout: truncateOutput(stdout.String(), outputCap), + Stderr: truncateOutput(stderr.String(), outputCap), + Error: waitErr.Error(), + Truncated: stdoutCap.truncated || stderrCap.truncated, + } + } + ec := 0 + return RunResult{ + ExitCode: &ec, + TimedOut: false, + Success: true, + Stdout: truncateOutput(stdout.String(), outputCap), + Stderr: truncateOutput(stderr.String(), outputCap), + Truncated: stdoutCap.truncated || stderrCap.truncated, + } + case <-time.After(timeout): + cmd.Process.Kill() + <-done + return RunResult{ + TimedOut: true, + Success: false, + Stdout: truncateOutput(stdout.String(), outputCap), + Stderr: truncateOutput(stderr.String(), outputCap), + Error: "command timeout", + Truncated: stdoutCap.truncated || stderrCap.truncated, + } + } +} + +func envToSlice(m map[string]string) []string { + base := os.Environ() + overrides := make(map[string]string) + for k, v := range m { + overrides[k] = v + } + if len(overrides) == 0 { + return base + } + seen := make(map[string]bool) + var out []string + for _, s := range base { + if idx := strings.IndexByte(s, '='); idx > 0 { + key := s[:idx] + if v, ok := overrides[key]; ok { + out = append(out, key+"="+v) + seen[key] = true + continue + } + } + out = append(out, s) + } + for k, v := range overrides { + if !seen[k] { + out = append(out, k+"="+v) + } + } + return out +} + +func truncateOutput(s string, max int) string { + if len(s) <= max { + return s + } + return "... (truncated) " + s[len(s)-max:] +} + +type capWriter struct { + w *bytes.Buffer + max int + written int + truncated bool +} + +func (c *capWriter) Write(p []byte) (n int, err error) { + if c.written >= c.max { + c.truncated = true + return len(p), nil + } + rem := c.max - c.written + if len(p) > rem { + c.w.Write(p[:rem]) + c.written += rem + c.truncated = true + return len(p), nil + } + c.w.Write(p) + c.written += len(p) + return len(p), nil +} diff --git a/cmd/picoclaw-node/node/invoke_dispatcher.go b/cmd/picoclaw-node/node/invoke_dispatcher.go new file mode 100644 index 000000000..0f1f09bdc --- /dev/null +++ b/cmd/picoclaw-node/node/invoke_dispatcher.go @@ -0,0 +1,46 @@ +package node + +import ( + "github.com/openclaw/go_node/config" + "github.com/openclaw/go_node/gateway" + "github.com/openclaw/go_node/node/handlers" +) + +// InvokeDispatcher routes node.invoke.request to registered handlers +type InvokeDispatcher struct { + handlers map[string]handlers.Handler +} + +// NewInvokeDispatcher creates a dispatcher with default handlers using exec config +func NewInvokeDispatcher(execCfg config.ExecConfig) *InvokeDispatcher { + return &InvokeDispatcher{ + handlers: map[string]handlers.Handler{ + "system.run": handlers.NewSystemRunHandler(execCfg), + "file.save": handlers.NewFileSaveHandler(execCfg), + "camera.snap": handlers.NewCameraSnapHandler(execCfg), + }, + } +} + +// Register adds or overrides a handler for command +func (d *InvokeDispatcher) Register(command string, h handlers.Handler) { + if d.handlers == nil { + d.handlers = make(map[string]handlers.Handler) + } + d.handlers[command] = h +} + +// HandleInvoke dispatches to the handler for the command, or returns error if unknown +func (d *InvokeDispatcher) HandleInvoke(req gateway.InvokeRequest) gateway.InvokeResult { + h, ok := d.handlers[req.Command] + if !ok { + return gateway.InvokeResult{ + OK: false, + Error: &gateway.ErrorShape{ + Code: "UNAVAILABLE", + Message: "command not supported", + }, + } + } + return h.Handle(req) +}